diff --git a/docs/index.html b/docs/index.html index cc57d0546..1d11d0eee 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2730,6 +2730,10 @@ indicating serious errors override this setting, and are always shown. + +
-pauseshade <1|0>
+ Enable or disable emulation shading in pause mode. +
-audio.enabled <1|0>
diff --git a/src/emucore/FrameBuffer.cxx b/src/emucore/FrameBuffer.cxx index dbb287220..838c2c445 100644 --- a/src/emucore/FrameBuffer.cxx +++ b/src/emucore/FrameBuffer.cxx @@ -343,14 +343,16 @@ void FrameBuffer::update(UpdateMode mode) case EventHandlerState::PAUSE: { // Show a pause message immediately and then every 7 seconds + bool shade = myOSystem.settings().getBool("pauseshade"); + if(myPausedCount-- <= 0) { myPausedCount = uInt32(7 * myOSystem.frameRate()); showTextMessage("Paused", MessagePosition::MiddleCenter); - myTIASurface->render(true); + myTIASurface->render(shade); } if(rerender) - myTIASurface->render(true); + myTIASurface->render(shade); break; // EventHandlerState::PAUSE } diff --git a/src/emucore/Settings.cxx b/src/emucore/Settings.cxx index 215588c31..948a1e1a8 100644 --- a/src/emucore/Settings.cxx +++ b/src/emucore/Settings.cxx @@ -47,6 +47,7 @@ Settings::Settings() setPermanent("windowedpos", Common::Point(50, 50)); setPermanent("display", 0); setPermanent("uimessages", "true"); + setPermanent("pauseshade", "true"); // TIA specific options setPermanent("tia.inter", "false"); setPermanent("tia.zoom", "3"); @@ -446,6 +447,7 @@ void Settings::usage() const << " -speed Run emulation at the given speed\n" << " -turbo <1|0> Enable 'Turbo' mode for maximum emulation speed\n" << " -uimessages <1|0> Show onscreen UI messages for different events\n" + << " -pauseshade <1|0> Enable emulation shading in pause mode\n" << endl #ifdef SOUND_SUPPORT << " -audio.enabled <1|0> Enable audio\n"