mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-29 07:10:32 -04:00
fd8ae5327f
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. DpqColorLight FGO_02_OBJ_160 SsUtReverbOff StoreImage __main func_80013FBC func_80014564 func_80028ECC func_8002A28C func_80062768
104 lines
2.7 KiB
C
104 lines
2.7 KiB
C
#include "common.h"
|
|
|
|
INCLUDE_ASM("asm/nonmatchings/800c2_3", func_800626C8);
|
|
|
|
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"
|
|
);
|