diff --git a/src/game/pak/pak.c b/src/game/pak/pak.c index 4b75949ac..80cb83e72 100644 --- a/src/game/pak/pak.c +++ b/src/game/pak/pak.c @@ -4978,6 +4978,36 @@ glabel pakCorrupt /* f119e88: 27bd1070 */ addiu $sp,$sp,0x1070 ); +// Mismatch due to regalloc when calculating buffer1024[i] at end of the loop. +// Suspect the return value of osEepromLongWrite is being stored into result +// and printed in an indeffed block, but still can't get a match. +//void pakCorrupt(void) +//{ +// u8 buffer16[16]; +// s32 result; +// u32 buffer1024[1024]; +// u32 address; +// s32 i; +// s32 j; +// u8 buffer8[8]; +// +// func0f1167b0(SAVEDEVICE_GAMEPAK, 0x80, buffer1024); +// +// for (i = 0; buffer1024[i] != 0; i++) { +// for (j = 0; j < 8; j++) { +// buffer8[j] = random(); +// } +// +// address = func0f119368(SAVEDEVICE_GAMEPAK, buffer1024[i], buffer16); +// address += i * 8; +// address += 0x30; +// +// func000150e8(); +// osEepromLongWrite(&var80099e78, address, buffer8, 8); +// func00015144(); +// } +//} + GLOBAL_ASM( glabel func0f119e8c /* f119e8c: 27bdef58 */ addiu $sp,$sp,-4264 diff --git a/src/include/game/pak/pak.h b/src/include/game/pak/pak.h index 1f52a7ada..d7f33572f 100644 --- a/src/include/game/pak/pak.h +++ b/src/include/game/pak/pak.h @@ -9,7 +9,7 @@ u32 func0f116658(s8 arg0, u32 arg1); u32 func0f116684(u32 arg0); u32 func0f11668c(void); bool pakIsConnected(s32 paknum); -u32 func0f1167b0(void); +s32 func0f1167b0(s32 device, u32 arg1, u32 *buffer1024); u32 func0f1167d8(s8 arg0); s32 func0f116800(s8 arg0, s32 arg1, void *arg2, s32 arg3); s32 func0f116828(s8 arg0, s32 arg1, s32 arg2, void *arg3, s32 *arg4, s32 arg5); @@ -65,7 +65,7 @@ u32 func0f118d18(void); u32 func0f1190bc(void); u32 func0f119298(s8 index); void func0f119340(u32 arg0); -u32 func0f119368(void); +u32 func0f119368(s32 device, u32 arg1, u8 *buffer16); #if VERSION >= VERSION_NTSC_FINAL bool func0f119478(u32 arg0, u32 arg1, u32 *arg2); #endif