diff options
Diffstat (limited to 'src/devices/cpu/mips/r4000.cpp')
-rw-r--r-- | src/devices/cpu/mips/r4000.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/devices/cpu/mips/r4000.cpp b/src/devices/cpu/mips/r4000.cpp index f490d7465cc..13f75f47ed5 100644 --- a/src/devices/cpu/mips/r4000.cpp +++ b/src/devices/cpu/mips/r4000.cpp @@ -191,13 +191,18 @@ void r4000_base_device::device_reset() m_pc = s64(s32(0xbfc00000)); m_r[0] = 0; - m_cp0[CP0_Status] = SR_BEV | SR_ERL; + if (m_hard_reset) + m_cp0[CP0_Status] = SR_BEV | SR_ERL; + else + m_cp0[CP0_Status] = SR_BEV | SR_ERL | SR_SR; + m_cp0[CP0_Wired] = 0; m_cp0[CP0_Compare] = 0; m_cp0[CP0_Count] = 0; m_cp0_timer_zero = total_cycles(); + m_hard_reset = false; m_ll_active = false; m_bus_error = false; |