mirror of https://github.com/zeldaret/oot.git
125 lines
5.8 KiB
ArmAsm
125 lines
5.8 KiB
ArmAsm
glabel func_800F574C
|
|
/* B6C8EC 800F574C 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
|
/* B6C8F0 800F5750 44812000 */ mtc1 $at, $f4
|
|
/* B6C8F4 800F5754 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* B6C8F8 800F5758 AFA5002C */ sw $a1, 0x2c($sp)
|
|
/* B6C8FC 800F575C 46046032 */ c.eq.s $f12, $f4
|
|
/* B6C900 800F5760 30A600FF */ andi $a2, $a1, 0xff
|
|
/* B6C904 800F5764 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* B6C908 800F5768 00C02825 */ move $a1, $a2
|
|
/* B6C90C 800F576C 45000035 */ bc1f .L800F5844
|
|
/* B6C910 800F5770 3C0142C8 */ lui $at, 0x42c8
|
|
/* B6C914 800F5774 3C01B000 */ lui $at, (0xB0004000 >> 16) # lui $at, 0xb000
|
|
/* B6C918 800F5778 34214000 */ ori $at, (0xB0004000 & 0xFFFF) # ori $at, $at, 0x4000
|
|
/* B6C91C 800F577C 00062400 */ sll $a0, $a2, 0x10
|
|
/* B6C920 800F5780 00812025 */ or $a0, $a0, $at
|
|
/* B6C924 800F5784 AFA60024 */ sw $a2, 0x24($sp)
|
|
/* B6C928 800F5788 0C03E803 */ jal Audio_SetBGM
|
|
/* B6C92C 800F578C E7AC0028 */ swc1 $f12, 0x28($sp)
|
|
/* B6C930 800F5790 3C0142C8 */ li $at, 0x42C80000 # 0.000000
|
|
/* B6C934 800F5794 44813000 */ mtc1 $at, $f6
|
|
/* B6C938 800F5798 C7AC0028 */ lwc1 $f12, 0x28($sp)
|
|
/* B6C93C 800F579C 24030001 */ li $v1, 1
|
|
/* B6C940 800F57A0 8FA50024 */ lw $a1, 0x24($sp)
|
|
/* B6C944 800F57A4 46066202 */ mul.s $f8, $f12, $f6
|
|
/* B6C948 800F57A8 3C014F00 */ li $at, 0x4F000000 # 0.000000
|
|
/* B6C94C 800F57AC 00051200 */ sll $v0, $a1, 8
|
|
/* B6C950 800F57B0 444EF800 */ cfc1 $t6, $31
|
|
/* B6C954 800F57B4 44C3F800 */ ctc1 $v1, $31
|
|
/* B6C958 800F57B8 00000000 */ nop
|
|
/* B6C95C 800F57BC 460042A4 */ cvt.w.s $f10, $f8
|
|
/* B6C960 800F57C0 4443F800 */ cfc1 $v1, $31
|
|
/* B6C964 800F57C4 00000000 */ nop
|
|
/* B6C968 800F57C8 30630078 */ andi $v1, $v1, 0x78
|
|
/* B6C96C 800F57CC 50600017 */ beql $v1, $zero, .L800F582C
|
|
/* B6C970 800F57D0 44035000 */ mfc1 $v1, $f10
|
|
/* B6C974 800F57D4 44815000 */ mtc1 $at, $f10
|
|
/* B6C978 800F57D8 24030001 */ li $v1, 1
|
|
/* B6C97C 800F57DC 460A4281 */ sub.s $f10, $f8, $f10
|
|
/* B6C980 800F57E0 44C3F800 */ ctc1 $v1, $31
|
|
/* B6C984 800F57E4 00000000 */ nop
|
|
/* B6C988 800F57E8 460052A4 */ cvt.w.s $f10, $f10
|
|
/* B6C98C 800F57EC 4443F800 */ cfc1 $v1, $31
|
|
/* B6C990 800F57F0 00000000 */ nop
|
|
/* B6C994 800F57F4 30630078 */ andi $v1, $v1, 0x78
|
|
/* B6C998 800F57F8 54600008 */ bnezl $v1, .L800F581C
|
|
/* B6C99C 800F57FC 2403FFFF */ li $v1, -1
|
|
/* B6C9A0 800F5800 44035000 */ mfc1 $v1, $f10
|
|
/* B6C9A4 800F5804 3C018000 */ li $at, 0x80000000 # 0.000000
|
|
/* B6C9A8 800F5808 44CEF800 */ ctc1 $t6, $31
|
|
/* B6C9AC 800F580C 00611825 */ or $v1, $v1, $at
|
|
/* B6C9B0 800F5810 10000039 */ b .L800F58F8
|
|
/* B6C9B4 800F5814 306300FF */ andi $v1, $v1, 0xff
|
|
/* B6C9B8 800F5818 2403FFFF */ li $v1, -1
|
|
.L800F581C:
|
|
/* B6C9BC 800F581C 44CEF800 */ ctc1 $t6, $31
|
|
/* B6C9C0 800F5820 10000035 */ b .L800F58F8
|
|
/* B6C9C4 800F5824 306300FF */ andi $v1, $v1, 0xff
|
|
/* B6C9C8 800F5828 44035000 */ mfc1 $v1, $f10
|
|
.L800F582C:
|
|
/* B6C9CC 800F582C 00000000 */ nop
|
|
/* B6C9D0 800F5830 0462FFFA */ bltzl $v1, .L800F581C
|
|
/* B6C9D4 800F5834 2403FFFF */ li $v1, -1
|
|
/* B6C9D8 800F5838 44CEF800 */ ctc1 $t6, $31
|
|
/* B6C9DC 800F583C 1000002E */ b .L800F58F8
|
|
/* B6C9E0 800F5840 306300FF */ andi $v1, $v1, 0xff
|
|
.L800F5844:
|
|
/* B6C9E4 800F5844 44818000 */ mtc1 $at, $f16
|
|
/* B6C9E8 800F5848 24030001 */ li $v1, 1
|
|
/* B6C9EC 800F584C 3C014F00 */ li $at, 0x4F000000 # 0.000000
|
|
/* B6C9F0 800F5850 46106482 */ mul.s $f18, $f12, $f16
|
|
/* B6C9F4 800F5854 00061200 */ sll $v0, $a2, 8
|
|
/* B6C9F8 800F5858 444FF800 */ cfc1 $t7, $31
|
|
/* B6C9FC 800F585C 44C3F800 */ ctc1 $v1, $31
|
|
/* B6CA00 800F5860 00000000 */ nop
|
|
/* B6CA04 800F5864 46009124 */ cvt.w.s $f4, $f18
|
|
/* B6CA08 800F5868 4443F800 */ cfc1 $v1, $31
|
|
/* B6CA0C 800F586C 00000000 */ nop
|
|
/* B6CA10 800F5870 30630078 */ andi $v1, $v1, 0x78
|
|
/* B6CA14 800F5874 50600013 */ beql $v1, $zero, .L800F58C4
|
|
/* B6CA18 800F5878 44032000 */ mfc1 $v1, $f4
|
|
/* B6CA1C 800F587C 44812000 */ mtc1 $at, $f4
|
|
/* B6CA20 800F5880 24030001 */ li $v1, 1
|
|
/* B6CA24 800F5884 46049101 */ sub.s $f4, $f18, $f4
|
|
/* B6CA28 800F5888 44C3F800 */ ctc1 $v1, $31
|
|
/* B6CA2C 800F588C 00000000 */ nop
|
|
/* B6CA30 800F5890 46002124 */ cvt.w.s $f4, $f4
|
|
/* B6CA34 800F5894 4443F800 */ cfc1 $v1, $31
|
|
/* B6CA38 800F5898 00000000 */ nop
|
|
/* B6CA3C 800F589C 30630078 */ andi $v1, $v1, 0x78
|
|
/* B6CA40 800F58A0 14600005 */ bnez $v1, .L800F58B8
|
|
/* B6CA44 800F58A4 00000000 */ nop
|
|
/* B6CA48 800F58A8 44032000 */ mfc1 $v1, $f4
|
|
/* B6CA4C 800F58AC 3C018000 */ lui $at, 0x8000
|
|
/* B6CA50 800F58B0 10000007 */ b .L800F58D0
|
|
/* B6CA54 800F58B4 00611825 */ or $v1, $v1, $at
|
|
.L800F58B8:
|
|
/* B6CA58 800F58B8 10000005 */ b .L800F58D0
|
|
/* B6CA5C 800F58BC 2403FFFF */ li $v1, -1
|
|
/* B6CA60 800F58C0 44032000 */ mfc1 $v1, $f4
|
|
.L800F58C4:
|
|
/* B6CA64 800F58C4 00000000 */ nop
|
|
/* B6CA68 800F58C8 0460FFFB */ bltz $v1, .L800F58B8
|
|
/* B6CA6C 800F58CC 00000000 */ nop
|
|
.L800F58D0:
|
|
/* B6CA70 800F58D0 3C01C130 */ lui $at, 0xc130
|
|
/* B6CA74 800F58D4 0041C025 */ or $t8, $v0, $at
|
|
/* B6CA78 800F58D8 44CFF800 */ ctc1 $t7, $31
|
|
/* B6CA7C 800F58DC 306300FF */ andi $v1, $v1, 0xff
|
|
/* B6CA80 800F58E0 03032025 */ or $a0, $t8, $v1
|
|
/* B6CA84 800F58E4 AFA3001C */ sw $v1, 0x1c($sp)
|
|
/* B6CA88 800F58E8 0C03E803 */ jal Audio_SetBGM
|
|
/* B6CA8C 800F58EC AFA20020 */ sw $v0, 0x20($sp)
|
|
/* B6CA90 800F58F0 8FA20020 */ lw $v0, 0x20($sp)
|
|
/* B6CA94 800F58F4 8FA3001C */ lw $v1, 0x1c($sp)
|
|
.L800F58F8:
|
|
/* B6CA98 800F58F8 3C01C1A0 */ lui $at, 0xc1a0
|
|
/* B6CA9C 800F58FC 0041C825 */ or $t9, $v0, $at
|
|
/* B6CAA0 800F5900 0C03E803 */ jal Audio_SetBGM
|
|
/* B6CAA4 800F5904 03232025 */ or $a0, $t9, $v1
|
|
/* B6CAA8 800F5908 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* B6CAAC 800F590C 27BD0028 */ addiu $sp, $sp, 0x28
|
|
/* B6CAB0 800F5910 03E00008 */ jr $ra
|
|
/* B6CAB4 800F5914 00000000 */ nop
|
|
|