diff --git a/src/common/RewindManager.cxx b/src/common/RewindManager.cxx index e7e15bfd6..ab3f2cd6d 100644 --- a/src/common/RewindManager.cxx +++ b/src/common/RewindManager.cxx @@ -28,8 +28,7 @@ static int count = 1; // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RewindManager::RewindManager(OSystem& system, StateManager& statemgr) : myOSystem(system), - myStateManager(statemgr), - myIsNTSC(true) // TODO + myStateManager(statemgr) { } @@ -186,11 +185,12 @@ string RewindManager::getMessage(RewindState& state) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - string RewindManager::getUnitString(Int64 cycles) { + const uInt64 scanlines = myOSystem.console().tia().scanlinesLastFrame(); + const bool isNTSC = scanlines <= 285; // TODO: replace magic number const uInt64 NTSC_FREQ = 1193182; // ~76*262*60 const uInt64 PAL_FREQ = 1182298; // ~76*312*50 - const uInt64 freq = myIsNTSC ? NTSC_FREQ : PAL_FREQ; // = cycles/second - const uInt64 scanlines = myIsNTSC ? 262 : 312; // TODO: use actual number of scanlines - //const uInt64 fps = myIsNTSC ? 60 : 50; // TODO: use actual FPS + const uInt64 freq = isNTSC ? NTSC_FREQ : PAL_FREQ; // = cycles/second + string unit; Int64 diffUnit; stringstream result; diff --git a/src/common/RewindManager.hxx b/src/common/RewindManager.hxx index 731633dbd..16358746f 100644 --- a/src/common/RewindManager.hxx +++ b/src/common/RewindManager.hxx @@ -97,8 +97,6 @@ class RewindManager // frequent (de)-allocations) Common::LinkedObjectPool myStateList; - bool myIsNTSC; - void compressStates(); string getMessage(RewindState& state);