mirror of
https://github.com/pmret/papermario.git
synced 2024-11-10 04:52:34 +01:00
105 lines
4.9 KiB
ArmAsm
105 lines
4.9 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
|
|
glabel guRotateAnglesF
|
|
/* 03F6D0 800642D0 3C018009 */ lui $at, 0x8009
|
|
/* 03F6D4 800642D4 C4203DD0 */ lwc1 $f0, 0x3dd0($at)
|
|
/* 03F6D8 800642D8 44854000 */ mtc1 $a1, $f8
|
|
/* 03F6DC 800642DC 27BDFFA8 */ addiu $sp, $sp, -0x58
|
|
/* 03F6E0 800642E0 F7B40028 */ sdc1 $f20, 0x28($sp)
|
|
/* 03F6E4 800642E4 46004502 */ mul.s $f20, $f8, $f0
|
|
/* 03F6E8 800642E8 44864000 */ mtc1 $a2, $f8
|
|
/* 03F6EC 800642EC AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 03F6F0 800642F0 F7B60030 */ sdc1 $f22, 0x30($sp)
|
|
/* 03F6F4 800642F4 46004582 */ mul.s $f22, $f8, $f0
|
|
/* 03F6F8 800642F8 44874000 */ mtc1 $a3, $f8
|
|
/* 03F6FC 800642FC 00808021 */ addu $s0, $a0, $zero
|
|
/* 03F700 80064300 AFBF0020 */ sw $ra, 0x20($sp)
|
|
/* 03F704 80064304 AFB1001C */ sw $s1, 0x1c($sp)
|
|
/* 03F708 80064308 F7BE0050 */ sdc1 $f30, 0x50($sp)
|
|
/* 03F70C 8006430C F7BC0048 */ sdc1 $f28, 0x48($sp)
|
|
/* 03F710 80064310 F7BA0040 */ sdc1 $f26, 0x40($sp)
|
|
/* 03F714 80064314 F7B80038 */ sdc1 $f24, 0x38($sp)
|
|
/* 03F718 80064318 46004602 */ mul.s $f24, $f8, $f0
|
|
/* 03F71C 8006431C 0C00A85B */ jal sin_rad
|
|
/* 03F720 80064320 4600A306 */ mov.s $f12, $f20
|
|
/* 03F724 80064324 44110000 */ mfc1 $s1, $f0
|
|
/* 03F728 80064328 00000000 */ nop
|
|
/* 03F72C 8006432C 0C00A874 */ jal cos_rad
|
|
/* 03F730 80064330 4600A306 */ mov.s $f12, $f20
|
|
/* 03F734 80064334 46000786 */ mov.s $f30, $f0
|
|
/* 03F738 80064338 0C00A85B */ jal sin_rad
|
|
/* 03F73C 8006433C 4600B306 */ mov.s $f12, $f22
|
|
/* 03F740 80064340 4600B306 */ mov.s $f12, $f22
|
|
/* 03F744 80064344 0C00A874 */ jal cos_rad
|
|
/* 03F748 80064348 46000706 */ mov.s $f28, $f0
|
|
/* 03F74C 8006434C 46000686 */ mov.s $f26, $f0
|
|
/* 03F750 80064350 0C00A85B */ jal sin_rad
|
|
/* 03F754 80064354 4600C306 */ mov.s $f12, $f24
|
|
/* 03F758 80064358 4600C306 */ mov.s $f12, $f24
|
|
/* 03F75C 8006435C 0C00A874 */ jal cos_rad
|
|
/* 03F760 80064360 46000506 */ mov.s $f20, $f0
|
|
/* 03F764 80064364 46000586 */ mov.s $f22, $f0
|
|
/* 03F768 80064368 0C019D28 */ jal guMtxIdentF
|
|
/* 03F76C 8006436C 02002021 */ addu $a0, $s0, $zero
|
|
/* 03F770 80064370 00000000 */ nop
|
|
/* 03F774 80064374 4616D402 */ mul.s $f16, $f26, $f22
|
|
/* 03F778 80064378 00000000 */ nop
|
|
/* 03F77C 8006437C 4614D482 */ mul.s $f18, $f26, $f20
|
|
/* 03F780 80064380 00000000 */ nop
|
|
/* 03F784 80064384 4616F282 */ mul.s $f10, $f30, $f22
|
|
/* 03F788 80064388 00000000 */ nop
|
|
/* 03F78C 8006438C 461CF002 */ mul.s $f0, $f30, $f28
|
|
/* 03F790 80064390 44914000 */ mtc1 $s1, $f8
|
|
/* 03F794 80064394 00000000 */ nop
|
|
/* 03F798 80064398 461C4082 */ mul.s $f2, $f8, $f28
|
|
/* 03F79C 8006439C 00000000 */ nop
|
|
/* 03F7A0 800643A0 4614F202 */ mul.s $f8, $f30, $f20
|
|
/* 03F7A4 800643A4 00000000 */ nop
|
|
/* 03F7A8 800643A8 461AF782 */ mul.s $f30, $f30, $f26
|
|
/* 03F7AC 800643AC 00000000 */ nop
|
|
/* 03F7B0 800643B0 46160102 */ mul.s $f4, $f0, $f22
|
|
/* 03F7B4 800643B4 00000000 */ nop
|
|
/* 03F7B8 800643B8 46161182 */ mul.s $f6, $f2, $f22
|
|
/* 03F7BC 800643BC 00000000 */ nop
|
|
/* 03F7C0 800643C0 46141082 */ mul.s $f2, $f2, $f20
|
|
/* 03F7C4 800643C4 E7A80014 */ swc1 $f8, 0x14($sp)
|
|
/* 03F7C8 800643C8 44914000 */ mtc1 $s1, $f8
|
|
/* 03F7CC 800643CC 00000000 */ nop
|
|
/* 03F7D0 800643D0 461A4382 */ mul.s $f14, $f8, $f26
|
|
/* 03F7D4 800643D4 00000000 */ nop
|
|
/* 03F7D8 800643D8 46144302 */ mul.s $f12, $f8, $f20
|
|
/* 03F7DC 800643DC C7A80014 */ lwc1 $f8, 0x14($sp)
|
|
/* 03F7E0 800643E0 46083181 */ sub.s $f6, $f6, $f8
|
|
/* 03F7E4 800643E4 44914000 */ mtc1 $s1, $f8
|
|
/* 03F7E8 800643E8 00000000 */ nop
|
|
/* 03F7EC 800643EC 46164202 */ mul.s $f8, $f8, $f22
|
|
/* 03F7F0 800643F0 4600E707 */ neg.s $f28, $f28
|
|
/* 03F7F4 800643F4 46140002 */ mul.s $f0, $f0, $f20
|
|
/* 03F7F8 800643F8 460A1080 */ add.s $f2, $f2, $f10
|
|
/* 03F7FC 800643FC E61C0008 */ swc1 $f28, 8($s0)
|
|
/* 03F800 80064400 E6100000 */ swc1 $f16, ($s0)
|
|
/* 03F804 80064404 44114000 */ mfc1 $s1, $f8
|
|
/* 03F808 80064408 460C2100 */ add.s $f4, $f4, $f12
|
|
/* 03F80C 8006440C E6120004 */ swc1 $f18, 4($s0)
|
|
/* 03F810 80064410 E61E0028 */ swc1 $f30, 0x28($s0)
|
|
/* 03F814 80064414 E60E0018 */ swc1 $f14, 0x18($s0)
|
|
/* 03F818 80064418 46080001 */ sub.s $f0, $f0, $f8
|
|
/* 03F81C 8006441C E6060010 */ swc1 $f6, 0x10($s0)
|
|
/* 03F820 80064420 E6020014 */ swc1 $f2, 0x14($s0)
|
|
/* 03F824 80064424 E6040020 */ swc1 $f4, 0x20($s0)
|
|
/* 03F828 80064428 E6000024 */ swc1 $f0, 0x24($s0)
|
|
/* 03F82C 8006442C 8FBF0020 */ lw $ra, 0x20($sp)
|
|
/* 03F830 80064430 8FB1001C */ lw $s1, 0x1c($sp)
|
|
/* 03F834 80064434 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 03F838 80064438 D7BE0050 */ ldc1 $f30, 0x50($sp)
|
|
/* 03F83C 8006443C D7BC0048 */ ldc1 $f28, 0x48($sp)
|
|
/* 03F840 80064440 D7BA0040 */ ldc1 $f26, 0x40($sp)
|
|
/* 03F844 80064444 D7B80038 */ ldc1 $f24, 0x38($sp)
|
|
/* 03F848 80064448 D7B60030 */ ldc1 $f22, 0x30($sp)
|
|
/* 03F84C 8006444C D7B40028 */ ldc1 $f20, 0x28($sp)
|
|
/* 03F850 80064450 03E00008 */ jr $ra
|
|
/* 03F854 80064454 27BD0058 */ addiu $sp, $sp, 0x58
|
|
|