summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2015-06-17 23:08:09 +0200
committer hap <happppp@users.noreply.github.com>2015-06-17 23:08:09 +0200
commited908b8fcce3f0e9bd02bf981f2b046b3ca3b2e6 (patch)
tree23f2f4759acd6aaf71e8ba486f77502e3c5938ac
parent3f9b69b063ed0ff398c0aabfe947b0579c09bad0 (diff)
fix skip on la/lxy
-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;