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
63 lines
2.7 KiB
ArmAsm
63 lines
2.7 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 osInvalDCache
|
|
/* 3CAF0 800616F0 18A00020 */ blez $a1, .LJP_80061774
|
|
/* 3CAF4 800616F4 00000000 */ nop
|
|
/* 3CAF8 800616F8 240B2000 */ addiu $t3, $zero, 0x2000
|
|
/* 3CAFC 800616FC 00AB082B */ sltu $at, $a1, $t3
|
|
/* 3CB00 80061700 1020001E */ beqz $at, .LJP_8006177C
|
|
/* 3CB04 80061704 00000000 */ nop
|
|
/* 3CB08 80061708 00804021 */ addu $t0, $a0, $zero
|
|
/* 3CB0C 8006170C 00854821 */ addu $t1, $a0, $a1
|
|
/* 3CB10 80061710 0109082B */ sltu $at, $t0, $t1
|
|
/* 3CB14 80061714 10200017 */ beqz $at, .LJP_80061774
|
|
/* 3CB18 80061718 00000000 */ nop
|
|
/* 3CB1C 8006171C 2529FFF0 */ addiu $t1, $t1, -0x10
|
|
/* 3CB20 80061720 310A000F */ andi $t2, $t0, 0xF
|
|
/* 3CB24 80061724 11400007 */ beqz $t2, .LJP_80061744
|
|
/* 3CB28 80061728 00000000 */ nop
|
|
/* 3CB2C 8006172C 010A4023 */ subu $t0, $t0, $t2
|
|
/* 3CB30 80061730 BD150000 */ cache 0x15, 0x0($t0) # handwritten instruction
|
|
/* 3CB34 80061734 0109082B */ sltu $at, $t0, $t1
|
|
/* 3CB38 80061738 1020000E */ beqz $at, .LJP_80061774
|
|
/* 3CB3C 8006173C 00000000 */ nop
|
|
/* 3CB40 80061740 25080010 */ addiu $t0, $t0, 0x10
|
|
.LJP_80061744:
|
|
/* 3CB44 80061744 312A000F */ andi $t2, $t1, 0xF
|
|
/* 3CB48 80061748 11400006 */ beqz $t2, .LJP_80061764
|
|
/* 3CB4C 8006174C 00000000 */ nop
|
|
/* 3CB50 80061750 012A4823 */ subu $t1, $t1, $t2
|
|
/* 3CB54 80061754 BD350010 */ cache 0x15, 0x10($t1) # handwritten instruction
|
|
/* 3CB58 80061758 0128082B */ sltu $at, $t1, $t0
|
|
/* 3CB5C 8006175C 14200005 */ bnez $at, .LJP_80061774
|
|
/* 3CB60 80061760 00000000 */ nop
|
|
.LJP_80061764:
|
|
/* 3CB64 80061764 BD110000 */ cache 0x11, 0x0($t0) # handwritten instruction
|
|
/* 3CB68 80061768 0109082B */ sltu $at, $t0, $t1
|
|
/* 3CB6C 8006176C 1420FFFD */ bnez $at, .LJP_80061764
|
|
/* 3CB70 80061770 25080010 */ addiu $t0, $t0, 0x10
|
|
.LJP_80061774:
|
|
/* 3CB74 80061774 03E00008 */ jr $ra
|
|
/* 3CB78 80061778 00000000 */ nop
|
|
.LJP_8006177C:
|
|
/* 3CB7C 8006177C 3C088000 */ lui $t0, 0x8000
|
|
/* 3CB80 80061780 010B4821 */ addu $t1, $t0, $t3
|
|
/* 3CB84 80061784 2529FFF0 */ addiu $t1, $t1, -0x10
|
|
.LJP_80061788:
|
|
/* 3CB88 80061788 BD010000 */ cache 0x01, 0x0($t0) # handwritten instruction
|
|
/* 3CB8C 8006178C 0109082B */ sltu $at, $t0, $t1
|
|
/* 3CB90 80061790 1420FFFD */ bnez $at, .LJP_80061788
|
|
/* 3CB94 80061794 25080010 */ addiu $t0, $t0, (0x80000010 & 0xFFFF)
|
|
/* 3CB98 80061798 03E00008 */ jr $ra
|
|
/* 3CB9C 8006179C 00000000 */ nop
|