papermario/ver/jp/asm/nonmatchings/main_42B0/func_80029484.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

88 lines
4.3 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80029484
/* 4884 80029484 27BDFF88 */ addiu $sp, $sp, -0x78
/* 4888 80029488 AFB7006C */ sw $s7, 0x6c($sp)
/* 488C 8002948C 00C0B82D */ daddu $s7, $a2, $zero
/* 4890 80029490 AFB40060 */ sw $s4, 0x60($sp)
/* 4894 80029494 24140026 */ addiu $s4, $zero, 0x26
/* 4898 80029498 AFBE0070 */ sw $fp, 0x70($sp)
/* 489C 8002949C 0000F02D */ daddu $fp, $zero, $zero
/* 48A0 800294A0 AFB3005C */ sw $s3, 0x5c($sp)
/* 48A4 800294A4 AFB20058 */ sw $s2, 0x58($sp)
/* 48A8 800294A8 0080982D */ daddu $s3, $a0, $zero
/* 48AC 800294AC 000497C3 */ sra $s2, $a0, 0x1f
/* 48B0 800294B0 AFBF0074 */ sw $ra, 0x74($sp)
/* 48B4 800294B4 AFB60068 */ sw $s6, 0x68($sp)
/* 48B8 800294B8 AFB50064 */ sw $s5, 0x64($sp)
/* 48BC 800294BC AFB10054 */ sw $s1, 0x54($sp)
/* 48C0 800294C0 AFB00050 */ sw $s0, 0x50($sp)
/* 48C4 800294C4 0641000A */ bgez $s2, .L800294F0
/* 48C8 800294C8 AFA5007C */ sw $a1, 0x7c($sp)
/* 48CC 800294CC 2402FFFF */ addiu $v0, $zero, -1
/* 48D0 800294D0 02620019 */ multu $s3, $v0
/* 48D4 800294D4 241E0001 */ addiu $fp, $zero, 1
/* 48D8 800294D8 00001010 */ mfhi $v0
/* 48DC 800294DC 00001812 */ mflo $v1
/* 48E0 800294E0 00531023 */ subu $v0, $v0, $s3
/* 48E4 800294E4 00521023 */ subu $v0, $v0, $s2
/* 48E8 800294E8 0040902D */ daddu $s2, $v0, $zero
/* 48EC 800294EC 0060982D */ daddu $s3, $v1, $zero
.L800294F0:
/* 48F0 800294F0 A3A00037 */ sb $zero, 0x37($sp)
/* 48F4 800294F4 27B60010 */ addiu $s6, $sp, 0x10
/* 48F8 800294F8 0017AFC3 */ sra $s5, $s7, 0x1f
.L800294FC:
/* 48FC 800294FC 02E0882D */ daddu $s1, $s7, $zero
/* 4900 80029500 02A0802D */ daddu $s0, $s5, $zero
/* 4904 80029504 0240202D */ daddu $a0, $s2, $zero
/* 4908 80029508 0260282D */ daddu $a1, $s3, $zero
/* 490C 8002950C 0200302D */ daddu $a2, $s0, $zero
/* 4910 80029510 0C01B768 */ jal func_8006DDA0
/* 4914 80029514 0220382D */ daddu $a3, $s1, $zero
/* 4918 80029518 0240202D */ daddu $a0, $s2, $zero
/* 491C 8002951C 0260282D */ daddu $a1, $s3, $zero
/* 4920 80029520 0200302D */ daddu $a2, $s0, $zero
/* 4924 80029524 0220382D */ daddu $a3, $s1, $zero
/* 4928 80029528 3C088007 */ lui $t0, %hi(D_800743C0)
/* 492C 8002952C 250843C0 */ addiu $t0, $t0, %lo(D_800743C0)
/* 4930 80029530 00681021 */ addu $v0, $v1, $t0
/* 4934 80029534 90430000 */ lbu $v1, ($v0)
/* 4938 80029538 02D41021 */ addu $v0, $s6, $s4
/* 493C 8002953C 0C01B5F8 */ jal func_8006D7E0
/* 4940 80029540 A0430000 */ sb $v1, ($v0)
/* 4944 80029544 0040902D */ daddu $s2, $v0, $zero
/* 4948 80029548 0060982D */ daddu $s3, $v1, $zero
/* 494C 8002954C 02721025 */ or $v0, $s3, $s2
/* 4950 80029550 10400005 */ beqz $v0, .L80029568
/* 4954 80029554 00000000 */ nop
/* 4958 80029558 12800003 */ beqz $s4, .L80029568
/* 495C 8002955C 00000000 */ nop
/* 4960 80029560 0800A53F */ j .L800294FC
/* 4964 80029564 2694FFFF */ addiu $s4, $s4, -1
.L80029568:
/* 4968 80029568 13C00004 */ beqz $fp, .L8002957C
/* 496C 8002956C 2402002D */ addiu $v0, $zero, 0x2d
/* 4970 80029570 2694FFFF */ addiu $s4, $s4, -1
/* 4974 80029574 03B41821 */ addu $v1, $sp, $s4
/* 4978 80029578 A0620010 */ sb $v0, 0x10($v1)
.L8002957C:
/* 497C 8002957C 27A50010 */ addiu $a1, $sp, 0x10
/* 4980 80029580 8FA4007C */ lw $a0, 0x7c($sp)
/* 4984 80029584 0C01BB48 */ jal func_8006ED20
/* 4988 80029588 00B42821 */ addu $a1, $a1, $s4
/* 498C 8002958C 8FA2007C */ lw $v0, 0x7c($sp)
/* 4990 80029590 8FBF0074 */ lw $ra, 0x74($sp)
/* 4994 80029594 8FBE0070 */ lw $fp, 0x70($sp)
/* 4998 80029598 8FB7006C */ lw $s7, 0x6c($sp)
/* 499C 8002959C 8FB60068 */ lw $s6, 0x68($sp)
/* 49A0 800295A0 8FB50064 */ lw $s5, 0x64($sp)
/* 49A4 800295A4 8FB40060 */ lw $s4, 0x60($sp)
/* 49A8 800295A8 8FB3005C */ lw $s3, 0x5c($sp)
/* 49AC 800295AC 8FB20058 */ lw $s2, 0x58($sp)
/* 49B0 800295B0 8FB10054 */ lw $s1, 0x54($sp)
/* 49B4 800295B4 8FB00050 */ lw $s0, 0x50($sp)
/* 49B8 800295B8 03E00008 */ jr $ra
/* 49BC 800295BC 27BD0078 */ addiu $sp, $sp, 0x78