summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/cpu')
-rw-r--r--src/emu/cpu/melps4/melps4.c3
-rw-r--r--src/emu/cpu/melps4/melps4op.inc4
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;