From 576658b6eb488a8727bc985f63e25d01f39c3f95 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Fri, 28 Mar 2025 21:23:32 +1000 Subject: [PATCH] Settings: Max speedup cycles should be at least 1 --- src/core/fullscreen_ui.cpp | 2 +- src/core/settings.cpp | 3 ++- src/duckstation-qt/advancedsettingswidget.cpp | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/core/fullscreen_ui.cpp b/src/core/fullscreen_ui.cpp index 60c02782c..a5b091990 100644 --- a/src/core/fullscreen_ui.cpp +++ b/src/core/fullscreen_ui.cpp @@ -6217,7 +6217,7 @@ void FullscreenUI::DrawAdvancedSettingsPage() DrawIntRangeSetting(bsi, FSUI_CSTR("Maximum Speedup Read/Seek Cycles"), FSUI_CSTR("Sets the minimum delay for the 'Maximum' read/seek speedup level."), "CDROM", - "MaxSpeedupCycles", Settings::DEFAULT_CDROM_MAX_SPEEDUP_CYCLES, 0, 1000000, + "MaxSpeedupCycles", Settings::DEFAULT_CDROM_MAX_SPEEDUP_CYCLES, 1, 1000000, FSUI_CSTR("%d cycles")); DrawToggleSetting(bsi, FSUI_CSTR("Enable Region Check"), diff --git a/src/core/settings.cpp b/src/core/settings.cpp index 279fbf0a1..d0d24fda3 100644 --- a/src/core/settings.cpp +++ b/src/core/settings.cpp @@ -375,7 +375,8 @@ void Settings::Load(const SettingsInterface& si, const SettingsInterface& contro Truncate8(std::min(si.GetUIntValue("CDROM", "ReadSpeedup", 1u), std::numeric_limits::max())); cdrom_seek_speedup = Truncate8(std::min(si.GetUIntValue("CDROM", "SeekSpeedup", 1u), std::numeric_limits::max())); - cdrom_max_speedup_cycles = si.GetUIntValue("CDROM", "MaxSpeedupCycles", DEFAULT_CDROM_MAX_SPEEDUP_CYCLES); + cdrom_max_speedup_cycles = + std::max(si.GetUIntValue("CDROM", "MaxSpeedupCycles", DEFAULT_CDROM_MAX_SPEEDUP_CYCLES), 1u); audio_backend = AudioStream::ParseBackendName( diff --git a/src/duckstation-qt/advancedsettingswidget.cpp b/src/duckstation-qt/advancedsettingswidget.cpp index c1e9b7c76..8e6ca3ec5 100644 --- a/src/duckstation-qt/advancedsettingswidget.cpp +++ b/src/duckstation-qt/advancedsettingswidget.cpp @@ -282,7 +282,7 @@ void AdvancedSettingsWidget::addTweakOptions() addIntRangeTweakOption(m_dialog, m_ui.tweakOptionTable, tr("CD-ROM Readahead Sectors"), "CDROM", "ReadaheadSectors", 0, 32, Settings::DEFAULT_CDROM_READAHEAD_SECTORS, tr(" sectors")); addIntRangeTweakOption(m_dialog, m_ui.tweakOptionTable, tr("CD-ROM Max Speedup Read/Seek Cycles"), "CDROM", - "MaxSpeedupCycles", 0, 1000000, Settings::DEFAULT_CDROM_MAX_SPEEDUP_CYCLES, tr(" cycles")); + "MaxSpeedupCycles", 1, 1000000, Settings::DEFAULT_CDROM_MAX_SPEEDUP_CYCLES, tr(" cycles")); addBooleanTweakOption(m_dialog, m_ui.tweakOptionTable, tr("CD-ROM Region Check"), "CDROM", "RegionCheck", false); addBooleanTweakOption(m_dialog, m_ui.tweakOptionTable, tr("CD-ROM SubQ Skew"), "CDROM", "SubQSkew", false); addBooleanTweakOption(m_dialog, m_ui.tweakOptionTable, tr("Allow Booting Without SBI File"), "CDROM",