core, fix cpu sync regression

This commit is contained in:
kub 2022-10-16 19:27:15 +00:00
parent 043ccbf45f
commit 2c4675a993

View file

@ -118,8 +118,7 @@ static int PicoFrameHints(void)
// === active display ===
pv->status |= PVS_ACTIVE;
lines_vis = (pv->reg[1] & 8) ? 240 : 224;
for (y = 0; y < lines_vis; y++)
for (y = 0; ; y++)
{
pv->v_counter = Pico.m.scanline = y;
if ((pv->reg[12]&6) == 6) { // interlace mode 2
@ -128,6 +127,9 @@ static int PicoFrameHints(void)
pv->v_counter &= 0xff;
}
if (y == (pv->reg[1] & 8 ? 240 : 224))
break;
PAD_DELAY();
// H-Interrupts:
@ -175,6 +177,8 @@ static int PicoFrameHints(void)
#endif
// === VBLANK, 1st line ===
lines_vis = (pv->reg[1] & 8) ? 240 : 224;
if (y == lines_vis)
pv->status &= ~PVS_ACTIVE;
memcpy(PicoIn.padInt, PicoIn.pad, sizeof(PicoIn.padInt));