mk64/asm/code_80281610.s

109 lines
5.7 KiB
ArmAsm

# Mario Kart 64 (U) disassembly and split file
# generated by n64split v0.4a - N64 ROM splitter
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64
.include "macros.inc"
.section .text, "ax"
glabel func_80281610
/* 124C50 80281610 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 124C54 80281614 AFBF0014 */ sw $ra, 0x14($sp)
/* 124C58 80281618 3C048016 */ lui $a0, %hi(D_801646F0) # $a0, 0x8016
/* 124C5C 8028161C 0C0A0D92 */ jal func_80283648
/* 124C60 80281620 248446F0 */ addiu $a0, %lo(D_801646F0) # addiu $a0, $a0, 0x46f0
/* 124C64 80281624 3C018016 */ lui $at, %hi(D_801646FC) # $at, 0x8016
/* 124C68 80281628 C42446FC */ lwc1 $f4, %lo(D_801646FC)($at)
/* 124C6C 8028162C 3C018016 */ lui $at, %hi(D_801646F0) # $at, 0x8016
/* 124C70 80281630 C42646F0 */ lwc1 $f6, %lo(D_801646F0)($at)
/* 124C74 80281634 3C018016 */ lui $at, %hi(D_80164700) # $at, 0x8016
/* 124C78 80281638 C4284700 */ lwc1 $f8, %lo(D_80164700)($at)
/* 124C7C 8028163C 3C018016 */ lui $at, %hi(D_801646F4) # $at, 0x8016
/* 124C80 80281640 C42A46F4 */ lwc1 $f10, %lo(D_801646F4)($at)
/* 124C84 80281644 3C018016 */ lui $at, %hi(D_80164704) # $at, 0x8016
/* 124C88 80281648 C4324704 */ lwc1 $f18, %lo(D_80164704)($at)
/* 124C8C 8028164C 46062301 */ sub.s $f12, $f4, $f6
/* 124C90 80281650 3C018016 */ lui $at, %hi(D_801646F8) # $at, 0x8016
/* 124C94 80281654 C42446F8 */ lwc1 $f4, %lo(D_801646F8)($at)
/* 124C98 80281658 460A4401 */ sub.s $f16, $f8, $f10
/* 124C9C 8028165C E7AC0020 */ swc1 $f12, 0x20($sp)
/* 124CA0 80281660 46049381 */ sub.s $f14, $f18, $f4
/* 124CA4 80281664 E7B0001C */ swc1 $f16, 0x1c($sp)
/* 124CA8 80281668 0C0ADE0C */ jal func_802B7830
/* 124CAC 8028166C E7AE0018 */ swc1 $f14, 0x18($sp)
/* 124CB0 80281670 C7A00020 */ lwc1 $f0, 0x20($sp)
/* 124CB4 80281674 C7AE0018 */ lwc1 $f14, 0x18($sp)
/* 124CB8 80281678 3C018016 */ lui $at, %hi(D_80164716) # $at, 0x8016
/* 124CBC 8028167C 46000182 */ mul.s $f6, $f0, $f0
/* 124CC0 80281680 A4224716 */ sh $v0, %lo(D_80164716)($at)
/* 124CC4 80281684 460E7202 */ mul.s $f8, $f14, $f14
/* 124CC8 80281688 0C033850 */ jal sqrtf
/* 124CCC 8028168C 46083300 */ add.s $f12, $f6, $f8
/* 124CD0 80281690 46000306 */ mov.s $f12, $f0
/* 124CD4 80281694 0C0ADE0C */ jal func_802B7830
/* 124CD8 80281698 C7AE001C */ lwc1 $f14, 0x1c($sp)
/* 124CDC 8028169C 8FBF0014 */ lw $ra, 0x14($sp)
/* 124CE0 802816A0 3C018016 */ lui $at, %hi(D_80164714) # $at, 0x8016
/* 124CE4 802816A4 A4224714 */ sh $v0, %lo(D_80164714)($at)
/* 124CE8 802816A8 3C018016 */ lui $at, %hi(D_80164718) # $at, 0x8016
/* 124CEC 802816AC A4204718 */ sh $zero, %lo(D_80164718)($at)
/* 124CF0 802816B0 03E00008 */ jr $ra
/* 124CF4 802816B4 27BD0028 */ addiu $sp, $sp, 0x28
glabel func_802816B8
/* 124CF8 802816B8 3C018028 */ lui $at, %hi(D_80286B90) # $at, 0x8028
/* 124CFC 802816BC C4246B90 */ lwc1 $f4, %lo(D_80286B90)($at)
/* 124D00 802816C0 3C014198 */ li $at, 0x41980000 # 19.000000
/* 124D04 802816C4 44813000 */ mtc1 $at, $f6
/* 124D08 802816C8 3C028016 */ lui $v0, %hi(D_801646F0) # $v0, 0x8016
/* 124D0C 802816CC 244246F0 */ addiu $v0, %lo(D_801646F0) # addiu $v0, $v0, 0x46f0
/* 124D10 802816D0 3C018028 */ lui $at, %hi(D_80286B94) # $at, 0x8028
/* 124D14 802816D4 E4440000 */ swc1 $f4, ($v0)
/* 124D18 802816D8 E4460004 */ swc1 $f6, 4($v0)
/* 124D1C 802816DC C4286B94 */ lwc1 $f8, %lo(D_80286B94)($at)
/* 124D20 802816E0 3C018028 */ lui $at, %hi(D_80286B98) # $at, 0x8028
/* 124D24 802816E4 44800000 */ mtc1 $zero, $f0
/* 124D28 802816E8 E4480008 */ swc1 $f8, 8($v0)
/* 124D2C 802816EC C42A6B98 */ lwc1 $f10, %lo(D_80286B98)($at)
/* 124D30 802816F0 3C0141A8 */ li $at, 0x41A80000 # 21.000000
/* 124D34 802816F4 44818000 */ mtc1 $at, $f16
/* 124D38 802816F8 3C01C404 */ li $at, 0xC4040000 # -528.000000
/* 124D3C 802816FC 44819000 */ mtc1 $at, $f18
/* 124D40 80281700 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 124D44 80281704 44812000 */ mtc1 $at, $f4
/* 124D48 80281708 3C014220 */ li $at, 0x42200000 # 40.000000
/* 124D4C 8028170C 44813000 */ mtc1 $at, $f6
/* 124D50 80281710 3C018015 */ lui $at, %hi(D_80150130) # $at, 0x8015
/* 124D54 80281714 E4400018 */ swc1 $f0, 0x18($v0)
/* 124D58 80281718 E4400020 */ swc1 $f0, 0x20($v0)
/* 124D5C 8028171C E44A000C */ swc1 $f10, 0xc($v0)
/* 124D60 80281720 E4500010 */ swc1 $f16, 0x10($v0)
/* 124D64 80281724 E4520014 */ swc1 $f18, 0x14($v0)
/* 124D68 80281728 E444001C */ swc1 $f4, 0x1c($v0)
/* 124D6C 8028172C E4260130 */ swc1 $f6, %lo(D_80150130)($at)
/* 124D70 80281730 3C018028 */ lui $at, %hi(D_80286B9C) # $at, 0x8028
/* 124D74 80281734 C4286B9C */ lwc1 $f8, %lo(D_80286B9C)($at)
/* 124D78 80281738 3C018015 */ lui $at, %hi(D_80150148) # $at, 0x8015
/* 124D7C 8028173C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 124D80 80281740 E4280148 */ swc1 $f8, %lo(D_80150148)($at)
/* 124D84 80281744 3C014040 */ li $at, 0x40400000 # 3.000000
/* 124D88 80281748 44815000 */ mtc1 $at, $f10
/* 124D8C 8028174C 3C018015 */ lui $at, %hi(D_80150150) # $at, 0x8015
/* 124D90 80281750 AFBF0014 */ sw $ra, 0x14($sp)
/* 124D94 80281754 E42A0150 */ swc1 $f10, %lo(D_80150150)($at)
/* 124D98 80281758 3C018028 */ lui $at, %hi(D_80286BA0) # $at, 0x8028
/* 124D9C 8028175C C4306BA0 */ lwc1 $f16, %lo(D_80286BA0)($at)
/* 124DA0 80281760 3C018015 */ lui $at, %hi(D_8015014C) # $at, 0x8015
/* 124DA4 80281764 0C0A0D0C */ jal func_80283430
/* 124DA8 80281768 E430014C */ swc1 $f16, %lo(D_8015014C)($at)
/* 124DAC 8028176C 8FBF0014 */ lw $ra, 0x14($sp)
/* 124DB0 80281770 27BD0018 */ addiu $sp, $sp, 0x18
/* 124DB4 80281774 03E00008 */ jr $ra
/* 124DB8 80281778 00000000 */ nop
/* 124DBC 8028177C 00000000 */ nop