diff options
Diffstat (limited to 'src/devices/cpu/sparc/mb86901.cpp')
-rw-r--r-- | src/devices/cpu/sparc/mb86901.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/devices/cpu/sparc/mb86901.cpp b/src/devices/cpu/sparc/mb86901.cpp index ee08106e260..8ed13db2778 100644 --- a/src/devices/cpu/sparc/mb86901.cpp +++ b/src/devices/cpu/sparc/mb86901.cpp @@ -641,6 +641,10 @@ void mb86901_device::execute_set_input(int inputnum, int state) case SPARC_MAE: m_mae = (state != 0) ? 1 : 0; break; + + case SPARC_RESET: + m_bp_reset_in = (state != 0) ? 1 : 0; + break; } } @@ -2558,7 +2562,6 @@ void mb86901_device::select_trap() if (m_reset_trap) { - m_reset_trap = 0; m_trap = 0; return; } @@ -2958,7 +2961,9 @@ void mb86901_device::execute_step() if (m_bp_reset_in) { m_execute_mode = 0; + m_error_mode = 0; m_reset_mode = 1; + printf("Entering reset mode\n"); return; } else if ((PSR & PSR_ET_MASK) && (m_bp_irl == 15 || m_bp_irl > ((PSR & PSR_PIL_MASK) >> PSR_PIL_SHIFT))) @@ -3045,6 +3050,7 @@ void mb86901_device::reset_step() m_execute_mode = 1; m_trap = 1; m_reset_trap = 1; + printf("m_bp_reset_in is false, resetting\n"); } } |