diff --git a/src/emu/cpu/m68000/m68kcpu.c b/src/emu/cpu/m68000/m68kcpu.c index 7aef783a16f..36e9297d7db 100644 --- a/src/emu/cpu/m68000/m68kcpu.c +++ b/src/emu/cpu/m68000/m68kcpu.c @@ -823,15 +823,14 @@ static CPU_EXECUTE( m68k ) if (!m68k->pmmu_enabled) { - m68k->run_mode = RUN_MODE_NORMAL; /* Read an instruction and call its handler */ m68k->ir = m68ki_read_imm_16(m68k); + m68k->run_mode = RUN_MODE_NORMAL; m68k->jump_table[m68k->ir](m68k); m68k->remaining_cycles -= m68k->cyc_instruction[m68k->ir]; } else { - m68k->run_mode = RUN_MODE_NORMAL; // save CPU address registers values at start of instruction int i; UINT32 tmp_dar[16]; @@ -845,6 +844,7 @@ static CPU_EXECUTE( m68k ) /* Read an instruction and call its handler */ m68k->ir = m68ki_read_imm_16(m68k); + m68k->run_mode = RUN_MODE_NORMAL; if (!m68k->mmu_tmp_buserror_occurred) { @@ -895,6 +895,7 @@ static CPU_EXECUTE( m68k ) } } + /* Trace m68k_exception, if necessary */ m68ki_exception_if_trace(m68k); /* auto-disable (see m68kcpu.h) */ } while (m68k->remaining_cycles > 0);