mirror of
https://github.com/pmret/papermario.git
synced 2024-11-08 20:12:30 +01:00
0d70e3ecac
* Remove JP dump * Add new JP dump * Fix sort_symbol_addrs to only look at one version * Deduplicate and sort symbol_addrs * Clean up JP rom if conditions * Use /current dir for diffing * Fix state_step_logos * Add todo comments for unsplitted segments * Fix draw_merlee_message * rename background_gfx * Fix background_gfx * Fix JP build * Set unused data offsets to auto
64 lines
3.1 KiB
ArmAsm
64 lines
3.1 KiB
ArmAsm
.include "macro.inc"
|
|
|
|
/* assembler directives */
|
|
.set noat /* allow manual use of $at */
|
|
.set noreorder /* don't insert nops after branches */
|
|
.set gp=64 /* allow use of 64-bit general purpose registers */
|
|
|
|
.section .text, "ax"
|
|
|
|
/* Generated by spimdisasm 1.11.1 */
|
|
|
|
# Handwritten function
|
|
glabel decode_yay0
|
|
/* 4A1D0 8006EDD0 8C980004 */ lw $t8, 0x4($a0)
|
|
/* 4A1D4 8006EDD4 8C870008 */ lw $a3, 0x8($a0)
|
|
/* 4A1D8 8006EDD8 8C99000C */ lw $t9, 0xC($a0)
|
|
/* 4A1DC 8006EDDC 0000302D */ daddu $a2, $zero, $zero
|
|
/* 4A1E0 8006EDE0 0305C020 */ add $t8, $t8, $a1 # handwritten instruction
|
|
/* 4A1E4 8006EDE4 00E43820 */ add $a3, $a3, $a0 # handwritten instruction
|
|
/* 4A1E8 8006EDE8 0324C820 */ add $t9, $t9, $a0 # handwritten instruction
|
|
/* 4A1EC 8006EDEC 20840010 */ addi $a0, $a0, 0x10 # handwritten instruction
|
|
.LJP_8006EDF0:
|
|
/* 4A1F0 8006EDF0 14C00004 */ bnez $a2, .LJP_8006EE04
|
|
/* 4A1F4 8006EDF4 00000000 */ nop
|
|
/* 4A1F8 8006EDF8 8C880000 */ lw $t0, 0x0($a0)
|
|
/* 4A1FC 8006EDFC 24060020 */ addiu $a2, $zero, 0x20
|
|
/* 4A200 8006EE00 20840004 */ addi $a0, $a0, 0x4 # handwritten instruction
|
|
.LJP_8006EE04:
|
|
/* 4A204 8006EE04 0100482A */ slt $t1, $t0, $zero
|
|
/* 4A208 8006EE08 11200006 */ beqz $t1, .LJP_8006EE24
|
|
/* 4A20C 8006EE0C 00000000 */ nop
|
|
/* 4A210 8006EE10 832A0000 */ lb $t2, 0x0($t9)
|
|
/* 4A214 8006EE14 23390001 */ addi $t9, $t9, 0x1 # handwritten instruction
|
|
/* 4A218 8006EE18 A0AA0000 */ sb $t2, 0x0($a1)
|
|
/* 4A21C 8006EE1C 1000000E */ b .LJP_8006EE58
|
|
/* 4A220 8006EE20 20A50001 */ addi $a1, $a1, 0x1 # handwritten instruction
|
|
.LJP_8006EE24:
|
|
/* 4A224 8006EE24 94EA0000 */ lhu $t2, 0x0($a3)
|
|
/* 4A228 8006EE28 20E70002 */ addi $a3, $a3, 0x2 # handwritten instruction
|
|
/* 4A22C 8006EE2C 000A5B02 */ srl $t3, $t2, 12
|
|
/* 4A230 8006EE30 314A0FFF */ andi $t2, $t2, 0xFFF
|
|
/* 4A234 8006EE34 1160000D */ beqz $t3, .LJP_8006EE6C
|
|
/* 4A238 8006EE38 00AA4822 */ sub $t1, $a1, $t2
|
|
/* 4A23C 8006EE3C 216B0002 */ addi $t3, $t3, 0x2 # handwritten instruction
|
|
.LJP_8006EE40:
|
|
/* 4A240 8006EE40 812AFFFF */ lb $t2, -0x1($t1)
|
|
/* 4A244 8006EE44 216BFFFF */ addi $t3, $t3, -0x1 # handwritten instruction
|
|
/* 4A248 8006EE48 21290001 */ addi $t1, $t1, 0x1 # handwritten instruction
|
|
/* 4A24C 8006EE4C A0AA0000 */ sb $t2, 0x0($a1)
|
|
/* 4A250 8006EE50 1560FFFB */ bnez $t3, .LJP_8006EE40
|
|
/* 4A254 8006EE54 20A50001 */ addi $a1, $a1, 0x1 # handwritten instruction
|
|
.LJP_8006EE58:
|
|
/* 4A258 8006EE58 00084040 */ sll $t0, $t0, 1
|
|
/* 4A25C 8006EE5C 14B8FFE4 */ bne $a1, $t8, .LJP_8006EDF0
|
|
/* 4A260 8006EE60 20C6FFFF */ addi $a2, $a2, -0x1 # handwritten instruction
|
|
/* 4A264 8006EE64 03E00008 */ jr $ra
|
|
/* 4A268 8006EE68 00000000 */ nop
|
|
.LJP_8006EE6C:
|
|
/* 4A26C 8006EE6C 932B0000 */ lbu $t3, 0x0($t9)
|
|
/* 4A270 8006EE70 23390001 */ addi $t9, $t9, 0x1 # handwritten instruction
|
|
/* 4A274 8006EE74 1000FFF2 */ b .LJP_8006EE40
|
|
/* 4A278 8006EE78 216B0012 */ addi $t3, $t3, 0x12 # handwritten instruction
|
|
/* 4A27C 8006EE7C 00000000 */ nop
|