diff options
author | 2019-04-11 13:59:48 -0600 | |
---|---|---|
committer | 2019-04-11 13:59:48 -0600 | |
commit | e923b26d00ee92a95843b78c4232b84ad8a33e8f (patch) | |
tree | d10df119d568e7f44da789b3d61f5c65176490b2 /src | |
parent | db3712af7c2e7a74abbc91049e015601256bb8c2 (diff) |
(nw) MIPS3: Don't adjust EPC to pc-4 when not backing up
Diffstat (limited to 'src')
-rw-r--r-- | src/devices/cpu/mips/mips3.cpp | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/devices/cpu/mips/mips3.cpp b/src/devices/cpu/mips/mips3.cpp index c9a94f36e1f..c940105d8e3 100644 --- a/src/devices/cpu/mips/mips3.cpp +++ b/src/devices/cpu/mips/mips3.cpp @@ -19,7 +19,6 @@ #define ENABLE_OVERFLOWS (0) #define ENABLE_EE_ELF_LOADER (0) #define ENABLE_EE_DECI2 (0) -#define DELAY_SLOT_EXCEPTION_HACK (0) /*************************************************************************** HELPER MACROS @@ -315,12 +314,8 @@ void mips3_device::generate_exception(int exception, int backup) /* check if exception within another exception */ if (!(SR & SR_EXL)) { - /* if we were in a branch delay slot, adjust */ -#if DELAY_SLOT_EXCEPTION_HACK - if (((m_nextpc != ~0) || (m_delayslot)) && (m_ppc == m_core->pc - 4)) -#else - if ((m_nextpc != ~0) || (m_delayslot)) -#endif + /* if we were in a branch delay slot and we are backing up, adjust */ + if (((m_nextpc != ~0) || (m_delayslot)) && backup) { m_delayslot = false; m_nextpc = ~0; |