Tutorial  Updated

How to Search the FPS Codes using EdiZon-SE

Warning! Increasing the Framerate of the game and Overclocking your Switch will likely to heat your Switch and drains your battery real Fast! You have been warned!

Hello Everyone! In this Tutorial you will learn how to find the FPS code using only your Switch running CFW and EdiZon-SE.


Note;
1.) Not all Game's Framerate codes can be found using Cheat Engines like EdiZon-SE.

2.) Some FPS Code affects the Global Speed of the Game.

3.) And here's my stuff;
Nintendo Switch V1 - 11.0.1|AMS M.18.1|E
128Gb Micro SD
EdiZon-SE v3.8.16

So first, Backup your save file of the game that you want to search the FPS code to prevent Save Data corruption during the searches and tests.
And it is recommended to Go Handheld Mode, Plug In and Connect your Official Charger and max OC everything on your Switch to better feel/know the Framerate of the game.

Methods of Searching the FPS code;

1.) T&RM (Troublesome & Risky Method)
- This method searches the "Keeps Increasing Value" Game's Runtime/Uptime because the FPS code is near it.

The game I'm going to use in this guide is "Märchen Forest" because this game is locked at 30 FPS.

pic1-jpg.257985


a.) Run the Game and after that, Go to EdiZon-SE.

b.) We will do an "Unknown Search" [u32] [DIFF] [HEAP+MAIN]

pic2-jpg.257986


c.) After done Searching, Go back to the game and let it run at least 5 seconds or longer and then go back to EdiZon-SE.

d.) Next we will do an "Unknown Search=Increased" [u32] [++] [HEAP+MAIN]

pic3-jpg.257987


e.) The Results is big so we have to repeat Step c-d to narrow it down.
(Hint: Another way to help narrow down the Results quick is try to go to a different area in the game(Loading Screen must appear) and after that, do the Step c-d.)

f.) When the Results are now low(for me, around 500 or less is good).

pic4-jpg.257988

Then it's time to do the Troublesome part which is Visit all of them one by one in Hex Editor and try to see if there is a nearby value of;


If the game is locked at 30 FPS (Left Side)
If the game is locked at 60 FPS (Right Side)

0x1 || 0x0
0x2 || 0x1
0x40000000 || 0x3F800000
0x41F00000 || 0x42700000
0x3D088888 || 0x3C888888
0x3D088889 || 0x3C888889
0x1E || 0x3C


WARNING! CRASHES MAY OCCUR DURING THESE NEXT STEPS!

g.) (Hint: The Address that we will Focus Visiting in the Hex Editor doesn't have a value that is too big. Because the Game's Runtime/Uptime normally has a value of 3 to 4 Digit Hex [0x????] assuming you didn't opened the game for too long).

After you Visit one in the Hex Editor, See if there is a nearby address that has a 30 FPS Value and try to change their value (apply the 60 FPS value) and go back to the game. and see if the FPS Increased.

h.) If nothing happens, it's better to revert the value that you edited before and try another Address from the Results.

i.) Do steps g-h until you find it.

pic5-jpg.257989

pic6-jpg.257990

Changed the FPS code value to 0x1
pic7-jpg.257991

Result!
pic8-jpg.257992


j.) Now the only problem is the Address is not Static so it may change when you reboot the game.

And that was it! If Method 1 was too hard and complicated for you, then proceed to Method 2.

2.) A&PM (Accurate & Precise Method)
- This Method is like Universal and probably the most easiest one to do because all you have to do is search for a specific value.

Like Method 1, The game I'm going to use in this guide is "Märchen Forest" because this game is locked at 30 FPS.

pic1-jpg.257985


a.) Start a Fresh New Search, Run the Game and after that, Go to EdiZon-SE.

b.) We will search for a specific value = 0x50000000438 [u64] [==] [HEAP+MAIN]

Note: In some Games, It's 0x500000002D0 or 0x50000000384 or 0x78000000438 but they may yield more Results.

pic9-jpg.257993


c.) If you're lucky, then there's only one Result!

pic10-jpg.257994


d.) Visit it to Hex Editor and you will find the FPS code just under them! (Under the value 0x500 if I'm being Specific).

pic11-jpg.257995

Changed the FPS code value to 0x1
pic12-jpg.257996

Result!
pic8-jpg.257992


e.) If you see the Value is 0x2, then the game really IS capped at 30 FPS. Edit it to 0x1 and the game should now run at 60 FPS.

