From 016aeb91962d8145ba6a0eecfaa3568964112815 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Mon, 24 Jan 2022 20:34:12 +0200 Subject: [PATCH] 68020/030 CE delayed interrupt fix --- newcpu.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/newcpu.cpp b/newcpu.cpp index 64244802..8afe100c 100644 --- a/newcpu.cpp +++ b/newcpu.cpp @@ -4848,6 +4848,7 @@ static void m68k_run_1_ce (void) } r->instruction_pc = m68k_getpc (); + (*cpufunctbl[r->opcode])(r->opcode); if (!regs.loop_mode) regs.ird = regs.opcode; @@ -5666,13 +5667,12 @@ insretry: } else { regs.instruction_cnt++; + regs.ipl = regs.ipl_pin; if (regs.spcflags || time_for_interrupt ()) { if (do_specialties (0)) return; } - regs.ipl = regs.ipl_pin; - } } @@ -5923,21 +5923,21 @@ static void m68k_run_2ce (void) regs.instruction_cnt++; cont: + regs.ipl = regs.ipl_pin; if (r->spcflags || time_for_interrupt ()) { if (do_specialties (0)) exit = true; } - regs.ipl = regs.ipl_pin; } } CATCH(prb) { bus_error(); + regs.ipl = regs.ipl_pin; if (r->spcflags || time_for_interrupt()) { if (do_specialties(0)) exit = true; } - regs.ipl = regs.ipl_pin; } ENDTRY } } -- 2.47.3