Hi all,
Some news on "Max Money" cheat...
Succeeded to connect IDA to the Yuzu emulator in debug mode and I was able to analyze the code in more detail.
As I wrote earlier, the error is in the cheat-money code itself by-怪盗B.
His code only checks the end of the pointer address and writes "999999" to all addresses that end in pointer E28 (xxxxxE28).
Error in this, there are many such addresses and not all of them are "MONEY".
And the pointer to "MONEY" address never ends with "E28", this code will NEVER work correctly!
Also problem in common code for handling various parameters of the hero (and not only the hero)
He looks like this...
I fixed the cheat code and it will give "999999" MONEY
We always have "999999" MONEY
But the problem is that the cheat code will work if you activate it after the start of the game...
...and with this, emulators have problems, a cheat code that changes the main-code will not work if it is not loaded before the game (need to check on real Switch console, is it possible to patch the main-code during the game (On/Off patch) ???)
When Start/Load /Save the game with the cheat-money enabled on the emulator, we will get either a crash (on Ryujinx) or an endless load (Yuzu).
I made two versions of the cheat-code-MONEY, the first one is loaded with the game (maybe it will work on a real Switch console), the second one turns on when you exit the +menu (you can first boot, and then activate the cheat code).
[Money 999999]
04000000 01B92A74 8B080D28
04000000 01B92A78 EB08013F
04000000 01B92A7C 54000201
04000000 01B92A80 F81F8FE9
04000000 01B92A84 B81F8FE9
04000000 01B92A88 B8400129
04000000 01B92A8C 710AE13F
04000000 01B92A90 54000121
04000000 01B92A94 B84087E9
04000000 01B92A98 B81F8FE9
04000000 01B92A9C 12000D29
04000000 01B92AA0 7100213F
04000000 01B92AA4 54000081
04000000 01B92AA8 52847E09
04000000 01B92AAC 72A92E89
04000000 01B92AB0 B81F0329
04000000 01B92AB4 B84087E9
04000000 01B92AB8 F84087E9
04000000 01B92ABC D65F03C0
[Money Normal]
04000000 01B92A74 8B080D28
04000000 01B92A78 D65F03C0
[Money ON]
04000000 003EAE24 945E9F14
[Money OFF]
04000000 003EAE24 8B080D28
[Money 999999 ON +menu exit effect]
04000000 019E3914 9406BC6B
04000000 019E39D8 52800028
04000000 01B92AC0 B941B108
04000000 01B92AC4 F81F8FE9
04000000 01B92AC8 B81F8FE0
04000000 01B92ACC 5293E280
04000000 01B92AD0 72B28BC0
04000000 01B92AD4 D29DC489
04000000 01B92AD8 F2A107C9
04000000 01B92ADC B9000120
04000000 01B92AE0 B84087E0
04000000 01B92AE4 F84087E9
04000000 01B92AE8 D65F03C0
[Money 999999 OFF +menu exit effect]
04000000 019E3914 B941B108
04000000 019E39D8 B8696908
"
[Money 999999]" must always be enabled, other options enable or disable the cheat code.
Test, maybe they will work for someone (without debugging mode)
I also tested the work of address pointers in emulators...
...they work, but they look a little different than the examples of the documentation.
Here is an example that I made (and they work for a while until the address changes).
[Money 999999 (Address 1)]
04000000 0B0F
DA70 497423F0
[Money 999999 (Address 2)]
04000000 0B0F
DB70 497423F0
[Money 999999 (Pointer Address 1)]
54000000 0ABD
BCF0
04000000 0000
46BA 497423F0
[Money 999999 (Pointer Address 2)]
54000000 0ABD
BDF0
04000000 0000
46BA 497423F0
The most correct solution is to find a POINTER at the beginning of the HERO structure (and MONEY seems to be the first in it, at least the master code works like this, the countdown starts from MONEY).
But it's hard to do it without the right software.
I have not yet found one that works with emulators.
Those who have a Switch console can try this program (PointerSearcher-SE)
With it, you can search for pointers in the created dump's of the game's memory.
That's all for now, good luck.
P.S. and the simplest thing is to use the "Cheat Engine" program, find your money address, set the desired value, save and forget about them for a while