But if you see the value is already 0x1 and the Framerate of the game is still 30 FPS. Then the Switch probably can't handle running the game to 60 FPS, or there's another FPS code to be found on the same game which is more searching Methods coming soon!

Games I have that Method 1 & 2 are Working;

Märchen Forest (30 FPS)

Monster Hunter Rise (30 FPS but needs another FPS Code)

Monster Hunter Generations Ultimate (30 FPS, Value was already 0x1 so it needs another FPS Code)

God Eater 3 (30 FPS)

Haven (Was Already 60 FPS but you can still find it)

Story of Seasons: Pioneers of Olive Town (Was Already 60 FPS but you can still find it)

Crash Bandicoot N. Sane Trilogy (30 FPS)

Hellpoint (30 FPS)

Blazblue Cross Tag Battle (Was Already 60 FPS but you can still find it / Game Speed is Affected)

Resident Evil 6 (Was Already 60 FPS but you can still find it)

TY The Tasmanian Tiger 2 (30 FPS / A&PM Value is 0x500000002D0)

RWBY: Grimm Eclipse Definitive Edition (30 FPS)

Blazblue Central Fiction Special Edition (Was Already 60 FPS / A&PM Value is 0x500000002D0 / Game Speed is Affected)

And More Games to test soon!

Games I have that Method 1 & 2 are Not Working;

Remothered : Broken Porcelain (30 FPS)

And More Games to test soon!

And that was it again! I'll be posting another method which is the "Capcom Method" and maybe a Video soon when I finally have another Day-Off.

And Lastly, R.I.P. my English.
 

Attachments

  • pic1.jpg
    pic1.jpg
    507.7 KB · Views: 1,397
  • pic2.jpg
    pic2.jpg
    151.4 KB · Views: 1,340
  • pic3.jpg
    pic3.jpg
    173.6 KB · Views: 1,372
  • pic4.jpg
    pic4.jpg
    246.3 KB · Views: 1,328
  • pic5.jpg
    pic5.jpg
    571 KB · Views: 1,384
  • pic6.jpg
    pic6.jpg
    660.6 KB · Views: 1,413
  • pic7.jpg
    pic7.jpg
    654.9 KB · Views: 1,274
  • pic8.jpg
    pic8.jpg
    479 KB · Views: 1,312
  • pic9.jpg
    pic9.jpg
    179.3 KB · Views: 1,380
  • pic10.jpg
    pic10.jpg
    464.5 KB · Views: 1,326
  • pic11.jpg
    pic11.jpg
    646.6 KB · Views: 1,344
  • pic12.jpg
    pic12.jpg
    638.3 KB · Views: 1,264
Last edited by Hazerou, , Reason: 0x78000000438

SaltySwitch

Member
Newcomer
Joined
Oct 20, 2021
Messages
11
Trophies
0
Age
32
XP
54
Country
United States
First off, fantastic instructions bravo.

I just tested 0x50000000438 [u64] [==] [HEAP+MAIN] changing the 001 below 500 to 002 in Daylight and it successfully locked the framerate to 30. The game feels incredible now. How do I save this as a cheat for Edizon to load?
 

DJ_KoHb

New Member
Newbie
Joined
Nov 22, 2021
Messages
4
Trophies
0
Age
31
Location
Murmansk
XP
125
Country
Russia
in some games like LiS 3 and hellblade i founded fps code but setting value to 1 has no effect, if set value to 3 or 4 fps change to 20-15
what that mean? another code? sorry for question if that stupid, i have bad english and maybe miss some in guide, hard to figuring out with this
your work and guide here is unique and priceless for people who cant play games in 30 fps like me, thanks for that
 

DeathChaos

Unmei wo koeru!
Member
Joined
Oct 21, 2015
Messages
1,364
Trophies
0
Age
28
XP
1,726
Country
Puerto Rico
Not true. Capcom method works fine without any additional patches for this game.

What you are calling "another FPS code" in most cases is related to one of two functions:
nvnWindowBuilderSetPresentInterval
nvnWindowSetPresentInterval

Where setting "interval" argument to 2 locks game to 30 FPS. This in many cases can be patched only by exefs patch or anything that can call functions f.e. by using code injection.
Is there any way for me to reliably find any of these 2 functions in ghidra regardless of game?

