mirror of
https://github.com/holub/mame
synced 2025-06-05 20:33:45 +03:00
6502 future-proofing: do not overwrite the variable with the access address on a read in case we want to rerun it
This commit is contained in:
parent
98c6ead6ed
commit
6563dfe9cf
@ -7,8 +7,8 @@
|
||||
adc_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read(TMP);
|
||||
do_adc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_adc(TMP2);
|
||||
prefetch();
|
||||
|
||||
adc_abx
|
||||
@ -18,8 +18,8 @@ adc_abx
|
||||
read(set_l(TMP, TMP+X));
|
||||
}
|
||||
TMP += X;
|
||||
TMP = read(TMP);
|
||||
do_adc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_adc(TMP2);
|
||||
prefetch();
|
||||
|
||||
adc_aby
|
||||
@ -29,8 +29,8 @@ adc_aby
|
||||
read(set_l(TMP, TMP+Y));
|
||||
}
|
||||
TMP += Y;
|
||||
TMP = read(TMP);
|
||||
do_adc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_adc(TMP2);
|
||||
prefetch();
|
||||
|
||||
adc_idx
|
||||
@ -59,15 +59,15 @@ adc_imm
|
||||
|
||||
adc_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(TMP);
|
||||
do_adc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_adc(TMP2);
|
||||
prefetch();
|
||||
|
||||
adc_zpx
|
||||
TMP = read_pc();
|
||||
read(TMP);
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
do_adc(TMP);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
do_adc(TMP2);
|
||||
prefetch();
|
||||
|
||||
and_aba
|
||||
@ -332,8 +332,8 @@ clv_imp
|
||||
cmp_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read(TMP);
|
||||
do_cmp(A, TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_cmp(A, TMP2);
|
||||
prefetch();
|
||||
|
||||
cmp_abx
|
||||
@ -343,8 +343,8 @@ cmp_abx
|
||||
read(set_l(TMP, TMP+X));
|
||||
}
|
||||
TMP += X;
|
||||
TMP = read(TMP);
|
||||
do_cmp(A, TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_cmp(A, TMP2);
|
||||
prefetch();
|
||||
|
||||
cmp_aby
|
||||
@ -354,8 +354,8 @@ cmp_aby
|
||||
read(set_l(TMP, TMP+Y));
|
||||
}
|
||||
TMP += Y;
|
||||
TMP = read(TMP);
|
||||
do_cmp(A, TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_cmp(A, TMP2);
|
||||
prefetch();
|
||||
|
||||
cmp_idx
|
||||
@ -384,22 +384,22 @@ cmp_imm
|
||||
|
||||
cmp_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(TMP);
|
||||
do_cmp(A, TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_cmp(A, TMP2);
|
||||
prefetch();
|
||||
|
||||
cmp_zpx
|
||||
TMP = read_pc();
|
||||
read(TMP);
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
do_cmp(A, TMP);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
do_cmp(A, TMP2);
|
||||
prefetch();
|
||||
|
||||
cpx_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read(TMP);
|
||||
do_cmp(X, TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_cmp(X, TMP2);
|
||||
prefetch();
|
||||
|
||||
cpx_imm
|
||||
@ -409,15 +409,15 @@ cpx_imm
|
||||
|
||||
cpx_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(TMP);
|
||||
do_cmp(X, TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_cmp(X, TMP2);
|
||||
prefetch();
|
||||
|
||||
cpy_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read(TMP);
|
||||
do_cmp(Y, TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_cmp(Y, TMP2);
|
||||
prefetch();
|
||||
|
||||
cpy_imm
|
||||
@ -427,8 +427,8 @@ cpy_imm
|
||||
|
||||
cpy_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(TMP);
|
||||
do_cmp(Y, TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_cmp(Y, TMP2);
|
||||
prefetch();
|
||||
|
||||
dec_aba
|
||||
@ -1021,8 +1021,8 @@ rts_imp
|
||||
sbc_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read(TMP);
|
||||
do_sbc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_sbc(TMP2);
|
||||
prefetch();
|
||||
|
||||
sbc_abx
|
||||
@ -1032,8 +1032,8 @@ sbc_abx
|
||||
read(set_l(TMP, TMP+X));
|
||||
}
|
||||
TMP += X;
|
||||
TMP = read(TMP);
|
||||
do_sbc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_sbc(TMP2);
|
||||
prefetch();
|
||||
|
||||
sbc_aby
|
||||
@ -1043,8 +1043,8 @@ sbc_aby
|
||||
read(set_l(TMP, TMP+Y));
|
||||
}
|
||||
TMP += Y;
|
||||
TMP = read(TMP);
|
||||
do_sbc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_sbc(TMP2);
|
||||
prefetch();
|
||||
|
||||
sbc_idx
|
||||
@ -1073,15 +1073,15 @@ sbc_imm
|
||||
|
||||
sbc_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(TMP);
|
||||
do_sbc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_sbc(TMP2);
|
||||
prefetch();
|
||||
|
||||
sbc_zpx
|
||||
TMP = read_pc();
|
||||
read(TMP);
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
do_sbc(TMP);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
do_sbc(TMP2);
|
||||
prefetch();
|
||||
|
||||
sec_imp
|
||||
|
@ -5,8 +5,8 @@
|
||||
adc_c_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read(TMP);
|
||||
do_adc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_adc(TMP2);
|
||||
if(P & F_D) {
|
||||
read_pc_noinc();
|
||||
set_nz(A);
|
||||
@ -20,8 +20,8 @@ adc_c_abx
|
||||
read(set_l(TMP, TMP+X));
|
||||
}
|
||||
TMP += X;
|
||||
TMP = read(TMP);
|
||||
do_adc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_adc(TMP2);
|
||||
if(P & F_D) {
|
||||
read_pc_noinc();
|
||||
set_nz(A);
|
||||
@ -35,8 +35,8 @@ adc_c_aby
|
||||
read(set_l(TMP, TMP+Y));
|
||||
}
|
||||
TMP += Y;
|
||||
TMP = read(TMP);
|
||||
do_adc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_adc(TMP2);
|
||||
if(P & F_D) {
|
||||
read_pc_noinc();
|
||||
set_nz(A);
|
||||
@ -81,8 +81,8 @@ adc_c_imm
|
||||
|
||||
adc_c_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(TMP);
|
||||
do_adc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_adc(TMP2);
|
||||
if(P & F_D) {
|
||||
read_pc_noinc();
|
||||
set_nz(A);
|
||||
@ -103,8 +103,8 @@ adc_c_zpi
|
||||
adc_c_zpx
|
||||
TMP = read_pc();
|
||||
read(TMP);
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
do_adc(TMP);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
do_adc(TMP2);
|
||||
if(P & F_D) {
|
||||
read_pc_noinc();
|
||||
set_nz(A);
|
||||
@ -206,8 +206,8 @@ bit_imm
|
||||
bit_zpx
|
||||
TMP = read_pc();
|
||||
read(TMP);
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
do_bit(TMP);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
do_bit(TMP2);
|
||||
prefetch();
|
||||
|
||||
bra_rel
|
||||
@ -563,8 +563,8 @@ ror_c_zpx
|
||||
sbc_c_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read(TMP);
|
||||
do_sbc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_sbc(TMP2);
|
||||
if(P & F_D) {
|
||||
read_pc_noinc();
|
||||
set_nz(A);
|
||||
@ -578,8 +578,8 @@ sbc_c_abx
|
||||
read(set_l(TMP, TMP+X));
|
||||
}
|
||||
TMP += X;
|
||||
TMP = read(TMP);
|
||||
do_sbc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_sbc(TMP2);
|
||||
if(P & F_D) {
|
||||
read_pc_noinc();
|
||||
set_nz(A);
|
||||
@ -593,8 +593,8 @@ sbc_c_aby
|
||||
read(set_l(TMP, TMP+Y));
|
||||
}
|
||||
TMP += Y;
|
||||
TMP = read(TMP);
|
||||
do_sbc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_sbc(TMP2);
|
||||
if(P & F_D) {
|
||||
read_pc_noinc();
|
||||
set_nz(A);
|
||||
@ -639,8 +639,8 @@ sbc_c_imm
|
||||
|
||||
sbc_c_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(TMP);
|
||||
do_sbc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_sbc(TMP2);
|
||||
if(P & F_D) {
|
||||
read_pc_noinc();
|
||||
set_nz(A);
|
||||
@ -661,8 +661,8 @@ sbc_c_zpi
|
||||
sbc_c_zpx
|
||||
TMP = read_pc();
|
||||
read(TMP);
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
do_sbc(TMP);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
do_sbc(TMP2);
|
||||
if(P & F_D) {
|
||||
read_pc_noinc();
|
||||
set_nz(A);
|
||||
|
@ -5,8 +5,8 @@
|
||||
adc_ce_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read(TMP);
|
||||
do_adc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_adc(TMP2);
|
||||
if(P & F_D)
|
||||
set_nz(A);
|
||||
prefetch();
|
||||
@ -15,8 +15,8 @@ adc_ce_abx
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP += X;
|
||||
TMP = read(TMP);
|
||||
do_adc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_adc(TMP2);
|
||||
if(P & F_D)
|
||||
set_nz(A);
|
||||
prefetch();
|
||||
@ -25,8 +25,8 @@ adc_ce_aby
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP += Y;
|
||||
TMP = read(TMP);
|
||||
do_adc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_adc(TMP2);
|
||||
if(P & F_D)
|
||||
set_nz(A);
|
||||
prefetch();
|
||||
@ -71,16 +71,16 @@ adc_ce_imm
|
||||
|
||||
adc_ce_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(B|TMP);
|
||||
do_adc(TMP);
|
||||
TMP2 = read(B|TMP);
|
||||
do_adc(TMP2);
|
||||
if(P & F_D)
|
||||
set_nz(A);
|
||||
prefetch();
|
||||
|
||||
adc_ce_zpx
|
||||
TMP = read_pc();
|
||||
TMP = read(B|uint8_t(TMP+X));
|
||||
do_adc(TMP);
|
||||
TMP2 = read(B|uint8_t(TMP+X));
|
||||
do_adc(TMP2);
|
||||
if(P & F_D)
|
||||
set_nz(A);
|
||||
prefetch();
|
||||
@ -295,8 +295,8 @@ bit_ce_zpg
|
||||
|
||||
bit_ce_zpx
|
||||
TMP = read_pc();
|
||||
TMP = read(B|uint8_t(TMP+X));
|
||||
do_bit(TMP);
|
||||
TMP2 = read(B|uint8_t(TMP+X));
|
||||
do_bit(TMP2);
|
||||
prefetch();
|
||||
|
||||
bmi_ce_rel
|
||||
@ -436,16 +436,16 @@ cmp_ce_abx
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP += X;
|
||||
TMP = read(TMP);
|
||||
do_cmp(A, TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_cmp(A, TMP2);
|
||||
prefetch();
|
||||
|
||||
cmp_ce_aby
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP += Y;
|
||||
TMP = read(TMP);
|
||||
do_cmp(A, TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_cmp(A, TMP2);
|
||||
prefetch();
|
||||
|
||||
cmp_ce_idx
|
||||
@ -475,34 +475,34 @@ cmp_idz
|
||||
|
||||
cmp_ce_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(B|TMP);
|
||||
do_cmp(A, TMP);
|
||||
TMP2 = read(B|TMP);
|
||||
do_cmp(A, TMP2);
|
||||
prefetch();
|
||||
|
||||
cmp_ce_zpx
|
||||
TMP = read_pc();
|
||||
read(TMP);
|
||||
TMP = read(B|uint8_t(TMP+X));
|
||||
do_cmp(A, TMP);
|
||||
TMP2 = read(B|uint8_t(TMP+X));
|
||||
do_cmp(A, TMP2);
|
||||
prefetch();
|
||||
|
||||
cpx_ce_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(B|TMP);
|
||||
do_cmp(X, TMP);
|
||||
TMP2 = read(B|TMP);
|
||||
do_cmp(X, TMP2);
|
||||
prefetch();
|
||||
|
||||
cpy_ce_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(B|TMP);
|
||||
do_cmp(Y, TMP);
|
||||
TMP2 = read(B|TMP);
|
||||
do_cmp(Y, TMP2);
|
||||
prefetch();
|
||||
|
||||
cpz_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read(TMP);
|
||||
do_cmp(Z, TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_cmp(Z, TMP2);
|
||||
prefetch();
|
||||
|
||||
cpz_imm
|
||||
@ -512,8 +512,8 @@ cpz_imm
|
||||
|
||||
cpz_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(B|TMP);
|
||||
do_cmp(Z, TMP);
|
||||
TMP2 = read(B|TMP);
|
||||
do_cmp(Z, TMP2);
|
||||
prefetch();
|
||||
|
||||
dec_ce_aba
|
||||
@ -1212,8 +1212,8 @@ rts_ce_imp
|
||||
sbc_ce_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read(TMP);
|
||||
do_sbc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_sbc(TMP2);
|
||||
if(P & F_D)
|
||||
set_nz(A);
|
||||
prefetch();
|
||||
@ -1222,8 +1222,8 @@ sbc_ce_abx
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP += X;
|
||||
TMP = read(TMP);
|
||||
do_sbc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_sbc(TMP2);
|
||||
if(P & F_D)
|
||||
set_nz(A);
|
||||
prefetch();
|
||||
@ -1232,8 +1232,8 @@ sbc_ce_aby
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP += Y;
|
||||
TMP = read(TMP);
|
||||
do_sbc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_sbc(TMP2);
|
||||
if(P & F_D)
|
||||
set_nz(A);
|
||||
prefetch();
|
||||
@ -1278,8 +1278,8 @@ sbc_ce_imm
|
||||
|
||||
sbc_ce_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(B|TMP);
|
||||
do_sbc(TMP);
|
||||
TMP2 = read(B|TMP);
|
||||
do_sbc(TMP2);
|
||||
if(P & F_D)
|
||||
set_nz(A);
|
||||
prefetch();
|
||||
@ -1287,8 +1287,8 @@ sbc_ce_zpg
|
||||
sbc_ce_zpx
|
||||
TMP = read_pc();
|
||||
read(TMP);
|
||||
TMP = read(B|uint8_t(TMP+X));
|
||||
do_sbc(TMP);
|
||||
TMP2 = read(B|uint8_t(TMP+X));
|
||||
do_sbc(TMP2);
|
||||
if(P & F_D)
|
||||
set_nz(A);
|
||||
prefetch();
|
||||
|
@ -235,8 +235,8 @@ brk_m_imp
|
||||
adc_m_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read_data(TMP);
|
||||
do_adc(TMP);
|
||||
TMP2 = read_data(TMP);
|
||||
do_adc(TMP2);
|
||||
prefetch();
|
||||
|
||||
adc_m_abx
|
||||
@ -244,8 +244,8 @@ adc_m_abx
|
||||
TMP = set_h(TMP, read_pc());
|
||||
read_dummy(set_l(TMP, TMP+X));
|
||||
TMP += X;
|
||||
TMP = read_data(TMP);
|
||||
do_adc(TMP);
|
||||
TMP2 = read_data(TMP);
|
||||
do_adc(TMP2);
|
||||
prefetch();
|
||||
|
||||
adc_m_aby
|
||||
@ -253,8 +253,8 @@ adc_m_aby
|
||||
TMP = set_h(TMP, read_pc());
|
||||
read_dummy(set_l(TMP, TMP+Y));
|
||||
TMP += Y;
|
||||
TMP = read_data(TMP);
|
||||
do_adc(TMP);
|
||||
TMP2 = read_data(TMP);
|
||||
do_adc(TMP2);
|
||||
prefetch();
|
||||
|
||||
adc_m_idx
|
||||
@ -279,8 +279,8 @@ adc_m_zpx
|
||||
TMP = read_pc_noinc();
|
||||
read_dummy(PC & 0xff);
|
||||
PC++;
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
do_adc(TMP);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
do_adc(TMP2);
|
||||
prefetch();
|
||||
|
||||
and_m_aba
|
||||
@ -480,8 +480,8 @@ bvs_m_rel
|
||||
cmp_m_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read_data(TMP);
|
||||
do_cmp(A, TMP);
|
||||
TMP2 = read_data(TMP);
|
||||
do_cmp(A, TMP2);
|
||||
prefetch();
|
||||
|
||||
cmp_m_abx
|
||||
@ -489,8 +489,8 @@ cmp_m_abx
|
||||
TMP = set_h(TMP, read_pc());
|
||||
read_dummy(set_l(TMP, TMP+X));
|
||||
TMP += X;
|
||||
TMP = read_data(TMP);
|
||||
do_cmp(A, TMP);
|
||||
TMP2 = read_data(TMP);
|
||||
do_cmp(A, TMP2);
|
||||
prefetch();
|
||||
|
||||
cmp_m_aby
|
||||
@ -498,8 +498,8 @@ cmp_m_aby
|
||||
TMP = set_h(TMP, read_pc());
|
||||
read_dummy(set_l(TMP, TMP+Y));
|
||||
TMP += Y;
|
||||
TMP = read_data(TMP);
|
||||
do_cmp(A, TMP);
|
||||
TMP2 = read_data(TMP);
|
||||
do_cmp(A, TMP2);
|
||||
prefetch();
|
||||
|
||||
cmp_m_idx
|
||||
@ -524,22 +524,22 @@ cmp_m_zpx
|
||||
TMP = read_pc_noinc();
|
||||
read_dummy(PC & 0xff);
|
||||
PC++;
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
do_cmp(A, TMP);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
do_cmp(A, TMP2);
|
||||
prefetch();
|
||||
|
||||
cpx_m_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read_data(TMP);
|
||||
do_cmp(X, TMP);
|
||||
TMP2 = read_data(TMP);
|
||||
do_cmp(X, TMP2);
|
||||
prefetch();
|
||||
|
||||
cpy_m_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read_data(TMP);
|
||||
do_cmp(Y, TMP);
|
||||
TMP2 = read_data(TMP);
|
||||
do_cmp(Y, TMP2);
|
||||
prefetch();
|
||||
|
||||
dec_m_aba
|
||||
@ -1010,8 +1010,8 @@ rts_m_imp
|
||||
sbc_m_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read_data(TMP);
|
||||
do_sbc(TMP);
|
||||
TMP2 = read_data(TMP);
|
||||
do_sbc(TMP2);
|
||||
prefetch();
|
||||
|
||||
sbc_m_abx
|
||||
@ -1019,8 +1019,8 @@ sbc_m_abx
|
||||
TMP = set_h(TMP, read_pc());
|
||||
read_dummy(set_l(TMP, TMP+X));
|
||||
TMP += X;
|
||||
TMP = read_data(TMP);
|
||||
do_sbc(TMP);
|
||||
TMP2 = read_data(TMP);
|
||||
do_sbc(TMP2);
|
||||
prefetch();
|
||||
|
||||
sbc_m_aby
|
||||
@ -1028,8 +1028,8 @@ sbc_m_aby
|
||||
TMP = set_h(TMP, read_pc());
|
||||
read_dummy(set_l(TMP, TMP+Y));
|
||||
TMP += Y;
|
||||
TMP = read_data(TMP);
|
||||
do_sbc(TMP);
|
||||
TMP2 = read_data(TMP);
|
||||
do_sbc(TMP2);
|
||||
prefetch();
|
||||
|
||||
sbc_m_idx
|
||||
@ -1054,8 +1054,8 @@ sbc_m_zpx
|
||||
TMP = read_pc_noinc();
|
||||
read_dummy(PC & 0xff);
|
||||
PC++;
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
do_sbc(TMP);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
do_sbc(TMP2);
|
||||
prefetch();
|
||||
|
||||
sta_m_aba
|
||||
@ -1162,11 +1162,11 @@ sty_m_zpx
|
||||
adct_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
read_dummy(X);
|
||||
do_adct(TMP);
|
||||
write(X, TMP2);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(TMP);
|
||||
do_adct(TMP2);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
adct_abx
|
||||
@ -1174,11 +1174,11 @@ adct_abx
|
||||
TMP = set_h(TMP, read_pc());
|
||||
read_dummy(set_l(TMP, TMP+X));
|
||||
TMP += X;
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
do_adct(TMP);
|
||||
write(X, TMP2);
|
||||
do_adct(TMP2);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
adct_aby
|
||||
@ -1186,11 +1186,11 @@ adct_aby
|
||||
TMP = set_h(TMP, read_pc());
|
||||
read_dummy(set_l(TMP, TMP+Y));
|
||||
TMP += Y;
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
do_adct(TMP);
|
||||
write(X, TMP2);
|
||||
do_adct(TMP2);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
adct_idx
|
||||
@ -1200,11 +1200,11 @@ adct_idx
|
||||
TMP2 += X;
|
||||
TMP = read(TMP2 & 0xff);
|
||||
TMP = set_h(TMP, read((TMP2+1) & 0xff));
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
do_adct(TMP);
|
||||
write(X, TMP2);
|
||||
do_adct(TMP2);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
adct_idy
|
||||
@ -1212,11 +1212,11 @@ adct_idy
|
||||
TMP = read(TMP2);
|
||||
TMP = set_h(TMP, read((TMP2+1) & 0xff));
|
||||
read_dummy(set_l(TMP, TMP+Y));
|
||||
TMP = read_data(TMP+Y);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP+Y);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
do_adct(TMP);
|
||||
write(X, TMP2);
|
||||
do_adct(TMP2);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
adct_imm
|
||||
@ -1229,33 +1229,33 @@ adct_imm
|
||||
|
||||
adct_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
do_adct(TMP);
|
||||
write(X, TMP2);
|
||||
do_adct(TMP2);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
adct_zpx
|
||||
TMP = read_pc_noinc();
|
||||
read_dummy(PC & 0xff);
|
||||
PC++;
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
TMP2 = read(X);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
do_adct(TMP);
|
||||
write(X, TMP2);
|
||||
do_adct(TMP2);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
andt_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 &= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP &= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
andt_abx
|
||||
@ -1263,12 +1263,12 @@ andt_abx
|
||||
TMP = set_h(TMP, read_pc());
|
||||
read_dummy(set_l(TMP, TMP+X));
|
||||
TMP += X;
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 &= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP &= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
andt_aby
|
||||
@ -1276,12 +1276,12 @@ andt_aby
|
||||
TMP = set_h(TMP, read_pc());
|
||||
read_dummy(set_l(TMP, TMP+Y));
|
||||
TMP += Y;
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 &= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP &= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
andt_imm
|
||||
@ -1300,12 +1300,12 @@ andt_idx
|
||||
TMP2 += X;
|
||||
TMP = read(TMP2 & 0xff);
|
||||
TMP = set_h(TMP, read((TMP2+1) & 0xff));
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 &= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP &= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
andt_idy
|
||||
@ -1313,42 +1313,42 @@ andt_idy
|
||||
TMP = read(TMP2);
|
||||
TMP = set_h(TMP, read((TMP2+1) & 0xff));
|
||||
read_dummy(set_l(TMP, TMP+Y));
|
||||
TMP = read_data(TMP+Y);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP+Y);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 &= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP &= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
andt_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 &= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP &= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
andt_zpx
|
||||
TMP = read_pc_noinc();
|
||||
read_dummy(PC & 0xff);
|
||||
PC++;
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
TMP2 = read(X);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 &= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP &= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
cmpt_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
do_cmp(TMP2, TMP);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
do_cmp(TMP, TMP2);
|
||||
prefetch();
|
||||
|
||||
cmpt_abx
|
||||
@ -1356,9 +1356,9 @@ cmpt_abx
|
||||
TMP = set_h(TMP, read_pc());
|
||||
read_dummy(set_l(TMP, TMP+X));
|
||||
TMP += X;
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
do_cmp(TMP2, TMP);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
do_cmp(TMP, TMP2);
|
||||
prefetch();
|
||||
|
||||
cmpt_aby
|
||||
@ -1366,9 +1366,9 @@ cmpt_aby
|
||||
TMP = set_h(TMP, read_pc());
|
||||
read_dummy(set_l(TMP, TMP+Y));
|
||||
TMP += Y;
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
do_cmp(TMP2, TMP);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
do_cmp(TMP, TMP2);
|
||||
prefetch();
|
||||
|
||||
cmpt_idx
|
||||
@ -1378,9 +1378,9 @@ cmpt_idx
|
||||
TMP2 += X;
|
||||
TMP = read(TMP2 & 0xff);
|
||||
TMP = set_h(TMP, read((TMP2+1) & 0xff));
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
do_cmp(TMP2, TMP);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
do_cmp(TMP, TMP2);
|
||||
prefetch();
|
||||
|
||||
cmpt_idy
|
||||
@ -1388,9 +1388,9 @@ cmpt_idy
|
||||
TMP = read(TMP2);
|
||||
TMP = set_h(TMP, read((TMP2+1) & 0xff));
|
||||
read_dummy(set_l(TMP, TMP+Y));
|
||||
TMP = read_data(TMP+Y);
|
||||
TMP2 = read(X);
|
||||
do_cmp(TMP2, read(TMP+Y));
|
||||
TMP2 = read_data(TMP+Y);
|
||||
TMP = read(X);
|
||||
do_cmp(TMP, read(TMP2+Y));
|
||||
prefetch();
|
||||
|
||||
cmpt_imm
|
||||
@ -1401,29 +1401,29 @@ cmpt_imm
|
||||
|
||||
cmpt_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(TMP);
|
||||
TMP2 = read(X);
|
||||
do_cmp(TMP2, TMP);
|
||||
TMP2 = read(TMP);
|
||||
TMP = read(X);
|
||||
do_cmp(TMP, TMP2);
|
||||
prefetch();
|
||||
|
||||
cmpt_zpx
|
||||
TMP = read_pc_noinc();
|
||||
read_dummy(PC & 0xff);
|
||||
PC++;
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
TMP2 = read(X);
|
||||
do_cmp(TMP2, TMP);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
TMP = read(X);
|
||||
do_cmp(TMP, TMP2);
|
||||
prefetch();
|
||||
|
||||
eort_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 ^= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP ^= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
eort_abx
|
||||
@ -1431,12 +1431,12 @@ eort_abx
|
||||
TMP = set_h(TMP, read_pc());
|
||||
read_dummy(set_l(TMP, TMP+X));
|
||||
TMP += X;
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 ^= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP ^= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
eort_aby
|
||||
@ -1444,12 +1444,12 @@ eort_aby
|
||||
TMP = set_h(TMP, read_pc());
|
||||
read_dummy(set_l(TMP, TMP+Y));
|
||||
TMP += Y;
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 ^= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP ^= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
eort_idx
|
||||
@ -1459,12 +1459,12 @@ eort_idx
|
||||
TMP2 += X;
|
||||
TMP = read(TMP2 & 0xff);
|
||||
TMP = set_h(TMP, read((TMP2+1) & 0xff));
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 ^= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP ^= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
eort_idy
|
||||
@ -1472,12 +1472,12 @@ eort_idy
|
||||
TMP = read(TMP2);
|
||||
TMP = set_h(TMP, read((TMP2+1) & 0xff));
|
||||
read_dummy(set_l(TMP, TMP+Y));
|
||||
TMP = read_data(TMP+Y);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP+Y);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 ^= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP ^= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
eort_imm
|
||||
@ -1491,24 +1491,24 @@ eort_imm
|
||||
|
||||
eort_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 ^= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP ^= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
eort_zpx
|
||||
TMP = read_pc_noinc();
|
||||
read_dummy(PC & 0xff);
|
||||
PC++;
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
TMP2 = read(X);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 ^= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP ^= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
ldt_aba
|
||||
@ -1594,12 +1594,12 @@ ldt_zpx
|
||||
ort_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 |= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP |= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
ort_abx
|
||||
@ -1607,12 +1607,12 @@ ort_abx
|
||||
TMP = set_h(TMP, read_pc());
|
||||
read_dummy(set_l(TMP, TMP+X));
|
||||
TMP += X;
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 |= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP |= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
ort_aby
|
||||
@ -1620,12 +1620,12 @@ ort_aby
|
||||
TMP = set_h(TMP, read_pc());
|
||||
read_dummy(set_l(TMP, TMP+Y));
|
||||
TMP += Y;
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 |= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP |= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
ort_imm
|
||||
@ -1644,12 +1644,12 @@ ort_idx
|
||||
TMP2 += X;
|
||||
TMP = read(TMP2 & 0xff);
|
||||
TMP = set_h(TMP, read((TMP2+1) & 0xff));
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 |= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP |= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
ort_idy
|
||||
@ -1657,44 +1657,44 @@ ort_idy
|
||||
TMP = read(TMP2);
|
||||
TMP = set_h(TMP, read((TMP2+1) & 0xff));
|
||||
read_dummy(set_l(TMP, TMP+Y));
|
||||
TMP = read_data(TMP+Y);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP+Y);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 |= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP |= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
ort_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 |= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP |= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
ort_zpx
|
||||
TMP = read_pc_noinc();
|
||||
read_dummy(PC & 0xff);
|
||||
PC++;
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
TMP2 = read(X);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
TMP2 |= TMP;
|
||||
set_nz(TMP2);
|
||||
write(X, TMP2);
|
||||
TMP |= TMP2;
|
||||
set_nz(TMP);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
sbct_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
do_sbct(TMP);
|
||||
write(X, TMP2);
|
||||
do_sbct(TMP2);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
sbct_abx
|
||||
@ -1702,11 +1702,11 @@ sbct_abx
|
||||
TMP = set_h(TMP, read_pc());
|
||||
read_dummy(set_l(TMP, TMP+X));
|
||||
TMP += X;
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
do_sbct(TMP);
|
||||
write(X, TMP2);
|
||||
do_sbct(TMP2);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
sbct_aby
|
||||
@ -1714,11 +1714,11 @@ sbct_aby
|
||||
TMP = set_h(TMP, read_pc());
|
||||
read_dummy(set_l(TMP, TMP+Y));
|
||||
TMP += Y;
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
do_sbct(TMP);
|
||||
write(X, TMP2);
|
||||
do_sbct(TMP2);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
sbct_idx
|
||||
@ -1728,11 +1728,11 @@ sbct_idx
|
||||
TMP2 += X;
|
||||
TMP = read(TMP2 & 0xff);
|
||||
TMP = set_h(TMP, read((TMP2+1) & 0xff));
|
||||
TMP = read_data(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
do_sbct(TMP);
|
||||
write(X, TMP2);
|
||||
do_sbct(TMP2);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
sbct_idy
|
||||
@ -1740,11 +1740,11 @@ sbct_idy
|
||||
TMP = read(TMP2);
|
||||
TMP = set_h(TMP, read((TMP2+1) & 0xff));
|
||||
read_dummy(set_l(TMP, TMP+Y));
|
||||
TMP = read_data(TMP+Y);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read_data(TMP+Y);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
do_sbct(TMP);
|
||||
write(X, TMP2);
|
||||
do_sbct(TMP2);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
sbct_imm
|
||||
@ -1757,20 +1757,20 @@ sbct_imm
|
||||
|
||||
sbct_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(TMP);
|
||||
TMP2 = read(X);
|
||||
TMP2 = read(TMP);
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
do_sbct(TMP);
|
||||
write(X, TMP2);
|
||||
do_sbct(TMP2);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
||||
sbct_zpx
|
||||
TMP = read_pc_noinc();
|
||||
read_dummy(PC & 0xff);
|
||||
PC++;
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
TMP2 = read(X);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
TMP = read(X);
|
||||
read_dummy(X);
|
||||
do_sbct(TMP);
|
||||
write(X, TMP2);
|
||||
do_sbct(TMP2);
|
||||
write(X, TMP);
|
||||
prefetch();
|
||||
|
@ -4,8 +4,8 @@
|
||||
adc_nd_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read(TMP);
|
||||
do_adc_nd(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_adc_nd(TMP2);
|
||||
prefetch();
|
||||
|
||||
adc_nd_abx
|
||||
@ -15,8 +15,8 @@ adc_nd_abx
|
||||
read(set_l(TMP, TMP+X));
|
||||
}
|
||||
TMP += X;
|
||||
TMP = read(TMP);
|
||||
do_adc_nd(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_adc_nd(TMP2);
|
||||
prefetch();
|
||||
|
||||
adc_nd_aby
|
||||
@ -26,8 +26,8 @@ adc_nd_aby
|
||||
read(set_l(TMP, TMP+Y));
|
||||
}
|
||||
TMP += Y;
|
||||
TMP = read(TMP);
|
||||
do_adc_nd(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_adc_nd(TMP2);
|
||||
prefetch();
|
||||
|
||||
adc_nd_idx
|
||||
@ -56,15 +56,15 @@ adc_nd_imm
|
||||
|
||||
adc_nd_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(TMP);
|
||||
do_adc_nd(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_adc_nd(TMP2);
|
||||
prefetch();
|
||||
|
||||
adc_nd_zpx
|
||||
TMP = read_pc();
|
||||
read(TMP);
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
do_adc_nd(TMP);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
do_adc_nd(TMP2);
|
||||
prefetch();
|
||||
|
||||
arr_nd_imm
|
||||
@ -155,8 +155,8 @@ rra_nd_zpx
|
||||
sbc_nd_aba
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
TMP = read(TMP);
|
||||
do_sbc_nd(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_sbc_nd(TMP2);
|
||||
prefetch();
|
||||
|
||||
sbc_nd_abx
|
||||
@ -166,8 +166,8 @@ sbc_nd_abx
|
||||
read(set_l(TMP, TMP+X));
|
||||
}
|
||||
TMP += X;
|
||||
TMP = read(TMP);
|
||||
do_sbc_nd(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_sbc_nd(TMP2);
|
||||
prefetch();
|
||||
|
||||
sbc_nd_aby
|
||||
@ -177,8 +177,8 @@ sbc_nd_aby
|
||||
read(set_l(TMP, TMP+Y));
|
||||
}
|
||||
TMP += Y;
|
||||
TMP = read(TMP);
|
||||
do_sbc_nd(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_sbc_nd(TMP2);
|
||||
prefetch();
|
||||
|
||||
sbc_nd_idx
|
||||
@ -207,15 +207,15 @@ sbc_nd_imm
|
||||
|
||||
sbc_nd_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(TMP);
|
||||
do_sbc_nd(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_sbc_nd(TMP2);
|
||||
prefetch();
|
||||
|
||||
sbc_nd_zpx
|
||||
TMP = read_pc();
|
||||
read(TMP);
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
do_sbc_nd(TMP);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
do_sbc_nd(TMP2);
|
||||
prefetch();
|
||||
|
||||
isb_nd_aba
|
||||
|
@ -25,8 +25,8 @@ add_imm
|
||||
|
||||
add_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read(TMP);
|
||||
do_add(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_add(TMP2);
|
||||
if(P & F_D) {
|
||||
read_pc_noinc();
|
||||
set_nz(A);
|
||||
@ -36,8 +36,8 @@ add_zpg
|
||||
add_zpx
|
||||
TMP = read_pc();
|
||||
read(TMP);
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
do_add(TMP);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
do_add(TMP2);
|
||||
if(P & F_D) {
|
||||
read_pc_noinc();
|
||||
set_nz(A);
|
||||
|
@ -9,8 +9,8 @@ adc_s_abx
|
||||
read_pc_noinc();
|
||||
}
|
||||
TMP += X;
|
||||
TMP = read(TMP);
|
||||
do_adc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_adc(TMP2);
|
||||
if(P & F_D) {
|
||||
read_pc_noinc();
|
||||
set_nz(A);
|
||||
@ -25,8 +25,8 @@ adc_s_aby
|
||||
read_pc_noinc();
|
||||
}
|
||||
TMP += Y;
|
||||
TMP = read(TMP);
|
||||
do_adc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_adc(TMP2);
|
||||
if(P & F_D) {
|
||||
read_pc_noinc();
|
||||
set_nz(A);
|
||||
@ -66,8 +66,8 @@ adc_s_idy
|
||||
adc_s_zpx
|
||||
TMP = read_pc_noinc();
|
||||
read_pc_noinc();
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
do_adc(TMP);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
do_adc(TMP2);
|
||||
if(P & F_D) {
|
||||
read_pc_noinc();
|
||||
set_nz(A);
|
||||
@ -174,8 +174,8 @@ bit_s_abx
|
||||
bit_s_zpx
|
||||
TMP = read_pc_noinc();
|
||||
read_pc();
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
do_bit(TMP);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
do_bit(TMP2);
|
||||
prefetch();
|
||||
|
||||
brk_s_imp
|
||||
@ -213,8 +213,8 @@ cmp_s_abx
|
||||
read_pc_noinc();
|
||||
}
|
||||
TMP += X;
|
||||
TMP = read(TMP);
|
||||
do_cmp(A, TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_cmp(A, TMP2);
|
||||
PC++;
|
||||
prefetch();
|
||||
|
||||
@ -225,8 +225,8 @@ cmp_s_aby
|
||||
read_pc_noinc();
|
||||
}
|
||||
TMP += Y;
|
||||
TMP = read(TMP);
|
||||
do_cmp(A, TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_cmp(A, TMP2);
|
||||
PC++;
|
||||
prefetch();
|
||||
|
||||
@ -709,8 +709,8 @@ sbc_s_abx
|
||||
read_pc_noinc();
|
||||
}
|
||||
TMP += X;
|
||||
TMP = read(TMP);
|
||||
do_sbc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_sbc(TMP2);
|
||||
if(P & F_D) {
|
||||
read_pc_noinc();
|
||||
set_nz(A);
|
||||
@ -725,8 +725,8 @@ sbc_s_aby
|
||||
read_pc_noinc();
|
||||
}
|
||||
TMP += Y;
|
||||
TMP = read(TMP);
|
||||
do_sbc(TMP);
|
||||
TMP2 = read(TMP);
|
||||
do_sbc(TMP2);
|
||||
if(P & F_D) {
|
||||
read_pc_noinc();
|
||||
set_nz(A);
|
||||
@ -766,8 +766,8 @@ sbc_s_idy
|
||||
sbc_s_zpx
|
||||
TMP = read_pc_noinc();
|
||||
read_pc_noinc();
|
||||
TMP = read(uint8_t(TMP+X));
|
||||
do_sbc(TMP);
|
||||
TMP2 = read(uint8_t(TMP+X));
|
||||
do_sbc(TMP2);
|
||||
if(P & F_D) {
|
||||
read_pc_noinc();
|
||||
set_nz(A);
|
||||
|
@ -335,8 +335,8 @@ sta_xav_idx
|
||||
|
||||
adc_xav_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read_zeropage(TMP);
|
||||
do_adc(TMP);
|
||||
TMP2 = read_zeropage(TMP);
|
||||
do_adc(TMP2);
|
||||
prefetch();
|
||||
|
||||
and_xav_zpg
|
||||
@ -360,20 +360,20 @@ bit_xav_zpg
|
||||
|
||||
cmp_xav_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read_zeropage(TMP);
|
||||
do_cmp(A, TMP);
|
||||
TMP2 = read_zeropage(TMP);
|
||||
do_cmp(A, TMP2);
|
||||
prefetch();
|
||||
|
||||
cpx_xav_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read_zeropage(TMP);
|
||||
do_cmp(X, TMP);
|
||||
TMP2 = read_zeropage(TMP);
|
||||
do_cmp(X, TMP2);
|
||||
prefetch();
|
||||
|
||||
cpy_xav_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read_zeropage(TMP);
|
||||
do_cmp(Y, TMP);
|
||||
TMP2 = read_zeropage(TMP);
|
||||
do_cmp(Y, TMP2);
|
||||
prefetch();
|
||||
|
||||
dec_xav_zpg
|
||||
@ -450,8 +450,8 @@ ror_xav_zpg
|
||||
|
||||
sbc_xav_zpg
|
||||
TMP = read_pc();
|
||||
TMP = read_zeropage(TMP);
|
||||
do_sbc(TMP);
|
||||
TMP2 = read_zeropage(TMP);
|
||||
do_sbc(TMP2);
|
||||
prefetch();
|
||||
|
||||
sta_xav_zpg
|
||||
@ -579,8 +579,8 @@ sax_xav_zpy
|
||||
adc_xav_zpx
|
||||
TMP = read_pc();
|
||||
read_zeropage(TMP); // dummy read
|
||||
TMP = read_zeropage(uint8_t(TMP+X));
|
||||
do_adc(TMP);
|
||||
TMP2 = read_zeropage(uint8_t(TMP+X));
|
||||
do_adc(TMP2);
|
||||
prefetch();
|
||||
|
||||
and_xav_zpx
|
||||
@ -603,8 +603,8 @@ asl_xav_zpx
|
||||
cmp_xav_zpx
|
||||
TMP = read_pc();
|
||||
read_zeropage(TMP); // dummy read
|
||||
TMP = read_zeropage(uint8_t(TMP+X));
|
||||
do_cmp(A, TMP);
|
||||
TMP2 = read_zeropage(uint8_t(TMP+X));
|
||||
do_cmp(A, TMP2);
|
||||
prefetch();
|
||||
|
||||
dec_xav_zpx
|
||||
@ -690,8 +690,8 @@ ror_xav_zpx
|
||||
sbc_xav_zpx
|
||||
TMP = read_pc();
|
||||
read_zeropage(TMP); // dummy read
|
||||
TMP = read_zeropage(uint8_t(TMP+X));
|
||||
do_sbc(TMP);
|
||||
TMP2 = read_zeropage(uint8_t(TMP+X));
|
||||
do_sbc(TMP2);
|
||||
prefetch();
|
||||
|
||||
sta_xav_zpx
|
||||
|
@ -443,8 +443,8 @@ bit_imm
|
||||
|
||||
asr_xav_zpg
|
||||
TMP = read_pc(); // TODO: verify this, should it write back or set A?
|
||||
TMP = read_zeropage(TMP);
|
||||
do_asr(TMP);
|
||||
TMP2 = read_zeropage(TMP);
|
||||
do_asr(TMP2);
|
||||
prefetch();
|
||||
|
||||
asr_aba
|
||||
|
Loading…
Reference in New Issue
Block a user