1
Scripting and Reverse Engineering / [FF7 PS1] Memory Addresses for framerate cap/limiter
« on: 2024-04-16 04:54:17 »
Greetings! I am trying to find which memory addresses store the framerate in each module of the PlayStation version of FF7. There exist codes for other PSX games to raise the framerate cap/uncap the framerate, so I figured FF7 would be a good showcase for some framerate analysis on real PlayStation hardware (think Digital Foundry) since there is likely a lot of headroom in the fields.
As you know, the menu model operates at 60FPS, the battle model at 15FPS, and the other models at 30FPS.
So, I booted up the game with Duckstation, and used Duckstation's memory viewer to have a look through what's going on at the very start of the game (fields and battles). From searching 1E and F (30 and 15), I was unable to find any memory addresses that stored the framerate target.
I then wondered whether a module's framerate cap was instead given as a divisor (of the refresh rate), so I looked for 2's and 4's that remained fixed throughout a field/throughout a battle. Unfortunately, none of these dictated the framerate either.
I must conclude that the framerate/game speed is obscured somehow. If anyone has more knowledge about the framerate controller, please let me know, thanks!
As you know, the menu model operates at 60FPS, the battle model at 15FPS, and the other models at 30FPS.
So, I booted up the game with Duckstation, and used Duckstation's memory viewer to have a look through what's going on at the very start of the game (fields and battles). From searching 1E and F (30 and 15), I was unable to find any memory addresses that stored the framerate target.
I then wondered whether a module's framerate cap was instead given as a divisor (of the refresh rate), so I looked for 2's and 4's that remained fixed throughout a field/throughout a battle. Unfortunately, none of these dictated the framerate either.
I must conclude that the framerate/game speed is obscured somehow. If anyone has more knowledge about the framerate controller, please let me know, thanks!