mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-03 08:07:25 -04:00
64c3f0e17a
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked BYTE-IDENTICAL against config/check.us.sha before anything was credited. GetGraphDebug GetGraphType SYS_OBJ_1964 SYS_OBJ_1A30 SYS_OBJ_1AF0 SYS_OBJ_2F7C SetDQA SetDQB SetData32 SetVertex1 SetVertex2 _96_remove _SsSndPlay func_8001096C func_80010B10 func_80010D60 func_80010DE0 func_80010E14 func_80010E48 func_80011220 func_800112A8 func_80011320 func_80011350 func_80011DF4 func_8001311C func_800191BC func_800388E8 func_80039F14 func_8003A098 func_8003A404 func_8003D424 func_8005AB58 func_8005AC24 func_8005CF08 func_8005CF18 func_8005E194 func_8005F384 func_80062394 func_800626C8
121 lines
3.0 KiB
C
121 lines
3.0 KiB
C
#include "common.h"
|
|
|
|
__asm__(
|
|
".text\n"
|
|
".align 2\n"
|
|
".globl func_800626C8\n"
|
|
".ent\tfunc_800626C8\n"
|
|
"func_800626C8:\n"
|
|
".frame $sp, 0, $31\n"
|
|
".mask 0x00000000, 0\n"
|
|
".fmask 0x00000000, 0\n"
|
|
".set\tnoreorder\n"
|
|
"lui $t1, %hi(jtbl_80078D20_main)\n"
|
|
"lw $t1, %lo(jtbl_80078D20_main)($t1)\n"
|
|
"nop\n"
|
|
"jr $t1\n"
|
|
"nop\n"
|
|
".set\treorder\n"
|
|
".end\tfunc_800626C8\n"
|
|
);
|
|
|
|
INCLUDE_ASM("asm/nonmatchings/800c2_3", func_800626DC);
|
|
|
|
__asm__(
|
|
".text\n"
|
|
".align 2\n"
|
|
".globl func_800626F0\n"
|
|
".ent\tfunc_800626F0\n"
|
|
"func_800626F0:\n"
|
|
".frame $sp, 0, $31\n"
|
|
".mask 0x00000000, 0\n"
|
|
".fmask 0x00000000, 0\n"
|
|
".set\tnoreorder\n"
|
|
"lui $at, %hi(D_80078D18)\n"
|
|
"sw $ra, %lo(D_80078D18)($at)\n"
|
|
"jal func_8005CF08\n"
|
|
"nop\n"
|
|
"addiu $t1, $0, 87\n"
|
|
"addiu $t2, $0, 176\n"
|
|
"jalr $t2\n"
|
|
"nop\n"
|
|
"lw $v0, 364($v0)\n"
|
|
"addiu $t1, $0, 11\n"
|
|
"addi $v1, $v0, 2180\n"
|
|
"lui $at, %hi(jtbl_80078D20_main)\n"
|
|
"sw $v1, %lo(jtbl_80078D20_main)($at)\n"
|
|
"addi $v1, $v0, 2196\n"
|
|
"lui $at, %hi(jtbl_80078D24_main)\n"
|
|
"sw $v1, %lo(jtbl_80078D24_main)($at)\n"
|
|
".L80062730:\n"
|
|
"sw $0, 1428($v0)\n"
|
|
"addiu $v0, $v0, 4\n"
|
|
"addiu $t1, $t1, -1\n"
|
|
"bnez $t1, .L80062730\n"
|
|
"nop\n"
|
|
"jal FlushCache\n"
|
|
"nop\n"
|
|
"lui $ra, %hi(D_80078D18)\n"
|
|
"lw $ra, %lo(D_80078D18)($ra)\n"
|
|
"nop\n"
|
|
"jr $ra\n"
|
|
"nop\n"
|
|
".set\treorder\n"
|
|
".end\tfunc_800626F0\n"
|
|
"nop\n"
|
|
"nop\n"
|
|
);
|
|
|
|
/* Handwritten function (splat header) — banked verbatim per §265 form 1.
|
|
* Recovered semantics:
|
|
* D_80078D28 = return address; func_8005CF08(); call vector 0xB0 ($t2=176);
|
|
* p = (*(ret + 0x16C)) + 0x62C; for (i = 9; i; --i) *p++ = 0;
|
|
* FlushCache(); func_8005CF18(); return via saved $ra.
|
|
* NOTE: maspsx did NOT auto-insert load-delay nops here (after
|
|
* "lw $v0,364($v0)" and "lw $ra,%lo(D_80078D28)($ra)") — both written by
|
|
* hand, matching the banked sibling func_800626F0 in this same TU; this
|
|
* contradicts §179-B rule 4 as observed on this build.
|
|
*/
|
|
__asm__(
|
|
".text\n"
|
|
".align 2\n"
|
|
".globl func_80062768\n"
|
|
".ent\tfunc_80062768\n"
|
|
"func_80062768:\n"
|
|
".frame $sp, 0, $31\n"
|
|
".mask 0x00000000, 0\n"
|
|
".fmask 0x00000000, 0\n"
|
|
".set\tnoreorder\n"
|
|
"lui $at, %hi(D_80078D28)\n"
|
|
"sw $ra, %lo(D_80078D28)($at)\n"
|
|
"jal func_8005CF08\n"
|
|
"nop\n"
|
|
"addiu $t1, $0, 87\n"
|
|
"addiu $t2, $0, 176\n"
|
|
"jalr $t2\n"
|
|
"nop\n"
|
|
"addiu $t2, $0, 9\n"
|
|
"lw $v0, 364($v0)\n"
|
|
"nop\n"
|
|
"addi $v1, $v0, 1580\n"
|
|
".L80062798:\n"
|
|
"sw $0, 0($v1)\n"
|
|
"addiu $v1, $v1, 4\n"
|
|
"addiu $t2, $t2, -1\n"
|
|
"bnez $t2, .L80062798\n"
|
|
"nop\n"
|
|
"jal FlushCache\n"
|
|
"nop\n"
|
|
"jal func_8005CF18\n"
|
|
"nop\n"
|
|
"lui $ra, %hi(D_80078D28)\n"
|
|
"lw $ra, %lo(D_80078D28)($ra)\n"
|
|
"nop\n"
|
|
"jr $ra\n"
|
|
"nop\n"
|
|
".set\treorder\n"
|
|
".end\tfunc_80062768\n"
|
|
"nop\n"
|
|
"nop\n"
|
|
);
|