X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2Fpico_cmn.c;fp=pico%2Fpico_cmn.c;h=509c87757e028a03539468ecd1fb1b4280a79453;hb=22814963ccbcba3a08ca49656fd80dc40de64710;hp=a4507577a1116deff1dce275059baa578123c985;hpb=e015ad3c1b8430b6c217c5cd3384f95389878e1a;p=picodrive.git diff --git a/pico/pico_cmn.c b/pico/pico_cmn.c index a450757..509c877 100644 --- a/pico/pico_cmn.c +++ b/pico/pico_cmn.c @@ -7,7 +7,7 @@ */ #define CYCLES_M68K_LINE 488 // suitable for both PAL/NTSC -#define CYCLES_M68K_VINT_LAG 68 +#define CYCLES_M68K_VINT_LAG 112 // pad delay (for 6 button pads) #define PAD_DELAY() { \ @@ -206,7 +206,6 @@ static int PicoFrameHints(void) } pv->status |= SR_VB; // go into vblank - pv->pending_ints |= 0x20; // the following SekRun is there for several reasons: // there must be a delay after vblank bit is set and irq is asserted (Mazin Saga) @@ -216,7 +215,10 @@ static int PicoFrameHints(void) do_timing_hacks_vb(); CPUS_RUN(CYCLES_M68K_VINT_LAG); + pv->pending_ints |= 0x20; if (pv->reg[1] & 0x20) { + Pico.t.m68c_aim = Pico.t.m68c_cnt + 11; // HACK + SekSyncM68k(); elprintf(EL_INTS, "vint: @ %06x [%u]", SekPc, SekCyclesDone()); SekInterrupt(6); }