From: Toni Wilen Date: Sat, 3 Dec 2022 12:20:30 +0000 (+0200) Subject: JIT interrupt handling reverted to previous version. JIT requires it for best perform... X-Git-Tag: 41000~33 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=f58dc0463f71283b86f255141cbbe7178fadb5d4;p=francis%2Fwinuae.git JIT interrupt handling reverted to previous version. JIT requires it for best performance. --- diff --git a/newcpu.cpp b/newcpu.cpp index 7f5e0c45..db274878 100644 --- a/newcpu.cpp +++ b/newcpu.cpp @@ -2398,8 +2398,11 @@ static void MakeFromSR_x(int t0trace) regs.ipl[0] = 0; } } else { - if (regs.ipl_pin <= regs.intmask && regs.ipl_pin > newimask) { - set_special(SPCFLAG_INT); + if (!currprefs.cachesize && regs.ipl_pin <= regs.intmask && regs.ipl_pin > newimask) { + if (currprefs.cpu_compatible && currprefs.cpu_model < 68020) + set_special(SPCFLAG_INT); + else + set_special(SPCFLAG_DOINT); } } regs.intmask = newimask; @@ -4511,13 +4514,15 @@ void doint(void) update_ipl(ipl); } + if (m68k_interrupt_delay) { if (!m68k_accurate_ipl && regs.ipl_pin > regs.intmask) { set_special(SPCFLAG_INT); } return; } - if (regs.ipl_pin > regs.intmask) { + + if (regs.ipl_pin > regs.intmask || currprefs.cachesize) { if (currprefs.cpu_compatible && currprefs.cpu_model < 68020) set_special(SPCFLAG_INT); else @@ -6043,6 +6048,7 @@ static void m68k_run_2ce (void) wait_memory_cycles(); regs.instruction_cnt++; + regs.ce020extracycles++; cont: if (r->spcflags || regs.ipl[0] > 0) {