write_log (_T("MMU restarted MOVEM EA=%08X\n"), mmu040_movem_ea);
#endif
}
- if (currprefs.mmu_model == 68060 || mmu_restart) {
+ if (mmu_restart) {
set_special(SPCFLAG_MMURESTART);
}
}
#if 0
mmu060_state = 2;
#endif
+ set_special(SPCFLAG_MMURESTART);
}
void flush_mmu040 (uaecptr addr, int n)
if (spcflags & SPCFLAG_MMURESTART) {
// can't have interrupt when 040/060 CPU reruns faulted instruction
unset_special(SPCFLAG_MMURESTART);
+
+ if (spcflags & SPCFLAG_TRACE) {
+ do_trace();
+ }
} else {
if (spcflags & SPCFLAG_DOTRACE) {
if (spcflags & SPCFLAG_INT) {
int intr = intlev();
unset_special (SPCFLAG_INT | SPCFLAG_DOINT);
- if (intr > 0 && (intr > regs.intmask || intr == 7))
+ if (intr > regs.intmask || intr == 7)
do_interrupt(intr);
}
}