diff --git a/Changes.txt b/Changes.txt index 557157f25..616ec22f7 100644 --- a/Changes.txt +++ b/Changes.txt @@ -37,6 +37,8 @@ * Added separate positioning of launcher, emulator and debugger + * Added optional display to game refresh rate adaption in fullscreen mode + * Added option which lets default ROM path follow launcher navigation * Added debugger 'saveaccess' function, which saves memory access counts to diff --git a/docs/graphics/options_video.png b/docs/graphics/options_video.png index deb857ca4..58654148a 100644 Binary files a/docs/graphics/options_video.png and b/docs/graphics/options_video.png differ diff --git a/docs/index.html b/docs/index.html index 3bf9ee26a..85ddf5b74 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2218,6 +2218,12 @@ aspect ratio. + +
-tia.fs_refresh <1|0>
+ While in fullscreen mode, adapt the display's refresh rate to the game's frame rate + to minimize judder. + +
-tia.fs_overscan <0 - 10>
Add overscan to TIA image while in fullscreen mode @@ -2943,13 +2949,14 @@ - - + + - + + - +
ItemBrief descriptionFor more information,
see CommandLine
RendererUse specified rendering mode-video
InterpolationInterpolation of TIA image-tia.inter
ZoomZoom level of TIA image-tia.zoom
InterpolationEnable interpolation of the TIA image-tia.inter
ZoomZoom level of the TIA image-tia.zoom
FullscreenSelf-explanatory - Note that colors may slightly change. This depends on the OS and renderer used.-fullscreen
StretchIn fullscreen mode, completely fill screen with TIA image-tia.fs_stretch
StretchIn fullscreen mode, completely fill screen with the TIA image.-tia.fs_stretch
Adapt display...In fullscreen mode, adapt the display's refresh rate to the game's frame rate to minimize judder.-tia.fs_refresh
OverscanIn fullscreen mode, add overscan to the TIA image-tia.fs_overscan
V-Size adjustAdjust height of TIA image-tia.vsizeadjust
V-Size adjustAdjust height of the TIA image-tia.vsizeadjust
diff --git a/src/common/FrameBufferSDL2.cxx b/src/common/FrameBufferSDL2.cxx index 9bb0dae57..612000943 100644 --- a/src/common/FrameBufferSDL2.cxx +++ b/src/common/FrameBufferSDL2.cxx @@ -393,7 +393,6 @@ bool FrameBufferSDL2::adaptRefreshRate(Int32 displayIndex, SDL_DisplayMode& adap Logger::error("ERROR: Closest display mode could not be retrieved"); return adapt; } - factor = float(closestSdlMode.refresh_rate) / sdlMode.refresh_rate; factor = std::min(float(sdlMode.refresh_rate) / sdlMode.refresh_rate, float(sdlMode.refresh_rate) / (sdlMode.refresh_rate - 1)); const float diff = std::abs(factor - std::round(factor)) / factor; @@ -404,12 +403,12 @@ bool FrameBufferSDL2::adaptRefreshRate(Int32 displayIndex, SDL_DisplayMode& adap adapt = true; } } - cerr << "refresh rate adapt "; - if(adapt) - cerr << "required (" << currentRefreshRate << " Hz -> " << adaptedSdlMode.refresh_rate << " Hz)"; - else - cerr << "not required/possible"; - cerr << endl; + //cerr << "refresh rate adapt "; + //if(adapt) + // cerr << "required (" << currentRefreshRate << " Hz -> " << adaptedSdlMode.refresh_rate << " Hz)"; + //else + // cerr << "not required/possible"; + //cerr << endl; // Only change if the display supports a better refresh rate return adapt; @@ -506,7 +505,7 @@ bool FrameBufferSDL2::createRenderer(bool force) if(recreate) { - cerr << "Create new renderer for buffer type #" << int(myBufferType) << endl; + //cerr << "Create new renderer for buffer type #" << int(myBufferType) << endl; if(myRenderer) SDL_DestroyRenderer(myRenderer); diff --git a/src/emucore/Settings.cxx b/src/emucore/Settings.cxx index dca79717d..790c784bb 100644 --- a/src/emucore/Settings.cxx +++ b/src/emucore/Settings.cxx @@ -442,7 +442,7 @@ void Settings::usage() const << " -tia.inter <1|0> Enable interpolated (smooth) scaling for TIA\n" << " image\n" << " -tia.fs_stretch <1|0> Stretch TIA image to fill fullscreen mode\n" - << " -tia.fs_refresh <1|0> Try to adapt display refresh rate to game\n" + << " -tia.fs_refresh <1|0> Try to adapt display refresh rate to game's FPS\n" << " -tia.fs_overscan <0-10> Add overscan to TIA image in fullscreen mode\n" << " -tia.dbgcolors Debug colors to use for each object (see manual\n" << " for description)\n"