megadrive, fix dma stun during vbl (fixes outrunners)

This commit is contained in:
dinkc64 2025-07-05 08:54:49 -04:00
parent 82bd127b13
commit 6b373ee02f
1 changed files with 4 additions and 3 deletions

View File

@ -5011,7 +5011,8 @@ INT32 MegadriveFrame()
RamVReg->pending_ints |= 0x10;
if (RamVReg->reg[0] & 0x10) {
//bprintf(0, _T("h-int @ %d. "), SekCyclesDoneFrame());
SekSetIRQLine(4, CPU_IRQSTATUS_ACK);
//SekSetIRQLine(4, CPU_IRQSTATUS_ACK);
if (SekGetIRQLevel() < 4) SekSetIRQLine(4, CPU_IRQSTATUS_ACK);
}
}
@ -5031,7 +5032,7 @@ INT32 MegadriveFrame()
SekCyclesBurn(DMABURN());
#endif
#endif
SekCyclesBurnRun(CheckDMA());
SekCyclesBurn(CheckDMA());
SekRunM68k(CYCLES_M68K_VINT_LAG);
@ -5079,7 +5080,7 @@ INT32 MegadriveFrame()
if (y < lines_vis) {
do_timing_hacks_as(vdp_slots);
} else {
SekCyclesBurnRun(CheckDMA());
SekCyclesBurn(CheckDMA());
}
SekRunM68k(CYCLES_M68K_LINE);
}