summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu
diff options
context:
space:
mode:
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
commitfb922ca5207795584302a43e74ae4b2d5018b860 (patch)
tree200a9c3b461c2f2bf2c848e7c549e4d02020edda /src/devices/cpu
parentfeba972bc6bbe2b8f7da9577649b8a1bc13245e4 (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.inc13
-rw-r--r--src/devices/cpu/m6800/6800tbl.inc2
-rw-r--r--src/devices/cpu/m6800/m6800.h1
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();
};