07-06-2022, 07:57 PM
Flap Timer [Hibyehello]
Freezes the timer until the specified lap
* This code is not 100% accurate, it is accurate to around the frame
NTSC-U:
C2530DE0 00000006
3CA0809C 80A58F70
2C050000 41820020
80A5000C 80A50000
A0A50024 2C05000L
38000000 40820008
88030041 00000000
PAL:
C2535928 00000006
3CA0809C 80A5D730
2C050000 41820020
80A5000C 80A50000
A0A50024 2C05000L
38000000 40820008
88030041 00000000
NTSC-J:
C25352A8 00000006
3CA0809C 80A5C790
2C050000 41820020
80A5000C 80A50000
A0A50024 2C05000L
38000000 40820008
88030041 00000000
NTSC-K:
C2523980 00000006
3CA0809B 80A5BD70
2C050000 41820020
80A5000C 80A50000
A0A50024 2C05000L
38000000 40820008
88030041 00000000
Change L to specify the Lap to unfreeze the timer
Freezes the timer until the specified lap
* This code is not 100% accurate, it is accurate to around the frame
NTSC-U:
C2530DE0 00000006
3CA0809C 80A58F70
2C050000 41820020
80A5000C 80A50000
A0A50024 2C05000L
38000000 40820008
88030041 00000000
PAL:
C2535928 00000006
3CA0809C 80A5D730
2C050000 41820020
80A5000C 80A50000
A0A50024 2C05000L
38000000 40820008
88030041 00000000
NTSC-J:
C25352A8 00000006
3CA0809C 80A5C790
2C050000 41820020
80A5000C 80A50000
A0A50024 2C05000L
38000000 40820008
88030041 00000000
NTSC-K:
C2523980 00000006
3CA0809B 80A5BD70
2C050000 41820020
80A5000C 80A50000
A0A50024 2C05000L
38000000 40820008
88030041 00000000
Change L to specify the Lap to unfreeze the timer
Code:
.set NTSCURaceInfoPtr, 0x809b8f70
.set PALRaceInfoPtr, 0x809bd730
.set NTSCJRaceInfoPtr, 0x809bc790
.set NTSCKRaceInfoPtr, 0x809abd70
# NTSCU Hook address 0x80530DE0
# PAL Hook address 0x80535928
# NTSCJ Hook address 0x805352A8
# NTSCK Hook address 0x80523980
main_code:
lis r5, NTSCURaceInfoPtr@ha
lwz r5, NTSCURaceInfoPtr@l(r5)
cmpwi r5, 0
beq the_end
lwz r5, 0xC(r5)
lwz r5, 0x0(r5)
lhz r5, 0x24(r5)
cmpwi r5, 0x2
li r0, 0
bne the_end
lbz r0, 0x0041(r3)
the_end: