120 FPS with 100% game speed
#1
Been trying to figure out how to get 120 fps in games, and I know by default the logic of basically every PS2 game is tied to framerate. So is there a way to halve the in-game logic then speed up to 200% to achieve the equivalent of 120 fps with 100% game speed? I'd assume it'd have to be done through patches, cheats, or hacks, but I don't know the first thing about how to set that up. I know it's been done for games on RPCS3 before, and from what I understand that emulator is way more finicky.

Just want to reiterate this isn't performance related, but related to increasing max framerate without speeding up the logic.
Reply

Sponsored links

#2
I believe at least some of the 60 fps patches do exactly that (unless they can achieve it differently)
At least, that is what I did with a Summoner 2 (PAL/50Hz, 25 FPS) 60 fps patch I made - I halved game speed, and then set PCSX2's emulation speed to 240% (because starting from 25 rather than 30 fps).
It seemed to work just fine - but there was a quirk specific to that game for me at least, is that 'audio recordings' would also be cut off accordingly too fast.

Like, they still were at the right speed - but they would be cut off about halfway through - as well as other sound effects like attacking (and sooner with higher fps).

So - well, it is possible for some games I'd assume. (not all I figure)

Also I did make a 12,5 15, 30, 45, 50, 60, 75, 90, 100, 120, 144, 160, 165, 180, 200, 240, 300, 360, 480 fps patch for that game, if you happen to have it, and want to try xD (Well emulation speed can't be put past 1000%... so from 300 fps, the patch wouldn't work and well I don't know if any PC could run any PS2 game at 1000% speed, so, well... - but I wrote them just to be 'future-proof' xD)
I didn't post it on these forums because I find the audio issue is a bit of a bummer - and well, I don't know if they really consider it a proper 60 fps patch if you have to change emulation speed acccordingly.

(Edit: well in my case I guess it's not all the 'game logic' that is halved in speed - but rather just causing the visible gameplay to run in slowmotion - since if you would actually lower the FPS - and put emulation speed to say, 50% - game still ran 'full speed' of course thanks to the patch - but the game would be slow to register button presses and it felt weird to play)

Edit 2: Oh oh! and I don't really consider my reply to be a proper answer as such to you - I would very much appreciate that anyone knowing about all such stuff, would still reply, since my reply isn't very complete I think. (hoping my comment isn't deterring others from giving you a better reply I mean : O )
Reply
#3
(06-13-2020, 07:01 PM)genova447 Wrote: I believe at least some of the 60 fps patches do exactly that (unless they can achieve it differently)
At least, that is what I did with a Summoner 2 (PAL/50Hz, 25 FPS) 60 fps patch I made - I halved game speed, and then set PCSX2's emulation speed to 240% (because starting from 25 rather than 30 fps).
It seemed to work just fine - but there was a quirk specific to that game for me at least, is that 'audio recordings' would also be cut off accordingly too fast.

Like, they still were at the right speed - but they would be cut off about halfway through - as well as other sound effects like attacking (and sooner with higher fps).

So - well, it is possible for some games I'd assume. (not all I figure)

Also I did make a 12,5 15, 30, 45, 50, 60, 75, 90, 100, 120, 144, 160, 165, 180, 200, 240, 300, 360, 480 fps patch for that game, if you happen to have it, and want to try xD  (Well emulation speed can't be put past 1000%... so from 300 fps, the patch wouldn't work and well I don't know if any PC could run any PS2 game at 1000% speed, so, well... - but I wrote them just to be 'future-proof' xD)
I didn't post it on these forums because I find the audio issue is a bit of a bummer - and well, I don't know if they really consider it a proper 60 fps patch if you have to change emulation speed acccordingly.

(Edit: well in my case I guess it's not all the 'game logic' that is halved in speed - but rather just causing the visible gameplay to run in slowmotion - since if you would actually lower the FPS - and put emulation speed to say, 50% - game still ran 'full speed' of course thanks to the patch - but the game would be slow to register button presses and it felt weird to play)

Edit 2: Oh oh! and I don't really consider my reply to be a proper answer as such to you - I would very much appreciate that anyone knowing about all such stuff, would still reply, since my reply isn't very complete I think. (hoping my comment isn't deterring others from giving you a better reply I mean : O  )
Can you tell me how you went about making the patch you describe? I'm trying to get Maximo: The Army of Zin running at 120 fps 100% gamespeed. Figure if it's just slowing down and it at least somewhat works (minus audio) it'd be a good starting point if I made my own patch.
Reply
#4
I can try to explain, though I'm afraid there's no guarantee that my specific case will apply to your game - and it may not even be possible at all.
I assume it depends a bit on how/if the developers actually added in a functionality to 'slow down' gameplay... like games that have an in-game feature to slow down time temporarily, obviously have the 'function' - but - I don't know a whole lot about all those things actually.

Anyway though, what I did was - I actually followed this guide, to make a widescreen patch: https://forums.pcsx2.net/Thread-Guide-Cr...#pid215566
And in the process of finding which 'address' had an effect on the screen/camera - I came across the game speed one.
(Mind you looking for the right value can be a lot of fun on its own - like I extended draw distance, shrunk my character - increased enemy damage modifiers, and extended agro range - so all of a sudden level 1 monsters came from nowhere and one-shot me xD )

In my case, the default value for the game speed was 3F800000 in Hexadecimal (or 1 in float ), as he suggests trying out first in the guide as well.
and I just calculated that, if 1 (float) is 25 fps, which is default game speed, then 2 (float, or 40000000 hexadecimal) is likely to be 50 fps - and I tried to do that, and see if the game would run 'properly with 200% game speed, which it then did.

(note: to convert between float and hexadecimal you can use this site: https://gregstoll.dyndns.org/~gregstoll/floattohex/ )

If you intend to give it a try - personally I used Cheat Engine, as suggested in the guide as well. Getting the program however is a bit - well, shady, I find personally.... Go to: https://cheatengine.org/ - click Downloads - then look for the line that says "For those that want to have Cheat engine Setup without any extra software recomendation during install, then join CE's patreon and download using this link and you'll get a clean install file, and if you wish to have the raw files without any configuration of file access permission by the setup click here. Do keep in mind that you need to add the windows app user account to the dll's else dll injection will fail in UWP apps" - download it via that Patreon link - to not have any unwanted junkware come along with it.

If your game does have a similar value, it might not be defined as 1 (float) or 3f800000 (hexadecimal) - they could have given it any value really I assume.
Oh oh - and if your game has a slow-motion function... what you can do is also "scan" for "unknown initial value" while the game is in slow motion, and scan for "changed value" once the game has returned to normal.... and then just to filter out some more things, then activate slow motion again, and scan for 'changed value' again... and perhaps a few times "unchanged value" when nothing has changed since last scan.

Oh and the 'range' to scan between, 20200000 and 21FFFFFF is a pretty good start as well, at least mine was found early in that spectrum.
If you go too far below, or too far beyond that range, you will start to mess with things not related to the emulated games, but rather PCSX2 itself (at least that happened to me when I felt adventurous D: )



But sorry, I am not very concise:



TLDR: follow linked guide - and you may just come across the right address and value

guide suggests first of all to search for hexadecimal value 3F800000 in the address range of 20200000 to 21FFFFFF - which worked for me (though it takes several tries - but yes: just follow the guide exactly, that is much better than trying to make sense of my wall of text here xD )


Edit: you can also try and request a patch, mentioning your specific version of the game, here: https://forums.pcsx2.net/Thread-60-fps-codes
Reply
#5
(06-14-2020, 07:14 PM)genova447 Wrote: I can try to explain, though I'm afraid there's no guarantee that my specific case will apply to your game - and it may not even be possible at all.
I assume it depends a bit on how/if the developers actually added in a functionality to 'slow down' gameplay... like games that have an in-game feature to slow down time temporarily, obviously have the 'function' - but - I don't know a whole lot about all those things actually.

Anyway though, what I did was - I actually followed this guide, to make a widescreen patch: https://forums.pcsx2.net/Thread-Guide-Cr...#pid215566
And in the process of finding which 'address' had an effect on the screen/camera - I came across the game speed one.
(Mind you looking for the right value can be a lot of fun on its own - like I extended draw distance, shrunk my character - increased enemy damage modifiers, and extended agro range - so all of a sudden level 1 monsters came from nowhere and one-shot me xD )

In my case, the default value for the game speed was 3F800000 in Hexadecimal (or 1 in float ), as he suggests trying out first in the guide as well.
and I just calculated that, if 1 (float) is 25 fps, which is default game speed, then 2 (float, or 40000000 hexadecimal) is likely to be 50 fps - and I tried to do that, and see if the game would run 'properly with 200% game speed, which it then did.

(note: to convert between float and hexadecimal you can use this site: https://gregstoll.dyndns.org/~gregstoll/floattohex/ )

If you intend to give it a try - personally I used Cheat Engine, as suggested in the guide as well. Getting the program however is a bit - well, shady, I find personally.... Go to: https://cheatengine.org/ - click Downloads - then look for the line that says "For those that want to have Cheat engine Setup without any extra software recomendation during install, then join CE's patreon and download using this link and you'll get a clean install file, and if you wish to have the raw files without any configuration of file access permission by the setup click here. Do keep in mind that you need to add the windows app user account to the dll's else dll injection will fail in UWP apps" - download it via that Patreon link - to not have any unwanted junkware come along with it.

If your game does have a similar value, it might not be defined as 1 (float) or 3f800000 (hexadecimal) - they could have given it any value really I assume.
Oh oh - and if your game has a slow-motion function... what you can do is also "scan" for "unknown initial value" while the game is in slow motion, and scan for "changed value" once the game has returned to normal.... and then just to filter out some more things, then activate slow motion again, and scan for 'changed value' again... and perhaps a few times "unchanged value" when nothing has changed since last scan.

Oh and the 'range' to scan between, 20200000 and 21FFFFFF is a pretty good start as well, at least mine was found early in that spectrum.
If you go too far below, or too far beyond that range, you will start to mess with things not related to the emulated games, but rather PCSX2 itself (at least that happened to me when I felt adventurous D:  )



But sorry, I am not very concise:



TLDR: follow linked guide - and you may just come across the right address and value

guide suggests first of all to search for hexadecimal value 3F800000 in the address range of 20200000 to 21FFFFFF - which worked for me (though it takes several tries - but yes: just follow the guide exactly, that is much better than trying to make sense of my wall of text here xD )


Edit: you can also try and request a patch, mentioning your specific version of the game, here: https://forums.pcsx2.net/Thread-60-fps-codes
That's pretty helpful, I already have CE so i'll give it a go. I'm also trying to increase FPS in other games to 60 or 120, so i'll keep this in mind.
Reply




Users browsing this thread: 1 Guest(s)