mirror of https://github.com/zeldaret/oot.git
200 lines
9.6 KiB
ArmAsm
200 lines
9.6 KiB
ArmAsm
glabel Audio_SeqChanLayerDecayRelease
|
|
/* B5EA28 800E7888 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* B5EA2C 800E788C AFB00018 */ sw $s0, 0x18($sp)
|
|
/* B5EA30 800E7890 2408FFFF */ li $t0, -1
|
|
/* B5EA34 800E7894 00808025 */ move $s0, $a0
|
|
/* B5EA38 800E7898 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* B5EA3C 800E789C 108800AB */ beq $a0, $t0, .L800E7B4C
|
|
/* B5EA40 800E78A0 AFA5002C */ sw $a1, 0x2c($sp)
|
|
/* B5EA44 800E78A4 908E0000 */ lbu $t6, ($a0)
|
|
/* B5EA48 800E78A8 8C82002C */ lw $v0, 0x2c($a0)
|
|
/* B5EA4C 800E78AC 31CFFFF7 */ andi $t7, $t6, 0xfff7
|
|
/* B5EA50 800E78B0 104000A6 */ beqz $v0, .L800E7B4C
|
|
/* B5EA54 800E78B4 A08F0000 */ sb $t7, ($a0)
|
|
/* B5EA58 800E78B8 8C580048 */ lw $t8, 0x48($v0)
|
|
/* B5EA5C 800E78BC 00403025 */ move $a2, $v0
|
|
/* B5EA60 800E78C0 54980003 */ bnel $a0, $t8, .L800E78D0
|
|
/* B5EA64 800E78C4 8CC20044 */ lw $v0, 0x44($a2)
|
|
/* B5EA68 800E78C8 AC480048 */ sw $t0, 0x48($v0)
|
|
/* B5EA6C 800E78CC 8CC20044 */ lw $v0, 0x44($a2)
|
|
.L800E78D0:
|
|
/* B5EA70 800E78D0 52020014 */ beql $s0, $v0, .L800E7924
|
|
/* B5EA74 800E78D4 90CF0070 */ lbu $t7, 0x70($a2)
|
|
/* B5EA78 800E78D8 5502009D */ bnel $t0, $v0, .L800E7B50
|
|
/* B5EA7C 800E78DC 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* B5EA80 800E78E0 8CD90048 */ lw $t9, 0x48($a2)
|
|
/* B5EA84 800E78E4 5519009A */ bnel $t0, $t9, .L800E7B50
|
|
/* B5EA88 800E78E8 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* B5EA8C 800E78EC 8CCA0040 */ lw $t2, 0x40($a2)
|
|
/* B5EA90 800E78F0 8FAB002C */ lw $t3, 0x2c($sp)
|
|
/* B5EA94 800E78F4 160A0095 */ bne $s0, $t2, .L800E7B4C
|
|
/* B5EA98 800E78F8 24090006 */ li $t1, 6
|
|
/* B5EA9C 800E78FC 51690094 */ beql $t3, $t1, .L800E7B50
|
|
/* B5EAA0 800E7900 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* B5EAA4 800E7904 90CD0070 */ lbu $t5, 0x70($a2)
|
|
/* B5EAA8 800E7908 3C018017 */ lui $at, %hi(D_801719E4)
|
|
/* B5EAAC 800E790C C42419E4 */ lwc1 $f4, %lo(D_801719E4)($at)
|
|
/* B5EAB0 800E7910 35AE0010 */ ori $t6, $t5, 0x10
|
|
/* B5EAB4 800E7914 A0CE0070 */ sb $t6, 0x70($a2)
|
|
/* B5EAB8 800E7918 1000008C */ b .L800E7B4C
|
|
/* B5EABC 800E791C E4C4007C */ swc1 $f4, 0x7c($a2)
|
|
/* B5EAC0 800E7920 90CF0070 */ lbu $t7, 0x70($a2)
|
|
.L800E7924:
|
|
/* B5EAC4 800E7924 24090006 */ li $t1, 6
|
|
/* B5EAC8 800E7928 31F8000F */ andi $t8, $t7, 0xf
|
|
/* B5EACC 800E792C 5138007E */ beql $t1, $t8, .L800E7B28
|
|
/* B5EAD0 800E7930 8FB9002C */ lw $t9, 0x2c($sp)
|
|
/* B5EAD4 800E7934 C6060044 */ lwc1 $f6, 0x44($s0)
|
|
/* B5EAD8 800E7938 24C4004C */ addiu $a0, $a2, 0x4c
|
|
/* B5EADC 800E793C E4860008 */ swc1 $f6, 8($a0)
|
|
/* B5EAE0 800E7940 C6080040 */ lwc1 $f8, 0x40($s0)
|
|
/* B5EAE4 800E7944 E488000C */ swc1 $f8, 0xc($a0)
|
|
/* B5EAE8 800E7948 92190007 */ lbu $t9, 7($s0)
|
|
/* B5EAEC 800E794C A0990002 */ sb $t9, 2($a0)
|
|
/* B5EAF0 800E7950 8E020050 */ lw $v0, 0x50($s0)
|
|
/* B5EAF4 800E7954 5040003D */ beql $v0, $zero, .L800E7A4C
|
|
/* B5EAF8 800E7958 920D0001 */ lbu $t5, 1($s0)
|
|
/* B5EAFC 800E795C 904A0004 */ lbu $t2, 4($v0)
|
|
/* B5EB00 800E7960 00403825 */ move $a3, $v0
|
|
/* B5EB04 800E7964 00801825 */ move $v1, $a0
|
|
/* B5EB08 800E7968 A08A0000 */ sb $t2, ($a0)
|
|
/* B5EB0C 800E796C 904B000C */ lbu $t3, 0xc($v0)
|
|
/* B5EB10 800E7970 24050010 */ li $a1, 16
|
|
/* B5EB14 800E7974 A08B0001 */ sb $t3, 1($a0)
|
|
/* B5EB18 800E7978 8C4C00CC */ lw $t4, 0xcc($v0)
|
|
/* B5EB1C 800E797C 00001025 */ move $v0, $zero
|
|
/* B5EB20 800E7980 11800016 */ beqz $t4, .L800E79DC
|
|
/* B5EB24 800E7984 AC8C0010 */ sw $t4, 0x10($a0)
|
|
.L800E7988:
|
|
/* B5EB28 800E7988 8C8E0010 */ lw $t6, 0x10($a0)
|
|
/* B5EB2C 800E798C 24630008 */ addiu $v1, $v1, 8
|
|
/* B5EB30 800E7990 01C27821 */ addu $t7, $t6, $v0
|
|
/* B5EB34 800E7994 85F80000 */ lh $t8, ($t7)
|
|
/* B5EB38 800E7998 A478000C */ sh $t8, 0xc($v1)
|
|
/* B5EB3C 800E799C 8C990010 */ lw $t9, 0x10($a0)
|
|
/* B5EB40 800E79A0 03225021 */ addu $t2, $t9, $v0
|
|
/* B5EB44 800E79A4 854B0002 */ lh $t3, 2($t2)
|
|
/* B5EB48 800E79A8 A46B000E */ sh $t3, 0xe($v1)
|
|
/* B5EB4C 800E79AC 8C8C0010 */ lw $t4, 0x10($a0)
|
|
/* B5EB50 800E79B0 01826821 */ addu $t5, $t4, $v0
|
|
/* B5EB54 800E79B4 85AE0004 */ lh $t6, 4($t5)
|
|
/* B5EB58 800E79B8 A46E0010 */ sh $t6, 0x10($v1)
|
|
/* B5EB5C 800E79BC 8C8F0010 */ lw $t7, 0x10($a0)
|
|
/* B5EB60 800E79C0 01E2C021 */ addu $t8, $t7, $v0
|
|
/* B5EB64 800E79C4 87190006 */ lh $t9, 6($t8)
|
|
/* B5EB68 800E79C8 24420008 */ addiu $v0, $v0, 8
|
|
/* B5EB6C 800E79CC 1445FFEE */ bne $v0, $a1, .L800E7988
|
|
/* B5EB70 800E79D0 A4790012 */ sh $t9, 0x12($v1)
|
|
/* B5EB74 800E79D4 248A0014 */ addiu $t2, $a0, 0x14
|
|
/* B5EB78 800E79D8 AC8A0010 */ sw $t2, 0x10($a0)
|
|
.L800E79DC:
|
|
/* B5EB7C 800E79DC 94EB0020 */ lhu $t3, 0x20($a3)
|
|
/* B5EB80 800E79E0 A48B0006 */ sh $t3, 6($a0)
|
|
/* B5EB84 800E79E4 90EC000F */ lbu $t4, 0xf($a3)
|
|
/* B5EB88 800E79E8 A08C0004 */ sb $t4, 4($a0)
|
|
/* B5EB8C 800E79EC 8CED004C */ lw $t5, 0x4c($a3)
|
|
/* B5EB90 800E79F0 8DAE0000 */ lw $t6, ($t5)
|
|
/* B5EB94 800E79F4 000EC080 */ sll $t8, $t6, 2
|
|
/* B5EB98 800E79F8 07030009 */ bgezl $t8, .L800E7A20
|
|
/* B5EB9C 800E79FC 920E0001 */ lbu $t6, 1($s0)
|
|
/* B5EBA0 800E7A00 90F90003 */ lbu $t9, 3($a3)
|
|
/* B5EBA4 800E7A04 332A0008 */ andi $t2, $t9, 8
|
|
/* B5EBA8 800E7A08 51400005 */ beql $t2, $zero, .L800E7A20
|
|
/* B5EBAC 800E7A0C 920E0001 */ lbu $t6, 1($s0)
|
|
/* B5EBB0 800E7A10 90CC00C0 */ lbu $t4, 0xc0($a2)
|
|
/* B5EBB4 800E7A14 358D0020 */ ori $t5, $t4, 0x20
|
|
/* B5EBB8 800E7A18 A0CD00C0 */ sb $t5, 0xc0($a2)
|
|
/* B5EBBC 800E7A1C 920E0001 */ lbu $t6, 1($s0)
|
|
.L800E7A20:
|
|
/* B5EBC0 800E7A20 55C00005 */ bnezl $t6, .L800E7A38
|
|
/* B5EBC4 800E7A24 920A0001 */ lbu $t2, 1($s0)
|
|
/* B5EBC8 800E7A28 90F800D0 */ lbu $t8, 0xd0($a3)
|
|
/* B5EBCC 800E7A2C 10000003 */ b .L800E7A3C
|
|
/* B5EBD0 800E7A30 A0980003 */ sb $t8, 3($a0)
|
|
/* B5EBD4 800E7A34 920A0001 */ lbu $t2, 1($s0)
|
|
.L800E7A38:
|
|
/* B5EBD8 800E7A38 A08A0003 */ sb $t2, 3($a0)
|
|
.L800E7A3C:
|
|
/* B5EBDC 800E7A3C 90EB0006 */ lbu $t3, 6($a3)
|
|
/* B5EBE0 800E7A40 10000005 */ b .L800E7A58
|
|
/* B5EBE4 800E7A44 A0CB0030 */ sb $t3, 0x30($a2)
|
|
/* B5EBE8 800E7A48 920D0001 */ lbu $t5, 1($s0)
|
|
.L800E7A4C:
|
|
/* B5EBEC 800E7A4C 240E0001 */ li $t6, 1
|
|
/* B5EBF0 800E7A50 A08D0003 */ sb $t5, 3($a0)
|
|
/* B5EBF4 800E7A54 A0CE0030 */ sb $t6, 0x30($a2)
|
|
.L800E7A58:
|
|
/* B5EBF8 800E7A58 8CCF0044 */ lw $t7, 0x44($a2)
|
|
/* B5EBFC 800E7A5C ACC80044 */ sw $t0, 0x44($a2)
|
|
/* B5EC00 800E7A60 24010007 */ li $at, 7
|
|
/* B5EC04 800E7A64 ACCF0040 */ sw $t7, 0x40($a2)
|
|
/* B5EC08 800E7A68 8FB8002C */ lw $t8, 0x2c($sp)
|
|
/* B5EC0C 800E7A6C 240C0002 */ li $t4, 2
|
|
/* B5EC10 800E7A70 5701000A */ bnel $t8, $at, .L800E7A9C
|
|
/* B5EC14 800E7A74 90CF0070 */ lbu $t7, 0x70($a2)
|
|
/* B5EC18 800E7A78 90CA0070 */ lbu $t2, 0x70($a2)
|
|
/* B5EC1C 800E7A7C 3C018017 */ lui $at, %hi(D_801719E4)
|
|
/* B5EC20 800E7A80 C42A19E4 */ lwc1 $f10, %lo(D_801719E4)($at)
|
|
/* B5EC24 800E7A84 354B0010 */ ori $t3, $t2, 0x10
|
|
/* B5EC28 800E7A88 A0CB0070 */ sb $t3, 0x70($a2)
|
|
/* B5EC2C 800E7A8C A0CC0034 */ sb $t4, 0x34($a2)
|
|
/* B5EC30 800E7A90 10000024 */ b .L800E7B24
|
|
/* B5EC34 800E7A94 E4CA007C */ swc1 $f10, 0x7c($a2)
|
|
/* B5EC38 800E7A98 90CF0070 */ lbu $t7, 0x70($a2)
|
|
.L800E7A9C:
|
|
/* B5EC3C 800E7A9C 240D0001 */ li $t5, 1
|
|
/* B5EC40 800E7AA0 A0CD0034 */ sb $t5, 0x34($a2)
|
|
/* B5EC44 800E7AA4 35F80020 */ ori $t8, $t7, 0x20
|
|
/* B5EC48 800E7AA8 A0D80070 */ sb $t8, 0x70($a2)
|
|
/* B5EC4C 800E7AAC 92020018 */ lbu $v0, 0x18($s0)
|
|
/* B5EC50 800E7AB0 3C0E8017 */ lui $t6, %hi(D_801726A0) # $t6, 0x8017
|
|
/* B5EC54 800E7AB4 1440000A */ bnez $v0, .L800E7AE0
|
|
/* B5EC58 800E7AB8 00000000 */ nop
|
|
/* B5EC5C 800E7ABC 8E0A0050 */ lw $t2, 0x50($s0)
|
|
/* B5EC60 800E7AC0 3C198017 */ lui $t9, %hi(D_801726A0) # $t9, 0x8017
|
|
/* B5EC64 800E7AC4 8F3926A0 */ lw $t9, %lo(D_801726A0)($t9)
|
|
/* B5EC68 800E7AC8 914B007C */ lbu $t3, 0x7c($t2)
|
|
/* B5EC6C 800E7ACC 000B6080 */ sll $t4, $t3, 2
|
|
/* B5EC70 800E7AD0 032C6821 */ addu $t5, $t9, $t4
|
|
/* B5EC74 800E7AD4 C5B00000 */ lwc1 $f16, ($t5)
|
|
/* B5EC78 800E7AD8 10000006 */ b .L800E7AF4
|
|
/* B5EC7C 800E7ADC E4D0007C */ swc1 $f16, 0x7c($a2)
|
|
.L800E7AE0:
|
|
/* B5EC80 800E7AE0 8DCE26A0 */ lw $t6, %lo(D_801726A0)($t6)
|
|
/* B5EC84 800E7AE4 00027880 */ sll $t7, $v0, 2
|
|
/* B5EC88 800E7AE8 01CFC021 */ addu $t8, $t6, $t7
|
|
/* B5EC8C 800E7AEC C7120000 */ lwc1 $f18, ($t8)
|
|
/* B5EC90 800E7AF0 E4D2007C */ swc1 $f18, 0x7c($a2)
|
|
.L800E7AF4:
|
|
/* B5EC94 800E7AF4 8E0A0050 */ lw $t2, 0x50($s0)
|
|
/* B5EC98 800E7AF8 C4C80080 */ lwc1 $f8, 0x80($a2)
|
|
/* B5EC9C 800E7AFC 3C013B80 */ li $at, 0x3B800000 # 0.000000
|
|
/* B5ECA0 800E7B00 914B007D */ lbu $t3, 0x7d($t2)
|
|
/* B5ECA4 800E7B04 44818000 */ mtc1 $at, $f16
|
|
/* B5ECA8 800E7B08 448B2000 */ mtc1 $t3, $f4
|
|
/* B5ECAC 800E7B0C 00000000 */ nop
|
|
/* B5ECB0 800E7B10 468021A0 */ cvt.s.w $f6, $f4
|
|
/* B5ECB4 800E7B14 46083282 */ mul.s $f10, $f6, $f8
|
|
/* B5ECB8 800E7B18 00000000 */ nop
|
|
/* B5ECBC 800E7B1C 46105482 */ mul.s $f18, $f10, $f16
|
|
/* B5ECC0 800E7B20 E4D20074 */ swc1 $f18, 0x74($a2)
|
|
.L800E7B24:
|
|
/* B5ECC4 800E7B24 8FB9002C */ lw $t9, 0x2c($sp)
|
|
.L800E7B28:
|
|
/* B5ECC8 800E7B28 00C02025 */ move $a0, $a2
|
|
/* B5ECCC 800E7B2C 57290008 */ bnel $t9, $t1, .L800E7B50
|
|
/* B5ECD0 800E7B30 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* B5ECD4 800E7B34 0C03A037 */ jal Audio_AudioListRemove
|
|
/* B5ECD8 800E7B38 AFA60024 */ sw $a2, 0x24($sp)
|
|
/* B5ECDC 800E7B3C 8FA50024 */ lw $a1, 0x24($sp)
|
|
/* B5ECE0 800E7B40 8CA4000C */ lw $a0, 0xc($a1)
|
|
/* B5ECE4 800E7B44 0C03A027 */ jal Audio_AudioListPushFront
|
|
/* B5ECE8 800E7B48 24840010 */ addiu $a0, $a0, 0x10
|
|
.L800E7B4C:
|
|
/* B5ECEC 800E7B4C 8FBF001C */ lw $ra, 0x1c($sp)
|
|
.L800E7B50:
|
|
/* B5ECF0 800E7B50 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* B5ECF4 800E7B54 27BD0028 */ addiu $sp, $sp, 0x28
|
|
/* B5ECF8 800E7B58 03E00008 */ jr $ra
|
|
/* B5ECFC 800E7B5C 00000000 */ nop
|