more audio

This commit is contained in:
Ethan Roseman 2020-11-30 19:44:53 -05:00
parent 7690113759
commit f6dac4d2ba
8 changed files with 265 additions and 555 deletions

View File

@ -1,306 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80052E5C
/* 2E25C 80052E5C 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 2E260 80052E60 AFB60040 */ sw $s6, 0x40($sp)
/* 2E264 80052E64 0080B02D */ daddu $s6, $a0, $zero
/* 2E268 80052E68 24050001 */ addiu $a1, $zero, 1
/* 2E26C 80052E6C 3C028008 */ lui $v0, %hi(D_80078E54)
/* 2E270 80052E70 8C428E54 */ lw $v0, %lo(D_80078E54)($v0)
/* 2E274 80052E74 240619E0 */ addiu $a2, $zero, 0x19e0
/* 2E278 80052E78 AFBF0044 */ sw $ra, 0x44($sp)
/* 2E27C 80052E7C AFB5003C */ sw $s5, 0x3c($sp)
/* 2E280 80052E80 AFB40038 */ sw $s4, 0x38($sp)
/* 2E284 80052E84 AFB30034 */ sw $s3, 0x34($sp)
/* 2E288 80052E88 AFB20030 */ sw $s2, 0x30($sp)
/* 2E28C 80052E8C AFB1002C */ sw $s1, 0x2c($sp)
/* 2E290 80052E90 AFB00028 */ sw $s0, 0x28($sp)
/* 2E294 80052E94 8C550018 */ lw $s5, 0x18($v0)
/* 2E298 80052E98 0000982D */ daddu $s3, $zero, $zero
/* 2E29C 80052E9C 0C015FE4 */ jal alHeapAlloc
/* 2E2A0 80052EA0 02A0202D */ daddu $a0, $s5, $zero
/* 2E2A4 80052EA4 02A0202D */ daddu $a0, $s5, $zero
/* 2E2A8 80052EA8 24050001 */ addiu $a1, $zero, 1
/* 2E2AC 80052EAC 24060A9C */ addiu $a2, $zero, 0xa9c
/* 2E2B0 80052EB0 3C12800A */ lui $s2, %hi(D_8009A5C0)
/* 2E2B4 80052EB4 2652A5C0 */ addiu $s2, $s2, %lo(D_8009A5C0)
/* 2E2B8 80052EB8 0C015FE4 */ jal alHeapAlloc
/* 2E2BC 80052EBC AE420000 */ sw $v0, ($s2)
/* 2E2C0 80052EC0 02A0202D */ daddu $a0, $s5, $zero
/* 2E2C4 80052EC4 24050001 */ addiu $a1, $zero, 1
/* 2E2C8 80052EC8 24060A9C */ addiu $a2, $zero, 0xa9c
/* 2E2CC 80052ECC 3C11800A */ lui $s1, %hi(D_8009A664)
/* 2E2D0 80052ED0 2631A664 */ addiu $s1, $s1, %lo(D_8009A664)
/* 2E2D4 80052ED4 0C015FE4 */ jal alHeapAlloc
/* 2E2D8 80052ED8 AE220000 */ sw $v0, ($s1)
/* 2E2DC 80052EDC 02A0202D */ daddu $a0, $s5, $zero
/* 2E2E0 80052EE0 24050001 */ addiu $a1, $zero, 1
/* 2E2E4 80052EE4 3C01800A */ lui $at, %hi(D_8009A5FC)
/* 2E2E8 80052EE8 AC22A5FC */ sw $v0, %lo(D_8009A5FC)($at)
/* 2E2EC 80052EEC 0C015FE4 */ jal alHeapAlloc
/* 2E2F0 80052EF0 24060A9C */ addiu $a2, $zero, 0xa9c
/* 2E2F4 80052EF4 02A0202D */ daddu $a0, $s5, $zero
/* 2E2F8 80052EF8 24050001 */ addiu $a1, $zero, 1
/* 2E2FC 80052EFC 3C01800A */ lui $at, %hi(D_8009A5CC)
/* 2E300 80052F00 AC22A5CC */ sw $v0, %lo(D_8009A5CC)($at)
/* 2E304 80052F04 0C015FE4 */ jal alHeapAlloc
/* 2E308 80052F08 240606CC */ addiu $a2, $zero, 0x6cc
/* 2E30C 80052F0C 02A0202D */ daddu $a0, $s5, $zero
/* 2E310 80052F10 24050001 */ addiu $a1, $zero, 1
/* 2E314 80052F14 24060834 */ addiu $a2, $zero, 0x834
/* 2E318 80052F18 3C10800A */ lui $s0, %hi(D_8009A640)
/* 2E31C 80052F1C 2610A640 */ addiu $s0, $s0, %lo(D_8009A640)
/* 2E320 80052F20 0C015FE4 */ jal alHeapAlloc
/* 2E324 80052F24 AE020000 */ sw $v0, ($s0)
/* 2E328 80052F28 02A0202D */ daddu $a0, $s5, $zero
/* 2E32C 80052F2C 24050001 */ addiu $a1, $zero, 1
/* 2E330 80052F30 8E280000 */ lw $t0, ($s1)
/* 2E334 80052F34 8E070000 */ lw $a3, ($s0)
/* 2E338 80052F38 8E430000 */ lw $v1, ($s2)
/* 2E33C 80052F3C 34068000 */ ori $a2, $zero, 0x8000
/* 2E340 80052F40 3C01800A */ lui $at, %hi(D_8009A628)
/* 2E344 80052F44 AC22A628 */ sw $v0, %lo(D_8009A628)($at)
/* 2E348 80052F48 0060A02D */ daddu $s4, $v1, $zero
/* 2E34C 80052F4C AD070004 */ sw $a3, 4($t0)
/* 2E350 80052F50 0C015FE4 */ jal alHeapAlloc
/* 2E354 80052F54 AC430000 */ sw $v1, ($v0)
/* 2E358 80052F58 0280802D */ daddu $s0, $s4, $zero
/* 2E35C 80052F5C 24435000 */ addiu $v1, $v0, 0x5000
/* 2E360 80052F60 AE82005C */ sw $v0, 0x5c($s4)
/* 2E364 80052F64 24427000 */ addiu $v0, $v0, 0x7000
/* 2E368 80052F68 AE830060 */ sw $v1, 0x60($s4)
/* 2E36C 80052F6C AE820064 */ sw $v0, 0x64($s4)
/* 2E370 80052F70 AE830068 */ sw $v1, 0x68($s4)
.L80052F74:
/* 2E374 80052F74 02A0202D */ daddu $a0, $s5, $zero
/* 2E378 80052F78 24050001 */ addiu $a1, $zero, 1
/* 2E37C 80052F7C 0C015FE4 */ jal alHeapAlloc
/* 2E380 80052F80 24060A9C */ addiu $a2, $zero, 0xa9c
/* 2E384 80052F84 AE02006C */ sw $v0, 0x6c($s0)
/* 2E388 80052F88 26730001 */ addiu $s3, $s3, 1
/* 2E38C 80052F8C 1260FFF9 */ beqz $s3, .L80052F74
/* 2E390 80052F90 26100008 */ addiu $s0, $s0, 8
/* 2E394 80052F94 02A0202D */ daddu $a0, $s5, $zero
/* 2E398 80052F98 24050001 */ addiu $a1, $zero, 1
/* 2E39C 80052F9C 0C015FE4 */ jal alHeapAlloc
/* 2E3A0 80052FA0 24065200 */ addiu $a2, $zero, 0x5200
/* 2E3A4 80052FA4 02A0202D */ daddu $a0, $s5, $zero
/* 2E3A8 80052FA8 24050001 */ addiu $a1, $zero, 1
/* 2E3AC 80052FAC 24060030 */ addiu $a2, $zero, 0x30
/* 2E3B0 80052FB0 0C015FE4 */ jal alHeapAlloc
/* 2E3B4 80052FB4 AE8200A0 */ sw $v0, 0xa0($s4)
/* 2E3B8 80052FB8 02A0202D */ daddu $a0, $s5, $zero
/* 2E3BC 80052FBC 24050001 */ addiu $a1, $zero, 1
/* 2E3C0 80052FC0 24060360 */ addiu $a2, $zero, 0x360
/* 2E3C4 80052FC4 0C015FE4 */ jal alHeapAlloc
/* 2E3C8 80052FC8 AE820004 */ sw $v0, 4($s4)
/* 2E3CC 80052FCC 02A0202D */ daddu $a0, $s5, $zero
/* 2E3D0 80052FD0 24050001 */ addiu $a1, $zero, 1
/* 2E3D4 80052FD4 24060200 */ addiu $a2, $zero, 0x200
/* 2E3D8 80052FD8 0C015FE4 */ jal alHeapAlloc
/* 2E3DC 80052FDC AE820054 */ sw $v0, 0x54($s4)
/* 2E3E0 80052FE0 02A0202D */ daddu $a0, $s5, $zero
/* 2E3E4 80052FE4 24050001 */ addiu $a1, $zero, 1
/* 2E3E8 80052FE8 24060040 */ addiu $a2, $zero, 0x40
/* 2E3EC 80052FEC 0C015FE4 */ jal alHeapAlloc
/* 2E3F0 80052FF0 AE820058 */ sw $v0, 0x58($s4)
/* 2E3F4 80052FF4 0000982D */ daddu $s3, $zero, $zero
/* 2E3F8 80052FF8 8E840004 */ lw $a0, 4($s4)
/* 2E3FC 80052FFC 44960000 */ mtc1 $s6, $f0
/* 2E400 80053000 00000000 */ nop
/* 2E404 80053004 46800020 */ cvt.s.w $f0, $f0
/* 2E408 80053008 AE820094 */ sw $v0, 0x94($s4)
/* 2E40C 8005300C 0C014CBD */ jal func_800532F4
/* 2E410 80053010 E6800000 */ swc1 $f0, ($s4)
/* 2E414 80053014 0C014CDC */ jal func_80053370
/* 2E418 80053018 26840008 */ addiu $a0, $s4, 8
/* 2E41C 8005301C 0C014CEA */ jal func_800533A8
/* 2E420 80053020 26840014 */ addiu $a0, $s4, 0x14
/* 2E424 80053024 0C015843 */ jal func_8005610C
/* 2E428 80053028 00000000 */ nop
/* 2E42C 8005302C 0280102D */ daddu $v0, $s4, $zero
/* 2E430 80053030 AE8000A4 */ sw $zero, 0xa4($s4)
/* 2E434 80053034 AE8000A8 */ sw $zero, 0xa8($s4)
.L80053038:
/* 2E438 80053038 A0400070 */ sb $zero, 0x70($v0)
/* 2E43C 8005303C A0400071 */ sb $zero, 0x71($v0)
/* 2E440 80053040 26730001 */ addiu $s3, $s3, 1
/* 2E444 80053044 1260FFFC */ beqz $s3, .L80053038
/* 2E448 80053048 24420008 */ addiu $v0, $v0, 8
/* 2E44C 8005304C 0000982D */ daddu $s3, $zero, $zero
/* 2E450 80053050 0280182D */ daddu $v1, $s4, $zero
.L80053054:
/* 2E454 80053054 A0600040 */ sb $zero, 0x40($v1)
/* 2E458 80053058 A0600041 */ sb $zero, 0x41($v1)
/* 2E45C 8005305C 26730001 */ addiu $s3, $s3, 1
/* 2E460 80053060 2E620004 */ sltiu $v0, $s3, 4
/* 2E464 80053064 1440FFFB */ bnez $v0, .L80053054
/* 2E468 80053068 24630004 */ addiu $v1, $v1, 4
/* 2E46C 8005306C 0000982D */ daddu $s3, $zero, $zero
/* 2E470 80053070 2416FFFF */ addiu $s6, $zero, -1
/* 2E474 80053074 241200FF */ addiu $s2, $zero, 0xff
/* 2E478 80053078 24111320 */ addiu $s1, $zero, 0x1320
.L8005307C:
/* 2E47C 8005307C 327000FF */ andi $s0, $s3, 0xff
/* 2E480 80053080 0200202D */ daddu $a0, $s0, $zero
/* 2E484 80053084 0C015BB0 */ jal func_80056EC0
/* 2E488 80053088 0000282D */ daddu $a1, $zero, $zero
/* 2E48C 8005308C 0200202D */ daddu $a0, $s0, $zero
/* 2E490 80053090 8E850004 */ lw $a1, 4($s4)
/* 2E494 80053094 0C015C89 */ jal func_80057224
/* 2E498 80053098 26730001 */ addiu $s3, $s3, 1
/* 2E49C 8005309C 02911021 */ addu $v0, $s4, $s1
/* 2E4A0 800530A0 AC400000 */ sw $zero, ($v0)
/* 2E4A4 800530A4 AC400004 */ sw $zero, 4($v0)
/* 2E4A8 800530A8 A456000C */ sh $s6, 0xc($v0)
/* 2E4AC 800530AC A052000E */ sb $s2, 0xe($v0)
/* 2E4B0 800530B0 A052000F */ sb $s2, 0xf($v0)
/* 2E4B4 800530B4 A0400010 */ sb $zero, 0x10($v0)
/* 2E4B8 800530B8 A0400042 */ sb $zero, 0x42($v0)
/* 2E4BC 800530BC A0400043 */ sb $zero, 0x43($v0)
/* 2E4C0 800530C0 A0400044 */ sb $zero, 0x44($v0)
/* 2E4C4 800530C4 A0400045 */ sb $zero, 0x45($v0)
/* 2E4C8 800530C8 2E620018 */ sltiu $v0, $s3, 0x18
/* 2E4CC 800530CC 1440FFEB */ bnez $v0, .L8005307C
/* 2E4D0 800530D0 26310048 */ addiu $s1, $s1, 0x48
/* 2E4D4 800530D4 0280202D */ daddu $a0, $s4, $zero
/* 2E4D8 800530D8 3C0500F0 */ lui $a1, 0xf0
/* 2E4DC 800530DC 0C0150AF */ jal al_LoadINIT
/* 2E4E0 800530E0 02A0302D */ daddu $a2, $s5, $zero
/* 2E4E4 800530E4 0000982D */ daddu $s3, $zero, $zero
/* 2E4E8 800530E8 0280802D */ daddu $s0, $s4, $zero
.L800530EC:
/* 2E4EC 800530EC 02A0202D */ daddu $a0, $s5, $zero
/* 2E4F0 800530F0 24050001 */ addiu $a1, $zero, 1
/* 2E4F4 800530F4 0C015FE4 */ jal alHeapAlloc
/* 2E4F8 800530F8 24060840 */ addiu $a2, $zero, 0x840
/* 2E4FC 800530FC AE021310 */ sw $v0, 0x1310($s0)
/* 2E500 80053100 26730001 */ addiu $s3, $s3, 1
/* 2E504 80053104 2E620003 */ sltiu $v0, $s3, 3
/* 2E508 80053108 1440FFF8 */ bnez $v0, .L800530EC
/* 2E50C 8005310C 26100004 */ addiu $s0, $s0, 4
/* 2E510 80053110 24050001 */ addiu $a1, $zero, 1
/* 2E514 80053114 0000302D */ daddu $a2, $zero, $zero
/* 2E518 80053118 3C10800A */ lui $s0, %hi(D_8009A664)
/* 2E51C 8005311C 2610A664 */ addiu $s0, $s0, %lo(D_8009A664)
/* 2E520 80053120 8E040000 */ lw $a0, ($s0)
/* 2E524 80053124 0C013856 */ jal func_8004E158
/* 2E528 80053128 0280382D */ daddu $a3, $s4, $zero
/* 2E52C 8005312C 27B20020 */ addiu $s2, $sp, 0x20
/* 2E530 80053130 0240282D */ daddu $a1, $s2, $zero
/* 2E534 80053134 24020003 */ addiu $v0, $zero, 3
/* 2E538 80053138 8E040000 */ lw $a0, ($s0)
/* 2E53C 8005313C 241000FF */ addiu $s0, $zero, 0xff
/* 2E540 80053140 A3A00020 */ sb $zero, 0x20($sp)
/* 2E544 80053144 A3A20021 */ sb $v0, 0x21($sp)
/* 2E548 80053148 A3B00022 */ sb $s0, 0x22($sp)
/* 2E54C 8005314C 0C0138D1 */ jal func_8004E344
/* 2E550 80053150 A3B00023 */ sb $s0, 0x23($sp)
/* 2E554 80053154 24050002 */ addiu $a1, $zero, 2
/* 2E558 80053158 00A0302D */ daddu $a2, $a1, $zero
/* 2E55C 8005315C 3C11800A */ lui $s1, %hi(D_8009A5FC)
/* 2E560 80053160 2631A5FC */ addiu $s1, $s1, %lo(D_8009A5FC)
/* 2E564 80053164 8E240000 */ lw $a0, ($s1)
/* 2E568 80053168 0C013856 */ jal func_8004E158
/* 2E56C 8005316C 0280382D */ daddu $a3, $s4, $zero
/* 2E570 80053170 0240282D */ daddu $a1, $s2, $zero
/* 2E574 80053174 8E240000 */ lw $a0, ($s1)
/* 2E578 80053178 24020002 */ addiu $v0, $zero, 2
/* 2E57C 8005317C A3A20020 */ sb $v0, 0x20($sp)
/* 2E580 80053180 A3B00021 */ sb $s0, 0x21($sp)
/* 2E584 80053184 A3B00022 */ sb $s0, 0x22($sp)
/* 2E588 80053188 0C0138D1 */ jal func_8004E344
/* 2E58C 8005318C A3B00023 */ sb $s0, 0x23($sp)
/* 2E590 80053190 24050004 */ addiu $a1, $zero, 4
/* 2E594 80053194 24060001 */ addiu $a2, $zero, 1
/* 2E598 80053198 0280382D */ daddu $a3, $s4, $zero
/* 2E59C 8005319C 3C10800A */ lui $s0, %hi(D_8009A640)
/* 2E5A0 800531A0 2610A640 */ addiu $s0, $s0, %lo(D_8009A640)
/* 2E5A4 800531A4 8E040000 */ lw $a0, ($s0)
/* 2E5A8 800531A8 24020010 */ addiu $v0, $zero, 0x10
/* 2E5AC 800531AC 0C012D10 */ jal func_8004B440
/* 2E5B0 800531B0 AFA20010 */ sw $v0, 0x10($sp)
/* 2E5B4 800531B4 24050006 */ addiu $a1, $zero, 6
/* 2E5B8 800531B8 24060001 */ addiu $a2, $zero, 1
/* 2E5BC 800531BC 3C04800A */ lui $a0, %hi(D_8009A628)
/* 2E5C0 800531C0 8C84A628 */ lw $a0, %lo(D_8009A628)($a0)
/* 2E5C4 800531C4 0C0142E4 */ jal func_80050B90
/* 2E5C8 800531C8 0280382D */ daddu $a3, $s4, $zero
/* 2E5CC 800531CC 0C014985 */ jal func_80052614
/* 2E5D0 800531D0 0280202D */ daddu $a0, $s4, $zero
/* 2E5D4 800531D4 0280202D */ daddu $a0, $s4, $zero
/* 2E5D8 800531D8 0C0153F0 */ jal al_LoadBKHeaders
/* 2E5DC 800531DC 02A0282D */ daddu $a1, $s5, $zero
/* 2E5E0 800531E0 8E82003C */ lw $v0, 0x3c($s4)
/* 2E5E4 800531E4 24050020 */ addiu $a1, $zero, 0x20
/* 2E5E8 800531E8 94440000 */ lhu $a0, ($v0)
/* 2E5EC 800531EC 0C01511F */ jal al_CopyFileTableEntry
/* 2E5F0 800531F0 27A60018 */ addiu $a2, $sp, 0x18
/* 2E5F4 800531F4 14400007 */ bnez $v0, .L80053214
/* 2E5F8 800531F8 3C0200FF */ lui $v0, 0xff
/* 2E5FC 800531FC 3442FFFF */ ori $v0, $v0, 0xffff
/* 2E600 80053200 8FA40018 */ lw $a0, 0x18($sp)
/* 2E604 80053204 8FA6001C */ lw $a2, 0x1c($sp)
/* 2E608 80053208 8E8500A0 */ lw $a1, 0xa0($s4)
/* 2E60C 8005320C 0C015380 */ jal al_DmaCopy
/* 2E610 80053210 00C23024 */ and $a2, $a2, $v0
.L80053214:
/* 2E614 80053214 8E040000 */ lw $a0, ($s0)
/* 2E618 80053218 0C012D8B */ jal func_8004B62C
/* 2E61C 8005321C 00000000 */ nop
/* 2E620 80053220 8E82003C */ lw $v0, 0x3c($s4)
/* 2E624 80053224 24050040 */ addiu $a1, $zero, 0x40
/* 2E628 80053228 94440002 */ lhu $a0, 2($v0)
/* 2E62C 8005322C 0C01511F */ jal al_CopyFileTableEntry
/* 2E630 80053230 27A60018 */ addiu $a2, $sp, 0x18
/* 2E634 80053234 14400004 */ bnez $v0, .L80053248
/* 2E638 80053238 00000000 */ nop
/* 2E63C 8005323C 8FA50018 */ lw $a1, 0x18($sp)
/* 2E640 80053240 0C01513E */ jal al_LoadPER
/* 2E644 80053244 0280202D */ daddu $a0, $s4, $zero
.L80053248:
/* 2E648 80053248 8E82003C */ lw $v0, 0x3c($s4)
/* 2E64C 8005324C 24050040 */ addiu $a1, $zero, 0x40
/* 2E650 80053250 94440004 */ lhu $a0, 4($v0)
/* 2E654 80053254 0C01511F */ jal al_CopyFileTableEntry
/* 2E658 80053258 27A60018 */ addiu $a2, $sp, 0x18
/* 2E65C 8005325C 54400005 */ bnel $v0, $zero, .L80053274
/* 2E660 80053260 0000202D */ daddu $a0, $zero, $zero
/* 2E664 80053264 8FA50018 */ lw $a1, 0x18($sp)
/* 2E668 80053268 0C01516D */ jal al_LoadPRG
/* 2E66C 8005326C 0280202D */ daddu $a0, $s4, $zero
/* 2E670 80053270 0000202D */ daddu $a0, $zero, $zero
.L80053274:
/* 2E674 80053274 268304EC */ addiu $v1, $s4, 0x4ec
/* 2E678 80053278 268205EC */ addiu $v0, $s4, 0x5ec
/* 2E67C 8005327C AE8212F0 */ sw $v0, 0x12f0($s4)
/* 2E680 80053280 268200AC */ addiu $v0, $s4, 0xac
/* 2E684 80053284 AE8212F4 */ sw $v0, 0x12f4($s4)
/* 2E688 80053288 268200EC */ addiu $v0, $s4, 0xec
/* 2E68C 8005328C AE8212F8 */ sw $v0, 0x12f8($s4)
/* 2E690 80053290 268209EC */ addiu $v0, $s4, 0x9ec
/* 2E694 80053294 AE8212FC */ sw $v0, 0x12fc($s4)
/* 2E698 80053298 26820DEC */ addiu $v0, $s4, 0xdec
/* 2E69C 8005329C AE821300 */ sw $v0, 0x1300($s4)
/* 2E6A0 800532A0 268211EC */ addiu $v0, $s4, 0x11ec
/* 2E6A4 800532A4 AE8312EC */ sw $v1, 0x12ec($s4)
/* 2E6A8 800532A8 AE821304 */ sw $v0, 0x1304($s4)
/* 2E6AC 800532AC AE831308 */ sw $v1, 0x1308($s4)
/* 2E6B0 800532B0 A2800053 */ sb $zero, 0x53($s4)
/* 2E6B4 800532B4 A2800052 */ sb $zero, 0x52($s4)
/* 2E6B8 800532B8 A2800051 */ sb $zero, 0x51($s4)
/* 2E6BC 800532BC 0C015FB4 */ jal func_80057ED0
/* 2E6C0 800532C0 A2800050 */ sb $zero, 0x50($s4)
/* 2E6C4 800532C4 0C015414 */ jal func_80055050
/* 2E6C8 800532C8 02A0202D */ daddu $a0, $s5, $zero
/* 2E6CC 800532CC 8FBF0044 */ lw $ra, 0x44($sp)
/* 2E6D0 800532D0 8FB60040 */ lw $s6, 0x40($sp)
/* 2E6D4 800532D4 8FB5003C */ lw $s5, 0x3c($sp)
/* 2E6D8 800532D8 8FB40038 */ lw $s4, 0x38($sp)
/* 2E6DC 800532DC 8FB30034 */ lw $s3, 0x34($sp)
/* 2E6E0 800532E0 8FB20030 */ lw $s2, 0x30($sp)
/* 2E6E4 800532E4 8FB1002C */ lw $s1, 0x2c($sp)
/* 2E6E8 800532E8 8FB00028 */ lw $s0, 0x28($sp)
/* 2E6EC 800532EC 03E00008 */ jr $ra
/* 2E6F0 800532F0 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -1,35 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_800532F4
/* 2E6F4 800532F4 3C013F00 */ lui $at, 0x3f00
/* 2E6F8 800532F8 44810000 */ mtc1 $at, $f0
/* 2E6FC 800532FC 3C028008 */ lui $v0, %hi(D_800781D0)
/* 2E700 80053300 244281D0 */ addiu $v0, $v0, %lo(D_800781D0)
/* 2E704 80053304 AC820000 */ sw $v0, ($a0)
/* 2E708 80053308 240200BE */ addiu $v0, $zero, 0xbe
/* 2E70C 8005330C AC820004 */ sw $v0, 4($a0)
/* 2E710 80053310 3C028008 */ lui $v0, %hi(D_80078190)
/* 2E714 80053314 24428190 */ addiu $v0, $v0, %lo(D_80078190)
/* 2E718 80053318 AC820018 */ sw $v0, 0x18($a0)
/* 2E71C 8005331C 24020040 */ addiu $v0, $zero, 0x40
/* 2E720 80053320 A482001C */ sh $v0, 0x1c($a0)
/* 2E724 80053324 240212C0 */ addiu $v0, $zero, 0x12c0
/* 2E728 80053328 A482001E */ sh $v0, 0x1e($a0)
/* 2E72C 8005332C 3C028008 */ lui $v0, %hi(D_80078544)
/* 2E730 80053330 24428544 */ addiu $v0, $v0, %lo(D_80078544)
/* 2E734 80053334 AC800008 */ sw $zero, 8($a0)
/* 2E738 80053338 AC80000C */ sw $zero, 0xc($a0)
/* 2E73C 8005333C AC800010 */ sw $zero, 0x10($a0)
/* 2E740 80053340 AC800014 */ sw $zero, 0x14($a0)
/* 2E744 80053344 A0800024 */ sb $zero, 0x24($a0)
/* 2E748 80053348 A0800025 */ sb $zero, 0x25($a0)
/* 2E74C 8005334C AC82002C */ sw $v0, 0x2c($a0)
/* 2E750 80053350 A0800026 */ sb $zero, 0x26($a0)
/* 2E754 80053354 A0800027 */ sb $zero, 0x27($a0)
/* 2E758 80053358 A0800028 */ sb $zero, 0x28($a0)
/* 2E75C 8005335C A0800029 */ sb $zero, 0x29($a0)
/* 2E760 80053360 A080002A */ sb $zero, 0x2a($a0)
/* 2E764 80053364 A080002B */ sb $zero, 0x2b($a0)
/* 2E768 80053368 03E00008 */ jr $ra
/* 2E76C 8005336C E4800020 */ swc1 $f0, 0x20($a0)

