diff options
Diffstat (limited to 'src/devices/cpu/mips/mips1.cpp')
-rw-r--r-- | src/devices/cpu/mips/mips1.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/devices/cpu/mips/mips1.cpp b/src/devices/cpu/mips/mips1.cpp index a2a4f94ef06..8483d1d8b2c 100644 --- a/src/devices/cpu/mips/mips1.cpp +++ b/src/devices/cpu/mips/mips1.cpp @@ -284,7 +284,7 @@ void mips1core_device_base::generate_exception(int exception) m_cpr[0][COP0_EPC] -= 4; CAUSE |= 0x80000000; } - m_branch_state = NONE; + m_branch_state = EXCEPTION; // shift the exception bits SR = (SR & 0xffffffc0) | ((SR << 2) & 0x3c); @@ -789,6 +789,10 @@ void mips1core_device_base::execute_run() m_branch_state = DELAY; m_pc += 4; break; + + case EXCEPTION: + m_branch_state = NONE; + break; } }); m_icount--; |