Files
mk64/asm/non_matchings/audio/seqplayer/func_800BFD90.s
T
Tyler McGavran 782ed71f61 Massive data relocation (#295)
Mostly relocating rodata from data/* files to the appropriate
 asm/nonmatching/* files, although there is some plain data
 relocating to be found in here too.

Big change to note is the addition of the code_802AAA70.c file,
 split from memory.c. Based on some padding in the ro/data for
 memory it seems clear that a split is needed, although it is
 not clear that exact spot chosen for the split is correct.
 Still, it gets the file padding for the ro/data and text segments
 correct so it can't be too wrong.

Also included is an update to the asm_processor tool to support
 the .hword directive. I made a PR to the main repo of that
 project with an identical change and it was accepted.

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-03-29 18:52:15 -06:00

876 lines
40 KiB
ArmAsm

.section .late_rodata
glabel jpt_800F2F90
.word L800C0124, L800C0078, L800C0140, L800C0150
.word L800C0094, L800C035C, L800C03B4, L800C03EC
.word L800C03EC, L800C0438, L800C0448, L800C03EC
.word L800BFE40, L800BFE40, L800BFE40, L800C0468
.word L800C048C, L800C049C, L800C01E8, L800C034C
.word L800BFE40, L800BFE40, L800C02B4, L800C0298
.word L800C0288, L800C026C, L800C0254, L800C0238
.word L800C021C, L800C01B4, L800C0160, L800C0184
.word L800C0304, L800C02D0, L800C0338, L800C04BC
.word L800C04AC, L800C0518, L800C0528, L800C0590
.word L800C0630, L800BFEC4, L800C00D0, L800C0608
.word L800BFE40, L800BFE40, L800C0640, L800C0068
.word L800C0040, L800BFFF8, L800BFFF8, L800BFFF8
.word L800BFFA0, L800BFF90, L800BFF48, L800BFF10
.word L800BFFA0, L800BFFA0, L800BFFA0, L800BFED4
.word L800BFEB4, L800C0880, L800BFE7C
glabel jpt_800F308C
.word L800C0684, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800C07E4, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800C0814, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800C0830, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800C0858, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800C06EC, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800C0708, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800C06BC, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800C06CC, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800C0714, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800C0760, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800BFE40, L800BFE40, L800BFE40, L800BFE40
.word L800C077C
.section .text
glabel func_800BFD90
/* 0C0990 800BFD90 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 0C0994 800BFD94 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C0998 800BFD98 AFB40028 */ sw $s4, 0x28($sp)
/* 0C099C 800BFD9C AFB30024 */ sw $s3, 0x24($sp)
/* 0C09A0 800BFDA0 AFB20020 */ sw $s2, 0x20($sp)
/* 0C09A4 800BFDA4 AFB1001C */ sw $s1, 0x1c($sp)
/* 0C09A8 800BFDA8 AFB00018 */ sw $s0, 0x18($sp)
/* 0C09AC 800BFDAC 8C820000 */ lw $v0, ($a0)
/* 0C09B0 800BFDB0 00809025 */ move $s2, $a0
/* 0C09B4 800BFDB4 000277C2 */ srl $t6, $v0, 0x1f
/* 0C09B8 800BFDB8 11C002BC */ beqz $t6, .L800C08AC
/* 0C09BC 800BFDBC 0002C080 */ sll $t8, $v0, 2
/* 0C09C0 800BFDC0 0701000D */ bgez $t8, .L800BFDF8
/* 0C09C4 800BFDC4 00008025 */ move $s0, $zero
/* 0C09C8 800BFDC8 00808825 */ move $s1, $a0
/* 0C09CC 800BFDCC 24120010 */ li $s2, 16
.L800BFDD0:
/* 0C09D0 800BFDD0 8E240048 */ lw $a0, 0x48($s1)
/* 0C09D4 800BFDD4 50800004 */ beql $a0, $zero, .L800BFDE8
/* 0C09D8 800BFDD8 26100004 */ addiu $s0, $s0, 4
/* 0C09DC 800BFDDC 0C02FC64 */ jal seq_channel_layer_process_script
/* 0C09E0 800BFDE0 00000000 */ nop
/* 0C09E4 800BFDE4 26100004 */ addiu $s0, $s0, 4
.L800BFDE8:
/* 0C09E8 800BFDE8 1612FFF9 */ bne $s0, $s2, .L800BFDD0
/* 0C09EC 800BFDEC 26310004 */ addiu $s1, $s1, 4
/* 0C09F0 800BFDF0 100002AF */ b .L800C08B0
/* 0C09F4 800BFDF4 8FBF002C */ lw $ra, 0x2c($sp)
.L800BFDF8:
/* 0C09F8 800BFDF8 8E540044 */ lw $s4, 0x44($s2)
/* 0C09FC 800BFDFC 8E990000 */ lw $t9, ($s4)
/* 0C0A00 800BFE00 00195080 */ sll $t2, $t9, 2
/* 0C0A04 800BFE04 05430006 */ bgezl $t2, .L800BFE20
/* 0C0A08 800BFE08 9643001A */ lhu $v1, 0x1a($s2)
/* 0C0A0C 800BFE0C 924B0003 */ lbu $t3, 3($s2)
/* 0C0A10 800BFE10 316C0080 */ andi $t4, $t3, 0x80
/* 0C0A14 800BFE14 558002A6 */ bnel $t4, $zero, .L800C08B0
/* 0C0A18 800BFE18 8FBF002C */ lw $ra, 0x2c($sp)
/* 0C0A1C 800BFE1C 9643001A */ lhu $v1, 0x1a($s2)
.L800BFE20:
/* 0C0A20 800BFE20 26510060 */ addiu $s1, $s2, 0x60
/* 0C0A24 800BFE24 10600004 */ beqz $v1, .L800BFE38
/* 0C0A28 800BFE28 00601025 */ move $v0, $v1
/* 0C0A2C 800BFE2C 246DFFFF */ addiu $t5, $v1, -1
/* 0C0A30 800BFE30 A64D001A */ sh $t5, 0x1a($s2)
/* 0C0A34 800BFE34 31A2FFFF */ andi $v0, $t5, 0xffff
.L800BFE38:
/* 0C0A38 800BFE38 14400291 */ bnez $v0, .L800C0880
/* 0C0A3C 800BFE3C 83B3004B */ lb $s3, 0x4b($sp)
.L800BFE40:
glabel L800BFE40
/* 0C0A40 800BFE40 0C02FC42 */ jal m64_read_u8
/* 0C0A44 800BFE44 02202025 */ move $a0, $s1
/* 0C0A48 800BFE48 284100C1 */ slti $at, $v0, 0xc1
/* 0C0A4C 800BFE4C 305000FF */ andi $s0, $v0, 0xff
/* 0C0A50 800BFE50 14200201 */ bnez $at, .L800C0658
/* 0C0A54 800BFE54 00401825 */ move $v1, $v0
/* 0C0A58 800BFE58 244EFF3F */ addiu $t6, $v0, -0xc1
/* 0C0A5C 800BFE5C 2DC1003F */ sltiu $at, $t6, 0x3f
/* 0C0A60 800BFE60 1020FFF7 */ beqz $at, .L800BFE40
/* 0C0A64 800BFE64 000E7080 */ sll $t6, $t6, 2
/* 0C0A68 800BFE68 3C01800F */ lui $at, %hi(jpt_800F2F90)
/* 0C0A6C 800BFE6C 002E0821 */ addu $at, $at, $t6
/* 0C0A70 800BFE70 8C2E2F90 */ lw $t6, %lo(jpt_800F2F90)($at)
/* 0C0A74 800BFE74 01C00008 */ jr $t6
/* 0C0A78 800BFE78 00000000 */ nop
glabel L800BFE7C
/* 0C0A7C 800BFE7C 92240018 */ lbu $a0, 0x18($s1)
/* 0C0A80 800BFE80 14800005 */ bnez $a0, .L800BFE98
/* 0C0A84 800BFE84 2482FFFF */ addiu $v0, $a0, -1
/* 0C0A88 800BFE88 0C02FAE9 */ jal sequence_channel_disable
/* 0C0A8C 800BFE8C 02402025 */ move $a0, $s2
/* 0C0A90 800BFE90 1000027C */ b .L800C0884
/* 0C0A94 800BFE94 02408825 */ move $s1, $s2
.L800BFE98:
/* 0C0A98 800BFE98 304F00FF */ andi $t7, $v0, 0xff
/* 0C0A9C 800BFE9C 000FC080 */ sll $t8, $t7, 2
/* 0C0AA0 800BFEA0 0238C821 */ addu $t9, $s1, $t8
/* 0C0AA4 800BFEA4 A22F0018 */ sb $t7, 0x18($s1)
/* 0C0AA8 800BFEA8 8F290004 */ lw $t1, 4($t9)
/* 0C0AAC 800BFEAC 1000FFE4 */ b .L800BFE40
/* 0C0AB0 800BFEB0 AE290000 */ sw $t1, ($s1)
glabel L800BFEB4
/* 0C0AB4 800BFEB4 0C02FC53 */ jal m64_read_compressed_u16
/* 0C0AB8 800BFEB8 02202025 */ move $a0, $s1
/* 0C0ABC 800BFEBC 10000270 */ b .L800C0880
/* 0C0AC0 800BFEC0 A642001A */ sh $v0, 0x1a($s2)
glabel L800BFEC4
/* 0C0AC4 800BFEC4 924B0000 */ lbu $t3, ($s2)
/* 0C0AC8 800BFEC8 356C0020 */ ori $t4, $t3, 0x20
/* 0C0ACC 800BFECC 1000026C */ b .L800C0880
/* 0C0AD0 800BFED0 A24C0000 */ sb $t4, ($s2)
glabel L800BFED4
/* 0C0AD4 800BFED4 0C02FC47 */ jal m64_read_s16
/* 0C0AD8 800BFED8 02202025 */ move $a0, $s1
/* 0C0ADC 800BFEDC 922E0018 */ lbu $t6, 0x18($s1)
/* 0C0AE0 800BFEE0 8E2D0000 */ lw $t5, ($s1)
/* 0C0AE4 800BFEE4 304BFFFF */ andi $t3, $v0, 0xffff
/* 0C0AE8 800BFEE8 000E7880 */ sll $t7, $t6, 2
/* 0C0AEC 800BFEEC 022FC021 */ addu $t8, $s1, $t7
/* 0C0AF0 800BFEF0 AF0D0004 */ sw $t5, 4($t8)
/* 0C0AF4 800BFEF4 92390018 */ lbu $t9, 0x18($s1)
/* 0C0AF8 800BFEF8 27290001 */ addiu $t1, $t9, 1
/* 0C0AFC 800BFEFC A2290018 */ sb $t1, 0x18($s1)
/* 0C0B00 800BFF00 8E8A0014 */ lw $t2, 0x14($s4)
/* 0C0B04 800BFF04 014B6021 */ addu $t4, $t2, $t3
/* 0C0B08 800BFF08 1000FFCD */ b .L800BFE40
/* 0C0B0C 800BFF0C AE2C0000 */ sw $t4, ($s1)
glabel L800BFF10
/* 0C0B10 800BFF10 0C02FC42 */ jal m64_read_u8
/* 0C0B14 800BFF14 02202025 */ move $a0, $s1
/* 0C0B18 800BFF18 922E0018 */ lbu $t6, 0x18($s1)
/* 0C0B1C 800BFF1C 022E7821 */ addu $t7, $s1, $t6
/* 0C0B20 800BFF20 A1E20014 */ sb $v0, 0x14($t7)
/* 0C0B24 800BFF24 92380018 */ lbu $t8, 0x18($s1)
/* 0C0B28 800BFF28 8E2D0000 */ lw $t5, ($s1)
/* 0C0B2C 800BFF2C 0018C880 */ sll $t9, $t8, 2
/* 0C0B30 800BFF30 02394821 */ addu $t1, $s1, $t9
/* 0C0B34 800BFF34 AD2D0004 */ sw $t5, 4($t1)
/* 0C0B38 800BFF38 922A0018 */ lbu $t2, 0x18($s1)
/* 0C0B3C 800BFF3C 254B0001 */ addiu $t3, $t2, 1
/* 0C0B40 800BFF40 1000FFBF */ b .L800BFE40
/* 0C0B44 800BFF44 A22B0018 */ sb $t3, 0x18($s1)
glabel L800BFF48
/* 0C0B48 800BFF48 922C0018 */ lbu $t4, 0x18($s1)
/* 0C0B4C 800BFF4C 022C1021 */ addu $v0, $s1, $t4
/* 0C0B50 800BFF50 904E0013 */ lbu $t6, 0x13($v0)
/* 0C0B54 800BFF54 25CFFFFF */ addiu $t7, $t6, -1
/* 0C0B58 800BFF58 A04F0013 */ sb $t7, 0x13($v0)
/* 0C0B5C 800BFF5C 92240018 */ lbu $a0, 0x18($s1)
/* 0C0B60 800BFF60 0224C021 */ addu $t8, $s1, $a0
/* 0C0B64 800BFF64 93190013 */ lbu $t9, 0x13($t8)
/* 0C0B68 800BFF68 00801825 */ move $v1, $a0
/* 0C0B6C 800BFF6C 00036880 */ sll $t5, $v1, 2
/* 0C0B70 800BFF70 13200005 */ beqz $t9, .L800BFF88
/* 0C0B74 800BFF74 248BFFFF */ addiu $t3, $a0, -1
/* 0C0B78 800BFF78 022D4821 */ addu $t1, $s1, $t5
/* 0C0B7C 800BFF7C 8D2A0000 */ lw $t2, ($t1)
/* 0C0B80 800BFF80 1000FFAF */ b .L800BFE40
/* 0C0B84 800BFF84 AE2A0000 */ sw $t2, ($s1)
.L800BFF88:
/* 0C0B88 800BFF88 1000FFAD */ b .L800BFE40
/* 0C0B8C 800BFF8C A22B0018 */ sb $t3, 0x18($s1)
glabel L800BFF90
/* 0C0B90 800BFF90 922C0018 */ lbu $t4, 0x18($s1)
/* 0C0B94 800BFF94 258EFFFF */ addiu $t6, $t4, -1
/* 0C0B98 800BFF98 1000FFA9 */ b .L800BFE40
/* 0C0B9C 800BFF9C A22E0018 */ sb $t6, 0x18($s1)
glabel L800BFFA0
/* 0C0BA0 800BFFA0 0C02FC47 */ jal m64_read_s16
/* 0C0BA4 800BFFA4 02202025 */ move $a0, $s1
/* 0C0BA8 800BFFA8 240100FA */ li $at, 250
/* 0C0BAC 800BFFAC 16010003 */ bne $s0, $at, .L800BFFBC
/* 0C0BB0 800BFFB0 02001825 */ move $v1, $s0
/* 0C0BB4 800BFFB4 1660FFA2 */ bnez $s3, .L800BFE40
/* 0C0BB8 800BFFB8 00000000 */ nop
.L800BFFBC:
/* 0C0BBC 800BFFBC 240100F9 */ li $at, 249
/* 0C0BC0 800BFFC0 54610004 */ bnel $v1, $at, .L800BFFD4
/* 0C0BC4 800BFFC4 240100F5 */ li $at, 245
/* 0C0BC8 800BFFC8 0661FF9D */ bgez $s3, .L800BFE40
/* 0C0BCC 800BFFCC 00000000 */ nop
/* 0C0BD0 800BFFD0 240100F5 */ li $at, 245
.L800BFFD4:
/* 0C0BD4 800BFFD4 54610004 */ bnel $v1, $at, .L800BFFE8
/* 0C0BD8 800BFFD8 8E8F0014 */ lw $t7, 0x14($s4)
/* 0C0BDC 800BFFDC 0660FF98 */ bltz $s3, .L800BFE40
/* 0C0BE0 800BFFE0 00000000 */ nop
/* 0C0BE4 800BFFE4 8E8F0014 */ lw $t7, 0x14($s4)
.L800BFFE8:
/* 0C0BE8 800BFFE8 3058FFFF */ andi $t8, $v0, 0xffff
/* 0C0BEC 800BFFEC 01F8C821 */ addu $t9, $t7, $t8
/* 0C0BF0 800BFFF0 1000FF93 */ b .L800BFE40
/* 0C0BF4 800BFFF4 AE390000 */ sw $t9, ($s1)
glabel L800BFFF8
/* 0C0BF8 800BFFF8 0C02FC42 */ jal m64_read_u8
/* 0C0BFC 800BFFFC 02202025 */ move $a0, $s1
/* 0C0C00 800C0000 240100F3 */ li $at, 243
/* 0C0C04 800C0004 16010003 */ bne $s0, $at, .L800C0014
/* 0C0C08 800C0008 02001825 */ move $v1, $s0
/* 0C0C0C 800C000C 1660FF8C */ bnez $s3, .L800BFE40
/* 0C0C10 800C0010 00000000 */ nop
.L800C0014:
/* 0C0C14 800C0014 240100F2 */ li $at, 242
/* 0C0C18 800C0018 54610004 */ bnel $v1, $at, .L800C002C
/* 0C0C1C 800C001C 8E2D0000 */ lw $t5, ($s1)
/* 0C0C20 800C0020 0661FF87 */ bgez $s3, .L800BFE40
/* 0C0C24 800C0024 00000000 */ nop
/* 0C0C28 800C0028 8E2D0000 */ lw $t5, ($s1)
.L800C002C:
/* 0C0C2C 800C002C 00024E00 */ sll $t1, $v0, 0x18
/* 0C0C30 800C0030 00095603 */ sra $t2, $t1, 0x18
/* 0C0C34 800C0034 01AA5821 */ addu $t3, $t5, $t2
/* 0C0C38 800C0038 1000FF81 */ b .L800BFE40
/* 0C0C3C 800C003C AE2B0000 */ sw $t3, ($s1)
glabel L800C0040
/* 0C0C40 800C0040 26500084 */ addiu $s0, $s2, 0x84
/* 0C0C44 800C0044 0C02F506 */ jal note_pool_clear
/* 0C0C48 800C0048 02002025 */ move $a0, $s0
/* 0C0C4C 800C004C 0C02FC42 */ jal m64_read_u8
/* 0C0C50 800C0050 02202025 */ move $a0, $s1
/* 0C0C54 800C0054 02002025 */ move $a0, $s0
/* 0C0C58 800C0058 0C02F55E */ jal note_pool_fill
/* 0C0C5C 800C005C 00402825 */ move $a1, $v0
/* 0C0C60 800C0060 1000FF77 */ b .L800BFE40
/* 0C0C64 800C0064 00000000 */ nop
glabel L800C0068
/* 0C0C68 800C0068 0C02F506 */ jal note_pool_clear
/* 0C0C6C 800C006C 26440084 */ addiu $a0, $s2, 0x84
/* 0C0C70 800C0070 1000FF73 */ b .L800BFE40
/* 0C0C74 800C0074 00000000 */ nop
glabel L800C0078
/* 0C0C78 800C0078 0C02FC47 */ jal m64_read_s16
/* 0C0C7C 800C007C 02202025 */ move $a0, $s1
/* 0C0C80 800C0080 8E8C0014 */ lw $t4, 0x14($s4)
/* 0C0C84 800C0084 304EFFFF */ andi $t6, $v0, 0xffff
/* 0C0C88 800C0088 018E7821 */ addu $t7, $t4, $t6
/* 0C0C8C 800C008C 1000FF6C */ b .L800BFE40
/* 0C0C90 800C0090 AE4F0034 */ sw $t7, 0x34($s2)
glabel L800C0094
/* 0C0C94 800C0094 2401FFFF */ li $at, -1
/* 0C0C98 800C0098 1261FF69 */ beq $s3, $at, .L800BFE40
/* 0C0C9C 800C009C 00000000 */ nop
/* 0C0CA0 800C00A0 8E580034 */ lw $t8, 0x34($s2)
/* 0C0CA4 800C00A4 0013C840 */ sll $t9, $s3, 1
/* 0C0CA8 800C00A8 8E8C0014 */ lw $t4, 0x14($s4)
/* 0C0CAC 800C00AC 03191821 */ addu $v1, $t8, $t9
/* 0C0CB0 800C00B0 906D0000 */ lbu $t5, ($v1)
/* 0C0CB4 800C00B4 90690001 */ lbu $t1, 1($v1)
/* 0C0CB8 800C00B8 000D5200 */ sll $t2, $t5, 8
/* 0C0CBC 800C00BC 012A3821 */ addu $a3, $t1, $t2
/* 0C0CC0 800C00C0 30EBFFFF */ andi $t3, $a3, 0xffff
/* 0C0CC4 800C00C4 018B7021 */ addu $t6, $t4, $t3
/* 0C0CC8 800C00C8 1000FF5D */ b .L800BFE40
/* 0C0CCC 800C00CC AE4E0034 */ sw $t6, 0x34($s2)
glabel L800C00D0
/* 0C0CD0 800C00D0 0C02FC42 */ jal m64_read_u8
/* 0C0CD4 800C00D4 02202025 */ move $a0, $s1
/* 0C0CD8 800C00D8 928F0004 */ lbu $t7, 4($s4)
/* 0C0CDC 800C00DC 3C03803B */ lui $v1, %hi(gAlBankSets) # $v1, 0x803b
/* 0C0CE0 800C00E0 8C637078 */ lw $v1, %lo(gAlBankSets)($v1)
/* 0C0CE4 800C00E4 000FC040 */ sll $t8, $t7, 1
/* 0C0CE8 800C00E8 24040001 */ li $a0, 1
/* 0C0CEC 800C00EC 0078C821 */ addu $t9, $v1, $t8
/* 0C0CF0 800C00F0 97270000 */ lhu $a3, ($t9)
/* 0C0CF4 800C00F4 24050002 */ li $a1, 2
/* 0C0CF8 800C00F8 00E36821 */ addu $t5, $a3, $v1
/* 0C0CFC 800C00FC 91A80000 */ lbu $t0, ($t5)
/* 0C0D00 800C0100 00E84821 */ addu $t1, $a3, $t0
/* 0C0D04 800C0104 01225023 */ subu $t2, $t1, $v0
/* 0C0D08 800C0108 01435821 */ addu $t3, $t2, $v1
/* 0C0D0C 800C010C 91700000 */ lbu $s0, ($t3)
/* 0C0D10 800C0110 0C02E6A4 */ jal get_bank_or_seq
/* 0C0D14 800C0114 02003025 */ move $a2, $s0
/* 0C0D18 800C0118 10400002 */ beqz $v0, .L800C0124
/* 0C0D1C 800C011C 00000000 */ nop
/* 0C0D20 800C0120 A2500006 */ sb $s0, 6($s2)
.L800C0124:
glabel L800C0124
/* 0C0D24 800C0124 0C02FC42 */ jal m64_read_u8
/* 0C0D28 800C0128 02202025 */ move $a0, $s1
/* 0C0D2C 800C012C 02402025 */ move $a0, $s2
/* 0C0D30 800C0130 0C02FF36 */ jal set_instrument
/* 0C0D34 800C0134 304500FF */ andi $a1, $v0, 0xff
/* 0C0D38 800C0138 1000FF41 */ b .L800BFE40
/* 0C0D3C 800C013C 00000000 */ nop
glabel L800C0140
/* 0C0D40 800C0140 924C0000 */ lbu $t4, ($s2)
/* 0C0D44 800C0144 318EFFFD */ andi $t6, $t4, 0xfffd
/* 0C0D48 800C0148 1000FF3D */ b .L800BFE40
/* 0C0D4C 800C014C A24E0000 */ sb $t6, ($s2)
glabel L800C0150
/* 0C0D50 800C0150 92580000 */ lbu $t8, ($s2)
/* 0C0D54 800C0154 37190002 */ ori $t9, $t8, 2
/* 0C0D58 800C0158 1000FF39 */ b .L800BFE40
/* 0C0D5C 800C015C A2590000 */ sb $t9, ($s2)
glabel L800C0160
/* 0C0D60 800C0160 0C02FC42 */ jal m64_read_u8
/* 0C0D64 800C0164 02202025 */ move $a0, $s1
/* 0C0D68 800C0168 02402025 */ move $a0, $s2
/* 0C0D6C 800C016C 0C02FF5B */ jal sequence_channel_set_volume
/* 0C0D70 800C0170 304500FF */ andi $a1, $v0, 0xff
/* 0C0D74 800C0174 92490001 */ lbu $t1, 1($s2)
/* 0C0D78 800C0178 352A0040 */ ori $t2, $t1, 0x40
/* 0C0D7C 800C017C 1000FF30 */ b .L800BFE40
/* 0C0D80 800C0180 A24A0001 */ sb $t2, 1($s2)
glabel L800C0184
/* 0C0D84 800C0184 0C02FC42 */ jal m64_read_u8
/* 0C0D88 800C0188 02202025 */ move $a0, $s1
/* 0C0D8C 800C018C 44822000 */ mtc1 $v0, $f4
/* 0C0D90 800C0190 3C013C00 */ li $at, 0x3C000000 # 0.007813
/* 0C0D94 800C0194 44814000 */ mtc1 $at, $f8
/* 0C0D98 800C0198 468021A0 */ cvt.s.w $f6, $f4
/* 0C0D9C 800C019C 924C0001 */ lbu $t4, 1($s2)
/* 0C0DA0 800C01A0 358E0040 */ ori $t6, $t4, 0x40
/* 0C0DA4 800C01A4 A24E0001 */ sb $t6, 1($s2)
/* 0C0DA8 800C01A8 46083282 */ mul.s $f10, $f6, $f8
/* 0C0DAC 800C01AC 1000FF24 */ b .L800BFE40
/* 0C0DB0 800C01B0 E64A0020 */ swc1 $f10, 0x20($s2)
glabel L800C01B4
/* 0C0DB4 800C01B4 0C02FC47 */ jal m64_read_s16
/* 0C0DB8 800C01B8 02202025 */ move $a0, $s1
/* 0C0DBC 800C01BC 304FFFFF */ andi $t7, $v0, 0xffff
/* 0C0DC0 800C01C0 448F8000 */ mtc1 $t7, $f16
/* 0C0DC4 800C01C4 3C014700 */ li $at, 0x47000000 # 32768.000000
/* 0C0DC8 800C01C8 44812000 */ mtc1 $at, $f4
/* 0C0DCC 800C01CC 468084A0 */ cvt.s.w $f18, $f16
/* 0C0DD0 800C01D0 92590001 */ lbu $t9, 1($s2)
/* 0C0DD4 800C01D4 372D0080 */ ori $t5, $t9, 0x80
/* 0C0DD8 800C01D8 A24D0001 */ sb $t5, 1($s2)
/* 0C0DDC 800C01DC 46049183 */ div.s $f6, $f18, $f4
/* 0C0DE0 800C01E0 1000FF17 */ b .L800BFE40
/* 0C0DE4 800C01E4 E6460030 */ swc1 $f6, 0x30($s2)
glabel L800C01E8
/* 0C0DE8 800C01E8 0C02FC42 */ jal m64_read_u8
/* 0C0DEC 800C01EC 02202025 */ move $a0, $s1
/* 0C0DF0 800C01F0 2449007F */ addiu $t1, $v0, 0x7f
/* 0C0DF4 800C01F4 312A00FF */ andi $t2, $t1, 0xff
/* 0C0DF8 800C01F8 924E0001 */ lbu $t6, 1($s2)
/* 0C0DFC 800C01FC 000A5880 */ sll $t3, $t2, 2
/* 0C0E00 800C0200 3C01800F */ lui $at, %hi(gPitchBendFrequencyScale)
/* 0C0E04 800C0204 002B0821 */ addu $at, $at, $t3
/* 0C0E08 800C0208 C4285C20 */ lwc1 $f8, %lo(gPitchBendFrequencyScale)($at)
/* 0C0E0C 800C020C 35CF0080 */ ori $t7, $t6, 0x80
/* 0C0E10 800C0210 A24F0001 */ sb $t7, 1($s2)
/* 0C0E14 800C0214 1000FF0A */ b .L800BFE40
/* 0C0E18 800C0218 E6480030 */ swc1 $f8, 0x30($s2)
glabel L800C021C
/* 0C0E1C 800C021C 0C02FC42 */ jal m64_read_u8
/* 0C0E20 800C0220 02202025 */ move $a0, $s1
/* 0C0E24 800C0224 92590001 */ lbu $t9, 1($s2)
/* 0C0E28 800C0228 A2420009 */ sb $v0, 9($s2)
/* 0C0E2C 800C022C 372D0020 */ ori $t5, $t9, 0x20
/* 0C0E30 800C0230 1000FF03 */ b .L800BFE40
/* 0C0E34 800C0234 A24D0001 */ sb $t5, 1($s2)
glabel L800C0238
/* 0C0E38 800C0238 0C02FC42 */ jal m64_read_u8
/* 0C0E3C 800C023C 02202025 */ move $a0, $s1
/* 0C0E40 800C0240 924A0001 */ lbu $t2, 1($s2)
/* 0C0E44 800C0244 A242000A */ sb $v0, 0xa($s2)
/* 0C0E48 800C0248 354B0020 */ ori $t3, $t2, 0x20
/* 0C0E4C 800C024C 1000FEFC */ b .L800BFE40
/* 0C0E50 800C0250 A24B0001 */ sb $t3, 1($s2)
glabel L800C0254
/* 0C0E54 800C0254 8E220000 */ lw $v0, ($s1)
/* 0C0E58 800C0258 80430000 */ lb $v1, ($v0)
/* 0C0E5C 800C025C 244C0001 */ addiu $t4, $v0, 1
/* 0C0E60 800C0260 AE2C0000 */ sw $t4, ($s1)
/* 0C0E64 800C0264 1000FEF6 */ b .L800BFE40
/* 0C0E68 800C0268 A643001E */ sh $v1, 0x1e($s2)
glabel L800C026C
/* 0C0E6C 800C026C 0C02FC47 */ jal m64_read_s16
/* 0C0E70 800C0270 02202025 */ move $a0, $s1
/* 0C0E74 800C0274 8E8E0014 */ lw $t6, 0x14($s4)
/* 0C0E78 800C0278 304FFFFF */ andi $t7, $v0, 0xffff
/* 0C0E7C 800C027C 01CFC021 */ addu $t8, $t6, $t7
/* 0C0E80 800C0280 1000FEEF */ b .L800BFE40
/* 0C0E84 800C0284 AE580080 */ sw $t8, 0x80($s2)
glabel L800C0288
/* 0C0E88 800C0288 0C02FC42 */ jal m64_read_u8
/* 0C0E8C 800C028C 02202025 */ move $a0, $s1
/* 0C0E90 800C0290 1000FEEB */ b .L800BFE40
/* 0C0E94 800C0294 A242007C */ sb $v0, 0x7c($s2)
glabel L800C0298
/* 0C0E98 800C0298 0C02FC42 */ jal m64_read_u8
/* 0C0E9C 800C029C 02202025 */ move $a0, $s1
/* 0C0EA0 800C02A0 0002C8C0 */ sll $t9, $v0, 3
/* 0C0EA4 800C02A4 A6590012 */ sh $t9, 0x12($s2)
/* 0C0EA8 800C02A8 A640000E */ sh $zero, 0xe($s2)
/* 0C0EAC 800C02AC 1000FEE4 */ b .L800BFE40
/* 0C0EB0 800C02B0 A6400016 */ sh $zero, 0x16($s2)
glabel L800C02B4
/* 0C0EB4 800C02B4 0C02FC42 */ jal m64_read_u8
/* 0C0EB8 800C02B8 02202025 */ move $a0, $s1
/* 0C0EBC 800C02BC 00021940 */ sll $v1, $v0, 5
/* 0C0EC0 800C02C0 A6430010 */ sh $v1, 0x10($s2)
/* 0C0EC4 800C02C4 A643000C */ sh $v1, 0xc($s2)
/* 0C0EC8 800C02C8 1000FEDD */ b .L800BFE40
/* 0C0ECC 800C02CC A6400014 */ sh $zero, 0x14($s2)
glabel L800C02D0
/* 0C0ED0 800C02D0 0C02FC42 */ jal m64_read_u8
/* 0C0ED4 800C02D4 02202025 */ move $a0, $s1
/* 0C0ED8 800C02D8 000268C0 */ sll $t5, $v0, 3
/* 0C0EDC 800C02DC A64D000E */ sh $t5, 0xe($s2)
/* 0C0EE0 800C02E0 0C02FC42 */ jal m64_read_u8
/* 0C0EE4 800C02E4 02202025 */ move $a0, $s1
/* 0C0EE8 800C02E8 000248C0 */ sll $t1, $v0, 3
/* 0C0EEC 800C02EC A6490012 */ sh $t1, 0x12($s2)
/* 0C0EF0 800C02F0 0C02FC42 */ jal m64_read_u8
/* 0C0EF4 800C02F4 02202025 */ move $a0, $s1
/* 0C0EF8 800C02F8 00025100 */ sll $t2, $v0, 4
/* 0C0EFC 800C02FC 1000FED0 */ b .L800BFE40
/* 0C0F00 800C0300 A64A0016 */ sh $t2, 0x16($s2)
glabel L800C0304
/* 0C0F04 800C0304 0C02FC42 */ jal m64_read_u8
/* 0C0F08 800C0308 02202025 */ move $a0, $s1
/* 0C0F0C 800C030C 00025940 */ sll $t3, $v0, 5
/* 0C0F10 800C0310 A64B000C */ sh $t3, 0xc($s2)
/* 0C0F14 800C0314 0C02FC42 */ jal m64_read_u8
/* 0C0F18 800C0318 02202025 */ move $a0, $s1
/* 0C0F1C 800C031C 00026140 */ sll $t4, $v0, 5
/* 0C0F20 800C0320 A64C0010 */ sh $t4, 0x10($s2)
/* 0C0F24 800C0324 0C02FC42 */ jal m64_read_u8
/* 0C0F28 800C0328 02202025 */ move $a0, $s1
/* 0C0F2C 800C032C 00027100 */ sll $t6, $v0, 4
/* 0C0F30 800C0330 1000FEC3 */ b .L800BFE40
/* 0C0F34 800C0334 A64E0014 */ sh $t6, 0x14($s2)
glabel L800C0338
/* 0C0F38 800C0338 0C02FC42 */ jal m64_read_u8
/* 0C0F3C 800C033C 02202025 */ move $a0, $s1
/* 0C0F40 800C0340 00027900 */ sll $t7, $v0, 4
/* 0C0F44 800C0344 1000FEBE */ b .L800BFE40
/* 0C0F48 800C0348 A64F0018 */ sh $t7, 0x18($s2)
glabel L800C034C
/* 0C0F4C 800C034C 0C02FC42 */ jal m64_read_u8
/* 0C0F50 800C0350 02202025 */ move $a0, $s1
/* 0C0F54 800C0354 1000FEBA */ b .L800BFE40
/* 0C0F58 800C0358 A2420004 */ sb $v0, 4($s2)
glabel L800C035C
/* 0C0F5C 800C035C 0C02FC42 */ jal m64_read_u8
/* 0C0F60 800C0360 02202025 */ move $a0, $s1
/* 0C0F64 800C0364 92980004 */ lbu $t8, 4($s4)
/* 0C0F68 800C0368 3C03803B */ lui $v1, %hi(gAlBankSets) # $v1, 0x803b
/* 0C0F6C 800C036C 8C637078 */ lw $v1, %lo(gAlBankSets)($v1)
/* 0C0F70 800C0370 0018C840 */ sll $t9, $t8, 1
/* 0C0F74 800C0374 24040001 */ li $a0, 1
/* 0C0F78 800C0378 00796821 */ addu $t5, $v1, $t9
/* 0C0F7C 800C037C 95A70000 */ lhu $a3, ($t5)
/* 0C0F80 800C0380 24050002 */ li $a1, 2
/* 0C0F84 800C0384 00E34821 */ addu $t1, $a3, $v1
/* 0C0F88 800C0388 91280000 */ lbu $t0, ($t1)
/* 0C0F8C 800C038C 00E85021 */ addu $t2, $a3, $t0
/* 0C0F90 800C0390 01425823 */ subu $t3, $t2, $v0
/* 0C0F94 800C0394 01636021 */ addu $t4, $t3, $v1
/* 0C0F98 800C0398 91900000 */ lbu $s0, ($t4)
/* 0C0F9C 800C039C 0C02E6A4 */ jal get_bank_or_seq
/* 0C0FA0 800C03A0 02003025 */ move $a2, $s0
/* 0C0FA4 800C03A4 1040FEA6 */ beqz $v0, .L800BFE40
/* 0C0FA8 800C03A8 00000000 */ nop
/* 0C0FAC 800C03AC 1000FEA4 */ b .L800BFE40
/* 0C0FB0 800C03B0 A2500006 */ sb $s0, 6($s2)
glabel L800C03B4
/* 0C0FB4 800C03B4 326E00FF */ andi $t6, $s3, 0xff
/* 0C0FB8 800C03B8 AFAE0034 */ sw $t6, 0x34($sp)
/* 0C0FBC 800C03BC 0C02FC42 */ jal m64_read_u8
/* 0C0FC0 800C03C0 02202025 */ move $a0, $s1
/* 0C0FC4 800C03C4 305000FF */ andi $s0, $v0, 0xff
/* 0C0FC8 800C03C8 0C02FC47 */ jal m64_read_s16
/* 0C0FCC 800C03CC 02202025 */ move $a0, $s1
/* 0C0FD0 800C03D0 8E8F0014 */ lw $t7, 0x14($s4)
/* 0C0FD4 800C03D4 8FB90034 */ lw $t9, 0x34($sp)
/* 0C0FD8 800C03D8 3058FFFF */ andi $t8, $v0, 0xffff
/* 0C0FDC 800C03DC 01F81821 */ addu $v1, $t7, $t8
/* 0C0FE0 800C03E0 03306821 */ addu $t5, $t9, $s0
/* 0C0FE4 800C03E4 1000FE96 */ b .L800BFE40
/* 0C0FE8 800C03E8 A06D0000 */ sb $t5, ($v1)
glabel L800C03EC
/* 0C0FEC 800C03EC 0C02FC42 */ jal m64_read_u8
/* 0C0FF0 800C03F0 02202025 */ move $a0, $s1
/* 0C0FF4 800C03F4 240100C8 */ li $at, 200
/* 0C0FF8 800C03F8 16010005 */ bne $s0, $at, .L800C0410
/* 0C0FFC 800C03FC 02001825 */ move $v1, $s0
/* 0C1000 800C0400 02629823 */ subu $s3, $s3, $v0
/* 0C1004 800C0404 00135E00 */ sll $t3, $s3, 0x18
/* 0C1008 800C0408 1000FE8D */ b .L800BFE40
/* 0C100C 800C040C 000B9E03 */ sra $s3, $t3, 0x18
.L800C0410:
/* 0C1010 800C0410 240100CC */ li $at, 204
/* 0C1014 800C0414 14610005 */ bne $v1, $at, .L800C042C
/* 0C1018 800C0418 02629824 */ and $s3, $s3, $v0
/* 0C101C 800C041C 00029E00 */ sll $s3, $v0, 0x18
/* 0C1020 800C0420 00137603 */ sra $t6, $s3, 0x18
/* 0C1024 800C0424 1000FE86 */ b .L800BFE40
/* 0C1028 800C0428 01C09825 */ move $s3, $t6
.L800C042C:
/* 0C102C 800C042C 0013CE00 */ sll $t9, $s3, 0x18
/* 0C1030 800C0430 1000FE83 */ b .L800BFE40
/* 0C1034 800C0434 00199E03 */ sra $s3, $t9, 0x18
glabel L800C0438
/* 0C1038 800C0438 0C02FC42 */ jal m64_read_u8
/* 0C103C 800C043C 02202025 */ move $a0, $s1
/* 0C1040 800C0440 1000FE7F */ b .L800BFE40
/* 0C1044 800C0444 A2420003 */ sb $v0, 3($s2)
glabel L800C0448
/* 0C1048 800C0448 0C02FC47 */ jal m64_read_s16
/* 0C104C 800C044C 02202025 */ move $a0, $s1
/* 0C1050 800C0450 8E890014 */ lw $t1, 0x14($s4)
/* 0C1054 800C0454 304AFFFF */ andi $t2, $v0, 0xffff
/* 0C1058 800C0458 01535821 */ addu $t3, $t2, $s3
/* 0C105C 800C045C 012B6021 */ addu $t4, $t1, $t3
/* 0C1060 800C0460 1000FE77 */ b .L800BFE40
/* 0C1064 800C0464 81930000 */ lb $s3, ($t4)
glabel L800C0468
/* 0C1068 800C0468 0C02FC42 */ jal m64_read_u8
/* 0C106C 800C046C 02202025 */ move $a0, $s1
/* 0C1070 800C0470 92590000 */ lbu $t9, ($s2)
/* 0C1074 800C0474 00027880 */ sll $t7, $v0, 2
/* 0C1078 800C0478 31F80004 */ andi $t8, $t7, 4
/* 0C107C 800C047C 332DFFFB */ andi $t5, $t9, 0xfffb
/* 0C1080 800C0480 030D5025 */ or $t2, $t8, $t5
/* 0C1084 800C0484 1000FE6E */ b .L800BFE40
/* 0C1088 800C0488 A24A0000 */ sb $t2, ($s2)
glabel L800C048C
/* 0C108C 800C048C 0C02FC42 */ jal m64_read_u8
/* 0C1090 800C0490 02202025 */ move $a0, $s1
/* 0C1094 800C0494 1000FE6A */ b .L800BFE40
/* 0C1098 800C0498 A2420002 */ sb $v0, 2($s2)
glabel L800C049C
/* 0C109C 800C049C 0C02FC42 */ jal m64_read_u8
/* 0C10A0 800C04A0 02202025 */ move $a0, $s1
/* 0C10A4 800C04A4 1000FE66 */ b .L800BFE40
/* 0C10A8 800C04A8 A242007D */ sb $v0, 0x7d($s2)
glabel L800C04AC
/* 0C10AC 800C04AC 0C02FC42 */ jal m64_read_u8
/* 0C10B0 800C04B0 02202025 */ move $a0, $s1
/* 0C10B4 800C04B4 1000FE62 */ b .L800BFE40
/* 0C10B8 800C04B8 A2420007 */ sb $v0, 7($s2)
glabel L800C04BC
/* 0C10BC 800C04BC 2401FFFF */ li $at, -1
/* 0C10C0 800C04C0 1261FE5F */ beq $s3, $at, .L800BFE40
/* 0C10C4 800C04C4 00000000 */ nop
/* 0C10C8 800C04C8 92240018 */ lbu $a0, 0x18($s1)
/* 0C10CC 800C04CC 8E2B0000 */ lw $t3, ($s1)
/* 0C10D0 800C04D0 8E490034 */ lw $t1, 0x34($s2)
/* 0C10D4 800C04D4 00046080 */ sll $t4, $a0, 2
/* 0C10D8 800C04D8 022C7021 */ addu $t6, $s1, $t4
/* 0C10DC 800C04DC ADCB0004 */ sw $t3, 4($t6)
/* 0C10E0 800C04E0 922F0018 */ lbu $t7, 0x18($s1)
/* 0C10E4 800C04E4 00131040 */ sll $v0, $s3, 1
/* 0C10E8 800C04E8 01221821 */ addu $v1, $t1, $v0
/* 0C10EC 800C04EC 25F90001 */ addiu $t9, $t7, 1
/* 0C10F0 800C04F0 A2390018 */ sb $t9, 0x18($s1)
/* 0C10F4 800C04F4 906D0000 */ lbu $t5, ($v1)
/* 0C10F8 800C04F8 90780001 */ lbu $t8, 1($v1)
/* 0C10FC 800C04FC 8E8C0014 */ lw $t4, 0x14($s4)
/* 0C1100 800C0500 000D5200 */ sll $t2, $t5, 8
/* 0C1104 800C0504 030A3821 */ addu $a3, $t8, $t2
/* 0C1108 800C0508 30E9FFFF */ andi $t1, $a3, 0xffff
/* 0C110C 800C050C 01895821 */ addu $t3, $t4, $t1
/* 0C1110 800C0510 1000FE4B */ b .L800BFE40
/* 0C1114 800C0514 AE2B0000 */ sw $t3, ($s1)
glabel L800C0518
/* 0C1118 800C0518 0C02FC42 */ jal m64_read_u8
/* 0C111C 800C051C 02202025 */ move $a0, $s1
/* 0C1120 800C0520 1000FE47 */ b .L800BFE40
/* 0C1124 800C0524 A2420008 */ sb $v0, 8($s2)
glabel L800C0528
/* 0C1128 800C0528 0C02FC47 */ jal m64_read_s16
/* 0C112C 800C052C 02202025 */ move $a0, $s1
/* 0C1130 800C0530 8E8E0014 */ lw $t6, 0x14($s4)
/* 0C1134 800C0534 304FFFFF */ andi $t7, $v0, 0xffff
/* 0C1138 800C0538 01CF1821 */ addu $v1, $t6, $t7
/* 0C113C 800C053C 90790000 */ lbu $t9, ($v1)
/* 0C1140 800C0540 24630007 */ addiu $v1, $v1, 7
/* 0C1144 800C0544 A2590003 */ sb $t9, 3($s2)
/* 0C1148 800C0548 906DFFFA */ lbu $t5, -6($v1)
/* 0C114C 800C054C 92590001 */ lbu $t9, 1($s2)
/* 0C1150 800C0550 A24D0002 */ sb $t5, 2($s2)
/* 0C1154 800C0554 9078FFFB */ lbu $t8, -5($v1)
/* 0C1158 800C0558 372D0020 */ ori $t5, $t9, 0x20
/* 0C115C 800C055C A2580005 */ sb $t8, 5($s2)
/* 0C1160 800C0560 806AFFFC */ lb $t2, -4($v1)
/* 0C1164 800C0564 A64A001E */ sh $t2, 0x1e($s2)
/* 0C1168 800C0568 9069FFFD */ lbu $t1, -3($v1)
/* 0C116C 800C056C A2490009 */ sb $t1, 9($s2)
/* 0C1170 800C0570 906CFFFE */ lbu $t4, -2($v1)
/* 0C1174 800C0574 A24C000A */ sb $t4, 0xa($s2)
/* 0C1178 800C0578 906BFFFF */ lbu $t3, -1($v1)
/* 0C117C 800C057C A24B0004 */ sb $t3, 4($s2)
/* 0C1180 800C0580 906E0000 */ lbu $t6, ($v1)
/* 0C1184 800C0584 A24D0001 */ sb $t5, 1($s2)
/* 0C1188 800C0588 1000FE2D */ b .L800BFE40
/* 0C118C 800C058C A24E0007 */ sb $t6, 7($s2)
glabel L800C0590
/* 0C1190 800C0590 0C02FC42 */ jal m64_read_u8
/* 0C1194 800C0594 02202025 */ move $a0, $s1
/* 0C1198 800C0598 A2420003 */ sb $v0, 3($s2)
/* 0C119C 800C059C 0C02FC42 */ jal m64_read_u8
/* 0C11A0 800C05A0 02202025 */ move $a0, $s1
/* 0C11A4 800C05A4 A2420002 */ sb $v0, 2($s2)
/* 0C11A8 800C05A8 0C02FC42 */ jal m64_read_u8
/* 0C11AC 800C05AC 02202025 */ move $a0, $s1
/* 0C11B0 800C05B0 A2420005 */ sb $v0, 5($s2)
/* 0C11B4 800C05B4 0C02FC42 */ jal m64_read_u8
/* 0C11B8 800C05B8 02202025 */ move $a0, $s1
/* 0C11BC 800C05BC 0002C600 */ sll $t8, $v0, 0x18
/* 0C11C0 800C05C0 00185603 */ sra $t2, $t8, 0x18
/* 0C11C4 800C05C4 A64A001E */ sh $t2, 0x1e($s2)
/* 0C11C8 800C05C8 0C02FC42 */ jal m64_read_u8
/* 0C11CC 800C05CC 02202025 */ move $a0, $s1
/* 0C11D0 800C05D0 A2420009 */ sb $v0, 9($s2)
/* 0C11D4 800C05D4 0C02FC42 */ jal m64_read_u8
/* 0C11D8 800C05D8 02202025 */ move $a0, $s1
/* 0C11DC 800C05DC A242000A */ sb $v0, 0xa($s2)
/* 0C11E0 800C05E0 0C02FC42 */ jal m64_read_u8
/* 0C11E4 800C05E4 02202025 */ move $a0, $s1
/* 0C11E8 800C05E8 A2420004 */ sb $v0, 4($s2)
/* 0C11EC 800C05EC 0C02FC42 */ jal m64_read_u8
/* 0C11F0 800C05F0 02202025 */ move $a0, $s1
/* 0C11F4 800C05F4 924C0001 */ lbu $t4, 1($s2)
/* 0C11F8 800C05F8 A2420007 */ sb $v0, 7($s2)
/* 0C11FC 800C05FC 358B0020 */ ori $t3, $t4, 0x20
/* 0C1200 800C0600 1000FE0F */ b .L800BFE40
/* 0C1204 800C0604 A24B0001 */ sb $t3, 1($s2)
glabel L800C0608
/* 0C1208 800C0608 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C120C 800C060C 44815000 */ mtc1 $at, $f10
/* 0C1210 800C0610 A6400012 */ sh $zero, 0x12($s2)
/* 0C1214 800C0614 A640000E */ sh $zero, 0xe($s2)
/* 0C1218 800C0618 A6400016 */ sh $zero, 0x16($s2)
/* 0C121C 800C061C A6400010 */ sh $zero, 0x10($s2)
/* 0C1220 800C0620 A640000C */ sh $zero, 0xc($s2)
/* 0C1224 800C0624 A6400014 */ sh $zero, 0x14($s2)
/* 0C1228 800C0628 1000FE05 */ b .L800BFE40
/* 0C122C 800C062C E64A0030 */ swc1 $f10, 0x30($s2)
glabel L800C0630
/* 0C1230 800C0630 0C02FC42 */ jal m64_read_u8
/* 0C1234 800C0634 02202025 */ move $a0, $s1
/* 0C1238 800C0638 1000FE01 */ b .L800BFE40
/* 0C123C 800C063C A2420005 */ sb $v0, 5($s2)
glabel L800C0640
/* 0C1240 800C0640 0C02FC47 */ jal m64_read_s16
/* 0C1244 800C0644 02202025 */ move $a0, $s1
/* 0C1248 800C0648 0C02FC42 */ jal m64_read_u8
/* 0C124C 800C064C 02202025 */ move $a0, $s1
/* 0C1250 800C0650 1000FDFB */ b .L800BFE40
/* 0C1254 800C0654 00000000 */ nop
.L800C0658:
/* 0C1258 800C0658 306E00F0 */ andi $t6, $v1, 0xf0
/* 0C125C 800C065C 3064000F */ andi $a0, $v1, 0xf
/* 0C1260 800C0660 2DC100B1 */ sltiu $at, $t6, 0xb1
/* 0C1264 800C0664 1020FDF6 */ beqz $at, .L800BFE40
/* 0C1268 800C0668 308800FF */ andi $t0, $a0, 0xff
/* 0C126C 800C066C 000E7080 */ sll $t6, $t6, 2
/* 0C1270 800C0670 3C01800F */ lui $at, %hi(jpt_800F308C)
/* 0C1274 800C0674 002E0821 */ addu $at, $at, $t6
/* 0C1278 800C0678 8C2E308C */ lw $t6, %lo(jpt_800F308C)($at)
/* 0C127C 800C067C 01C00008 */ jr $t6
/* 0C1280 800C0680 00000000 */ nop
glabel L800C0684
/* 0C1284 800C0684 308F00FF */ andi $t7, $a0, 0xff
/* 0C1288 800C0688 000FC880 */ sll $t9, $t7, 2
/* 0C128C 800C068C 02596821 */ addu $t5, $s2, $t9
/* 0C1290 800C0690 8DA30048 */ lw $v1, 0x48($t5)
/* 0C1294 800C0694 10600007 */ beqz $v1, .L800C06B4
/* 0C1298 800C0698 00000000 */ nop
/* 0C129C 800C069C 8C730000 */ lw $s3, ($v1)
/* 0C12A0 800C06A0 0013C040 */ sll $t8, $s3, 1
/* 0C12A4 800C06A4 001857C2 */ srl $t2, $t8, 0x1f
/* 0C12A8 800C06A8 000A4E00 */ sll $t1, $t2, 0x18
/* 0C12AC 800C06AC 1000FDE4 */ b .L800BFE40
/* 0C12B0 800C06B0 00099E03 */ sra $s3, $t1, 0x18
.L800C06B4:
/* 0C12B4 800C06B4 1000FDE2 */ b .L800BFE40
/* 0C12B8 800C06B8 2413FFFF */ li $s3, -1
glabel L800C06BC
/* 0C12BC 800C06BC 308B00FF */ andi $t3, $a0, 0xff
/* 0C12C0 800C06C0 024B7021 */ addu $t6, $s2, $t3
/* 0C12C4 800C06C4 1000FDDE */ b .L800BFE40
/* 0C12C8 800C06C8 A1D30058 */ sb $s3, 0x58($t6)
glabel L800C06CC
/* 0C12CC 800C06CC 308300FF */ andi $v1, $a0, 0xff
/* 0C12D0 800C06D0 02432821 */ addu $a1, $s2, $v1
/* 0C12D4 800C06D4 28610004 */ slti $at, $v1, 4
/* 0C12D8 800C06D8 1020FDD9 */ beqz $at, .L800BFE40
/* 0C12DC 800C06DC 80B30058 */ lb $s3, 0x58($a1)
/* 0C12E0 800C06E0 240FFFFF */ li $t7, -1
/* 0C12E4 800C06E4 1000FDD6 */ b .L800BFE40
/* 0C12E8 800C06E8 A0AF0058 */ sb $t7, 0x58($a1)
glabel L800C06EC
/* 0C12EC 800C06EC 309900FF */ andi $t9, $a0, 0xff
/* 0C12F0 800C06F0 02596821 */ addu $t5, $s2, $t9
/* 0C12F4 800C06F4 81B80058 */ lb $t8, 0x58($t5)
/* 0C12F8 800C06F8 02789823 */ subu $s3, $s3, $t8
/* 0C12FC 800C06FC 00135600 */ sll $t2, $s3, 0x18
/* 0C1300 800C0700 1000FDCF */ b .L800BFE40
/* 0C1304 800C0704 000A9E03 */ sra $s3, $t2, 0x18
glabel L800C0708
/* 0C1308 800C0708 308C00FF */ andi $t4, $a0, 0xff
/* 0C130C 800C070C 1000005C */ b .L800C0880
/* 0C1310 800C0710 A64C001A */ sh $t4, 0x1a($s2)
glabel L800C0714
/* 0C1314 800C0714 0C02FC47 */ jal m64_read_s16
/* 0C1318 800C0718 02202025 */ move $a0, $s1
/* 0C131C 800C071C 02003025 */ move $a2, $s0
/* 0C1320 800C0720 30C5000F */ andi $a1, $a2, 0xf
/* 0C1324 800C0724 00A03025 */ move $a2, $a1
/* 0C1328 800C0728 AFA50034 */ sw $a1, 0x34($sp)
/* 0C132C 800C072C 02402025 */ move $a0, $s2
/* 0C1330 800C0730 0C02FA84 */ jal seq_channel_set_layer
/* 0C1334 800C0734 A7A20052 */ sh $v0, 0x52($sp)
/* 0C1338 800C0738 8FA60034 */ lw $a2, 0x34($sp)
/* 0C133C 800C073C 1440FDC0 */ bnez $v0, .L800BFE40
/* 0C1340 800C0740 97A70052 */ lhu $a3, 0x52($sp)
/* 0C1344 800C0744 8E8E0014 */ lw $t6, 0x14($s4)
/* 0C1348 800C0748 0006C880 */ sll $t9, $a2, 2
/* 0C134C 800C074C 02596821 */ addu $t5, $s2, $t9
/* 0C1350 800C0750 8DB80048 */ lw $t8, 0x48($t5)
/* 0C1354 800C0754 01C77821 */ addu $t7, $t6, $a3
/* 0C1358 800C0758 1000FDB9 */ b .L800BFE40
/* 0C135C 800C075C AF0F0050 */ sw $t7, 0x50($t8)
glabel L800C0760
/* 0C1360 800C0760 02002825 */ move $a1, $s0
/* 0C1364 800C0764 30AA000F */ andi $t2, $a1, 0xf
/* 0C1368 800C0768 01402825 */ move $a1, $t2
/* 0C136C 800C076C 0C02FAD5 */ jal seq_channel_layer_free
/* 0C1370 800C0770 02402025 */ move $a0, $s2
/* 0C1374 800C0774 1000FDB2 */ b .L800BFE40
/* 0C1378 800C0778 00000000 */ nop
glabel L800C077C
/* 0C137C 800C077C 2401FFFF */ li $at, -1
/* 0C1380 800C0780 1261FDAF */ beq $s3, $at, .L800BFE40
/* 0C1384 800C0784 02402025 */ move $a0, $s2
/* 0C1388 800C0788 02003025 */ move $a2, $s0
/* 0C138C 800C078C 30C5000F */ andi $a1, $a2, 0xf
/* 0C1390 800C0790 00A03025 */ move $a2, $a1
/* 0C1394 800C0794 0C02FA84 */ jal seq_channel_set_layer
/* 0C1398 800C0798 AFA50034 */ sw $a1, 0x34($sp)
/* 0C139C 800C079C 2401FFFF */ li $at, -1
/* 0C13A0 800C07A0 1041FDA7 */ beq $v0, $at, .L800BFE40
/* 0C13A4 800C07A4 8FA60034 */ lw $a2, 0x34($sp)
/* 0C13A8 800C07A8 8E4C0034 */ lw $t4, 0x34($s2)
/* 0C13AC 800C07AC 00135840 */ sll $t3, $s3, 1
/* 0C13B0 800C07B0 8E980014 */ lw $t8, 0x14($s4)
/* 0C13B4 800C07B4 018B1821 */ addu $v1, $t4, $t3
/* 0C13B8 800C07B8 90790000 */ lbu $t9, ($v1)
/* 0C13BC 800C07BC 906E0001 */ lbu $t6, 1($v1)
/* 0C13C0 800C07C0 00064880 */ sll $t1, $a2, 2
/* 0C13C4 800C07C4 00196A00 */ sll $t5, $t9, 8
/* 0C13C8 800C07C8 02496021 */ addu $t4, $s2, $t1
/* 0C13CC 800C07CC 01CD3821 */ addu $a3, $t6, $t5
/* 0C13D0 800C07D0 8D8B0048 */ lw $t3, 0x48($t4)
/* 0C13D4 800C07D4 30EFFFFF */ andi $t7, $a3, 0xffff
/* 0C13D8 800C07D8 030F5021 */ addu $t2, $t8, $t7
/* 0C13DC 800C07DC 1000FD98 */ b .L800BFE40
/* 0C13E0 800C07E0 AD6A0050 */ sw $t2, 0x50($t3)
glabel L800C07E4
/* 0C13E4 800C07E4 0C02FC47 */ jal m64_read_s16
/* 0C13E8 800C07E8 02202025 */ move $a0, $s1
/* 0C13EC 800C07EC 8E8E0014 */ lw $t6, 0x14($s4)
/* 0C13F0 800C07F0 02002825 */ move $a1, $s0
/* 0C13F4 800C07F4 30B9000F */ andi $t9, $a1, 0xf
/* 0C13F8 800C07F8 304DFFFF */ andi $t5, $v0, 0xffff
/* 0C13FC 800C07FC 03202825 */ move $a1, $t9
/* 0C1400 800C0800 02802025 */ move $a0, $s4
/* 0C1404 800C0804 0C02FBA2 */ jal sequence_channel_enable
/* 0C1408 800C0808 01CD3021 */ addu $a2, $t6, $t5
/* 0C140C 800C080C 1000FD8C */ b .L800BFE40
/* 0C1410 800C0810 00000000 */ nop
glabel L800C0814
/* 0C1414 800C0814 3218000F */ andi $t8, $s0, 0xf
/* 0C1418 800C0818 00184880 */ sll $t1, $t8, 2
/* 0C141C 800C081C 02896021 */ addu $t4, $s4, $t1
/* 0C1420 800C0820 0C02FAE9 */ jal sequence_channel_disable
/* 0C1424 800C0824 8D840030 */ lw $a0, 0x30($t4)
/* 0C1428 800C0828 1000FD85 */ b .L800BFE40
/* 0C142C 800C082C 00000000 */ nop
glabel L800C0830
/* 0C1430 800C0830 02202025 */ move $a0, $s1
/* 0C1434 800C0834 0C02FC42 */ jal m64_read_u8
/* 0C1438 800C0838 A3A80055 */ sb $t0, 0x55($sp)
/* 0C143C 800C083C 93A80055 */ lbu $t0, 0x55($sp)
/* 0C1440 800C0840 00085080 */ sll $t2, $t0, 2
/* 0C1444 800C0844 028A5821 */ addu $t3, $s4, $t2
/* 0C1448 800C0848 8D790030 */ lw $t9, 0x30($t3)
/* 0C144C 800C084C 03227021 */ addu $t6, $t9, $v0
/* 0C1450 800C0850 1000FD7B */ b .L800BFE40
/* 0C1454 800C0854 A1D30058 */ sb $s3, 0x58($t6)
glabel L800C0858
/* 0C1458 800C0858 02202025 */ move $a0, $s1
/* 0C145C 800C085C 0C02FC42 */ jal m64_read_u8
/* 0C1460 800C0860 A3A80055 */ sb $t0, 0x55($sp)
/* 0C1464 800C0864 93A80055 */ lbu $t0, 0x55($sp)
/* 0C1468 800C0868 00086880 */ sll $t5, $t0, 2
/* 0C146C 800C086C 028D7821 */ addu $t7, $s4, $t5
/* 0C1470 800C0870 8DF80030 */ lw $t8, 0x30($t7)
/* 0C1474 800C0874 03024821 */ addu $t1, $t8, $v0
/* 0C1478 800C0878 1000FD71 */ b .L800BFE40
/* 0C147C 800C087C 81330058 */ lb $s3, 0x58($t1)
.L800C0880:
glabel L800C0880
/* 0C1480 800C0880 02408825 */ move $s1, $s2
.L800C0884:
/* 0C1484 800C0884 24120010 */ li $s2, 16
/* 0C1488 800C0888 00008025 */ move $s0, $zero
.L800C088C:
/* 0C148C 800C088C 8E240048 */ lw $a0, 0x48($s1)
/* 0C1490 800C0890 50800004 */ beql $a0, $zero, .L800C08A4
/* 0C1494 800C0894 26100004 */ addiu $s0, $s0, 4
/* 0C1498 800C0898 0C02FC64 */ jal seq_channel_layer_process_script
/* 0C149C 800C089C 00000000 */ nop
/* 0C14A0 800C08A0 26100004 */ addiu $s0, $s0, 4
.L800C08A4:
/* 0C14A4 800C08A4 1612FFF9 */ bne $s0, $s2, .L800C088C
/* 0C14A8 800C08A8 26310004 */ addiu $s1, $s1, 4
.L800C08AC:
/* 0C14AC 800C08AC 8FBF002C */ lw $ra, 0x2c($sp)
.L800C08B0:
/* 0C14B0 800C08B0 8FB00018 */ lw $s0, 0x18($sp)
/* 0C14B4 800C08B4 8FB1001C */ lw $s1, 0x1c($sp)
/* 0C14B8 800C08B8 8FB20020 */ lw $s2, 0x20($sp)
/* 0C14BC 800C08BC 8FB30024 */ lw $s3, 0x24($sp)
/* 0C14C0 800C08C0 8FB40028 */ lw $s4, 0x28($sp)
/* 0C14C4 800C08C4 03E00008 */ jr $ra
/* 0C14C8 800C08C8 27BD0060 */ addiu $sp, $sp, 0x60