View File

@ -1,18 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80053370
/* 2E770 80053370 24022010 */ addiu $v0, $zero, 0x2010
/* 2E774 80053374 A4820000 */ sh $v0, ($a0)
/* 2E778 80053378 240212C0 */ addiu $v0, $zero, 0x12c0
/* 2E77C 8005337C A4820002 */ sh $v0, 2($a0)
/* 2E780 80053380 2402007F */ addiu $v0, $zero, 0x7f
/* 2E784 80053384 A0820004 */ sb $v0, 4($a0)
/* 2E788 80053388 24020040 */ addiu $v0, $zero, 0x40
/* 2E78C 8005338C A0820005 */ sb $v0, 5($a0)
/* 2E790 80053390 A0800006 */ sb $zero, 6($a0)
/* 2E794 80053394 A0800007 */ sb $zero, 7($a0)
/* 2E798 80053398 A0800008 */ sb $zero, 8($a0)
/* 2E79C 8005339C A0800009 */ sb $zero, 9($a0)
/* 2E7A0 800533A0 03E00008 */ jr $ra
/* 2E7A4 800533A4 A080000A */ sb $zero, 0xa($a0)

225
src/audio.h Normal file
View File

@ -0,0 +1,225 @@
#ifndef _AUDIO_H_
#define _AUDIO_H_
#include "common.h"
// Probably some libultra audio thing
typedef struct UnkStructFor80053A18 {
/* 0x00 */ UNK_TYPE unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ char unk_08[2];
/* 0x0A */ u16 unk_0A;
/* 0x0C */ s32 unk_0C;
} UnkStructFor80053A18; // size unknown
typedef struct alUnk1 {
/* 0x00 */ s16 unk_00;
/* 0x02 */ char unk_02[2];
/* 0x04 */ s32 unk_04;
/* 0x08 */ s16 unk_08;
/* 0x0A */ s16 unk_0A;
/* 0x0C */ char unk_0C[4];
/* 0x10 */ s32 unk_10;
/* 0x14 */ s32 unk_14;
/* 0x18 */ s16 unk_18;
/* 0x1A */ s16 unk_1A;
} alUnk1;
typedef struct alUnk2 {
/* 0x00 */ s16 unk_00;
/* 0x02 */ u8 unk_02;
/* 0x03 */ s8 unk_03;
/* 0x04 */ s8 unk_04;
/* 0x05 */ s8 unk_05;
/* 0x06 */ s8 unk_06;
} alUnk2;
#undef alHeapAlloc
typedef struct UnkAl0 {
/* 0x00 */ char unk_00[0x18];
/* 0x18 */ ALHeap* unk_18;
} UnkAl0;
typedef struct UnkAl6CC {
/* 0x00 */ char unk_00[0x6CC];
} UnkAl6CC;
typedef struct UnkAlA9C {
/* 0x00 */ char unk_00[0x4];
/* 0x04 */ UnkAl6CC* unk_04;
/* 0x08 */ char unk_08[0xA94];
} UnkAlA9C;
typedef struct UnkAl48 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ char unk_08[4];
/* 0x0C */ s16 unk_0C;
/* 0x0E */ u8 unk_0E;
/* 0x0F */ u8 unk_0F;
/* 0x10 */ s8 unk_10;
/* 0x11 */ char unk_11[0xB];
/* 0x1C */ s32 unk_1C;
/* 0x20 */ char unk_20[0x22];
/* 0x42 */ s8 unk_42;
/* 0x43 */ s8 unk_43;
/* 0x44 */ s8 unk_44;
/* 0x45 */ s8 unk_45;
/* 0x46 */ char unk_46[2];
} UnkAl48; // size = 0x48
typedef struct UnkAl19E0Sub {
/* 0x0 */ u16 unk_0;
/* 0x2 */ u16 unk_2;
/* 0x4 */ u16 unk_4;
} UnkAl19E0Sub;
typedef struct UnkAl19E0Sub2 {
/* 0x0 */ u8 unk_00;
/* 0x1 */ u8 unk_01;
/* 0x2 */ char unk_02[2];
} UnkAl19E0Sub2;
typedef struct UnkAl19E0Sub3 {
/* 0x00 */ UnkAlA9C* unk_0;
/* 0x04 */ s8 unk_4;
/* 0x05 */ s8 unk_5;
} UnkAl19E0Sub3;
typedef struct UnkAl30 {
/* 0x00 */ s32* unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ s32 unk_0C;
/* 0x10 */ s32 unk_10;
/* 0x14 */ s32 unk_14;
/* 0x18 */ s32* unk_18;
/* 0x1C */ s16 unk_1C;
/* 0x1E */ s16 unk_1E;
/* 0x20 */ f32 unk_20;
/* 0x24 */ s8 unk_24;
/* 0x25 */ s8 unk_25;
/* 0x26 */ s8 unk_26;
/* 0x27 */ s8 unk_27;
/* 0x28 */ s8 unk_28;
/* 0x29 */ s8 unk_29;
/* 0x2A */ s8 unk_2A;
/* 0x2B */ s8 unk_2B;
/* 0x2C */ s32* unk_2C;
} UnkAl30;
typedef struct UnkAl12 {
/* 0x0 */ s16 unk_00;
/* 0x2 */ s16 unk_02;
/* 0x4 */ s8 unk_04;
/* 0x5 */ s8 unk_05;
/* 0x6 */ s8 unk_06;
/* 0x7 */ s8 unk_07;
/* 0x8 */ s8 unk_08;
/* 0x9 */ s8 unk_09;
/* 0xA */ s8 unk_0A;
} UnkAl12;
typedef struct UnkTemp2 {
/* 0x00 */ s32 unk_00;
/* 0x08 */ s32 unk_04;
} UnkTemp2;
typedef struct UnkAl19E0 {
/* 0x0000 */ f32 unk_00;
/* 0x0004 */ UnkAl30* unk_04;
/* 0x0008 */ UnkAl12* unk_08;
/* 0x000C */ char unk_0C[0x8];
/* 0x0014 */ alUnk2* unk_14;
/* 0x0018 */ char unk_18[0x4];
/* 0x001C */ s32 unk_1C;
/* 0x0020 */ UnkTemp2* unk_20;
/* 0x0024 */ s32 unk_24;
/* 0x0028 */ char unk_28[0x14];
/* 0x003C */ UnkAl19E0Sub* unk_3C;
/* 0x0040 */ UnkAl19E0Sub2 unk_40[4];
/* 0x0050 */ s8 unk_50;
/* 0x0051 */ s8 unk_51;
/* 0x0052 */ s8 unk_52;
/* 0x0053 */ s8 unk_53;
/* 0x0054 */ s32* unk_54;
/* 0x0058 */ s32* unk_58;
/* 0x005C */ s32* unk_5C;
/* 0x0060 */ s32* unk_60;
/* 0x0064 */ s32* unk_64;
/* 0x0068 */ s32* unk_68;
/* 0x006C */ UnkAl19E0Sub3 unk_6C[1];
/* 0x0074 */ char unk_74[0x20];
/* 0x0094 */ s32* unk_94;
/* 0x0098 */ char unk_98[0x8];
/* 0x00A0 */ s32* unk_A0;
/* 0x00A4 */ s32 unk_A4;
/* 0x00A8 */ s32 unk_A8;
/* 0x00AC */ s32* unk_AC;
/* 0x00B0 */ char unk_B0[0x3C];
/* 0x00EC */ s32* unk_EC;
/* 0x00F0 */ char unk_F0[0x3FC];
/* 0x04EC */ s32* unk_4EC;
/* 0x04F0 */ char unk_4F0[0xFC];
/* 0x05EC */ s32* unk_5EC;
/* 0x05F0 */ char unk_5F0[0x3FC];
/* 0x09EC */ s32* unk_9EC;
/* 0x09F0 */ char unk_9F0[0x3FC];
/* 0x0DEC */ s32* unk_DEC;
/* 0x0DF0 */ char unk_DF0[0x3FC];
/* 0x11EC */ s32* unk_11EC;
/* 0x11F0 */ char unk_11F0[0xFC];
/* 0x12EC */ s32* unk_12EC;
/* 0x12F0 */ s32* unk_12F0;
/* 0x12F4 */ s32* unk_12F4;
/* 0x12F8 */ s32* unk_12F8;
/* 0x12FC */ s32* unk_12FC;
/* 0x1300 */ s32* unk_1300;
/* 0x1304 */ s32* unk_1304;
/* 0x1308 */ s32* unk_1308;
/* 0x130C */ char unk_130C[0x4];
/* 0x1310 */ s32* unk_1310[3];
/* 0x131C */ char unk_131C[4];
/* 0x1320 */ UnkAl48 unk_1320[24];
} UnkAl19E0; // size = 0x19E0
typedef struct UnkAl834 {
/* 0x00 */ UnkAl19E0* unk_00;
/* 0x04 */ char unk_04[0x830];
} UnkAl834;
typedef struct {
/* 0x000 */ char unk_000[8];
/* 0x008 */ s32 unk_008;
/* 0x00C */ char unk_00C[4];
/* 0x010 */ s32 unk_010;
/* 0x014 */ char unk_014[8];
/* 0x01C */ UNK_TYPE unk_01C;
/* 0x020 */ char unk_020[0xC];
/* 0x02C */ UnkStructFor80053A18 unk_02C;
/* 0x03C */ char unk_03C[0x1E5];
/* 0x221 */ u8 unk_221;
} UnkStructFor8004DAA8; // size unknown
void func_8004DAA8(UnkStructFor8004DAA8* arg0);
extern UnkAl0* D_80078E54;
extern s32* D_80078190;
extern s32* D_800781D0;
extern s32* D_80078544;
extern UnkAl19E0* D_8009A5C0;
extern UnkAlA9C* D_8009A5CC;
extern UnkAlA9C* D_8009A5FC;
extern UnkAl834* D_8009A628;
extern UnkAl6CC* D_8009A640;
extern UnkAlA9C* D_8009A664;void func_800532F4(UnkAl30*);
void func_80053370(UnkAl12*);
void func_800533A8(alUnk2*);
void al_LoadINIT(UnkAl19E0*, s32, ALHeap*);
s32 al_CopyFileTableEntry(u16 arg0, s32 arg1, s32* arg2);
void al_LoadPER(UnkAl19E0*, s32*);
void al_LoadPRG(UnkAl19E0*, s32*);
void al_DmaCopy(s32*, s32*, s32);
s32* alHeapAlloc(ALHeap*, s32, s32);
void func_80053A18(UnkStructFor80053A18* arg0);
#endif

