Sysmodule for injecting custom codes into retail Nintendo Switch games, by default it injects "Core" which includes many useful features known as NX-FPS (tracking game performance statistics, unlocking FPS) and ReverseNX-RT (switching between docked and handheld graphics profiles). Sysmodule also manages custom refresh rates in both handheld and docked modes.
This sysmodule targets more common approach, so basic compatibility with all games is a priority. If you want to inject your own code for specific game I recommend much more powerful code injection framework - exlaunch.
Original sysmodule was created by: https://github.com/shinyquagsire23
This fork includes many new features (aforementioned NX-FPS and ReverseNX-RT), compatibility fixes, and beside plugins support also supports patches for easy way to edit common functions.
Caution
It is required to have FW installed at least 10.0.0 version
No technical support for anything else than stock Atmosphere.
Important
Known issues:
- Instability with some custom sysmodules (like emuiibo),
- Cheats using HEAP+offset address instead of MAIN+offset address chain may not work properly.
Tools utilizing SaltyNX:
- FPSLocker
- ReverseNX-RT
- Status Monitor Overlay
- And more
For additional functions you need SaltyNX-Tool
Patches pattern:
- filename is a function symbol with filetype
.asm64
for 64-bit games,.asm32
for 32-bit games, - inside file write with hex editor instructions that you want to put into this function,
- put this file either to
SaltySD/patches
to make it work for every game, or toSaltySD/patches/*titleid*
to make it work for specific game.
Examples of such patches can be find HERE.
Download newest version from RELEASES, look for .zip file with name starting "SaltyNX", unpack it.
Put atmosphere
and SaltySD
folders unpacked from zip archive to root of your sdcard.
Remember to restart Switch.
Important
In case of any issues after updating already existing SaltyNX setup, remove whole SaltySD folder and put fresh one from release.
List of titles not compatible only with external plugins, they support all other SaltyNX features
Title | Why? |
---|---|
Alien: Isolation | Heap related |
Azure Striker Gunvolt: Striker Pack | 32-bit games don't support plugins |
Baldur's Gate and Baldur's Gate II: Enhanced Editions | 32-bit games don't support plugins |
CelDamage HD | 32-bit games don't support plugins |
Company of Heroes Collection | heap related |
DEADLY PREMONITION Origins | 32-bit games don't support plugins |
Death Road to Canada | 32-bit games don't support plugins |
Dies irae Amantes amentes For Nintendo Switch | 32-bit games don't support plugins |
EA SPORTS FC 24 | heap related |
Goat Simulator | 32-bit games don't support plugins |
Gothic | 32-bit games don't support plugins |
Grandia Collection | Only launcher is 64-bit, actual games are 32-bit, so plugins are not supported |
Grid: Autosport | Heap related |
Immortals Fenyx Rising | Heap related |
LIMBO | 32-bit games don't support plugins |
Luigi's Mansions 2 HD | 32-bit games don't support plugins |
Luigi's Mansion 3 | Heap related |
Mario Kart 8 Deluxe (1.0.0-3.0.3) | 32-bit games don't support plugins |
Mario Strikers: Battle League | Heap related |
Megadimension Neptunia VII | 32-bit games don't support plugins |
Moero Chronicle Hyper | 32-bit games don't support plugins |
Moero Crystal H | 32-bit games don't support plugins |
Monster Hunter Generations Ultimate | 32-bit games don't support plugins |
Monster Hunter XX Nintendo Switch Ver. | 32-bit games don't support plugins |
New Super Mario Bros. U Deluxe | 32-bit games don't support plugins |
Ni no Kuni: Wrath of the White Witch | 32-bit games don't support plugins |
Olympic Games Tokyo 2020 – The Official Video Game™ | heap related |
Pikmin 3 Deluxe | 32-bit games don't support plugins |
Planescape: Torment and Icewind Dale | 32-bit games don't support plugins |
Plants vs. Zombies: Battle for Neighborville | Heap related |
Radiant Silvergun | 32-bit games don't support plugins |
Sherlock Holmes and The Hound of The Baskervilles | 32-bit games don't support plugins |
Stubbs the Zombie in Rebel Without a Pulse | heap related |
The Lara Croft Collection | heap related |
Tokyo Mirage Session #FE Encore | 32-bit games don't support plugins |
Valkyria Chronicles | 32-bit games don't support plugins |
World of Goo | 32-bit games don't support plugins |
YouTube | Unknown |
超次次元ゲイム ネプテューヌRe;Birth1 | 32-bit games don't support plugins |
超次次元ゲイム ネプテューヌRe;Birth2 SISTERS GENERATION | 32-bit games don't support plugins |
神次次元ゲイム ネプテューヌRe;Birth3 V CENTURY | 32-bit games don't support plugins |
List of games not compatible with SaltyNX at all
Title | Why? |
---|---|
Witcher 3 GOTY (version 3.2) | heap related |
Cooler3D
for sharing code with me how he was changing handheld display refresh rate in his tools that were first publicly available tools allowing this on HOS. I have used that as basis to make my own function.