papermario/ver/jp/asm/nonmatchings/main_285C0/func_8004E784.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

86 lines
4.3 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8004E784
/* 29B84 8004E784 0000402D */ daddu $t0, $zero, $zero
/* 29B88 8004E788 0100582D */ daddu $t3, $t0, $zero
/* 29B8C 8004E78C 0100482D */ daddu $t1, $t0, $zero
/* 29B90 8004E790 240C0001 */ addiu $t4, $zero, 1
/* 29B94 8004E794 240A025C */ addiu $t2, $zero, 0x25c
/* 29B98 8004E798 30A5FFFF */ andi $a1, $a1, 0xffff
/* 29B9C 8004E79C 8C82006C */ lw $v0, 0x6c($a0)
/* 29BA0 8004E7A0 00052880 */ sll $a1, $a1, 2
/* 29BA4 8004E7A4 00A22821 */ addu $a1, $a1, $v0
/* 29BA8 8004E7A8 AC850070 */ sw $a1, 0x70($a0)
.L8004E7AC:
/* 29BAC 8004E7AC 8CA30000 */ lw $v1, ($a1)
/* 29BB0 8004E7B0 24A50004 */ addiu $a1, $a1, 4
/* 29BB4 8004E7B4 008A3021 */ addu $a2, $a0, $t2
/* 29BB8 8004E7B8 00031402 */ srl $v0, $v1, 0x10
/* 29BBC 8004E7BC 10400034 */ beqz $v0, .L8004E890
/* 29BC0 8004E7C0 ACC20000 */ sw $v0, ($a2)
/* 29BC4 8004E7C4 30620100 */ andi $v0, $v1, 0x100
/* 29BC8 8004E7C8 54400031 */ bnel $v0, $zero, .L8004E890
/* 29BCC 8004E7CC ACC00000 */ sw $zero, ($a2)
/* 29BD0 8004E7D0 3062E000 */ andi $v0, $v1, 0xe000
/* 29BD4 8004E7D4 00021342 */ srl $v0, $v0, 0xd
/* 29BD8 8004E7D8 A0C20054 */ sb $v0, 0x54($a2)
/* 29BDC 8004E7DC 000311C2 */ srl $v0, $v1, 7
/* 29BE0 8004E7E0 30420001 */ andi $v0, $v0, 1
/* 29BE4 8004E7E4 A0C20058 */ sb $v0, 0x58($a2)
/* 29BE8 8004E7E8 30621E00 */ andi $v0, $v1, 0x1e00
/* 29BEC 8004E7EC 00023A42 */ srl $a3, $v0, 9
/* 29BF0 8004E7F0 10E0001B */ beqz $a3, .L8004E860
/* 29BF4 8004E7F4 A0C00059 */ sb $zero, 0x59($a2)
/* 29BF8 8004E7F8 00071040 */ sll $v0, $a3, 1
/* 29BFC 8004E7FC 00471021 */ addu $v0, $v0, $a3
/* 29C00 8004E800 00021140 */ sll $v0, $v0, 5
/* 29C04 8004E804 244201FC */ addiu $v0, $v0, 0x1fc
/* 29C08 8004E808 00821821 */ addu $v1, $a0, $v0
/* 29C0C 8004E80C 24E2FFFF */ addiu $v0, $a3, -1
/* 29C10 8004E810 0049102B */ sltu $v0, $v0, $t1
/* 29C14 8004E814 5040001E */ beql $v0, $zero, .L8004E890
/* 29C18 8004E818 ACC00000 */ sw $zero, ($a2)
/* 29C1C 8004E81C 90620051 */ lbu $v0, 0x51($v1)
/* 29C20 8004E820 A0C20051 */ sb $v0, 0x51($a2)
/* 29C24 8004E824 90620052 */ lbu $v0, 0x52($v1)
/* 29C28 8004E828 A0C20052 */ sb $v0, 0x52($a2)
/* 29C2C 8004E82C 90620053 */ lbu $v0, 0x53($v1)
/* 29C30 8004E830 A0C20053 */ sb $v0, 0x53($a2)
/* 29C34 8004E834 8CC20000 */ lw $v0, ($a2)
/* 29C38 8004E838 8C830070 */ lw $v1, 0x70($a0)
/* 29C3C 8004E83C ACCC0028 */ sw $t4, 0x28($a2)
/* 29C40 8004E840 A0C70059 */ sb $a3, 0x59($a2)
/* 29C44 8004E844 00431021 */ addu $v0, $v0, $v1
/* 29C48 8004E848 ACC20000 */ sw $v0, ($a2)
/* 29C4C 8004E84C 90820233 */ lbu $v0, 0x233($a0)
/* 29C50 8004E850 54400001 */ bnel $v0, $zero, .L8004E858
/* 29C54 8004E854 A0CC005A */ sb $t4, 0x5a($a2)
.L8004E858:
/* 29C58 8004E858 08013A24 */ j .L8004E890
/* 29C5C 8004E85C 240B0001 */ addiu $t3, $zero, 1
.L8004E860:
/* 29C60 8004E860 90C20054 */ lbu $v0, 0x54($a2)
/* 29C64 8004E864 00821021 */ addu $v0, $a0, $v0
/* 29C68 8004E868 9042022A */ lbu $v0, 0x22a($v0)
/* 29C6C 8004E86C A0C80052 */ sb $t0, 0x52($a2)
/* 29C70 8004E870 01024021 */ addu $t0, $t0, $v0
/* 29C74 8004E874 A0C20051 */ sb $v0, 0x51($a2)
/* 29C78 8004E878 8CC20000 */ lw $v0, ($a2)
/* 29C7C 8004E87C A0C80053 */ sb $t0, 0x53($a2)
/* 29C80 8004E880 8C830070 */ lw $v1, 0x70($a0)
/* 29C84 8004E884 ACCC0028 */ sw $t4, 0x28($a2)
/* 29C88 8004E888 00431021 */ addu $v0, $v0, $v1
/* 29C8C 8004E88C ACC20000 */ sw $v0, ($a2)
.L8004E890:
/* 29C90 8004E890 25290001 */ addiu $t1, $t1, 1
/* 29C94 8004E894 29220010 */ slti $v0, $t1, 0x10
/* 29C98 8004E898 1440FFC4 */ bnez $v0, .L8004E7AC
/* 29C9C 8004E89C 254A0060 */ addiu $t2, $t2, 0x60
/* 29CA0 8004E8A0 11600002 */ beqz $t3, .L8004E8AC
/* 29CA4 8004E8A4 A088021B */ sb $t0, 0x21b($a0)
/* 29CA8 8004E8A8 A0800233 */ sb $zero, 0x233($a0)
.L8004E8AC:
/* 29CAC 8004E8AC 03E00008 */ jr $ra
/* 29CB0 8004E8B0 00000000 */ nop