Files
BFM-decomp/src/800c2_3.c
T
Drew T 64c3f0e17a feat(decomp): main lane m74 — 39 banked
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
2026-08-26 08:26:19 -06:00

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"
);