papermario/ver/jp/asm/nonmatchings/main_AD70/func_8002FC90.s
Ethan Roseman 698cf99458
jp cod (Created the first segment's c files for jp) (#194)
* jp cod

* just have less code and it works

* oops

* removing splat cause subrepo is being dumb

* git subrepo clone https://github.com/ethteck/splat.git tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "d7281bae6a"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "d7281bae6a"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* move jp stuff + revert configure

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "c56195a9c5"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "c56195a9c5"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"
2021-02-27 00:36:33 +09:00

141 lines
6.9 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8002FC90
/* B090 8002FC90 3C014190 */ lui $at, 0x4190
/* B094 8002FC94 44810000 */ mtc1 $at, $f0
/* B098 8002FC98 3C01442C */ lui $at, 0x442c
/* B09C 8002FC9C 34218000 */ ori $at, $at, 0x8000
/* B0A0 8002FCA0 44811000 */ mtc1 $at, $f2
/* B0A4 8002FCA4 3C01423C */ lui $at, 0x423c
/* B0A8 8002FCA8 44812000 */ mtc1 $at, $f4
/* B0AC 8002FCAC 27BDFFC8 */ addiu $sp, $sp, -0x38
/* B0B0 8002FCB0 AFB00010 */ sw $s0, 0x10($sp)
/* B0B4 8002FCB4 0080802D */ daddu $s0, $a0, $zero
/* B0B8 8002FCB8 AFBF0014 */ sw $ra, 0x14($sp)
/* B0BC 8002FCBC F7BA0030 */ sdc1 $f26, 0x30($sp)
/* B0C0 8002FCC0 F7B80028 */ sdc1 $f24, 0x28($sp)
/* B0C4 8002FCC4 F7B60020 */ sdc1 $f22, 0x20($sp)
/* B0C8 8002FCC8 F7B40018 */ sdc1 $f20, 0x18($sp)
/* B0CC 8002FCCC 86020006 */ lh $v0, 6($s0)
/* B0D0 8002FCD0 E6000074 */ swc1 $f0, 0x74($s0)
/* B0D4 8002FCD4 E6020078 */ swc1 $f2, 0x78($s0)
/* B0D8 8002FCD8 10400013 */ beqz $v0, .L8002FD28
/* B0DC 8002FCDC E604007C */ swc1 $f4, 0x7c($s0)
/* B0E0 8002FCE0 46002086 */ mov.s $f2, $f4
/* B0E4 8002FCE4 44800000 */ mtc1 $zero, $f0
/* B0E8 8002FCE8 C6060060 */ lwc1 $f6, 0x60($s0)
/* B0EC 8002FCEC C6040068 */ lwc1 $f4, 0x68($s0)
/* B0F0 8002FCF0 44050000 */ mfc1 $a1, $f0
/* B0F4 8002FCF4 E6000550 */ swc1 $f0, 0x550($s0)
/* B0F8 8002FCF8 E6000070 */ swc1 $f0, 0x70($s0)
/* B0FC 8002FCFC E6000084 */ swc1 $f0, 0x84($s0)
/* B100 8002FD00 C6000064 */ lwc1 $f0, 0x64($s0)
/* B104 8002FD04 0000382D */ daddu $a3, $zero, $zero
/* B108 8002FD08 A6000006 */ sh $zero, 6($s0)
/* B10C 8002FD0C A6000554 */ sh $zero, 0x554($s0)
/* B110 8002FD10 E6060048 */ swc1 $f6, 0x48($s0)
/* B114 8002FD14 46020000 */ add.s $f0, $f0, $f2
/* B118 8002FD18 E6040050 */ swc1 $f4, 0x50($s0)
/* B11C 8002FD1C 00A0302D */ daddu $a2, $a1, $zero
/* B120 8002FD20 0800BF73 */ j .L8002FDCC
/* B124 8002FD24 E600004C */ swc1 $f0, 0x4c($s0)
.L8002FD28:
/* B128 8002FD28 3C028011 */ lui $v0, %hi(D_8010F188)
/* B12C 8002FD2C 2442F188 */ addiu $v0, $v0, %lo(D_8010F188)
/* B130 8002FD30 C4480054 */ lwc1 $f8, 0x54($v0)
/* B134 8002FD34 3C013FC0 */ lui $at, 0x3fc0
/* B138 8002FD38 44813000 */ mtc1 $at, $f6
/* B13C 8002FD3C 00000000 */ nop
/* B140 8002FD40 46064182 */ mul.s $f6, $f8, $f6
/* B144 8002FD44 00000000 */ nop
/* B148 8002FD48 3C013D4C */ lui $at, 0x3d4c
/* B14C 8002FD4C 3421CCCD */ ori $at, $at, 0xcccd
/* B150 8002FD50 44816000 */ mtc1 $at, $f12
/* B154 8002FD54 00000000 */ nop
/* B158 8002FD58 460C4202 */ mul.s $f8, $f8, $f12
/* B15C 8002FD5C 00000000 */ nop
/* B160 8002FD60 C6040060 */ lwc1 $f4, 0x60($s0)
/* B164 8002FD64 C6000550 */ lwc1 $f0, 0x550($s0)
/* B168 8002FD68 C6020064 */ lwc1 $f2, 0x64($s0)
/* B16C 8002FD6C 46002100 */ add.s $f4, $f4, $f0
/* B170 8002FD70 C600007C */ lwc1 $f0, 0x7c($s0)
/* B174 8002FD74 3C013F80 */ lui $at, 0x3f80
/* B178 8002FD78 44815000 */ mtc1 $at, $f10
/* B17C 8002FD7C 46001080 */ add.s $f2, $f2, $f0
/* B180 8002FD80 C6000068 */ lwc1 $f0, 0x68($s0)
/* B184 8002FD84 0200202D */ daddu $a0, $s0, $zero
/* B188 8002FD88 E600005C */ swc1 $f0, 0x5c($s0)
/* B18C 8002FD8C 460A3580 */ add.s $f22, $f6, $f10
/* B190 8002FD90 E6040054 */ swc1 $f4, 0x54($s0)
/* B194 8002FD94 E6020058 */ swc1 $f2, 0x58($s0)
/* B198 8002FD98 0C00BFF7 */ jal func_8002FFDC
/* B19C 8002FD9C 460C4500 */ add.s $f20, $f8, $f12
/* B1A0 8002FDA0 96020002 */ lhu $v0, 2($s0)
/* B1A4 8002FDA4 30420001 */ andi $v0, $v0, 1
/* B1A8 8002FDA8 14400005 */ bnez $v0, .L8002FDC0
/* B1AC 8002FDAC 0200202D */ daddu $a0, $s0, $zero
/* B1B0 8002FDB0 4405A000 */ mfc1 $a1, $f20
/* B1B4 8002FDB4 4406B000 */ mfc1 $a2, $f22
/* B1B8 8002FDB8 0800BF73 */ j .L8002FDCC
/* B1BC 8002FDBC 0000382D */ daddu $a3, $zero, $zero
.L8002FDC0:
/* B1C0 8002FDC0 4405A000 */ mfc1 $a1, $f20
/* B1C4 8002FDC4 4406B000 */ mfc1 $a2, $f22
/* B1C8 8002FDC8 24070001 */ addiu $a3, $zero, 1
.L8002FDCC:
/* B1CC 8002FDCC 0C00BFA8 */ jal func_8002FEA0
/* B1D0 8002FDD0 00000000 */ nop
/* B1D4 8002FDD4 C60C003C */ lwc1 $f12, 0x3c($s0)
/* B1D8 8002FDD8 C60E0044 */ lwc1 $f14, 0x44($s0)
/* B1DC 8002FDDC 8E060048 */ lw $a2, 0x48($s0)
/* B1E0 8002FDE0 8E070050 */ lw $a3, 0x50($s0)
/* B1E4 8002FDE4 4480C000 */ mtc1 $zero, $f24
/* B1E8 8002FDE8 0C00A710 */ jal func_80029C40
/* B1EC 8002FDEC 00000000 */ nop
/* B1F0 8002FDF0 4600C306 */ mov.s $f12, $f24
/* B1F4 8002FDF4 4600C386 */ mov.s $f14, $f24
/* B1F8 8002FDF8 C6040048 */ lwc1 $f4, 0x48($s0)
/* B1FC 8002FDFC C602003C */ lwc1 $f2, 0x3c($s0)
/* B200 8002FE00 C6140050 */ lwc1 $f20, 0x50($s0)
/* B204 8002FE04 46022581 */ sub.s $f22, $f4, $f2
/* B208 8002FE08 C6020044 */ lwc1 $f2, 0x44($s0)
/* B20C 8002FE0C C604004C */ lwc1 $f4, 0x4c($s0)
/* B210 8002FE10 4602A501 */ sub.s $f20, $f20, $f2
/* B214 8002FE14 C6020040 */ lwc1 $f2, 0x40($s0)
/* B218 8002FE18 4406B000 */ mfc1 $a2, $f22
/* B21C 8002FE1C 4407A000 */ mfc1 $a3, $f20
/* B220 8002FE20 46022681 */ sub.s $f26, $f4, $f2
/* B224 8002FE24 0C00A710 */ jal func_80029C40
/* B228 8002FE28 E600006C */ swc1 $f0, 0x6c($s0)
/* B22C 8002FE2C 4616B082 */ mul.s $f2, $f22, $f22
/* B230 8002FE30 00000000 */ nop
/* B234 8002FE34 4614A502 */ mul.s $f20, $f20, $f20
/* B238 8002FE38 00000000 */ nop
/* B23C 8002FE3C 46141300 */ add.s $f12, $f2, $f20
/* B240 8002FE40 46000007 */ neg.s $f0, $f0
/* B244 8002FE44 E6000090 */ swc1 $f0, 0x90($s0)
/* B248 8002FE48 46006004 */ sqrt.s $f0, $f12
/* B24C 8002FE4C 46000032 */ c.eq.s $f0, $f0
/* B250 8002FE50 00000000 */ nop
/* B254 8002FE54 45030004 */ bc1tl .L8002FE68
/* B258 8002FE58 4600C306 */ mov.s $f12, $f24
/* B25C 8002FE5C 0C0187B0 */ jal func_80061EC0
/* B260 8002FE60 00000000 */ nop
/* B264 8002FE64 4600C306 */ mov.s $f12, $f24
.L8002FE68:
/* B268 8002FE68 46000007 */ neg.s $f0, $f0
/* B26C 8002FE6C 4406D000 */ mfc1 $a2, $f26
/* B270 8002FE70 44070000 */ mfc1 $a3, $f0
/* B274 8002FE74 0C00A710 */ jal func_80029C40
/* B278 8002FE78 46006386 */ mov.s $f14, $f12
/* B27C 8002FE7C E6000094 */ swc1 $f0, 0x94($s0)
/* B280 8002FE80 8FBF0014 */ lw $ra, 0x14($sp)
/* B284 8002FE84 8FB00010 */ lw $s0, 0x10($sp)
/* B288 8002FE88 D7BA0030 */ ldc1 $f26, 0x30($sp)
/* B28C 8002FE8C D7B80028 */ ldc1 $f24, 0x28($sp)
/* B290 8002FE90 D7B60020 */ ldc1 $f22, 0x20($sp)
/* B294 8002FE94 D7B40018 */ ldc1 $f20, 0x18($sp)
/* B298 8002FE98 03E00008 */ jr $ra
/* B29C 8002FE9C 27BD0038 */ addiu $sp, $sp, 0x38