// did we have trace also active?
if (SPCFLAG_DOTRACE) {
- if ((regs.t1 || regs.t0) && (test_exception == 5 || test_exception == 6 || test_exception == 7 || (test_exception >= 32 && test_exception <= 47))) {
+ if ((regs.t1 || regs.t0) && (test_exception == 5 || test_exception == 6 || test_exception == 7 || (test_exception >= 32 && test_exception <= 47) || (cpu_lvl == 1 && test_exception == 14))) {
test_exception_extra = 9;
} else {
test_exception_extra = 0;
*/
if (nr == 5 || nr == 6 || nr == 7 || (nr >= 32 && nr <= 47))
set_special (SPCFLAG_DOTRACE);
+ // 68010 and RTE format error: trace is not cleared
+ if (nr == 14 && currprefs.cpu_model == 68010)
+ set_special(SPCFLAG_DOTRACE);
+
}
regs.t1 = regs.t0 = 0;
}