From ba3c1d7f5f6c672b8a18979586d898722cfd44a0 Mon Sep 17 00:00:00 2001 From: AJR Date: Thu, 8 Sep 2022 18:56:49 -0400 Subject: m740: Only access data memory in indirect modes --- src/devices/cpu/m6502/dm740.lst | 22 ++-- src/devices/cpu/m6502/m740.h | 19 ++-- src/devices/cpu/m6502/om740.lst | 215 ++++++++++++---------------------------- 3 files changed, 86 insertions(+), 170 deletions(-) diff --git a/src/devices/cpu/m6502/dm740.lst b/src/devices/cpu/m6502/dm740.lst index 8ff1fe556c2..c1cd3dba6e6 100644 --- a/src/devices/cpu/m6502/dm740.lst +++ b/src/devices/cpu/m6502/dm740.lst @@ -1,25 +1,25 @@ # license:BSD-3-Clause # copyright-holders:Olivier Galibert # m740 device -brk_m_imp ora_m_idx jsr_zpi bbs_bar nop_zpg ora_zpg asl_m_zpg bbs_bzr php_imp ora_imm asl_acc seb_bac nop_aba ora_m_aba asl_m_aba seb_biz +brk_m_imp ora_m_idx jsr_zpi bbs_bar nop_zpg ora_zpg asl_m_zpg bbs_bzr php_imp ora_imm asl_acc seb_bac nop_aba ora_aba asl_m_aba seb_biz bpl_m_rel ora_m_idy clt_imp bbc_bar nop_zpx ora_m_zpx asl_m_zpx bbc_bzr clc_imp ora_m_aby dec_acc clb_bac nop_abx ora_m_abx asl_m_abx clb_biz -jsr_m_adr and_m_idx jsr_spg bbs_bar bit_zpg and_zpg rol_m_zpg bbs_bzr plp_m_imp and_imm rol_acc seb_bac bit_m_aba and_m_aba rol_m_aba seb_biz +jsr_m_adr and_m_idx jsr_spg bbs_bar bit_zpg and_zpg rol_m_zpg bbs_bzr plp_m_imp and_imm rol_acc seb_bac bit_aba and_aba rol_m_aba seb_biz bmi_m_rel and_m_idy set_imp bbc_bar nop_zpx and_m_zpx rol_m_zpx bbc_bzr sec_imp and_m_aby inc_acc clb_bac ldm_imz and_m_abx rol_m_abx clb_biz -rti_m_imp eor_m_idx stp_imp bbs_bar com_zpg eor_zpg lsr_m_zpg bbs_bzr pha_imp eor_imm lsr_acc seb_bac jmp_adr eor_m_aba lsr_m_aba seb_biz +rti_m_imp eor_m_idx stp_imp bbs_bar com_zpg eor_zpg lsr_m_zpg bbs_bzr pha_imp eor_imm lsr_acc seb_bac jmp_adr eor_aba lsr_m_aba seb_biz bvc_m_rel eor_m_idy kil_non bbc_bar nop_zpx eor_m_zpx lsr_m_zpx bbc_bzr cli_imp eor_m_aby nop_imp clb_bac nop_abx eor_m_abx lsr_m_abx clb_biz -rts_m_imp adc_m_idx kil_non bbs_bar tst_zpg adc_zpg ror_m_zpg bbs_bzr pla_m_imp adc_imm ror_acc seb_bac jmp_ind adc_m_aba ror_m_aba seb_biz +rts_m_imp adc_m_idx kil_non bbs_bar tst_zpg adc_zpg ror_m_zpg bbs_bzr pla_m_imp adc_imm ror_acc seb_bac jmp_ind adc_aba ror_m_aba seb_biz bvs_m_rel adc_m_idy kil_non bbc_bar nop_zpx adc_m_zpx ror_m_zpx bbc_bzr sei_imp adc_m_aby nop_imp clb_bac nop_abx adc_m_abx ror_m_abx clb_biz bra_rel sta_m_idx rrf_zpg bbs_bar sty_m_zpg sta_m_zpg stx_m_zpg bbs_bzr dey_imp nop_imm txa_imp seb_bac sty_m_aba sta_m_aba stx_m_aba seb_biz bcc_m_rel sta_m_idy kil_non bbc_bar sty_m_zpx sta_m_zpx stx_m_zpy bbc_bzr tya_imp sta_m_aby txs_imp clb_bac shy_abx sta_m_abx shx_aby clb_biz -ldy_imm lda_m_idx ldx_imm bbs_bar ldy_zpg lda_zpg ldx_zpg bbs_bzr tay_imp lda_imm tax_imp seb_bac ldy_m_aba lda_m_aba ldx_m_aba seb_biz +ldy_imm lda_m_idx ldx_imm bbs_bar ldy_zpg lda_zpg ldx_zpg bbs_bzr tay_imp lda_imm tax_imp seb_bac ldy_aba lda_aba ldx_aba seb_biz bcs_m_rel lda_m_idy jmp_zpi bbc_bar ldy_m_zpx lda_m_zpx ldx_m_zpy bbc_bzr clv_imp lda_m_aby tsx_imp clb_bac ldy_m_abx lda_m_abx ldx_m_aby clb_biz -cpy_imm cmp_m_idx wit_imp bbs_bar cpy_zpg cmp_zpg dec_m_zpg bbs_bzr iny_imp cmp_imm dex_imp seb_bac cpy_m_aba cmp_aba dec_m_aba seb_biz +cpy_imm cmp_m_idx wit_imp bbs_bar cpy_zpg cmp_zpg dec_m_zpg bbs_bzr iny_imp cmp_imm dex_imp seb_bac cpy_aba cmp_aba dec_m_aba seb_biz bne_m_rel cmp_m_idy kil_non bbc_bar nop_zpx cmp_m_zpx dec_m_zpx bbc_bzr cld_imp cmp_m_aby nop_imp clb_bac nop_abx cmp_m_abx dec_m_abx clb_biz -cpx_imm sbc_m_idx nop_imm bbs_bar cpx_zpg sbc_zpg inc_m_zpg bbs_bzr inx_imp sbc_imm nop_imp seb_bac cpx_m_aba sbc_aba inc_m_aba seb_biz +cpx_imm sbc_m_idx nop_imm bbs_bar cpx_zpg sbc_zpg inc_m_zpg bbs_bzr inx_imp sbc_imm nop_imp seb_bac cpx_aba sbc_aba inc_m_aba seb_biz beq_m_rel sbc_m_idy kil_non bbc_bar nop_zpx sbc_zpx inc_m_zpx bbc_bzr sed_imp sbc_m_aby nop_imp clb_bac nop_abx sbc_m_abx inc_m_abx clb_biz brk_m_imp ort_idx jsr_zpi bbs_bar nop_zpg ort_zpg asl_m_zpg bbs_bzr php_imp ort_imm asl_acc seb_bac nop_aba ort_aba asl_m_aba seb_biz bpl_m_rel ort_idy clt_imp bbc_bar nop_zpx ort_zpx asl_m_zpx bbc_bzr clc_imp ort_aby dec_acc clb_bac nop_abx ort_abx asl_m_abx clb_biz -jsr_m_adr andt_idx jsr_spg bbs_bar bit_zpg andt_zpg rol_m_zpg bbs_bzr plp_m_imp andt_imm rol_acc seb_bac bit_m_aba andt_aba rol_m_aba seb_biz +jsr_m_adr andt_idx jsr_spg bbs_bar bit_zpg andt_zpg rol_m_zpg bbs_bzr plp_m_imp andt_imm rol_acc seb_bac bit_aba andt_aba rol_m_aba seb_biz bmi_m_rel andt_idy set_imp bbc_bar nop_zpx andt_zpx rol_m_zpx bbc_bzr sec_imp andt_aby inc_acc clb_bac ldm_imz andt_abx rol_m_abx clb_biz rti_m_imp eort_idx stp_imp bbs_bar com_zpg eort_zpg lsr_m_zpg bbs_bzr pha_imp eort_imm lsr_acc seb_bac jmp_adr eort_aba lsr_m_aba seb_biz bvc_m_rel eort_idy kil_non bbc_bar nop_zpx eort_zpx lsr_m_zpx bbc_bzr cli_imp eort_aby nop_imp clb_bac nop_abx eort_abx lsr_m_abx clb_biz @@ -27,10 +27,10 @@ rts_m_imp adct_idx kil_non bbs_bar tst_zpg adct_zpg ror_m_zpg bvs_m_rel adct_idy kil_non bbc_bar nop_zpx adct_zpx ror_m_zpx bbc_bzr sei_imp adct_aby nop_imp clb_bac nop_abx adct_abx ror_m_abx clb_biz bra_rel sta_m_idx rrf_zpg bbs_bar sty_m_zpg sta_m_zpg stx_m_zpg bbs_bzr dey_imp nop_imm txa_imp seb_bac sty_m_aba sta_m_aba stx_m_aba seb_biz bcc_m_rel sta_m_idy kil_non bbc_bar sty_m_zpx sta_m_zpx stx_m_zpy bbc_bzr tya_imp sta_m_aby txs_imp clb_bac shy_abx sta_m_abx shx_aby clb_biz -ldy_imm ldt_idx ldx_imm bbs_bar ldy_zpg ldt_zpg ldx_zpg bbs_bzr tay_imp ldt_imm tax_imp seb_bac ldy_m_aba ldt_aba ldx_m_aba seb_biz +ldy_imm ldt_idx ldx_imm bbs_bar ldy_zpg ldt_zpg ldx_zpg bbs_bzr tay_imp ldt_imm tax_imp seb_bac ldy_aba ldt_aba ldx_aba seb_biz bcs_m_rel ldt_idy jmp_zpi bbc_bar ldy_m_zpx ldt_zpx ldx_m_zpy bbc_bzr clv_imp ldt_aby tsx_imp clb_bac ldy_m_abx ldt_abx ldx_m_aby clb_biz -cpy_imm cmp_m_idx wit_imp bbs_bar cpy_zpg cmpt_zpg dec_m_zpg bbs_bzr iny_imp cmpt_imm dex_imp seb_bac cpy_m_aba cmpt_aba dec_m_aba seb_biz +cpy_imm cmp_m_idx wit_imp bbs_bar cpy_zpg cmpt_zpg dec_m_zpg bbs_bzr iny_imp cmpt_imm dex_imp seb_bac cpy_aba cmpt_aba dec_m_aba seb_biz bne_m_rel cmp_m_idy kil_non bbc_bar nop_zpx cmpt_zpx dec_m_zpx bbc_bzr cld_imp cmpt_aby nop_imp clb_bac nop_abx cmpt_abx dec_m_abx clb_biz -cpx_imm sbct_idx nop_imm bbs_bar cpx_zpg sbct_zpg inc_m_zpg bbs_bzr inx_imp sbc_imm nop_imp seb_bac cpx_m_aba sbct_aba inc_m_aba seb_biz +cpx_imm sbct_idx nop_imm bbs_bar cpx_zpg sbct_zpg inc_m_zpg bbs_bzr inx_imp sbc_imm nop_imp seb_bac cpx_aba sbct_aba inc_m_aba seb_biz beq_m_rel sbct_idy kil_non bbc_bar nop_zpx sbct_zpx inc_m_zpx bbc_bzr sed_imp sbc_m_aby nop_imp clb_bac nop_abx sbct_abx inc_m_abx clb_biz reset_m diff --git a/src/devices/cpu/m6502/m740.h b/src/devices/cpu/m6502/m740.h index 0b338dd94d9..442feb3faa5 100644 --- a/src/devices/cpu/m6502/m740.h +++ b/src/devices/cpu/m6502/m740.h @@ -89,38 +89,37 @@ protected: O(stp_imp); O(wit_imp); - O(adc_m_aba); O(adc_m_abx); O(adc_m_aby); O(adc_m_idx); O(adc_m_idy); O(adc_m_zpx); - O(and_m_aba); O(and_m_abx); O(and_m_aby); O(and_m_idx); O(and_m_idy); O(and_m_zpx); + O(adc_m_abx); O(adc_m_aby); O(adc_m_idx); O(adc_m_idy); O(adc_m_zpx); + O(and_m_abx); O(and_m_aby); O(and_m_idx); O(and_m_idy); O(and_m_zpx); O(asl_m_aba); O(asl_m_abx); O(asl_m_zpg); O(asl_m_zpx); O(bcc_m_rel); O(bcs_m_rel); O(beq_m_rel); - O(bit_m_aba); O(bmi_m_rel); O(bne_m_rel); O(bpl_m_rel); O(bvc_m_rel); O(bvs_m_rel); - O(cmp_m_aba); O(cmp_m_abx); O(cmp_m_aby); O(cmp_m_idx); O(cmp_m_idy); O(cmp_m_zpx); + O(cmp_m_abx); O(cmp_m_aby); O(cmp_m_idx); O(cmp_m_idy); O(cmp_m_zpx); O(cpx_m_aba); O(cpy_m_aba); O(dec_m_aba); O(dec_m_abx); O(dec_m_zpg); O(dec_m_zpx); - O(eor_m_aba); O(eor_m_abx); O(eor_m_aby); O(eor_m_idx); O(eor_m_idy); O(eor_m_zpx); + O(eor_m_abx); O(eor_m_aby); O(eor_m_idx); O(eor_m_idy); O(eor_m_zpx); O(inc_m_aba); O(inc_m_abx); O(inc_m_zpg); O(inc_m_zpx); O(jmp_m_ind); O(jsr_m_adr); - O(lda_m_aba); O(lda_m_abx); O(lda_m_aby); O(lda_m_idx); O(lda_m_idy); O(lda_m_zpx); - O(ldx_m_aba); O(ldx_m_aby); O(ldx_m_zpg); O(ldx_m_zpy); - O(ldy_m_aba); O(ldy_m_abx); O(ldy_m_zpg); O(ldy_m_zpx); + O(lda_m_abx); O(lda_m_aby); O(lda_m_idx); O(lda_m_idy); O(lda_m_zpx); + O(ldx_m_aby); O(ldx_m_zpg); O(ldx_m_zpy); + O(ldy_m_abx); O(ldy_m_zpg); O(ldy_m_zpx); O(lsr_m_aba); O(lsr_m_abx); O(lsr_m_zpg); O(lsr_m_zpx); - O(ora_m_aba); O(ora_m_abx); O(ora_m_aby); O(ora_m_idx); O(ora_m_idy); O(ora_m_zpx); + O(ora_m_abx); O(ora_m_aby); O(ora_m_idx); O(ora_m_idy); O(ora_m_zpx); O(pla_m_imp); O(plp_m_imp); O(rol_m_aba); O(rol_m_abx); O(rol_m_zpg); O(rol_m_zpx); O(ror_m_aba); O(ror_m_abx); O(ror_m_zpg); O(ror_m_zpx); O(rti_m_imp); O(rts_m_imp); - O(sbc_m_aba); O(sbc_m_abx); O(sbc_m_aby); O(sbc_m_idx); O(sbc_m_idy); O(sbc_m_zpx); + O(sbc_m_abx); O(sbc_m_aby); O(sbc_m_idx); O(sbc_m_idy); O(sbc_m_zpx); O(sta_m_aba); O(sta_m_abx); O(sta_m_aby); O(sta_m_idx); O(sta_m_idy); O(sta_m_zpg); O(sta_m_zpx); O(stx_m_aba); O(stx_m_zpg); O(stx_m_zpy); O(sty_m_aba); O(sty_m_zpg); O(sty_m_zpx); diff --git a/src/devices/cpu/m6502/om740.lst b/src/devices/cpu/m6502/om740.lst index f62316f77b7..5e63f07a5bf 100644 --- a/src/devices/cpu/m6502/om740.lst +++ b/src/devices/cpu/m6502/om740.lst @@ -232,19 +232,12 @@ brk_m_imp # 6502 opcodes with modified access patterns -adc_m_aba - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - TMP2 = read_data(TMP); - do_adc(TMP2); - prefetch(); - adc_m_abx TMP = read_pc(); TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - TMP2 = read_data(TMP); + TMP2 = read(TMP); do_adc(TMP2); prefetch(); @@ -253,7 +246,7 @@ adc_m_aby TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+Y)); TMP += Y; - TMP2 = read_data(TMP); + TMP2 = read(TMP); do_adc(TMP2); prefetch(); @@ -283,19 +276,12 @@ adc_m_zpx do_adc(TMP2); prefetch(); -and_m_aba - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - A &= read(TMP); - set_nz(A); - prefetch(); - and_m_abx TMP = read_pc(); TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - A &= read_data(TMP); + A &= read(TMP); set_nz(A); prefetch(); @@ -304,7 +290,7 @@ and_m_aby TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+Y)); TMP += Y; - A &= read_data(TMP); + A &= read(TMP); set_nz(A); prefetch(); @@ -339,10 +325,10 @@ and_m_zpx asl_m_aba TMP = read_pc(); TMP = set_h(TMP, read_pc()); - TMP2 = read_data(TMP); + TMP2 = read(TMP); read_dummy(TMP); TMP2 = do_asl(TMP2); - write_data(TMP, TMP2); + write(TMP, TMP2); prefetch(); asl_m_abx @@ -350,10 +336,10 @@ asl_m_abx TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - TMP2 = read_data(TMP); + TMP2 = read(TMP); read_dummy(TMP); TMP2 = do_asl(TMP2); - write_data(TMP, TMP2); + write(TMP, TMP2); prefetch(); asl_m_zpg @@ -411,12 +397,6 @@ beq_m_rel } prefetch(); -bit_m_aba - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - do_bit(read_data(TMP)); - prefetch(); - bmi_m_rel if(P & F_N) { TMP = read_pc_noinc(); @@ -477,19 +457,12 @@ bvs_m_rel } prefetch(); -cmp_m_aba - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - TMP2 = read_data(TMP); - do_cmp(A, TMP2); - prefetch(); - cmp_m_abx TMP = read_pc(); TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - TMP2 = read_data(TMP); + TMP2 = read(TMP); do_cmp(A, TMP2); prefetch(); @@ -498,7 +471,7 @@ cmp_m_aby TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+Y)); TMP += Y; - TMP2 = read_data(TMP); + TMP2 = read(TMP); do_cmp(A, TMP2); prefetch(); @@ -528,28 +501,14 @@ cmp_m_zpx do_cmp(A, TMP2); prefetch(); -cpx_m_aba - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - TMP2 = read_data(TMP); - do_cmp(X, TMP2); - prefetch(); - -cpy_m_aba - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - TMP2 = read_data(TMP); - do_cmp(Y, TMP2); - prefetch(); - dec_m_aba TMP = read_pc(); TMP = set_h(TMP, read_pc()); - TMP2 = read_data(TMP); + TMP2 = read(TMP); read_dummy(TMP); TMP2--; set_nz(TMP2); - write_data(TMP, TMP2); + write(TMP, TMP2); prefetch(); dec_m_abx @@ -557,11 +516,11 @@ dec_m_abx TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - TMP2 = read_data(TMP); + TMP2 = read(TMP); read_dummy(TMP); TMP2--; set_nz(TMP2); - write_data(TMP, TMP2); + write(TMP, TMP2); prefetch(); dec_m_zpg @@ -585,19 +544,12 @@ dec_m_zpx write(TMP, TMP2); prefetch(); -eor_m_aba - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - A ^= read_data(TMP); - set_nz(A); - prefetch(); - eor_m_abx TMP = read_pc(); TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - A ^= read_data(TMP); + A ^= read(TMP); set_nz(A); prefetch(); @@ -606,7 +558,7 @@ eor_m_aby TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+Y)); TMP += Y; - A ^= read_data(TMP); + A ^= read(TMP); set_nz(A); prefetch(); @@ -641,11 +593,11 @@ eor_m_zpx inc_m_aba TMP = read_pc(); TMP = set_h(TMP, read_pc()); - TMP2 = read_data(TMP); + TMP2 = read(TMP); read_dummy(TMP); TMP2++; set_nz(TMP2); - write_data(TMP, TMP2); + write(TMP, TMP2); prefetch(); inc_m_abx @@ -653,11 +605,11 @@ inc_m_abx TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - TMP2 = read_data(TMP); + TMP2 = read(TMP); read_dummy(TMP); TMP2++; set_nz(TMP2); - write_data(TMP, TMP2); + write(TMP, TMP2); prefetch(); inc_m_zpg @@ -700,18 +652,11 @@ jsr_m_adr PC = TMP; prefetch(); -lda_m_aba - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - A = read_data(TMP); - set_nz(A); - prefetch(); - lda_m_abx TMP = read_pc(); TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); - A = read_data(TMP + X); + A = read(TMP + X); set_nz(A); prefetch(); @@ -719,7 +664,7 @@ lda_m_aby TMP = read_pc(); TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+Y)); - A = read_data(TMP + Y); + A = read(TMP + Y); set_nz(A); prefetch(); @@ -750,18 +695,11 @@ lda_m_zpx set_nz(A); prefetch(); -ldx_m_aba - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - X = read_data(TMP); - set_nz(X); - prefetch(); - ldx_m_aby TMP = read_pc(); TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+Y)); - X = read_data(TMP + Y); + X = read(TMP + Y); set_nz(X); prefetch(); @@ -773,19 +711,12 @@ ldx_m_zpy set_nz(X); prefetch(); -ldy_m_aba - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - Y = read_data(TMP); - set_nz(Y); - prefetch(); - ldy_m_abx TMP = read_pc(); TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - Y = read_data(TMP); + Y = read(TMP); set_nz(Y); prefetch(); @@ -800,10 +731,10 @@ ldy_m_zpx lsr_m_aba TMP = read_pc(); TMP = set_h(TMP, read_pc()); - TMP2 = read_data(TMP); + TMP2 = read(TMP); read_dummy(TMP); TMP2 = do_lsr(TMP2); - write_data(TMP, TMP2); + write(TMP, TMP2); prefetch(); lsr_m_abx @@ -811,10 +742,10 @@ lsr_m_abx TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - TMP2 = read_data(TMP); + TMP2 = read(TMP); read_dummy(TMP); TMP2 = do_lsr(TMP2); - write_data(TMP, TMP2); + write(TMP, TMP2); prefetch(); lsr_m_zpg @@ -836,19 +767,12 @@ lsr_m_zpx write(TMP, TMP2); prefetch(); -ora_m_aba - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - A |= read_data(TMP); - set_nz(A); - prefetch(); - ora_m_abx TMP = read_pc(); TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - A |= read_data(TMP); + A |= read(TMP); set_nz(A); prefetch(); @@ -857,7 +781,7 @@ ora_m_aby TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+Y)); TMP += Y; - A |= read_data(TMP); + A |= read(TMP); set_nz(A); prefetch(); @@ -909,10 +833,10 @@ plp_m_imp rol_m_aba TMP = read_pc(); TMP = set_h(TMP, read_pc()); - TMP2 = read_data(TMP); + TMP2 = read(TMP); read_dummy(TMP); TMP2 = do_rol(TMP2); - write_data(TMP, TMP2); + write(TMP, TMP2); prefetch(); rol_m_abx @@ -920,10 +844,10 @@ rol_m_abx TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - TMP2 = read_data(TMP); + TMP2 = read(TMP); read_dummy(TMP); TMP2 = do_rol(TMP2); - write_data(TMP, TMP2); + write(TMP, TMP2); prefetch(); rol_m_zpg @@ -948,10 +872,10 @@ rol_m_zpx ror_m_aba TMP = read_pc(); TMP = set_h(TMP, read_pc()); - TMP2 = read_data(TMP); + TMP2 = read(TMP); read_dummy(TMP); TMP2 = do_ror(TMP2); - write_data(TMP, TMP2); + write(TMP, TMP2); prefetch(); ror_m_abx @@ -959,10 +883,10 @@ ror_m_abx TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - TMP2 = read_data(TMP); + TMP2 = read(TMP); read_dummy(TMP); TMP2 = do_ror(TMP2); - write_data(TMP, TMP2); + write(TMP, TMP2); prefetch(); ror_m_zpg @@ -1007,19 +931,12 @@ rts_m_imp PC++; prefetch(); -sbc_m_aba - TMP = read_pc(); - TMP = set_h(TMP, read_pc()); - TMP2 = read_data(TMP); - do_sbc(TMP2); - prefetch(); - sbc_m_abx TMP = read_pc(); TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - TMP2 = read_data(TMP); + TMP2 = read(TMP); do_sbc(TMP2); prefetch(); @@ -1028,7 +945,7 @@ sbc_m_aby TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+Y)); TMP += Y; - TMP2 = read_data(TMP); + TMP2 = read(TMP); do_sbc(TMP2); prefetch(); @@ -1062,7 +979,7 @@ sta_m_aba TMP = read_pc(); TMP = set_h(TMP, read_pc()); read_dummy(TMP); - write_data(TMP, A); + write(TMP, A); prefetch(); sta_m_abx @@ -1070,7 +987,7 @@ sta_m_abx TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); read_dummy(TMP+X); - write_data(TMP+X, A); + write(TMP+X, A); prefetch(); sta_m_aby @@ -1078,7 +995,7 @@ sta_m_aby TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+Y)); read_dummy(TMP+Y); - write_data(TMP+Y, A); + write(TMP+Y, A); prefetch(); sta_m_idx @@ -1119,7 +1036,7 @@ stx_m_aba TMP = read_pc(); TMP = set_h(TMP, read_pc()); read_dummy(TMP); - write_data(TMP, X); + write(TMP, X); prefetch(); stx_m_zpg @@ -1140,7 +1057,7 @@ sty_m_aba TMP = read_pc(); TMP = set_h(TMP, read_pc()); read_dummy(TMP); - write_data(TMP, Y); + write(TMP, Y); prefetch(); sty_m_zpg @@ -1162,7 +1079,7 @@ sty_m_zpx adct_aba TMP = read_pc(); TMP = set_h(TMP, read_pc()); - TMP2 = read_data(TMP); + TMP2 = read(TMP); TMP = read(X); read_dummy(X); do_adct(TMP2); @@ -1174,7 +1091,7 @@ adct_abx TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - TMP2 = read_data(TMP); + TMP2 = read(TMP); TMP = read(X); read_dummy(X); do_adct(TMP2); @@ -1186,7 +1103,7 @@ adct_aby TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+Y)); TMP += Y; - TMP2 = read_data(TMP); + TMP2 = read(TMP); TMP = read(X); read_dummy(X); do_adct(TMP2); @@ -1250,7 +1167,7 @@ adct_zpx andt_aba TMP = read_pc(); TMP = set_h(TMP, read_pc()); - TMP2 = read_data(TMP); + TMP2 = read(TMP); TMP = read(X); read_dummy(X); TMP &= TMP2; @@ -1263,7 +1180,7 @@ andt_abx TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - TMP2 = read_data(TMP); + TMP2 = read(TMP); TMP = read(X); read_dummy(X); TMP &= TMP2; @@ -1276,7 +1193,7 @@ andt_aby TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+Y)); TMP += Y; - TMP2 = read_data(TMP); + TMP2 = read(TMP); TMP = read(X); read_dummy(X); TMP &= TMP2; @@ -1346,7 +1263,7 @@ andt_zpx cmpt_aba TMP = read_pc(); TMP = set_h(TMP, read_pc()); - TMP2 = read_data(TMP); + TMP2 = read(TMP); TMP = read(X); do_cmp(TMP, TMP2); prefetch(); @@ -1356,7 +1273,7 @@ cmpt_abx TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - TMP2 = read_data(TMP); + TMP2 = read(TMP); TMP = read(X); do_cmp(TMP, TMP2); prefetch(); @@ -1366,7 +1283,7 @@ cmpt_aby TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+Y)); TMP += Y; - TMP2 = read_data(TMP); + TMP2 = read(TMP); TMP = read(X); do_cmp(TMP, TMP2); prefetch(); @@ -1418,7 +1335,7 @@ cmpt_zpx eort_aba TMP = read_pc(); TMP = set_h(TMP, read_pc()); - TMP2 = read_data(TMP); + TMP2 = read(TMP); TMP = read(X); read_dummy(X); TMP ^= TMP2; @@ -1431,7 +1348,7 @@ eort_abx TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - TMP2 = read_data(TMP); + TMP2 = read(TMP); TMP = read(X); read_dummy(X); TMP ^= TMP2; @@ -1444,7 +1361,7 @@ eort_aby TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+Y)); TMP += Y; - TMP2 = read_data(TMP); + TMP2 = read(TMP); TMP = read(X); read_dummy(X); TMP ^= TMP2; @@ -1514,7 +1431,7 @@ eort_zpx ldt_aba TMP = read_pc(); TMP = set_h(TMP, read_pc()); - TMP2 = read_data(TMP); + TMP2 = read(TMP); read_dummy(X); set_nz(TMP2); write(X, TMP2); @@ -1525,7 +1442,7 @@ ldt_abx TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - TMP2 = read_data(TMP); + TMP2 = read(TMP); read_dummy(X); set_nz(TMP2); write(X, TMP2); @@ -1536,7 +1453,7 @@ ldt_aby TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+Y)); TMP += Y; - TMP2 = read_data(TMP); + TMP2 = read(TMP); read_dummy(X); set_nz(TMP2); write(X, TMP2); @@ -1594,7 +1511,7 @@ ldt_zpx ort_aba TMP = read_pc(); TMP = set_h(TMP, read_pc()); - TMP2 = read_data(TMP); + TMP2 = read(TMP); TMP = read(X); read_dummy(X); TMP |= TMP2; @@ -1607,7 +1524,7 @@ ort_abx TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - TMP2 = read_data(TMP); + TMP2 = read(TMP); TMP = read(X); read_dummy(X); TMP |= TMP2; @@ -1620,7 +1537,7 @@ ort_aby TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+Y)); TMP += Y; - TMP2 = read_data(TMP); + TMP2 = read(TMP); TMP = read(X); read_dummy(X); TMP |= TMP2; @@ -1690,7 +1607,7 @@ ort_zpx sbct_aba TMP = read_pc(); TMP = set_h(TMP, read_pc()); - TMP2 = read_data(TMP); + TMP2 = read(TMP); TMP = read(X); read_dummy(X); do_sbct(TMP2); @@ -1702,7 +1619,7 @@ sbct_abx TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+X)); TMP += X; - TMP2 = read_data(TMP); + TMP2 = read(TMP); TMP = read(X); read_dummy(X); do_sbct(TMP2); @@ -1714,7 +1631,7 @@ sbct_aby TMP = set_h(TMP, read_pc()); read_dummy(set_l(TMP, TMP+Y)); TMP += Y; - TMP2 = read_data(TMP); + TMP2 = read(TMP); TMP = read(X); read_dummy(X); do_sbct(TMP2); -- cgit v1.2.3