mirror of https://github.com/zeldaret/oot.git
181 lines
9.1 KiB
ArmAsm
181 lines
9.1 KiB
ArmAsm
glabel func_800F5E90
|
|
/* B6D030 800F5E90 3C0E8013 */ lui $t6, %hi(D_80130628) # $t6, 0x8013
|
|
/* B6D034 800F5E94 95CE0628 */ lhu $t6, %lo(D_80130628)($t6)
|
|
/* B6D038 800F5E98 308500FF */ andi $a1, $a0, 0xff
|
|
/* B6D03C 800F5E9C 3C018013 */ lui $at, %hi(D_80130654) # $at, 0x8013
|
|
/* B6D040 800F5EA0 A0250654 */ sb $a1, %lo(D_80130654)($at)
|
|
/* B6D044 800F5EA4 27BDFFD0 */ addiu $sp, $sp, -0x30
|
|
/* B6D048 800F5EA8 3401FFFF */ li $at, 65535
|
|
/* B6D04C 800F5EAC AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* B6D050 800F5EB0 15C10094 */ bne $t6, $at, .L800F6104
|
|
/* B6D054 800F5EB4 AFA40030 */ sw $a0, 0x30($sp)
|
|
/* B6D058 800F5EB8 3C0F8013 */ lui $t7, %hi(D_8013060C) # $t7, 0x8013
|
|
/* B6D05C 800F5EBC 81EF060C */ lb $t7, %lo(D_8013060C)($t7)
|
|
/* B6D060 800F5EC0 3C028017 */ lui $v0, %hi(D_8016E9A4) # $v0, 0x8017
|
|
/* B6D064 800F5EC4 24040003 */ li $a0, 3
|
|
/* B6D068 800F5EC8 11E00002 */ beqz $t7, .L800F5ED4
|
|
/* B6D06C 800F5ECC 00000000 */ nop
|
|
/* B6D070 800F5ED0 24050003 */ li $a1, 3
|
|
.L800F5ED4:
|
|
/* B6D074 800F5ED4 9442E9A4 */ lhu $v0, %lo(D_8016E9A4)($v0)
|
|
/* B6D078 800F5ED8 24030002 */ li $v1, 2
|
|
/* B6D07C 800F5EDC 1462000A */ bne $v1, $v0, .L800F5F08
|
|
/* B6D080 800F5EE0 00405025 */ move $t2, $v0
|
|
/* B6D084 800F5EE4 A3A50033 */ sb $a1, 0x33($sp)
|
|
/* B6D088 800F5EE8 0C03E82D */ jal func_800FA0B4
|
|
/* B6D08C 800F5EEC AFA20024 */ sw $v0, 0x24($sp)
|
|
/* B6D090 800F5EF0 2401081A */ li $at, 2074
|
|
/* B6D094 800F5EF4 24030002 */ li $v1, 2
|
|
/* B6D098 800F5EF8 93A50033 */ lbu $a1, 0x33($sp)
|
|
/* B6D09C 800F5EFC 14410002 */ bne $v0, $at, .L800F5F08
|
|
/* B6D0A0 800F5F00 8FAA0024 */ lw $t2, 0x24($sp)
|
|
/* B6D0A4 800F5F04 24050003 */ li $a1, 3
|
|
.L800F5F08:
|
|
/* B6D0A8 800F5F08 3401FFFF */ li $at, 65535
|
|
/* B6D0AC 800F5F0C 1141000E */ beq $t2, $at, .L800F5F48
|
|
/* B6D0B0 800F5F10 315900FF */ andi $t9, $t2, 0xff
|
|
/* B6D0B4 800F5F14 3C0D8013 */ lui $t5, %hi(D_80130658)
|
|
/* B6D0B8 800F5F18 01B96821 */ addu $t5, $t5, $t9
|
|
/* B6D0BC 800F5F1C 91AD0658 */ lbu $t5, %lo(D_80130658)($t5)
|
|
/* B6D0C0 800F5F20 3C0C8013 */ lui $t4, %hi(D_8013061C) # $t4, 0x8013
|
|
/* B6D0C4 800F5F24 258C061C */ addiu $t4, %lo(D_8013061C) # addiu $t4, $t4, 0x61c
|
|
/* B6D0C8 800F5F28 31AE0001 */ andi $t6, $t5, 1
|
|
/* B6D0CC 800F5F2C 15C00006 */ bnez $t6, .L800F5F48
|
|
/* B6D0D0 800F5F30 00000000 */ nop
|
|
/* B6D0D4 800F5F34 91820000 */ lbu $v0, ($t4)
|
|
/* B6D0D8 800F5F38 240B0001 */ li $t3, 1
|
|
/* B6D0DC 800F5F3C 304F007F */ andi $t7, $v0, 0x7f
|
|
/* B6D0E0 800F5F40 156F004A */ bne $t3, $t7, .L800F606C
|
|
/* B6D0E4 800F5F44 00000000 */ nop
|
|
.L800F5F48:
|
|
/* B6D0E8 800F5F48 3C0C8013 */ lui $t4, %hi(D_8013061C) # $t4, 0x8013
|
|
/* B6D0EC 800F5F4C 258C061C */ addiu $t4, %lo(D_8013061C) # addiu $t4, $t4, 0x61c
|
|
/* B6D0F0 800F5F50 91820000 */ lbu $v0, ($t4)
|
|
/* B6D0F4 800F5F54 240B0001 */ li $t3, 1
|
|
/* B6D0F8 800F5F58 00A04825 */ move $t1, $a1
|
|
/* B6D0FC 800F5F5C 3042007F */ andi $v0, $v0, 0x7f
|
|
/* B6D100 800F5F60 50450069 */ beql $v0, $a1, .L800F6108
|
|
/* B6D104 800F5F64 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* B6D108 800F5F68 15650028 */ bne $t3, $a1, .L800F600C
|
|
/* B6D10C 800F5F6C 3C038013 */ lui $v1, %hi(D_80130624) # $v1, 0x8013
|
|
/* B6D110 800F5F70 3C188017 */ lui $t8, %hi(D_8016EE8B) # $t8, 0x8017
|
|
/* B6D114 800F5F74 9318EE8B */ lbu $t8, %lo(D_8016EE8B)($t8)
|
|
/* B6D118 800F5F78 80630624 */ lb $v1, %lo(D_80130624)($v1)
|
|
/* B6D11C 800F5F7C 24040003 */ li $a0, 3
|
|
/* B6D120 800F5F80 24050003 */ li $a1, 3
|
|
/* B6D124 800F5F84 03031023 */ subu $v0, $t8, $v1
|
|
/* B6D128 800F5F88 04410003 */ bgez $v0, .L800F5F98
|
|
/* B6D12C 800F5F8C 306600FF */ andi $a2, $v1, 0xff
|
|
/* B6D130 800F5F90 10000002 */ b .L800F5F9C
|
|
/* B6D134 800F5F94 00024023 */ negu $t0, $v0
|
|
.L800F5F98:
|
|
/* B6D138 800F5F98 00404025 */ move $t0, $v0
|
|
.L800F5F9C:
|
|
/* B6D13C 800F5F9C 310700FF */ andi $a3, $t0, 0xff
|
|
/* B6D140 800F5FA0 AFA9001C */ sw $t1, 0x1c($sp)
|
|
/* B6D144 800F5FA4 0C03E890 */ jal func_800FA240
|
|
/* B6D148 800F5FA8 AFAA0024 */ sw $t2, 0x24($sp)
|
|
/* B6D14C 800F5FAC 3C04030A */ lui $a0, (0x030A081A >> 16) # lui $a0, 0x30a
|
|
/* B6D150 800F5FB0 0C03E803 */ jal Audio_SetBGM
|
|
/* B6D154 800F5FB4 3484081A */ ori $a0, (0x030A081A & 0xFFFF) # ori $a0, $a0, 0x81a
|
|
/* B6D158 800F5FB8 8FAA0024 */ lw $t2, 0x24($sp)
|
|
/* B6D15C 800F5FBC 24010001 */ li $at, 1
|
|
/* B6D160 800F5FC0 8FA9001C */ lw $t1, 0x1c($sp)
|
|
/* B6D164 800F5FC4 1141000E */ beq $t2, $at, .L800F6000
|
|
/* B6D168 800F5FC8 00002025 */ move $a0, $zero
|
|
/* B6D16C 800F5FCC 3C198013 */ lui $t9, %hi(D_80130624) # $t9, 0x8013
|
|
/* B6D170 800F5FD0 83390624 */ lb $t9, %lo(D_80130624)($t9)
|
|
/* B6D174 800F5FD4 240D007F */ li $t5, 127
|
|
/* B6D178 800F5FD8 24050003 */ li $a1, 3
|
|
/* B6D17C 800F5FDC 01B93023 */ subu $a2, $t5, $t9
|
|
/* B6D180 800F5FE0 30C600FF */ andi $a2, $a2, 0xff
|
|
/* B6D184 800F5FE4 2407000A */ li $a3, 10
|
|
/* B6D188 800F5FE8 0C03E890 */ jal func_800FA240
|
|
/* B6D18C 800F5FEC AFA9001C */ sw $t1, 0x1c($sp)
|
|
/* B6D190 800F5FF0 3C048013 */ lui $a0, %hi(D_80130624) # $a0, 0x8013
|
|
/* B6D194 800F5FF4 0C03D443 */ jal func_800F510C
|
|
/* B6D198 800F5FF8 80840624 */ lb $a0, %lo(D_80130624)($a0)
|
|
/* B6D19C 800F5FFC 8FA9001C */ lw $t1, 0x1c($sp)
|
|
.L800F6000:
|
|
/* B6D1A0 800F6000 3C0C8013 */ lui $t4, %hi(D_8013061C) # $t4, 0x8013
|
|
/* B6D1A4 800F6004 10000016 */ b .L800F6060
|
|
/* B6D1A8 800F6008 258C061C */ addiu $t4, %lo(D_8013061C) # addiu $t4, $t4, 0x61c
|
|
.L800F600C:
|
|
/* B6D1AC 800F600C 15620014 */ bne $t3, $v0, .L800F6060
|
|
/* B6D1B0 800F6010 3C04130A */ lui $a0, (0x130A00FF >> 16) # lui $a0, 0x130a
|
|
/* B6D1B4 800F6014 348400FF */ ori $a0, (0x130A00FF & 0xFFFF) # ori $a0, $a0, 0xff
|
|
/* B6D1B8 800F6018 0C03E803 */ jal Audio_SetBGM
|
|
/* B6D1BC 800F601C AFA9001C */ sw $t1, 0x1c($sp)
|
|
/* B6D1C0 800F6020 8FA9001C */ lw $t1, 0x1c($sp)
|
|
/* B6D1C4 800F6024 24010003 */ li $at, 3
|
|
/* B6D1C8 800F6028 00002025 */ move $a0, $zero
|
|
/* B6D1CC 800F602C 15210003 */ bne $t1, $at, .L800F603C
|
|
/* B6D1D0 800F6030 24050003 */ li $a1, 3
|
|
/* B6D1D4 800F6034 10000002 */ b .L800F6040
|
|
/* B6D1D8 800F6038 00003825 */ move $a3, $zero
|
|
.L800F603C:
|
|
/* B6D1DC 800F603C 2407000A */ li $a3, 10
|
|
.L800F6040:
|
|
/* B6D1E0 800F6040 2406007F */ li $a2, 127
|
|
/* B6D1E4 800F6044 0C03E890 */ jal func_800FA240
|
|
/* B6D1E8 800F6048 AFA9001C */ sw $t1, 0x1c($sp)
|
|
/* B6D1EC 800F604C 0C03D443 */ jal func_800F510C
|
|
/* B6D1F0 800F6050 00002025 */ move $a0, $zero
|
|
/* B6D1F4 800F6054 3C0C8013 */ lui $t4, %hi(D_8013061C) # $t4, 0x8013
|
|
/* B6D1F8 800F6058 258C061C */ addiu $t4, %lo(D_8013061C) # addiu $t4, $t4, 0x61c
|
|
/* B6D1FC 800F605C 8FA9001C */ lw $t1, 0x1c($sp)
|
|
.L800F6060:
|
|
/* B6D200 800F6060 252E0080 */ addiu $t6, $t1, 0x80
|
|
/* B6D204 800F6064 10000027 */ b .L800F6104
|
|
/* B6D208 800F6068 A18E0000 */ sb $t6, ($t4)
|
|
.L800F606C:
|
|
/* B6D20C 800F606C 14A0000E */ bnez $a1, .L800F60A8
|
|
/* B6D210 800F6070 00A04825 */ move $t1, $a1
|
|
/* B6D214 800F6074 14620003 */ bne $v1, $v0, .L800F6084
|
|
/* B6D218 800F6078 3C048013 */ lui $a0, %hi(D_80130638) # $a0, 0x8013
|
|
/* B6D21C 800F607C 24840638 */ addiu $a0, %lo(D_80130638) # addiu $a0, $a0, 0x638
|
|
/* B6D220 800F6080 AC800000 */ sw $zero, ($a0)
|
|
.L800F6084:
|
|
/* B6D224 800F6084 3C048013 */ lui $a0, %hi(D_80130638) # $a0, 0x8013
|
|
/* B6D228 800F6088 24840638 */ addiu $a0, %lo(D_80130638) # addiu $a0, $a0, 0x638
|
|
/* B6D22C 800F608C 8C8F0000 */ lw $t7, ($a0)
|
|
/* B6D230 800F6090 3C028013 */ lui $v0, %hi(D_80130634) # $v0, 0x8013
|
|
/* B6D234 800F6094 24420634 */ addiu $v0, %lo(D_80130634) # addiu $v0, $v0, 0x634
|
|
/* B6D238 800F6098 25F80001 */ addiu $t8, $t7, 1
|
|
/* B6D23C 800F609C AC400000 */ sw $zero, ($v0)
|
|
/* B6D240 800F60A0 10000008 */ b .L800F60C4
|
|
/* B6D244 800F60A4 AC980000 */ sw $t8, ($a0)
|
|
.L800F60A8:
|
|
/* B6D248 800F60A8 3C028013 */ lui $v0, %hi(D_80130634) # $v0, 0x8013
|
|
/* B6D24C 800F60AC 24420634 */ addiu $v0, %lo(D_80130634) # addiu $v0, $v0, 0x634
|
|
/* B6D250 800F60B0 8C4D0000 */ lw $t5, ($v0)
|
|
/* B6D254 800F60B4 3C048013 */ lui $a0, %hi(D_80130638) # $a0, 0x8013
|
|
/* B6D258 800F60B8 24840638 */ addiu $a0, %lo(D_80130638) # addiu $a0, $a0, 0x638
|
|
/* B6D25C 800F60BC 25B90001 */ addiu $t9, $t5, 1
|
|
/* B6D260 800F60C0 AC590000 */ sw $t9, ($v0)
|
|
.L800F60C4:
|
|
/* B6D264 800F60C4 5469000C */ bnel $v1, $t1, .L800F60F8
|
|
/* B6D268 800F60C8 3C017002 */ lui $at, 0x7002
|
|
/* B6D26C 800F60CC 8C4E0000 */ lw $t6, ($v0)
|
|
/* B6D270 800F60D0 2DC1001E */ sltiu $at, $t6, 0x1e
|
|
/* B6D274 800F60D4 50200008 */ beql $at, $zero, .L800F60F8
|
|
/* B6D278 800F60D8 3C017002 */ lui $at, 0x7002
|
|
/* B6D27C 800F60DC 8C8F0000 */ lw $t7, ($a0)
|
|
/* B6D280 800F60E0 2DE10015 */ sltiu $at, $t7, 0x15
|
|
/* B6D284 800F60E4 54200004 */ bnezl $at, .L800F60F8
|
|
/* B6D288 800F60E8 3C017002 */ lui $at, 0x7002
|
|
/* B6D28C 800F60EC 00002825 */ move $a1, $zero
|
|
/* B6D290 800F60F0 00004825 */ move $t1, $zero
|
|
/* B6D294 800F60F4 3C017002 */ lui $at, 0x7002
|
|
.L800F60F8:
|
|
/* B6D298 800F60F8 A1850000 */ sb $a1, ($t4)
|
|
/* B6D29C 800F60FC 0C03E803 */ jal Audio_SetBGM
|
|
/* B6D2A0 800F6100 01212025 */ or $a0, $t1, $at
|
|
.L800F6104:
|
|
/* B6D2A4 800F6104 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L800F6108:
|
|
/* B6D2A8 800F6108 27BD0030 */ addiu $sp, $sp, 0x30
|
|
/* B6D2AC 800F610C 03E00008 */ jr $ra
|
|
/* B6D2B0 800F6110 00000000 */ nop
|
|
|