From a96d2c5b83d8321e7d548af68561095fce182f38 Mon Sep 17 00:00:00 2001 From: Barry Harris <44396066+barry65536@users.noreply.github.com> Date: Fri, 1 Aug 2014 21:13:51 +0000 Subject: [PATCH] Megadrive Timing Improvements --- src/burn/drv/megadrive/megadrive.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/burn/drv/megadrive/megadrive.cpp b/src/burn/drv/megadrive/megadrive.cpp index 3c2cdd4a0..9921f946f 100644 --- a/src/burn/drv/megadrive/megadrive.cpp +++ b/src/burn/drv/megadrive/megadrive.cpp @@ -4175,7 +4175,7 @@ INT32 MegadriveFrame() // there must be a gap between H and V ints, also after vblank bit set (Mazin Saga, Bram Stoker's Dracula) SekOpen(0); // done_68k+=SekRun(128); - BurnTimerUpdate((y * cycles_68k) + 128 - cycles_68k); + BurnTimerUpdate(((y + 1) * cycles_68k) + 128); SekClose(); RamVReg->pending_ints |= 0x20; @@ -4192,12 +4192,12 @@ INT32 MegadriveFrame() // Run scanline SekOpen(0); - BurnTimerUpdate(y * cycles_68k); + BurnTimerUpdate((y + 1) * cycles_68k); SekClose(); if (Z80HasBus && !MegadriveZ80Reset) { ZetOpen(0); - done_z80 += ZetRun(cycles_z80); + done_z80 += ZetRun(((y + 1) * cycles_z80) - done_z80); if (y == line_sample) ZetSetIRQLine(0, ZET_IRQSTATUS_ACK); if (y == line_sample + 1) ZetSetIRQLine(0, ZET_IRQSTATUS_NONE); ZetClose();