This thread will include IPS patch for unlocking 60 FPS and how to change Dynamic Resolution values. Thanks to triple buffer 60 FPS drops are not that frustrating as f.e. in Link's Awakening.
It was confirmed working for PL [010039400E8D6000] and EU [01003D100E9C6000] releases.
It was confirmed working for PL [010039400E8D6000] and EU [01003D100E9C6000] releases.
-
First step to get 60 FPS is to unlock it. It works only with versions: 3.4-3.7
- Download:
> For versions 3.4 and 3.5: TW3-60FPS.zip
> For version 3.6: TW3-60FPS-3.6.zip
> For version 3.7: TW3-60FPS-3.7.zip
> For version 4.04b: TW3-60FPS-4.04b.zip
- put exefs_patches folder to
atmosphere
or
sxos
And Restart Switch.
Now you have 30 FPS lock deleted, but it will still not achieve 60 FPS because Dynamic Resolution is in the way. So we need to tweak it also.
Recommended OC settings for 60 FPS:
Code:handheld_cpu=1326 handheld_charging_gpu=768 handheld_charging_official_cpu=1785 handheld_charging_official_gpu=921 handheld_mem=1600 docked_cpu=1785 docked_gpu=921
-
First we need to backup our save with Edizon or Checkpoint. IT'S MANDATORY TO HAVE AT LEAST ONE GAME SAVE OR AUTOSAVE! ELSE SETTINGS WILL RESET TO DEFAULT!
In backup folder you will find folder user.settings and inside settings.txt
Now we need to find line
Code:[Rendering]
Code:DynamicResolutionOverride=-1 DRRequireCameraMove=1 DRIgnoreCPU=1 DRIgnoreVsync=1 DRGameTargetFrameTimeInMs=31.5 DRCinematicTargetFrameTimeInMs=40.0 DRIncreaseResolutionMargin=1 DRIncreaseResolutionMarginMultiply=1 DRCinematicIncreaseResolutionWaitTimeInMs=607.5 DRCinematicDecreaseResolutionWaitTimeInMs=101.5 DRGameIncreaseResolutionWaitTimeInMs=945.0 DRGameDecreaseResolutionWaitTimeInMs=157.5
These are default settings. I will focus only on settings that will make 60 FPS available and tweak cinematics for 30 FPS.
- For 60 FPS I recommend to paste those 2 lines:
Code:DRGameTargetFrameTimeInMs=14.0 DRCinematicTargetFrameTimeInMs=14.0
- For 30 FPS users I recommend to paste this line:
Code:DRCinematicTargetFrameTimeInMs=31.5
- Fixing resolution
You can disable Dynamic Resolution by using DynamicResolutionOverride
Code:DynamicResolutionOverride=-1
Starting from 0 we can disable it.
Ad. It looks like Inventory glitches for different values for each person. Only confirmed value that is not glitching is 25.
Code:Value | Handheld resolution | Docked resolution 0 | 832x468 | 956x536 1 | 848x476 | 956x536 2 | 860x488 | 956x536 3 | 884x496 | 956x536 4 | 900x508 | 956x536 5 | 920x516 | 956x536 6 | 936x528 | 956x536 7 | 956x536 | 956x536 8 | 972x548 | 972x548 9 | 992x556 | 992x556 10 | 1008x568 | 1008x568 11 | 1028x576 | 1028x576 12 | 1044x588 | 1044x588 13 | 1064x596 | 1064x596 14 | 1080x608 | 1080x608 15 | 1100x616 | 1100x616 16 | 1116x628 | 1116x628 17 | 1136x636 | 1136x636 18 | 1152x648 | 1152x648 19 | 1172x656 | 1172x656 20 | 1188x668 | 1188x668 21 | 1208x676 | 1208x676 22 | 1224x688 | 1224x688 23 | 1244x696 | 1244x696 24 | 1260x708 | 1260x708 25 | 1280x720 | 1280x720
Now just restore backuped save with changed config.
-
This tab will include some more advanced editing. Improper editing it can result in crashing game or system.
- Changing minimal Dynamic Resolution
Warning: This works only with versions 3.4-3.7. After changing it Fixing resolution point from Dynamic Resolution Config Tweaks will scale different, but still 25 is 1280x720.
You need to download:
> For versions 3.4 and 3.5: TW3-DR.zip
> For version 3.6: TW3-DR-3.6.zip
> For version 3.7: TW3-DR-3.7.zip (NOTE: from 3.7 game is using W29 register instead of W22, so underlined bytes are slightly different in IPS file dedicated for this version)
> For version 4.04b: TW3-DR-4.04b.zip (NOTE: from 4.04b game is using W26 and W19 registers instead of W22, so underlined bytes are slightly different in IPS file dedicated for this version)
and unpack it. Open IPS file with hex editor (for example HxD)
You will get something like this
Each color is different instruction with different config.
Red - Handheld width
Green - Handheld height
Brown - Docked width
Pink - Docked height
You need to convert those hex values to ARM instructions. You can use f.e. this site
http://armconverter.com/hextoarm/
As example we are taking red value -
Code:16688052
Code:MOVZ W22, #0x340
https://www.binaryhexconverter.com/hex-to-decimal-converter
After converting we got 832. We want to change it to 640. We can convert it back with f.e. this site
https://www.binaryhexconverter.com/decimal-to-hex-converter
After converting we got "280".
Now our instruction should look like
Code:MOVZ W22, #0x280
http://armconverter.com/
After converting we need to copy value from ARM64 window. So we got hex
Code:16508052
atmosphere
or
sxos
And restart Switch.
Attachments
-
TW3-DR-4.04b.zip436 bytes · Views: 99
-
TW3-60FPS-4.04b.zip423 bytes · Views: 104
-
TW3-60FPS-3.7.zip358 bytes · Views: 96
-
TW3-DR-3.7.zip369 bytes · Views: 93
-
TW3-DR-3.6.zip369 bytes · Views: 96
-
TW3-60FPS-3.6.zip358 bytes · Views: 98
-
TW3-DR.zip370 bytes · Views: 119
-
TW3-60FPS.zip357 bytes · Views: 99