summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan Woyak <jordan.woyak@gmail.com>2025-09-11 14:39:51 -0500
committerJordan Woyak <jordan.woyak@gmail.com>2025-09-13 12:06:08 -0500
commit8fe82ce664d81cea131c9816f38cdecfc263fdb9 (patch)
tree33a038357ca36817447726b3a9f01cdcce5b9980
parentf66bee48e417e6c7f250beb8e8038c32cd3adfb6 (diff)
GameINI: Add 60 FPS patch for NTSC version of Terminator 3.
-rw-r--r--Data/Sys/GameSettings/GT6E70.ini34
1 files changed, 33 insertions, 1 deletions
diff --git a/Data/Sys/GameSettings/GT6E70.ini b/Data/Sys/GameSettings/GT6E70.ini
index a7afdf32cf..5fe7fb9fa1 100644
--- a/Data/Sys/GameSettings/GT6E70.ini
+++ b/Data/Sys/GameSettings/GT6E70.ini
@@ -1,7 +1,39 @@
# GT6E70 - Terminator 3: The Redemption
[OnFrame]
-# Add memory patches to be applied every frame here.
+$60 FPS
+# Increasing `CPU Clock Override` is necessary for a stable FPS.
+# Higher than 60 FPS is also possible with `VBI Clock Override`.
+# This skips a busy loop immediately before a `VIWaitForRetrace`.
+0x802df4fc:dword:0x60000000
+# The rest of this scales "on foot" aiming sensitivity for variable framerates.
+# The "on rails" game sections already do this scaling.
+# This code overwrites some redundant Y axis sensitivity loading code.
+0x8009bff4:dword:0x60000000 # NOP existing X axis code (moved later).
+0x8009bff8:dword:0x60000000
+0x8009bffc:dword:0x806d9c34
+0x8009c000:dword:0x80630008
+0x8009c004:dword:0xc0430000 # Load the elapsed time value.
+0x8009c008:dword:0xec0000b2 # Scale sensitivity value by elapsed time.
+0x8009c00c:dword:0xc0450074 # Load a convenient -30.0 value.
+0x8009c010:dword:0xfc401050 # Negate.
+0x8009c014:dword:0xec0000b2 # Scale sensitivity by 30 (the original framerate).
+0x8009c018:dword:0x60000000 # NOP redundant sensitivity loading code.
+0x8009c01c:dword:0x60000000
+0x8009c020:dword:0x60000000
+0x8009c024:dword:0x60000000
+0x8009c028:dword:0x60000000
+0x8009c02c:dword:0x60000000
+0x8009c030:dword:0x60000000
+0x8009c034:dword:0xc0460084 # Moved X axis code using different registers.
+0x8009c038:dword:0xec210032
+0x8009c03c:dword:0xec420828
+0x8009c040:dword:0xd0460084
+0x8009c044:dword:0xc0460170 # Adjusted Y axis code using different registers.
+0x8009c048:dword:0xc0250088
+0x8009c04c:dword:0x60000000
+0x8009c054:dword:0xc0460088
+0x8009c060:dword:0xd0060088
[ActionReplay]
# Add action replay cheats here.