fix for VINT while DMA is running
authorkub <derkub@gmail.com>
Thu, 27 Feb 2020 20:19:37 +0000 (21:19 +0100)
committerkub <derkub@gmail.com>
Thu, 27 Feb 2020 20:19:37 +0000 (21:19 +0100)
pico/pico_cmn.c

index 7538984..50a632c 100644 (file)
@@ -191,7 +191,8 @@ static int PicoFrameHints(void)
   pv->status |= SR_F;
   pv->pending_ints |= 0x20;
   if (pv->reg[1] & 0x20) {
-    SekExecM68k(11); // HACK
+    if (Pico.t.m68c_cnt - Pico.t.m68c_aim < 60) // CPU blocked?
+      SekExecM68k(11); // HACK
     elprintf(EL_INTS, "vint: @ %06x [%u]", SekPc, SekCyclesDone());
     SekInterrupt(6);
   }