From ace93fb887437f3bb96a72db473bc39ea2ca0c78 Mon Sep 17 00:00:00 2001 From: "Alex W. Jackson" Date: Sat, 26 Oct 2013 12:01:51 +0000 Subject: [PATCH] spc700ds.c: fix disassembly of memory-to-memory and immediate-to-memory instructions [Alex Jackson] --- src/emu/cpu/spc700/spc700ds.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/emu/cpu/spc700/spc700ds.c b/src/emu/cpu/spc700/spc700ds.c index b76498e2af5..a599b8d7c7d 100644 --- a/src/emu/cpu/spc700/spc700ds.c +++ b/src/emu/cpu/spc700/spc700ds.c @@ -360,7 +360,14 @@ CPU_DISASSEMBLE( spc700 ) else if (opcode->name == RET || opcode->name == RETI) flags = DASMFLAG_STEP_OUT; - for(i=0;i<2;i++) + if (opcode->args[0] == DP && (opcode->args[1] == DP || opcode->args[1] == IMM)) + { + int src = read_8_immediate(); + int dst = read_8_immediate(); + sprintf(ptr, "$%02x,%s$%02x", dst, (opcode->args[1] == IMM ? "#" : ""), src); + ptr += strlen(ptr); + } + else for(i=0;i<2;i++) { if(i == 1 && opcode->args[0] != IMP && opcode->args[1] != IMP) {