mirror of
https://github.com/n64decomp/mk64
synced 2026-06-29 10:20:55 -04:00
235 lines
11 KiB
ArmAsm
235 lines
11 KiB
ArmAsm
glabel func_8028F588
|
|
/* 0F8B98 8028F588 3C02800E */ lui $v0, %hi(gActiveScreenMode) # $v0, 0x800e
|
|
/* 0F8B9C 8028F58C 8C42C52C */ lw $v0, %lo(gActiveScreenMode)($v0)
|
|
/* 0F8BA0 8028F590 3C03802C */ lui $v1, %hi(D_802BA034) # $v1, 0x802c
|
|
/* 0F8BA4 8028F594 2463A034 */ addiu $v1, %lo(D_802BA034) # addiu $v1, $v1, -0x5fcc
|
|
/* 0F8BA8 8028F598 1040000A */ beqz $v0, .L8028F5C4
|
|
/* 0F8BAC 8028F59C 3C0143A0 */ lui $at, 0x43a0
|
|
/* 0F8BB0 8028F5A0 24010001 */ li $at, 1
|
|
/* 0F8BB4 8028F5A4 10410056 */ beq $v0, $at, .L8028F700
|
|
/* 0F8BB8 8028F5A8 24010002 */ li $at, 2
|
|
/* 0F8BBC 8028F5AC 10410023 */ beq $v0, $at, .L8028F63C
|
|
/* 0F8BC0 8028F5B0 24010003 */ li $at, 3
|
|
/* 0F8BC4 8028F5B4 10410083 */ beq $v0, $at, .L8028F7C4
|
|
/* 0F8BC8 8028F5B8 00000000 */ nop
|
|
/* 0F8BCC 8028F5BC 03E00008 */ jr $ra
|
|
/* 0F8BD0 8028F5C0 00000000 */ nop
|
|
|
|
.L8028F5C4:
|
|
/* 0F8BD4 8028F5C4 44812000 */ mtc1 $at, $f4
|
|
/* 0F8BD8 8028F5C8 C4660000 */ lwc1 $f6, ($v1)
|
|
/* 0F8BDC 8028F5CC 3C04800E */ lui $a0, %hi(D_800DC5EC) # $a0, 0x800e
|
|
/* 0F8BE0 8028F5D0 2484C5EC */ addiu $a0, %lo(D_800DC5EC) # addiu $a0, $a0, -0x3a14
|
|
/* 0F8BE4 8028F5D4 46062202 */ mul.s $f8, $f4, $f6
|
|
/* 0F8BE8 8028F5D8 4600428D */ trunc.w.s $f10, $f8
|
|
/* 0F8BEC 8028F5DC 44025000 */ mfc1 $v0, $f10
|
|
/* 0F8BF0 8028F5E0 00000000 */ nop
|
|
/* 0F8BF4 8028F5E4 00027C00 */ sll $t7, $v0, 0x10
|
|
/* 0F8BF8 8028F5E8 000F1403 */ sra $v0, $t7, 0x10
|
|
/* 0F8BFC 8028F5EC 04430003 */ bgezl $v0, .L8028F5FC
|
|
/* 0F8C00 8028F5F0 8C990000 */ lw $t9, ($a0)
|
|
/* 0F8C04 8028F5F4 24020001 */ li $v0, 1
|
|
/* 0F8C08 8028F5F8 8C990000 */ lw $t9, ($a0)
|
|
.L8028F5FC:
|
|
/* 0F8C0C 8028F5FC 3C014370 */ li $at, 0x43700000 # 240.000000
|
|
/* 0F8C10 8028F600 44818000 */ mtc1 $at, $f16
|
|
/* 0F8C14 8028F604 A722002C */ sh $v0, 0x2c($t9)
|
|
/* 0F8C18 8028F608 C4720000 */ lwc1 $f18, ($v1)
|
|
/* 0F8C1C 8028F60C 46128102 */ mul.s $f4, $f16, $f18
|
|
/* 0F8C20 8028F610 4600218D */ trunc.w.s $f6, $f4
|
|
/* 0F8C24 8028F614 44023000 */ mfc1 $v0, $f6
|
|
/* 0F8C28 8028F618 00000000 */ nop
|
|
/* 0F8C2C 8028F61C 00024C00 */ sll $t1, $v0, 0x10
|
|
/* 0F8C30 8028F620 00091403 */ sra $v0, $t1, 0x10
|
|
/* 0F8C34 8028F624 04430003 */ bgezl $v0, .L8028F634
|
|
/* 0F8C38 8028F628 8C8B0000 */ lw $t3, ($a0)
|
|
/* 0F8C3C 8028F62C 24020001 */ li $v0, 1
|
|
/* 0F8C40 8028F630 8C8B0000 */ lw $t3, ($a0)
|
|
.L8028F634:
|
|
/* 0F8C44 8028F634 03E00008 */ jr $ra
|
|
/* 0F8C48 8028F638 A562002E */ sh $v0, 0x2e($t3)
|
|
|
|
.L8028F63C:
|
|
/* 0F8C4C 8028F63C 3C03802C */ lui $v1, %hi(D_802BA034) # $v1, 0x802c
|
|
/* 0F8C50 8028F640 2463A034 */ addiu $v1, %lo(D_802BA034) # addiu $v1, $v1, -0x5fcc
|
|
/* 0F8C54 8028F644 3C014320 */ li $at, 0x43200000 # 160.000000
|
|
/* 0F8C58 8028F648 44814000 */ mtc1 $at, $f8
|
|
/* 0F8C5C 8028F64C C46A0000 */ lwc1 $f10, ($v1)
|
|
/* 0F8C60 8028F650 3C04800E */ lui $a0, %hi(D_800DC5EC) # $a0, 0x800e
|
|
/* 0F8C64 8028F654 2484C5EC */ addiu $a0, %lo(D_800DC5EC) # addiu $a0, $a0, -0x3a14
|
|
/* 0F8C68 8028F658 460A4402 */ mul.s $f16, $f8, $f10
|
|
/* 0F8C6C 8028F65C 4600848D */ trunc.w.s $f18, $f16
|
|
/* 0F8C70 8028F660 44029000 */ mfc1 $v0, $f18
|
|
/* 0F8C74 8028F664 00000000 */ nop
|
|
/* 0F8C78 8028F668 00026C00 */ sll $t5, $v0, 0x10
|
|
/* 0F8C7C 8028F66C 000D1403 */ sra $v0, $t5, 0x10
|
|
/* 0F8C80 8028F670 5C400004 */ bgtzl $v0, .L8028F684
|
|
/* 0F8C84 8028F674 28410140 */ slti $at, $v0, 0x140
|
|
/* 0F8C88 8028F678 10000005 */ b .L8028F690
|
|
/* 0F8C8C 8028F67C 24020001 */ li $v0, 1
|
|
/* 0F8C90 8028F680 28410140 */ slti $at, $v0, 0x140
|
|
.L8028F684:
|
|
/* 0F8C94 8028F684 54200003 */ bnel $at, $zero, .L8028F694
|
|
/* 0F8C98 8028F688 8C8F0000 */ lw $t7, ($a0)
|
|
/* 0F8C9C 8028F68C 2402013C */ li $v0, 316
|
|
.L8028F690:
|
|
/* 0F8CA0 8028F690 8C8F0000 */ lw $t7, ($a0)
|
|
.L8028F694:
|
|
/* 0F8CA4 8028F694 3C05800E */ lui $a1, %hi(D_800DC5F0) # $a1, 0x800e
|
|
/* 0F8CA8 8028F698 24A5C5F0 */ addiu $a1, %lo(D_800DC5F0) # addiu $a1, $a1, -0x3a10
|
|
/* 0F8CAC 8028F69C A5E2002C */ sh $v0, 0x2c($t7)
|
|
/* 0F8CB0 8028F6A0 8CB80000 */ lw $t8, ($a1)
|
|
/* 0F8CB4 8028F6A4 3C014370 */ li $at, 0x43700000 # 240.000000
|
|
/* 0F8CB8 8028F6A8 44812000 */ mtc1 $at, $f4
|
|
/* 0F8CBC 8028F6AC A702002C */ sh $v0, 0x2c($t8)
|
|
/* 0F8CC0 8028F6B0 C4660000 */ lwc1 $f6, ($v1)
|
|
/* 0F8CC4 8028F6B4 46062202 */ mul.s $f8, $f4, $f6
|
|
/* 0F8CC8 8028F6B8 4600428D */ trunc.w.s $f10, $f8
|
|
/* 0F8CCC 8028F6BC 44025000 */ mfc1 $v0, $f10
|
|
/* 0F8CD0 8028F6C0 00000000 */ nop
|
|
/* 0F8CD4 8028F6C4 00024400 */ sll $t0, $v0, 0x10
|
|
/* 0F8CD8 8028F6C8 00081403 */ sra $v0, $t0, 0x10
|
|
/* 0F8CDC 8028F6CC 5C400004 */ bgtzl $v0, .L8028F6E0
|
|
/* 0F8CE0 8028F6D0 284101E0 */ slti $at, $v0, 0x1e0
|
|
/* 0F8CE4 8028F6D4 10000005 */ b .L8028F6EC
|
|
/* 0F8CE8 8028F6D8 24020001 */ li $v0, 1
|
|
/* 0F8CEC 8028F6DC 284101E0 */ slti $at, $v0, 0x1e0
|
|
.L8028F6E0:
|
|
/* 0F8CF0 8028F6E0 54200003 */ bnel $at, $zero, .L8028F6F0
|
|
/* 0F8CF4 8028F6E4 8C8A0000 */ lw $t2, ($a0)
|
|
/* 0F8CF8 8028F6E8 240201DC */ li $v0, 476
|
|
.L8028F6EC:
|
|
/* 0F8CFC 8028F6EC 8C8A0000 */ lw $t2, ($a0)
|
|
.L8028F6F0:
|
|
/* 0F8D00 8028F6F0 A542002E */ sh $v0, 0x2e($t2)
|
|
/* 0F8D04 8028F6F4 8CAB0000 */ lw $t3, ($a1)
|
|
/* 0F8D08 8028F6F8 03E00008 */ jr $ra
|
|
/* 0F8D0C 8028F6FC A562002E */ sh $v0, 0x2e($t3)
|
|
|
|
.L8028F700:
|
|
/* 0F8D10 8028F700 3C03802C */ lui $v1, %hi(D_802BA034) # $v1, 0x802c
|
|
/* 0F8D14 8028F704 2463A034 */ addiu $v1, %lo(D_802BA034) # addiu $v1, $v1, -0x5fcc
|
|
/* 0F8D18 8028F708 3C0143A0 */ li $at, 0x43A00000 # 320.000000
|
|
/* 0F8D1C 8028F70C 44818000 */ mtc1 $at, $f16
|
|
/* 0F8D20 8028F710 C4720000 */ lwc1 $f18, ($v1)
|
|
/* 0F8D24 8028F714 3C04800E */ lui $a0, %hi(D_800DC5EC) # $a0, 0x800e
|
|
/* 0F8D28 8028F718 2484C5EC */ addiu $a0, %lo(D_800DC5EC) # addiu $a0, $a0, -0x3a14
|
|
/* 0F8D2C 8028F71C 46128102 */ mul.s $f4, $f16, $f18
|
|
/* 0F8D30 8028F720 4600218D */ trunc.w.s $f6, $f4
|
|
/* 0F8D34 8028F724 44023000 */ mfc1 $v0, $f6
|
|
/* 0F8D38 8028F728 00000000 */ nop
|
|
/* 0F8D3C 8028F72C 00026C00 */ sll $t5, $v0, 0x10
|
|
/* 0F8D40 8028F730 000D1403 */ sra $v0, $t5, 0x10
|
|
/* 0F8D44 8028F734 5C400004 */ bgtzl $v0, .L8028F748
|
|
/* 0F8D48 8028F738 28410280 */ slti $at, $v0, 0x280
|
|
/* 0F8D4C 8028F73C 10000005 */ b .L8028F754
|
|
/* 0F8D50 8028F740 24020001 */ li $v0, 1
|
|
/* 0F8D54 8028F744 28410280 */ slti $at, $v0, 0x280
|
|
.L8028F748:
|
|
/* 0F8D58 8028F748 54200003 */ bnel $at, $zero, .L8028F758
|
|
/* 0F8D5C 8028F74C 8C8F0000 */ lw $t7, ($a0)
|
|
/* 0F8D60 8028F750 2402027C */ li $v0, 636
|
|
.L8028F754:
|
|
/* 0F8D64 8028F754 8C8F0000 */ lw $t7, ($a0)
|
|
.L8028F758:
|
|
/* 0F8D68 8028F758 3C05800E */ lui $a1, %hi(D_800DC5F0) # $a1, 0x800e
|
|
/* 0F8D6C 8028F75C 24A5C5F0 */ addiu $a1, %lo(D_800DC5F0) # addiu $a1, $a1, -0x3a10
|
|
/* 0F8D70 8028F760 A5E2002C */ sh $v0, 0x2c($t7)
|
|
/* 0F8D74 8028F764 8CB80000 */ lw $t8, ($a1)
|
|
/* 0F8D78 8028F768 3C0142F0 */ li $at, 0x42F00000 # 120.000000
|
|
/* 0F8D7C 8028F76C 44814000 */ mtc1 $at, $f8
|
|
/* 0F8D80 8028F770 A702002C */ sh $v0, 0x2c($t8)
|
|
/* 0F8D84 8028F774 C46A0000 */ lwc1 $f10, ($v1)
|
|
/* 0F8D88 8028F778 460A4402 */ mul.s $f16, $f8, $f10
|
|
/* 0F8D8C 8028F77C 4600848D */ trunc.w.s $f18, $f16
|
|
/* 0F8D90 8028F780 44029000 */ mfc1 $v0, $f18
|
|
/* 0F8D94 8028F784 00000000 */ nop
|
|
/* 0F8D98 8028F788 00024400 */ sll $t0, $v0, 0x10
|
|
/* 0F8D9C 8028F78C 00081403 */ sra $v0, $t0, 0x10
|
|
/* 0F8DA0 8028F790 5C400004 */ bgtzl $v0, .L8028F7A4
|
|
/* 0F8DA4 8028F794 284100F0 */ slti $at, $v0, 0xf0
|
|
/* 0F8DA8 8028F798 10000005 */ b .L8028F7B0
|
|
/* 0F8DAC 8028F79C 24020001 */ li $v0, 1
|
|
/* 0F8DB0 8028F7A0 284100F0 */ slti $at, $v0, 0xf0
|
|
.L8028F7A4:
|
|
/* 0F8DB4 8028F7A4 54200003 */ bnel $at, $zero, .L8028F7B4
|
|
/* 0F8DB8 8028F7A8 8C8A0000 */ lw $t2, ($a0)
|
|
/* 0F8DBC 8028F7AC 240200EC */ li $v0, 236
|
|
.L8028F7B0:
|
|
/* 0F8DC0 8028F7B0 8C8A0000 */ lw $t2, ($a0)
|
|
.L8028F7B4:
|
|
/* 0F8DC4 8028F7B4 A542002E */ sh $v0, 0x2e($t2)
|
|
/* 0F8DC8 8028F7B8 8CAB0000 */ lw $t3, ($a1)
|
|
/* 0F8DCC 8028F7BC 03E00008 */ jr $ra
|
|
/* 0F8DD0 8028F7C0 A562002E */ sh $v0, 0x2e($t3)
|
|
|
|
.L8028F7C4:
|
|
/* 0F8DD4 8028F7C4 3C03802C */ lui $v1, %hi(D_802BA034) # $v1, 0x802c
|
|
/* 0F8DD8 8028F7C8 2463A034 */ addiu $v1, %lo(D_802BA034) # addiu $v1, $v1, -0x5fcc
|
|
/* 0F8DDC 8028F7CC 3C014320 */ li $at, 0x43200000 # 160.000000
|
|
/* 0F8DE0 8028F7D0 44812000 */ mtc1 $at, $f4
|
|
/* 0F8DE4 8028F7D4 C4660000 */ lwc1 $f6, ($v1)
|
|
/* 0F8DE8 8028F7D8 3C04800E */ lui $a0, %hi(D_800DC5EC) # $a0, 0x800e
|
|
/* 0F8DEC 8028F7DC 2484C5EC */ addiu $a0, %lo(D_800DC5EC) # addiu $a0, $a0, -0x3a14
|
|
/* 0F8DF0 8028F7E0 46062202 */ mul.s $f8, $f4, $f6
|
|
/* 0F8DF4 8028F7E4 4600428D */ trunc.w.s $f10, $f8
|
|
/* 0F8DF8 8028F7E8 44025000 */ mfc1 $v0, $f10
|
|
/* 0F8DFC 8028F7EC 00000000 */ nop
|
|
/* 0F8E00 8028F7F0 00026C00 */ sll $t5, $v0, 0x10
|
|
/* 0F8E04 8028F7F4 000D1403 */ sra $v0, $t5, 0x10
|
|
/* 0F8E08 8028F7F8 5C400004 */ bgtzl $v0, .L8028F80C
|
|
/* 0F8E0C 8028F7FC 28410140 */ slti $at, $v0, 0x140
|
|
/* 0F8E10 8028F800 10000005 */ b .L8028F818
|
|
/* 0F8E14 8028F804 24020001 */ li $v0, 1
|
|
/* 0F8E18 8028F808 28410140 */ slti $at, $v0, 0x140
|
|
.L8028F80C:
|
|
/* 0F8E1C 8028F80C 54200003 */ bnel $at, $zero, .L8028F81C
|
|
/* 0F8E20 8028F810 8C8F0000 */ lw $t7, ($a0)
|
|
/* 0F8E24 8028F814 2402013C */ li $v0, 316
|
|
.L8028F818:
|
|
/* 0F8E28 8028F818 8C8F0000 */ lw $t7, ($a0)
|
|
.L8028F81C:
|
|
/* 0F8E2C 8028F81C 3C05800E */ lui $a1, %hi(D_800DC5F0) # $a1, 0x800e
|
|
/* 0F8E30 8028F820 24A5C5F0 */ addiu $a1, %lo(D_800DC5F0) # addiu $a1, $a1, -0x3a10
|
|
/* 0F8E34 8028F824 A5E2002C */ sh $v0, 0x2c($t7)
|
|
/* 0F8E38 8028F828 8CB80000 */ lw $t8, ($a1)
|
|
/* 0F8E3C 8028F82C 3C06800E */ lui $a2, %hi(D_800DC5F4) # $a2, 0x800e
|
|
/* 0F8E40 8028F830 24C6C5F4 */ addiu $a2, %lo(D_800DC5F4) # addiu $a2, $a2, -0x3a0c
|
|
/* 0F8E44 8028F834 A702002C */ sh $v0, 0x2c($t8)
|
|
/* 0F8E48 8028F838 8CD90000 */ lw $t9, ($a2)
|
|
/* 0F8E4C 8028F83C 3C07800E */ lui $a3, %hi(D_800DC5F8) # $a3, 0x800e
|
|
/* 0F8E50 8028F840 24E7C5F8 */ addiu $a3, %lo(D_800DC5F8) # addiu $a3, $a3, -0x3a08
|
|
/* 0F8E54 8028F844 A722002C */ sh $v0, 0x2c($t9)
|
|
/* 0F8E58 8028F848 8CE80000 */ lw $t0, ($a3)
|
|
/* 0F8E5C 8028F84C 3C0142F0 */ li $at, 0x42F00000 # 120.000000
|
|
/* 0F8E60 8028F850 44818000 */ mtc1 $at, $f16
|
|
/* 0F8E64 8028F854 A502002C */ sh $v0, 0x2c($t0)
|
|
/* 0F8E68 8028F858 C4720000 */ lwc1 $f18, ($v1)
|
|
/* 0F8E6C 8028F85C 46128102 */ mul.s $f4, $f16, $f18
|
|
/* 0F8E70 8028F860 4600218D */ trunc.w.s $f6, $f4
|
|
/* 0F8E74 8028F864 44023000 */ mfc1 $v0, $f6
|
|
/* 0F8E78 8028F868 00000000 */ nop
|
|
/* 0F8E7C 8028F86C 00025400 */ sll $t2, $v0, 0x10
|
|
/* 0F8E80 8028F870 000A1403 */ sra $v0, $t2, 0x10
|
|
/* 0F8E84 8028F874 5C400004 */ bgtzl $v0, .L8028F888
|
|
/* 0F8E88 8028F878 284100F0 */ slti $at, $v0, 0xf0
|
|
/* 0F8E8C 8028F87C 10000005 */ b .L8028F894
|
|
/* 0F8E90 8028F880 24020001 */ li $v0, 1
|
|
/* 0F8E94 8028F884 284100F0 */ slti $at, $v0, 0xf0
|
|
.L8028F888:
|
|
/* 0F8E98 8028F888 54200003 */ bnel $at, $zero, .L8028F898
|
|
/* 0F8E9C 8028F88C 8C8C0000 */ lw $t4, ($a0)
|
|
/* 0F8EA0 8028F890 240200EC */ li $v0, 236
|
|
.L8028F894:
|
|
/* 0F8EA4 8028F894 8C8C0000 */ lw $t4, ($a0)
|
|
.L8028F898:
|
|
/* 0F8EA8 8028F898 A582002E */ sh $v0, 0x2e($t4)
|
|
/* 0F8EAC 8028F89C 8CAD0000 */ lw $t5, ($a1)
|
|
/* 0F8EB0 8028F8A0 A5A2002E */ sh $v0, 0x2e($t5)
|
|
/* 0F8EB4 8028F8A4 8CCE0000 */ lw $t6, ($a2)
|
|
/* 0F8EB8 8028F8A8 A5C2002E */ sh $v0, 0x2e($t6)
|
|
/* 0F8EBC 8028F8AC 8CEF0000 */ lw $t7, ($a3)
|
|
/* 0F8EC0 8028F8B0 A5E2002E */ sh $v0, 0x2e($t7)
|
|
/* 0F8EC4 8028F8B4 03E00008 */ jr $ra
|
|
/* 0F8EC8 8028F8B8 00000000 */ nop
|