From 0c261fca16cb75325516892b5f1e5aabb415005c Mon Sep 17 00:00:00 2001 From: Peter Ferrie Date: Thu, 9 Mar 2017 14:32:27 -0800 Subject: arm7ops.cpp: repair broken ARM [Peter Ferrie] sorry, I couldn't resist. --- src/devices/cpu/arm7/arm7ops.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/devices/cpu/arm7/arm7ops.cpp b/src/devices/cpu/arm7/arm7ops.cpp index f93b5c4473a..ea10a36be4d 100644 --- a/src/devices/cpu/arm7/arm7ops.cpp +++ b/src/devices/cpu/arm7/arm7ops.cpp @@ -1549,15 +1549,18 @@ void arm7_cpu_device::arm9ops_1(uint32_t insn) { // unsupported (armv6 onwards only) arm9ops_undef(insn); + R15 += 4; } else if ((insn & 0x00ff00f0) == 0x00010000) /* set endianness (SETEND) */ { // unsupported (armv6 onwards only) arm9ops_undef(insn); + R15 += 4; } else { arm9ops_undef(insn); + R15 += 4; } } @@ -1568,10 +1571,12 @@ void arm7_cpu_device::arm9ops_57(uint32_t insn) { // unsupported (armv6 onwards only) arm9ops_undef(insn); + R15 += 4; } else { arm9ops_undef(insn); + R15 += 4; } } @@ -1582,15 +1587,18 @@ void arm7_cpu_device::arm9ops_89(uint32_t insn) { // unsupported (armv6 onwards only) arm9ops_undef(insn); + R15 += 4; } else if ((insn & 0x00500f00) == 0x00100a00) /* Return From Exception (RFE) */ { // unsupported (armv6 onwards only) arm9ops_undef(insn); + R15 += 4; } else { arm9ops_undef(insn); + R15 += 4; } } @@ -1608,10 +1616,12 @@ void arm7_cpu_device::arm9ops_c(uint32_t insn) { // unsupported arm9ops_undef(insn); + R15 += 4; } else { arm9ops_undef(insn); + R15 += 4; } } @@ -1620,6 +1630,7 @@ void arm7_cpu_device::arm9ops_e(uint32_t insn) /* Additional coprocessor register transfer */ // unsupported arm9ops_undef(insn); + R15 += 4; } -- cgit v1.2.3