diff options
Diffstat (limited to 'src/devices/cpu/m6502/om6502.lst')
| -rw-r--r-- | src/devices/cpu/m6502/om6502.lst | 2960 |
1 files changed, 1480 insertions, 1480 deletions
diff --git a/src/devices/cpu/m6502/om6502.lst b/src/devices/cpu/m6502/om6502.lst index 1dca3d918a8..94aeea27c6b 100644 --- a/src/devices/cpu/m6502/om6502.lst +++ b/src/devices/cpu/m6502/om6502.lst @@ -5,949 +5,949 @@ # documented opcodes adc_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - do_adc(TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + do_adc(m_TMP2); prefetch(); adc_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - if(page_changing(TMP, X)) { - read(set_l(TMP, TMP+X)); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + if(page_changing(m_TMP, m_X)) { + read(set_l(m_TMP, m_TMP+m_X)); } - TMP += X; - TMP2 = read(TMP); - do_adc(TMP2); + m_TMP += m_X; + m_TMP2 = read(m_TMP); + do_adc(m_TMP2); prefetch(); adc_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + if(page_changing(m_TMP, m_Y)) { + read(set_l(m_TMP, m_TMP+m_Y)); } - TMP += Y; - TMP2 = read(TMP); - do_adc(TMP2); + m_TMP += m_Y; + m_TMP2 = read(m_TMP); + do_adc(m_TMP2); prefetch(); adc_idx - TMP2 = read_pc(); - PC++; - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - TMP2 = read(TMP); - do_adc(TMP2); + m_TMP2 = read_pc(); + m_PC++; + read(m_TMP2); + m_TMP2 += m_X; + m_TMP = read(m_TMP2 & 0xff); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + m_TMP2 = read(m_TMP); + do_adc(m_TMP2); prefetch(); adc_idy - TMP2 = read_pc(); - PC++; - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); + m_TMP2 = read_pc(); + m_PC++; + m_TMP = read(m_TMP2); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + if(page_changing(m_TMP, m_Y)) { + read(set_l(m_TMP, m_TMP+m_Y)); } - TMP2 = read(TMP+Y); - do_adc(TMP2); + m_TMP2 = read(m_TMP+m_Y); + do_adc(m_TMP2); prefetch(); adc_imm - TMP = read_pc(); - PC++; - do_adc(TMP); + m_TMP = read_pc(); + m_PC++; + do_adc(m_TMP); prefetch(); adc_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - do_adc(TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + do_adc(m_TMP2); prefetch(); adc_zpx - TMP = read_pc(); - PC++; - read(TMP); - TMP2 = read(uint8_t(TMP+X)); - do_adc(TMP2); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP2 = read(uint8_t(m_TMP+m_X)); + do_adc(m_TMP2); prefetch(); and_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - A &= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + m_A &= m_TMP2; + set_nz(m_A); prefetch(); and_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - if(page_changing(TMP, X)) { - read(set_l(TMP, TMP+X)); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + if(page_changing(m_TMP, m_X)) { + read(set_l(m_TMP, m_TMP+m_X)); } - TMP += X; - TMP2 = read(TMP); - A &= TMP2; - set_nz(A); + m_TMP += m_X; + m_TMP2 = read(m_TMP); + m_A &= m_TMP2; + set_nz(m_A); prefetch(); and_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + if(page_changing(m_TMP, m_Y)) { + read(set_l(m_TMP, m_TMP+m_Y)); } - TMP += Y; - TMP2 = read(TMP); - A &= TMP2; - set_nz(A); + m_TMP += m_Y; + m_TMP2 = read(m_TMP); + m_A &= m_TMP2; + set_nz(m_A); prefetch(); and_imm - TMP = read_pc(); - PC++; - A &= TMP; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_A &= m_TMP; + set_nz(m_A); prefetch(); and_idx - TMP2 = read_pc(); - PC++; - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - TMP2 = read(TMP); - A &= TMP2; - set_nz(A); + m_TMP2 = read_pc(); + m_PC++; + read(m_TMP2); + m_TMP2 += m_X; + m_TMP = read(m_TMP2 & 0xff); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + m_TMP2 = read(m_TMP); + m_A &= m_TMP2; + set_nz(m_A); prefetch(); and_idy - TMP2 = read_pc(); - PC++; - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); + m_TMP2 = read_pc(); + m_PC++; + m_TMP = read(m_TMP2); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + if(page_changing(m_TMP, m_Y)) { + read(set_l(m_TMP, m_TMP+m_Y)); } - TMP2 = read(TMP+Y); - A &= TMP2; - set_nz(A); + m_TMP2 = read(m_TMP+m_Y); + m_A &= m_TMP2; + set_nz(m_A); prefetch(); and_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - A &= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + m_A &= m_TMP2; + set_nz(m_A); prefetch(); and_zpx - TMP = read_pc(); - PC++; - read(TMP); - TMP2 = read(uint8_t(TMP+X)); - A &= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP2 = read(uint8_t(m_TMP+m_X)); + m_A &= m_TMP2; + set_nz(m_A); prefetch(); asl_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_asl(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_asl(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); asl_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+X)); - TMP += X; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_asl(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_X)); + m_TMP += m_X; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_asl(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); asl_acc read_pc(); - A = do_asl(A); + m_A = do_asl(m_A); prefetch(); asl_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_asl(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_asl(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); asl_zpx - TMP = read_pc(); - PC++; - read(TMP); - TMP = uint8_t(TMP+X); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_asl(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP = uint8_t(m_TMP+m_X); + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_asl(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); bcc_rel - TMP = read_pc(); - PC++; - if(!(P & F_C)) { + m_TMP = read_pc(); + m_PC++; + if(!(m_P & F_C)) { read_pc(); - if(page_changing(PC, int8_t(TMP))) { - read_arg(set_l(PC, PC+int8_t(TMP))); + if(page_changing(m_PC, int8_t(m_TMP))) { + read_arg(set_l(m_PC, m_PC+int8_t(m_TMP))); } - PC += int8_t(TMP); + m_PC += int8_t(m_TMP); } prefetch(); bcs_rel - TMP = read_pc(); - PC++; - if(P & F_C) { + m_TMP = read_pc(); + m_PC++; + if(m_P & F_C) { read_pc(); - if(page_changing(PC, int8_t(TMP))) { - read_arg(set_l(PC, PC+int8_t(TMP))); + if(page_changing(m_PC, int8_t(m_TMP))) { + read_arg(set_l(m_PC, m_PC+int8_t(m_TMP))); } - PC += int8_t(TMP); + m_PC += int8_t(m_TMP); } prefetch(); beq_rel - TMP = read_pc(); - PC++; - if(P & F_Z) { + m_TMP = read_pc(); + m_PC++; + if(m_P & F_Z) { read_pc(); - if(page_changing(PC, int8_t(TMP))) { - read_arg(set_l(PC, PC+int8_t(TMP))); + if(page_changing(m_PC, int8_t(m_TMP))) { + read_arg(set_l(m_PC, m_PC+int8_t(m_TMP))); } - PC += int8_t(TMP); + m_PC += int8_t(m_TMP); } prefetch(); bit_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - do_bit(TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + do_bit(m_TMP2); prefetch(); bit_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - do_bit(TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + do_bit(m_TMP2); prefetch(); bmi_rel - TMP = read_pc(); - PC++; - if(P & F_N) { + m_TMP = read_pc(); + m_PC++; + if(m_P & F_N) { read_pc(); - if(page_changing(PC, int8_t(TMP))) { - read_arg(set_l(PC, PC+int8_t(TMP))); + if(page_changing(m_PC, int8_t(m_TMP))) { + read_arg(set_l(m_PC, m_PC+int8_t(m_TMP))); } - PC += int8_t(TMP); + m_PC += int8_t(m_TMP); } prefetch(); bne_rel - TMP = read_pc(); - PC++; - if(!(P & F_Z)) { + m_TMP = read_pc(); + m_PC++; + if(!(m_P & F_Z)) { read_pc(); - if(page_changing(PC, int8_t(TMP))) { - read_arg(set_l(PC, PC+int8_t(TMP))); + if(page_changing(m_PC, int8_t(m_TMP))) { + read_arg(set_l(m_PC, m_PC+int8_t(m_TMP))); } - PC += int8_t(TMP); + m_PC += int8_t(m_TMP); } prefetch(); bpl_rel - TMP = read_pc(); - PC++; - if(!(P & F_N)) { + m_TMP = read_pc(); + m_PC++; + if(!(m_P & F_N)) { read_pc(); - if(page_changing(PC, int8_t(TMP))) { - read_arg(set_l(PC, PC+int8_t(TMP))); + if(page_changing(m_PC, int8_t(m_TMP))) { + read_arg(set_l(m_PC, m_PC+int8_t(m_TMP))); } - PC += int8_t(TMP); + m_PC += int8_t(m_TMP); } prefetch(); brk_imp // The 6502 bug when a nmi occurs in a brk is reproduced (case !irq_taken && nmi_pending) - if(irq_taken) { + if(m_irq_taken) { read_pc(); } else { read_pc(); - PC++; + m_PC++; } - write(SP, PC >> 8); + write(m_SP, m_PC >> 8); dec_SP(); - write(SP, PC); + write(m_SP, m_PC); dec_SP(); - write(SP, irq_taken ? P & ~F_B : P); + write(m_SP, m_irq_taken ? m_P & ~F_B : m_P); dec_SP(); - if(nmi_pending) { - standard_irq_callback(NMI_LINE, PC); - PC = read_arg(0xfffa); - PC = set_h(PC, read_arg(0xfffb)); - nmi_pending = false; + if(m_nmi_pending) { + standard_irq_callback(NMI_LINE, m_PC); + m_PC = read_arg(0xfffa); + m_PC = set_h(m_PC, read_arg(0xfffb)); + m_nmi_pending = false; } else { - if(irq_taken) - standard_irq_callback(IRQ_LINE, PC); - PC = read_arg(0xfffe); - PC = set_h(PC, read_arg(0xffff)); + if(m_irq_taken) + standard_irq_callback(IRQ_LINE, m_PC); + m_PC = read_arg(0xfffe); + m_PC = set_h(m_PC, read_arg(0xffff)); } - irq_taken = false; - P |= F_I; // Do *not* move after the prefetch + m_irq_taken = false; + m_P |= F_I; // Do *not* move after the prefetch prefetch(); - inst_state = -1; + m_inst_state = -1; bvc_rel - TMP = read_pc(); - PC++; - if(!(P & F_V)) { + m_TMP = read_pc(); + m_PC++; + if(!(m_P & F_V)) { read_pc(); - if(page_changing(PC, int8_t(TMP))) { - read_arg(set_l(PC, PC+int8_t(TMP))); + if(page_changing(m_PC, int8_t(m_TMP))) { + read_arg(set_l(m_PC, m_PC+int8_t(m_TMP))); } - PC += int8_t(TMP); + m_PC += int8_t(m_TMP); } prefetch(); bvs_rel - TMP = read_pc(); - PC++; - if(P & F_V) { + m_TMP = read_pc(); + m_PC++; + if(m_P & F_V) { read_pc(); - if(page_changing(PC, int8_t(TMP))) { - read_arg(set_l(PC, PC+int8_t(TMP))); + if(page_changing(m_PC, int8_t(m_TMP))) { + read_arg(set_l(m_PC, m_PC+int8_t(m_TMP))); } - PC += int8_t(TMP); + m_PC += int8_t(m_TMP); } prefetch(); clc_imp read_pc(); - P &= ~F_C; + m_P &= ~F_C; prefetch(); cld_imp read_pc(); - P &= ~F_D; + m_P &= ~F_D; prefetch(); cli_imp read_pc(); prefetch(); - P &= ~F_I; // Do *not* move it before the prefetch + m_P &= ~F_I; // Do *not* move it before the prefetch clv_imp read_pc(); - P &= ~F_V; + m_P &= ~F_V; prefetch(); cmp_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - do_cmp(A, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + do_cmp(m_A, m_TMP2); prefetch(); cmp_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - if(page_changing(TMP, X)) { - read(set_l(TMP, TMP+X)); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + if(page_changing(m_TMP, m_X)) { + read(set_l(m_TMP, m_TMP+m_X)); } - TMP += X; - TMP2 = read(TMP); - do_cmp(A, TMP2); + m_TMP += m_X; + m_TMP2 = read(m_TMP); + do_cmp(m_A, m_TMP2); prefetch(); cmp_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + if(page_changing(m_TMP, m_Y)) { + read(set_l(m_TMP, m_TMP+m_Y)); } - TMP += Y; - TMP2 = read(TMP); - do_cmp(A, TMP2); + m_TMP += m_Y; + m_TMP2 = read(m_TMP); + do_cmp(m_A, m_TMP2); prefetch(); cmp_idx - TMP2 = read_pc(); - PC++; - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - TMP2 = read(TMP); - do_cmp(A, TMP2); + m_TMP2 = read_pc(); + m_PC++; + read(m_TMP2); + m_TMP2 += m_X; + m_TMP = read(m_TMP2 & 0xff); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + m_TMP2 = read(m_TMP); + do_cmp(m_A, m_TMP2); prefetch(); cmp_idy - TMP2 = read_pc(); - PC++; - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); + m_TMP2 = read_pc(); + m_PC++; + m_TMP = read(m_TMP2); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + if(page_changing(m_TMP, m_Y)) { + read(set_l(m_TMP, m_TMP+m_Y)); } - TMP2 = read(TMP+Y); - do_cmp(A, TMP2); + m_TMP2 = read(m_TMP+m_Y); + do_cmp(m_A, m_TMP2); prefetch(); cmp_imm - TMP = read_pc(); - PC++; - do_cmp(A, TMP); + m_TMP = read_pc(); + m_PC++; + do_cmp(m_A, m_TMP); prefetch(); cmp_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - do_cmp(A, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + do_cmp(m_A, m_TMP2); prefetch(); cmp_zpx - TMP = read_pc(); - PC++; - read(TMP); - TMP2 = read(uint8_t(TMP+X)); - do_cmp(A, TMP2); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP2 = read(uint8_t(m_TMP+m_X)); + do_cmp(m_A, m_TMP2); prefetch(); cpx_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - do_cmp(X, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + do_cmp(m_X, m_TMP2); prefetch(); cpx_imm - TMP = read_pc(); - PC++; - do_cmp(X, TMP); + m_TMP = read_pc(); + m_PC++; + do_cmp(m_X, m_TMP); prefetch(); cpx_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - do_cmp(X, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + do_cmp(m_X, m_TMP2); prefetch(); cpy_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - do_cmp(Y, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + do_cmp(m_Y, m_TMP2); prefetch(); cpy_imm - TMP = read_pc(); - PC++; - do_cmp(Y, TMP); + m_TMP = read_pc(); + m_PC++; + do_cmp(m_Y, m_TMP); prefetch(); cpy_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - do_cmp(Y, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + do_cmp(m_Y, m_TMP2); prefetch(); dec_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2--; - set_nz(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2--; + set_nz(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); dec_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+X)); - TMP += X; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2--; - set_nz(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_X)); + m_TMP += m_X; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2--; + set_nz(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); dec_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2--; - set_nz(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2--; + set_nz(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); dec_zpx - TMP = read_pc(); - PC++; - read(TMP); - TMP = uint8_t(TMP+X); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2--; - set_nz(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP = uint8_t(m_TMP+m_X); + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2--; + set_nz(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); dex_imp read_pc(); - X--; - set_nz(X); + m_X--; + set_nz(m_X); prefetch(); dey_imp read_pc(); - Y--; - set_nz(Y); + m_Y--; + set_nz(m_Y); prefetch(); eor_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - A ^= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + m_A ^= m_TMP2; + set_nz(m_A); prefetch(); eor_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - if(page_changing(TMP, X)) { - read(set_l(TMP, TMP+X)); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + if(page_changing(m_TMP, m_X)) { + read(set_l(m_TMP, m_TMP+m_X)); } - TMP += X; - TMP2 = read(TMP); - A ^= TMP2; - set_nz(A); + m_TMP += m_X; + m_TMP2 = read(m_TMP); + m_A ^= m_TMP2; + set_nz(m_A); prefetch(); eor_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + if(page_changing(m_TMP, m_Y)) { + read(set_l(m_TMP, m_TMP+m_Y)); } - TMP += Y; - TMP2 = read(TMP); - A ^= TMP2; - set_nz(A); + m_TMP += m_Y; + m_TMP2 = read(m_TMP); + m_A ^= m_TMP2; + set_nz(m_A); prefetch(); eor_idx - TMP2 = read_pc(); - PC++; - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - TMP2 = read(TMP); - A ^= TMP2; - set_nz(A); + m_TMP2 = read_pc(); + m_PC++; + read(m_TMP2); + m_TMP2 += m_X; + m_TMP = read(m_TMP2 & 0xff); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + m_TMP2 = read(m_TMP); + m_A ^= m_TMP2; + set_nz(m_A); prefetch(); eor_idy - TMP2 = read_pc(); - PC++; - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); + m_TMP2 = read_pc(); + m_PC++; + m_TMP = read(m_TMP2); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + if(page_changing(m_TMP, m_Y)) { + read(set_l(m_TMP, m_TMP+m_Y)); } - TMP2 = read(TMP+Y); - A ^= TMP2; - set_nz(A); + m_TMP2 = read(m_TMP+m_Y); + m_A ^= m_TMP2; + set_nz(m_A); prefetch(); eor_imm - TMP = read_pc(); - PC++; - A ^= TMP; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_A ^= m_TMP; + set_nz(m_A); prefetch(); eor_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - A ^= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + m_A ^= m_TMP2; + set_nz(m_A); prefetch(); eor_zpx - TMP = read_pc(); - PC++; - read(TMP); - TMP2 = read(uint8_t(TMP+X)); - A ^= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP2 = read(uint8_t(m_TMP+m_X)); + m_A ^= m_TMP2; + set_nz(m_A); prefetch(); inc_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2++; - set_nz(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2++; + set_nz(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); inc_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+X)); - TMP += X; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2++; - set_nz(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_X)); + m_TMP += m_X; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2++; + set_nz(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); inc_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2++; - set_nz(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2++; + set_nz(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); inc_zpx - TMP = read_pc(); - PC++; - read(TMP); - TMP = uint8_t(TMP+X); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2++; - set_nz(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP = uint8_t(m_TMP+m_X); + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2++; + set_nz(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); inx_imp read_pc(); - X++; - set_nz(X); + m_X++; + set_nz(m_X); prefetch(); iny_imp read_pc(); - Y++; - set_nz(Y); + m_Y++; + set_nz(m_Y); prefetch(); jmp_adr - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC = TMP; + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC = m_TMP; prefetch(); jmp_ind - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - PC = read(TMP); - PC = set_h(PC, read(set_l(TMP, TMP+1))); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_PC = read(m_TMP); + m_PC = set_h(m_PC, read(set_l(m_TMP, m_TMP+1))); prefetch(); jsr_adr - TMP = read_pc(); - PC++; - read(SP); - write(SP, PC>>8); + m_TMP = read_pc(); + m_PC++; + read(m_SP); + write(m_SP, m_PC>>8); dec_SP(); - write(SP, PC); + write(m_SP, m_PC); dec_SP(); - TMP = set_h(TMP, read_pc()); - PC = TMP; + m_TMP = set_h(m_TMP, read_pc()); + m_PC = m_TMP; prefetch(); lda_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - A = read(TMP); - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_A = read(m_TMP); + set_nz(m_A); prefetch(); lda_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - if(page_changing(TMP, X)) { - read(set_l(TMP, TMP+X)); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + if(page_changing(m_TMP, m_X)) { + read(set_l(m_TMP, m_TMP+m_X)); } - A = read(TMP + X); - set_nz(A); + m_A = read(m_TMP + m_X); + set_nz(m_A); prefetch(); lda_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + if(page_changing(m_TMP, m_Y)) { + read(set_l(m_TMP, m_TMP+m_Y)); } - A = read(TMP + Y); - set_nz(A); + m_A = read(m_TMP + m_Y); + set_nz(m_A); prefetch(); lda_idx - TMP2 = read_pc(); - PC++; - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - A = read(TMP); - set_nz(A); + m_TMP2 = read_pc(); + m_PC++; + read(m_TMP2); + m_TMP2 += m_X; + m_TMP = read(m_TMP2 & 0xff); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + m_A = read(m_TMP); + set_nz(m_A); prefetch(); lda_idy - TMP2 = read_pc(); - PC++; - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); + m_TMP2 = read_pc(); + m_PC++; + m_TMP = read(m_TMP2); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + if(page_changing(m_TMP, m_Y)) { + read(set_l(m_TMP, m_TMP+m_Y)); } - A = read(TMP+Y); - set_nz(A); + m_A = read(m_TMP+m_Y); + set_nz(m_A); prefetch(); lda_imm - A = read_pc(); - PC++; - set_nz(A); + m_A = read_pc(); + m_PC++; + set_nz(m_A); prefetch(); lda_zpg - TMP = read_pc(); - PC++; - A = read(TMP); - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_A = read(m_TMP); + set_nz(m_A); prefetch(); lda_zpx - TMP = read_pc(); - PC++; - read(TMP); - A = read(uint8_t(TMP+X)); - set_nz(A); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_A = read(uint8_t(m_TMP+m_X)); + set_nz(m_A); prefetch(); ldx_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - X = read(TMP); - set_nz(X); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_X = read(m_TMP); + set_nz(m_X); prefetch(); ldx_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + if(page_changing(m_TMP, m_Y)) { + read(set_l(m_TMP, m_TMP+m_Y)); } - X = read(TMP + Y); - set_nz(X); + m_X = read(m_TMP + m_Y); + set_nz(m_X); prefetch(); ldx_imm - X = read_pc(); - PC++; - set_nz(X); + m_X = read_pc(); + m_PC++; + set_nz(m_X); prefetch(); ldx_zpg - TMP = read_pc(); - PC++; - X = read(TMP); - set_nz(X); + m_TMP = read_pc(); + m_PC++; + m_X = read(m_TMP); + set_nz(m_X); prefetch(); ldx_zpy - TMP = read_pc(); - PC++; - read(TMP); - X = read(uint8_t(TMP+Y)); - set_nz(X); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_X = read(uint8_t(m_TMP+m_Y)); + set_nz(m_X); prefetch(); ldy_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - Y = read(TMP); - set_nz(Y); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_Y = read(m_TMP); + set_nz(m_Y); prefetch(); ldy_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - if(page_changing(TMP, X)) { - read(set_l(TMP, TMP+X)); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + if(page_changing(m_TMP, m_X)) { + read(set_l(m_TMP, m_TMP+m_X)); } - TMP += X; - Y = read(TMP); - set_nz(Y); + m_TMP += m_X; + m_Y = read(m_TMP); + set_nz(m_Y); prefetch(); ldy_imm - Y = read_pc(); - PC++; - set_nz(Y); + m_Y = read_pc(); + m_PC++; + set_nz(m_Y); prefetch(); ldy_zpg - TMP = read_pc(); - PC++; - Y = read(TMP); - set_nz(Y); + m_TMP = read_pc(); + m_PC++; + m_Y = read(m_TMP); + set_nz(m_Y); prefetch(); ldy_zpx - TMP = read_pc(); - PC++; - read(TMP); - Y = read(uint8_t(TMP+X)); - set_nz(Y); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_Y = read(uint8_t(m_TMP+m_X)); + set_nz(m_Y); prefetch(); lsr_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_lsr(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_lsr(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); lsr_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+X)); - TMP += X; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_lsr(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_X)); + m_TMP += m_X; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_lsr(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); lsr_acc read_pc(); - A = do_lsr(A); + m_A = do_lsr(m_A); prefetch(); lsr_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_lsr(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_lsr(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); lsr_zpx - TMP = read_pc(); - PC++; - read(TMP); - TMP = uint8_t(TMP+X); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_lsr(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP = uint8_t(m_TMP+m_X); + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_lsr(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); nop_imp @@ -955,1321 +955,1321 @@ nop_imp prefetch(); ora_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - A |= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + m_A |= m_TMP2; + set_nz(m_A); prefetch(); ora_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - if(page_changing(TMP, X)) { - read(set_l(TMP, TMP+X)); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + if(page_changing(m_TMP, m_X)) { + read(set_l(m_TMP, m_TMP+m_X)); } - TMP += X; - TMP2 = read(TMP); - A |= TMP2; - set_nz(A); + m_TMP += m_X; + m_TMP2 = read(m_TMP); + m_A |= m_TMP2; + set_nz(m_A); prefetch(); ora_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + if(page_changing(m_TMP, m_Y)) { + read(set_l(m_TMP, m_TMP+m_Y)); } - TMP += Y; - TMP2 = read(TMP); - A |= TMP2; - set_nz(A); + m_TMP += m_Y; + m_TMP2 = read(m_TMP); + m_A |= m_TMP2; + set_nz(m_A); prefetch(); ora_imm - TMP = read_pc(); - PC++; - A |= TMP; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_A |= m_TMP; + set_nz(m_A); prefetch(); ora_idx - TMP2 = read_pc(); - PC++; - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - TMP2 = read(TMP); - A |= TMP2; - set_nz(A); + m_TMP2 = read_pc(); + m_PC++; + read(m_TMP2); + m_TMP2 += m_X; + m_TMP = read(m_TMP2 & 0xff); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + m_TMP2 = read(m_TMP); + m_A |= m_TMP2; + set_nz(m_A); prefetch(); ora_idy - TMP2 = read_pc(); - PC++; - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); + m_TMP2 = read_pc(); + m_PC++; + m_TMP = read(m_TMP2); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + if(page_changing(m_TMP, m_Y)) { + read(set_l(m_TMP, m_TMP+m_Y)); } - TMP2 = read(TMP+Y); - A |= TMP2; - set_nz(A); + m_TMP2 = read(m_TMP+m_Y); + m_A |= m_TMP2; + set_nz(m_A); prefetch(); ora_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - A |= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + m_A |= m_TMP2; + set_nz(m_A); prefetch(); ora_zpx - TMP = read_pc(); - PC++; - read(TMP); - TMP2 = read(uint8_t(TMP+X)); - A |= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP2 = read(uint8_t(m_TMP+m_X)); + m_A |= m_TMP2; + set_nz(m_A); prefetch(); pha_imp read_pc(); - write(SP, A); + write(m_SP, m_A); dec_SP(); prefetch(); php_imp read_pc(); - write(SP, P); + write(m_SP, m_P); dec_SP(); prefetch(); pla_imp read_pc(); - read(SP); + read(m_SP); inc_SP(); - A = read(SP); - set_nz(A); + m_A = read(m_SP); + set_nz(m_A); prefetch(); plp_imp read_pc(); - read(SP); + read(m_SP); inc_SP(); - TMP = read(SP) | (F_B|F_E); + m_TMP = read(m_SP) | (F_B|F_E); prefetch(); - P = TMP; // Do *not* move it before the prefetch + m_P = m_TMP; // Do *not* move it before the prefetch rol_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_rol(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_rol(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); rol_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+X)); - TMP += X; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_rol(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_X)); + m_TMP += m_X; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_rol(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); rol_acc read_pc(); - A = do_rol(A); + m_A = do_rol(m_A); prefetch(); rol_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_rol(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_rol(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); rol_zpx - TMP = read_pc(); - PC++; - read(TMP); - TMP = uint8_t(TMP+X); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_rol(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP = uint8_t(m_TMP+m_X); + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_rol(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); ror_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_ror(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_ror(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); ror_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+X)); - TMP += X; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_ror(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_X)); + m_TMP += m_X; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_ror(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); ror_acc read_pc(); - A = do_ror(A); + m_A = do_ror(m_A); prefetch(); ror_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_ror(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_ror(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); ror_zpx - TMP = read_pc(); - PC++; - read(TMP); - TMP = uint8_t(TMP+X); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_ror(TMP2); - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP = uint8_t(m_TMP+m_X); + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_ror(m_TMP2); + write(m_TMP, m_TMP2); prefetch(); rti_imp read_pc(); - read(SP); + read(m_SP); inc_SP(); - P = read(SP) | (F_B|F_E); + m_P = read(m_SP) | (F_B|F_E); inc_SP(); - PC = read(SP); + m_PC = read(m_SP); inc_SP(); - PC = set_h(PC, read(SP)); + m_PC = set_h(m_PC, read(m_SP)); prefetch(); rts_imp read_pc(); - read(SP); + read(m_SP); inc_SP(); - PC = read(SP); + m_PC = read(m_SP); inc_SP(); - PC = set_h(PC, read(SP)); + m_PC = set_h(m_PC, read(m_SP)); read_pc(); - PC++; + m_PC++; prefetch(); sbc_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - do_sbc(TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + do_sbc(m_TMP2); prefetch(); sbc_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - if(page_changing(TMP, X)) { - read(set_l(TMP, TMP+X)); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + if(page_changing(m_TMP, m_X)) { + read(set_l(m_TMP, m_TMP+m_X)); } - TMP += X; - TMP2 = read(TMP); - do_sbc(TMP2); + m_TMP += m_X; + m_TMP2 = read(m_TMP); + do_sbc(m_TMP2); prefetch(); sbc_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + if(page_changing(m_TMP, m_Y)) { + read(set_l(m_TMP, m_TMP+m_Y)); } - TMP += Y; - TMP2 = read(TMP); - do_sbc(TMP2); + m_TMP += m_Y; + m_TMP2 = read(m_TMP); + do_sbc(m_TMP2); prefetch(); sbc_idx - TMP2 = read_pc(); - PC++; - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - TMP2 = read(TMP); - do_sbc(TMP2); + m_TMP2 = read_pc(); + m_PC++; + read(m_TMP2); + m_TMP2 += m_X; + m_TMP = read(m_TMP2 & 0xff); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + m_TMP2 = read(m_TMP); + do_sbc(m_TMP2); prefetch(); sbc_idy - TMP2 = read_pc(); - PC++; - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); + m_TMP2 = read_pc(); + m_PC++; + m_TMP = read(m_TMP2); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + if(page_changing(m_TMP, m_Y)) { + read(set_l(m_TMP, m_TMP+m_Y)); } - TMP2 = read(TMP+Y); - do_sbc(TMP2); + m_TMP2 = read(m_TMP+m_Y); + do_sbc(m_TMP2); prefetch(); sbc_imm - TMP = read_pc(); - PC++; - do_sbc(TMP); + m_TMP = read_pc(); + m_PC++; + do_sbc(m_TMP); prefetch(); sbc_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - do_sbc(TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + do_sbc(m_TMP2); prefetch(); sbc_zpx - TMP = read_pc(); - PC++; - read(TMP); - TMP2 = read(uint8_t(TMP+X)); - do_sbc(TMP2); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP2 = read(uint8_t(m_TMP+m_X)); + do_sbc(m_TMP2); prefetch(); sec_imp read_pc(); - P |= F_C; + m_P |= F_C; prefetch(); sed_imp read_pc(); - P |= F_D; + m_P |= F_D; prefetch(); sei_imp read_pc(); prefetch(); - P |= F_I; // Do *not* move it before the prefetch + m_P |= F_I; // Do *not* move it before the prefetch sta_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - write(TMP, A); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + write(m_TMP, m_A); prefetch(); sta_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+X)); - write(TMP+X, A); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_X)); + write(m_TMP+m_X, m_A); prefetch(); sta_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+Y)); - write(TMP+Y, A); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_Y)); + write(m_TMP+m_Y, m_A); prefetch(); sta_idx - TMP2 = read_pc(); - PC++; - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - write(TMP, A); + m_TMP2 = read_pc(); + m_PC++; + read(m_TMP2); + m_TMP2 += m_X; + m_TMP = read(m_TMP2 & 0xff); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + write(m_TMP, m_A); prefetch(); sta_idy - TMP2 = read_pc(); - PC++; - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - read(set_l(TMP, TMP+Y)); - write(TMP+Y, A); + m_TMP2 = read_pc(); + m_PC++; + m_TMP = read(m_TMP2); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + read(set_l(m_TMP, m_TMP+m_Y)); + write(m_TMP+m_Y, m_A); prefetch(); sta_zpg - TMP = read_pc(); - PC++; - write(TMP, A); + m_TMP = read_pc(); + m_PC++; + write(m_TMP, m_A); prefetch(); sta_zpx - TMP = read_pc(); - PC++; - read(TMP); - write(uint8_t(TMP+X), A); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + write(uint8_t(m_TMP+m_X), m_A); prefetch(); stx_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - write(TMP, X); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + write(m_TMP, m_X); prefetch(); stx_zpg - TMP = read_pc(); - PC++; - write(TMP, X); + m_TMP = read_pc(); + m_PC++; + write(m_TMP, m_X); prefetch(); stx_zpy - TMP = read_pc(); - PC++; - read(TMP); - write(uint8_t(TMP+Y), X); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + write(uint8_t(m_TMP+m_Y), m_X); prefetch(); sty_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - write(TMP, Y); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + write(m_TMP, m_Y); prefetch(); sty_zpg - TMP = read_pc(); - PC++; - write(TMP, Y); + m_TMP = read_pc(); + m_PC++; + write(m_TMP, m_Y); prefetch(); sty_zpx - TMP = read_pc(); - PC++; - read(TMP); - write(uint8_t(TMP+X), Y); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + write(uint8_t(m_TMP+m_X), m_Y); prefetch(); tax_imp read_pc(); - X = A; - set_nz(X); + m_X = m_A; + set_nz(m_X); prefetch(); tay_imp read_pc(); - Y = A; - set_nz(Y); + m_Y = m_A; + set_nz(m_Y); prefetch(); tsx_imp read_pc(); - X = SP; - set_nz(X); + m_X = m_SP; + set_nz(m_X); prefetch(); txa_imp read_pc(); - A = X; - set_nz(A); + m_A = m_X; + set_nz(m_A); prefetch(); txs_imp read_pc(); - SP = set_l(SP, X); + m_SP = set_l(m_SP, m_X); prefetch(); tya_imp read_pc(); - A = Y; - set_nz(A); + m_A = m_Y; + set_nz(m_A); prefetch(); # exceptions reset read_pc(); read_pc(); - read(SP); + read(m_SP); dec_SP(); - read(SP); + read(m_SP); dec_SP(); - read(SP); + read(m_SP); dec_SP(); - P |= F_I; - PC = read_arg(0xfffc); - PC = set_h(PC, read_arg(0xfffd)); + m_P |= F_I; + m_PC = read_arg(0xfffc); + m_PC = set_h(m_PC, read_arg(0xfffd)); prefetch(); - inst_state = -1; + m_inst_state = -1; # undocumented reliable instructions dcp_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2--; - write(TMP, TMP2); - do_cmp(A, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2--; + write(m_TMP, m_TMP2); + do_cmp(m_A, m_TMP2); prefetch(); dcp_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+X)); - TMP += X; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2--; - write(TMP, TMP2); - do_cmp(A, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_X)); + m_TMP += m_X; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2--; + write(m_TMP, m_TMP2); + do_cmp(m_A, m_TMP2); prefetch(); dcp_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+Y)); - TMP += Y; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2--; - write(TMP, TMP2); - do_cmp(A, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_Y)); + m_TMP += m_Y; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2--; + write(m_TMP, m_TMP2); + do_cmp(m_A, m_TMP2); prefetch(); dcp_idx - TMP2 = read_pc(); - PC++; - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2--; - write(TMP, TMP2); - do_cmp(A, TMP2); + m_TMP2 = read_pc(); + m_PC++; + read(m_TMP2); + m_TMP2 += m_X; + m_TMP = read(m_TMP2 & 0xff); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2--; + write(m_TMP, m_TMP2); + do_cmp(m_A, m_TMP2); prefetch(); dcp_idy - TMP2 = read_pc(); - PC++; - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - read(set_l(TMP, TMP+Y)); - TMP += Y; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2--; - write(TMP, TMP2); - do_cmp(A, TMP2); + m_TMP2 = read_pc(); + m_PC++; + m_TMP = read(m_TMP2); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + read(set_l(m_TMP, m_TMP+m_Y)); + m_TMP += m_Y; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2--; + write(m_TMP, m_TMP2); + do_cmp(m_A, m_TMP2); prefetch(); dcp_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2--; - write(TMP, TMP2); - do_cmp(A, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2--; + write(m_TMP, m_TMP2); + do_cmp(m_A, m_TMP2); prefetch(); dcp_zpx - TMP = read_pc(); - PC++; - read(TMP); - TMP = uint8_t(TMP+X); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2--; - write(TMP, TMP2); - do_cmp(A, TMP2); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP = uint8_t(m_TMP+m_X); + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2--; + write(m_TMP, m_TMP2); + do_cmp(m_A, m_TMP2); prefetch(); isb_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2++; - write(TMP, TMP2); - do_sbc(TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2++; + write(m_TMP, m_TMP2); + do_sbc(m_TMP2); prefetch(); isb_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+X)); - TMP += X; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2++; - write(TMP, TMP2); - do_sbc(TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_X)); + m_TMP += m_X; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2++; + write(m_TMP, m_TMP2); + do_sbc(m_TMP2); prefetch(); isb_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+Y)); - TMP += Y; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2++; - write(TMP, TMP2); - do_sbc(TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_Y)); + m_TMP += m_Y; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2++; + write(m_TMP, m_TMP2); + do_sbc(m_TMP2); prefetch(); isb_idx - TMP2 = read_pc(); - PC++; - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2++; - write(TMP, TMP2); - do_sbc(TMP2); + m_TMP2 = read_pc(); + m_PC++; + read(m_TMP2); + m_TMP2 += m_X; + m_TMP = read(m_TMP2 & 0xff); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2++; + write(m_TMP, m_TMP2); + do_sbc(m_TMP2); prefetch(); isb_idy - TMP2 = read_pc(); - PC++; - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - read(set_l(TMP, TMP+Y)); - TMP += Y; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2++; - write(TMP, TMP2); - do_sbc(TMP2); + m_TMP2 = read_pc(); + m_PC++; + m_TMP = read(m_TMP2); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + read(set_l(m_TMP, m_TMP+m_Y)); + m_TMP += m_Y; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2++; + write(m_TMP, m_TMP2); + do_sbc(m_TMP2); prefetch(); isb_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2++; - write(TMP, TMP2); - do_sbc(TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2++; + write(m_TMP, m_TMP2); + do_sbc(m_TMP2); prefetch(); isb_zpx - TMP = read_pc(); - PC++; - read(TMP); - TMP = uint8_t(TMP+X); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2++; - write(TMP, TMP2); - do_sbc(TMP2); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP = uint8_t(m_TMP+m_X); + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2++; + write(m_TMP, m_TMP2); + do_sbc(m_TMP2); prefetch(); lax_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - A = X = read(TMP); - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_A = m_X = read(m_TMP); + set_nz(m_A); prefetch(); lax_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + if(page_changing(m_TMP, m_Y)) { + read(set_l(m_TMP, m_TMP+m_Y)); } - A = X = read(TMP+Y); - set_nz(A); + m_A = m_X = read(m_TMP+m_Y); + set_nz(m_A); prefetch(); lax_idx - TMP2 = read_pc(); - PC++; - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - A = X = read(TMP); - set_nz(A); + m_TMP2 = read_pc(); + m_PC++; + read(m_TMP2); + m_TMP2 += m_X; + m_TMP = read(m_TMP2 & 0xff); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + m_A = m_X = read(m_TMP); + set_nz(m_A); prefetch(); lax_idy - TMP2 = read_pc(); - PC++; - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); + m_TMP2 = read_pc(); + m_PC++; + m_TMP = read(m_TMP2); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + if(page_changing(m_TMP, m_Y)) { + read(set_l(m_TMP, m_TMP+m_Y)); } - A = X = read(TMP+Y); - set_nz(A); + m_A = m_X = read(m_TMP+m_Y); + set_nz(m_A); prefetch(); lax_zpg - TMP = read_pc(); - PC++; - A = X = read(TMP); - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_A = m_X = read(m_TMP); + set_nz(m_A); prefetch(); lax_zpy - TMP = read_pc(); - PC++; - read(TMP); - TMP = uint8_t(TMP+Y); - A = X = read(TMP); - set_nz(A); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP = uint8_t(m_TMP+m_Y); + m_A = m_X = read(m_TMP); + set_nz(m_A); prefetch(); rla_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_rol(TMP2); - write(TMP, TMP2); - A &= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_rol(m_TMP2); + write(m_TMP, m_TMP2); + m_A &= m_TMP2; + set_nz(m_A); prefetch(); rla_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+X)); - TMP += X; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_rol(TMP2); - write(TMP, TMP2); - A &= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_X)); + m_TMP += m_X; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_rol(m_TMP2); + write(m_TMP, m_TMP2); + m_A &= m_TMP2; + set_nz(m_A); prefetch(); rla_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+Y)); - TMP += Y; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_rol(TMP2); - write(TMP, TMP2); - A &= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_Y)); + m_TMP += m_Y; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_rol(m_TMP2); + write(m_TMP, m_TMP2); + m_A &= m_TMP2; + set_nz(m_A); prefetch(); rla_idx - TMP2 = read_pc(); - PC++; - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_rol(TMP2); - write(TMP, TMP2); - A &= TMP2; - set_nz(A); + m_TMP2 = read_pc(); + m_PC++; + read(m_TMP2); + m_TMP2 += m_X; + m_TMP = read(m_TMP2 & 0xff); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_rol(m_TMP2); + write(m_TMP, m_TMP2); + m_A &= m_TMP2; + set_nz(m_A); prefetch(); rla_idy - TMP2 = read_pc(); - PC++; - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - read(set_l(TMP, TMP+Y)); - TMP += Y; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_rol(TMP2); - write(TMP, TMP2); - A &= TMP2; - set_nz(A); + m_TMP2 = read_pc(); + m_PC++; + m_TMP = read(m_TMP2); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + read(set_l(m_TMP, m_TMP+m_Y)); + m_TMP += m_Y; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_rol(m_TMP2); + write(m_TMP, m_TMP2); + m_A &= m_TMP2; + set_nz(m_A); prefetch(); rla_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_rol(TMP2); - write(TMP, TMP2); - A &= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_rol(m_TMP2); + write(m_TMP, m_TMP2); + m_A &= m_TMP2; + set_nz(m_A); prefetch(); rla_zpx - TMP = read_pc(); - PC++; - read(TMP); - TMP = uint8_t(TMP+X); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_rol(TMP2); - write(TMP, TMP2); - A &= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP = uint8_t(m_TMP+m_X); + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_rol(m_TMP2); + write(m_TMP, m_TMP2); + m_A &= m_TMP2; + set_nz(m_A); prefetch(); rra_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_ror(TMP2); - write(TMP, TMP2); - do_adc(TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_ror(m_TMP2); + write(m_TMP, m_TMP2); + do_adc(m_TMP2); prefetch(); rra_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+X)); - TMP += X; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_ror(TMP2); - write(TMP, TMP2); - do_adc(TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_X)); + m_TMP += m_X; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_ror(m_TMP2); + write(m_TMP, m_TMP2); + do_adc(m_TMP2); prefetch(); rra_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+Y)); - TMP += Y; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_ror(TMP2); - write(TMP, TMP2); - do_adc(TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_Y)); + m_TMP += m_Y; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_ror(m_TMP2); + write(m_TMP, m_TMP2); + do_adc(m_TMP2); prefetch(); rra_idx - TMP2 = read_pc(); - PC++; - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_ror(TMP2); - write(TMP, TMP2); - do_adc(TMP2); + m_TMP2 = read_pc(); + m_PC++; + read(m_TMP2); + m_TMP2 += m_X; + m_TMP = read(m_TMP2 & 0xff); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_ror(m_TMP2); + write(m_TMP, m_TMP2); + do_adc(m_TMP2); prefetch(); rra_idy - TMP2 = read_pc(); - PC++; - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - read(set_l(TMP, TMP+Y)); - TMP += Y; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_ror(TMP2); - write(TMP, TMP2); - do_adc(TMP2); + m_TMP2 = read_pc(); + m_PC++; + m_TMP = read(m_TMP2); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + read(set_l(m_TMP, m_TMP+m_Y)); + m_TMP += m_Y; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_ror(m_TMP2); + write(m_TMP, m_TMP2); + do_adc(m_TMP2); prefetch(); rra_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_ror(TMP2); - write(TMP, TMP2); - do_adc(TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_ror(m_TMP2); + write(m_TMP, m_TMP2); + do_adc(m_TMP2); prefetch(); rra_zpx - TMP = read_pc(); - PC++; - read(TMP); - TMP = uint8_t(TMP+X); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_ror(TMP2); - write(TMP, TMP2); - do_adc(TMP2); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP = uint8_t(m_TMP+m_X); + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_ror(m_TMP2); + write(m_TMP, m_TMP2); + do_adc(m_TMP2); prefetch(); sax_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = A & X; - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = m_A & m_X; + write(m_TMP, m_TMP2); prefetch(); sax_idx - TMP2 = read_pc(); - PC++; - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - TMP2 = A & X; - write(TMP, TMP2); + m_TMP2 = read_pc(); + m_PC++; + read(m_TMP2); + m_TMP2 += m_X; + m_TMP = read(m_TMP2 & 0xff); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + m_TMP2 = m_A & m_X; + write(m_TMP, m_TMP2); prefetch(); sax_zpg - TMP = read_pc(); - PC++; - TMP2 = A & X; - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = m_A & m_X; + write(m_TMP, m_TMP2); prefetch(); sax_zpy - TMP = read_pc(); - PC++; - read(TMP); - TMP = uint8_t(TMP+Y); - TMP2 = A & X; - write(TMP, TMP2); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP = uint8_t(m_TMP+m_Y); + m_TMP2 = m_A & m_X; + write(m_TMP, m_TMP2); prefetch(); sbx_imm - TMP2 = read_pc(); - PC++; - X &= A; - if(X < TMP2) - P &= ~F_C; + m_TMP2 = read_pc(); + m_PC++; + m_X &= m_A; + if(m_X < m_TMP2) + m_P &= ~F_C; else - P |= F_C; - X -= TMP2; - set_nz(X); + m_P |= F_C; + m_X -= m_TMP2; + set_nz(m_X); prefetch(); sha_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+Y)); - TMP2 = A & X & ((TMP >> 8)+1); - if(page_changing(TMP, Y)) - TMP = set_h(TMP+Y, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_Y)); + m_TMP2 = m_A & m_X & ((m_TMP >> 8)+1); + if(page_changing(m_TMP, m_Y)) + m_TMP = set_h(m_TMP+m_Y, m_TMP2); else - TMP += Y; - write(TMP, TMP2); + m_TMP += m_Y; + write(m_TMP, m_TMP2); prefetch(); sha_idy - TMP2 = read_pc(); - PC++; - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - read(set_l(TMP, TMP+Y)); - TMP2 = A & X & ((TMP >> 8)+1); - if(page_changing(TMP, Y)) - TMP = set_h(TMP+Y, TMP2); + m_TMP2 = read_pc(); + m_PC++; + m_TMP = read(m_TMP2); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + read(set_l(m_TMP, m_TMP+m_Y)); + m_TMP2 = m_A & m_X & ((m_TMP >> 8)+1); + if(page_changing(m_TMP, m_Y)) + m_TMP = set_h(m_TMP+m_Y, m_TMP2); else - TMP += Y; - write(TMP, TMP2); + m_TMP += m_Y; + write(m_TMP, m_TMP2); prefetch(); shs_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+Y)); - SP = set_l(SP, A & X); - TMP2 = A & X & ((TMP >> 8)+1); - if(page_changing(TMP, Y)) - TMP = set_h(TMP+Y, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_Y)); + m_SP = set_l(m_SP, m_A & m_X); + m_TMP2 = m_A & m_X & ((m_TMP >> 8)+1); + if(page_changing(m_TMP, m_Y)) + m_TMP = set_h(m_TMP+m_Y, m_TMP2); else - TMP += Y; - write(TMP, TMP2); + m_TMP += m_Y; + write(m_TMP, m_TMP2); prefetch(); shx_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+Y)); - TMP2 = X & ((TMP >> 8)+1); - if(page_changing(TMP, Y)) - TMP = set_h(TMP+Y, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_Y)); + m_TMP2 = m_X & ((m_TMP >> 8)+1); + if(page_changing(m_TMP, m_Y)) + m_TMP = set_h(m_TMP+m_Y, m_TMP2); else - TMP += Y; - write(TMP, TMP2); + m_TMP += m_Y; + write(m_TMP, m_TMP2); prefetch(); shy_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+X)); - TMP2 = Y & ((TMP >> 8)+1); - if(page_changing(TMP, X)) - TMP = set_h(TMP+X, TMP2); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_X)); + m_TMP2 = m_Y & ((m_TMP >> 8)+1); + if(page_changing(m_TMP, m_X)) + m_TMP = set_h(m_TMP+m_X, m_TMP2); else - TMP += X; - write(TMP, TMP2); + m_TMP += m_X; + write(m_TMP, m_TMP2); prefetch(); slo_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_asl(TMP2); - write(TMP, TMP2); - A |= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_asl(m_TMP2); + write(m_TMP, m_TMP2); + m_A |= m_TMP2; + set_nz(m_A); prefetch(); slo_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+X)); - TMP += X; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_asl(TMP2); - write(TMP, TMP2); - A |= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_X)); + m_TMP += m_X; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_asl(m_TMP2); + write(m_TMP, m_TMP2); + m_A |= m_TMP2; + set_nz(m_A); prefetch(); slo_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+Y)); - TMP += Y; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_asl(TMP2); - write(TMP, TMP2); - A |= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_Y)); + m_TMP += m_Y; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_asl(m_TMP2); + write(m_TMP, m_TMP2); + m_A |= m_TMP2; + set_nz(m_A); prefetch(); slo_idx - TMP2 = read_pc(); - PC++; - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_asl(TMP2); - write(TMP, TMP2); - A |= TMP2; - set_nz(A); + m_TMP2 = read_pc(); + m_PC++; + read(m_TMP2); + m_TMP2 += m_X; + m_TMP = read(m_TMP2 & 0xff); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_asl(m_TMP2); + write(m_TMP, m_TMP2); + m_A |= m_TMP2; + set_nz(m_A); prefetch(); slo_idy - TMP2 = read_pc(); - PC++; - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - read(set_l(TMP, TMP+Y)); - TMP += Y; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_asl(TMP2); - write(TMP, TMP2); - A |= TMP2; - set_nz(A); + m_TMP2 = read_pc(); + m_PC++; + m_TMP = read(m_TMP2); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + read(set_l(m_TMP, m_TMP+m_Y)); + m_TMP += m_Y; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_asl(m_TMP2); + write(m_TMP, m_TMP2); + m_A |= m_TMP2; + set_nz(m_A); prefetch(); slo_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_asl(TMP2); - write(TMP, TMP2); - A |= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_asl(m_TMP2); + write(m_TMP, m_TMP2); + m_A |= m_TMP2; + set_nz(m_A); prefetch(); slo_zpx - TMP = read_pc(); - PC++; - read(TMP); - TMP = uint8_t(TMP+X); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_asl(TMP2); - write(TMP, TMP2); - A |= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP = uint8_t(m_TMP+m_X); + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_asl(m_TMP2); + write(m_TMP, m_TMP2); + m_A |= m_TMP2; + set_nz(m_A); prefetch(); sre_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_lsr(TMP2); - write(TMP, TMP2); - A ^= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_lsr(m_TMP2); + write(m_TMP, m_TMP2); + m_A ^= m_TMP2; + set_nz(m_A); prefetch(); sre_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+X)); - TMP += X; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_lsr(TMP2); - write(TMP, TMP2); - A ^= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_X)); + m_TMP += m_X; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_lsr(m_TMP2); + write(m_TMP, m_TMP2); + m_A ^= m_TMP2; + set_nz(m_A); prefetch(); sre_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(set_l(TMP, TMP+Y)); - TMP += Y; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_lsr(TMP2); - write(TMP, TMP2); - A ^= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(set_l(m_TMP, m_TMP+m_Y)); + m_TMP += m_Y; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_lsr(m_TMP2); + write(m_TMP, m_TMP2); + m_A ^= m_TMP2; + set_nz(m_A); prefetch(); sre_idx - TMP2 = read_pc(); - PC++; - read(TMP2); - TMP2 += X; - TMP = read(TMP2 & 0xff); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_lsr(TMP2); - write(TMP, TMP2); - A ^= TMP2; - set_nz(A); + m_TMP2 = read_pc(); + m_PC++; + read(m_TMP2); + m_TMP2 += m_X; + m_TMP = read(m_TMP2 & 0xff); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_lsr(m_TMP2); + write(m_TMP, m_TMP2); + m_A ^= m_TMP2; + set_nz(m_A); prefetch(); sre_idy - TMP2 = read_pc(); - PC++; - TMP = read(TMP2); - TMP = set_h(TMP, read((TMP2+1) & 0xff)); - read(set_l(TMP, TMP+Y)); - TMP += Y; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_lsr(TMP2); - write(TMP, TMP2); - A ^= TMP2; - set_nz(A); + m_TMP2 = read_pc(); + m_PC++; + m_TMP = read(m_TMP2); + m_TMP = set_h(m_TMP, read((m_TMP2+1) & 0xff)); + read(set_l(m_TMP, m_TMP+m_Y)); + m_TMP += m_Y; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_lsr(m_TMP2); + write(m_TMP, m_TMP2); + m_A ^= m_TMP2; + set_nz(m_A); prefetch(); sre_zpg - TMP = read_pc(); - PC++; - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_lsr(TMP2); - write(TMP, TMP2); - A ^= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_lsr(m_TMP2); + write(m_TMP, m_TMP2); + m_A ^= m_TMP2; + set_nz(m_A); prefetch(); sre_zpx - TMP = read_pc(); - PC++; - read(TMP); - TMP = uint8_t(TMP+X); - TMP2 = read(TMP); - write(TMP, TMP2); - TMP2 = do_lsr(TMP2); - write(TMP, TMP2); - A ^= TMP2; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + m_TMP = uint8_t(m_TMP+m_X); + m_TMP2 = read(m_TMP); + write(m_TMP, m_TMP2); + m_TMP2 = do_lsr(m_TMP2); + write(m_TMP, m_TMP2); + m_A ^= m_TMP2; + set_nz(m_A); prefetch(); # undocumented unreliable instructions anc_imm - TMP = read_pc(); - PC++; - A &= TMP; - set_nz(A); - if(A & 0x80) - P |= F_C; + m_TMP = read_pc(); + m_PC++; + m_A &= m_TMP; + set_nz(m_A); + if(m_A & 0x80) + m_P |= F_C; else - P &= ~F_C; + m_P &= ~F_C; prefetch(); ane_imm - TMP = read_pc(); - PC++; - A &= TMP & X; - set_nz(A); + m_TMP = read_pc(); + m_PC++; + m_A &= m_TMP & m_X; + set_nz(m_A); prefetch(); asr_imm - TMP = read_pc(); - PC++; - A = do_lsr(A & TMP); + m_TMP = read_pc(); + m_PC++; + m_A = do_lsr(m_A & m_TMP); prefetch(); arr_imm - TMP = read_pc(); - PC++; - A &= TMP; + m_TMP = read_pc(); + m_PC++; + m_A &= m_TMP; do_arr(); prefetch(); las_aby - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - if(page_changing(TMP, Y)) { - read(set_l(TMP, TMP+Y)); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + if(page_changing(m_TMP, m_Y)) { + read(set_l(m_TMP, m_TMP+m_Y)); } - TMP2 = read(TMP+Y); - A = TMP2 | 0x51; - X = 0xff; - set_nz(TMP2); + m_TMP2 = read(m_TMP+m_Y); + m_A = m_TMP2 | 0x51; + m_X = 0xff; + set_nz(m_TMP2); prefetch(); lxa_imm - A = X = read_pc(); - PC++; - set_nz(A); + m_A = m_X = read_pc(); + m_PC++; + set_nz(m_A); prefetch(); # nop variants nop_aba - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - read(TMP); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + read(m_TMP); prefetch(); nop_abx - TMP = read_pc(); - PC++; - TMP = set_h(TMP, read_pc()); - PC++; - if(page_changing(TMP, X)) { - read(set_l(TMP, TMP+X)); + m_TMP = read_pc(); + m_PC++; + m_TMP = set_h(m_TMP, read_pc()); + m_PC++; + if(page_changing(m_TMP, m_X)) { + read(set_l(m_TMP, m_TMP+m_X)); } - read(TMP + X); + read(m_TMP + m_X); prefetch(); nop_imm read_pc(); - PC++; + m_PC++; prefetch(); nop_zpg - TMP = read_pc(); - PC++; - read(TMP); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); prefetch(); nop_zpx - TMP = read_pc(); - PC++; - read(TMP); - read(uint8_t(TMP+X)); + m_TMP = read_pc(); + m_PC++; + read(m_TMP); + read(uint8_t(m_TMP+m_X)); prefetch(); # system killers kil_non read_pc(); - PC++; + m_PC++; read(0xffff); read(0xfffe); read(0xfffe); |
