diff --git a/asm/non_matchings/unknown_005740/__initChanState.s b/asm/non_matchings/unknown_005740/__initChanState.s deleted file mode 100644 index c0f867ae..00000000 --- a/asm/non_matchings/unknown_005740/__initChanState.s +++ /dev/null @@ -1,31 +0,0 @@ -glabel __initChanState -/* 00BA90 8000AE90 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00BA94 8000AE94 AFBF0024 */ sw $ra, 0x24($sp) -/* 00BA98 8000AE98 AFB20020 */ sw $s2, 0x20($sp) -/* 00BA9C 8000AE9C AFB1001C */ sw $s1, 0x1c($sp) -/* 00BAA0 8000AEA0 AFB00018 */ sw $s0, 0x18($sp) -/* 00BAA4 8000AEA4 908E0034 */ lbu $t6, 0x34($a0) -/* 00BAA8 8000AEA8 00808825 */ move $s1, $a0 -/* 00BAAC 8000AEAC 19C0000D */ blez $t6, .L8000AEE4 -/* 00BAB0 8000AEB0 00008025 */ move $s0, $zero -/* 00BAB4 8000AEB4 00009025 */ move $s2, $zero -.L8000AEB8: -/* 00BAB8 8000AEB8 8E2F0060 */ lw $t7, 0x60($s1) -/* 00BABC 8000AEBC 02202025 */ move $a0, $s1 -/* 00BAC0 8000AEC0 01F2C021 */ addu $t8, $t7, $s2 -/* 00BAC4 8000AEC4 AF000000 */ sw $zero, ($t8) -/* 00BAC8 8000AEC8 0C002B7D */ jal __resetPerfChanState -/* 00BACC 8000AECC 02002825 */ move $a1, $s0 -/* 00BAD0 8000AED0 92390034 */ lbu $t9, 0x34($s1) -/* 00BAD4 8000AED4 26100001 */ addiu $s0, $s0, 1 -/* 00BAD8 8000AED8 0219082A */ slt $at, $s0, $t9 -/* 00BADC 8000AEDC 1420FFF6 */ bnez $at, .L8000AEB8 -/* 00BAE0 8000AEE0 26520014 */ addiu $s2, $s2, 0x14 -.L8000AEE4: -/* 00BAE4 8000AEE4 8FBF0024 */ lw $ra, 0x24($sp) -/* 00BAE8 8000AEE8 8FB00018 */ lw $s0, 0x18($sp) -/* 00BAEC 8000AEEC 8FB1001C */ lw $s1, 0x1c($sp) -/* 00BAF0 8000AEF0 8FB20020 */ lw $s2, 0x20($sp) -/* 00BAF4 8000AEF4 03E00008 */ jr $ra -/* 00BAF8 8000AEF8 27BD0028 */ addiu $sp, $sp, 0x28 - diff --git a/asm/non_matchings/unknown_005740/__initFromBank.s b/asm/non_matchings/unknown_005740/__initFromBank.s deleted file mode 100644 index 042d382f..00000000 --- a/asm/non_matchings/unknown_005740/__initFromBank.s +++ /dev/null @@ -1,52 +0,0 @@ -glabel __initFromBank -/* 00B8E0 8000ACE0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 00B8E4 8000ACE4 AFB20020 */ sw $s2, 0x20($sp) -/* 00B8E8 8000ACE8 00809025 */ move $s2, $a0 -/* 00B8EC 8000ACEC AFBF0024 */ sw $ra, 0x24($sp) -/* 00B8F0 8000ACF0 AFB1001C */ sw $s1, 0x1c($sp) -/* 00B8F4 8000ACF4 AFB00018 */ sw $s0, 0x18($sp) -/* 00B8F8 8000ACF8 AFA5002C */ sw $a1, 0x2c($sp) -/* 00B8FC 8000ACFC 00A01025 */ move $v0, $a1 -.L8000AD00: -/* 00B900 8000AD00 8C51000C */ lw $s1, 0xc($v0) -/* 00B904 8000AD04 24420004 */ addiu $v0, $v0, 4 -/* 00B908 8000AD08 1220FFFD */ beqz $s1, .L8000AD00 -/* 00B90C 8000AD0C 00000000 */ nop -/* 00B910 8000AD10 924E0034 */ lbu $t6, 0x34($s2) -/* 00B914 8000AD14 00008025 */ move $s0, $zero -/* 00B918 8000AD18 19C0000C */ blez $t6, .L8000AD4C -/* 00B91C 8000AD1C 02402025 */ move $a0, $s2 -.L8000AD20: -/* 00B920 8000AD20 0C002B7D */ jal __resetPerfChanState -/* 00B924 8000AD24 02002825 */ move $a1, $s0 -/* 00B928 8000AD28 02402025 */ move $a0, $s2 -/* 00B92C 8000AD2C 02202825 */ move $a1, $s1 -/* 00B930 8000AD30 0C002B66 */ jal __setInstChanState -/* 00B934 8000AD34 02003025 */ move $a2, $s0 -/* 00B938 8000AD38 924F0034 */ lbu $t7, 0x34($s2) -/* 00B93C 8000AD3C 26100001 */ addiu $s0, $s0, 1 -/* 00B940 8000AD40 020F082A */ slt $at, $s0, $t7 -/* 00B944 8000AD44 1420FFF6 */ bnez $at, .L8000AD20 -/* 00B948 8000AD48 02402025 */ move $a0, $s2 -.L8000AD4C: -/* 00B94C 8000AD4C 8FB8002C */ lw $t8, 0x2c($sp) -/* 00B950 8000AD50 02402025 */ move $a0, $s2 -/* 00B954 8000AD54 8F190008 */ lw $t9, 8($t8) -/* 00B958 8000AD58 00000000 */ nop -/* 00B95C 8000AD5C 13200009 */ beqz $t9, .L8000AD84 -/* 00B960 8000AD60 8FBF0024 */ lw $ra, 0x24($sp) -/* 00B964 8000AD64 0C002B7D */ jal __resetPerfChanState -/* 00B968 8000AD68 02002825 */ move $a1, $s0 -/* 00B96C 8000AD6C 8FA8002C */ lw $t0, 0x2c($sp) -/* 00B970 8000AD70 02402025 */ move $a0, $s2 -/* 00B974 8000AD74 8D050008 */ lw $a1, 8($t0) -/* 00B978 8000AD78 0C002B66 */ jal __setInstChanState -/* 00B97C 8000AD7C 24060009 */ li $a2, 9 -/* 00B980 8000AD80 8FBF0024 */ lw $ra, 0x24($sp) -.L8000AD84: -/* 00B984 8000AD84 8FB00018 */ lw $s0, 0x18($sp) -/* 00B988 8000AD88 8FB1001C */ lw $s1, 0x1c($sp) -/* 00B98C 8000AD8C 8FB20020 */ lw $s2, 0x20($sp) -/* 00B990 8000AD90 03E00008 */ jr $ra -/* 00B994 8000AD94 27BD0028 */ addiu $sp, $sp, 0x28 - diff --git a/asm/non_matchings/unknown_005740/__lookupSoundQuick.s b/asm/non_matchings/unknown_005740/__lookupSoundQuick.s deleted file mode 100644 index ec0344f0..00000000 --- a/asm/non_matchings/unknown_005740/__lookupSoundQuick.s +++ /dev/null @@ -1,84 +0,0 @@ -glabel __lookupSoundQuick -/* 00B4D0 8000A8D0 27BDFFF8 */ addiu $sp, $sp, -8 -/* 00B4D4 8000A8D4 30EF00FF */ andi $t7, $a3, 0xff -/* 00B4D8 8000A8D8 AFB00004 */ sw $s0, 4($sp) -/* 00B4DC 8000A8DC AFA5000C */ sw $a1, 0xc($sp) -/* 00B4E0 8000A8E0 AFA60010 */ sw $a2, 0x10($sp) -/* 00B4E4 8000A8E4 AFA70014 */ sw $a3, 0x14($sp) -/* 00B4E8 8000A8E8 000FC880 */ sll $t9, $t7, 2 -/* 00B4EC 8000A8EC 8C980060 */ lw $t8, 0x60($a0) -/* 00B4F0 8000A8F0 032FC821 */ addu $t9, $t9, $t7 -/* 00B4F4 8000A8F4 0019C880 */ sll $t9, $t9, 2 -/* 00B4F8 8000A8F8 03195821 */ addu $t3, $t8, $t9 -/* 00B4FC 8000A8FC 8D620000 */ lw $v0, ($t3) -/* 00B500 8000A900 30D000FF */ andi $s0, $a2, 0xff -/* 00B504 8000A904 8448000E */ lh $t0, 0xe($v0) -/* 00B508 8000A908 30AE00FF */ andi $t6, $a1, 0xff -/* 00B50C 8000A90C 19000036 */ blez $t0, .L8000A9E8 -/* 00B510 8000A910 24030001 */ li $v1, 1 -/* 00B514 8000A914 01C04825 */ move $t1, $t6 -/* 00B518 8000A918 00682821 */ addu $a1, $v1, $t0 -.L8000A91C: -/* 00B51C 8000A91C 04A10003 */ bgez $a1, .L8000A92C -/* 00B520 8000A920 00056043 */ sra $t4, $a1, 1 -/* 00B524 8000A924 24A10001 */ addiu $at, $a1, 1 -/* 00B528 8000A928 00016043 */ sra $t4, $at, 1 -.L8000A92C: -/* 00B52C 8000A92C 000C6880 */ sll $t5, $t4, 2 -/* 00B530 8000A930 004D7021 */ addu $t6, $v0, $t5 -/* 00B534 8000A934 8DC7000C */ lw $a3, 0xc($t6) -/* 00B538 8000A938 01802025 */ move $a0, $t4 -/* 00B53C 8000A93C 8CE60004 */ lw $a2, 4($a3) -/* 00B540 8000A940 00000000 */ nop -/* 00B544 8000A944 90CA0002 */ lbu $t2, 2($a2) -/* 00B548 8000A948 00000000 */ nop -/* 00B54C 8000A94C 012A082A */ slt $at, $t1, $t2 -/* 00B550 8000A950 14200013 */ bnez $at, .L8000A9A0 -/* 00B554 8000A954 012A082A */ slt $at, $t1, $t2 -/* 00B558 8000A958 90CF0003 */ lbu $t7, 3($a2) -/* 00B55C 8000A95C 00000000 */ nop -/* 00B560 8000A960 01E9082A */ slt $at, $t7, $t1 -/* 00B564 8000A964 1420000E */ bnez $at, .L8000A9A0 -/* 00B568 8000A968 012A082A */ slt $at, $t1, $t2 -/* 00B56C 8000A96C 90D80000 */ lbu $t8, ($a2) -/* 00B570 8000A970 02002825 */ move $a1, $s0 -/* 00B574 8000A974 0218082A */ slt $at, $s0, $t8 -/* 00B578 8000A978 14200009 */ bnez $at, .L8000A9A0 -/* 00B57C 8000A97C 012A082A */ slt $at, $t1, $t2 -/* 00B580 8000A980 90D90001 */ lbu $t9, 1($a2) -/* 00B584 8000A984 00000000 */ nop -/* 00B588 8000A988 0325082A */ slt $at, $t9, $a1 -/* 00B58C 8000A98C 14200004 */ bnez $at, .L8000A9A0 -/* 00B590 8000A990 012A082A */ slt $at, $t1, $t2 -/* 00B594 8000A994 10000015 */ b .L8000A9EC -/* 00B598 8000A998 00E01025 */ move $v0, $a3 -/* 00B59C 8000A99C 012A082A */ slt $at, $t1, $t2 -.L8000A9A0: -/* 00B5A0 8000A9A0 1420000B */ bnez $at, .L8000A9D0 -/* 00B5A4 8000A9A4 00000000 */ nop -/* 00B5A8 8000A9A8 90CB0000 */ lbu $t3, ($a2) -/* 00B5AC 8000A9AC 00000000 */ nop -/* 00B5B0 8000A9B0 020B082A */ slt $at, $s0, $t3 -/* 00B5B4 8000A9B4 10200008 */ beqz $at, .L8000A9D8 -/* 00B5B8 8000A9B8 00000000 */ nop -/* 00B5BC 8000A9BC 90CC0003 */ lbu $t4, 3($a2) -/* 00B5C0 8000A9C0 00000000 */ nop -/* 00B5C4 8000A9C4 0189082A */ slt $at, $t4, $t1 -/* 00B5C8 8000A9C8 14200003 */ bnez $at, .L8000A9D8 -/* 00B5CC 8000A9CC 00000000 */ nop -.L8000A9D0: -/* 00B5D0 8000A9D0 10000002 */ b .L8000A9DC -/* 00B5D4 8000A9D4 2488FFFF */ addiu $t0, $a0, -1 -.L8000A9D8: -/* 00B5D8 8000A9D8 24830001 */ addiu $v1, $a0, 1 -.L8000A9DC: -/* 00B5DC 8000A9DC 0103082A */ slt $at, $t0, $v1 -/* 00B5E0 8000A9E0 1020FFCE */ beqz $at, .L8000A91C -/* 00B5E4 8000A9E4 00682821 */ addu $a1, $v1, $t0 -.L8000A9E8: -/* 00B5E8 8000A9E8 00001025 */ move $v0, $zero -.L8000A9EC: -/* 00B5EC 8000A9EC 8FB00004 */ lw $s0, 4($sp) -/* 00B5F0 8000A9F0 03E00008 */ jr $ra -/* 00B5F4 8000A9F4 27BD0008 */ addiu $sp, $sp, 8 - diff --git a/asm/non_matchings/unknown_005740/__lookupVoice.s b/asm/non_matchings/unknown_005740/__lookupVoice.s deleted file mode 100644 index 9a0c6770..00000000 --- a/asm/non_matchings/unknown_005740/__lookupVoice.s +++ /dev/null @@ -1,39 +0,0 @@ -glabel __lookupVoice -/* 00B44C 8000A84C AFA50004 */ sw $a1, 4($sp) -/* 00B450 8000A850 AFA60008 */ sw $a2, 8($sp) -/* 00B454 8000A854 8C830064 */ lw $v1, 0x64($a0) -/* 00B458 8000A858 30CF00FF */ andi $t7, $a2, 0xff -/* 00B45C 8000A85C 01E03025 */ move $a2, $t7 -/* 00B460 8000A860 10600018 */ beqz $v1, .L8000A8C4 -/* 00B464 8000A864 30AE00FF */ andi $t6, $a1, 0xff -/* 00B468 8000A868 01C01025 */ move $v0, $t6 -/* 00B46C 8000A86C 24070004 */ li $a3, 4 -/* 00B470 8000A870 24050003 */ li $a1, 3 -.L8000A874: -/* 00B474 8000A874 90780032 */ lbu $t8, 0x32($v1) -/* 00B478 8000A878 00000000 */ nop -/* 00B47C 8000A87C 1458000D */ bne $v0, $t8, .L8000A8B4 -/* 00B480 8000A880 00000000 */ nop -/* 00B484 8000A884 90790031 */ lbu $t9, 0x31($v1) -/* 00B488 8000A888 00000000 */ nop -/* 00B48C 8000A88C 14D90009 */ bne $a2, $t9, .L8000A8B4 -/* 00B490 8000A890 00000000 */ nop -/* 00B494 8000A894 90640035 */ lbu $a0, 0x35($v1) -/* 00B498 8000A898 00000000 */ nop -/* 00B49C 8000A89C 10A40005 */ beq $a1, $a0, .L8000A8B4 -/* 00B4A0 8000A8A0 00000000 */ nop -/* 00B4A4 8000A8A4 10E40003 */ beq $a3, $a0, .L8000A8B4 -/* 00B4A8 8000A8A8 00000000 */ nop -/* 00B4AC 8000A8AC 03E00008 */ jr $ra -/* 00B4B0 8000A8B0 00601025 */ move $v0, $v1 - -.L8000A8B4: -/* 00B4B4 8000A8B4 8C630000 */ lw $v1, ($v1) -/* 00B4B8 8000A8B8 00000000 */ nop -/* 00B4BC 8000A8BC 1460FFED */ bnez $v1, .L8000A874 -/* 00B4C0 8000A8C0 00000000 */ nop -.L8000A8C4: -/* 00B4C4 8000A8C4 00001025 */ move $v0, $zero -/* 00B4C8 8000A8C8 03E00008 */ jr $ra -/* 00B4CC 8000A8CC 00000000 */ nop - diff --git a/asm/non_matchings/unknown_005740/__mapVoice.s b/asm/non_matchings/unknown_005740/__mapVoice.s deleted file mode 100644 index c3962578..00000000 --- a/asm/non_matchings/unknown_005740/__mapVoice.s +++ /dev/null @@ -1,49 +0,0 @@ -glabel __mapVoice -/* 00B31C 8000A71C AFA50004 */ sw $a1, 4($sp) -/* 00B320 8000A720 AFA60008 */ sw $a2, 8($sp) -/* 00B324 8000A724 AFA7000C */ sw $a3, 0xc($sp) -/* 00B328 8000A728 90880071 */ lbu $t0, 0x71($a0) -/* 00B32C 8000A72C 90990070 */ lbu $t9, 0x70($a0) -/* 00B330 8000A730 30AE00FF */ andi $t6, $a1, 0xff -/* 00B334 8000A734 30CF00FF */ andi $t7, $a2, 0xff -/* 00B338 8000A738 30F800FF */ andi $t8, $a3, 0xff -/* 00B33C 8000A73C 8C83006C */ lw $v1, 0x6c($a0) -/* 00B340 8000A740 0328082A */ slt $at, $t9, $t0 -/* 00B344 8000A744 03003825 */ move $a3, $t8 -/* 00B348 8000A748 01E03025 */ move $a2, $t7 -/* 00B34C 8000A74C 10200003 */ beqz $at, .L8000A75C -/* 00B350 8000A750 01C02825 */ move $a1, $t6 -/* 00B354 8000A754 03E00008 */ jr $ra -/* 00B358 8000A758 00001025 */ move $v0, $zero - -.L8000A75C: -/* 00B35C 8000A75C 10600017 */ beqz $v1, .L8000A7BC -/* 00B360 8000A760 00601025 */ move $v0, $v1 -/* 00B364 8000A764 8C690000 */ lw $t1, ($v1) -/* 00B368 8000A768 00000000 */ nop -/* 00B36C 8000A76C AC89006C */ sw $t1, 0x6c($a0) -/* 00B370 8000A770 AC600000 */ sw $zero, ($v1) -/* 00B374 8000A774 8C8A0064 */ lw $t2, 0x64($a0) -/* 00B378 8000A778 00000000 */ nop -/* 00B37C 8000A77C 15400003 */ bnez $t2, .L8000A78C -/* 00B380 8000A780 00000000 */ nop -/* 00B384 8000A784 10000004 */ b .L8000A798 -/* 00B388 8000A788 AC830064 */ sw $v1, 0x64($a0) -.L8000A78C: -/* 00B38C 8000A78C 8C8B0068 */ lw $t3, 0x68($a0) -/* 00B390 8000A790 00000000 */ nop -/* 00B394 8000A794 AD630000 */ sw $v1, ($t3) -.L8000A798: -/* 00B398 8000A798 AC830068 */ sw $v1, 0x68($a0) -/* 00B39C 8000A79C A0670031 */ sb $a3, 0x31($v1) -/* 00B3A0 8000A7A0 A0650032 */ sb $a1, 0x32($v1) -/* 00B3A4 8000A7A4 A0660033 */ sb $a2, 0x33($v1) -/* 00B3A8 8000A7A8 AC630014 */ sw $v1, 0x14($v1) -/* 00B3AC 8000A7AC 908C0071 */ lbu $t4, 0x71($a0) -/* 00B3B0 8000A7B0 00000000 */ nop -/* 00B3B4 8000A7B4 258D0001 */ addiu $t5, $t4, 1 -/* 00B3B8 8000A7B8 A08D0071 */ sb $t5, 0x71($a0) -.L8000A7BC: -/* 00B3BC 8000A7BC 03E00008 */ jr $ra -/* 00B3C0 8000A7C0 00000000 */ nop - diff --git a/asm/non_matchings/unknown_005740/__resetPerfChanState.s b/asm/non_matchings/unknown_005740/__resetPerfChanState.s deleted file mode 100644 index d7c770d7..00000000 --- a/asm/non_matchings/unknown_005740/__resetPerfChanState.s +++ /dev/null @@ -1,41 +0,0 @@ -glabel __resetPerfChanState -/* 00B9F4 8000ADF4 00051080 */ sll $v0, $a1, 2 -/* 00B9F8 8000ADF8 8C8E0060 */ lw $t6, 0x60($a0) -/* 00B9FC 8000ADFC 00451021 */ addu $v0, $v0, $a1 -/* 00BA00 8000AE00 00021080 */ sll $v0, $v0, 2 -/* 00BA04 8000AE04 01C27821 */ addu $t7, $t6, $v0 -/* 00BA08 8000AE08 A1E00006 */ sb $zero, 6($t7) -/* 00BA0C 8000AE0C 8C980060 */ lw $t8, 0x60($a0) -/* 00BA10 8000AE10 24080040 */ li $t0, 64 -/* 00BA14 8000AE14 0302C821 */ addu $t9, $t8, $v0 -/* 00BA18 8000AE18 A320000A */ sb $zero, 0xa($t9) -/* 00BA1C 8000AE1C 8C890060 */ lw $t1, 0x60($a0) -/* 00BA20 8000AE20 2403007F */ li $v1, 127 -/* 00BA24 8000AE24 01225021 */ addu $t2, $t1, $v0 -/* 00BA28 8000AE28 A1480007 */ sb $t0, 7($t2) -/* 00BA2C 8000AE2C 8C8B0060 */ lw $t3, 0x60($a0) -/* 00BA30 8000AE30 240F0005 */ li $t7, 5 -/* 00BA34 8000AE34 01626021 */ addu $t4, $t3, $v0 -/* 00BA38 8000AE38 A1830009 */ sb $v1, 9($t4) -/* 00BA3C 8000AE3C 8C8D0060 */ lw $t5, 0x60($a0) -/* 00BA40 8000AE40 240A00C8 */ li $t2, 200 -/* 00BA44 8000AE44 01A27021 */ addu $t6, $t5, $v0 -/* 00BA48 8000AE48 A1C30010 */ sb $v1, 0x10($t6) -/* 00BA4C 8000AE4C 8C980060 */ lw $t8, 0x60($a0) -/* 00BA50 8000AE50 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 00BA54 8000AE54 0302C821 */ addu $t9, $t8, $v0 -/* 00BA58 8000AE58 A32F0008 */ sb $t7, 8($t9) -/* 00BA5C 8000AE5C 8C890060 */ lw $t1, 0x60($a0) -/* 00BA60 8000AE60 44812000 */ mtc1 $at, $f4 -/* 00BA64 8000AE64 01224021 */ addu $t0, $t1, $v0 -/* 00BA68 8000AE68 A100000B */ sb $zero, 0xb($t0) -/* 00BA6C 8000AE6C 8C8B0060 */ lw $t3, 0x60($a0) -/* 00BA70 8000AE70 00000000 */ nop -/* 00BA74 8000AE74 01626021 */ addu $t4, $t3, $v0 -/* 00BA78 8000AE78 A58A0004 */ sh $t2, 4($t4) -/* 00BA7C 8000AE7C 8C8D0060 */ lw $t5, 0x60($a0) -/* 00BA80 8000AE80 00000000 */ nop -/* 00BA84 8000AE84 01A27021 */ addu $t6, $t5, $v0 -/* 00BA88 8000AE88 03E00008 */ jr $ra -/* 00BA8C 8000AE8C E5C4000C */ swc1 $f4, 0xc($t6) - diff --git a/asm/non_matchings/unknown_005740/__seqpReleaseVoice.s b/asm/non_matchings/unknown_005740/__seqpReleaseVoice.s deleted file mode 100644 index c7b74c73..00000000 --- a/asm/non_matchings/unknown_005740/__seqpReleaseVoice.s +++ /dev/null @@ -1,83 +0,0 @@ -glabel __seqpReleaseVoice -/* 00B700 8000AB00 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 00B704 8000AB04 AFBF0034 */ sw $ra, 0x34($sp) -/* 00B708 8000AB08 AFB60030 */ sw $s6, 0x30($sp) -/* 00B70C 8000AB0C AFB5002C */ sw $s5, 0x2c($sp) -/* 00B710 8000AB10 AFB40028 */ sw $s4, 0x28($sp) -/* 00B714 8000AB14 AFB30024 */ sw $s3, 0x24($sp) -/* 00B718 8000AB18 AFB20020 */ sw $s2, 0x20($sp) -/* 00B71C 8000AB1C AFB1001C */ sw $s1, 0x1c($sp) -/* 00B720 8000AB20 AFB00018 */ sw $s0, 0x18($sp) -/* 00B724 8000AB24 AFA60068 */ sw $a2, 0x68($sp) -/* 00B728 8000AB28 8CB60010 */ lw $s6, 0x10($a1) -/* 00B72C 8000AB2C 0080A025 */ move $s4, $a0 -/* 00B730 8000AB30 92CE0034 */ lbu $t6, 0x34($s6) -/* 00B734 8000AB34 00A0A825 */ move $s5, $a1 -/* 00B738 8000AB38 15C0001C */ bnez $t6, .L8000ABAC -/* 00B73C 8000AB3C 240A0003 */ li $t2, 3 -/* 00B740 8000AB40 8C900050 */ lw $s0, 0x50($a0) -/* 00B744 8000AB44 24130006 */ li $s3, 6 -/* 00B748 8000AB48 12000018 */ beqz $s0, .L8000ABAC -/* 00B74C 8000AB4C 240A0003 */ li $t2, 3 -.L8000AB50: -/* 00B750 8000AB50 860F000C */ lh $t7, 0xc($s0) -/* 00B754 8000AB54 8E110000 */ lw $s1, ($s0) -/* 00B758 8000AB58 166F0011 */ bne $s3, $t7, .L8000ABA0 -/* 00B75C 8000AB5C 00000000 */ nop -/* 00B760 8000AB60 8E180010 */ lw $t8, 0x10($s0) -/* 00B764 8000AB64 00000000 */ nop -/* 00B768 8000AB68 16B8000D */ bne $s5, $t8, .L8000ABA0 -/* 00B76C 8000AB6C 00000000 */ nop -/* 00B770 8000AB70 12200006 */ beqz $s1, .L8000AB8C -/* 00B774 8000AB74 26920048 */ addiu $s2, $s4, 0x48 -/* 00B778 8000AB78 8E390008 */ lw $t9, 8($s1) -/* 00B77C 8000AB7C 8E080008 */ lw $t0, 8($s0) -/* 00B780 8000AB80 00000000 */ nop -/* 00B784 8000AB84 03284821 */ addu $t1, $t9, $t0 -/* 00B788 8000AB88 AE290008 */ sw $t1, 8($s1) -.L8000AB8C: -/* 00B78C 8000AB8C 0C0321D8 */ jal alUnlink -/* 00B790 8000AB90 02002025 */ move $a0, $s0 -/* 00B794 8000AB94 02002025 */ move $a0, $s0 -/* 00B798 8000AB98 0C0321E4 */ jal alLink -/* 00B79C 8000AB9C 02402825 */ move $a1, $s2 -.L8000ABA0: -/* 00B7A0 8000ABA0 1620FFEB */ bnez $s1, .L8000AB50 -/* 00B7A4 8000ABA4 02208025 */ move $s0, $s1 -/* 00B7A8 8000ABA8 240A0003 */ li $t2, 3 -.L8000ABAC: -/* 00B7AC 8000ABAC A2C00033 */ sb $zero, 0x33($s6) -/* 00B7B0 8000ABB0 A2CA0034 */ sb $t2, 0x34($s6) -/* 00B7B4 8000ABB4 A2C00030 */ sb $zero, 0x30($s6) -/* 00B7B8 8000ABB8 8FAC0068 */ lw $t4, 0x68($sp) -/* 00B7BC 8000ABBC 8E8B001C */ lw $t3, 0x1c($s4) -/* 00B7C0 8000ABC0 02A02825 */ move $a1, $s5 -/* 00B7C4 8000ABC4 016C6821 */ addu $t5, $t3, $t4 -/* 00B7C8 8000ABC8 AECD0024 */ sw $t5, 0x24($s6) -/* 00B7CC 8000ABCC 8E840014 */ lw $a0, 0x14($s4) -/* 00B7D0 8000ABD0 00003025 */ move $a2, $zero -/* 00B7D4 8000ABD4 0C0326B8 */ jal alSynSetPriority -/* 00B7D8 8000ABD8 26920048 */ addiu $s2, $s4, 0x48 -/* 00B7DC 8000ABDC 8E840014 */ lw $a0, 0x14($s4) -/* 00B7E0 8000ABE0 8FA70068 */ lw $a3, 0x68($sp) -/* 00B7E4 8000ABE4 02A02825 */ move $a1, $s5 -/* 00B7E8 8000ABE8 0C032594 */ jal alSynSetVol -/* 00B7EC 8000ABEC 00003025 */ move $a2, $zero -/* 00B7F0 8000ABF0 240E0005 */ li $t6, 5 -/* 00B7F4 8000ABF4 8FA60068 */ lw $a2, 0x68($sp) -/* 00B7F8 8000ABF8 A7AE0050 */ sh $t6, 0x50($sp) -/* 00B7FC 8000ABFC AFB50054 */ sw $s5, 0x54($sp) -/* 00B800 8000AC00 02402025 */ move $a0, $s2 -/* 00B804 8000AC04 0C03246B */ jal alEvtqPostEvent -/* 00B808 8000AC08 27A50050 */ addiu $a1, $sp, 0x50 -/* 00B80C 8000AC0C 8FBF0034 */ lw $ra, 0x34($sp) -/* 00B810 8000AC10 8FB00018 */ lw $s0, 0x18($sp) -/* 00B814 8000AC14 8FB1001C */ lw $s1, 0x1c($sp) -/* 00B818 8000AC18 8FB20020 */ lw $s2, 0x20($sp) -/* 00B81C 8000AC1C 8FB30024 */ lw $s3, 0x24($sp) -/* 00B820 8000AC20 8FB40028 */ lw $s4, 0x28($sp) -/* 00B824 8000AC24 8FB5002C */ lw $s5, 0x2c($sp) -/* 00B828 8000AC28 8FB60030 */ lw $s6, 0x30($sp) -/* 00B82C 8000AC2C 03E00008 */ jr $ra -/* 00B830 8000AC30 27BD0060 */ addiu $sp, $sp, 0x60 - diff --git a/asm/non_matchings/unknown_005740/__seqpStopOsc.s b/asm/non_matchings/unknown_005740/__seqpStopOsc.s deleted file mode 100644 index f3fc6bfe..00000000 --- a/asm/non_matchings/unknown_005740/__seqpStopOsc.s +++ /dev/null @@ -1,79 +0,0 @@ -glabel __seqpStopOsc -/* 00BAFC 8000AEFC 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 00BB00 8000AF00 AFBF0034 */ sw $ra, 0x34($sp) -/* 00BB04 8000AF04 AFB70030 */ sw $s7, 0x30($sp) -/* 00BB08 8000AF08 AFB6002C */ sw $s6, 0x2c($sp) -/* 00BB0C 8000AF0C AFB50028 */ sw $s5, 0x28($sp) -/* 00BB10 8000AF10 AFB40024 */ sw $s4, 0x24($sp) -/* 00BB14 8000AF14 AFB30020 */ sw $s3, 0x20($sp) -/* 00BB18 8000AF18 AFB2001C */ sw $s2, 0x1c($sp) -/* 00BB1C 8000AF1C AFB10018 */ sw $s1, 0x18($sp) -/* 00BB20 8000AF20 AFB00014 */ sw $s0, 0x14($sp) -/* 00BB24 8000AF24 8C900050 */ lw $s0, 0x50($a0) -/* 00BB28 8000AF28 00A09025 */ move $s2, $a1 -/* 00BB2C 8000AF2C 1200002D */ beqz $s0, .L8000AFE4 -/* 00BB30 8000AF30 0080A825 */ move $s5, $a0 -/* 00BB34 8000AF34 24170017 */ li $s7, 23 -/* 00BB38 8000AF38 24160016 */ li $s6, 22 -.L8000AF3C: -/* 00BB3C 8000AF3C 8613000C */ lh $s3, 0xc($s0) -/* 00BB40 8000AF40 8E110000 */ lw $s1, ($s0) -/* 00BB44 8000AF44 12760003 */ beq $s3, $s6, .L8000AF54 -/* 00BB48 8000AF48 00000000 */ nop -/* 00BB4C 8000AF4C 16770023 */ bne $s3, $s7, .L8000AFDC -/* 00BB50 8000AF50 00000000 */ nop -.L8000AF54: -/* 00BB54 8000AF54 8E0E0010 */ lw $t6, 0x10($s0) -/* 00BB58 8000AF58 00000000 */ nop -/* 00BB5C 8000AF5C 164E001F */ bne $s2, $t6, .L8000AFDC -/* 00BB60 8000AF60 00000000 */ nop -/* 00BB64 8000AF64 8EB9007C */ lw $t9, 0x7c($s5) -/* 00BB68 8000AF68 8E040014 */ lw $a0, 0x14($s0) -/* 00BB6C 8000AF6C 0320F809 */ jalr $t9 -/* 00BB70 8000AF70 26B40048 */ addiu $s4, $s5, 0x48 -/* 00BB74 8000AF74 0C0321D8 */ jal alUnlink -/* 00BB78 8000AF78 02002025 */ move $a0, $s0 -/* 00BB7C 8000AF7C 12200006 */ beqz $s1, .L8000AF98 -/* 00BB80 8000AF80 02002025 */ move $a0, $s0 -/* 00BB84 8000AF84 8E2F0008 */ lw $t7, 8($s1) -/* 00BB88 8000AF88 8E180008 */ lw $t8, 8($s0) -/* 00BB8C 8000AF8C 00000000 */ nop -/* 00BB90 8000AF90 01F84021 */ addu $t0, $t7, $t8 -/* 00BB94 8000AF94 AE280008 */ sw $t0, 8($s1) -.L8000AF98: -/* 00BB98 8000AF98 0C0321E4 */ jal alLink -/* 00BB9C 8000AF9C 02802825 */ move $a1, $s4 -/* 00BBA0 8000AFA0 16760006 */ bne $s3, $s6, .L8000AFBC -/* 00BBA4 8000AFA4 00000000 */ nop -/* 00BBA8 8000AFA8 92490037 */ lbu $t1, 0x37($s2) -/* 00BBAC 8000AFAC 00000000 */ nop -/* 00BBB0 8000AFB0 312A00FE */ andi $t2, $t1, 0xfe -/* 00BBB4 8000AFB4 10000005 */ b .L8000AFCC -/* 00BBB8 8000AFB8 A24A0037 */ sb $t2, 0x37($s2) -.L8000AFBC: -/* 00BBBC 8000AFBC 924B0037 */ lbu $t3, 0x37($s2) -/* 00BBC0 8000AFC0 00000000 */ nop -/* 00BBC4 8000AFC4 316C00FD */ andi $t4, $t3, 0xfd -/* 00BBC8 8000AFC8 A24C0037 */ sb $t4, 0x37($s2) -.L8000AFCC: -/* 00BBCC 8000AFCC 924D0037 */ lbu $t5, 0x37($s2) -/* 00BBD0 8000AFD0 00000000 */ nop -/* 00BBD4 8000AFD4 11A00004 */ beqz $t5, .L8000AFE8 -/* 00BBD8 8000AFD8 8FBF0034 */ lw $ra, 0x34($sp) -.L8000AFDC: -/* 00BBDC 8000AFDC 1620FFD7 */ bnez $s1, .L8000AF3C -/* 00BBE0 8000AFE0 02208025 */ move $s0, $s1 -.L8000AFE4: -/* 00BBE4 8000AFE4 8FBF0034 */ lw $ra, 0x34($sp) -.L8000AFE8: -/* 00BBE8 8000AFE8 8FB00014 */ lw $s0, 0x14($sp) -/* 00BBEC 8000AFEC 8FB10018 */ lw $s1, 0x18($sp) -/* 00BBF0 8000AFF0 8FB2001C */ lw $s2, 0x1c($sp) -/* 00BBF4 8000AFF4 8FB30020 */ lw $s3, 0x20($sp) -/* 00BBF8 8000AFF8 8FB40024 */ lw $s4, 0x24($sp) -/* 00BBFC 8000AFFC 8FB50028 */ lw $s5, 0x28($sp) -/* 00BC00 8000B000 8FB6002C */ lw $s6, 0x2c($sp) -/* 00BC04 8000B004 8FB70030 */ lw $s7, 0x30($sp) -/* 00BC08 8000B008 03E00008 */ jr $ra -/* 00BC0C 8000B00C 27BD0038 */ addiu $sp, $sp, 0x38 - diff --git a/asm/non_matchings/unknown_005740/__setInstChanState.s b/asm/non_matchings/unknown_005740/__setInstChanState.s deleted file mode 100644 index 8fd61123..00000000 --- a/asm/non_matchings/unknown_005740/__setInstChanState.s +++ /dev/null @@ -1,25 +0,0 @@ -glabel __setInstChanState -/* 00B998 8000AD98 00061080 */ sll $v0, $a2, 2 -/* 00B99C 8000AD9C 8C8E0060 */ lw $t6, 0x60($a0) -/* 00B9A0 8000ADA0 00461021 */ addu $v0, $v0, $a2 -/* 00B9A4 8000ADA4 00021080 */ sll $v0, $v0, 2 -/* 00B9A8 8000ADA8 01C27821 */ addu $t7, $t6, $v0 -/* 00B9AC 8000ADAC ADE50000 */ sw $a1, ($t7) -/* 00B9B0 8000ADB0 8C990060 */ lw $t9, 0x60($a0) -/* 00B9B4 8000ADB4 90B80001 */ lbu $t8, 1($a1) -/* 00B9B8 8000ADB8 03224021 */ addu $t0, $t9, $v0 -/* 00B9BC 8000ADBC A1180007 */ sb $t8, 7($t0) -/* 00B9C0 8000ADC0 8C8A0060 */ lw $t2, 0x60($a0) -/* 00B9C4 8000ADC4 90A90000 */ lbu $t1, ($a1) -/* 00B9C8 8000ADC8 01425821 */ addu $t3, $t2, $v0 -/* 00B9CC 8000ADCC A1690009 */ sb $t1, 9($t3) -/* 00B9D0 8000ADD0 8C8D0060 */ lw $t5, 0x60($a0) -/* 00B9D4 8000ADD4 90AC0002 */ lbu $t4, 2($a1) -/* 00B9D8 8000ADD8 01A27021 */ addu $t6, $t5, $v0 -/* 00B9DC 8000ADDC A1CC0008 */ sb $t4, 8($t6) -/* 00B9E0 8000ADE0 8C990060 */ lw $t9, 0x60($a0) -/* 00B9E4 8000ADE4 84AF000C */ lh $t7, 0xc($a1) -/* 00B9E8 8000ADE8 0322C021 */ addu $t8, $t9, $v0 -/* 00B9EC 8000ADEC 03E00008 */ jr $ra -/* 00B9F0 8000ADF0 A70F0004 */ sh $t7, 4($t8) - diff --git a/asm/non_matchings/unknown_005740/__unmapVoice.s b/asm/non_matchings/unknown_005740/__unmapVoice.s deleted file mode 100644 index ab98ad10..00000000 --- a/asm/non_matchings/unknown_005740/__unmapVoice.s +++ /dev/null @@ -1,43 +0,0 @@ -glabel __unmapVoice -/* 00B3C4 8000A7C4 8C830064 */ lw $v1, 0x64($a0) -/* 00B3C8 8000A7C8 00001025 */ move $v0, $zero -/* 00B3CC 8000A7CC 1060001D */ beqz $v1, .L8000A844 -/* 00B3D0 8000A7D0 24A6FFFC */ addiu $a2, $a1, -4 -.L8000A7D4: -/* 00B3D4 8000A7D4 14660016 */ bne $v1, $a2, .L8000A830 -/* 00B3D8 8000A7D8 00000000 */ nop -/* 00B3DC 8000A7DC 10400004 */ beqz $v0, .L8000A7F0 -/* 00B3E0 8000A7E0 00000000 */ nop -/* 00B3E4 8000A7E4 8C6E0000 */ lw $t6, ($v1) -/* 00B3E8 8000A7E8 10000004 */ b .L8000A7FC -/* 00B3EC 8000A7EC AC4E0000 */ sw $t6, ($v0) -.L8000A7F0: -/* 00B3F0 8000A7F0 8C6F0000 */ lw $t7, ($v1) -/* 00B3F4 8000A7F4 00000000 */ nop -/* 00B3F8 8000A7F8 AC8F0064 */ sw $t7, 0x64($a0) -.L8000A7FC: -/* 00B3FC 8000A7FC 8C980068 */ lw $t8, 0x68($a0) -/* 00B400 8000A800 00000000 */ nop -/* 00B404 8000A804 14780002 */ bne $v1, $t8, .L8000A810 -/* 00B408 8000A808 00000000 */ nop -/* 00B40C 8000A80C AC820068 */ sw $v0, 0x68($a0) -.L8000A810: -/* 00B410 8000A810 8C99006C */ lw $t9, 0x6c($a0) -/* 00B414 8000A814 00000000 */ nop -/* 00B418 8000A818 AC790000 */ sw $t9, ($v1) -/* 00B41C 8000A81C 90880071 */ lbu $t0, 0x71($a0) -/* 00B420 8000A820 AC83006C */ sw $v1, 0x6c($a0) -/* 00B424 8000A824 2509FFFF */ addiu $t1, $t0, -1 -/* 00B428 8000A828 03E00008 */ jr $ra -/* 00B42C 8000A82C A0890071 */ sb $t1, 0x71($a0) - -.L8000A830: -/* 00B430 8000A830 00601025 */ move $v0, $v1 -/* 00B434 8000A834 8C630000 */ lw $v1, ($v1) -/* 00B438 8000A838 00000000 */ nop -/* 00B43C 8000A83C 1460FFE5 */ bnez $v1, .L8000A7D4 -/* 00B440 8000A840 00000000 */ nop -.L8000A844: -/* 00B444 8000A844 03E00008 */ jr $ra -/* 00B448 8000A848 00000000 */ nop - diff --git a/asm/non_matchings/unknown_005740/__voiceNeedsNoteKill.s b/asm/non_matchings/unknown_005740/__voiceNeedsNoteKill.s deleted file mode 100644 index 8aa7c24a..00000000 --- a/asm/non_matchings/unknown_005740/__voiceNeedsNoteKill.s +++ /dev/null @@ -1,51 +0,0 @@ -glabel __voiceNeedsNoteKill -/* 00B834 8000AC34 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 00B838 8000AC38 AFBF0014 */ sw $ra, 0x14($sp) -/* 00B83C 8000AC3C AFA40030 */ sw $a0, 0x30($sp) -/* 00B840 8000AC40 8C870050 */ lw $a3, 0x50($a0) -/* 00B844 8000AC44 00004025 */ move $t0, $zero -/* 00B848 8000AC48 10E00021 */ beqz $a3, .L8000ACD0 -/* 00B84C 8000AC4C 24090001 */ li $t1, 1 -/* 00B850 8000AC50 24040005 */ li $a0, 5 -.L8000AC54: -/* 00B854 8000AC54 8CE30008 */ lw $v1, 8($a3) -/* 00B858 8000AC58 84EF000C */ lh $t7, 0xc($a3) -/* 00B85C 8000AC5C 8CE20000 */ lw $v0, ($a3) -/* 00B860 8000AC60 148F0019 */ bne $a0, $t7, .L8000ACC8 -/* 00B864 8000AC64 01034021 */ addu $t0, $t0, $v1 -/* 00B868 8000AC68 8CF80010 */ lw $t8, 0x10($a3) -/* 00B86C 8000AC6C 00000000 */ nop -/* 00B870 8000AC70 14B80015 */ bne $a1, $t8, .L8000ACC8 -/* 00B874 8000AC74 00C8082A */ slt $at, $a2, $t0 -/* 00B878 8000AC78 10200011 */ beqz $at, .L8000ACC0 -/* 00B87C 8000AC7C 00E02025 */ move $a0, $a3 -/* 00B880 8000AC80 10400005 */ beqz $v0, .L8000AC98 -/* 00B884 8000AC84 00000000 */ nop -/* 00B888 8000AC88 8C590008 */ lw $t9, 8($v0) -/* 00B88C 8000AC8C 00000000 */ nop -/* 00B890 8000AC90 03235021 */ addu $t2, $t9, $v1 -/* 00B894 8000AC94 AC4A0008 */ sw $t2, 8($v0) -.L8000AC98: -/* 00B898 8000AC98 AFA7002C */ sw $a3, 0x2c($sp) -/* 00B89C 8000AC9C 0C0321D8 */ jal alUnlink -/* 00B8A0 8000ACA0 A3A9001F */ sb $t1, 0x1f($sp) -/* 00B8A4 8000ACA4 8FA50030 */ lw $a1, 0x30($sp) -/* 00B8A8 8000ACA8 8FA4002C */ lw $a0, 0x2c($sp) -/* 00B8AC 8000ACAC 0C0321E4 */ jal alLink -/* 00B8B0 8000ACB0 24A50048 */ addiu $a1, $a1, 0x48 -/* 00B8B4 8000ACB4 93A9001F */ lbu $t1, 0x1f($sp) -/* 00B8B8 8000ACB8 10000006 */ b .L8000ACD4 -/* 00B8BC 8000ACBC 8FBF0014 */ lw $ra, 0x14($sp) -.L8000ACC0: -/* 00B8C0 8000ACC0 10000003 */ b .L8000ACD0 -/* 00B8C4 8000ACC4 00004825 */ move $t1, $zero -.L8000ACC8: -/* 00B8C8 8000ACC8 1440FFE2 */ bnez $v0, .L8000AC54 -/* 00B8CC 8000ACCC 00403825 */ move $a3, $v0 -.L8000ACD0: -/* 00B8D0 8000ACD0 8FBF0014 */ lw $ra, 0x14($sp) -.L8000ACD4: -/* 00B8D4 8000ACD4 27BD0030 */ addiu $sp, $sp, 0x30 -/* 00B8D8 8000ACD8 03E00008 */ jr $ra -/* 00B8DC 8000ACDC 01201025 */ move $v0, $t1 - diff --git a/asm/non_matchings/unknown_005740/__vsDelta.s b/asm/non_matchings/unknown_005740/__vsDelta.s deleted file mode 100644 index 07c7ca37..00000000 --- a/asm/non_matchings/unknown_005740/__vsDelta.s +++ /dev/null @@ -1,13 +0,0 @@ -glabel __vsDelta -/* 00B688 8000AA88 8C8E0024 */ lw $t6, 0x24($a0) -/* 00B68C 8000AA8C 240203E8 */ li $v0, 1000 -/* 00B690 8000AA90 01C51823 */ subu $v1, $t6, $a1 -/* 00B694 8000AA94 04600003 */ bltz $v1, .L8000AAA4 -/* 00B698 8000AA98 00000000 */ nop -/* 00B69C 8000AA9C 03E00008 */ jr $ra -/* 00B6A0 8000AAA0 00601025 */ move $v0, $v1 - -.L8000AAA4: -/* 00B6A4 8000AAA4 03E00008 */ jr $ra -/* 00B6A8 8000AAA8 00000000 */ nop - diff --git a/asm/non_matchings/unknown_005740/__vsPan.s b/asm/non_matchings/unknown_005740/__vsPan.s deleted file mode 100644 index 4d90c22f..00000000 --- a/asm/non_matchings/unknown_005740/__vsPan.s +++ /dev/null @@ -1,25 +0,0 @@ -glabel __vsPan -/* 00B6AC 8000AAAC 908F0031 */ lbu $t7, 0x31($a0) -/* 00B6B0 8000AAB0 8CAE0060 */ lw $t6, 0x60($a1) -/* 00B6B4 8000AAB4 000FC080 */ sll $t8, $t7, 2 -/* 00B6B8 8000AAB8 030FC021 */ addu $t8, $t8, $t7 -/* 00B6BC 8000AABC 8C890020 */ lw $t1, 0x20($a0) -/* 00B6C0 8000AAC0 0018C080 */ sll $t8, $t8, 2 -/* 00B6C4 8000AAC4 01D8C821 */ addu $t9, $t6, $t8 -/* 00B6C8 8000AAC8 93280007 */ lbu $t0, 7($t9) -/* 00B6CC 8000AACC 912A000C */ lbu $t2, 0xc($t1) -/* 00B6D0 8000AAD0 00000000 */ nop -/* 00B6D4 8000AAD4 010A1821 */ addu $v1, $t0, $t2 -/* 00B6D8 8000AAD8 2463FFC0 */ addiu $v1, $v1, -0x40 -/* 00B6DC 8000AADC 1C600003 */ bgtz $v1, .L8000AAEC -/* 00B6E0 8000AAE0 2861007F */ slti $at, $v1, 0x7f -/* 00B6E4 8000AAE4 00001825 */ move $v1, $zero -/* 00B6E8 8000AAE8 2861007F */ slti $at, $v1, 0x7f -.L8000AAEC: -/* 00B6EC 8000AAEC 14200002 */ bnez $at, .L8000AAF8 -/* 00B6F0 8000AAF0 00000000 */ nop -/* 00B6F4 8000AAF4 2403007F */ li $v1, 127 -.L8000AAF8: -/* 00B6F8 8000AAF8 03E00008 */ jr $ra -/* 00B6FC 8000AAFC 306200FF */ andi $v0, $v1, 0xff - diff --git a/asm/non_matchings/unknown_005740/__vsVol.s b/asm/non_matchings/unknown_005740/__vsVol.s deleted file mode 100644 index fba0da1c..00000000 --- a/asm/non_matchings/unknown_005740/__vsVol.s +++ /dev/null @@ -1,38 +0,0 @@ -glabel __vsVol -/* 00B5F8 8000A9F8 908E0036 */ lbu $t6, 0x36($a0) -/* 00B5FC 8000A9FC 908F0033 */ lbu $t7, 0x33($a0) -/* 00B600 8000AA00 90990030 */ lbu $t9, 0x30($a0) -/* 00B604 8000AA04 01CF0019 */ multu $t6, $t7 -/* 00B608 8000AA08 908A0031 */ lbu $t2, 0x31($a0) -/* 00B60C 8000AA0C 8CA90060 */ lw $t1, 0x60($a1) -/* 00B610 8000AA10 000A5880 */ sll $t3, $t2, 2 -/* 00B614 8000AA14 016A5821 */ addu $t3, $t3, $t2 -/* 00B618 8000AA18 8C8E0020 */ lw $t6, 0x20($a0) -/* 00B61C 8000AA1C 000B5880 */ sll $t3, $t3, 2 -/* 00B620 8000AA20 012B6021 */ addu $t4, $t1, $t3 -/* 00B624 8000AA24 918D0009 */ lbu $t5, 9($t4) -/* 00B628 8000AA28 91CF000D */ lbu $t7, 0xd($t6) -/* 00B62C 8000AA2C 0000C012 */ mflo $t8 -/* 00B630 8000AA30 00000000 */ nop -/* 00B634 8000AA34 00000000 */ nop -/* 00B638 8000AA38 03190019 */ multu $t8, $t9 -/* 00B63C 8000AA3C 84B90032 */ lh $t9, 0x32($a1) -/* 00B640 8000AA40 00001812 */ mflo $v1 -/* 00B644 8000AA44 00034183 */ sra $t0, $v1, 6 -/* 00B648 8000AA48 01001825 */ move $v1, $t0 -/* 00B64C 8000AA4C 01AF0019 */ multu $t5, $t7 -/* 00B650 8000AA50 0000C012 */ mflo $t8 -/* 00B654 8000AA54 00000000 */ nop -/* 00B658 8000AA58 00000000 */ nop -/* 00B65C 8000AA5C 03190019 */ multu $t8, $t9 -/* 00B660 8000AA60 00003012 */ mflo $a2 -/* 00B664 8000AA64 00064383 */ sra $t0, $a2, 0xe -/* 00B668 8000AA68 00000000 */ nop -/* 00B66C 8000AA6C 00680019 */ multu $v1, $t0 -/* 00B670 8000AA70 00001812 */ mflo $v1 -/* 00B674 8000AA74 000353C2 */ srl $t2, $v1, 0xf -/* 00B678 8000AA78 000A1400 */ sll $v0, $t2, 0x10 -/* 00B67C 8000AA7C 00024C03 */ sra $t1, $v0, 0x10 -/* 00B680 8000AA80 03E00008 */ jr $ra -/* 00B684 8000AA84 01201025 */ move $v0, $t1 - diff --git a/asm/non_matchings/unknown_005740/func_8000A414.s b/asm/non_matchings/unknown_005740/func_8000A414.s index 21537444..4b0154d2 100644 --- a/asm/non_matchings/unknown_005740/func_8000A414.s +++ b/asm/non_matchings/unknown_005740/func_8000A414.s @@ -189,9 +189,5 @@ glabel func_8000A414 /* 00B300 8000A700 27BD0038 */ addiu $sp, $sp, 0x38 /* 00B304 8000A704 03E00008 */ jr $ra /* 00B308 8000A708 00000000 */ nop - /* 00B30C 8000A70C 00000000 */ nop -/* 00B310 8000A710 AFA40000 */ sw $a0, ($sp) -/* 00B314 8000A714 03E00008 */ jr $ra -/* 00B318 8000A718 AFA50004 */ sw $a1, 4($sp) diff --git a/include/PR/libaudio.h b/include/PR/libaudio.h index 6fb448cc..82e7080b 100644 --- a/include/PR/libaudio.h +++ b/include/PR/libaudio.h @@ -589,6 +589,20 @@ typedef struct { f32 pitchBend; /* current pitch bend val in cents */ } ALChanState; +// Can't just replace the original with this, because alCSPGetChlVol won't match. +typedef struct { + ALInstrument *instrument; /* instrument assigned to this chan */ + s16 bendRange; /* pitch bend range in cents */ + ALFxId fxId; /* type of fx assigned to this chan */ + ALPan pan; /* overall pan for this chan */ + u8 priority; /* priority for this chan */ + u8 vol; /* current volume for this chan */ + u8 fxmix; /* current fx mix for this chan */ + u8 sustain; /* current sustain pedal state */ + f32 pitchBend; /* current pitch bend val in cents */ + u8 unk10; +} ALChanState_Custom; + typedef struct ALSeq_s { u8 *base; /* ptr to start of sequence file */ u8 *trackStart; /* ptr to first MIDI event */ @@ -673,6 +687,10 @@ typedef struct { ALVoiceState *vAllocHead; /* list head for allocated voices */ ALVoiceState *vAllocTail; /* list tail for allocated voices */ ALVoiceState *vFreeList; /* list of free voice state structs */ + u8 unk70; + u8 unk71; + u8 unk72; // Might just be padding? + u8 unk73; // Might just be padding? ALOscInit initOsc; ALOscUpdate updateOsc; ALOscStop stopOsc; diff --git a/lib/src/mips1/al/seqplayer.c b/lib/src/mips1/al/seqplayer.c new file mode 100644 index 00000000..75905244 --- /dev/null +++ b/lib/src/mips1/al/seqplayer.c @@ -0,0 +1,316 @@ +/* The comment below is needed for this file to be picked up by generate_ld */ +/* RAM_POS: 0x8000A710 */ + +#include "types.h" +#include "macros.h" +#include "audio_internal.h" + +void __setInstChanState(ALSeqPlayer *seqp, ALInstrument *inst, s32 chan); +void __resetPerfChanState(ALSeqPlayer *seqp, s32 chan) ; + +void dummy_8000A710(s32 arg0, s32 arg1) { +} + +ALVoiceState *__mapVoice(ALSeqPlayer *seqp, u8 key, u8 vel, u8 channel) +{ + ALVoiceState *vs = seqp->vFreeList; + + if(seqp->unk70 < seqp->unk71) { + stubbed_printf("Exceeded voice limit of %d (%d)\n", seqp->unk70, seqp->unk71); + return NULL; + } + + if (vs) { + + seqp->vFreeList = vs->next; + + vs->next = 0; + + if (!seqp->vAllocHead) + seqp->vAllocHead = vs; + else + seqp->vAllocTail->next = vs; + + seqp->vAllocTail = vs; + + vs->channel = channel; + vs->key = key; + vs->velocity = vel; + vs->voice.clientPrivate = vs; + seqp->unk71++; + } + + return vs; +} + +void __unmapVoice(ALSeqPlayer *seqp, ALVoice *voice) +{ + ALVoiceState *prev = 0; + ALVoiceState *vs; + + for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) { + if (&vs->voice == voice) { + if (prev) + prev->next = vs->next; + else + seqp->vAllocHead = vs->next; + + if (vs == seqp->vAllocTail) { + seqp->vAllocTail = prev; + } + + vs->next = seqp->vFreeList; + seqp->vFreeList = vs; + seqp->unk71--; + return; + + } + prev = vs; + } +} + +ALVoiceState *__lookupVoice(ALSeqPlayer *seqp, u8 key, u8 channel) +{ + ALVoiceState *vs; + + for (vs = seqp->vAllocHead; vs != 0; vs = vs->next) { + if ((vs->key == key) && (vs->channel == channel) && + (vs->phase != AL_PHASE_RELEASE) && (vs->phase != AL_PHASE_SUSTREL)) + return vs; + } + + return 0; +} + +ALSound *__lookupSoundQuick(ALSeqPlayer *seqp, u8 key, u8 vel, u8 chan) +{ + ALInstrument *inst = ((ALChanState_Custom*)seqp->chanState)[chan].instrument; + s32 l = 1; + s32 r = inst->soundCount; + s32 i; + ALKeyMap *keymap; + + while (r >= l) { + i = (l+r)/2; + + keymap = inst->soundArray[i-1]->keyMap; + + if ((key >= keymap->keyMin) && (key <= keymap->keyMax) && + (vel >= keymap->velocityMin) && (vel <= keymap->velocityMax)) { + return inst->soundArray[i-1]; + } else if ((key < keymap->keyMin) || + ((vel < keymap->velocityMin) && (key <= keymap->keyMax))) { + r = i - 1; + } else { + l = i + 1; + } + } + + return 0; +} + +s16 __vsVol(ALVoiceState *vs, ALSeqPlayer *seqp) +{ + u32 t1, t2; + + t1 = (vs->tremelo*vs->velocity*vs->envGain) >> 6; + t2 = (vs->sound->sampleVolume*seqp->vol * ((ALChanState_Custom*)seqp->chanState)[vs->channel].vol) >> 14; + + t1 *= t2; + t1 >>= 15; + + return((s16)t1); +} + +ALMicroTime __vsDelta(ALVoiceState *vs, ALMicroTime t) +{ + s32 delta = vs->envEndTime - t; + + if (delta >= 0) { + return delta; + } else { + return AL_GAIN_CHANGE_TIME; + } +} + +ALPan __vsPan(ALVoiceState *vs, ALSeqPlayer *seqp) +{ + s32 tmp; + + tmp = ((ALChanState_Custom*)seqp->chanState)[vs->channel].pan - AL_PAN_CENTER + vs->sound->samplePan; + tmp = MAX(tmp, AL_PAN_LEFT); + tmp = MIN(tmp, AL_PAN_RIGHT); + + return (ALPan) tmp; +} + +void __seqpReleaseVoice(ALSeqPlayer *seqp, ALVoice *voice, ALMicroTime deltaTime) +{ + ALEvent evt; + ALVoiceState *vs = (ALVoiceState *)voice->clientPrivate; + + if (vs->envPhase == AL_PHASE_ATTACK) { + ALLink *thisNode; + ALLink *nextNode; + ALEventListItem *thisItem, *nextItem; + + thisNode = seqp->evtq.allocList.next; + while( thisNode != 0 ) { + nextNode = thisNode->next; + thisItem = (ALEventListItem *)thisNode; + nextItem = (ALEventListItem *)nextNode; + if (thisItem->evt.type == AL_SEQP_ENV_EVT) { + if(thisItem->evt.msg.vol.voice == voice) { + if( nextItem ) + nextItem->delta += thisItem->delta; + alUnlink(thisNode); + alLink(thisNode, &seqp->evtq.freeList); + } + } + thisNode = nextNode; + } + } + + vs->velocity = 0; + vs->envPhase = AL_PHASE_RELEASE; + vs->envGain = 0; + vs->envEndTime = seqp->curTime + deltaTime; + + alSynSetPriority(seqp->drvr, voice, 0); + alSynSetVol(seqp->drvr, voice, 0, deltaTime); + evt.type = AL_NOTE_END_EVT; + evt.msg.note.voice = voice; + + alEvtqPostEvent(&seqp->evtq, &evt, deltaTime); +} + +u8 __voiceNeedsNoteKill (ALSeqPlayer *seqp, ALVoice *voice, ALMicroTime killTime) +{ + ALLink *thisNode; + ALLink *nextNode; + ALEventListItem *thisItem; + ALMicroTime itemTime = 0; + u8 needsNoteKill = TRUE; + + thisNode = seqp->evtq.allocList.next; + while (thisNode != 0) + { + nextNode = thisNode->next; + thisItem = (ALEventListItem *)thisNode; + itemTime += thisItem->delta; + + if (thisItem->evt.type == AL_NOTE_END_EVT) + { + if (thisItem->evt.msg.note.voice == voice) + { + if (itemTime > killTime) + { + if ((ALEventListItem *)nextNode) + ((ALEventListItem *)nextNode)->delta += thisItem->delta; + alUnlink(thisNode); + alLink(thisNode, &seqp->evtq.freeList); + } + else + needsNoteKill = FALSE; + break; + } + } + thisNode = nextNode; + } + + return needsNoteKill; +} + +void __initFromBank(ALSeqPlayer *seqp, ALBank *b) +{ + s32 i; + ALInstrument *inst = 0; + + for(i = 0; !inst ; i++) + inst = b->instArray[i]; + + for (i = 0; i < seqp->maxChannels; i++) { + __resetPerfChanState(seqp, i); + __setInstChanState(seqp, inst, i); + } + + if (b->percussion) { + __resetPerfChanState(seqp, i); + __setInstChanState(seqp, b->percussion, 9); + } +} + +void __setInstChanState(ALSeqPlayer *seqp, ALInstrument *inst, s32 chan) +{ + ((ALChanState_Custom*)seqp->chanState)[chan].instrument = inst; + ((ALChanState_Custom*)seqp->chanState)[chan].pan = inst->pan; + ((ALChanState_Custom*)seqp->chanState)[chan].vol = inst->volume; + ((ALChanState_Custom*)seqp->chanState)[chan].priority = inst->priority; + ((ALChanState_Custom*)seqp->chanState)[chan].bendRange = inst->bendRange; +} + +void __resetPerfChanState(ALSeqPlayer *seqp, s32 chan) +{ + ((ALChanState_Custom*)seqp->chanState)[chan].fxId = AL_FX_NONE; + ((ALChanState_Custom*)seqp->chanState)[chan].fxmix = AL_DEFAULT_FXMIX; + ((ALChanState_Custom*)seqp->chanState)[chan].pan = AL_PAN_CENTER; + ((ALChanState_Custom*)seqp->chanState)[chan].vol = AL_VOL_FULL; + ((ALChanState_Custom*)seqp->chanState)[chan].unk10 = AL_VOL_FULL; + ((ALChanState_Custom*)seqp->chanState)[chan].priority = AL_DEFAULT_PRIORITY; + ((ALChanState_Custom*)seqp->chanState)[chan].sustain = 0; + ((ALChanState_Custom*)seqp->chanState)[chan].bendRange = 200; + ((ALChanState_Custom*)seqp->chanState)[chan].pitchBend = 1.0f; +} + +void __initChanState(ALSeqPlayer *seqp) +{ + int i; + + for (i = 0; i < seqp->maxChannels; i++) + { + ((ALChanState_Custom*)seqp->chanState)[i].instrument = 0; + __resetPerfChanState(seqp, i); + } +} + +void __seqpStopOsc(ALSeqPlayer *seqp, ALVoiceState *vs) +{ + ALEventListItem *thisNode,*nextNode; + s16 evtType; + + thisNode = (ALEventListItem*)seqp->evtq.allocList.next; + while(thisNode) + { + nextNode = (ALEventListItem*)thisNode->node.next; + evtType = thisNode->evt.type; + if(evtType == AL_TREM_OSC_EVT || evtType == AL_VIB_OSC_EVT) + { + if(thisNode->evt.msg.osc.vs == vs) + { + (*(seqp->stopOsc))(thisNode->evt.msg.osc.oscState); + alUnlink((ALLink*)thisNode); + if(nextNode) + nextNode->delta += thisNode->delta; + alLink((ALLink*)thisNode, &seqp->evtq.freeList); + if(evtType == AL_TREM_OSC_EVT) + vs->flags = vs->flags & 0xFE; + else + vs->flags = vs->flags & 0xFD; + if(!vs->flags) + return; + } + } + + thisNode = nextNode; + } +} + +/* Unknown Size */ +typedef struct unk8000B010 { + u8 unk00[0x70]; + s8 unk70; +} unk8000B010; + +void func_8000B010(unk8000B010 *arg0, s8 arg1) { + arg0->unk70 = arg1; +} diff --git a/src/unknown_008C40.c b/src/unknown_008C40.c index a09bd988..a746e82c 100644 --- a/src/unknown_008C40.c +++ b/src/unknown_008C40.c @@ -3,6 +3,7 @@ #include "types.h" #include "macros.h" +#include "audio_internal.h" /************ .data ************/ @@ -17,6 +18,7 @@ const char D_800E4D18[] = "amAudioLineAddVertex: Exceeded maximum number of line const char D_800E4D58[] = "amAudioLineAddVertex: Exceeded maximum number of line vertices (%d)\n"; const char D_800E4DA0[] = "amReverbLineAddVertex: Exceeded maximum number of lines (%d)\n"; const char D_800E4DE0[] = "amReverbLineAddVertex: Exceeded maximum number of line vertices (%d)\n"; + const char D_800E4E28[] = "Audio line definition error (less than 2 vertices on line %d)\n"; const char D_800E4E68[] = "Audio line definition error (line=%d, vertex=%d)\n"; const char D_800E4E9C[] = "Reverb line definition error (less than 2 vertices on line %d)\n"; @@ -39,6 +41,7 @@ void func_80008168(void) { GLOBAL_ASM("asm/non_matchings/unknown_005740/func_80008174.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_80008438.s") + GLOBAL_ASM("asm/non_matchings/unknown_005740/func_800090C0.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_800092A8.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_80009558.s") @@ -54,12 +57,3 @@ GLOBAL_ASM("asm/non_matchings/unknown_005740/func_80009B7C.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_80009D6C.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_8000A2E8.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_8000A414.s") -GLOBAL_ASM("asm/non_matchings/unknown_005740/__mapVoice.s") -GLOBAL_ASM("asm/non_matchings/unknown_005740/__unmapVoice.s") -GLOBAL_ASM("asm/non_matchings/unknown_005740/__lookupVoice.s") -GLOBAL_ASM("asm/non_matchings/unknown_005740/__lookupSoundQuick.s") -GLOBAL_ASM("asm/non_matchings/unknown_005740/__vsVol.s") -GLOBAL_ASM("asm/non_matchings/unknown_005740/__vsDelta.s") -GLOBAL_ASM("asm/non_matchings/unknown_005740/__vsPan.s") -GLOBAL_ASM("asm/non_matchings/unknown_005740/__seqpReleaseVoice.s") -GLOBAL_ASM("asm/non_matchings/unknown_005740/__voiceNeedsNoteKill.s") diff --git a/src/unknown_00B8E0.c b/src/unknown_00B8E0.c deleted file mode 100644 index 687bf054..00000000 --- a/src/unknown_00B8E0.c +++ /dev/null @@ -1,28 +0,0 @@ -/* The comment below is needed for this file to be picked up by generate_ld */ -/* RAM_POS: 0x8000ACE0 */ - -#include "types.h" -#include "macros.h" - -/************ .rodata ************/ - -const char D_800E4F30[] = "Exceeded voice limit of %d (%d)\n"; - -/*********************************/ - -GLOBAL_ASM("asm/non_matchings/unknown_005740/__initFromBank.s") -GLOBAL_ASM("asm/non_matchings/unknown_005740/__setInstChanState.s") -GLOBAL_ASM("asm/non_matchings/unknown_005740/__resetPerfChanState.s") -GLOBAL_ASM("asm/non_matchings/unknown_005740/__initChanState.s") -GLOBAL_ASM("asm/non_matchings/unknown_005740/__seqpStopOsc.s") - -/* Unknown Size */ -typedef struct unk8000B010 { - u8 unk00[0x70]; - s8 unk70; -} unk8000B010; - -void func_8000B010(unk8000B010 *arg0, s8 arg1) { - arg0->unk70 = arg1; -} -