Skip to content

Commit

Permalink
Add 30 fps version as an option, doesn't suffer from softlock
Browse files Browse the repository at this point in the history
  • Loading branch information
LunaMoo committed Jul 2, 2022
1 parent 0dcf824 commit 2544bd7
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 2 deletions.
1 change: 1 addition & 0 deletions Core/Compatibility.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ void Compatibility::CheckSettings(IniFile &iniFile, const std::string &gameID) {
CheckSetting(iniFile, gameID, "ForceUMDDelay", &flags_.ForceUMDDelay);
CheckSetting(iniFile, gameID, "ForceMax60FPS", &flags_.ForceMax60FPS);
CheckSetting(iniFile, gameID, "Fixed60FPShack", &flags_.Fixed60FPShack);
CheckSetting(iniFile, gameID, "Fixed60FPShack", &flags_.Fixed30FPShack);
CheckSetting(iniFile, gameID, "JitInvalidationHack", &flags_.JitInvalidationHack);
CheckSetting(iniFile, gameID, "HideISOFiles", &flags_.HideISOFiles);
CheckSetting(iniFile, gameID, "MoreAccurateVMMUL", &flags_.MoreAccurateVMMUL);
Expand Down
1 change: 1 addition & 0 deletions Core/Compatibility.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ struct CompatFlags {
bool ForceUMDDelay;
bool ForceMax60FPS;
bool Fixed60FPShack;
bool Fixed30FPShack;
bool JitInvalidationHack;
bool HideISOFiles;
bool MoreAccurateVMMUL;
Expand Down
8 changes: 6 additions & 2 deletions Core/HLE/ReplaceTables.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1341,8 +1341,12 @@ static int Hook_soltrigger_render_ucschar() {
}

static int Hook_gow_fps_hack() {
if (PSP_CoreParameter().compat.flags().Fixed60FPShack) {
__DisplayWaitForVblanks("vblank start waited", 1);
if (PSP_CoreParameter().compat.flags().Fixed60FPShack || PSP_CoreParameter().compat.flags().Fixed30FPShack) {
if (PSP_CoreParameter().compat.flags().Fixed30FPShack) {
__DisplayWaitForVblanks("vblank start waited", 2);
} else {
__DisplayWaitForVblanks("vblank start waited", 1);
}
}
return 0;
}
Expand Down
37 changes: 37 additions & 0 deletions assets/compat.ini
Original file line number Diff line number Diff line change
Expand Up @@ -838,6 +838,43 @@ UCUS98705 = true
UCED00971 = true
UCUS98713 = true

[Fixed30FPShack]
# As the 60 fps version, but makes the GOW run on a potato,
# Doesn't suffer from softlock #8299
# disabled by default since most people wouldn't need it
# GOW : Ghost of Sparta
# UCUS98737 = true
# UCAS40323 = true
# NPHG00092 = true
# NPEG00044 = true
# NPEG00045 = true
# NPJG00120 = true
# NPUG80508 = true
# UCJS10114 = true
# UCES01401 = true
# UCES01473 = true
# GOW : Ghost of Sparta Demo
# NPEG90035 = true
# NPUG70125 = true
# NPJG90095 = true
# GOW : Chains Of Olympus
# UCAS40198 = true
# UCUS98653 = true
# UCES00842 = true
# ULJM05438 = true
# ULJM05348 = true
# UCKS45084 = true
# NPUG80325 = true
# NPEG00023 = true
# NPHG00027 = true
# NPHG00028 = true
# NPJH50170 = true
# UCET00844 = true
# GOW: Chains of Olympus Demo
# UCUS98705 = true
# UCED00971 = true
# UCUS98713 = true

[ForceMax60FPS]
# Some games are very heavy and render as fast as they can. They benefit greatly from
# capping the framerate at 60fps.
Expand Down

0 comments on commit 2544bd7

Please sign in to comment.