mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-11-26 22:13:01 +00:00
954 lines
38 KiB
ArmAsm
954 lines
38 KiB
ArmAsm
.late_rodata
|
|
.late_rodata_alignment 8
|
|
glabel jtbl_80337D08 # US: 80338EC0
|
|
.word L8031C430
|
|
.word L8031C3DC
|
|
.word L8031C44C
|
|
.word L8031C45C
|
|
.word L8031C3F8
|
|
.word L8031C6C8
|
|
.word L8031C724
|
|
.word L8031C75C
|
|
.word L8031C75C
|
|
.word L8031C7A8
|
|
.word L8031C7B8
|
|
.word L8031C75C
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C7D8
|
|
.word L8031C7FC
|
|
.word L8031C80C
|
|
.word L8031C508
|
|
.word L8031C6B8
|
|
.word L8031C1CC
|
|
.word L8031C698
|
|
.word L8031C600
|
|
.word L8031C5E4
|
|
.word L8031C5D4
|
|
.word L8031C5B8
|
|
.word L8031C5A0
|
|
.word L8031C568
|
|
.word L8031C530
|
|
.word L8031C4C0
|
|
.word L8031C46C
|
|
.word L8031C488
|
|
.word L8031C650
|
|
.word L8031C61C
|
|
.word L8031C684
|
|
.word L8031C820
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C3CC
|
|
.word L8031C3A4
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C34C
|
|
.word L8031C33C
|
|
.word L8031C2F4
|
|
.word L8031C2BC
|
|
.word L8031C34C
|
|
.word L8031C34C
|
|
.word L8031C34C
|
|
.word L8031C280
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
|
|
glabel jtbl_80337E04 # US: 80338FBC
|
|
.word L8031C89C
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C9E4
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031CA14
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031CA30
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031CA58
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C8F8
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C9DC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C8CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C8DC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C914
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C960
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C1CC
|
|
.word L8031C97C
|
|
|
|
.text
|
|
glabel sequence_channel_process_script
|
|
/* 0D7104 8031C104 27BDFF98 */ addiu $sp, $sp, -0x68
|
|
/* 0D7108 8031C108 AFBF0034 */ sw $ra, 0x34($sp)
|
|
/* 0D710C 8031C10C AFB50030 */ sw $s5, 0x30($sp)
|
|
/* 0D7110 8031C110 AFB4002C */ sw $s4, 0x2c($sp)
|
|
/* 0D7114 8031C114 AFB30028 */ sw $s3, 0x28($sp)
|
|
/* 0D7118 8031C118 AFB20024 */ sw $s2, 0x24($sp)
|
|
/* 0D711C 8031C11C AFB10020 */ sw $s1, 0x20($sp)
|
|
/* 0D7120 8031C120 AFB0001C */ sw $s0, 0x1c($sp)
|
|
/* 0D7124 8031C124 F7B40010 */ sdc1 $f20, 0x10($sp)
|
|
/* 0D7128 8031C128 8C820000 */ lw $v0, ($a0)
|
|
/* 0D712C 8031C12C 00809025 */ move $s2, $a0
|
|
/* 0D7130 8031C130 000277C2 */ srl $t6, $v0, 0x1f
|
|
/* 0D7134 8031C134 11C0025D */ beqz $t6, .L8031CAAC
|
|
/* 0D7138 8031C138 0002C080 */ sll $t8, $v0, 2
|
|
/* 0D713C 8031C13C 0701000D */ bgez $t8, .L8031C174
|
|
/* 0D7140 8031C140 00008025 */ move $s0, $zero
|
|
/* 0D7144 8031C144 00808825 */ move $s1, $a0
|
|
/* 0D7148 8031C148 24120010 */ li $s2, 16
|
|
.L8031C14C:
|
|
/* 0D714C 8031C14C 8E240044 */ lw $a0, 0x44($s1)
|
|
/* 0D7150 8031C150 50800004 */ beql $a0, $zero, .L8031C164
|
|
/* 0D7154 8031C154 26100004 */ addiu $s0, $s0, 4
|
|
/* 0D7158 8031C158 0C0C6C29 */ jal seq_channel_layer_process_script
|
|
/* 0D715C 8031C15C 00000000 */ nop
|
|
/* 0D7160 8031C160 26100004 */ addiu $s0, $s0, 4
|
|
.L8031C164:
|
|
/* 0D7164 8031C164 1612FFF9 */ bne $s0, $s2, .L8031C14C
|
|
/* 0D7168 8031C168 26310004 */ addiu $s1, $s1, 4
|
|
/* 0D716C 8031C16C 10000250 */ b .L8031CAB0
|
|
/* 0D7170 8031C170 8FBF0034 */ lw $ra, 0x34($sp)
|
|
.L8031C174:
|
|
/* 0D7174 8031C174 8E540040 */ lw $s4, 0x40($s2)
|
|
/* 0D7178 8031C178 8E990000 */ lw $t9, ($s4)
|
|
/* 0D717C 8031C17C 00195080 */ sll $t2, $t9, 2
|
|
/* 0D7180 8031C180 05430006 */ bgezl $t2, .L8031C19C
|
|
/* 0D7184 8031C184 96430016 */ lhu $v1, 0x16($s2)
|
|
/* 0D7188 8031C188 924B0002 */ lbu $t3, 2($s2)
|
|
/* 0D718C 8031C18C 316C0080 */ andi $t4, $t3, 0x80
|
|
/* 0D7190 8031C190 55800247 */ bnezl $t4, .L8031CAB0
|
|
/* 0D7194 8031C194 8FBF0034 */ lw $ra, 0x34($sp)
|
|
/* 0D7198 8031C198 96430016 */ lhu $v1, 0x16($s2)
|
|
.L8031C19C:
|
|
/* 0D719C 8031C19C 2650005C */ addiu $s0, $s2, 0x5c
|
|
/* 0D71A0 8031C1A0 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 0D71A4 8031C1A4 10600004 */ beqz $v1, .L8031C1B8
|
|
/* 0D71A8 8031C1A8 00601025 */ move $v0, $v1
|
|
/* 0D71AC 8031C1AC 246DFFFF */ addiu $t5, $v1, -1
|
|
/* 0D71B0 8031C1B0 A64D0016 */ sh $t5, 0x16($s2)
|
|
/* 0D71B4 8031C1B4 31A2FFFF */ andi $v0, $t5, 0xffff
|
|
.L8031C1B8:
|
|
/* 0D71B8 8031C1B8 14400231 */ bnez $v0, .L8031CA80
|
|
/* 0D71BC 8031C1BC 2415FFFF */ li $s5, -1
|
|
/* 0D71C0 8031C1C0 4481A800 */ mtc1 $at, $f21
|
|
/* 0D71C4 8031C1C4 4480A000 */ mtc1 $zero, $f20
|
|
/* 0D71C8 8031C1C8 83B30053 */ lb $s3, 0x53($sp)
|
|
.L8031C1CC:
|
|
glabel L8031C1CC
|
|
/* 0D71CC 8031C1CC 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D71D0 8031C1D0 02002025 */ move $a0, $s0
|
|
/* 0D71D4 8031C1D4 240100FF */ li $at, 255
|
|
/* 0D71D8 8031C1D8 305100FF */ andi $s1, $v0, 0xff
|
|
/* 0D71DC 8031C1DC 1441000E */ bne $v0, $at, .L8031C218
|
|
/* 0D71E0 8031C1E0 00401825 */ move $v1, $v0
|
|
/* 0D71E4 8031C1E4 92040018 */ lbu $a0, 0x18($s0)
|
|
/* 0D71E8 8031C1E8 14800005 */ bnez $a0, .L8031C200
|
|
/* 0D71EC 8031C1EC 248EFFFF */ addiu $t6, $a0, -1
|
|
/* 0D71F0 8031C1F0 0C0C6AB4 */ jal sequence_channel_disable
|
|
/* 0D71F4 8031C1F4 02402025 */ move $a0, $s2
|
|
/* 0D71F8 8031C1F8 10000222 */ b .L8031CA84
|
|
/* 0D71FC 8031C1FC 02408825 */ move $s1, $s2
|
|
.L8031C200:
|
|
/* 0D7200 8031C200 31CF00FF */ andi $t7, $t6, 0xff
|
|
/* 0D7204 8031C204 000FC080 */ sll $t8, $t7, 2
|
|
/* 0D7208 8031C208 0218C821 */ addu $t9, $s0, $t8
|
|
/* 0D720C 8031C20C A20E0018 */ sb $t6, 0x18($s0)
|
|
/* 0D7210 8031C210 8F290004 */ lw $t1, 4($t9)
|
|
/* 0D7214 8031C214 AE090000 */ sw $t1, ($s0)
|
|
.L8031C218:
|
|
/* 0D7218 8031C218 240100FE */ li $at, 254
|
|
/* 0D721C 8031C21C 10610218 */ beq $v1, $at, .L8031CA80
|
|
/* 0D7220 8031C220 240100FD */ li $at, 253
|
|
/* 0D7224 8031C224 14610005 */ bne $v1, $at, .L8031C23C
|
|
/* 0D7228 8031C228 307900F0 */ andi $t9, $v1, 0xf0
|
|
/* 0D722C 8031C22C 0C0C6C18 */ jal m64_read_compressed_u16
|
|
/* 0D7230 8031C230 02002025 */ move $a0, $s0
|
|
/* 0D7234 8031C234 10000212 */ b .L8031CA80
|
|
/* 0D7238 8031C238 A6420016 */ sh $v0, 0x16($s2)
|
|
.L8031C23C:
|
|
/* 0D723C 8031C23C 240100F3 */ li $at, 243
|
|
/* 0D7240 8031C240 14610005 */ bne $v1, $at, .L8031C258
|
|
/* 0D7244 8031C244 246DFF3F */ addiu $t5, $v1, -0xc1
|
|
/* 0D7248 8031C248 924B0000 */ lbu $t3, ($s2)
|
|
/* 0D724C 8031C24C 356C0020 */ ori $t4, $t3, 0x20
|
|
/* 0D7250 8031C250 1000020B */ b .L8031CA80
|
|
/* 0D7254 8031C254 A24C0000 */ sb $t4, ($s2)
|
|
.L8031C258:
|
|
/* 0D7258 8031C258 286100C1 */ slti $at, $v1, 0xc1
|
|
/* 0D725C 8031C25C 14200185 */ bnez $at, .L8031C874
|
|
/* 0D7260 8031C260 2DA1003F */ sltiu $at, $t5, 0x3f
|
|
/* 0D7264 8031C264 1020FFD9 */ beqz $at, .L8031C1CC
|
|
/* 0D7268 8031C268 000D6880 */ sll $t5, $t5, 2
|
|
/* 0D726C 8031C26C 3C018033 */ lui $at, %hi(jtbl_80337D08)
|
|
/* 0D7270 8031C270 002D0821 */ addu $at, $at, $t5
|
|
/* 0D7274 8031C274 8C2D7D08 */ lw $t5, %lo(jtbl_80337D08)($at)
|
|
/* 0D7278 8031C278 01A00008 */ jr $t5
|
|
/* 0D727C 8031C27C 00000000 */ nop
|
|
glabel L8031C280
|
|
/* 0D7280 8031C280 0C0C6C0C */ jal m64_read_s16
|
|
/* 0D7284 8031C284 02002025 */ move $a0, $s0
|
|
/* 0D7288 8031C288 920E0018 */ lbu $t6, 0x18($s0)
|
|
/* 0D728C 8031C28C 8E180000 */ lw $t8, ($s0)
|
|
/* 0D7290 8031C290 304CFFFF */ andi $t4, $v0, 0xffff
|
|
/* 0D7294 8031C294 25CF0001 */ addiu $t7, $t6, 1
|
|
/* 0D7298 8031C298 31F900FF */ andi $t9, $t7, 0xff
|
|
/* 0D729C 8031C29C 00194880 */ sll $t1, $t9, 2
|
|
/* 0D72A0 8031C2A0 02095021 */ addu $t2, $s0, $t1
|
|
/* 0D72A4 8031C2A4 A20F0018 */ sb $t7, 0x18($s0)
|
|
/* 0D72A8 8031C2A8 AD580000 */ sw $t8, ($t2)
|
|
/* 0D72AC 8031C2AC 8E8B0014 */ lw $t3, 0x14($s4)
|
|
/* 0D72B0 8031C2B0 016C6821 */ addu $t5, $t3, $t4
|
|
/* 0D72B4 8031C2B4 1000FFC5 */ b .L8031C1CC
|
|
/* 0D72B8 8031C2B8 AE0D0000 */ sw $t5, ($s0)
|
|
glabel L8031C2BC
|
|
/* 0D72BC 8031C2BC 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D72C0 8031C2C0 02002025 */ move $a0, $s0
|
|
/* 0D72C4 8031C2C4 920E0018 */ lbu $t6, 0x18($s0)
|
|
/* 0D72C8 8031C2C8 020E7821 */ addu $t7, $s0, $t6
|
|
/* 0D72CC 8031C2CC A1E20014 */ sb $v0, 0x14($t7)
|
|
/* 0D72D0 8031C2D0 92190018 */ lbu $t9, 0x18($s0)
|
|
/* 0D72D4 8031C2D4 8E180000 */ lw $t8, ($s0)
|
|
/* 0D72D8 8031C2D8 27290001 */ addiu $t1, $t9, 1
|
|
/* 0D72DC 8031C2DC 312A00FF */ andi $t2, $t1, 0xff
|
|
/* 0D72E0 8031C2E0 000A5880 */ sll $t3, $t2, 2
|
|
/* 0D72E4 8031C2E4 020B6021 */ addu $t4, $s0, $t3
|
|
/* 0D72E8 8031C2E8 A2090018 */ sb $t1, 0x18($s0)
|
|
/* 0D72EC 8031C2EC 1000FFB7 */ b .L8031C1CC
|
|
/* 0D72F0 8031C2F0 AD980000 */ sw $t8, ($t4)
|
|
glabel L8031C2F4
|
|
/* 0D72F4 8031C2F4 920D0018 */ lbu $t5, 0x18($s0)
|
|
/* 0D72F8 8031C2F8 020D1021 */ addu $v0, $s0, $t5
|
|
/* 0D72FC 8031C2FC 904E0013 */ lbu $t6, 0x13($v0)
|
|
/* 0D7300 8031C300 25CFFFFF */ addiu $t7, $t6, -1
|
|
/* 0D7304 8031C304 A04F0013 */ sb $t7, 0x13($v0)
|
|
/* 0D7308 8031C308 92040018 */ lbu $a0, 0x18($s0)
|
|
/* 0D730C 8031C30C 0204C821 */ addu $t9, $s0, $a0
|
|
/* 0D7310 8031C310 93290013 */ lbu $t1, 0x13($t9)
|
|
/* 0D7314 8031C314 00801825 */ move $v1, $a0
|
|
/* 0D7318 8031C318 00035080 */ sll $t2, $v1, 2
|
|
/* 0D731C 8031C31C 11200005 */ beqz $t1, .L8031C334
|
|
/* 0D7320 8031C320 248CFFFF */ addiu $t4, $a0, -1
|
|
/* 0D7324 8031C324 020A5821 */ addu $t3, $s0, $t2
|
|
/* 0D7328 8031C328 8D780000 */ lw $t8, ($t3)
|
|
/* 0D732C 8031C32C 1000FFA7 */ b .L8031C1CC
|
|
/* 0D7330 8031C330 AE180000 */ sw $t8, ($s0)
|
|
.L8031C334:
|
|
/* 0D7334 8031C334 1000FFA5 */ b .L8031C1CC
|
|
/* 0D7338 8031C338 A20C0018 */ sb $t4, 0x18($s0)
|
|
glabel L8031C33C
|
|
/* 0D733C 8031C33C 920D0018 */ lbu $t5, 0x18($s0)
|
|
/* 0D7340 8031C340 25AEFFFF */ addiu $t6, $t5, -1
|
|
/* 0D7344 8031C344 1000FFA1 */ b .L8031C1CC
|
|
/* 0D7348 8031C348 A20E0018 */ sb $t6, 0x18($s0)
|
|
glabel L8031C34C
|
|
/* 0D734C 8031C34C 0C0C6C0C */ jal m64_read_s16
|
|
/* 0D7350 8031C350 02002025 */ move $a0, $s0
|
|
/* 0D7354 8031C354 240100FA */ li $at, 250
|
|
/* 0D7358 8031C358 16210003 */ bne $s1, $at, .L8031C368
|
|
/* 0D735C 8031C35C 02201825 */ move $v1, $s1
|
|
/* 0D7360 8031C360 1660FF9A */ bnez $s3, .L8031C1CC
|
|
/* 0D7364 8031C364 00000000 */ nop
|
|
.L8031C368:
|
|
/* 0D7368 8031C368 240100F9 */ li $at, 249
|
|
/* 0D736C 8031C36C 54610004 */ bnel $v1, $at, .L8031C380
|
|
/* 0D7370 8031C370 240100F5 */ li $at, 245
|
|
/* 0D7374 8031C374 0661FF95 */ bgez $s3, .L8031C1CC
|
|
/* 0D7378 8031C378 00000000 */ nop
|
|
/* 0D737C 8031C37C 240100F5 */ li $at, 245
|
|
.L8031C380:
|
|
/* 0D7380 8031C380 54610004 */ bnel $v1, $at, .L8031C394
|
|
/* 0D7384 8031C384 8E8F0014 */ lw $t7, 0x14($s4)
|
|
/* 0D7388 8031C388 0660FF90 */ bltz $s3, .L8031C1CC
|
|
/* 0D738C 8031C38C 00000000 */ nop
|
|
/* 0D7390 8031C390 8E8F0014 */ lw $t7, 0x14($s4)
|
|
.L8031C394:
|
|
/* 0D7394 8031C394 3059FFFF */ andi $t9, $v0, 0xffff
|
|
/* 0D7398 8031C398 01F94821 */ addu $t1, $t7, $t9
|
|
/* 0D739C 8031C39C 1000FF8B */ b .L8031C1CC
|
|
/* 0D73A0 8031C3A0 AE090000 */ sw $t1, ($s0)
|
|
glabel L8031C3A4
|
|
/* 0D73A4 8031C3A4 26510080 */ addiu $s1, $s2, 0x80
|
|
/* 0D73A8 8031C3A8 0C0C64BF */ jal note_pool_clear
|
|
/* 0D73AC 8031C3AC 02202025 */ move $a0, $s1
|
|
/* 0D73B0 8031C3B0 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D73B4 8031C3B4 02002025 */ move $a0, $s0
|
|
/* 0D73B8 8031C3B8 02202025 */ move $a0, $s1
|
|
/* 0D73BC 8031C3BC 0C0C650A */ jal note_pool_fill
|
|
/* 0D73C0 8031C3C0 00402825 */ move $a1, $v0
|
|
/* 0D73C4 8031C3C4 1000FF81 */ b .L8031C1CC
|
|
/* 0D73C8 8031C3C8 00000000 */ nop
|
|
glabel L8031C3CC
|
|
/* 0D73CC 8031C3CC 0C0C64BF */ jal note_pool_clear
|
|
/* 0D73D0 8031C3D0 26440080 */ addiu $a0, $s2, 0x80
|
|
/* 0D73D4 8031C3D4 1000FF7D */ b .L8031C1CC
|
|
/* 0D73D8 8031C3D8 00000000 */ nop
|
|
glabel L8031C3DC
|
|
/* 0D73DC 8031C3DC 0C0C6C0C */ jal m64_read_s16
|
|
/* 0D73E0 8031C3E0 02002025 */ move $a0, $s0
|
|
/* 0D73E4 8031C3E4 8E8A0014 */ lw $t2, 0x14($s4)
|
|
/* 0D73E8 8031C3E8 304BFFFF */ andi $t3, $v0, 0xffff
|
|
/* 0D73EC 8031C3EC 014BC021 */ addu $t8, $t2, $t3
|
|
/* 0D73F0 8031C3F0 1000FF76 */ b .L8031C1CC
|
|
/* 0D73F4 8031C3F4 AE580030 */ sw $t8, 0x30($s2)
|
|
glabel L8031C3F8
|
|
/* 0D73F8 8031C3F8 1275FF74 */ beq $s3, $s5, .L8031C1CC
|
|
/* 0D73FC 8031C3FC 00000000 */ nop
|
|
/* 0D7400 8031C400 8E4C0030 */ lw $t4, 0x30($s2)
|
|
/* 0D7404 8031C404 00136840 */ sll $t5, $s3, 1
|
|
/* 0D7408 8031C408 8E8A0014 */ lw $t2, 0x14($s4)
|
|
/* 0D740C 8031C40C 018D1021 */ addu $v0, $t4, $t5
|
|
/* 0D7410 8031C410 904F0000 */ lbu $t7, ($v0)
|
|
/* 0D7414 8031C414 904E0001 */ lbu $t6, 1($v0)
|
|
/* 0D7418 8031C418 000FCA00 */ sll $t9, $t7, 8
|
|
/* 0D741C 8031C41C 01D93821 */ addu $a3, $t6, $t9
|
|
/* 0D7420 8031C420 30E9FFFF */ andi $t1, $a3, 0xffff
|
|
/* 0D7424 8031C424 01495821 */ addu $t3, $t2, $t1
|
|
/* 0D7428 8031C428 1000FF68 */ b .L8031C1CC
|
|
/* 0D742C 8031C42C AE4B0030 */ sw $t3, 0x30($s2)
|
|
glabel L8031C430
|
|
/* 0D7430 8031C430 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D7434 8031C434 02002025 */ move $a0, $s0
|
|
/* 0D7438 8031C438 02402025 */ move $a0, $s2
|
|
/* 0D743C 8031C43C 0C0C700C */ jal set_instrument
|
|
/* 0D7440 8031C440 304500FF */ andi $a1, $v0, 0xff
|
|
/* 0D7444 8031C444 1000FF61 */ b .L8031C1CC
|
|
/* 0D7448 8031C448 00000000 */ nop
|
|
glabel L8031C44C
|
|
/* 0D744C 8031C44C 92580000 */ lbu $t8, ($s2)
|
|
/* 0D7450 8031C450 330CFFFD */ andi $t4, $t8, 0xfffd
|
|
/* 0D7454 8031C454 1000FF5D */ b .L8031C1CC
|
|
/* 0D7458 8031C458 A24C0000 */ sb $t4, ($s2)
|
|
glabel L8031C45C
|
|
/* 0D745C 8031C45C 924F0000 */ lbu $t7, ($s2)
|
|
/* 0D7460 8031C460 35EE0002 */ ori $t6, $t7, 2
|
|
/* 0D7464 8031C464 1000FF59 */ b .L8031C1CC
|
|
/* 0D7468 8031C468 A24E0000 */ sb $t6, ($s2)
|
|
glabel L8031C46C
|
|
/* 0D746C 8031C46C 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D7470 8031C470 02002025 */ move $a0, $s0
|
|
/* 0D7474 8031C474 02402025 */ move $a0, $s2
|
|
/* 0D7478 8031C478 0C0C7031 */ jal sequence_channel_set_volume
|
|
/* 0D747C 8031C47C 304500FF */ andi $a1, $v0, 0xff
|
|
/* 0D7480 8031C480 1000FF52 */ b .L8031C1CC
|
|
/* 0D7484 8031C484 00000000 */ nop
|
|
glabel L8031C488
|
|
/* 0D7488 8031C488 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D748C 8031C48C 02002025 */ move $a0, $s0
|
|
/* 0D7490 8031C490 44822000 */ mtc1 $v0, $f4
|
|
/* 0D7494 8031C494 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
|
/* 0D7498 8031C498 04410004 */ bgez $v0, .L8031C4AC
|
|
/* 0D749C 8031C49C 468021A0 */ cvt.s.w $f6, $f4
|
|
/* 0D74A0 8031C4A0 44814000 */ mtc1 $at, $f8
|
|
/* 0D74A4 8031C4A4 00000000 */ nop
|
|
/* 0D74A8 8031C4A8 46083180 */ add.s $f6, $f6, $f8
|
|
.L8031C4AC:
|
|
/* 0D74AC 8031C4AC 460032A1 */ cvt.d.s $f10, $f6
|
|
/* 0D74B0 8031C4B0 46345402 */ mul.d $f16, $f10, $f20
|
|
/* 0D74B4 8031C4B4 462084A0 */ cvt.s.d $f18, $f16
|
|
/* 0D74B8 8031C4B8 1000FF44 */ b .L8031C1CC
|
|
/* 0D74BC 8031C4BC E652001C */ swc1 $f18, 0x1c($s2)
|
|
glabel L8031C4C0
|
|
/* 0D74C0 8031C4C0 0C0C6C0C */ jal m64_read_s16
|
|
/* 0D74C4 8031C4C4 02002025 */ move $a0, $s0
|
|
/* 0D74C8 8031C4C8 3059FFFF */ andi $t9, $v0, 0xffff
|
|
/* 0D74CC 8031C4CC 44992000 */ mtc1 $t9, $f4
|
|
/* 0D74D0 8031C4D0 44808000 */ mtc1 $zero, $f16
|
|
/* 0D74D4 8031C4D4 07210005 */ bgez $t9, .L8031C4EC
|
|
/* 0D74D8 8031C4D8 46802220 */ cvt.s.w $f8, $f4
|
|
/* 0D74DC 8031C4DC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
|
/* 0D74E0 8031C4E0 44813000 */ mtc1 $at, $f6
|
|
/* 0D74E4 8031C4E4 00000000 */ nop
|
|
/* 0D74E8 8031C4E8 46064200 */ add.s $f8, $f8, $f6
|
|
.L8031C4EC:
|
|
/* 0D74EC 8031C4EC 3C0140E0 */ li $at, 0x40E00000 # 7.000000
|
|
/* 0D74F0 8031C4F0 44818800 */ mtc1 $at, $f17
|
|
/* 0D74F4 8031C4F4 460042A1 */ cvt.d.s $f10, $f8
|
|
/* 0D74F8 8031C4F8 46305483 */ div.d $f18, $f10, $f16
|
|
/* 0D74FC 8031C4FC 46209120 */ cvt.s.d $f4, $f18
|
|
/* 0D7500 8031C500 1000FF32 */ b .L8031C1CC
|
|
/* 0D7504 8031C504 E644002C */ swc1 $f4, 0x2c($s2)
|
|
glabel L8031C508
|
|
/* 0D7508 8031C508 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D750C 8031C50C 02002025 */ move $a0, $s0
|
|
/* 0D7510 8031C510 2449007F */ addiu $t1, $v0, 0x7f
|
|
/* 0D7514 8031C514 312A00FF */ andi $t2, $t1, 0xff
|
|
/* 0D7518 8031C518 000A5880 */ sll $t3, $t2, 2
|
|
/* 0D751C 8031C51C 3C018033 */ lui $at, %hi(gPitchBendFrequencyScale)
|
|
/* 0D7520 8031C520 002B0821 */ addu $at, $at, $t3
|
|
/* 0D7524 8031C524 C4262488 */ lwc1 $f6, %lo(gPitchBendFrequencyScale)($at)
|
|
/* 0D7528 8031C528 1000FF28 */ b .L8031C1CC
|
|
/* 0D752C 8031C52C E646002C */ swc1 $f6, 0x2c($s2)
|
|
glabel L8031C530
|
|
/* 0D7530 8031C530 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D7534 8031C534 02002025 */ move $a0, $s0
|
|
/* 0D7538 8031C538 44824000 */ mtc1 $v0, $f8
|
|
/* 0D753C 8031C53C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
|
/* 0D7540 8031C540 04410004 */ bgez $v0, .L8031C554
|
|
/* 0D7544 8031C544 468042A0 */ cvt.s.w $f10, $f8
|
|
/* 0D7548 8031C548 44818000 */ mtc1 $at, $f16
|
|
/* 0D754C 8031C54C 00000000 */ nop
|
|
/* 0D7550 8031C550 46105280 */ add.s $f10, $f10, $f16
|
|
.L8031C554:
|
|
/* 0D7554 8031C554 460054A1 */ cvt.d.s $f18, $f10
|
|
/* 0D7558 8031C558 46349102 */ mul.d $f4, $f18, $f20
|
|
/* 0D755C 8031C55C 462021A0 */ cvt.s.d $f6, $f4
|
|
/* 0D7560 8031C560 1000FF1A */ b .L8031C1CC
|
|
/* 0D7564 8031C564 E6460024 */ swc1 $f6, 0x24($s2)
|
|
glabel L8031C568
|
|
/* 0D7568 8031C568 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D756C 8031C56C 02002025 */ move $a0, $s0
|
|
/* 0D7570 8031C570 44824000 */ mtc1 $v0, $f8
|
|
/* 0D7574 8031C574 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
|
/* 0D7578 8031C578 04410004 */ bgez $v0, .L8031C58C
|
|
/* 0D757C 8031C57C 46804420 */ cvt.s.w $f16, $f8
|
|
/* 0D7580 8031C580 44815000 */ mtc1 $at, $f10
|
|
/* 0D7584 8031C584 00000000 */ nop
|
|
/* 0D7588 8031C588 460A8400 */ add.s $f16, $f16, $f10
|
|
.L8031C58C:
|
|
/* 0D758C 8031C58C 460084A1 */ cvt.d.s $f18, $f16
|
|
/* 0D7590 8031C590 46349102 */ mul.d $f4, $f18, $f20
|
|
/* 0D7594 8031C594 462021A0 */ cvt.s.d $f6, $f4
|
|
/* 0D7598 8031C598 1000FF0C */ b .L8031C1CC
|
|
/* 0D759C 8031C59C E6460028 */ swc1 $f6, 0x28($s2)
|
|
glabel L8031C5A0
|
|
/* 0D75A0 8031C5A0 8E020000 */ lw $v0, ($s0)
|
|
/* 0D75A4 8031C5A4 80430000 */ lb $v1, ($v0)
|
|
/* 0D75A8 8031C5A8 24580001 */ addiu $t8, $v0, 1
|
|
/* 0D75AC 8031C5AC AE180000 */ sw $t8, ($s0)
|
|
/* 0D75B0 8031C5B0 1000FF06 */ b .L8031C1CC
|
|
/* 0D75B4 8031C5B4 A643001A */ sh $v1, 0x1a($s2)
|
|
glabel L8031C5B8
|
|
/* 0D75B8 8031C5B8 0C0C6C0C */ jal m64_read_s16
|
|
/* 0D75BC 8031C5BC 02002025 */ move $a0, $s0
|
|
/* 0D75C0 8031C5C0 8E8C0014 */ lw $t4, 0x14($s4)
|
|
/* 0D75C4 8031C5C4 304DFFFF */ andi $t5, $v0, 0xffff
|
|
/* 0D75C8 8031C5C8 018D7821 */ addu $t7, $t4, $t5
|
|
/* 0D75CC 8031C5CC 1000FEFF */ b .L8031C1CC
|
|
/* 0D75D0 8031C5D0 AE4F007C */ sw $t7, 0x7c($s2)
|
|
glabel L8031C5D4
|
|
/* 0D75D4 8031C5D4 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D75D8 8031C5D8 02002025 */ move $a0, $s0
|
|
/* 0D75DC 8031C5DC 1000FEFB */ b .L8031C1CC
|
|
/* 0D75E0 8031C5E0 A2420078 */ sb $v0, 0x78($s2)
|
|
glabel L8031C5E4
|
|
/* 0D75E4 8031C5E4 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D75E8 8031C5E8 02002025 */ move $a0, $s0
|
|
/* 0D75EC 8031C5EC 000270C0 */ sll $t6, $v0, 3
|
|
/* 0D75F0 8031C5F0 A64E000E */ sh $t6, 0xe($s2)
|
|
/* 0D75F4 8031C5F4 A640000A */ sh $zero, 0xa($s2)
|
|
/* 0D75F8 8031C5F8 1000FEF4 */ b .L8031C1CC
|
|
/* 0D75FC 8031C5FC A6400012 */ sh $zero, 0x12($s2)
|
|
glabel L8031C600
|
|
/* 0D7600 8031C600 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D7604 8031C604 02002025 */ move $a0, $s0
|
|
/* 0D7608 8031C608 00021940 */ sll $v1, $v0, 5
|
|
/* 0D760C 8031C60C A643000C */ sh $v1, 0xc($s2)
|
|
/* 0D7610 8031C610 A6430008 */ sh $v1, 8($s2)
|
|
/* 0D7614 8031C614 1000FEED */ b .L8031C1CC
|
|
/* 0D7618 8031C618 A6400010 */ sh $zero, 0x10($s2)
|
|
glabel L8031C61C
|
|
/* 0D761C 8031C61C 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D7620 8031C620 02002025 */ move $a0, $s0
|
|
/* 0D7624 8031C624 0002C8C0 */ sll $t9, $v0, 3
|
|
/* 0D7628 8031C628 A659000A */ sh $t9, 0xa($s2)
|
|
/* 0D762C 8031C62C 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D7630 8031C630 02002025 */ move $a0, $s0
|
|
/* 0D7634 8031C634 000248C0 */ sll $t1, $v0, 3
|
|
/* 0D7638 8031C638 A649000E */ sh $t1, 0xe($s2)
|
|
/* 0D763C 8031C63C 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D7640 8031C640 02002025 */ move $a0, $s0
|
|
/* 0D7644 8031C644 00025100 */ sll $t2, $v0, 4
|
|
/* 0D7648 8031C648 1000FEE0 */ b .L8031C1CC
|
|
/* 0D764C 8031C64C A64A0012 */ sh $t2, 0x12($s2)
|
|
glabel L8031C650
|
|
/* 0D7650 8031C650 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D7654 8031C654 02002025 */ move $a0, $s0
|
|
/* 0D7658 8031C658 00025940 */ sll $t3, $v0, 5
|
|
/* 0D765C 8031C65C A64B0008 */ sh $t3, 8($s2)
|
|
/* 0D7660 8031C660 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D7664 8031C664 02002025 */ move $a0, $s0
|
|
/* 0D7668 8031C668 0002C140 */ sll $t8, $v0, 5
|
|
/* 0D766C 8031C66C A658000C */ sh $t8, 0xc($s2)
|
|
/* 0D7670 8031C670 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D7674 8031C674 02002025 */ move $a0, $s0
|
|
/* 0D7678 8031C678 00026100 */ sll $t4, $v0, 4
|
|
/* 0D767C 8031C67C 1000FED3 */ b .L8031C1CC
|
|
/* 0D7680 8031C680 A64C0010 */ sh $t4, 0x10($s2)
|
|
glabel L8031C684
|
|
/* 0D7684 8031C684 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D7688 8031C688 02002025 */ move $a0, $s0
|
|
/* 0D768C 8031C68C 00026900 */ sll $t5, $v0, 4
|
|
/* 0D7690 8031C690 1000FECE */ b .L8031C1CC
|
|
/* 0D7694 8031C694 A64D0014 */ sh $t5, 0x14($s2)
|
|
glabel L8031C698
|
|
/* 0D7698 8031C698 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D769C 8031C69C 02002025 */ move $a0, $s0
|
|
/* 0D76A0 8031C6A0 14400003 */ bnez $v0, .L8031C6B0
|
|
/* 0D76A4 8031C6A4 305100FF */ andi $s1, $v0, 0xff
|
|
/* 0D76A8 8031C6A8 3C118022 */ lui $s1, %hi(gAudioUpdatesPerFrame) # $s1, 0x8022
|
|
/* 0D76AC 8031C6AC 92316D7E */ lbu $s1, %lo(gAudioUpdatesPerFrame)($s1)
|
|
.L8031C6B0:
|
|
/* 0D76B0 8031C6B0 1000FEC6 */ b .L8031C1CC
|
|
/* 0D76B4 8031C6B4 A2510006 */ sb $s1, 6($s2)
|
|
glabel L8031C6B8
|
|
/* 0D76B8 8031C6B8 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D76BC 8031C6BC 02002025 */ move $a0, $s0
|
|
/* 0D76C0 8031C6C0 1000FEC2 */ b .L8031C1CC
|
|
/* 0D76C4 8031C6C4 A2420003 */ sb $v0, 3($s2)
|
|
glabel L8031C6C8
|
|
/* 0D76C8 8031C6C8 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D76CC 8031C6CC 02002025 */ move $a0, $s0
|
|
/* 0D76D0 8031C6D0 928F0005 */ lbu $t7, 5($s4)
|
|
/* 0D76D4 8031C6D4 3C038022 */ lui $v1, %hi(gAlBankSets) # $v1, 0x8022
|
|
/* 0D76D8 8031C6D8 8C636D58 */ lw $v1, %lo(gAlBankSets)($v1)
|
|
/* 0D76DC 8031C6DC 000F7040 */ sll $t6, $t7, 1
|
|
/* 0D76E0 8031C6E0 3C048022 */ lui $a0, %hi(gBankLoadedPool) # $a0, 0x8022
|
|
/* 0D76E4 8031C6E4 006EC821 */ addu $t9, $v1, $t6
|
|
/* 0D76E8 8031C6E8 97270000 */ lhu $a3, ($t9)
|
|
/* 0D76EC 8031C6EC 248414F8 */ addiu $a0, %lo(gBankLoadedPool) # addiu $a0, $a0, 0x14f8
|
|
/* 0D76F0 8031C6F0 24050002 */ li $a1, 2
|
|
/* 0D76F4 8031C6F4 00E34821 */ addu $t1, $a3, $v1
|
|
/* 0D76F8 8031C6F8 91280000 */ lbu $t0, ($t1)
|
|
/* 0D76FC 8031C6FC 00E85021 */ addu $t2, $a3, $t0
|
|
/* 0D7700 8031C700 01425823 */ subu $t3, $t2, $v0
|
|
/* 0D7704 8031C704 0163C021 */ addu $t8, $t3, $v1
|
|
/* 0D7708 8031C708 93110000 */ lbu $s1, ($t8)
|
|
/* 0D770C 8031C70C 0C0C5A03 */ jal get_bank_or_seq
|
|
/* 0D7710 8031C710 02203025 */ move $a2, $s1
|
|
/* 0D7714 8031C714 1040FEAD */ beqz $v0, .L8031C1CC
|
|
/* 0D7718 8031C718 00000000 */ nop
|
|
/* 0D771C 8031C71C 1000FEAB */ b .L8031C1CC
|
|
/* 0D7720 8031C720 A2510005 */ sb $s1, 5($s2)
|
|
glabel L8031C724
|
|
/* 0D7724 8031C724 326C00FF */ andi $t4, $s3, 0xff
|
|
/* 0D7728 8031C728 AFAC0038 */ sw $t4, 0x38($sp)
|
|
/* 0D772C 8031C72C 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D7730 8031C730 02002025 */ move $a0, $s0
|
|
/* 0D7734 8031C734 305100FF */ andi $s1, $v0, 0xff
|
|
/* 0D7738 8031C738 0C0C6C0C */ jal m64_read_s16
|
|
/* 0D773C 8031C73C 02002025 */ move $a0, $s0
|
|
/* 0D7740 8031C740 8E8D0014 */ lw $t5, 0x14($s4)
|
|
/* 0D7744 8031C744 8FAE0038 */ lw $t6, 0x38($sp)
|
|
/* 0D7748 8031C748 304FFFFF */ andi $t7, $v0, 0xffff
|
|
/* 0D774C 8031C74C 01AF1821 */ addu $v1, $t5, $t7
|
|
/* 0D7750 8031C750 01D1C821 */ addu $t9, $t6, $s1
|
|
/* 0D7754 8031C754 1000FE9D */ b .L8031C1CC
|
|
/* 0D7758 8031C758 A0790000 */ sb $t9, ($v1)
|
|
glabel L8031C75C
|
|
/* 0D775C 8031C75C 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D7760 8031C760 02002025 */ move $a0, $s0
|
|
/* 0D7764 8031C764 240100C8 */ li $at, 200
|
|
/* 0D7768 8031C768 16210005 */ bne $s1, $at, .L8031C780
|
|
/* 0D776C 8031C76C 02201825 */ move $v1, $s1
|
|
/* 0D7770 8031C770 02629823 */ subu $s3, $s3, $v0
|
|
/* 0D7774 8031C774 00135E00 */ sll $t3, $s3, 0x18
|
|
/* 0D7778 8031C778 1000FE94 */ b .L8031C1CC
|
|
/* 0D777C 8031C77C 000B9E03 */ sra $s3, $t3, 0x18
|
|
.L8031C780:
|
|
/* 0D7780 8031C780 240100CC */ li $at, 204
|
|
/* 0D7784 8031C784 14610005 */ bne $v1, $at, .L8031C79C
|
|
/* 0D7788 8031C788 02629824 */ and $s3, $s3, $v0
|
|
/* 0D778C 8031C78C 00029E00 */ sll $s3, $v0, 0x18
|
|
/* 0D7790 8031C790 00136603 */ sra $t4, $s3, 0x18
|
|
/* 0D7794 8031C794 1000FE8D */ b .L8031C1CC
|
|
/* 0D7798 8031C798 01809825 */ move $s3, $t4
|
|
.L8031C79C:
|
|
/* 0D779C 8031C79C 00137600 */ sll $t6, $s3, 0x18
|
|
/* 0D77A0 8031C7A0 1000FE8A */ b .L8031C1CC
|
|
/* 0D77A4 8031C7A4 000E9E03 */ sra $s3, $t6, 0x18
|
|
glabel L8031C7A8
|
|
/* 0D77A8 8031C7A8 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D77AC 8031C7AC 02002025 */ move $a0, $s0
|
|
/* 0D77B0 8031C7B0 1000FE86 */ b .L8031C1CC
|
|
/* 0D77B4 8031C7B4 A2420002 */ sb $v0, 2($s2)
|
|
glabel L8031C7B8
|
|
/* 0D77B8 8031C7B8 0C0C6C0C */ jal m64_read_s16
|
|
/* 0D77BC 8031C7BC 02002025 */ move $a0, $s0
|
|
/* 0D77C0 8031C7C0 8E890014 */ lw $t1, 0x14($s4)
|
|
/* 0D77C4 8031C7C4 304AFFFF */ andi $t2, $v0, 0xffff
|
|
/* 0D77C8 8031C7C8 01535821 */ addu $t3, $t2, $s3
|
|
/* 0D77CC 8031C7CC 012BC021 */ addu $t8, $t1, $t3
|
|
/* 0D77D0 8031C7D0 1000FE7E */ b .L8031C1CC
|
|
/* 0D77D4 8031C7D4 83130000 */ lb $s3, ($t8)
|
|
glabel L8031C7D8
|
|
/* 0D77D8 8031C7D8 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D77DC 8031C7DC 02002025 */ move $a0, $s0
|
|
/* 0D77E0 8031C7E0 924E0000 */ lbu $t6, ($s2)
|
|
/* 0D77E4 8031C7E4 00026880 */ sll $t5, $v0, 2
|
|
/* 0D77E8 8031C7E8 31AF0004 */ andi $t7, $t5, 4
|
|
/* 0D77EC 8031C7EC 31D9FFFB */ andi $t9, $t6, 0xfffb
|
|
/* 0D77F0 8031C7F0 01F95025 */ or $t2, $t7, $t9
|
|
/* 0D77F4 8031C7F4 1000FE75 */ b .L8031C1CC
|
|
/* 0D77F8 8031C7F8 A24A0000 */ sb $t2, ($s2)
|
|
glabel L8031C7FC
|
|
/* 0D77FC 8031C7FC 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D7800 8031C800 02002025 */ move $a0, $s0
|
|
/* 0D7804 8031C804 1000FE71 */ b .L8031C1CC
|
|
/* 0D7808 8031C808 A2420001 */ sb $v0, 1($s2)
|
|
glabel L8031C80C
|
|
/* 0D780C 8031C80C 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D7810 8031C810 02002025 */ move $a0, $s0
|
|
/* 0D7814 8031C814 00024A00 */ sll $t1, $v0, 8
|
|
/* 0D7818 8031C818 1000FE6C */ b .L8031C1CC
|
|
/* 0D781C 8031C81C A649007A */ sh $t1, 0x7a($s2)
|
|
glabel L8031C820
|
|
/* 0D7820 8031C820 1275FE6A */ beq $s3, $s5, .L8031C1CC
|
|
/* 0D7824 8031C824 0013C040 */ sll $t8, $s3, 1
|
|
/* 0D7828 8031C828 920C0018 */ lbu $t4, 0x18($s0)
|
|
/* 0D782C 8031C82C 8E4B0030 */ lw $t3, 0x30($s2)
|
|
/* 0D7830 8031C830 8E0E0000 */ lw $t6, ($s0)
|
|
/* 0D7834 8031C834 258D0001 */ addiu $t5, $t4, 1
|
|
/* 0D7838 8031C838 31AF00FF */ andi $t7, $t5, 0xff
|
|
/* 0D783C 8031C83C 000FC880 */ sll $t9, $t7, 2
|
|
/* 0D7840 8031C840 02195021 */ addu $t2, $s0, $t9
|
|
/* 0D7844 8031C844 A20D0018 */ sb $t5, 0x18($s0)
|
|
/* 0D7848 8031C848 01781021 */ addu $v0, $t3, $t8
|
|
/* 0D784C 8031C84C AD4E0000 */ sw $t6, ($t2)
|
|
/* 0D7850 8031C850 904B0000 */ lbu $t3, ($v0)
|
|
/* 0D7854 8031C854 90490001 */ lbu $t1, 1($v0)
|
|
/* 0D7858 8031C858 8E8D0014 */ lw $t5, 0x14($s4)
|
|
/* 0D785C 8031C85C 000BC200 */ sll $t8, $t3, 8
|
|
/* 0D7860 8031C860 01383821 */ addu $a3, $t1, $t8
|
|
/* 0D7864 8031C864 30ECFFFF */ andi $t4, $a3, 0xffff
|
|
/* 0D7868 8031C868 01AC7821 */ addu $t7, $t5, $t4
|
|
/* 0D786C 8031C86C 1000FE57 */ b .L8031C1CC
|
|
/* 0D7870 8031C870 AE0F0000 */ sw $t7, ($s0)
|
|
.L8031C874:
|
|
/* 0D7874 8031C874 3064000F */ andi $a0, $v1, 0xf
|
|
/* 0D7878 8031C878 2F2100B1 */ sltiu $at, $t9, 0xb1
|
|
/* 0D787C 8031C87C 1020FE53 */ beqz $at, .L8031C1CC
|
|
/* 0D7880 8031C880 308800FF */ andi $t0, $a0, 0xff
|
|
/* 0D7884 8031C884 0019C880 */ sll $t9, $t9, 2
|
|
/* 0D7888 8031C888 3C018033 */ lui $at, %hi(jtbl_80337E04)
|
|
/* 0D788C 8031C88C 00390821 */ addu $at, $at, $t9
|
|
/* 0D7890 8031C890 8C397E04 */ lw $t9, %lo(jtbl_80337E04)($at)
|
|
/* 0D7894 8031C894 03200008 */ jr $t9
|
|
/* 0D7898 8031C898 00000000 */ nop
|
|
glabel L8031C89C
|
|
/* 0D789C 8031C89C 308E00FF */ andi $t6, $a0, 0xff
|
|
/* 0D78A0 8031C8A0 000E5080 */ sll $t2, $t6, 2
|
|
/* 0D78A4 8031C8A4 024A5821 */ addu $t3, $s2, $t2
|
|
/* 0D78A8 8031C8A8 8D630044 */ lw $v1, 0x44($t3)
|
|
/* 0D78AC 8031C8AC 1060FE47 */ beqz $v1, .L8031C1CC
|
|
/* 0D78B0 8031C8B0 00000000 */ nop
|
|
/* 0D78B4 8031C8B4 8C730000 */ lw $s3, ($v1)
|
|
/* 0D78B8 8031C8B8 00134840 */ sll $t1, $s3, 1
|
|
/* 0D78BC 8031C8BC 0009C7C2 */ srl $t8, $t1, 0x1f
|
|
/* 0D78C0 8031C8C0 00186600 */ sll $t4, $t8, 0x18
|
|
/* 0D78C4 8031C8C4 1000FE41 */ b .L8031C1CC
|
|
/* 0D78C8 8031C8C8 000C9E03 */ sra $s3, $t4, 0x18
|
|
glabel L8031C8CC
|
|
/* 0D78CC 8031C8CC 308F00FF */ andi $t7, $a0, 0xff
|
|
/* 0D78D0 8031C8D0 024FC821 */ addu $t9, $s2, $t7
|
|
/* 0D78D4 8031C8D4 1000FE3D */ b .L8031C1CC
|
|
/* 0D78D8 8031C8D8 A3330054 */ sb $s3, 0x54($t9)
|
|
glabel L8031C8DC
|
|
/* 0D78DC 8031C8DC 308300FF */ andi $v1, $a0, 0xff
|
|
/* 0D78E0 8031C8E0 02432821 */ addu $a1, $s2, $v1
|
|
/* 0D78E4 8031C8E4 28610004 */ slti $at, $v1, 4
|
|
/* 0D78E8 8031C8E8 1020FE38 */ beqz $at, .L8031C1CC
|
|
/* 0D78EC 8031C8EC 80B30054 */ lb $s3, 0x54($a1)
|
|
/* 0D78F0 8031C8F0 1000FE36 */ b .L8031C1CC
|
|
/* 0D78F4 8031C8F4 A0B50054 */ sb $s5, 0x54($a1)
|
|
glabel L8031C8F8
|
|
/* 0D78F8 8031C8F8 308E00FF */ andi $t6, $a0, 0xff
|
|
/* 0D78FC 8031C8FC 024E5021 */ addu $t2, $s2, $t6
|
|
/* 0D7900 8031C900 814B0054 */ lb $t3, 0x54($t2)
|
|
/* 0D7904 8031C904 026B9823 */ subu $s3, $s3, $t3
|
|
/* 0D7908 8031C908 00134E00 */ sll $t1, $s3, 0x18
|
|
/* 0D790C 8031C90C 1000FE2F */ b .L8031C1CC
|
|
/* 0D7910 8031C910 00099E03 */ sra $s3, $t1, 0x18
|
|
glabel L8031C914
|
|
/* 0D7914 8031C914 0C0C6C0C */ jal m64_read_s16
|
|
/* 0D7918 8031C918 02002025 */ move $a0, $s0
|
|
/* 0D791C 8031C91C 02201825 */ move $v1, $s1
|
|
/* 0D7920 8031C920 3065000F */ andi $a1, $v1, 0xf
|
|
/* 0D7924 8031C924 00A01825 */ move $v1, $a1
|
|
/* 0D7928 8031C928 AFA50038 */ sw $a1, 0x38($sp)
|
|
/* 0D792C 8031C92C 02402025 */ move $a0, $s2
|
|
/* 0D7930 8031C930 0C0C6A48 */ jal seq_channel_set_layer
|
|
/* 0D7934 8031C934 A7A2005A */ sh $v0, 0x5a($sp)
|
|
/* 0D7938 8031C938 8FA30038 */ lw $v1, 0x38($sp)
|
|
/* 0D793C 8031C93C 1440FE23 */ bnez $v0, .L8031C1CC
|
|
/* 0D7940 8031C940 97A7005A */ lhu $a3, 0x5a($sp)
|
|
/* 0D7944 8031C944 8E8D0014 */ lw $t5, 0x14($s4)
|
|
/* 0D7948 8031C948 0003C880 */ sll $t9, $v1, 2
|
|
/* 0D794C 8031C94C 02597021 */ addu $t6, $s2, $t9
|
|
/* 0D7950 8031C950 8DCA0044 */ lw $t2, 0x44($t6)
|
|
/* 0D7954 8031C954 01A77821 */ addu $t7, $t5, $a3
|
|
/* 0D7958 8031C958 1000FE1C */ b .L8031C1CC
|
|
/* 0D795C 8031C95C AD4F0054 */ sw $t7, 0x54($t2)
|
|
glabel L8031C960
|
|
/* 0D7960 8031C960 02202825 */ move $a1, $s1
|
|
/* 0D7964 8031C964 30AB000F */ andi $t3, $a1, 0xf
|
|
/* 0D7968 8031C968 01602825 */ move $a1, $t3
|
|
/* 0D796C 8031C96C 0C0C6A93 */ jal seq_channel_layer_free
|
|
/* 0D7970 8031C970 02402025 */ move $a0, $s2
|
|
/* 0D7974 8031C974 1000FE15 */ b .L8031C1CC
|
|
/* 0D7978 8031C978 00000000 */ nop
|
|
glabel L8031C97C
|
|
/* 0D797C 8031C97C 1275FE13 */ beq $s3, $s5, .L8031C1CC
|
|
/* 0D7980 8031C980 02402025 */ move $a0, $s2
|
|
/* 0D7984 8031C984 02201825 */ move $v1, $s1
|
|
/* 0D7988 8031C988 3065000F */ andi $a1, $v1, 0xf
|
|
/* 0D798C 8031C98C 00A01825 */ move $v1, $a1
|
|
/* 0D7990 8031C990 0C0C6A48 */ jal seq_channel_set_layer
|
|
/* 0D7994 8031C994 AFA50038 */ sw $a1, 0x38($sp)
|
|
/* 0D7998 8031C998 1055FE0C */ beq $v0, $s5, .L8031C1CC
|
|
/* 0D799C 8031C99C 8FA30038 */ lw $v1, 0x38($sp)
|
|
/* 0D79A0 8031C9A0 8E580030 */ lw $t8, 0x30($s2)
|
|
/* 0D79A4 8031C9A4 00136040 */ sll $t4, $s3, 1
|
|
/* 0D79A8 8031C9A8 8E8A0014 */ lw $t2, 0x14($s4)
|
|
/* 0D79AC 8031C9AC 030C1021 */ addu $v0, $t8, $t4
|
|
/* 0D79B0 8031C9B0 90590000 */ lbu $t9, ($v0)
|
|
/* 0D79B4 8031C9B4 904D0001 */ lbu $t5, 1($v0)
|
|
/* 0D79B8 8031C9B8 00034880 */ sll $t1, $v1, 2
|
|
/* 0D79BC 8031C9BC 00197200 */ sll $t6, $t9, 8
|
|
/* 0D79C0 8031C9C0 0249C021 */ addu $t8, $s2, $t1
|
|
/* 0D79C4 8031C9C4 01AE3821 */ addu $a3, $t5, $t6
|
|
/* 0D79C8 8031C9C8 8F0C0044 */ lw $t4, 0x44($t8)
|
|
/* 0D79CC 8031C9CC 30EFFFFF */ andi $t7, $a3, 0xffff
|
|
/* 0D79D0 8031C9D0 014F5821 */ addu $t3, $t2, $t7
|
|
/* 0D79D4 8031C9D4 1000FDFD */ b .L8031C1CC
|
|
/* 0D79D8 8031C9D8 AD8B0054 */ sw $t3, 0x54($t4)
|
|
glabel L8031C9DC
|
|
/* 0D79DC 8031C9DC 1000FDFB */ b .L8031C1CC
|
|
/* 0D79E0 8031C9E0 A2440004 */ sb $a0, 4($s2)
|
|
glabel L8031C9E4
|
|
/* 0D79E4 8031C9E4 0C0C6C0C */ jal m64_read_s16
|
|
/* 0D79E8 8031C9E8 02002025 */ move $a0, $s0
|
|
/* 0D79EC 8031C9EC 8E8D0014 */ lw $t5, 0x14($s4)
|
|
/* 0D79F0 8031C9F0 02202825 */ move $a1, $s1
|
|
/* 0D79F4 8031C9F4 30B9000F */ andi $t9, $a1, 0xf
|
|
/* 0D79F8 8031C9F8 304EFFFF */ andi $t6, $v0, 0xffff
|
|
/* 0D79FC 8031C9FC 03202825 */ move $a1, $t9
|
|
/* 0D7A00 8031CA00 02802025 */ move $a0, $s4
|
|
/* 0D7A04 8031CA04 0C0C6B60 */ jal sequence_channel_enable
|
|
/* 0D7A08 8031CA08 01AE3021 */ addu $a2, $t5, $t6
|
|
/* 0D7A0C 8031CA0C 1000FDEF */ b .L8031C1CC
|
|
/* 0D7A10 8031CA10 00000000 */ nop
|
|
glabel L8031CA14
|
|
/* 0D7A14 8031CA14 322A000F */ andi $t2, $s1, 0xf
|
|
/* 0D7A18 8031CA18 000A4880 */ sll $t1, $t2, 2
|
|
/* 0D7A1C 8031CA1C 0289C021 */ addu $t8, $s4, $t1
|
|
/* 0D7A20 8031CA20 0C0C6AB4 */ jal sequence_channel_disable
|
|
/* 0D7A24 8031CA24 8F04002C */ lw $a0, 0x2c($t8)
|
|
/* 0D7A28 8031CA28 1000FDE8 */ b .L8031C1CC
|
|
/* 0D7A2C 8031CA2C 00000000 */ nop
|
|
glabel L8031CA30
|
|
/* 0D7A30 8031CA30 02002025 */ move $a0, $s0
|
|
/* 0D7A34 8031CA34 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D7A38 8031CA38 A3A8005D */ sb $t0, 0x5d($sp)
|
|
/* 0D7A3C 8031CA3C 93A8005D */ lbu $t0, 0x5d($sp)
|
|
/* 0D7A40 8031CA40 00085880 */ sll $t3, $t0, 2
|
|
/* 0D7A44 8031CA44 028B6021 */ addu $t4, $s4, $t3
|
|
/* 0D7A48 8031CA48 8D99002C */ lw $t9, 0x2c($t4)
|
|
/* 0D7A4C 8031CA4C 03226821 */ addu $t5, $t9, $v0
|
|
/* 0D7A50 8031CA50 1000FDDE */ b .L8031C1CC
|
|
/* 0D7A54 8031CA54 A1B30054 */ sb $s3, 0x54($t5)
|
|
glabel L8031CA58
|
|
/* 0D7A58 8031CA58 02002025 */ move $a0, $s0
|
|
/* 0D7A5C 8031CA5C 0C0C6C07 */ jal m64_read_u8
|
|
/* 0D7A60 8031CA60 A3A8005D */ sb $t0, 0x5d($sp)
|
|
/* 0D7A64 8031CA64 93A8005D */ lbu $t0, 0x5d($sp)
|
|
/* 0D7A68 8031CA68 00087080 */ sll $t6, $t0, 2
|
|
/* 0D7A6C 8031CA6C 028E7821 */ addu $t7, $s4, $t6
|
|
/* 0D7A70 8031CA70 8DEA002C */ lw $t2, 0x2c($t7)
|
|
/* 0D7A74 8031CA74 01424821 */ addu $t1, $t2, $v0
|
|
/* 0D7A78 8031CA78 1000FDD4 */ b .L8031C1CC
|
|
/* 0D7A7C 8031CA7C 81330054 */ lb $s3, 0x54($t1)
|
|
.L8031CA80:
|
|
/* 0D7A80 8031CA80 02408825 */ move $s1, $s2
|
|
.L8031CA84:
|
|
/* 0D7A84 8031CA84 24120010 */ li $s2, 16
|
|
/* 0D7A88 8031CA88 00008025 */ move $s0, $zero
|
|
.L8031CA8C:
|
|
/* 0D7A8C 8031CA8C 8E240044 */ lw $a0, 0x44($s1)
|
|
/* 0D7A90 8031CA90 50800004 */ beql $a0, $zero, .L8031CAA4
|
|
/* 0D7A94 8031CA94 26100004 */ addiu $s0, $s0, 4
|
|
/* 0D7A98 8031CA98 0C0C6C29 */ jal seq_channel_layer_process_script
|
|
/* 0D7A9C 8031CA9C 00000000 */ nop
|
|
/* 0D7AA0 8031CAA0 26100004 */ addiu $s0, $s0, 4
|
|
.L8031CAA4:
|
|
/* 0D7AA4 8031CAA4 1612FFF9 */ bne $s0, $s2, .L8031CA8C
|
|
/* 0D7AA8 8031CAA8 26310004 */ addiu $s1, $s1, 4
|
|
.L8031CAAC:
|
|
/* 0D7AAC 8031CAAC 8FBF0034 */ lw $ra, 0x34($sp)
|
|
.L8031CAB0:
|
|
/* 0D7AB0 8031CAB0 D7B40010 */ ldc1 $f20, 0x10($sp)
|
|
/* 0D7AB4 8031CAB4 8FB0001C */ lw $s0, 0x1c($sp)
|
|
/* 0D7AB8 8031CAB8 8FB10020 */ lw $s1, 0x20($sp)
|
|
/* 0D7ABC 8031CABC 8FB20024 */ lw $s2, 0x24($sp)
|
|
/* 0D7AC0 8031CAC0 8FB30028 */ lw $s3, 0x28($sp)
|
|
/* 0D7AC4 8031CAC4 8FB4002C */ lw $s4, 0x2c($sp)
|
|
/* 0D7AC8 8031CAC8 8FB50030 */ lw $s5, 0x30($sp)
|
|
/* 0D7ACC 8031CACC 03E00008 */ jr $ra
|
|
/* 0D7AD0 8031CAD0 27BD0068 */ addiu $sp, $sp, 0x68
|