05-08-2025, 06:54 PM
(05-06-2025, 05:09 PM)Vega Wrote: If you're using the NTSC-U version of the game (which I've used), your hook address (C3xxxxxx) should be the same as mine. Are you using a PAL version?
Regarding the r27 thing...
Registers r14 thru r31 are Non-Volatile Registers (aka Global variable registers). These means some of these registers may hold memory addresses that will always point to some key/critical info that COULD be useful/related to your code. The memory addresses will change/vary/update but offsets (used to find desired info) relative to them will not.
On my MSM code whenever the game executes at 0x815b5268, r27 is a memory address. That address + 0x496 always points to the character's "packet". Packet basically being a small chunk of memory that contains attributes to that character (such as Slot number). Because I have access to this "packet" and no how to find it (thanks to r27), this allows me to expand/add features to the code such as Changing every character selectively.
"Invalid write to 0x000084b4, PC = 0x80002370"
This means the instruction at 0x80002370 is executing a store (i.e. stw/sth/stb) instruction to a invalid/non-existent memory address.
The gecko code handler places cheats codes at 0x80002XXX addresses. Meaning there's a store instruciton in your code that's writing/storing to a invalid address.
In the code there is only 1 store instruction.
Code:stbu r0, 0x28 (r10)
In assembled hex form it is the 9C0A0028 part of the code.
The stbu instruction is invalid because r10 is not a memory address. Well does the code write/modify to r10 beforehand? Yes it does, with the following instruction...
Code:addi r10, r27, 0x470
The only way r10 can end up being an invalid address is because r27 was not a memory address when this addition occurred.
r27 is not an address probably because of your incorrect hook address of the code (the C3xxxxxx part).
Keep in mind i've only tested the code in 3v3 basketball, nowhere else and it was only a handful of tests. Very possible the code is just "buggy" and needs fixing in general.
No, I don't use the PAL version, I use the NTSC-U version (just like you). In fact, if you want, I can even show you some screenshots as proof:
![[Image: 1.png]](https://i.ibb.co/vvP8wXbz/1.png)
Look at the two rectangles highlighted in red, and also check the address highlighted in green.
Regarding register r27, it appears like this for me:
![[Image: 2.png]](https://i.ibb.co/GfShhSxd/2.png)
It doesn't appear highlighted in red like the others, so I don't know.