diff options
Diffstat (limited to 'src/emu/cpu')
-rw-r--r-- | src/emu/cpu/melps4/melps4.c | 3 | ||||
-rw-r--r-- | src/emu/cpu/melps4/melps4op.inc | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/emu/cpu/melps4/melps4.c b/src/emu/cpu/melps4/melps4.c index 686b49d396a..5b58d73bb55 100644 --- a/src/emu/cpu/melps4/melps4.c +++ b/src/emu/cpu/melps4/melps4.c @@ -431,7 +431,10 @@ void melps4_cpu_device::execute_run() { // if it's a long jump, skip next one as well if (m_op != m_ba_op && (m_op & ~0xf) != m_sp_mask) + { m_skip = false; + m_op = 0; // fake nop + } } else execute_one(); diff --git a/src/emu/cpu/melps4/melps4op.inc b/src/emu/cpu/melps4/melps4op.inc index 4d57c075905..382ecb1489b 100644 --- a/src/emu/cpu/melps4/melps4op.inc +++ b/src/emu/cpu/melps4/melps4op.inc @@ -176,14 +176,14 @@ void melps4_cpu_device::op_xam() void melps4_cpu_device::op_xamd() { - // XAMD j: XAM J, DEY + // XAMD j: XAM j, DEY op_xam(); op_dey(); } void melps4_cpu_device::op_xami() { - // XAMI j: XAM J, skip next on Y mask(default 0xf), increment Y + // XAMI j: XAM j, skip next on Y mask(default 0xf), increment Y op_xam(); m_skip = ((m_y & m_xami_mask) == m_xami_mask); m_y = (m_y + 1) & 0xf; |