diff options
Diffstat (limited to 'src/devices/cpu/m68000/m68kcpu.cpp')
-rw-r--r-- | src/devices/cpu/m68000/m68kcpu.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/devices/cpu/m68000/m68kcpu.cpp b/src/devices/cpu/m68000/m68kcpu.cpp index d11eab56958..f7a162ccde0 100644 --- a/src/devices/cpu/m68000/m68kcpu.cpp +++ b/src/devices/cpu/m68000/m68kcpu.cpp @@ -670,7 +670,7 @@ void m68000_base_device::postload() void m68000_base_device::m68k_cause_bus_error() { // Halt the cpu on berr when writing the stack frame. - if (m_run_mode == RUN_MODE_BERR_AERR_RESET) + if (m_run_mode == RUN_MODE_BERR_AERR_RESET_WSF) { m_stopped = STOP_LEVEL_HALT; return; @@ -678,7 +678,7 @@ void m68000_base_device::m68k_cause_bus_error() uint32_t sr = m68ki_init_exception(); - m_run_mode = RUN_MODE_BERR_AERR_RESET; + m_run_mode = RUN_MODE_BERR_AERR_RESET_WSF; if (!CPU_TYPE_IS_010_PLUS()) { @@ -700,6 +700,7 @@ void m68000_base_device::m68k_cause_bus_error() } m68ki_jump_vector(EXCEPTION_BUS_ERROR); + m_run_mode = RUN_MODE_BERR_AERR_RESET; } bool m68000_base_device::memory_translate(int space, int intention, offs_t &address) |