From 68e43eeb6bb5bd14c1762b5af3463c923a7251b9 Mon Sep 17 00:00:00 2001 From: mjbudd77 Date: Sun, 30 May 2021 11:07:09 -0400 Subject: [PATCH] Bug fix for NTSC 2x and PAL special scalers with 8px side clipping active. --- src/drivers/Qt/sdl-video.cpp | 6 ++++-- src/drivers/common/vidblit.cpp | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/drivers/Qt/sdl-video.cpp b/src/drivers/Qt/sdl-video.cpp index 610b5813..0bf667e7 100644 --- a/src/drivers/Qt/sdl-video.cpp +++ b/src/drivers/Qt/sdl-video.cpp @@ -437,7 +437,7 @@ void BlitScreen(uint8 *XBuf) { uint8 *dest; - int w, h, pitch, ixScale, iyScale; + int w, h, pitch, bw, ixScale, iyScale; // refresh the palette if required if (s_paletterefresh) @@ -456,10 +456,12 @@ BlitScreen(uint8 *XBuf) if ( s_sponge == 3 ) { w = ixScale*301; + bw = 256; } else { w = ixScale*NWIDTH; + bw = NWIDTH; } if ( s_sponge == 9 ) { @@ -484,7 +486,7 @@ BlitScreen(uint8 *XBuf) } else { - Blit8ToHigh(XBuf + NOFFSET, dest, NWIDTH, s_tlines, pitch, ixScale, iyScale); + Blit8ToHigh(XBuf + NOFFSET, dest, bw, s_tlines, pitch, ixScale, iyScale); } nes_shm->blitUpdated = 1; diff --git a/src/drivers/common/vidblit.cpp b/src/drivers/common/vidblit.cpp index 365ceaff..9aa64486 100644 --- a/src/drivers/common/vidblit.cpp +++ b/src/drivers/common/vidblit.cpp @@ -792,6 +792,7 @@ void Blit8ToHigh(uint8 *src, uint8 *dest, int xr, int yr, int pitch, int xscale, lastindex = index; } } + src += (256-xr); } }