r4000: identify soft reset (nw)

This commit is contained in:
Patrick Mackinlay 2020-01-23 12:35:09 +07:00
parent daba4e7ca7
commit be36db02dd
2 changed files with 7 additions and 1 deletions

View File

@ -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;

View File

@ -402,6 +402,7 @@ protected:
u64 m_cp0[32];
u64 m_cp0_timer_zero;
emu_timer *m_cp0_timer;
bool m_hard_reset = true;
bool m_ll_active;
bool m_bus_error;
struct tlb_entry