View File

@ -1,4 +1,4 @@
#include "code_28910_len_5090.h"
#include "audio.h"
INCLUDE_ASM(s32, "code_28910_len_5090", func_8004D510);

View File

@ -1,22 +0,0 @@
#ifndef _CODE_28910_LEN_5090_H_
#define _CODE_28910_LEN_5090_H_
#include "common.h"
#include "code_2e230_len_2190.h"
typedef struct {
/* 0x000 */ char unk_000[8];
/* 0x008 */ s32 unk_008;
/* 0x00C */ char unk_00C[4];
/* 0x010 */ s32 unk_010;
/* 0x014 */ char unk_014[8];
/* 0x01C */ UNK_TYPE unk_01C;
/* 0x020 */ char unk_020[0xC];
/* 0x02C */ UnkStructFor80053A18 unk_02C;
/* 0x03C */ char unk_03C[0x1E5];
/* 0x221 */ u8 unk_221;
} UnkStructFor8004DAA8; // size unknown
void func_8004DAA8(UnkStructFor8004DAA8* arg0);
#endif

View File

@ -1,136 +1,12 @@
#include "code_2e230_len_2190.h"
#include "audio.h"
#undef alHeapAlloc
void func_80052E30(u8 index) {
UnkAl48* temp = &D_8009A5C0->unk_1320[index];
typedef struct UnkAl0 {
/* 0x00 */ char unk_00[0x18];
/* 0x18 */ ALHeap* unk_18;
} UnkAl0;
temp->unk_1C = 0;
temp->unk_45 = 0;
}
typedef struct UnkAl6CC {
/* 0x00 */ char unk_00[0x6CC];
} UnkAl6CC;
typedef struct UnkAlA9C {
/* 0x00 */ char unk_00[0x4];
/* 0x04 */ UnkAl6CC* unk_04;
/* 0x08 */ char unk_08[0xA94];
} UnkAlA9C;
typedef struct UnkAl48 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ char unk_08[4];
/* 0x0C */ s16 unk_0C;
/* 0x0E */ u8 unk_0E;
/* 0x0F */ u8 unk_0F;
/* 0x10 */ s8 unk_10;
/* 0x11 */ char unk_11[0x31];
/* 0x42 */ s8 unk_42;
/* 0x43 */ s8 unk_43;
/* 0x44 */ s8 unk_44;
/* 0x45 */ s8 unk_45;
/* 0x46 */ char unk_46[2];
} UnkAl48; // size = 0x48
typedef struct UnkAl19E0Sub {
/* 0x0 */ u16 unk_0;
/* 0x2 */ u16 unk_2;
/* 0x4 */ u16 unk_4;
} UnkAl19E0Sub;
typedef struct UnkAl19E0Sub2 {
/* 0x0 */ u8 unk_00;
/* 0x1 */ u8 unk_01;
/* 0x2 */ char unk_02[2];
} UnkAl19E0Sub2;
typedef struct UnkAl19E0Sub3 {
/* 0x00 */ UnkAlA9C* unk_0;
/* 0x04 */ s8 unk_4;
/* 0x05 */ s8 unk_5;
} UnkAl19E0Sub3;
typedef struct UnkAl19E0 {
/* 0x0000 */ f32 unk_00;
/* 0x0004 */ s32* unk_04;
/* 0x0008 */ s32* unk_08;
/* 0x000C */ char unk_0C[0x8];
/* 0x0014 */ alUnk2* unk_14;
/* 0x0018 */ char unk_18[0x24];
/* 0x003C */ UnkAl19E0Sub* unk_3C;
/* 0x0040 */ UnkAl19E0Sub2 unk_40[4];
/* 0x0050 */ s8 unk_50;
/* 0x0051 */ s8 unk_51;
/* 0x0052 */ s8 unk_52;
/* 0x0053 */ s8 unk_53;
/* 0x0054 */ s32* unk_54;
/* 0x0058 */ s32* unk_58;
/* 0x005C */ s32* unk_5C;
/* 0x0060 */ s32* unk_60;
/* 0x0064 */ s32* unk_64;
/* 0x0068 */ s32* unk_68;
/* 0x006C */ UnkAl19E0Sub3 unk_6C[1];
/* 0x0074 */ char unk_74[0x20];
/* 0x0094 */ s32* unk_94;
/* 0x0098 */ char unk_98[0x8];
/* 0x00A0 */ s32* unk_A0;
/* 0x00A4 */ s32 unk_A4;
/* 0x00A8 */ s32 unk_A8;
/* 0x00AC */ s32* unk_AC;
/* 0x00B0 */ char unk_B0[0x3C];
/* 0x00EC */ s32* unk_EC;
/* 0x00F0 */ char unk_F0[0x3FC];
/* 0x04EC */ s32* unk_4EC;
/* 0x04F0 */ char unk_4F0[0xFC];
/* 0x05EC */ s32* unk_5EC;
/* 0x05F0 */ char unk_5F0[0x3FC];
/* 0x09EC */ s32* unk_9EC;
/* 0x09F0 */ char unk_9F0[0x3FC];
/* 0x0DEC */ s32* unk_DEC;
/* 0x0DF0 */ char unk_DF0[0x3FC];
/* 0x11EC */ s32* unk_11EC;
/* 0x11F0 */ char unk_11F0[0xFC];
/* 0x12EC */ s32* unk_12EC;
/* 0x12F0 */ s32* unk_12F0;
/* 0x12F4 */ s32* unk_12F4;
/* 0x12F8 */ s32* unk_12F8;
/* 0x12FC */ s32* unk_12FC;
/* 0x1300 */ s32* unk_1300;
/* 0x1304 */ s32* unk_1304;
/* 0x1308 */ s32* unk_1308;
/* 0x130C */ char unk_130C[0x4];
/* 0x1310 */ s32* unk_1310[3];
/* 0x131C */ char unk_131C[4];
/* 0x1320 */ UnkAl48 unk_1320[24];
} UnkAl19E0; // size = 0x19E0
typedef struct UnkAl834 {
/* 0x00 */ UnkAl19E0* unk_00;
/* 0x04 */ char unk_04[0x830];
} UnkAl834;
extern UnkAl0* D_80078E54;
extern UnkAl19E0* D_8009A5C0;
extern UnkAlA9C* D_8009A5CC;
extern UnkAlA9C* D_8009A5FC;
extern UnkAl834* D_8009A628;
extern UnkAl6CC* D_8009A640;
extern UnkAlA9C* D_8009A664;
INCLUDE_ASM(s32, "code_2e230_len_2190", func_80052E30);
void func_800532F4(s32);
void func_80053370(s32);
void func_800533A8(alUnk2*);
void al_LoadINIT(UnkAl19E0*, s32, ALHeap*);
s32 al_CopyFileTableEntry(u16 arg0, s32 arg1, s32* arg2);
void al_LoadPER(UnkAl19E0*, s32*);
void al_LoadPRG(UnkAl19E0*, s32*);
void al_DmaCopy(s32*, s32*, s32);
s32* alHeapAlloc(ALHeap*, s32, s32);
//INCLUDE_ASM(s32, "code_2e230_len_2190", func_80052E5C);
void func_80052E5C(s32 arg0) {
UnkAl19E0** temp_s4 = &D_8009A5C0;
UnkAl19E0* temp4;
@ -264,14 +140,43 @@ void func_80052E5C(s32 arg0) {
func_80055050(alHeap);
}
INCLUDE_ASM(void, "code_2e230_len_2190", func_800532F4, s32 arg0);
void func_800532F4(UnkAl30* arg0) {
arg0->unk_00 = &D_800781D0;
arg0->unk_04 = 190;
arg0->unk_18 = &D_80078190;
arg0->unk_1C = 64;
arg0->unk_1E = 4800;
arg0->unk_08 = 0;
arg0->unk_0C = 0;
arg0->unk_10 = 0;
arg0->unk_14 = 0;
arg0->unk_24 = 0;
arg0->unk_25 = 0;
arg0->unk_2C = &D_80078544;
arg0->unk_26 = 0;
arg0->unk_27 = 0;
arg0->unk_28 = 0;
arg0->unk_29 = 0;
arg0->unk_2A = 0;
arg0->unk_2B = 0;
arg0->unk_20 = 0.5f;
}
INCLUDE_ASM(void, "code_2e230_len_2190", func_80053370, s32 arg0);
void func_80053370(UnkAl12* arg0) {
arg0->unk_00 = 8208;
arg0->unk_02 = 4800;
arg0->unk_04 = ~0x80;
arg0->unk_05 = 64;
arg0->unk_06 = 0;
arg0->unk_07 = 0;
arg0->unk_08 = 0;
arg0->unk_09 = 0;
arg0->unk_0A = 0;
}
//INCLUDE_ASM(s32, "code_2e230_len_2190", func_800533A8);
void func_800533A8(alUnk2* arg0) {
arg0->unk_00 = 8208;
arg0->unk_02 = ~128;
arg0->unk_02 = ~0x80;
arg0->unk_03 = 64;
arg0->unk_04 = 0;
arg0->unk_05 = 0;

View File

@ -1,39 +0,0 @@
#ifndef _CODE_2E230_LEN_2190_H_
#define _CODE_2E230_LEN_2190_H_
#include "common.h"
// Probably some libultra audio thing
typedef struct UnkStructFor80053A18 {
/* 0x00 */ UNK_TYPE unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ char unk_08[2];
/* 0x0A */ u16 unk_0A;
/* 0x0C */ s32 unk_0C;
} UnkStructFor80053A18; // size unknown
typedef struct alUnk1 {
/* 0x00 */ s16 unk_00;
/* 0x02 */ char unk_02[2];
/* 0x04 */ s32 unk_04;
/* 0x08 */ s16 unk_08;
/* 0x0A */ s16 unk_0A;
/* 0x0C */ char unk_0C[4];
/* 0x10 */ s32 unk_10;
/* 0x14 */ s32 unk_14;
/* 0x18 */ s16 unk_18;
/* 0x1A */ s16 unk_1A;
} alUnk1;
typedef struct alUnk2 {
/* 0x00 */ s16 unk_00;
/* 0x02 */ u8 unk_02;
/* 0x03 */ s8 unk_03;
/* 0x04 */ s8 unk_04;
/* 0x05 */ s8 unk_05;
/* 0x06 */ s8 unk_06;
} alUnk2;
void func_80053A18(UnkStructFor80053A18* arg0);
#endif