summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/m6502/oxavix2000.lst
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/m6502/oxavix2000.lst')
-rw-r--r--src/devices/cpu/m6502/oxavix2000.lst181
1 files changed, 96 insertions, 85 deletions
diff --git a/src/devices/cpu/m6502/oxavix2000.lst b/src/devices/cpu/m6502/oxavix2000.lst
index 0832f2adef4..ba0089e7c18 100644
--- a/src/devices/cpu/m6502/oxavix2000.lst
+++ b/src/devices/cpu/m6502/oxavix2000.lst
@@ -60,249 +60,259 @@ neg_acc
set_nz(A);
prefetch();
-oral0_acc
- fatalerror("unhandled opcode %02x%04x: %02x\n", m_codebank, PPC, inst_state);
+oraj_imp
read_pc_noinc();
+ A |= m_j;
+ set_nz(A);
prefetch();
-oral1_acc
+orak_imp
read_pc_noinc();
- A |= (m_l & 0x0000ff00) >> 8;
+ A |= m_k;
set_nz(A);
prefetch();
-oral2_acc
- fatalerror("unhandled opcode %02x%04x: %02x\n", m_codebank, PPC, inst_state);
+oral_imp
read_pc_noinc();
+ A |= m_l;
+ set_nz(A);
prefetch();
-oral3_acc
- fatalerror("unhandled opcode %02x%04x: %02x\n", m_codebank, PPC, inst_state);
+oram_imp
read_pc_noinc();
+ A |= m_m;
+ set_nz(A);
prefetch();
-andl0_acc
- fatalerror("unhandled opcode %02x%04x: %02x\n", m_codebank, PPC, inst_state);
+andj_imp
read_pc_noinc();
+ A &= m_j;
+ set_nz(A);
prefetch();
-andl1_acc
- fatalerror("unhandled opcode %02x%04x: %02x\n", m_codebank, PPC, inst_state);
+andk_imp
read_pc_noinc();
+ A &= m_k;
+ set_nz(A);
prefetch();
-andl2_acc
- fatalerror("unhandled opcode %02x%04x: %02x\n", m_codebank, PPC, inst_state);
+andl_imp
read_pc_noinc();
+ A &= m_l;
+ set_nz(A);
prefetch();
-andl3_acc
- fatalerror("unhandled opcode %02x%04x: %02x\n", m_codebank, PPC, inst_state);
+andm_imp
read_pc_noinc();
+ A &= m_m;
+ set_nz(A);
prefetch();
-eorl0_acc
+eorj_imp
read_pc_noinc();
- A ^= (m_l & 0x000000ff) >> 0;
+ A ^= m_j;
set_nz(A);
prefetch();
-eorl1_acc
- fatalerror("unhandled opcode %02x%04x: %02x\n", m_codebank, PPC, inst_state);
+eork_imp
read_pc_noinc();
+ A ^= m_k;
+ set_nz(A);
prefetch();
-eorl2_acc
- fatalerror("unhandled opcode %02x%04x: %02x\n", m_codebank, PPC, inst_state);
+eorl_imp
read_pc_noinc();
+ A ^= m_l;
+ set_nz(A);
prefetch();
-eorl3_acc
- fatalerror("unhandled opcode %02x%04x: %02x\n", m_codebank, PPC, inst_state);
+eorm_imp
read_pc_noinc();
+ A ^= m_m;
+ set_nz(A);
prefetch();
-adcl0_acc
+adcj_imp
read_pc_noinc();
- do_adc((m_l & 0x000000ff) >> 0);
+ do_adc(m_j);
prefetch();
-adcl1_acc
+adck_imp
read_pc_noinc();
- do_adc((m_l & 0x0000ff00) >> 8);
+ do_adc(m_k);
prefetch();
-adcl2_acc
+adcl_imp
read_pc_noinc();
- do_adc((m_l & 0x00ff0000) >> 16);
+ do_adc(m_l);
prefetch();
-adcl3_acc
+adcm_imp
read_pc_noinc();
- do_adc((m_l & 0xff000000) >> 24);
+ do_adc(m_m);
prefetch();
-stal0_acc
+staj_imp
read_pc_noinc();
- m_l = (m_l & 0xffffff00) | (A & 0xff); // TODO: flags
+ m_j = A;
prefetch();
-stal1_acc
+stak_imp
read_pc_noinc();
- m_l = (m_l & 0xffff00ff) | ((A & 0xff) << 8); // TODO: flags
+ m_k = A;
prefetch();
-stal2_acc
+stal_imp
read_pc_noinc();
- m_l = (m_l & 0xff00ffff) | ((A & 0xff) << 16); // TODO: flags
+ m_l = A;
prefetch();
-stal3_acc
+stam_imp
read_pc_noinc();
- m_l = (m_l & 0x00ffffff) | ((A & 0xff) << 24); // TODO: flags
+ m_m = A;
prefetch();
-ldal0_acc
+ldaj_imp
read_pc_noinc();
- A = (m_l & 0x000000ff) >> 0; // TODO: flags
+ A = m_j; // TODO: flags
prefetch();
-ldal1_acc
+ldak_imp
read_pc_noinc();
- A = (m_l & 0x0000ff00) >> 8; // TODO: flags
+ A = m_k; // TODO: flags
prefetch();
-ldal2_acc
+ldal_imp
read_pc_noinc();
- A = (m_l & 0x00ff0000) >> 16; // TODO: flags
+ A = m_l; // TODO: flags
prefetch();
-ldal3_acc
+ldam_imp
read_pc_noinc();
- A = (m_l & 0xff000000) >> 24; // TODO: flags
+ A = m_m; // TODO: flags
prefetch();
-cmpl0_acc
+cmpj_imp
read_pc_noinc();
- do_cmp(A, (m_l & 0x000000ff) >> 0);
+ do_cmp(A, m_j);
prefetch();
-cmpl1_acc
+cmpk_imp
read_pc_noinc();
- do_cmp(A, (m_l & 0x0000ff00) >> 8);
+ do_cmp(A, m_k);
prefetch();
-cmpl2_acc
+cmpl_imp
read_pc_noinc();
- do_cmp(A, (m_l & 0x00ff0000) >> 16);
+ do_cmp(A, m_l);
prefetch();
-cmpl3_acc
+cmpm_imp
read_pc_noinc();
- do_cmp(A, (m_l & 0xff000000) >> 24);
+ do_cmp(A, m_m);
prefetch();
-sbcl0_acc
+sbcj_imp
read_pc_noinc();
- do_sbc((m_l & 0x000000ff) >> 0);
+ do_sbc(m_j);
prefetch();
-sbcl1_acc
+sbck_imp
read_pc_noinc();
- do_sbc((m_l & 0x0000ff00) >> 8);
+ do_sbc(m_k);
prefetch();
-sbcl2_acc
+sbcl_imp
read_pc_noinc();
- do_sbc((m_l & 0x00ff0000) >> 16);
+ do_sbc(m_l);
prefetch();
-sbcl3_acc
+sbcm_imp
read_pc_noinc();
- do_sbc((m_l & 0xff000000) >> 24);
+ do_sbc(m_m);
prefetch();
-spa0_acc
+spa0_imp
read_pc_noinc();
- m_pa = (m_pa & 0xffff00) | A; // TODO: Flags?
+ m_pa = (m_pa & 0xffff00) | A;
prefetch();
-lpa0_acc
+lpa0_imp
read_pc_noinc();
A = (m_pa & 0x0000ff) >> 0; // TODO: Flags?
prefetch();
-spa1_acc
+spa1_imp
read_pc_noinc();
- m_pa = (m_pa & 0xff00ff) | (A << 8); // TODO: Flags?
+ m_pa = (m_pa & 0xff00ff) | (A << 8);
prefetch();
-lpa1_acc
+lpa1_imp
read_pc_noinc();
A = (m_pa & 0x00ff00) >> 8; // TODO: Flags?
prefetch();
-spa2_acc
+spa2_imp
read_pc_noinc();
- m_pa = (m_pa & 0x00ffff) | (A << 16); // TODO: Flags?
+ m_pa = (m_pa & 0x00ffff) | (A << 16);
prefetch();
-lpa2_acc
+lpa2_imp
read_pc_noinc();
A = (m_pa & 0xff0000) >> 16; // TODO: Flags?
prefetch();
-spb0_acc
+spb0_imp
read_pc_noinc();
m_pb = (m_pb & 0xffff00) | A; // TODO: Flags?
prefetch();
-lpb0_acc
+lpb0_imp
read_pc_noinc();
A = (m_pb & 0x0000ff) >> 0; // TODO: Flags?
prefetch();
-spb1_acc
+spb1_imp
read_pc_noinc();
m_pb = (m_pb & 0xff00ff) | (A << 8); // TODO: Flags?
prefetch();
-lpb1_acc
+lpb1_imp
read_pc_noinc();
A = (m_pb & 0x00ff00) >> 8; // TODO: Flags?
prefetch();
-spb2_acc
+spb2_imp
read_pc_noinc();
m_pb = (m_pb & 0x00ffff) | (A << 16); // TODO: Flags?
prefetch();
-lpb2_acc
+lpb2_imp
read_pc_noinc();
A = (m_pb & 0xff0000) >> 16; // TODO: Flags?
prefetch();
incpa_imp
read_pc_noinc();
- m_pa++;
+ m_pa = (m_pa & ~0xff) | ((m_pa+1) & 0xff);
set_nz(m_pa&0xff); // startup code seems to require flag to set if low byte is 0x00?
prefetch();
incpb_imp
read_pc_noinc();
- m_pb++;
+ m_pb = (m_pb & ~0xff) | ((m_pb+1) & 0xff);
set_nz(m_pb&0xff); // startup code seems to require flag to set if low byte is 0x00?
prefetch();
decpa_imp
read_pc_noinc();
- m_pa--;
+ m_pa = (m_pa & ~0xff) | ((m_pa-1) & 0xff);
set_nz(m_pa&0xff); // startup code seems to require flag to set if low byte is 0x00?
prefetch();
decpb_imp
read_pc_noinc();
- m_pb--;
+ m_pb = (m_pb & ~0xff) | ((m_pb-1) & 0xff);
set_nz(m_pb&0xff); // startup code seems to require flag to set if low byte is 0x00?
prefetch();
@@ -420,8 +430,9 @@ bit_imm
prefetch();
asr_zpg
- fatalerror("unhandled opcode %02x%04x: %02x\n", m_codebank, PPC, inst_state);
- read_pc_noinc();
+ TMP = read_pc(); // TODO: verify this, should it write back or set A?
+ TMP = read(TMP);
+ do_asr(TMP);
prefetch();
asr_aba