From 0ac424359b12e66165d43a841a231943f9e78385 Mon Sep 17 00:00:00 2001 From: Brandon Wright Date: Sat, 25 Nov 2017 12:26:23 -0600 Subject: [PATCH] Reset GFX.InterlaceFrame on PPU reset. --- ppu.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ppu.cpp b/ppu.cpp index ed457b2d..f54b4132 100644 --- a/ppu.cpp +++ b/ppu.cpp @@ -1340,7 +1340,7 @@ uint8 S9xGetPPU (uint16 Address) else if (Settings.BS && Address >= 0x2188 && Address <= 0x219f) return (S9xGetBSXPPU(Address)); - else + else if (Settings.SRTC && Address == 0x2800) return (S9xGetSRTC(Address)); else @@ -1935,7 +1935,7 @@ void S9xSoftResetPPU (void) PPU.BGMosaic[1] = FALSE; PPU.BGMosaic[2] = FALSE; PPU.BGMosaic[3] = FALSE; - + PPU.Window1Left = 1; PPU.Window1Right = 0; PPU.Window2Left = 1; @@ -1982,6 +1982,7 @@ void S9xSoftResetPPU (void) memset(IPPU.TileCached[TILE_4BIT_EVEN], 0, MAX_4BIT_TILES); memset(IPPU.TileCached[TILE_4BIT_ODD], 0, MAX_4BIT_TILES); IPPU.VRAMReadBuffer = 0; // XXX: FIXME: anything better? + GFX.InterlaceFrame = 0; IPPU.Interlace = FALSE; IPPU.InterlaceOBJ = FALSE; IPPU.DoubleWidthPixels = FALSE;