34 ratings
How to unlock or set the framerate
By eyrie0
How to hex edit GameAssembly.dll to set the max framerate of the game. Setting to certain values can mitigate the judder effect when walking around the world or town maps.
Edit GameAssembly.dll in a hex editor
First, open GameAssembly.dll in a hex editor. I use HxD. Search for the following bytes in hex:

8d 4a 3c

(Side Note: These bytes correspond to the following assembly opcode: lea ecx,[rdx+3ch]

0x3c is 60 in hex and ecx is later used to set the memory location [GameAssembly.dll + 0x1771e80] to the value added to the rdx register here.)

Here's what you should see when you find the correct three bytes:

Once you've found the bytes, you can change the 3c to whatever you want. Some values that seem to reduce judder:

(4b) 75 fps - for 75hz display
(73) 115 fps - for 120hz or 144hz g-sync/freesync displays
(78) 120 fps - for 120hz displays
(99) 153 fps - for 165hz g-sync/freesync displays

(thanks to exodus on resetera for these)

Change the 3c value to your desired framerate and save the file.

Now when you run the game, your max framerate will be the new value you entered!
joeywan2002 Mar 13 @ 10:16am 
Zukakog, I chose 80 fps because according to another steam thread, the characters move at 80 pixels per second. The original games, the characters apparently moved at 60 pixels per second to line up with 60 hz CRT displays. I have not attempted 90 fps, maybe someone else out there can test to see which setting is more smooth?
zukakog Feb 8 @ 9:51pm 
Joey, why 80 and not 90Hz?
joeywan2002 Jan 21 @ 7:28am 
This is incredible! Completely resolved the choppy scrolling. To any Steam Deck OLED users following along, 80 fps works butter smooth. I replaced 3c with 50 for 80hz.
Artur Jan 14 @ 9:46am 
This actually fixes the problem of the choppy overworld-map in FF3PR.
The only nitpick is the higher menu-sensitivity.
Gabriel Pendragon Sep 16, 2023 @ 12:10am 
Anything under 60 fps and the game crashes on launch. Testing in FF6.
eyrie0  [author] Dec 22, 2022 @ 8:31pm 
Every game has its own GameAssembly.dll that is unique
MARl0 Dec 22, 2022 @ 11:47am 
Once you do this for the "GameAssembly.dll" file for FF1 Pixel Remaster, can you just use that same file for all of the Pixel Remasters, or does every Pixel Remaster have a unique file that needs to be edited?
Zeikar Dec 6, 2022 @ 10:37pm 
Kaito_404 Dec 6, 2022 @ 4:39am 
How to fix judder at 60hz monitor? What value to write?
Jupiter Rsabbit Jun 29, 2022 @ 12:58pm 
plz cod u stop da noiz im tryna git sum rest