Final Fantasy X & X-2 is interesting, from a code perspective
I guess this game is the first Switch game with multiple executables.
The main.nso in exefs.nsp is only the launcher, all of the games code is stored in "romfs:/nro/" & "romfs:/.nrr/".
Unlike all the other versions of the game (PS2, PS3, Vita, PC), it has ALL of the debug symbols still inside, this makes code searching much easier.
But now the Problem:
- NRO's are loaded into RAM, with it's own HEAP and MAIN
- Edizon and co. are searching memory in HEAP and MAIN of main.nso, this isn't going to work on this game!
- searching RAM is not an option, because it's painful slow
- a pure cheat code solution that works on every boot is simply not possible with current tools...
Options:
- modify main.nso to store a pointer to the nro in a fixed memory location
- wait till edizon/atmosphere adds module addresses as memory spaces...
- directly modify the nro -> is not going to work, because of the *.nrr files, more signature patches are needed ^^
So only save editing for now...
The save files are identical to the ps2/pc version, so FFXED works.
To load the Switch saves in FFXED, use HxD, select 0x8 - 0x64FF, export this as a new file with ".psu" extension and FFXED can load it.
To load the modified save, you only have to add 8 byte (68 F1 AF 5C 00 00 00 00) at the start of the file (or copy over the old data).