diff --git a/Makefile b/Makefile index 5c0b02442..9e3da058d 100644 --- a/Makefile +++ b/Makefile @@ -83,6 +83,7 @@ $(B_DIR)/lib/ultra/libc/llcvt.o: MIPSISET := -mips3 -32 # it introduces a race condition when using make -j because they create a # temporary include-stdin.u file during compilation. # For these files, see their explicit targets towards the end of this file. +$(B_DIR)/lib/lib_30ce0.o: OPT_LVL := -g $(B_DIR)/lib/lib_3a100.o: OPT_LVL := -g $(B_DIR)/lib/lib_3d280.o: OPT_LVL := -g $(B_DIR)/lib/ultra/audio/bnkf.o: OPT_LVL := -g diff --git a/src/include/lib/lib_30ce0.h b/src/include/lib/lib_30ce0.h index 2261b5f4b..963119f1b 100644 --- a/src/include/lib/lib_30ce0.h +++ b/src/include/lib/lib_30ce0.h @@ -5,7 +5,6 @@ #include "types.h" u32 func00030ce0(void); -u32 func00031504(void); u32 func00031564(void); u32 func00031590(void); u32 func000315f4(void); diff --git a/src/lib/lib_30ce0.c b/src/lib/lib_30ce0.c index b09f80fc9..f05ebbef7 100644 --- a/src/lib/lib_30ce0.c +++ b/src/lib/lib_30ce0.c @@ -1,4 +1,5 @@ #include +#include "PR/synthInternals.h" #include "constants.h" #include "bss.h" #include "lib/lib_30ce0.h" @@ -564,35 +565,18 @@ glabel alAudioFrame /* 31500: 27bd0040 */ addiu $sp,$sp,0x40 ); -GLOBAL_ASM( -glabel func00031504 -/* 31504: 27bdfff8 */ addiu $sp,$sp,-8 -/* 31508: afa00004 */ sw $zero,0x4($sp) -/* 3150c: 3c0e8006 */ lui $t6,%hi(alGlobals) -/* 31510: 8dcef114 */ lw $t6,%lo(alGlobals)($t6) -/* 31514: 8dcf002c */ lw $t7,0x2c($t6) -/* 31518: 11e0000c */ beqz $t7,.L0003154c -/* 3151c: 00000000 */ nop -/* 31520: 3c188006 */ lui $t8,%hi(alGlobals) -/* 31524: 8f18f114 */ lw $t8,%lo(alGlobals)($t8) -/* 31528: 8f19002c */ lw $t9,0x2c($t8) -/* 3152c: afb90004 */ sw $t9,0x4($sp) -/* 31530: 3c088006 */ lui $t0,%hi(alGlobals) -/* 31534: 8d08f114 */ lw $t0,%lo(alGlobals)($t0) -/* 31538: 8d09002c */ lw $t1,0x2c($t0) -/* 3153c: 8d2a0000 */ lw $t2,0x0($t1) -/* 31540: ad0a002c */ sw $t2,0x2c($t0) -/* 31544: 8fab0004 */ lw $t3,0x4($sp) -/* 31548: ad600000 */ sw $zero,0x0($t3) -.L0003154c: -/* 3154c: 10000003 */ b .L0003155c -/* 31550: 8fa20004 */ lw $v0,0x4($sp) -/* 31554: 10000001 */ b .L0003155c -/* 31558: 00000000 */ nop -.L0003155c: -/* 3155c: 03e00008 */ jr $ra -/* 31560: 27bd0008 */ addiu $sp,$sp,0x8 -); +ALParam *__allocParam() +{ + ALParam *update = NULL; + + if (alGlobals->drvr.paramList) { + update = alGlobals->drvr.paramList; + alGlobals->drvr.paramList = alGlobals->drvr.paramList->next; + update->next = 0; + } + + return update; +} GLOBAL_ASM( glabel func00031564 diff --git a/src/lib/lib_3c890.c b/src/lib/lib_3c890.c index 45561b47e..55dbcc8e0 100644 --- a/src/lib/lib_3c890.c +++ b/src/lib/lib_3c890.c @@ -155,7 +155,7 @@ glabel func0003c9e0 /* 3ca8c: 8faf0024 */ lw $t7,0x24($sp) /* 3ca90: 8fb80028 */ lw $t8,0x28($sp) /* 3ca94: af0f0008 */ sw $t7,0x8($t8) -/* 3ca98: 0c00c541 */ jal func00031504 +/* 3ca98: 0c00c541 */ jal __allocParam /* 3ca9c: 00000000 */ nop /* 3caa0: afa20020 */ sw $v0,0x20($sp) /* 3caa4: 8fb90020 */ lw $t9,0x20($sp) @@ -182,7 +182,7 @@ glabel func0003c9e0 /* 3caf8: 10000001 */ b .L0003cb00 /* 3cafc: 00000000 */ nop .L0003cb00: -/* 3cb00: 0c00c541 */ jal func00031504 +/* 3cb00: 0c00c541 */ jal __allocParam /* 3cb04: 00000000 */ nop /* 3cb08: afa20020 */ sw $v0,0x20($sp) /* 3cb0c: 8fb90020 */ lw $t9,0x20($sp) diff --git a/src/lib/lib_3ccf0.c b/src/lib/lib_3ccf0.c index 95304aab3..c26363070 100644 --- a/src/lib/lib_3ccf0.c +++ b/src/lib/lib_3ccf0.c @@ -17,7 +17,7 @@ glabel alSynSetVol /* 3cd08: 8dcf0008 */ lw $t7,0x8($t6) /* 3cd0c: 11e00023 */ beqz $t7,.L0003cd9c /* 3cd10: 00000000 */ nop -/* 3cd14: 0c00c541 */ jal func00031504 +/* 3cd14: 0c00c541 */ jal __allocParam /* 3cd18: 00000000 */ nop /* 3cd1c: afa2001c */ sw $v0,0x1c($sp) /* 3cd20: 8fb8001c */ lw $t8,0x1c($sp) diff --git a/src/lib/lib_3cdc0.c b/src/lib/lib_3cdc0.c index 937ea06ec..b955e0e21 100644 --- a/src/lib/lib_3cdc0.c +++ b/src/lib/lib_3cdc0.c @@ -18,7 +18,7 @@ glabel func0003cdc0 /* 3cddc: 8dcf0008 */ lw $t7,0x8($t6) /* 3cde0: 11e0003c */ beqz $t7,.L0003ced4 /* 3cde4: 00000000 */ nop -/* 3cde8: 0c00c541 */ jal func00031504 +/* 3cde8: 0c00c541 */ jal __allocParam /* 3cdec: 00000000 */ nop /* 3cdf0: afa2001c */ sw $v0,0x1c($sp) /* 3cdf4: 8fb8001c */ lw $t8,0x1c($sp) diff --git a/src/lib/lib_3cef0.c b/src/lib/lib_3cef0.c index 2cfb728f9..41175cb38 100644 --- a/src/lib/lib_3cef0.c +++ b/src/lib/lib_3cef0.c @@ -16,7 +16,7 @@ glabel func0003cef0 /* 3cf04: 8dcf0008 */ lw $t7,0x8($t6) /* 3cf08: 11e0001f */ beqz $t7,.L0003cf88 /* 3cf0c: 00000000 */ nop -/* 3cf10: 0c00c541 */ jal func00031504 +/* 3cf10: 0c00c541 */ jal __allocParam /* 3cf14: 00000000 */ nop /* 3cf18: afa2001c */ sw $v0,0x1c($sp) /* 3cf1c: 8fb8001c */ lw $t8,0x1c($sp) @@ -67,7 +67,7 @@ glabel func0003cfa0 /* 3cfb4: 8dcf0008 */ lw $t7,0x8($t6) /* 3cfb8: 11e0001f */ beqz $t7,.L0003d038 /* 3cfbc: 00000000 */ nop -/* 3cfc0: 0c00c541 */ jal func00031504 +/* 3cfc0: 0c00c541 */ jal __allocParam /* 3cfc4: 00000000 */ nop /* 3cfc8: afa2001c */ sw $v0,0x1c($sp) /* 3cfcc: 8fb8001c */ lw $t8,0x1c($sp) @@ -118,7 +118,7 @@ glabel func0003d050 /* 3d064: 8dcf0008 */ lw $t7,0x8($t6) /* 3d068: 11e0001f */ beqz $t7,.L0003d0e8 /* 3d06c: 00000000 */ nop -/* 3d070: 0c00c541 */ jal func00031504 +/* 3d070: 0c00c541 */ jal __allocParam /* 3d074: 00000000 */ nop /* 3d078: afa2001c */ sw $v0,0x1c($sp) /* 3d07c: 8fb8001c */ lw $t8,0x1c($sp) @@ -168,7 +168,7 @@ glabel func0003d100 /* 3d110: 8dcf0008 */ lw $t7,0x8($t6) /* 3d114: 11e0001c */ beqz $t7,.L0003d188 /* 3d118: 00000000 */ nop -/* 3d11c: 0c00c541 */ jal func00031504 +/* 3d11c: 0c00c541 */ jal __allocParam /* 3d120: 00000000 */ nop /* 3d124: afa2001c */ sw $v0,0x1c($sp) /* 3d128: 8fb8001c */ lw $t8,0x1c($sp) @@ -220,7 +220,7 @@ glabel func0003d1a0 /* 3d1c4: 8f280088 */ lw $t0,0x88($t9) /* 3d1c8: 1100001f */ beqz $t0,.L0003d248 /* 3d1cc: 00000000 */ nop -/* 3d1d0: 0c00c541 */ jal func00031504 +/* 3d1d0: 0c00c541 */ jal __allocParam /* 3d1d4: 00000000 */ nop /* 3d1d8: afa2001c */ sw $v0,0x1c($sp) /* 3d1dc: 8fa9001c */ lw $t1,0x1c($sp) diff --git a/src/lib/lib_3e3e0.c b/src/lib/lib_3e3e0.c index cbeddf9ba..5863a2874 100644 --- a/src/lib/lib_3e3e0.c +++ b/src/lib/lib_3e3e0.c @@ -22,7 +22,7 @@ glabel func0003e3e0 /* 3e3f4: 8dcf0008 */ lw $t7,0x8($t6) /* 3e3f8: 11e0001f */ beqz $t7,.L0003e478 /* 3e3fc: 00000000 */ nop -/* 3e400: 0c00c541 */ jal func00031504 +/* 3e400: 0c00c541 */ jal __allocParam /* 3e404: 00000000 */ nop /* 3e408: afa2001c */ sw $v0,0x1c($sp) /* 3e40c: 8fb8001c */ lw $t8,0x1c($sp) @@ -73,7 +73,7 @@ glabel func0003e490 /* 3e4a4: 8dcf0008 */ lw $t7,0x8($t6) /* 3e4a8: 11e0001f */ beqz $t7,.L0003e528 /* 3e4ac: 00000000 */ nop -/* 3e4b0: 0c00c541 */ jal func00031504 +/* 3e4b0: 0c00c541 */ jal __allocParam /* 3e4b4: 00000000 */ nop /* 3e4b8: afa2001c */ sw $v0,0x1c($sp) /* 3e4bc: 8fb8001c */ lw $t8,0x1c($sp) diff --git a/src/lib/lib_3e730.c b/src/lib/lib_3e730.c index 626ba2977..e07044a3a 100644 --- a/src/lib/lib_3e730.c +++ b/src/lib/lib_3e730.c @@ -25,7 +25,7 @@ glabel func0003e730 /* 3e744: 8dcf0008 */ lw $t7,0x8($t6) /* 3e748: 11e0001f */ beqz $t7,.L0003e7c8 /* 3e74c: 00000000 */ nop -/* 3e750: 0c00c541 */ jal func00031504 +/* 3e750: 0c00c541 */ jal __allocParam /* 3e754: 00000000 */ nop /* 3e758: afa2001c */ sw $v0,0x1c($sp) /* 3e75c: 8fb8001c */ lw $t8,0x1c($sp)