diff --git a/src/drivers/Qt/ConsoleWindow.cpp b/src/drivers/Qt/ConsoleWindow.cpp index b8a7f0e0..54c647b4 100644 --- a/src/drivers/Qt/ConsoleWindow.cpp +++ b/src/drivers/Qt/ConsoleWindow.cpp @@ -3640,6 +3640,9 @@ void consoleWin_t::emuSetFrameAdvDelay(void) if ( QDialog::Accepted == ret ) { frameAdvance_Delay = dialog.intValue(); + + g_config->setOption("SDL.FrameAdvanceDelay", frameAdvance_Delay ); + g_config->save(); } } diff --git a/src/drivers/Qt/config.cpp b/src/drivers/Qt/config.cpp index 8b7722e9..cffe8c2a 100644 --- a/src/drivers/Qt/config.cpp +++ b/src/drivers/Qt/config.cpp @@ -522,6 +522,7 @@ InitConfig() config->addOption("nospritelim", "SDL.DisableSpriteLimit", 0); config->addOption("swapduty", "SDL.SwapDuty", 0); config->addOption("ramInit", "SDL.RamInitMethod", 0); + config->addOption("SDL.FrameAdvanceDelay", 40); // color control config->addOption('p', "palette", "SDL.Palette", ""); @@ -1094,6 +1095,7 @@ UpdateEMUCore(Config *config) config->getOption("SDL.VBlankScanlines" , &vblankscanlines ); config->getOption("SDL.Skip7bitOverClocking", &skip_7bit_overclocking ); config->getOption("SDL.ShowGuiMessages" , &vidGuiMsgEna ); + config->getOption("SDL.FrameAdvanceDelay" , &frameAdvance_Delay ); config->getOption("SDL.PAL", ®ion); FCEUI_SetRegion(region); diff --git a/src/fceu.cpp b/src/fceu.cpp index 13348e23..49f5c750 100644 --- a/src/fceu.cpp +++ b/src/fceu.cpp @@ -1250,8 +1250,8 @@ void FCEUI_FrameAdvanceEnd(void) { } void FCEUI_FrameAdvance(void) { - frameAdvanceRequested = true; frameAdvance_Delay_count = 0; + frameAdvanceRequested = true; } static int AutosaveCounter = 0; @@ -1268,7 +1268,7 @@ void UpdateAutosave(void) { FCEUSS_Save(f, false); AutoSS = true; //Flag that an auto-savestate was made free(f); - f = NULL; + f = NULL; AutosaveStatus[AutosaveIndex] = 1; } }