musashi: don't generate unneeded handlers
[picodrive.git] / pico / sek.c
index 8dd7729..4525c7c 100644 (file)
@@ -90,8 +90,14 @@ static int SekTasCallback(void)
 #ifdef EMU_F68K\r
 static void SekIntAckF68K(unsigned level)\r
 {\r
-  if     (level == 4) { Pico.video.pending_ints  =  0;    elprintf(EL_INTS, "hack: @ %06x [%i]", SekPc, SekCycleCnt); }\r
-  else if(level == 6) { Pico.video.pending_ints &= ~0x20; elprintf(EL_INTS, "vack: @ %06x [%i]", SekPc, SekCycleCnt); }\r
+  if     (level == 4) {\r
+    Pico.video.pending_ints = 0;\r
+    elprintf(EL_INTS, "hack: @ %06x [%i]", SekPc, SekCyclesDone());\r
+  }\r
+  else if(level == 6) {\r
+    Pico.video.pending_ints &= ~0x20;\r
+    elprintf(EL_INTS, "vack: @ %06x [%i]", SekPc, SekCyclesDone());\r
+  }\r
   PicoCpuFM68k.interrupts[0] = 0;\r
 }\r
 #endif\r
@@ -170,7 +176,7 @@ void SekStepM68k(void)
 #elif defined(EMU_M68K)\r
   SekCycleCnt+=m68k_execute(1);\r
 #elif defined(EMU_F68K)\r
-  SekCycleCnt+=fm68k_emulate(1, 0, 0);\r
+  SekCycleCnt+=fm68k_emulate(1, 0);\r
 #endif\r
 }\r
 \r
@@ -311,7 +317,7 @@ void SekInitIdleDet(void)
   CycloneInitIdle();\r
 #endif\r
 #ifdef EMU_F68K\r
-  fm68k_emulate(0, 0, 1);\r
+  fm68k_emulate(0, 1);\r
 #endif\r
 }\r
 \r
@@ -419,7 +425,7 @@ void SekFinishIdleDet(void)
   CycloneFinishIdle();\r
 #endif\r
 #ifdef EMU_F68K\r
-  fm68k_emulate(0, 0, 2);\r
+  fm68k_emulate(0, 2);\r
 #endif\r
   while (idledet_count > 0)\r
   {\r
@@ -543,6 +549,7 @@ breakloop:
                        printf("D%d: %08x  A%d: %08x\n", i, x68k->dar[i],\r
         i, x68k->dar[i + 8]);\r
                printf("PC: %08x, %08x\n", x68k->pc, x68k->pc_prev);\r
+               printf("SR: %04x\n", x68k->sr);\r
 \r
     PDebugDumpMem();\r
     exit(1);\r