Merge pull request #66 from MittenzHugg/master

Update: 6.97%
This commit is contained in:
David Benepe
2020-08-06 09:50:06 -05:00
committed by GitHub
36 changed files with 1799 additions and 968 deletions
+3 -1
View File
@@ -97,7 +97,8 @@ else
endif
AS = $(CROSS)as
CC := $(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/bin/cc
#CC := $(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/bin/cc
CC := $(QEMU_IRIX) -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/bin/cc
CPP := cpp -P -Wno-trigraphs
LD = $(CROSS)ld
OBJDUMP = $(CROSS)objdump
@@ -237,6 +238,7 @@ $(BUILD_DIR)/lib/src/unknown_0C91A0.o : OPT_FLAGS := -O1
$(BUILD_DIR)/lib/src/unknown_0D29F0.o: OPT_FLAGS := -O1
$(BUILD_DIR)/lib/src/unknown_0CDE90.o: OPT_FLAGS := -O1
$(BUILD_DIR)/lib/src/unknown_0D3160.o: OPT_FLAGS := -O1
$(BUILD_DIR)/lib/src/unknown_0C9C90.o: OPT_FLAGS := -O2 -Wo,-loopunroll,0
$(BUILD_DIR)/lib/src/osCreateThread.o : OPT_FLAGS := -O1
$(BUILD_DIR)/lib/src/osGetThreadPri.o : OPT_FLAGS := -O1
$(BUILD_DIR)/lib/src/osJamMesg.o : OPT_FLAGS := -O1
@@ -35,7 +35,7 @@ glabel func_80000450
/* 0010D4 800004D4 0C01DBBA */ jal func_80076EE8
/* 0010D8 800004D8 24040027 */ li $a0, 39
/* 0010DC 800004DC 8E040000 */ lw $a0, ($s0)
/* 0010E0 800004E0 0C031DA9 */ jal func_800C76A4
/* 0010E0 800004E0 0C031DA9 */ jal alBnkfNew
/* 0010E4 800004E4 00402825 */ move $a1, $v0
/* 0010E8 800004E8 8E59001C */ lw $t9, 0x1c($s2)
/* 0010EC 800004EC 8E490018 */ lw $t1, 0x18($s2)
@@ -103,7 +103,7 @@ glabel func_80000450
/* 0011E4 800005E4 0C01DBBA */ jal func_80076EE8
/* 0011E8 800005E8 24040027 */ li $a0, 39
/* 0011EC 800005EC 8E040000 */ lw $a0, ($s0)
/* 0011F0 800005F0 0C031DA9 */ jal func_800C76A4
/* 0011F0 800005F0 0C031DA9 */ jal alBnkfNew
/* 0011F4 800005F4 00402825 */ move $a1, $v0
/* 0011F8 800005F8 3C068011 */ lui $a2, %hi(D_80115CE8) # $a2, 0x8011
/* 0011FC 800005FC 24090004 */ li $t1, 4
@@ -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
@@ -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)
@@ -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)
@@ -1,47 +0,0 @@
glabel _filterBuffer
/* 0653D0 800647D0 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0653D4 800647D4 AFB00018 */ sw $s0, 0x18($sp)
/* 0653D8 800647D8 AFBF001C */ sw $ra, 0x1c($sp)
/* 0653DC 800647DC 30A2FFFF */ andi $v0, $a1, 0xffff
/* 0653E0 800647E0 0006C040 */ sll $t8, $a2, 1
/* 0653E4 800647E4 3319FFFF */ andi $t9, $t8, 0xffff
/* 0653E8 800647E8 00027C00 */ sll $t7, $v0, 0x10
/* 0653EC 800647EC 3C010800 */ lui $at, 0x800
/* 0653F0 800647F0 3C090B00 */ lui $t1, (0x0B000020 >> 16) # lui $t1, 0xb00
/* 0653F4 800647F4 00417025 */ or $t6, $v0, $at
/* 0653F8 800647F8 01F94025 */ or $t0, $t7, $t9
/* 0653FC 800647FC 35290020 */ ori $t1, (0x0B000020 & 0xFFFF) # ori $t1, $t1, 0x20
/* 065400 80064800 00808025 */ move $s0, $a0
/* 065404 80064804 ACE80004 */ sw $t0, 4($a3)
/* 065408 80064808 ACEE0000 */ sw $t6, ($a3)
/* 06540C 8006480C ACE90008 */ sw $t1, 8($a3)
/* 065410 80064810 AFA7003C */ sw $a3, 0x3c($sp)
/* 065414 80064814 0C03233C */ jal osVirtualToPhysical
/* 065418 80064818 24840008 */ addiu $a0, $a0, 8
/* 06541C 8006481C 8FA7003C */ lw $a3, 0x3c($sp)
/* 065420 80064820 3C010E00 */ lui $at, 0xe00
/* 065424 80064824 24E30010 */ addiu $v1, $a3, 0x10
/* 065428 80064828 246A0008 */ addiu $t2, $v1, 8
/* 06542C 8006482C ACE2000C */ sw $v0, 0xc($a3)
/* 065430 80064830 AFAA002C */ sw $t2, 0x2c($sp)
/* 065434 80064834 8E0B002C */ lw $t3, 0x2c($s0)
/* 065438 80064838 86180002 */ lh $t8, 2($s0)
/* 06543C 8006483C 316C00FF */ andi $t4, $t3, 0xff
/* 065440 80064840 000C6C00 */ sll $t5, $t4, 0x10
/* 065444 80064844 01A17025 */ or $t6, $t5, $at
/* 065448 80064848 330FFFFF */ andi $t7, $t8, 0xffff
/* 06544C 8006484C 01CFC825 */ or $t9, $t6, $t7
/* 065450 80064850 AC790000 */ sw $t9, ($v1)
/* 065454 80064854 8E040028 */ lw $a0, 0x28($s0)
/* 065458 80064858 0C03233C */ jal osVirtualToPhysical
/* 06545C 8006485C AFA30020 */ sw $v1, 0x20($sp)
/* 065460 80064860 8FA50020 */ lw $a1, 0x20($sp)
/* 065464 80064864 00000000 */ nop
/* 065468 80064868 ACA20004 */ sw $v0, 4($a1)
/* 06546C 8006486C AE00002C */ sw $zero, 0x2c($s0)
/* 065470 80064870 8FBF001C */ lw $ra, 0x1c($sp)
/* 065474 80064874 8FB00018 */ lw $s0, 0x18($sp)
/* 065478 80064878 8FA2002C */ lw $v0, 0x2c($sp)
/* 06547C 8006487C 03E00008 */ jr $ra
/* 065480 80064880 27BD0030 */ addiu $sp, $sp, 0x30
@@ -1,107 +0,0 @@
glabel _loadBuffer
/* 0650A0 800644A0 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 0650A4 800644A4 AFBF001C */ sw $ra, 0x1c($sp)
/* 0650A8 800644A8 AFB00018 */ sw $s0, 0x18($sp)
/* 0650AC 800644AC AFA40060 */ sw $a0, 0x60($sp)
/* 0650B0 800644B0 AFA60068 */ sw $a2, 0x68($sp)
/* 0650B4 800644B4 AFA7006C */ sw $a3, 0x6c($sp)
/* 0650B8 800644B8 8C83001C */ lw $v1, 0x1c($a0)
/* 0650BC 800644BC 8C820014 */ lw $v0, 0x14($a0)
/* 0650C0 800644C0 00037840 */ sll $t7, $v1, 1
/* 0650C4 800644C4 00A2082B */ sltu $at, $a1, $v0
/* 0650C8 800644C8 10200002 */ beqz $at, .L800644D4
/* 0650CC 800644CC 004F4021 */ addu $t0, $v0, $t7
/* 0650D0 800644D0 00AF2821 */ addu $a1, $a1, $t7
.L800644D4:
/* 0650D4 800644D4 8FA6006C */ lw $a2, 0x6c($sp)
/* 0650D8 800644D8 8FAE0070 */ lw $t6, 0x70($sp)
/* 0650DC 800644DC 0006C040 */ sll $t8, $a2, 1
/* 0650E0 800644E0 03053821 */ addu $a3, $t8, $a1
/* 0650E4 800644E4 0107082B */ sltu $at, $t0, $a3
/* 0650E8 800644E8 10200037 */ beqz $at, .L800645C8
/* 0650EC 800644EC 03003025 */ move $a2, $t8
/* 0650F0 800644F0 8FB90070 */ lw $t9, 0x70($sp)
/* 0650F4 800644F4 8FAB0068 */ lw $t3, 0x68($sp)
/* 0650F8 800644F8 01054823 */ subu $t1, $t0, $a1
/* 0650FC 800644FC 00097043 */ sra $t6, $t1, 1
/* 065100 80064500 000E7840 */ sll $t7, $t6, 1
/* 065104 80064504 3C010800 */ lui $at, 0x800
/* 065108 80064508 316CFFFF */ andi $t4, $t3, 0xffff
/* 06510C 8006450C 01816825 */ or $t5, $t4, $at
/* 065110 80064510 31F8FFFF */ andi $t8, $t7, 0xffff
/* 065114 80064514 27300008 */ addiu $s0, $t9, 8
/* 065118 80064518 AF380004 */ sw $t8, 4($t9)
/* 06511C 8006451C AF2D0000 */ sw $t5, ($t9)
/* 065120 80064520 3C190400 */ lui $t9, 0x400
/* 065124 80064524 02005025 */ move $t2, $s0
/* 065128 80064528 AD590000 */ sw $t9, ($t2)
/* 06512C 8006452C AFAA0044 */ sw $t2, 0x44($sp)
/* 065130 80064530 AFAF0024 */ sw $t7, 0x24($sp)
/* 065134 80064534 AFA8004C */ sw $t0, 0x4c($sp)
/* 065138 80064538 AFA70028 */ sw $a3, 0x28($sp)
/* 06513C 8006453C AFA6002C */ sw $a2, 0x2c($sp)
/* 065140 80064540 26100008 */ addiu $s0, $s0, 8
/* 065144 80064544 0C03233C */ jal osVirtualToPhysical
/* 065148 80064548 00A02025 */ move $a0, $a1
/* 06514C 8006454C 8FAA0044 */ lw $t2, 0x44($sp)
/* 065150 80064550 8FA70028 */ lw $a3, 0x28($sp)
/* 065154 80064554 8FA8004C */ lw $t0, 0x4c($sp)
/* 065158 80064558 8FA90024 */ lw $t1, 0x24($sp)
/* 06515C 8006455C AD420004 */ sw $v0, 4($t2)
/* 065160 80064560 8FAB0068 */ lw $t3, 0x68($sp)
/* 065164 80064564 00E87823 */ subu $t7, $a3, $t0
/* 065168 80064568 000FC043 */ sra $t8, $t7, 1
/* 06516C 8006456C 02001825 */ move $v1, $s0
/* 065170 80064570 012B6021 */ addu $t4, $t1, $t3
/* 065174 80064574 318DFFFF */ andi $t5, $t4, 0xffff
/* 065178 80064578 0018C840 */ sll $t9, $t8, 1
/* 06517C 8006457C 3C010800 */ lui $at, 0x800
/* 065180 80064580 01A17025 */ or $t6, $t5, $at
/* 065184 80064584 332BFFFF */ andi $t3, $t9, 0xffff
/* 065188 80064588 26100008 */ addiu $s0, $s0, 8
/* 06518C 8006458C AC6B0004 */ sw $t3, 4($v1)
/* 065190 80064590 AC6E0000 */ sw $t6, ($v1)
/* 065194 80064594 02002825 */ move $a1, $s0
/* 065198 80064598 3C0C0400 */ lui $t4, 0x400
/* 06519C 8006459C ACAC0000 */ sw $t4, ($a1)
/* 0651A0 800645A0 8FAD0060 */ lw $t5, 0x60($sp)
/* 0651A4 800645A4 26100008 */ addiu $s0, $s0, 8
/* 0651A8 800645A8 8DA40014 */ lw $a0, 0x14($t5)
/* 0651AC 800645AC 0C03233C */ jal osVirtualToPhysical
/* 0651B0 800645B0 AFA5003C */ sw $a1, 0x3c($sp)
/* 0651B4 800645B4 8FA5003C */ lw $a1, 0x3c($sp)
/* 0651B8 800645B8 8FA6002C */ lw $a2, 0x2c($sp)
/* 0651BC 800645BC ACA20004 */ sw $v0, 4($a1)
/* 0651C0 800645C0 10000014 */ b .L80064614
/* 0651C4 800645C4 30C7FFFF */ andi $a3, $a2, 0xffff
.L800645C8:
/* 0651C8 800645C8 8FAF0068 */ lw $t7, 0x68($sp)
/* 0651CC 800645CC 3C010800 */ lui $at, 0x800
/* 0651D0 800645D0 31F8FFFF */ andi $t8, $t7, 0xffff
/* 0651D4 800645D4 0301C825 */ or $t9, $t8, $at
/* 0651D8 800645D8 25D00008 */ addiu $s0, $t6, 8
/* 0651DC 800645DC 30C7FFFF */ andi $a3, $a2, 0xffff
/* 0651E0 800645E0 ADC70004 */ sw $a3, 4($t6)
/* 0651E4 800645E4 ADD90000 */ sw $t9, ($t6)
/* 0651E8 800645E8 02001825 */ move $v1, $s0
/* 0651EC 800645EC 3C0B0400 */ lui $t3, 0x400
/* 0651F0 800645F0 AC6B0000 */ sw $t3, ($v1)
/* 0651F4 800645F4 AFA70028 */ sw $a3, 0x28($sp)
/* 0651F8 800645F8 AFA30034 */ sw $v1, 0x34($sp)
/* 0651FC 800645FC 26100008 */ addiu $s0, $s0, 8
/* 065200 80064600 0C03233C */ jal osVirtualToPhysical
/* 065204 80064604 00A02025 */ move $a0, $a1
/* 065208 80064608 8FA30034 */ lw $v1, 0x34($sp)
/* 06520C 8006460C 8FA70028 */ lw $a3, 0x28($sp)
/* 065210 80064610 AC620004 */ sw $v0, 4($v1)
.L80064614:
/* 065214 80064614 02001825 */ move $v1, $s0
/* 065218 80064618 3C0C0800 */ lui $t4, 0x800
/* 06521C 8006461C AC6C0000 */ sw $t4, ($v1)
/* 065220 80064620 AC670004 */ sw $a3, 4($v1)
/* 065224 80064624 8FBF001C */ lw $ra, 0x1c($sp)
/* 065228 80064628 26020008 */ addiu $v0, $s0, 8
/* 06522C 8006462C 8FB00018 */ lw $s0, 0x18($sp)
/* 065230 80064630 03E00008 */ jr $ra
/* 065234 80064634 27BD0060 */ addiu $sp, $sp, 0x60
@@ -1,107 +0,0 @@
glabel _saveBuffer
/* 065238 80064638 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 06523C 8006463C AFBF001C */ sw $ra, 0x1c($sp)
/* 065240 80064640 AFB00018 */ sw $s0, 0x18($sp)
/* 065244 80064644 AFA40060 */ sw $a0, 0x60($sp)
/* 065248 80064648 AFA60068 */ sw $a2, 0x68($sp)
/* 06524C 8006464C AFA7006C */ sw $a3, 0x6c($sp)
/* 065250 80064650 8C83001C */ lw $v1, 0x1c($a0)
/* 065254 80064654 8C820014 */ lw $v0, 0x14($a0)
/* 065258 80064658 00037840 */ sll $t7, $v1, 1
/* 06525C 8006465C 00A2082B */ sltu $at, $a1, $v0
/* 065260 80064660 10200002 */ beqz $at, .L8006466C
/* 065264 80064664 004F4021 */ addu $t0, $v0, $t7
/* 065268 80064668 00AF2821 */ addu $a1, $a1, $t7
.L8006466C:
/* 06526C 8006466C 8FA6006C */ lw $a2, 0x6c($sp)
/* 065270 80064670 8FB90070 */ lw $t9, 0x70($sp)
/* 065274 80064674 0006C040 */ sll $t8, $a2, 1
/* 065278 80064678 03053821 */ addu $a3, $t8, $a1
/* 06527C 8006467C 0107082B */ sltu $at, $t0, $a3
/* 065280 80064680 1020003C */ beqz $at, .L80064774
/* 065284 80064684 03003025 */ move $a2, $t8
/* 065288 80064688 8FA20070 */ lw $v0, 0x70($sp)
/* 06528C 8006468C 3C0B0800 */ lui $t3, 0x800
/* 065290 80064690 01054823 */ subu $t1, $t0, $a1
/* 065294 80064694 AC4B0000 */ sw $t3, ($v0)
/* 065298 80064698 8FAF0068 */ lw $t7, 0x68($sp)
/* 06529C 8006469C 00096043 */ sra $t4, $t1, 1
/* 0652A0 800646A0 000C6840 */ sll $t5, $t4, 1
/* 0652A4 800646A4 31B9FFFF */ andi $t9, $t5, 0xffff
/* 0652A8 800646A8 000FC400 */ sll $t8, $t7, 0x10
/* 0652AC 800646AC 03195825 */ or $t3, $t8, $t9
/* 0652B0 800646B0 24500008 */ addiu $s0, $v0, 8
/* 0652B4 800646B4 02005025 */ move $t2, $s0
/* 0652B8 800646B8 3C0C0600 */ lui $t4, 0x600
/* 0652BC 800646BC AC4B0004 */ sw $t3, 4($v0)
/* 0652C0 800646C0 AD4C0000 */ sw $t4, ($t2)
/* 0652C4 800646C4 AFAA0044 */ sw $t2, 0x44($sp)
/* 0652C8 800646C8 AFAD0024 */ sw $t5, 0x24($sp)
/* 0652CC 800646CC AFA8004C */ sw $t0, 0x4c($sp)
/* 0652D0 800646D0 AFA70028 */ sw $a3, 0x28($sp)
/* 0652D4 800646D4 AFA6002C */ sw $a2, 0x2c($sp)
/* 0652D8 800646D8 26100008 */ addiu $s0, $s0, 8
/* 0652DC 800646DC 0C03233C */ jal osVirtualToPhysical
/* 0652E0 800646E0 00A02025 */ move $a0, $a1
/* 0652E4 800646E4 8FAA0044 */ lw $t2, 0x44($sp)
/* 0652E8 800646E8 8FA70028 */ lw $a3, 0x28($sp)
/* 0652EC 800646EC 8FA8004C */ lw $t0, 0x4c($sp)
/* 0652F0 800646F0 8FA90024 */ lw $t1, 0x24($sp)
/* 0652F4 800646F4 02001825 */ move $v1, $s0
/* 0652F8 800646F8 3C0D0800 */ lui $t5, 0x800
/* 0652FC 800646FC AD420004 */ sw $v0, 4($t2)
/* 065300 80064700 AC6D0000 */ sw $t5, ($v1)
/* 065304 80064704 8FAE0068 */ lw $t6, 0x68($sp)
/* 065308 80064708 00E85823 */ subu $t3, $a3, $t0
/* 06530C 8006470C 000B6043 */ sra $t4, $t3, 1
/* 065310 80064710 012EC021 */ addu $t8, $t1, $t6
/* 065314 80064714 000C6840 */ sll $t5, $t4, 1
/* 065318 80064718 31AEFFFF */ andi $t6, $t5, 0xffff
/* 06531C 8006471C 0018CC00 */ sll $t9, $t8, 0x10
/* 065320 80064720 032E7825 */ or $t7, $t9, $t6
/* 065324 80064724 26100008 */ addiu $s0, $s0, 8
/* 065328 80064728 AC6F0004 */ sw $t7, 4($v1)
/* 06532C 8006472C 02002825 */ move $a1, $s0
/* 065330 80064730 3C180600 */ lui $t8, 0x600
/* 065334 80064734 ACB80000 */ sw $t8, ($a1)
/* 065338 80064738 8FAB0060 */ lw $t3, 0x60($sp)
/* 06533C 8006473C 26100008 */ addiu $s0, $s0, 8
/* 065340 80064740 8D640014 */ lw $a0, 0x14($t3)
/* 065344 80064744 0C03233C */ jal osVirtualToPhysical
/* 065348 80064748 AFA5003C */ sw $a1, 0x3c($sp)
/* 06534C 8006474C 8FA6002C */ lw $a2, 0x2c($sp)
/* 065350 80064750 8FA5003C */ lw $a1, 0x3c($sp)
/* 065354 80064754 02001825 */ move $v1, $s0
/* 065358 80064758 3C0C0800 */ lui $t4, 0x800
/* 06535C 8006475C 30CDFFFF */ andi $t5, $a2, 0xffff
/* 065360 80064760 ACA20004 */ sw $v0, 4($a1)
/* 065364 80064764 AC6D0004 */ sw $t5, 4($v1)
/* 065368 80064768 AC6C0000 */ sw $t4, ($v1)
/* 06536C 8006476C 10000013 */ b .L800647BC
/* 065370 80064770 26100008 */ addiu $s0, $s0, 8
.L80064774:
/* 065374 80064774 3C0E0800 */ lui $t6, 0x800
/* 065378 80064778 AF2E0000 */ sw $t6, ($t9)
/* 06537C 8006477C 8FB80068 */ lw $t8, 0x68($sp)
/* 065380 80064780 30CCFFFF */ andi $t4, $a2, 0xffff
/* 065384 80064784 00185C00 */ sll $t3, $t8, 0x10
/* 065388 80064788 016C6825 */ or $t5, $t3, $t4
/* 06538C 8006478C 27300008 */ addiu $s0, $t9, 8
/* 065390 80064790 AF2D0004 */ sw $t5, 4($t9)
/* 065394 80064794 3C190600 */ lui $t9, 0x600
/* 065398 80064798 02001825 */ move $v1, $s0
/* 06539C 8006479C AC790000 */ sw $t9, ($v1)
/* 0653A0 800647A0 AFA30030 */ sw $v1, 0x30($sp)
/* 0653A4 800647A4 26100008 */ addiu $s0, $s0, 8
/* 0653A8 800647A8 0C03233C */ jal osVirtualToPhysical
/* 0653AC 800647AC 00A02025 */ move $a0, $a1
/* 0653B0 800647B0 8FA30030 */ lw $v1, 0x30($sp)
/* 0653B4 800647B4 00000000 */ nop
/* 0653B8 800647B8 AC620004 */ sw $v0, 4($v1)
.L800647BC:
/* 0653BC 800647BC 8FBF001C */ lw $ra, 0x1c($sp)
/* 0653C0 800647C0 02001025 */ move $v0, $s0
/* 0653C4 800647C4 8FB00018 */ lw $s0, 0x18($sp)
/* 0653C8 800647C8 03E00008 */ jr $ra
/* 0653CC 800647CC 27BD0060 */ addiu $sp, $sp, 0x60
@@ -1,4 +1,4 @@
glabel func_800C75B0
glabel _bnkfPatchBank
/* 0C81B0 800C75B0 908E0003 */ lbu $t6, 3($a0)
/* 0C81B4 800C75B4 15C00037 */ bnez $t6, .L800C7694
/* 0C81B8 800C75B8 00000000 */ nop
@@ -1,4 +1,4 @@
glabel func_800C76A4
glabel alBnkfNew
/* 0C82A4 800C76A4 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0C82A8 800C76A8 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C82AC 800C76AC AFB40028 */ sw $s4, 0x28($sp)
@@ -32,7 +32,7 @@ glabel func_800C76A4
/* 0C8318 800C7718 00502021 */ addu $a0, $v0, $s0
/* 0C831C 800C771C AF240008 */ sw $a0, 8($t9)
/* 0C8320 800C7720 02002825 */ move $a1, $s0
/* 0C8324 800C7724 0C031D6C */ jal func_800C75B0
/* 0C8324 800C7724 0C031D6C */ jal _bnkfPatchBank
/* 0C8328 800C7728 02203825 */ move $a3, $s1
.L800C772C:
/* 0C832C 800C772C 85B80000 */ lh $t8, ($t5)
@@ -45,7 +45,7 @@ glabel func_800C76A4
/* 0C8344 800C7744 03302021 */ addu $a0, $t9, $s0
/* 0C8348 800C7748 10800003 */ beqz $a0, .L800C7758
/* 0C834C 800C774C AD64000C */ sw $a0, 0xc($t3)
/* 0C8350 800C7750 0C031D6C */ jal func_800C75B0
/* 0C8350 800C7750 0C031D6C */ jal _bnkfPatchBank
/* 0C8354 800C7754 02203825 */ move $a3, $s1
.L800C7758:
/* 0C8358 800C7758 85AF0000 */ lh $t7, ($t5)
+748 -11
View File
File diff suppressed because it is too large Load Diff
+269
View File
@@ -0,0 +1,269 @@
#ifndef _AUDIO_INTERNAL_H
#define _AUDIO_INTERNAL_H
#include "PR/libaudio.h"
/*
* filter message ids
*/
enum {
AL_FILTER_FREE_VOICE,
AL_FILTER_SET_SOURCE,
AL_FILTER_ADD_SOURCE,
AL_FILTER_ADD_UPDATE,
AL_FILTER_RESET,
AL_FILTER_SET_WAVETABLE,
/* AL_FILTER_SET_DMA_PROC,*/
/* AL_FILTER_SKIP_LOOP,*/
AL_FILTER_SET_DRAM,
AL_FILTER_SET_PITCH,
AL_FILTER_SET_UNITY_PITCH,
AL_FILTER_START,
/* AL_FILTER_SET_DECAY,*/
/* AL_FILTER_SET_FC,*/
AL_FILTER_SET_STATE,
AL_FILTER_SET_VOLUME,
AL_FILTER_SET_PAN,
AL_FILTER_START_VOICE_ALT,
AL_FILTER_START_VOICE,
AL_FILTER_STOP_VOICE,
AL_FILTER_SET_FXAMT
};
#define AL_MAX_RSP_SAMPLES 160
/*
* buffer locations based on AL_MAX_RSP_SAMPLES
*/
#define AL_DECODER_IN 0
#define AL_RESAMPLER_OUT 0
#define AL_TEMP_0 0
#define AL_DECODER_OUT 320
#define AL_TEMP_1 320
#define AL_TEMP_2 640
#define AL_MAIN_L_OUT 1088
#define AL_MAIN_R_OUT 1408
#define AL_AUX_L_OUT 1728
#define AL_AUX_R_OUT 2048
/*
* filter types
*/
enum {
AL_ADPCM,
AL_RESAMPLE,
AL_BUFFER,
AL_SAVE,
AL_ENVMIX,
AL_FX,
AL_AUXBUS,
AL_MAINBUS
};
typedef struct ALParam_s {
struct ALParam_s *next;
s32 delta;
s16 type;
union {
f32 f;
s32 i;
} data;
union {
f32 f;
s32 i;
} moredata;
union {
f32 f;
s32 i;
} stillmoredata;
union {
f32 f;
s32 i;
} yetstillmoredata;
} ALParam;
typedef struct {
struct ALParam_s *next;
s32 delta;
s16 type;
s16 unity; /* disable resampler */
f32 pitch;
s16 volume;
ALPan pan;
u8 fxMix;
s32 samples;
struct ALWaveTable_s *wave;
} ALStartParamAlt;
typedef struct {
struct ALParam_s *next;
s32 delta;
s16 type;
s16 unity; /* disable resampler */
struct ALWaveTable_s *wave;
} ALStartParam;
typedef struct {
struct ALParam_s *next;
s32 delta;
s16 type;
struct PVoice_s *pvoice;
} ALFreeParam;
typedef Acmd *(*ALCmdHandler)(void *, s16 *, s32, s32, Acmd *);
typedef s32 (*ALSetParam)(void *, s32, void *);
typedef struct ALFilter_s {
struct ALFilter_s *source;
ALCmdHandler handler;
ALSetParam setParam;
s16 inp;
s16 outp;
s32 type;
} ALFilter;
#define AL_MAX_ADPCM_STATES 3 /* Depends on number of subframes
* per frame and loop length
*/
typedef struct {
ALFilter filter;
ADPCM_STATE *state;
ADPCM_STATE *lstate;
ALRawLoop loop;
struct ALWaveTable_s *table;
s32 bookSize;
ALDMAproc dma;
void *dmaState;
s32 sample;
s32 lastsam;
s32 first;
s32 memin;
} ALLoadFilter;
typedef struct ALResampler_s {
ALFilter filter;
RESAMPLE_STATE *state;
f32 ratio;
s32 upitch;
f32 delta;
s32 first;
ALParam *ctrlList;
ALParam *ctrlTail;
s32 motion;
} ALResampler;
typedef struct {
s16 fc;
s16 fgain;
union {
s16 fccoef[16];
s64 force_aligned;
} fcvec;
POLEF_STATE *fstate;
s32 first;
} ALLowPass;
typedef struct {
u32 input;
u32 output;
s16 ffcoef;
s16 fbcoef;
s16 gain;
f32 rsinc;
f32 rsval;
s32 rsdelta;
f32 rsgain;
ALLowPass *lp;
ALResampler *rs;
} ALDelay;
typedef s32 (*ALSetFXParam)(void *, s32, void *);
typedef struct {
struct ALFilter_s filter;
s16 *base;
s16 *input;
u32 length;
ALDelay *delay;
u8 section_count;
ALSetFXParam paramHdl;
} ALFx;
#define AL_MAX_MAIN_BUS_SOURCES 1
typedef struct ALMainBus_s {
ALFilter filter;
s32 sourceCount;
s32 maxSources;
ALFilter **sources;
} ALMainBus;
#define AL_MAX_AUX_BUS_SOURCES 8
#define AL_MAX_AUX_BUS_FX 1
typedef struct ALAuxBus_s {
ALFilter filter;
s32 sourceCount;
s32 maxSources;
ALFilter **sources;
ALFx fx[AL_MAX_AUX_BUS_FX];
} ALAuxBus;
typedef struct ALSave_s {
ALFilter filter;
s32 dramout;
s32 first;
} ALSave;
typedef struct ALEnvMixer_s {
ALFilter filter;
ENVMIX_STATE *state;
s16 pan;
s16 volume;
s16 cvolL;
s16 cvolR;
s16 dryamt;
s16 wetamt;
u16 lratl;
s16 lratm;
s16 ltgt;
u16 rratl;
s16 rratm;
s16 rtgt;
s32 delta;
s32 segEnd;
s32 first;
ALParam *ctrlList;
ALParam *ctrlTail;
ALFilter **sources;
s32 motion;
} ALEnvMixer;
/*
* heap stuff
*/
typedef struct {
s32 magic; /* check structure integrety */
s32 size; /* size of this allocated block */
u8 *file; /* file that this alloc was called from */
s32 line; /* line that it was called from */
s32 count; /* heap call number */
s32 pad0;
s32 pad1;
s32 pad2; /* Make it 32 bytes */
} HeapInfo;
#define AL_CACHE_ALIGN 15
/*
* synth stuff
*/
typedef struct PVoice_s {
ALLink node;
struct ALVoice_s *vvoice;
ALFilter *channelKnob;
ALLoadFilter decoder;
ALResampler resampler;
ALEnvMixer envmixer;
s32 offset;
} PVoice;
#endif
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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

Some files were not shown because too many files have changed in this diff Show More