diff options
author | angelosa <salese_corp_ltd@email.it> | 2016-02-08 23:54:33 +0100 |
---|---|---|
committer | angelosa <salese_corp_ltd@email.it> | 2016-02-08 23:54:57 +0100 |
commit | fb922ca5207795584302a43e74ae4b2d5018b860 (patch) | |
tree | 200a9c3b461c2f2bf2c848e7c549e4d02020edda /src/devices/cpu | |
parent | feba972bc6bbe2b8f7da9577649b8a1bc13245e4 (diff) |
Added opcode $b2, Night Gal Summer shows some garbage now
Diffstat (limited to 'src/devices/cpu')
-rw-r--r-- | src/devices/cpu/m6800/6800ops.inc | 13 | ||||
-rw-r--r-- | src/devices/cpu/m6800/6800tbl.inc | 2 | ||||
-rw-r--r-- | src/devices/cpu/m6800/m6800.h | 1 |
3 files changed, 14 insertions, 2 deletions
diff --git a/src/devices/cpu/m6800/6800ops.inc b/src/devices/cpu/m6800/6800ops.inc index 6dc59863f09..c0147b6acee 100644 --- a/src/devices/cpu/m6800/6800ops.inc +++ b/src/devices/cpu/m6800/6800ops.inc @@ -2284,7 +2284,7 @@ OP_HANDLER( stx_ex ) WM16(EAD,&m_x); } -/* NCS specific, guessed opcodes (tested by Night Gal Summer) */ +/* NSC8105 specific, guessed opcodes (tested by Night Gal Summer) */ // $bb - load A from [X + $0] OP_HANDLER( ldax_imm ) { @@ -2294,6 +2294,17 @@ OP_HANDLER( ldax_imm ) SET_NZ8(A); } +// $b2 - assuming correct, store first byte to (X + $disp8) +OP_HANDLER( nsc_unk ) +{ + IMM8; + UINT8 val = RM(EAD); + IMM8; + EA = X + RM(EAD); + + WM(EAD,val); +} + // $00 - store A to [X + $0] OP_HANDLER( stax_imm ) { diff --git a/src/devices/cpu/m6800/6800tbl.inc b/src/devices/cpu/m6800/6800tbl.inc index c830f9ebe75..266ddb2a55c 100644 --- a/src/devices/cpu/m6800/6800tbl.inc +++ b/src/devices/cpu/m6800/6800tbl.inc @@ -150,7 +150,7 @@ const m6800_cpu_device::op_func m6800_cpu_device::nsc8105_insn[0x100] = { // a8 &m6800_cpu_device::asl_ix, &m6800_cpu_device::dec_ix, &m6800_cpu_device::rol_ix, &m6800_cpu_device::illegal,&m6800_cpu_device::inc_ix, &m6800_cpu_device::jmp_ix, &m6800_cpu_device::tst_ix, &m6800_cpu_device::clr_ix, // b0 -&m6800_cpu_device::neg_ex, &m6800_cpu_device::illegal,&m6800_cpu_device::illegal,&m6800_cpu_device::com_ex, &m6800_cpu_device::lsr_ex, &m6800_cpu_device::ror_ex, &m6800_cpu_device::illegal,&m6800_cpu_device::asr_ex, +&m6800_cpu_device::neg_ex, &m6800_cpu_device::illegal,&m6800_cpu_device::nsc_unk,&m6800_cpu_device::com_ex, &m6800_cpu_device::lsr_ex, &m6800_cpu_device::ror_ex, &m6800_cpu_device::illegal,&m6800_cpu_device::asr_ex, // b8 &m6800_cpu_device::asl_ex, &m6800_cpu_device::dec_ex, &m6800_cpu_device::rol_ex, &m6800_cpu_device::ldax_imm,&m6800_cpu_device::inc_ex, &m6800_cpu_device::jmp_ex, &m6800_cpu_device::tst_ex, &m6800_cpu_device::clr_ex, &m6800_cpu_device::subb_im,&m6800_cpu_device::sbcb_im,&m6800_cpu_device::cmpb_im,&m6800_cpu_device::illegal,&m6800_cpu_device::andb_im,&m6800_cpu_device::ldb_im, &m6800_cpu_device::bitb_im,&m6800_cpu_device::stb_im, diff --git a/src/devices/cpu/m6800/m6800.h b/src/devices/cpu/m6800/m6800.h index a096bd922cd..6ddffe64242 100644 --- a/src/devices/cpu/m6800/m6800.h +++ b/src/devices/cpu/m6800/m6800.h @@ -428,6 +428,7 @@ protected: void trap(); void ldax_imm(); void stax_imm(); + void nsc_unk(); }; |