diff --git a/src/game/data/data_000000.c b/src/game/data/data_000000.c index 6baa5809a..faef426bf 100644 --- a/src/game/data/data_000000.c +++ b/src/game/data/data_000000.c @@ -6,7 +6,7 @@ #include "game/game_0dcdb0.h" #include "game/data/data_000000.h" #include "game/data/data_00e460.h" -#include "lib/lib_0bfb0.h" +#include "lib/lib_0c000.h" #include "lib/lib_0d520.h" #include "lib/lib_3e730.h" #include "gvars/gvars.h" diff --git a/src/include/lib/lib_0bfb0.h b/src/include/lib/lib_0bfb0.h index 5b5bbd35b..cab9c72e7 100644 --- a/src/include/lib/lib_0bfb0.h +++ b/src/include/lib/lib_0bfb0.h @@ -3,90 +3,7 @@ #include #include "types.h" -extern const char var70052700[]; -extern const char var70052704[]; -extern const char var70052708[]; -extern const char var7005270c[]; -extern const char var70052710[]; -extern const char var70052714[]; -extern const char var70052718[]; -extern const char var7005271c[]; -extern const char var70052720[]; -extern const char var70052724[]; -extern const char var70052728[]; -extern const char var70052730[]; -extern const char var70052738[]; -extern const char var70052744[]; -extern const char var70052770[]; -extern const char var70052788[]; -extern const char var700527b4[]; -extern const char var700527dc[]; -extern const char var700527e4[]; -extern const char var700527e8[]; -extern const char var70052800[]; -extern const char var70052810[]; -extern const char var7005281c[]; -extern const char var70052824[]; -extern const char var70052854[]; -extern const char var70052864[]; -extern const char var70052870[]; -extern const char var700528a0[]; -extern const char var700528a4[]; -extern const char var700528a8[]; -extern const char var700528ac[]; -extern const char var700528b0[]; -extern const char var700528b4[]; -extern const char var700528b8[]; -extern const char var700528bc[]; -extern const char var700528c0[]; -extern const char var700528c4[]; -extern const char var700528c8[]; -extern const char var700528cc[]; -extern const char var700528d0[]; -extern const char var700528d4[]; -extern const char var700528d8[]; -extern const char var700528dc[]; -extern const char var700528e0[]; -extern const char var700528e4[]; -extern const char var700528e8[]; -extern const char var700528ec[]; -extern const char var700528f0[]; -extern const char var700528f4[]; -extern const char var700528f8[]; -extern const char var700528fc[]; -extern const char var70052900[]; -extern const char var70052904[]; -extern const char var70052908[]; -extern const char var7005290c[]; -extern const char var70052910[]; -extern const char var70052914[]; -extern const char var70052918[]; -extern const char var7005291c[]; -extern const char var70052920[]; -extern const char var70052924[]; -extern const char var70052928[]; -extern const char var70052938[]; -extern const char var70052944[]; -extern const char var70052950[]; -extern const char var7005295c[]; -extern const char var70052968[]; -extern const char var70052974[]; -extern const char var70052978[]; -extern const char var7005297c[]; -extern const char var70052980[]; -extern const char var70052984[]; -extern const char var70052988[]; -extern const char var7005298c[]; -extern const char var70052990[]; -extern const char var70052994[]; -extern const char var70052998[]; -extern const char var7005299c[]; -extern const char var700529a0[]; -extern const char var700529a4[]; -extern const char var700529a8[]; -extern const char var700529ac[]; - u32 func0000bfb0(void); -u32 func0000bfd0(void); +void func0000bfd0(char *arg0, char *arg1, s32 arg2); #endif diff --git a/src/include/lib/lib_0c000.h b/src/include/lib/lib_0c000.h index 57453f196..02463c6fe 100644 --- a/src/include/lib/lib_0c000.h +++ b/src/include/lib/lib_0c000.h @@ -3,6 +3,89 @@ #include #include "types.h" +extern const char var70052700[]; +extern const char var70052704[]; +extern const char var70052708[]; +extern const char var7005270c[]; +extern const char var70052710[]; +extern const char var70052714[]; +extern const char var70052718[]; +extern const char var7005271c[]; +extern const char var70052720[]; +extern const char var70052724[]; +extern const char var70052728[]; +extern const char var70052730[]; +extern const char var70052738[]; +extern const char var70052744[]; +extern const char var70052770[]; +extern const char var70052788[]; +extern const char var700527b4[]; +extern const char var700527dc[]; +extern const char var700527e4[]; +extern const char var700527e8[]; +extern const char var70052800[]; +extern const char var70052810[]; +extern const char var7005281c[]; +extern const char var70052824[]; +extern const char var70052854[]; +extern const char var70052864[]; +extern const char var70052870[]; +extern const char var700528a0[]; +extern const char var700528a4[]; +extern const char var700528a8[]; +extern const char var700528ac[]; +extern const char var700528b0[]; +extern const char var700528b4[]; +extern const char var700528b8[]; +extern const char var700528bc[]; +extern const char var700528c0[]; +extern const char var700528c4[]; +extern const char var700528c8[]; +extern const char var700528cc[]; +extern const char var700528d0[]; +extern const char var700528d4[]; +extern const char var700528d8[]; +extern const char var700528dc[]; +extern const char var700528e0[]; +extern const char var700528e4[]; +extern const char var700528e8[]; +extern const char var700528ec[]; +extern const char var700528f0[]; +extern const char var700528f4[]; +extern const char var700528f8[]; +extern const char var700528fc[]; +extern const char var70052900[]; +extern const char var70052904[]; +extern const char var70052908[]; +extern const char var7005290c[]; +extern const char var70052910[]; +extern const char var70052914[]; +extern const char var70052918[]; +extern const char var7005291c[]; +extern const char var70052920[]; +extern const char var70052924[]; +extern const char var70052928[]; +extern const char var70052938[]; +extern const char var70052944[]; +extern const char var70052950[]; +extern const char var7005295c[]; +extern const char var70052968[]; +extern const char var70052974[]; +extern const char var70052978[]; +extern const char var7005297c[]; +extern const char var70052980[]; +extern const char var70052984[]; +extern const char var70052988[]; +extern const char var7005298c[]; +extern const char var70052990[]; +extern const char var70052994[]; +extern const char var70052998[]; +extern const char var7005299c[]; +extern const char var700529a0[]; +extern const char var700529a4[]; +extern const char var700529a8[]; +extern const char var700529ac[]; + u32 func0000c000(void); u32 func0000c118(void); u32 func0000c240(void); diff --git a/src/include/lib/lib_2fa00.h b/src/include/lib/lib_2fa00.h index ac54dccb7..5ef7ebb30 100644 --- a/src/include/lib/lib_2fa00.h +++ b/src/include/lib/lib_2fa00.h @@ -5,6 +5,6 @@ u32 func0002fa00(void); u32 func0002fa08(void); -u32 func0002faa4(void); +void func0002faa4(char *format, ...); #endif diff --git a/src/lib/lib_0bfb0.c b/src/lib/lib_0bfb0.c index 235a4205e..eee8fff8d 100644 --- a/src/lib/lib_0bfb0.c +++ b/src/lib/lib_0bfb0.c @@ -12,91 +12,6 @@ #include "lib/lib_2fa00.h" #include "types.h" -const char var700526e0[] = "ASSERTION : %s, %d: (\"%s\")\n"; -const char var700526fc[] = ""; -const char var70052700[] = "BD"; -const char var70052704[] = "IP8"; -const char var70052708[] = "IP7"; -const char var7005270c[] = "IP6"; -const char var70052710[] = "IP5"; -const char var70052714[] = "IP4"; -const char var70052718[] = "IP3"; -const char var7005271c[] = "IP2"; -const char var70052720[] = "IP1"; -const char var70052724[] = "Int"; -const char var70052728[] = "TLBmod"; -const char var70052730[] = "TLBload"; -const char var70052738[] = "TLBstore"; -const char var70052744[] = "Address error on load or instruction fetch"; -const char var70052770[] = "Address error on store"; -const char var70052788[] = "Bus error exception on instruction fetch"; -const char var700527b4[] = "Bus error exception on data reference"; -const char var700527dc[] = "Syscall"; -const char var700527e4[] = "Brk"; -const char var700527e8[] = "Reserved instruction"; -const char var70052800[] = "Cop unusable"; -const char var70052810[] = "Overflow"; -const char var7005281c[] = "Trap"; -const char var70052824[] = "Virtual coherency exception on intruction fetch"; -const char var70052854[] = "Fp exception"; -const char var70052864[] = "Watchpoint"; -const char var70052870[] = "Virtual coherency exception on data reference"; -const char var700528a0[] = ""; -const char var700528a4[] = "CU3"; -const char var700528a8[] = "CU2"; -const char var700528ac[] = "CU1"; -const char var700528b0[] = "CU0"; -const char var700528b4[] = "RP"; -const char var700528b8[] = "FR"; -const char var700528bc[] = "RE"; -const char var700528c0[] = "BEV"; -const char var700528c4[] = "TS"; -const char var700528c8[] = "SR"; -const char var700528cc[] = "CH"; -const char var700528d0[] = "CE"; -const char var700528d4[] = "DE"; -const char var700528d8[] = "IM8"; -const char var700528dc[] = "IM7"; -const char var700528e0[] = "IM6"; -const char var700528e4[] = "IM5"; -const char var700528e8[] = "IM4"; -const char var700528ec[] = "IM3"; -const char var700528f0[] = "IM2"; -const char var700528f4[] = "IM1"; -const char var700528f8[] = "KX"; -const char var700528fc[] = "SX"; -const char var70052900[] = "UX"; -const char var70052904[] = "USR"; -const char var70052908[] = "SUP"; -const char var7005290c[] = "KER"; -const char var70052910[] = "ERL"; -const char var70052914[] = "EXL"; -const char var70052918[] = "IE"; -const char var7005291c[] = ""; -const char var70052920[] = "FS"; -const char var70052924[] = "C"; -const char var70052928[] = "Unimplemented"; -const char var70052938[] = "Invalid op"; -const char var70052944[] = "/ by 0.0"; -const char var70052950[] = "Overflow"; -const char var7005295c[] = "Underflow"; -const char var70052968[] = "Inexact op"; -const char var70052974[] = "EV"; -const char var70052978[] = "EZ"; -const char var7005297c[] = "EO"; -const char var70052980[] = "EU"; -const char var70052984[] = "EI"; -const char var70052988[] = "FV"; -const char var7005298c[] = "FZ"; -const char var70052990[] = "FO"; -const char var70052994[] = "FU"; -const char var70052998[] = "FI"; -const char var7005299c[] = "RN"; -const char var700529a0[] = "RZ"; -const char var700529a4[] = "RP"; -const char var700529a8[] = "RM"; -const char var700529ac[] = ""; - GLOBAL_ASM( glabel func0000bfb0 /* bfb0: 27bdffe8 */ addiu $sp,$sp,-24 @@ -109,18 +24,7 @@ glabel func0000bfb0 /* bfcc: 00000000 */ nop ); -GLOBAL_ASM( -glabel func0000bfd0 -/* bfd0: 27bdffe8 */ addiu $sp,$sp,-24 -/* bfd4: 00803825 */ or $a3,$a0,$zero -/* bfd8: afbf0014 */ sw $ra,0x14($sp) -/* bfdc: 3c047005 */ lui $a0,%hi(var700526e0) -/* bfe0: 0c00bea9 */ jal func0002faa4 -/* bfe4: 248426e0 */ addiu $a0,$a0,%lo(var700526e0) -/* bfe8: 8fbf0014 */ lw $ra,0x14($sp) -/* bfec: 27bd0018 */ addiu $sp,$sp,0x18 -/* bff0: 03e00008 */ jr $ra -/* bff4: 00000000 */ nop -/* bff8: 00000000 */ nop -/* bffc: 00000000 */ nop -); \ No newline at end of file +void func0000bfd0(char *arg0, char *arg1, s32 arg2) +{ + func0002faa4("ASSERTION : %s, %d: (\"%s\")\n", arg1, arg2, arg0); +} diff --git a/src/lib/lib_0c000.c b/src/lib/lib_0c000.c index b9e8463c5..927600cfd 100644 --- a/src/lib/lib_0c000.c +++ b/src/lib/lib_0c000.c @@ -18,6 +18,89 @@ #include "lib/lib_4e530.h" #include "types.h" +const char var70052700[] = "BD"; +const char var70052704[] = "IP8"; +const char var70052708[] = "IP7"; +const char var7005270c[] = "IP6"; +const char var70052710[] = "IP5"; +const char var70052714[] = "IP4"; +const char var70052718[] = "IP3"; +const char var7005271c[] = "IP2"; +const char var70052720[] = "IP1"; +const char var70052724[] = "Int"; +const char var70052728[] = "TLBmod"; +const char var70052730[] = "TLBload"; +const char var70052738[] = "TLBstore"; +const char var70052744[] = "Address error on load or instruction fetch"; +const char var70052770[] = "Address error on store"; +const char var70052788[] = "Bus error exception on instruction fetch"; +const char var700527b4[] = "Bus error exception on data reference"; +const char var700527dc[] = "Syscall"; +const char var700527e4[] = "Brk"; +const char var700527e8[] = "Reserved instruction"; +const char var70052800[] = "Cop unusable"; +const char var70052810[] = "Overflow"; +const char var7005281c[] = "Trap"; +const char var70052824[] = "Virtual coherency exception on intruction fetch"; +const char var70052854[] = "Fp exception"; +const char var70052864[] = "Watchpoint"; +const char var70052870[] = "Virtual coherency exception on data reference"; +const char var700528a0[] = ""; +const char var700528a4[] = "CU3"; +const char var700528a8[] = "CU2"; +const char var700528ac[] = "CU1"; +const char var700528b0[] = "CU0"; +const char var700528b4[] = "RP"; +const char var700528b8[] = "FR"; +const char var700528bc[] = "RE"; +const char var700528c0[] = "BEV"; +const char var700528c4[] = "TS"; +const char var700528c8[] = "SR"; +const char var700528cc[] = "CH"; +const char var700528d0[] = "CE"; +const char var700528d4[] = "DE"; +const char var700528d8[] = "IM8"; +const char var700528dc[] = "IM7"; +const char var700528e0[] = "IM6"; +const char var700528e4[] = "IM5"; +const char var700528e8[] = "IM4"; +const char var700528ec[] = "IM3"; +const char var700528f0[] = "IM2"; +const char var700528f4[] = "IM1"; +const char var700528f8[] = "KX"; +const char var700528fc[] = "SX"; +const char var70052900[] = "UX"; +const char var70052904[] = "USR"; +const char var70052908[] = "SUP"; +const char var7005290c[] = "KER"; +const char var70052910[] = "ERL"; +const char var70052914[] = "EXL"; +const char var70052918[] = "IE"; +const char var7005291c[] = ""; +const char var70052920[] = "FS"; +const char var70052924[] = "C"; +const char var70052928[] = "Unimplemented"; +const char var70052938[] = "Invalid op"; +const char var70052944[] = "/ by 0.0"; +const char var70052950[] = "Overflow"; +const char var7005295c[] = "Underflow"; +const char var70052968[] = "Inexact op"; +const char var70052974[] = "EV"; +const char var70052978[] = "EZ"; +const char var7005297c[] = "EO"; +const char var70052980[] = "EU"; +const char var70052984[] = "EI"; +const char var70052988[] = "FV"; +const char var7005298c[] = "FZ"; +const char var70052990[] = "FO"; +const char var70052994[] = "FU"; +const char var70052998[] = "FI"; +const char var7005299c[] = "RN"; +const char var700529a0[] = "RZ"; +const char var700529a4[] = "RP"; +const char var700529a8[] = "RM"; +const char var700529ac[] = ""; + const char var700529b0[] = "Bad tid\n"; const char var700529bc[] = "Bad tid\n"; const char var700529c8[] = "%s%s%02d: % .7e "; @@ -463,6 +546,10 @@ glabel func0000c4d4 /* c53c: 27bd0018 */ addiu $sp,$sp,0x18 /* c540: 03e00008 */ jr $ra /* c544: 00000000 */ nop +); + +GLOBAL_ASM( +glabel func0000c548 /* c548: 27bdff10 */ addiu $sp,$sp,-240 /* c54c: afa400f0 */ sw $a0,0xf0($sp) /* c550: afbf003c */ sw $ra,0x3c($sp) diff --git a/tools/packrom b/tools/packrom index 7fccaab13..2f98b80e3 100755 --- a/tools/packrom +++ b/tools/packrom @@ -132,12 +132,14 @@ def main(): fd = open(sys.argv[1], 'rb+') + if os.environ['MATCHING'] == '1': + write_garbage(fd, locations) + pack_lib(fd, locations) pack_data(fd, locations) pack_game(fd, locations) if os.environ['MATCHING'] == '1': - write_garbage(fd, locations) fill_tail(fd) # Truncate to 32MB