From 2755caaf0faaf725549d83b0d777a77c62bffa6b Mon Sep 17 00:00:00 2001 From: thrust26 Date: Wed, 12 Jun 2024 09:48:53 +0200 Subject: [PATCH] fixed underflow in FrameLayoutDetector --- src/emucore/tia/frame-manager/FrameLayoutDetector.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/emucore/tia/frame-manager/FrameLayoutDetector.cxx b/src/emucore/tia/frame-manager/FrameLayoutDetector.cxx index 5ae3be83b..6cbfb7c7d 100644 --- a/src/emucore/tia/frame-manager/FrameLayoutDetector.cxx +++ b/src/emucore/tia/frame-manager/FrameLayoutDetector.cxx @@ -244,8 +244,9 @@ void FrameLayoutDetector::finalizeFrame() // 1.0 (>=312) and added to PAL and (inverted) NTSC sums. constexpr double ODD_PENALTY = 0.5; // guessed value :) const double palFrame = BSPF::clamp(((myCurrentFrameFinalLines % 2) ? ODD_PENALTY : 1.0) - * static_cast(myCurrentFrameFinalLines - frameLinesNTSC) + * (static_cast(myCurrentFrameFinalLines) - static_cast(frameLinesNTSC)) / static_cast(frameLinesPAL - frameLinesNTSC), 0.0, 1.0); + myPalFrameSum += palFrame; myNtscFrameSum += 1.0 - palFrame; //cerr << myCurrentFrameFinalLines << ", " << palFrame << ", " << myPalFrameSum << ", " << myNtscFrameSum << '\n';