diff --git a/pcsx2/Config.h b/pcsx2/Config.h index 076206ba41..84acf87e1c 100644 --- a/pcsx2/Config.h +++ b/pcsx2/Config.h @@ -175,6 +175,7 @@ enum class SpeedHack MVUFlag, InstantVU1, MTVU, + EECycleRate, MaxCount, }; diff --git a/pcsx2/Docs/gamedb-schema.json b/pcsx2/Docs/gamedb-schema.json index c1d8aefe6c..4dfde3e93d 100644 --- a/pcsx2/Docs/gamedb-schema.json +++ b/pcsx2/Docs/gamedb-schema.json @@ -317,6 +317,11 @@ "type": "integer", "minimum": 0, "maximum": 1 + }, + "eeCycleRate": { + "type": "integer", + "minimum": -3, + "maximum": 3 } }, "additionalProperties": false diff --git a/pcsx2/Pcsx2Config.cpp b/pcsx2/Pcsx2Config.cpp index 9c630ed5e2..aaae4d6a7a 100644 --- a/pcsx2/Pcsx2Config.cpp +++ b/pcsx2/Pcsx2Config.cpp @@ -181,6 +181,7 @@ static constexpr const char* s_speed_hack_names[] = { "mvuFlag", "instantVU1", "mtvu", + "eeCycleRate", }; const char* Pcsx2Config::SpeedhackOptions::GetSpeedHackName(SpeedHack id) @@ -215,6 +216,9 @@ void Pcsx2Config::SpeedhackOptions::Set(SpeedHack id, int value) case SpeedHack::MTVU: vuThread = (value != 0); break; + case SpeedHack::EECycleRate: + EECycleRate = static_cast(std::clamp(value, MIN_EE_CYCLE_RATE, MAX_EE_CYCLE_RATE)); + break; jNO_DEFAULT } }