oot/asm/non_matchings/code/code_800EC960/func_800F6D58.s

81 lines
3.9 KiB
ArmAsm

glabel func_800F6D58
/* B6DEF8 800F6D58 27BDFFC0 */ addiu $sp, $sp, -0x40
/* B6DEFC 800F6D5C 3C0E8017 */ lui $t6, %hi(D_8016E9A4) # $t6, 0x8017
/* B6DF00 800F6D60 95CEE9A4 */ lhu $t6, %lo(D_8016E9A4)($t6)
/* B6DF04 800F6D64 AFB20020 */ sw $s2, 0x20($sp)
/* B6DF08 800F6D68 AFB1001C */ sw $s1, 0x1c($sp)
/* B6DF0C 800F6D6C 24010001 */ li $at, 1
/* B6DF10 800F6D70 309100FF */ andi $s1, $a0, 0xff
/* B6DF14 800F6D74 30B200FF */ andi $s2, $a1, 0xff
/* B6DF18 800F6D78 AFBF002C */ sw $ra, 0x2c($sp)
/* B6DF1C 800F6D7C AFB40028 */ sw $s4, 0x28($sp)
/* B6DF20 800F6D80 AFB30024 */ sw $s3, 0x24($sp)
/* B6DF24 800F6D84 AFB00018 */ sw $s0, 0x18($sp)
/* B6DF28 800F6D88 AFA40040 */ sw $a0, 0x40($sp)
/* B6DF2C 800F6D8C AFA50044 */ sw $a1, 0x44($sp)
/* B6DF30 800F6D90 11C1000A */ beq $t6, $at, .L800F6DBC
/* B6DF34 800F6D94 AFA60048 */ sw $a2, 0x48($sp)
/* B6DF38 800F6D98 3C05F000 */ lui $a1, (0xF00000FF >> 16) # lui $a1, 0xf000
/* B6DF3C 800F6D9C 34A500FF */ ori $a1, (0xF00000FF & 0xFFFF) # ori $a1, $a1, 0xff
/* B6DF40 800F6DA0 0C03E847 */ jal func_800FA11C
/* B6DF44 800F6DA4 24040001 */ li $a0, 1
/* B6DF48 800F6DA8 10400004 */ beqz $v0, .L800F6DBC
/* B6DF4C 800F6DAC 240F0001 */ li $t7, 1
/* B6DF50 800F6DB0 3C018013 */ lui $at, %hi(D_80131F64) # $at, 0x8013
/* B6DF54 800F6DB4 10000029 */ b .L800F6E5C
/* B6DF58 800F6DB8 A02F1F64 */ sb $t7, %lo(D_80131F64)($at)
.L800F6DBC:
/* B6DF5C 800F6DBC 0011C200 */ sll $t8, $s1, 8
/* B6DF60 800F6DC0 0312C821 */ addu $t9, $t8, $s2
/* B6DF64 800F6DC4 24010101 */ li $at, 257
/* B6DF68 800F6DC8 02208025 */ move $s0, $s1
/* B6DF6C 800F6DCC 17210009 */ bne $t9, $at, .L800F6DF4
/* B6DF70 800F6DD0 02402825 */ move $a1, $s2
/* B6DF74 800F6DD4 24040003 */ li $a0, 3
/* B6DF78 800F6DD8 0C03E82D */ jal func_800FA0B4
/* B6DF7C 800F6DDC AFB20034 */ sw $s2, 0x34($sp)
/* B6DF80 800F6DE0 2401002F */ li $at, 47
/* B6DF84 800F6DE4 10410003 */ beq $v0, $at, .L800F6DF4
/* B6DF88 800F6DE8 8FA50034 */ lw $a1, 0x34($sp)
/* B6DF8C 800F6DEC 3C018017 */ lui $at, %hi(D_8016B9D8) # $at, 0x8017
/* B6DF90 800F6DF0 A020B9D8 */ sb $zero, %lo(D_8016B9D8)($at)
.L800F6DF4:
/* B6DF94 800F6DF4 00101103 */ sra $v0, $s0, 4
/* B6DF98 800F6DF8 3204000F */ andi $a0, $s0, 0xf
/* B6DF9C 800F6DFC 304800FF */ andi $t0, $v0, 0xff
/* B6DFA0 800F6E00 304300FF */ andi $v1, $v0, 0xff
/* B6DFA4 800F6E04 15000002 */ bnez $t0, .L800F6E10
/* B6DFA8 800F6E08 308600FF */ andi $a2, $a0, 0xff
/* B6DFAC 800F6E0C 308300FF */ andi $v1, $a0, 0xff
.L800F6E10:
/* B6DFB0 800F6E10 308900FF */ andi $t1, $a0, 0xff
/* B6DFB4 800F6E14 0123082A */ slt $at, $t1, $v1
/* B6DFB8 800F6E18 14200010 */ bnez $at, .L800F6E5C
/* B6DFBC 800F6E1C 307000FF */ andi $s0, $v1, 0xff
/* B6DFC0 800F6E20 00059C00 */ sll $s3, $a1, 0x10
/* B6DFC4 800F6E24 3C018000 */ lui $at, 0x8000
/* B6DFC8 800F6E28 02619825 */ or $s3, $s3, $at
/* B6DFCC 800F6E2C 00C09025 */ move $s2, $a2
/* B6DFD0 800F6E30 02008825 */ move $s1, $s0
/* B6DFD4 800F6E34 93B4004B */ lbu $s4, 0x4b($sp)
.L800F6E38:
/* B6DFD8 800F6E38 00115200 */ sll $t2, $s1, 8
/* B6DFDC 800F6E3C 026A5825 */ or $t3, $s3, $t2
/* B6DFE0 800F6E40 0C03E803 */ jal Audio_SetBGM
/* B6DFE4 800F6E44 01742025 */ or $a0, $t3, $s4
/* B6DFE8 800F6E48 26100001 */ addiu $s0, $s0, 1
/* B6DFEC 800F6E4C 321000FF */ andi $s0, $s0, 0xff
/* B6DFF0 800F6E50 0250082A */ slt $at, $s2, $s0
/* B6DFF4 800F6E54 1020FFF8 */ beqz $at, .L800F6E38
/* B6DFF8 800F6E58 02008825 */ move $s1, $s0
.L800F6E5C:
/* B6DFFC 800F6E5C 8FBF002C */ lw $ra, 0x2c($sp)
/* B6E000 800F6E60 8FB00018 */ lw $s0, 0x18($sp)
/* B6E004 800F6E64 8FB1001C */ lw $s1, 0x1c($sp)
/* B6E008 800F6E68 8FB20020 */ lw $s2, 0x20($sp)
/* B6E00C 800F6E6C 8FB30024 */ lw $s3, 0x24($sp)
/* B6E010 800F6E70 8FB40028 */ lw $s4, 0x28($sp)
/* B6E014 800F6E74 03E00008 */ jr $ra
/* B6E018 800F6E78 27BD0040 */ addiu $sp, $sp, 0x40