I can do method 2 via cheats easily enough, but these cheats only work on Switch and not for people who use emulator, so patching the exefs directly would be the best method.
 

CHERRY_ED

New Member
Newbie
Joined
Oct 2, 2022
Messages
2
Trophies
0
Age
19
Location
Australia
XP
31
Country
Australia
Hey I tried 1, 2, and 3 method and am stuck with 0x1 and changed it to 0x0 and nothing and 0x2 and idk what to change :\ the game is still capped at 30 tho

Its JoJos bizarre adventure all star battle R

plz help :sad: :<<
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • TwoSpikedHands @ TwoSpikedHands:
    Do I restart now using what i've learned on the EU version since it's a better overall experience? or do I continue with the US version since that is what ive been using, and if someone decides to play my hack, it would most likely be that version?
  • Sicklyboy @ Sicklyboy:
    @TwoSpikedHands, I'll preface this with the fact that I know nothing about the game, but, I think it depends on what your goals are. Are you trying to make a definitive version of the game? You may want to refocus your efforts on the EU version then. Or, are you trying to make a better US version? In which case, the only way to make a better US version is to keep on plugging away at that one ;)
  • Sicklyboy @ Sicklyboy:
    I'm not familiar with the technicalities of the differences between the two versions, but I'm wondering if at least some of those differences are things that you could port over to the US version in your patch without having to include copyrighted assets from the EU version
  • TwoSpikedHands @ TwoSpikedHands:
    @Sicklyboy I am wanting to fully change the game and bend it to my will lol. I would like to eventually have the ability to add more characters, enemies, even have a completely different story if i wanted. I already have the ability to change the tilemaps in the US version, so I can basically make my own map and warp to it in game - so I'm pretty far into it!
  • TwoSpikedHands @ TwoSpikedHands:
    I really would like to make a hack that I would enjoy playing, and maybe other people would too. swapping to the EU version would also mean my US friends could not legally play it
  • TwoSpikedHands @ TwoSpikedHands:
    I am definitely considering porting over some of the EU features without using the actual ROM itself, tbh that would probably be the best way to go about it... but i'm sad that the voice acting is so.... not good on the US version. May not be a way around that though
  • TwoSpikedHands @ TwoSpikedHands:
    I appreciate the insight!
  • The Real Jdbye @ The Real Jdbye:
    @TwoSpikedHands just switch, all the knowledge you learned still applies and most of the code and assets should be the same anyway
  • The Real Jdbye @ The Real Jdbye:
    and realistically they wouldn't

    be able to play it legally anyway since they need a ROM and they probably don't have the means to dump it themselves
  • The Real Jdbye @ The Real Jdbye:
    why the shit does the shitbox randomly insert newlines in my messages
  • Veho @ Veho:
    It does that when I edit a post.
  • Veho @ Veho:
    It inserts a newline in a random spot.
  • The Real Jdbye @ The Real Jdbye:
    never had that i don't think
  • Karma177 @ Karma177:
    do y'all think having an sd card that has a write speed of 700kb/s is a bad idea?
    trying to restore emunand rn but it's taking ages... (also when I finished the first time hekate decided to delete all my fucking files :wacko:)
  • The Real Jdbye @ The Real Jdbye:
    @Karma177 that sd card is 100% faulty so yes, its a bad idea
  • The Real Jdbye @ The Real Jdbye:
    even the slowest non-sdhc sd cards are a few MB/s
  • Karma177 @ Karma177:
    @The Real Jdbye it hasn't given me any error trying to write things on it so I don't really think it's faulty (pasted 40/50gb+ folders and no write errors)
  • DinohScene @ DinohScene:
    run h2testw on it
    +1
  • DinohScene @ DinohScene:
    when SD cards/microSD write speeds drop below a meg a sec, they're usually on the verge of dying
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Samsung SD format can sometimes fix them too
  • Purple_Heart @ Purple_Heart:
    yes looks like an faulty sd
  • Purple_Heart @ Purple_Heart:
    @Psionic Roshambo i may try that with my dead sd cards
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    It's always worth a shot
  • TwoSpikedHands @ TwoSpikedHands:
    @The Real Jdbye, I considered that, but i'll have to wait until i can get the eu version in the mail lol
    TwoSpikedHands @ TwoSpikedHands: @The Real Jdbye, I considered that, but i'll have to wait until i can get the eu version in the...