From 4c6a27987f1749a73534eea26257c9711657dce3 Mon Sep 17 00:00:00 2001 From: Mittenshugg Date: Thu, 6 Aug 2020 01:54:13 -0500 Subject: [PATCH] label C Sequence Player functions --- .../unknown_001050/func_80002224.s | 2 +- .../unknown_001050/func_8000232C.s | 6 +- .../unknown_001050/func_80002570.s | 4 +- .../{func_800C7A60.s => alCSPSetBank.s} | 2 +- .../{func_800C7B40.s => alCSeqGetLoc.s} | 2 +- .../non_matchings/unknown_0C86A0/alCSeqNew.s | 74 +++++ .../unknown_0C86A0/alCSeqNewMarker.s | 95 ++++++ .../{func_800C7AA0.s => alCSeqSetLoc.s} | 2 +- .../unknown_0C86A0/func_800C7FFC.s | 273 ------------------ .../unknown_0C86A0/func_800C8284.s | 70 +++++ .../unknown_0C86A0/func_800C8380.s | 30 ++ .../{func_800C8560.s => alCSPSetSeq.s} | 2 +- .../{func_800C85A0.s => alCSPPlay.s} | 2 +- .../{func_800C85D0.s => alCSPStop.s} | 2 +- .../unknown_0C9C90/alSynAllocVoice.s | 89 ------ lib/src/unknown_0C8660.c | 2 +- lib/src/unknown_0C86A0.c | 17 +- lib/src/unknown_0C9160.c | 2 +- lib/src/unknown_0C91A0.c | 4 +- lib/src/unknown_0C9C90.c | 1 - 20 files changed, 299 insertions(+), 382 deletions(-) rename lib/asm/non_matchings/unknown_0C8660/{func_800C7A60.s => alCSPSetBank.s} (97%) rename lib/asm/non_matchings/unknown_0C86A0/{func_800C7B40.s => alCSeqGetLoc.s} (97%) create mode 100644 lib/asm/non_matchings/unknown_0C86A0/alCSeqNew.s create mode 100644 lib/asm/non_matchings/unknown_0C86A0/alCSeqNewMarker.s rename lib/asm/non_matchings/unknown_0C86A0/{func_800C7AA0.s => alCSeqSetLoc.s} (97%) delete mode 100644 lib/asm/non_matchings/unknown_0C86A0/func_800C7FFC.s create mode 100644 lib/asm/non_matchings/unknown_0C86A0/func_800C8284.s create mode 100644 lib/asm/non_matchings/unknown_0C86A0/func_800C8380.s rename lib/asm/non_matchings/unknown_0C9160/{func_800C8560.s => alCSPSetSeq.s} (97%) rename lib/asm/non_matchings/unknown_0C91A0/{func_800C85A0.s => alCSPPlay.s} (96%) rename lib/asm/non_matchings/unknown_0C91A0/{func_800C85D0.s => alCSPStop.s} (96%) delete mode 100644 lib/asm/non_matchings/unknown_0C9C90/alSynAllocVoice.s diff --git a/asm/non_matchings/unknown_001050/func_80002224.s b/asm/non_matchings/unknown_001050/func_80002224.s index d8d82490..6d36b73a 100644 --- a/asm/non_matchings/unknown_001050/func_80002224.s +++ b/asm/non_matchings/unknown_001050/func_80002224.s @@ -28,7 +28,7 @@ glabel func_80002224 /* 002E8C 8000228C 8D085D10 */ lw $t0, %lo(D_80115D10)($t0) /* 002E90 80002290 8FA40044 */ lw $a0, 0x44($sp) /* 002E94 80002294 8D050004 */ lw $a1, 4($t0) -/* 002E98 80002298 0C031E98 */ jal func_800C7A60 +/* 002E98 80002298 0C031E98 */ jal alCSPSetBank /* 002E9C 8000229C 00000000 */ nop /* 002EA0 800022A0 8FA20044 */ lw $v0, 0x44($sp) /* 002EA4 800022A4 2409007F */ li $t1, 127 diff --git a/asm/non_matchings/unknown_001050/func_8000232C.s b/asm/non_matchings/unknown_001050/func_8000232C.s index 35ebd1ed..4fbceaba 100644 --- a/asm/non_matchings/unknown_001050/func_8000232C.s +++ b/asm/non_matchings/unknown_001050/func_8000232C.s @@ -34,12 +34,12 @@ glabel func_8000232C /* 002FAC 800023AC 0C01DB9A */ jal func_80076E68 /* 002FB0 800023B0 01023023 */ subu $a2, $t0, $v0 /* 002FB4 800023B4 02402025 */ move $a0, $s2 -/* 002FB8 800023B8 0C031FFF */ jal func_800C7FFC +/* 002FB8 800023B8 0C031FFF */ jal alCSeqNew /* 002FBC 800023BC 02202825 */ move $a1, $s1 /* 002FC0 800023C0 02002025 */ move $a0, $s0 -/* 002FC4 800023C4 0C032158 */ jal func_800C8560 +/* 002FC4 800023C4 0C032158 */ jal alCSPSetSeq /* 002FC8 800023C8 02402825 */ move $a1, $s2 -/* 002FCC 800023CC 0C032168 */ jal func_800C85A0 +/* 002FCC 800023CC 0C032168 */ jal alCSPPlay /* 002FD0 800023D0 02002025 */ move $a0, $s0 /* 002FD4 800023D4 3C0C800E */ lui $t4, %hi(D_800DC630) # $t4, 0x800e /* 002FD8 800023D8 8D8CC630 */ lw $t4, %lo(D_800DC630)($t4) diff --git a/asm/non_matchings/unknown_001050/func_80002570.s b/asm/non_matchings/unknown_001050/func_80002570.s index f8dbdc99..354d93ad 100644 --- a/asm/non_matchings/unknown_001050/func_80002570.s +++ b/asm/non_matchings/unknown_001050/func_80002570.s @@ -9,7 +9,7 @@ glabel func_80002570 /* 00318C 8000258C 00000000 */ nop /* 003190 80002590 11E0000A */ beqz $t7, .L800025BC /* 003194 80002594 00000000 */ nop -/* 003198 80002598 0C032174 */ jal func_800C85D0 +/* 003198 80002598 0C032174 */ jal alCSPStop /* 00319C 8000259C 00000000 */ nop /* 0031A0 800025A0 3C018011 */ lui $at, %hi(D_80115D40) # $at, 0x8011 /* 0031A4 800025A4 A0205D40 */ sb $zero, %lo(D_80115D40)($at) @@ -28,7 +28,7 @@ glabel func_80002570 /* 0031D4 800025D4 00000000 */ nop /* 0031D8 800025D8 13200008 */ beqz $t9, .L800025FC /* 0031DC 800025DC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0031E0 800025E0 0C032174 */ jal func_800C85D0 +/* 0031E0 800025E0 0C032174 */ jal alCSPStop /* 0031E4 800025E4 00000000 */ nop /* 0031E8 800025E8 3C018011 */ lui $at, %hi(D_80115D41) # $at, 0x8011 /* 0031EC 800025EC A0205D41 */ sb $zero, %lo(D_80115D41)($at) diff --git a/lib/asm/non_matchings/unknown_0C8660/func_800C7A60.s b/lib/asm/non_matchings/unknown_0C8660/alCSPSetBank.s similarity index 97% rename from lib/asm/non_matchings/unknown_0C8660/func_800C7A60.s rename to lib/asm/non_matchings/unknown_0C8660/alCSPSetBank.s index 4251e998..8b474aa0 100644 --- a/lib/asm/non_matchings/unknown_0C8660/func_800C7A60.s +++ b/lib/asm/non_matchings/unknown_0C8660/alCSPSetBank.s @@ -1,4 +1,4 @@ -glabel func_800C7A60 +glabel alCSPSetBank /* 0C8660 800C7A60 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0C8664 800C7A64 AFBF0014 */ sw $ra, 0x14($sp) /* 0C8668 800C7A68 240E000E */ li $t6, 14 diff --git a/lib/asm/non_matchings/unknown_0C86A0/func_800C7B40.s b/lib/asm/non_matchings/unknown_0C86A0/alCSeqGetLoc.s similarity index 97% rename from lib/asm/non_matchings/unknown_0C86A0/func_800C7B40.s rename to lib/asm/non_matchings/unknown_0C86A0/alCSeqGetLoc.s index c893642f..863e257b 100644 --- a/lib/asm/non_matchings/unknown_0C86A0/func_800C7B40.s +++ b/lib/asm/non_matchings/unknown_0C86A0/alCSeqGetLoc.s @@ -1,4 +1,4 @@ -glabel func_800C7B40 +glabel alCSeqGetLoc /* 0C8740 800C7B40 8CAE0000 */ lw $t6, ($a1) /* 0C8744 800C7B44 00801825 */ move $v1, $a0 /* 0C8748 800C7B48 00803825 */ move $a3, $a0 diff --git a/lib/asm/non_matchings/unknown_0C86A0/alCSeqNew.s b/lib/asm/non_matchings/unknown_0C86A0/alCSeqNew.s new file mode 100644 index 00000000..fcf835de --- /dev/null +++ b/lib/asm/non_matchings/unknown_0C86A0/alCSeqNew.s @@ -0,0 +1,74 @@ +glabel alCSeqNew +/* 0C8BFC 800C7FFC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0C8C00 800C8000 AFB40028 */ sw $s4, 0x28($sp) +/* 0C8C04 800C8004 AFB30024 */ sw $s3, 0x24($sp) +/* 0C8C08 800C8008 AFB20020 */ sw $s2, 0x20($sp) +/* 0C8C0C 800C800C AFB1001C */ sw $s1, 0x1c($sp) +/* 0C8C10 800C8010 AFB00018 */ sw $s0, 0x18($sp) +/* 0C8C14 800C8014 AFBF002C */ sw $ra, 0x2c($sp) +/* 0C8C18 800C8018 240E0001 */ li $t6, 1 +/* 0C8C1C 800C801C 00808025 */ move $s0, $a0 +/* 0C8C20 800C8020 00A0A025 */ move $s4, $a1 +/* 0C8C24 800C8024 AC850000 */ sw $a1, ($a0) +/* 0C8C28 800C8028 AC800004 */ sw $zero, 4($a0) +/* 0C8C2C 800C802C AC800010 */ sw $zero, 0x10($a0) +/* 0C8C30 800C8030 AC80000C */ sw $zero, 0xc($a0) +/* 0C8C34 800C8034 AC8E0014 */ sw $t6, 0x14($a0) +/* 0C8C38 800C8038 00808825 */ move $s1, $a0 +/* 0C8C3C 800C803C 00009025 */ move $s2, $zero +/* 0C8C40 800C8040 24130010 */ li $s3, 16 +/* 0C8C44 800C8044 00006825 */ move $t5, $zero +/* 0C8C48 800C8048 00806025 */ move $t4, $a0 +.L800C804C: +/* 0C8C4C 800C804C A22000A8 */ sb $zero, 0xa8($s1) +/* 0C8C50 800C8050 AD800058 */ sw $zero, 0x58($t4) +/* 0C8C54 800C8054 A2200098 */ sb $zero, 0x98($s1) +/* 0C8C58 800C8058 8E0F0000 */ lw $t7, ($s0) +/* 0C8C5C 800C805C 240E0001 */ li $t6, 1 +/* 0C8C60 800C8060 01F2C021 */ addu $t8, $t7, $s2 +/* 0C8C64 800C8064 8F020000 */ lw $v0, ($t8) +/* 0C8C68 800C8068 01AE7804 */ sllv $t7, $t6, $t5 +/* 0C8C6C 800C806C 1040000A */ beqz $v0, .L800C8098 +/* 0C8C70 800C8070 02827021 */ addu $t6, $s4, $v0 +/* 0C8C74 800C8074 8E190004 */ lw $t9, 4($s0) +/* 0C8C78 800C8078 02005025 */ move $t2, $s0 +/* 0C8C7C 800C807C 01A05825 */ move $t3, $t5 +/* 0C8C80 800C8080 032FC025 */ or $t8, $t9, $t7 +/* 0C8C84 800C8084 AE180004 */ sw $t8, 4($s0) +/* 0C8C88 800C8088 0C031F29 */ jal __readVarLen +/* 0C8C8C 800C808C AD8E0018 */ sw $t6, 0x18($t4) +/* 0C8C90 800C8090 10000002 */ b .L800C809C +/* 0C8C94 800C8094 AD8200B8 */ sw $v0, 0xb8($t4) +.L800C8098: +/* 0C8C98 800C8098 AD800018 */ sw $zero, 0x18($t4) +.L800C809C: +/* 0C8C9C 800C809C 25AD0001 */ addiu $t5, $t5, 1 +/* 0C8CA0 800C80A0 26310001 */ addiu $s1, $s1, 1 +/* 0C8CA4 800C80A4 26520004 */ addiu $s2, $s2, 4 +/* 0C8CA8 800C80A8 15B3FFE8 */ bne $t5, $s3, .L800C804C +/* 0C8CAC 800C80AC 258C0004 */ addiu $t4, $t4, 4 +/* 0C8CB0 800C80B0 8E190000 */ lw $t9, ($s0) +/* 0C8CB4 800C80B4 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 0C8CB8 800C80B8 44812800 */ mtc1 $at, $f5 +/* 0C8CBC 800C80BC 8F2F0040 */ lw $t7, 0x40($t9) +/* 0C8CC0 800C80C0 44802000 */ mtc1 $zero, $f4 +/* 0C8CC4 800C80C4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C8CC8 800C80C8 448F3000 */ mtc1 $t7, $f6 +/* 0C8CCC 800C80CC 05E10004 */ bgez $t7, .L800C80E0 +/* 0C8CD0 800C80D0 46803220 */ cvt.s.w $f8, $f6 +/* 0C8CD4 800C80D4 44815000 */ mtc1 $at, $f10 +/* 0C8CD8 800C80D8 00000000 */ nop +/* 0C8CDC 800C80DC 460A4200 */ add.s $f8, $f8, $f10 +.L800C80E0: +/* 0C8CE0 800C80E0 460041A1 */ cvt.d.s $f6, $f8 +/* 0C8CE4 800C80E4 46262283 */ div.d $f10, $f4, $f6 +/* 0C8CE8 800C80E8 46205220 */ cvt.s.d $f8, $f10 +/* 0C8CEC 800C80EC E6080008 */ swc1 $f8, 8($s0) +/* 0C8CF0 800C80F0 8FBF002C */ lw $ra, 0x2c($sp) +/* 0C8CF4 800C80F4 8FB40028 */ lw $s4, 0x28($sp) +/* 0C8CF8 800C80F8 8FB30024 */ lw $s3, 0x24($sp) +/* 0C8CFC 800C80FC 8FB20020 */ lw $s2, 0x20($sp) +/* 0C8D00 800C8100 8FB1001C */ lw $s1, 0x1c($sp) +/* 0C8D04 800C8104 8FB00018 */ lw $s0, 0x18($sp) +/* 0C8D08 800C8108 03E00008 */ jr $ra +/* 0C8D0C 800C810C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/lib/asm/non_matchings/unknown_0C86A0/alCSeqNewMarker.s b/lib/asm/non_matchings/unknown_0C86A0/alCSeqNewMarker.s new file mode 100644 index 00000000..e969650a --- /dev/null +++ b/lib/asm/non_matchings/unknown_0C86A0/alCSeqNewMarker.s @@ -0,0 +1,95 @@ +glabel alCSeqNewMarker +/* 0C8D10 800C8110 27BDFEB0 */ addiu $sp, $sp, -0x150 +/* 0C8D14 800C8114 AFB30020 */ sw $s3, 0x20($sp) +/* 0C8D18 800C8118 AFB10018 */ sw $s1, 0x18($sp) +/* 0C8D1C 800C811C 00A08825 */ move $s1, $a1 +/* 0C8D20 800C8120 27B30048 */ addiu $s3, $sp, 0x48 +/* 0C8D24 800C8124 AFBF002C */ sw $ra, 0x2c($sp) +/* 0C8D28 800C8128 AFB50028 */ sw $s5, 0x28($sp) +/* 0C8D2C 800C812C AFB40024 */ sw $s4, 0x24($sp) +/* 0C8D30 800C8130 AFB2001C */ sw $s2, 0x1c($sp) +/* 0C8D34 800C8134 AFB00014 */ sw $s0, 0x14($sp) +/* 0C8D38 800C8138 00803825 */ move $a3, $a0 +/* 0C8D3C 800C813C 00C09025 */ move $s2, $a2 +/* 0C8D40 800C8140 8CE50000 */ lw $a1, ($a3) +/* 0C8D44 800C8144 0C031FFF */ jal alCSeqNew +/* 0C8D48 800C8148 02602025 */ move $a0, $s3 +/* 0C8D4C 800C814C 24150004 */ li $s5, 4 +/* 0C8D50 800C8150 27B40140 */ addiu $s4, $sp, 0x140 +/* 0C8D54 800C8154 27B00058 */ addiu $s0, $sp, 0x58 +/* 0C8D58 800C8158 8FAE004C */ lw $t6, 0x4c($sp) +.L800C815C: +/* 0C8D5C 800C815C 27A40048 */ addiu $a0, $sp, 0x48 +/* 0C8D60 800C8160 00801825 */ move $v1, $a0 +/* 0C8D64 800C8164 AE2E0000 */ sw $t6, ($s1) +/* 0C8D68 800C8168 8FAF0054 */ lw $t7, 0x54($sp) +/* 0C8D6C 800C816C 02201025 */ move $v0, $s1 +/* 0C8D70 800C8170 02202825 */ move $a1, $s1 +/* 0C8D74 800C8174 AE2F0004 */ sw $t7, 4($s1) +/* 0C8D78 800C8178 8FB80058 */ lw $t8, 0x58($sp) +/* 0C8D7C 800C817C AE380008 */ sw $t8, 8($s1) +.L800C8180: +/* 0C8D80 800C8180 8C680018 */ lw $t0, 0x18($v1) +/* 0C8D84 800C8184 24840004 */ addiu $a0, $a0, 4 +/* 0C8D88 800C8188 24420010 */ addiu $v0, $v0, 0x10 +/* 0C8D8C 800C818C AC48FFFC */ sw $t0, -4($v0) +/* 0C8D90 800C8190 8C690058 */ lw $t1, 0x58($v1) +/* 0C8D94 800C8194 24630010 */ addiu $v1, $v1, 0x10 +/* 0C8D98 800C8198 24A50004 */ addiu $a1, $a1, 4 +/* 0C8D9C 800C819C AC49003C */ sw $t1, 0x3c($v0) +/* 0C8DA0 800C81A0 908A0094 */ lbu $t2, 0x94($a0) +/* 0C8DA4 800C81A4 A0AA0088 */ sb $t2, 0x88($a1) +/* 0C8DA8 800C81A8 908B00A4 */ lbu $t3, 0xa4($a0) +/* 0C8DAC 800C81AC A0AB0098 */ sb $t3, 0x98($a1) +/* 0C8DB0 800C81B0 8C6C00A8 */ lw $t4, 0xa8($v1) +/* 0C8DB4 800C81B4 AC4C009C */ sw $t4, 0x9c($v0) +/* 0C8DB8 800C81B8 8C6D000C */ lw $t5, 0xc($v1) +/* 0C8DBC 800C81BC AC4D0000 */ sw $t5, ($v0) +/* 0C8DC0 800C81C0 8C6E004C */ lw $t6, 0x4c($v1) +/* 0C8DC4 800C81C4 AC4E0040 */ sw $t6, 0x40($v0) +/* 0C8DC8 800C81C8 908F0095 */ lbu $t7, 0x95($a0) +/* 0C8DCC 800C81CC A0AF0089 */ sb $t7, 0x89($a1) +/* 0C8DD0 800C81D0 909800A5 */ lbu $t8, 0xa5($a0) +/* 0C8DD4 800C81D4 A0B80099 */ sb $t8, 0x99($a1) +/* 0C8DD8 800C81D8 8C7900AC */ lw $t9, 0xac($v1) +/* 0C8DDC 800C81DC AC5900A0 */ sw $t9, 0xa0($v0) +/* 0C8DE0 800C81E0 8C680010 */ lw $t0, 0x10($v1) +/* 0C8DE4 800C81E4 AC480004 */ sw $t0, 4($v0) +/* 0C8DE8 800C81E8 8C690050 */ lw $t1, 0x50($v1) +/* 0C8DEC 800C81EC AC490044 */ sw $t1, 0x44($v0) +/* 0C8DF0 800C81F0 908A0096 */ lbu $t2, 0x96($a0) +/* 0C8DF4 800C81F4 A0AA008A */ sb $t2, 0x8a($a1) +/* 0C8DF8 800C81F8 908B00A6 */ lbu $t3, 0xa6($a0) +/* 0C8DFC 800C81FC A0AB009A */ sb $t3, 0x9a($a1) +/* 0C8E00 800C8200 8C6C00B0 */ lw $t4, 0xb0($v1) +/* 0C8E04 800C8204 AC4C00A4 */ sw $t4, 0xa4($v0) +/* 0C8E08 800C8208 8C6D0014 */ lw $t5, 0x14($v1) +/* 0C8E0C 800C820C AC4D0008 */ sw $t5, 8($v0) +/* 0C8E10 800C8210 8C6E0054 */ lw $t6, 0x54($v1) +/* 0C8E14 800C8214 AC4E0048 */ sw $t6, 0x48($v0) +/* 0C8E18 800C8218 908F0097 */ lbu $t7, 0x97($a0) +/* 0C8E1C 800C821C A0AF008B */ sb $t7, 0x8b($a1) +/* 0C8E20 800C8220 909800A7 */ lbu $t8, 0xa7($a0) +/* 0C8E24 800C8224 A0B8009B */ sb $t8, 0x9b($a1) +/* 0C8E28 800C8228 8C7900B4 */ lw $t9, 0xb4($v1) +/* 0C8E2C 800C822C 1490FFD4 */ bne $a0, $s0, .L800C8180 +/* 0C8E30 800C8230 AC5900A8 */ sw $t9, 0xa8($v0) +/* 0C8E34 800C8234 02602025 */ move $a0, $s3 +/* 0C8E38 800C8238 0C031F41 */ jal __alCSeqGetTrackEvent +/* 0C8E3C 800C823C 02802825 */ move $a1, $s4 +/* 0C8E40 800C8240 87A80140 */ lh $t0, 0x140($sp) +/* 0C8E44 800C8244 8FA90054 */ lw $t1, 0x54($sp) +/* 0C8E48 800C8248 11150003 */ beq $t0, $s5, .L800C8258 +/* 0C8E4C 800C824C 0132082B */ sltu $at, $t1, $s2 +/* 0C8E50 800C8250 5420FFC2 */ bnezl $at, .L800C815C +/* 0C8E54 800C8254 8FAE004C */ lw $t6, 0x4c($sp) +.L800C8258: +/* 0C8E58 800C8258 8FBF002C */ lw $ra, 0x2c($sp) +/* 0C8E5C 800C825C 8FB00014 */ lw $s0, 0x14($sp) +/* 0C8E60 800C8260 8FB10018 */ lw $s1, 0x18($sp) +/* 0C8E64 800C8264 8FB2001C */ lw $s2, 0x1c($sp) +/* 0C8E68 800C8268 8FB30020 */ lw $s3, 0x20($sp) +/* 0C8E6C 800C826C 8FB40024 */ lw $s4, 0x24($sp) +/* 0C8E70 800C8270 8FB50028 */ lw $s5, 0x28($sp) +/* 0C8E74 800C8274 03E00008 */ jr $ra +/* 0C8E78 800C8278 27BD0150 */ addiu $sp, $sp, 0x150 diff --git a/lib/asm/non_matchings/unknown_0C86A0/func_800C7AA0.s b/lib/asm/non_matchings/unknown_0C86A0/alCSeqSetLoc.s similarity index 97% rename from lib/asm/non_matchings/unknown_0C86A0/func_800C7AA0.s rename to lib/asm/non_matchings/unknown_0C86A0/alCSeqSetLoc.s index 605dd5a6..a0d28e86 100644 --- a/lib/asm/non_matchings/unknown_0C86A0/func_800C7AA0.s +++ b/lib/asm/non_matchings/unknown_0C86A0/alCSeqSetLoc.s @@ -1,4 +1,4 @@ -glabel func_800C7AA0 +glabel alCSeqSetLoc /* 0C86A0 800C7AA0 8C8E0004 */ lw $t6, 4($a0) /* 0C86A4 800C7AA4 00803025 */ move $a2, $a0 /* 0C86A8 800C7AA8 00804025 */ move $t0, $a0 diff --git a/lib/asm/non_matchings/unknown_0C86A0/func_800C7FFC.s b/lib/asm/non_matchings/unknown_0C86A0/func_800C7FFC.s deleted file mode 100644 index 6d4dc5e7..00000000 --- a/lib/asm/non_matchings/unknown_0C86A0/func_800C7FFC.s +++ /dev/null @@ -1,273 +0,0 @@ -glabel func_800C7FFC -/* 0C8BFC 800C7FFC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C8C00 800C8000 AFB40028 */ sw $s4, 0x28($sp) -/* 0C8C04 800C8004 AFB30024 */ sw $s3, 0x24($sp) -/* 0C8C08 800C8008 AFB20020 */ sw $s2, 0x20($sp) -/* 0C8C0C 800C800C AFB1001C */ sw $s1, 0x1c($sp) -/* 0C8C10 800C8010 AFB00018 */ sw $s0, 0x18($sp) -/* 0C8C14 800C8014 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C8C18 800C8018 240E0001 */ li $t6, 1 -/* 0C8C1C 800C801C 00808025 */ move $s0, $a0 -/* 0C8C20 800C8020 00A0A025 */ move $s4, $a1 -/* 0C8C24 800C8024 AC850000 */ sw $a1, ($a0) -/* 0C8C28 800C8028 AC800004 */ sw $zero, 4($a0) -/* 0C8C2C 800C802C AC800010 */ sw $zero, 0x10($a0) -/* 0C8C30 800C8030 AC80000C */ sw $zero, 0xc($a0) -/* 0C8C34 800C8034 AC8E0014 */ sw $t6, 0x14($a0) -/* 0C8C38 800C8038 00808825 */ move $s1, $a0 -/* 0C8C3C 800C803C 00009025 */ move $s2, $zero -/* 0C8C40 800C8040 24130010 */ li $s3, 16 -/* 0C8C44 800C8044 00006825 */ move $t5, $zero -/* 0C8C48 800C8048 00806025 */ move $t4, $a0 -.L800C804C: -/* 0C8C4C 800C804C A22000A8 */ sb $zero, 0xa8($s1) -/* 0C8C50 800C8050 AD800058 */ sw $zero, 0x58($t4) -/* 0C8C54 800C8054 A2200098 */ sb $zero, 0x98($s1) -/* 0C8C58 800C8058 8E0F0000 */ lw $t7, ($s0) -/* 0C8C5C 800C805C 240E0001 */ li $t6, 1 -/* 0C8C60 800C8060 01F2C021 */ addu $t8, $t7, $s2 -/* 0C8C64 800C8064 8F020000 */ lw $v0, ($t8) -/* 0C8C68 800C8068 01AE7804 */ sllv $t7, $t6, $t5 -/* 0C8C6C 800C806C 1040000A */ beqz $v0, .L800C8098 -/* 0C8C70 800C8070 02827021 */ addu $t6, $s4, $v0 -/* 0C8C74 800C8074 8E190004 */ lw $t9, 4($s0) -/* 0C8C78 800C8078 02005025 */ move $t2, $s0 -/* 0C8C7C 800C807C 01A05825 */ move $t3, $t5 -/* 0C8C80 800C8080 032FC025 */ or $t8, $t9, $t7 -/* 0C8C84 800C8084 AE180004 */ sw $t8, 4($s0) -/* 0C8C88 800C8088 0C031F29 */ jal __readVarLen -/* 0C8C8C 800C808C AD8E0018 */ sw $t6, 0x18($t4) -/* 0C8C90 800C8090 10000002 */ b .L800C809C -/* 0C8C94 800C8094 AD8200B8 */ sw $v0, 0xb8($t4) -.L800C8098: -/* 0C8C98 800C8098 AD800018 */ sw $zero, 0x18($t4) -.L800C809C: -/* 0C8C9C 800C809C 25AD0001 */ addiu $t5, $t5, 1 -/* 0C8CA0 800C80A0 26310001 */ addiu $s1, $s1, 1 -/* 0C8CA4 800C80A4 26520004 */ addiu $s2, $s2, 4 -/* 0C8CA8 800C80A8 15B3FFE8 */ bne $t5, $s3, .L800C804C -/* 0C8CAC 800C80AC 258C0004 */ addiu $t4, $t4, 4 -/* 0C8CB0 800C80B0 8E190000 */ lw $t9, ($s0) -/* 0C8CB4 800C80B4 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 0C8CB8 800C80B8 44812800 */ mtc1 $at, $f5 -/* 0C8CBC 800C80BC 8F2F0040 */ lw $t7, 0x40($t9) -/* 0C8CC0 800C80C0 44802000 */ mtc1 $zero, $f4 -/* 0C8CC4 800C80C4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C8CC8 800C80C8 448F3000 */ mtc1 $t7, $f6 -/* 0C8CCC 800C80CC 05E10004 */ bgez $t7, .L800C80E0 -/* 0C8CD0 800C80D0 46803220 */ cvt.s.w $f8, $f6 -/* 0C8CD4 800C80D4 44815000 */ mtc1 $at, $f10 -/* 0C8CD8 800C80D8 00000000 */ nop -/* 0C8CDC 800C80DC 460A4200 */ add.s $f8, $f8, $f10 -.L800C80E0: -/* 0C8CE0 800C80E0 460041A1 */ cvt.d.s $f6, $f8 -/* 0C8CE4 800C80E4 46262283 */ div.d $f10, $f4, $f6 -/* 0C8CE8 800C80E8 46205220 */ cvt.s.d $f8, $f10 -/* 0C8CEC 800C80EC E6080008 */ swc1 $f8, 8($s0) -/* 0C8CF0 800C80F0 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C8CF4 800C80F4 8FB40028 */ lw $s4, 0x28($sp) -/* 0C8CF8 800C80F8 8FB30024 */ lw $s3, 0x24($sp) -/* 0C8CFC 800C80FC 8FB20020 */ lw $s2, 0x20($sp) -/* 0C8D00 800C8100 8FB1001C */ lw $s1, 0x1c($sp) -/* 0C8D04 800C8104 8FB00018 */ lw $s0, 0x18($sp) -/* 0C8D08 800C8108 03E00008 */ jr $ra -/* 0C8D0C 800C810C 27BD0030 */ addiu $sp, $sp, 0x30 - -/* 0C8D10 800C8110 27BDFEB0 */ addiu $sp, $sp, -0x150 -/* 0C8D14 800C8114 AFB30020 */ sw $s3, 0x20($sp) -/* 0C8D18 800C8118 AFB10018 */ sw $s1, 0x18($sp) -/* 0C8D1C 800C811C 00A08825 */ move $s1, $a1 -/* 0C8D20 800C8120 27B30048 */ addiu $s3, $sp, 0x48 -/* 0C8D24 800C8124 AFBF002C */ sw $ra, 0x2c($sp) -/* 0C8D28 800C8128 AFB50028 */ sw $s5, 0x28($sp) -/* 0C8D2C 800C812C AFB40024 */ sw $s4, 0x24($sp) -/* 0C8D30 800C8130 AFB2001C */ sw $s2, 0x1c($sp) -/* 0C8D34 800C8134 AFB00014 */ sw $s0, 0x14($sp) -/* 0C8D38 800C8138 00803825 */ move $a3, $a0 -/* 0C8D3C 800C813C 00C09025 */ move $s2, $a2 -/* 0C8D40 800C8140 8CE50000 */ lw $a1, ($a3) -/* 0C8D44 800C8144 0C031FFF */ jal func_800C7FFC -/* 0C8D48 800C8148 02602025 */ move $a0, $s3 -/* 0C8D4C 800C814C 24150004 */ li $s5, 4 -/* 0C8D50 800C8150 27B40140 */ addiu $s4, $sp, 0x140 -/* 0C8D54 800C8154 27B00058 */ addiu $s0, $sp, 0x58 -/* 0C8D58 800C8158 8FAE004C */ lw $t6, 0x4c($sp) -.L800C815C: -/* 0C8D5C 800C815C 27A40048 */ addiu $a0, $sp, 0x48 -/* 0C8D60 800C8160 00801825 */ move $v1, $a0 -/* 0C8D64 800C8164 AE2E0000 */ sw $t6, ($s1) -/* 0C8D68 800C8168 8FAF0054 */ lw $t7, 0x54($sp) -/* 0C8D6C 800C816C 02201025 */ move $v0, $s1 -/* 0C8D70 800C8170 02202825 */ move $a1, $s1 -/* 0C8D74 800C8174 AE2F0004 */ sw $t7, 4($s1) -/* 0C8D78 800C8178 8FB80058 */ lw $t8, 0x58($sp) -/* 0C8D7C 800C817C AE380008 */ sw $t8, 8($s1) -.L800C8180: -/* 0C8D80 800C8180 8C680018 */ lw $t0, 0x18($v1) -/* 0C8D84 800C8184 24840004 */ addiu $a0, $a0, 4 -/* 0C8D88 800C8188 24420010 */ addiu $v0, $v0, 0x10 -/* 0C8D8C 800C818C AC48FFFC */ sw $t0, -4($v0) -/* 0C8D90 800C8190 8C690058 */ lw $t1, 0x58($v1) -/* 0C8D94 800C8194 24630010 */ addiu $v1, $v1, 0x10 -/* 0C8D98 800C8198 24A50004 */ addiu $a1, $a1, 4 -/* 0C8D9C 800C819C AC49003C */ sw $t1, 0x3c($v0) -/* 0C8DA0 800C81A0 908A0094 */ lbu $t2, 0x94($a0) -/* 0C8DA4 800C81A4 A0AA0088 */ sb $t2, 0x88($a1) -/* 0C8DA8 800C81A8 908B00A4 */ lbu $t3, 0xa4($a0) -/* 0C8DAC 800C81AC A0AB0098 */ sb $t3, 0x98($a1) -/* 0C8DB0 800C81B0 8C6C00A8 */ lw $t4, 0xa8($v1) -/* 0C8DB4 800C81B4 AC4C009C */ sw $t4, 0x9c($v0) -/* 0C8DB8 800C81B8 8C6D000C */ lw $t5, 0xc($v1) -/* 0C8DBC 800C81BC AC4D0000 */ sw $t5, ($v0) -/* 0C8DC0 800C81C0 8C6E004C */ lw $t6, 0x4c($v1) -/* 0C8DC4 800C81C4 AC4E0040 */ sw $t6, 0x40($v0) -/* 0C8DC8 800C81C8 908F0095 */ lbu $t7, 0x95($a0) -/* 0C8DCC 800C81CC A0AF0089 */ sb $t7, 0x89($a1) -/* 0C8DD0 800C81D0 909800A5 */ lbu $t8, 0xa5($a0) -/* 0C8DD4 800C81D4 A0B80099 */ sb $t8, 0x99($a1) -/* 0C8DD8 800C81D8 8C7900AC */ lw $t9, 0xac($v1) -/* 0C8DDC 800C81DC AC5900A0 */ sw $t9, 0xa0($v0) -/* 0C8DE0 800C81E0 8C680010 */ lw $t0, 0x10($v1) -/* 0C8DE4 800C81E4 AC480004 */ sw $t0, 4($v0) -/* 0C8DE8 800C81E8 8C690050 */ lw $t1, 0x50($v1) -/* 0C8DEC 800C81EC AC490044 */ sw $t1, 0x44($v0) -/* 0C8DF0 800C81F0 908A0096 */ lbu $t2, 0x96($a0) -/* 0C8DF4 800C81F4 A0AA008A */ sb $t2, 0x8a($a1) -/* 0C8DF8 800C81F8 908B00A6 */ lbu $t3, 0xa6($a0) -/* 0C8DFC 800C81FC A0AB009A */ sb $t3, 0x9a($a1) -/* 0C8E00 800C8200 8C6C00B0 */ lw $t4, 0xb0($v1) -/* 0C8E04 800C8204 AC4C00A4 */ sw $t4, 0xa4($v0) -/* 0C8E08 800C8208 8C6D0014 */ lw $t5, 0x14($v1) -/* 0C8E0C 800C820C AC4D0008 */ sw $t5, 8($v0) -/* 0C8E10 800C8210 8C6E0054 */ lw $t6, 0x54($v1) -/* 0C8E14 800C8214 AC4E0048 */ sw $t6, 0x48($v0) -/* 0C8E18 800C8218 908F0097 */ lbu $t7, 0x97($a0) -/* 0C8E1C 800C821C A0AF008B */ sb $t7, 0x8b($a1) -/* 0C8E20 800C8220 909800A7 */ lbu $t8, 0xa7($a0) -/* 0C8E24 800C8224 A0B8009B */ sb $t8, 0x9b($a1) -/* 0C8E28 800C8228 8C7900B4 */ lw $t9, 0xb4($v1) -/* 0C8E2C 800C822C 1490FFD4 */ bne $a0, $s0, .L800C8180 -/* 0C8E30 800C8230 AC5900A8 */ sw $t9, 0xa8($v0) -/* 0C8E34 800C8234 02602025 */ move $a0, $s3 -/* 0C8E38 800C8238 0C031F41 */ jal __alCSeqGetTrackEvent -/* 0C8E3C 800C823C 02802825 */ move $a1, $s4 -/* 0C8E40 800C8240 87A80140 */ lh $t0, 0x140($sp) -/* 0C8E44 800C8244 8FA90054 */ lw $t1, 0x54($sp) -/* 0C8E48 800C8248 11150003 */ beq $t0, $s5, .L800C8258 -/* 0C8E4C 800C824C 0132082B */ sltu $at, $t1, $s2 -/* 0C8E50 800C8250 5420FFC2 */ bnezl $at, .L800C815C -/* 0C8E54 800C8254 8FAE004C */ lw $t6, 0x4c($sp) -.L800C8258: -/* 0C8E58 800C8258 8FBF002C */ lw $ra, 0x2c($sp) -/* 0C8E5C 800C825C 8FB00014 */ lw $s0, 0x14($sp) -/* 0C8E60 800C8260 8FB10018 */ lw $s1, 0x18($sp) -/* 0C8E64 800C8264 8FB2001C */ lw $s2, 0x1c($sp) -/* 0C8E68 800C8268 8FB30020 */ lw $s3, 0x20($sp) -/* 0C8E6C 800C826C 8FB40024 */ lw $s4, 0x24($sp) -/* 0C8E70 800C8270 8FB50028 */ lw $s5, 0x28($sp) -/* 0C8E74 800C8274 03E00008 */ jr $ra -/* 0C8E78 800C8278 27BD0150 */ addiu $sp, $sp, 0x150 - -/* 0C8E7C 800C827C 03E00008 */ jr $ra -/* 0C8E80 800C8280 8C82000C */ lw $v0, 0xc($a0) - -/* 0C8E84 800C8284 8C8E0000 */ lw $t6, ($a0) -/* 0C8E88 800C8288 44856000 */ mtc1 $a1, $f12 -/* 0C8E8C 800C828C 3C01800F */ lui $at, 0x800f -/* 0C8E90 800C8290 8DCF0040 */ lw $t7, 0x40($t6) -/* 0C8E94 800C8294 D42694B0 */ ldc1 $f6, -0x6b50($at) -/* 0C8E98 800C8298 46006121 */ cvt.d.s $f4, $f12 -/* 0C8E9C 800C829C 448F5000 */ mtc1 $t7, $f10 -/* 0C8EA0 800C82A0 46262202 */ mul.d $f8, $f4, $f6 -/* 0C8EA4 800C82A4 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 0C8EA8 800C82A8 05E10005 */ bgez $t7, .L800C82C0 -/* 0C8EAC 800C82AC 46805421 */ cvt.d.w $f16, $f10 -/* 0C8EB0 800C82B0 44819800 */ mtc1 $at, $f19 -/* 0C8EB4 800C82B4 44809000 */ mtc1 $zero, $f18 -/* 0C8EB8 800C82B8 00000000 */ nop -/* 0C8EBC 800C82BC 46328400 */ add.d $f16, $f16, $f18 -.L800C82C0: -/* 0C8EC0 800C82C0 44863000 */ mtc1 $a2, $f6 -/* 0C8EC4 800C82C4 46304102 */ mul.d $f4, $f8, $f16 -/* 0C8EC8 800C82C8 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 0C8ECC 800C82CC 04C10005 */ bgez $a2, .L800C82E4 -/* 0C8ED0 800C82D0 468032A1 */ cvt.d.w $f10, $f6 -/* 0C8ED4 800C82D4 44819800 */ mtc1 $at, $f19 -/* 0C8ED8 800C82D8 44809000 */ mtc1 $zero, $f18 -/* 0C8EDC 800C82DC 00000000 */ nop -/* 0C8EE0 800C82E0 46325280 */ add.d $f10, $f10, $f18 -.L800C82E4: -/* 0C8EE4 800C82E4 462A2203 */ div.d $f8, $f4, $f10 -/* 0C8EE8 800C82E8 24020001 */ li $v0, 1 -/* 0C8EEC 800C82EC 3C0141E0 */ li $at, 0x41E00000 # 28.000000 -/* 0C8EF0 800C82F0 4458F800 */ cfc1 $t8, $31 -/* 0C8EF4 800C82F4 44C2F800 */ ctc1 $v0, $31 -/* 0C8EF8 800C82F8 00000000 */ nop -/* 0C8EFC 800C82FC 46204424 */ cvt.w.d $f16, $f8 -/* 0C8F00 800C8300 4442F800 */ cfc1 $v0, $31 -/* 0C8F04 800C8304 00000000 */ nop -/* 0C8F08 800C8308 30420078 */ andi $v0, $v0, 0x78 -/* 0C8F0C 800C830C 50400016 */ beql $v0, $zero, .L800C8368 -/* 0C8F10 800C8310 44028000 */ mfc1 $v0, $f16 -/* 0C8F14 800C8314 44818800 */ mtc1 $at, $f17 -/* 0C8F18 800C8318 44808000 */ mtc1 $zero, $f16 -/* 0C8F1C 800C831C 24020001 */ li $v0, 1 -/* 0C8F20 800C8320 3C018000 */ lui $at, 0x8000 -/* 0C8F24 800C8324 46304401 */ sub.d $f16, $f8, $f16 -/* 0C8F28 800C8328 44C2F800 */ ctc1 $v0, $31 -/* 0C8F2C 800C832C 00000000 */ nop -/* 0C8F30 800C8330 46208424 */ cvt.w.d $f16, $f16 -/* 0C8F34 800C8334 4442F800 */ cfc1 $v0, $31 -/* 0C8F38 800C8338 00000000 */ nop -/* 0C8F3C 800C833C 30420078 */ andi $v0, $v0, 0x78 -/* 0C8F40 800C8340 54400006 */ bnezl $v0, .L800C835C -/* 0C8F44 800C8344 44D8F800 */ ctc1 $t8, $31 -/* 0C8F48 800C8348 44028000 */ mfc1 $v0, $f16 -/* 0C8F4C 800C834C 44D8F800 */ ctc1 $t8, $31 -/* 0C8F50 800C8350 03E00008 */ jr $ra -/* 0C8F54 800C8354 00411025 */ or $v0, $v0, $at - -/* 0C8F58 800C8358 44D8F800 */ ctc1 $t8, $31 -.L800C835C: -/* 0C8F5C 800C835C 03E00008 */ jr $ra -/* 0C8F60 800C8360 2402FFFF */ li $v0, -1 - -/* 0C8F64 800C8364 44028000 */ mfc1 $v0, $f16 -.L800C8368: -/* 0C8F68 800C8368 00000000 */ nop -/* 0C8F6C 800C836C 0442FFFB */ bltzl $v0, .L800C835C -/* 0C8F70 800C8370 44D8F800 */ ctc1 $t8, $31 -/* 0C8F74 800C8374 44D8F800 */ ctc1 $t8, $31 -/* 0C8F78 800C8378 03E00008 */ jr $ra -/* 0C8F7C 800C837C 00000000 */ nop - -/* 0C8F80 800C8380 44852000 */ mtc1 $a1, $f4 -/* 0C8F84 800C8384 44864000 */ mtc1 $a2, $f8 -/* 0C8F88 800C8388 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C8F8C 800C838C 468021A0 */ cvt.s.w $f6, $f4 -/* 0C8F90 800C8390 04C10004 */ bgez $a2, .L800C83A4 -/* 0C8F94 800C8394 468042A0 */ cvt.s.w $f10, $f8 -/* 0C8F98 800C8398 44818000 */ mtc1 $at, $f16 -/* 0C8F9C 800C839C 00000000 */ nop -/* 0C8FA0 800C83A0 46105280 */ add.s $f10, $f10, $f16 -.L800C83A4: -/* 0C8FA4 800C83A4 8C8E0000 */ lw $t6, ($a0) -/* 0C8FA8 800C83A8 460A3482 */ mul.s $f18, $f6, $f10 -/* 0C8FAC 800C83AC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 0C8FB0 800C83B0 8DCF0040 */ lw $t7, 0x40($t6) -/* 0C8FB4 800C83B4 448F4000 */ mtc1 $t7, $f8 -/* 0C8FB8 800C83B8 46009121 */ cvt.d.s $f4, $f18 -/* 0C8FBC 800C83BC 05E10004 */ bgez $t7, .L800C83D0 -/* 0C8FC0 800C83C0 46804420 */ cvt.s.w $f16, $f8 -/* 0C8FC4 800C83C4 44813000 */ mtc1 $at, $f6 -/* 0C8FC8 800C83C8 00000000 */ nop -/* 0C8FCC 800C83CC 46068400 */ add.s $f16, $f16, $f6 -.L800C83D0: -/* 0C8FD0 800C83D0 3C01800F */ lui $at, 0x800f -/* 0C8FD4 800C83D4 D43294B8 */ ldc1 $f18, -0x6b48($at) -/* 0C8FD8 800C83D8 460082A1 */ cvt.d.s $f10, $f16 -/* 0C8FDC 800C83DC 46325202 */ mul.d $f8, $f10, $f18 -/* 0C8FE0 800C83E0 46282183 */ div.d $f6, $f4, $f8 -/* 0C8FE4 800C83E4 03E00008 */ jr $ra -/* 0C8FE8 800C83E8 46203020 */ cvt.s.d $f0, $f6 - diff --git a/lib/asm/non_matchings/unknown_0C86A0/func_800C8284.s b/lib/asm/non_matchings/unknown_0C86A0/func_800C8284.s new file mode 100644 index 00000000..f6674ab6 --- /dev/null +++ b/lib/asm/non_matchings/unknown_0C86A0/func_800C8284.s @@ -0,0 +1,70 @@ +glabel func_800C8284 +/* 0C8E84 800C8284 8C8E0000 */ lw $t6, ($a0) +/* 0C8E88 800C8288 44856000 */ mtc1 $a1, $f12 +/* 0C8E8C 800C828C 3C01800F */ lui $at, 0x800f +/* 0C8E90 800C8290 8DCF0040 */ lw $t7, 0x40($t6) +/* 0C8E94 800C8294 D42694B0 */ ldc1 $f6, -0x6b50($at) +/* 0C8E98 800C8298 46006121 */ cvt.d.s $f4, $f12 +/* 0C8E9C 800C829C 448F5000 */ mtc1 $t7, $f10 +/* 0C8EA0 800C82A0 46262202 */ mul.d $f8, $f4, $f6 +/* 0C8EA4 800C82A4 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 0C8EA8 800C82A8 05E10005 */ bgez $t7, .L800C82C0 +/* 0C8EAC 800C82AC 46805421 */ cvt.d.w $f16, $f10 +/* 0C8EB0 800C82B0 44819800 */ mtc1 $at, $f19 +/* 0C8EB4 800C82B4 44809000 */ mtc1 $zero, $f18 +/* 0C8EB8 800C82B8 00000000 */ nop +/* 0C8EBC 800C82BC 46328400 */ add.d $f16, $f16, $f18 +.L800C82C0: +/* 0C8EC0 800C82C0 44863000 */ mtc1 $a2, $f6 +/* 0C8EC4 800C82C4 46304102 */ mul.d $f4, $f8, $f16 +/* 0C8EC8 800C82C8 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 0C8ECC 800C82CC 04C10005 */ bgez $a2, .L800C82E4 +/* 0C8ED0 800C82D0 468032A1 */ cvt.d.w $f10, $f6 +/* 0C8ED4 800C82D4 44819800 */ mtc1 $at, $f19 +/* 0C8ED8 800C82D8 44809000 */ mtc1 $zero, $f18 +/* 0C8EDC 800C82DC 00000000 */ nop +/* 0C8EE0 800C82E0 46325280 */ add.d $f10, $f10, $f18 +.L800C82E4: +/* 0C8EE4 800C82E4 462A2203 */ div.d $f8, $f4, $f10 +/* 0C8EE8 800C82E8 24020001 */ li $v0, 1 +/* 0C8EEC 800C82EC 3C0141E0 */ li $at, 0x41E00000 # 28.000000 +/* 0C8EF0 800C82F0 4458F800 */ cfc1 $t8, $31 +/* 0C8EF4 800C82F4 44C2F800 */ ctc1 $v0, $31 +/* 0C8EF8 800C82F8 00000000 */ nop +/* 0C8EFC 800C82FC 46204424 */ cvt.w.d $f16, $f8 +/* 0C8F00 800C8300 4442F800 */ cfc1 $v0, $31 +/* 0C8F04 800C8304 00000000 */ nop +/* 0C8F08 800C8308 30420078 */ andi $v0, $v0, 0x78 +/* 0C8F0C 800C830C 50400016 */ beql $v0, $zero, .L800C8368 +/* 0C8F10 800C8310 44028000 */ mfc1 $v0, $f16 +/* 0C8F14 800C8314 44818800 */ mtc1 $at, $f17 +/* 0C8F18 800C8318 44808000 */ mtc1 $zero, $f16 +/* 0C8F1C 800C831C 24020001 */ li $v0, 1 +/* 0C8F20 800C8320 3C018000 */ lui $at, 0x8000 +/* 0C8F24 800C8324 46304401 */ sub.d $f16, $f8, $f16 +/* 0C8F28 800C8328 44C2F800 */ ctc1 $v0, $31 +/* 0C8F2C 800C832C 00000000 */ nop +/* 0C8F30 800C8330 46208424 */ cvt.w.d $f16, $f16 +/* 0C8F34 800C8334 4442F800 */ cfc1 $v0, $31 +/* 0C8F38 800C8338 00000000 */ nop +/* 0C8F3C 800C833C 30420078 */ andi $v0, $v0, 0x78 +/* 0C8F40 800C8340 54400006 */ bnezl $v0, .L800C835C +/* 0C8F44 800C8344 44D8F800 */ ctc1 $t8, $31 +/* 0C8F48 800C8348 44028000 */ mfc1 $v0, $f16 +/* 0C8F4C 800C834C 44D8F800 */ ctc1 $t8, $31 +/* 0C8F50 800C8350 03E00008 */ jr $ra +/* 0C8F54 800C8354 00411025 */ or $v0, $v0, $at + +/* 0C8F58 800C8358 44D8F800 */ ctc1 $t8, $31 +.L800C835C: +/* 0C8F5C 800C835C 03E00008 */ jr $ra +/* 0C8F60 800C8360 2402FFFF */ li $v0, -1 + +/* 0C8F64 800C8364 44028000 */ mfc1 $v0, $f16 +.L800C8368: +/* 0C8F68 800C8368 00000000 */ nop +/* 0C8F6C 800C836C 0442FFFB */ bltzl $v0, .L800C835C +/* 0C8F70 800C8370 44D8F800 */ ctc1 $t8, $31 +/* 0C8F74 800C8374 44D8F800 */ ctc1 $t8, $31 +/* 0C8F78 800C8378 03E00008 */ jr $ra +/* 0C8F7C 800C837C 00000000 */ nop \ No newline at end of file diff --git a/lib/asm/non_matchings/unknown_0C86A0/func_800C8380.s b/lib/asm/non_matchings/unknown_0C86A0/func_800C8380.s new file mode 100644 index 00000000..150108f6 --- /dev/null +++ b/lib/asm/non_matchings/unknown_0C86A0/func_800C8380.s @@ -0,0 +1,30 @@ +glabel func_800C8380 +/* 0C8F80 800C8380 44852000 */ mtc1 $a1, $f4 +/* 0C8F84 800C8384 44864000 */ mtc1 $a2, $f8 +/* 0C8F88 800C8388 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C8F8C 800C838C 468021A0 */ cvt.s.w $f6, $f4 +/* 0C8F90 800C8390 04C10004 */ bgez $a2, .L800C83A4 +/* 0C8F94 800C8394 468042A0 */ cvt.s.w $f10, $f8 +/* 0C8F98 800C8398 44818000 */ mtc1 $at, $f16 +/* 0C8F9C 800C839C 00000000 */ nop +/* 0C8FA0 800C83A0 46105280 */ add.s $f10, $f10, $f16 +.L800C83A4: +/* 0C8FA4 800C83A4 8C8E0000 */ lw $t6, ($a0) +/* 0C8FA8 800C83A8 460A3482 */ mul.s $f18, $f6, $f10 +/* 0C8FAC 800C83AC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C8FB0 800C83B0 8DCF0040 */ lw $t7, 0x40($t6) +/* 0C8FB4 800C83B4 448F4000 */ mtc1 $t7, $f8 +/* 0C8FB8 800C83B8 46009121 */ cvt.d.s $f4, $f18 +/* 0C8FBC 800C83BC 05E10004 */ bgez $t7, .L800C83D0 +/* 0C8FC0 800C83C0 46804420 */ cvt.s.w $f16, $f8 +/* 0C8FC4 800C83C4 44813000 */ mtc1 $at, $f6 +/* 0C8FC8 800C83C8 00000000 */ nop +/* 0C8FCC 800C83CC 46068400 */ add.s $f16, $f16, $f6 +.L800C83D0: +/* 0C8FD0 800C83D0 3C01800F */ lui $at, 0x800f +/* 0C8FD4 800C83D4 D43294B8 */ ldc1 $f18, -0x6b48($at) +/* 0C8FD8 800C83D8 460082A1 */ cvt.d.s $f10, $f16 +/* 0C8FDC 800C83DC 46325202 */ mul.d $f8, $f10, $f18 +/* 0C8FE0 800C83E0 46282183 */ div.d $f6, $f4, $f8 +/* 0C8FE4 800C83E4 03E00008 */ jr $ra +/* 0C8FE8 800C83E8 46203020 */ cvt.s.d $f0, $f6 diff --git a/lib/asm/non_matchings/unknown_0C9160/func_800C8560.s b/lib/asm/non_matchings/unknown_0C9160/alCSPSetSeq.s similarity index 97% rename from lib/asm/non_matchings/unknown_0C9160/func_800C8560.s rename to lib/asm/non_matchings/unknown_0C9160/alCSPSetSeq.s index bf6e8685..00ce0e6b 100644 --- a/lib/asm/non_matchings/unknown_0C9160/func_800C8560.s +++ b/lib/asm/non_matchings/unknown_0C9160/alCSPSetSeq.s @@ -1,4 +1,4 @@ -glabel func_800C8560 +glabel alCSPSetSeq /* 0C9160 800C8560 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0C9164 800C8564 AFBF0014 */ sw $ra, 0x14($sp) /* 0C9168 800C8568 240E000D */ li $t6, 13 diff --git a/lib/asm/non_matchings/unknown_0C91A0/func_800C85A0.s b/lib/asm/non_matchings/unknown_0C91A0/alCSPPlay.s similarity index 96% rename from lib/asm/non_matchings/unknown_0C91A0/func_800C85A0.s rename to lib/asm/non_matchings/unknown_0C91A0/alCSPPlay.s index ef86c0a5..ed8749fe 100644 --- a/lib/asm/non_matchings/unknown_0C91A0/func_800C85A0.s +++ b/lib/asm/non_matchings/unknown_0C91A0/alCSPPlay.s @@ -1,4 +1,4 @@ -glabel func_800C85A0 +glabel alCSPPlay /* 0C91A0 800C85A0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0C91A4 800C85A4 AFBF0014 */ sw $ra, 0x14($sp) /* 0C91A8 800C85A8 240E000F */ li $t6, 15 diff --git a/lib/asm/non_matchings/unknown_0C91A0/func_800C85D0.s b/lib/asm/non_matchings/unknown_0C91A0/alCSPStop.s similarity index 96% rename from lib/asm/non_matchings/unknown_0C91A0/func_800C85D0.s rename to lib/asm/non_matchings/unknown_0C91A0/alCSPStop.s index 9805a0ea..212d2804 100644 --- a/lib/asm/non_matchings/unknown_0C91A0/func_800C85D0.s +++ b/lib/asm/non_matchings/unknown_0C91A0/alCSPStop.s @@ -1,4 +1,4 @@ -glabel func_800C85D0 +glabel alCSPStop /* 0C91D0 800C85D0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0C91D4 800C85D4 AFBF0014 */ sw $ra, 0x14($sp) /* 0C91D8 800C85D8 240E0011 */ li $t6, 17 diff --git a/lib/asm/non_matchings/unknown_0C9C90/alSynAllocVoice.s b/lib/asm/non_matchings/unknown_0C9C90/alSynAllocVoice.s deleted file mode 100644 index 6d92682b..00000000 --- a/lib/asm/non_matchings/unknown_0C9C90/alSynAllocVoice.s +++ /dev/null @@ -1,89 +0,0 @@ -glabel alSynAllocVoice -/* 0CA108 800C9508 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0CA10C 800C950C AFBF001C */ sw $ra, 0x1c($sp) -/* 0CA110 800C9510 AFB00018 */ sw $s0, 0x18($sp) -/* 0CA114 800C9514 AFA40030 */ sw $a0, 0x30($sp) -/* 0CA118 800C9518 AFA0002C */ sw $zero, 0x2c($sp) -/* 0CA11C 800C951C 84CE0000 */ lh $t6, ($a2) -/* 0CA120 800C9520 00A08025 */ move $s0, $a1 -/* 0CA124 800C9524 A4AE0016 */ sh $t6, 0x16($a1) -/* 0CA128 800C9528 90CF0004 */ lbu $t7, 4($a2) -/* 0CA12C 800C952C ACA0000C */ sw $zero, 0xc($a1) -/* 0CA130 800C9530 A4AF001A */ sh $t7, 0x1a($a1) -/* 0CA134 800C9534 84D80002 */ lh $t8, 2($a2) -/* 0CA138 800C9538 A4A00014 */ sh $zero, 0x14($a1) -/* 0CA13C 800C953C ACA00008 */ sw $zero, 8($a1) -/* 0CA140 800C9540 A4B80018 */ sh $t8, 0x18($a1) -/* 0CA144 800C9544 84C60000 */ lh $a2, ($a2) -/* 0CA148 800C9548 8FA40030 */ lw $a0, 0x30($sp) -/* 0CA14C 800C954C 0C032508 */ jal _allocatePVoice -/* 0CA150 800C9550 27A5002C */ addiu $a1, $sp, 0x2c -/* 0CA154 800C9554 8FB9002C */ lw $t9, 0x2c($sp) -/* 0CA158 800C9558 53200035 */ beql $t9, $zero, .L800C9630 -/* 0CA15C 800C955C 8FA2002C */ lw $v0, 0x2c($sp) -/* 0CA160 800C9560 1040002C */ beqz $v0, .L800C9614 -/* 0CA164 800C9564 8F24000C */ lw $a0, 0xc($t9) -/* 0CA168 800C9568 24080200 */ li $t0, 512 -/* 0CA16C 800C956C AF2800D8 */ sw $t0, 0xd8($t9) -/* 0CA170 800C9570 8FA9002C */ lw $t1, 0x2c($sp) -/* 0CA174 800C9574 8D2A0008 */ lw $t2, 8($t1) -/* 0CA178 800C9578 AD400008 */ sw $zero, 8($t2) -/* 0CA17C 800C957C 0C01959A */ jal __allocParam -/* 0CA180 800C9580 AFA40028 */ sw $a0, 0x28($sp) -/* 0CA184 800C9584 8FAB0030 */ lw $t3, 0x30($sp) -/* 0CA188 800C9588 8FA40028 */ lw $a0, 0x28($sp) -/* 0CA18C 800C958C 240D000B */ li $t5, 11 -/* 0CA190 800C9590 8D6C001C */ lw $t4, 0x1c($t3) -/* 0CA194 800C9594 A44D0008 */ sh $t5, 8($v0) -/* 0CA198 800C9598 AC40000C */ sw $zero, 0xc($v0) -/* 0CA19C 800C959C AC4C0004 */ sw $t4, 4($v0) -/* 0CA1A0 800C95A0 8FAE002C */ lw $t6, 0x2c($sp) -/* 0CA1A4 800C95A4 24050003 */ li $a1, 3 -/* 0CA1A8 800C95A8 00403025 */ move $a2, $v0 -/* 0CA1AC 800C95AC 8DCF00D8 */ lw $t7, 0xd8($t6) -/* 0CA1B0 800C95B0 25F8FFC0 */ addiu $t8, $t7, -0x40 -/* 0CA1B4 800C95B4 AC580010 */ sw $t8, 0x10($v0) -/* 0CA1B8 800C95B8 8C990008 */ lw $t9, 8($a0) -/* 0CA1BC 800C95BC 0320F809 */ jalr $t9 -/* 0CA1C0 800C95C0 00000000 */ nop -/* 0CA1C4 800C95C4 0C01959A */ jal __allocParam -/* 0CA1C8 800C95C8 00000000 */ nop -/* 0CA1CC 800C95CC 8FA40028 */ lw $a0, 0x28($sp) -/* 0CA1D0 800C95D0 10400012 */ beqz $v0, .L800C961C -/* 0CA1D4 800C95D4 00403025 */ move $a2, $v0 -/* 0CA1D8 800C95D8 8FA80030 */ lw $t0, 0x30($sp) -/* 0CA1DC 800C95DC 8FAA002C */ lw $t2, 0x2c($sp) -/* 0CA1E0 800C95E0 240D000F */ li $t5, 15 -/* 0CA1E4 800C95E4 8D09001C */ lw $t1, 0x1c($t0) -/* 0CA1E8 800C95E8 8D4B00D8 */ lw $t3, 0xd8($t2) -/* 0CA1EC 800C95EC A44D0008 */ sh $t5, 8($v0) -/* 0CA1F0 800C95F0 AC400000 */ sw $zero, ($v0) -/* 0CA1F4 800C95F4 012B6021 */ addu $t4, $t1, $t3 -/* 0CA1F8 800C95F8 AC4C0004 */ sw $t4, 4($v0) -/* 0CA1FC 800C95FC 8C990008 */ lw $t9, 8($a0) -/* 0CA200 800C9600 24050003 */ li $a1, 3 -/* 0CA204 800C9604 0320F809 */ jalr $t9 -/* 0CA208 800C9608 00000000 */ nop -/* 0CA20C 800C960C 10000004 */ b .L800C9620 -/* 0CA210 800C9610 8FAF002C */ lw $t7, 0x2c($sp) -.L800C9614: -/* 0CA214 800C9614 8FAE002C */ lw $t6, 0x2c($sp) -/* 0CA218 800C9618 ADC000D8 */ sw $zero, 0xd8($t6) -.L800C961C: -/* 0CA21C 800C961C 8FAF002C */ lw $t7, 0x2c($sp) -.L800C9620: -/* 0CA220 800C9620 ADF00008 */ sw $s0, 8($t7) -/* 0CA224 800C9624 8FB8002C */ lw $t8, 0x2c($sp) -/* 0CA228 800C9628 AE180008 */ sw $t8, 8($s0) -/* 0CA22C 800C962C 8FA2002C */ lw $v0, 0x2c($sp) -.L800C9630: -/* 0CA230 800C9630 8FBF001C */ lw $ra, 0x1c($sp) -/* 0CA234 800C9634 8FB00018 */ lw $s0, 0x18($sp) -/* 0CA238 800C9638 0002402B */ sltu $t0, $zero, $v0 -/* 0CA23C 800C963C 01001025 */ move $v0, $t0 -/* 0CA240 800C9640 03E00008 */ jr $ra -/* 0CA244 800C9644 27BD0030 */ addiu $sp, $sp, 0x30 - -/* 0CA248 800C9648 00000000 */ nop -/* 0CA24C 800C964C 00000000 */ nop - diff --git a/lib/src/unknown_0C8660.c b/lib/src/unknown_0C8660.c index f9d9f896..fde9c60b 100644 --- a/lib/src/unknown_0C8660.c +++ b/lib/src/unknown_0C8660.c @@ -4,4 +4,4 @@ #include "types.h" #include "macros.h" -GLOBAL_ASM("lib/asm/non_matchings/unknown_0C8660/func_800C7A60.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0C8660/alCSPSetBank.s") diff --git a/lib/src/unknown_0C86A0.c b/lib/src/unknown_0C86A0.c index ee6958e2..a7b76c46 100644 --- a/lib/src/unknown_0C86A0.c +++ b/lib/src/unknown_0C86A0.c @@ -3,11 +3,22 @@ #include "types.h" #include "macros.h" +#include "audio_internal.h" + +GLOBAL_ASM("lib/asm/non_matchings/unknown_0C86A0/alCSeqSetLoc.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0C86A0/alCSeqGetLoc.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0C86A0/func_800C7AA0.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0C86A0/func_800C7B40.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0C86A0/__getTrackByte.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0C86A0/__readVarLen.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0C86A0/__alCSeqGetTrackEvent.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0C86A0/func_800C7FFC.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0C86A0/alCSeqNew.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0C86A0/alCSeqNewMarker.s") + +s32 alCSeqGetTicks(ALCSeq *seq) +{ + return seq->lastTicks; +} + +GLOBAL_ASM("lib/asm/non_matchings/unknown_0C86A0/func_800C8284.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0C86A0/func_800C8380.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0C86A0/__alCSeqNextDelta.s") diff --git a/lib/src/unknown_0C9160.c b/lib/src/unknown_0C9160.c index b759f273..9d5dcb69 100644 --- a/lib/src/unknown_0C9160.c +++ b/lib/src/unknown_0C9160.c @@ -4,4 +4,4 @@ #include "types.h" #include "macros.h" -GLOBAL_ASM("lib/asm/non_matchings/unknown_0C9160/func_800C8560.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0C9160/alCSPSetSeq.s") diff --git a/lib/src/unknown_0C91A0.c b/lib/src/unknown_0C91A0.c index af7f01cc..1c3dc5bb 100644 --- a/lib/src/unknown_0C91A0.c +++ b/lib/src/unknown_0C91A0.c @@ -5,8 +5,8 @@ #include "types.h" #include "macros.h" -GLOBAL_ASM("lib/asm/non_matchings/unknown_0C91A0/func_800C85A0.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0C91A0/func_800C85D0.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0C91A0/alCSPPlay.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0C91A0/alCSPStop.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0C91A0/func_800C8600.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0C91A0/alUnlink.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0C91A0/alLink.s") diff --git a/lib/src/unknown_0C9C90.c b/lib/src/unknown_0C9C90.c index a7a91823..e7c1e684 100644 --- a/lib/src/unknown_0C9C90.c +++ b/lib/src/unknown_0C9C90.c @@ -205,7 +205,6 @@ s32 _allocatePVoice(ALSynth *drvr, PVoice **pvoice, s16 priority) } #endif -//GLOBAL_ASM("lib/asm/non_matchings/unknown_0C9C90/alSynAllocVoice.s") s32 alSynAllocVoice(ALSynth *drvr, ALVoice *voice, ALVoiceConfig *vc) { PVoice *pvoice = 0;