diff --git a/src/emucore/tia/TIA.cxx b/src/emucore/tia/TIA.cxx index c8bffee9f..2668a0010 100644 --- a/src/emucore/tia/TIA.cxx +++ b/src/emucore/tia/TIA.cxx @@ -1116,7 +1116,7 @@ void TIA::onFrameStart() { // Only activate it when necessary, since changing colours in // the graphical object forces the TIA cached line to be flushed - if (myFrameManager->scanlineCountTransitioned()) + if (myFrameManager->scanlineParityChanged()) { myColorLossActive = myFrameManager->scanlinesLastFrame() & 0x1; diff --git a/src/emucore/tia/frame-manager/AbstractFrameManager.hxx b/src/emucore/tia/frame-manager/AbstractFrameManager.hxx index ccb655ab6..9e3b17232 100644 --- a/src/emucore/tia/frame-manager/AbstractFrameManager.hxx +++ b/src/emucore/tia/frame-manager/AbstractFrameManager.hxx @@ -92,10 +92,8 @@ class AbstractFrameManager : public Serializable /** * Did the number of scanlines switch between even / odd (used for color loss * emulation). - * - * TODO: Crappy name, find something better. */ - bool scanlineCountTransitioned() const { + bool scanlineParityChanged() const { return (myPreviousFrameFinalLines & 0x1) != (myCurrentFrameFinalLines & 0x1); } diff --git a/src/emucore/tia/frame-manager/FrameManager.cxx b/src/emucore/tia/frame-manager/FrameManager.cxx index 283b6e7d1..56cd24145 100644 --- a/src/emucore/tia/frame-manager/FrameManager.cxx +++ b/src/emucore/tia/frame-manager/FrameManager.cxx @@ -29,7 +29,7 @@ enum Metrics: uInt32 { overscanNTSC = 30, overscanPAL = 36, vsync = 3, - maxLinesVsync = 32, + maxLinesVsync = 50, visibleOverscan = 20, tvModeDetectionTolerance = 20, initialGarbageFrames = TIAConstants::initialGarbageFrames,