EDIT: Disregard my post, I misread yours. Apologies and thank you Seeky.
Regarding save data, the game does the following to get the pointer to the save data once its loaded into memory
substitute r3 with w/e register you need to use.
For player index, stebler uses the following in his pretty speedometer~
PAL using r4
Regarding save data, the game does the following to get the pointer to the save data once its loaded into memory
Code:
NTSC-U
lis r3, 0x809C
lwz r3, -0x7078 (r3)
lwz r3, 0x0014 (r3)
PAL
lis r3, 0x809C
lwz r3, -0x28B8 (r3)
lwz r3, 0x0014 (r3)
NTSC-J
lis r3, 0x809C
lwz r3, -0x3858 (r3)
lwz r3, 0x0014 (r3)
NTSC-K
lis r3, 0x809B
lwz r3, -0x4278 (r3)
lwz r3, 0x0014 (r3)
substitute r3 with w/e register you need to use.
For player index, stebler uses the following in his pretty speedometer~
PAL using r4
Code:
.set ptr_raceData, 0x809bd728
# get the player index from the first hud slot
lis r4, ptr_raceData@ha
lwz r4, ptr_raceData@l (r4)
lbz r4, 0xb84 (r4)