Files
BFM-decomp/src/libgpu.c
T
Drew T ade73cce62 feat(phase-8): link libgpu EXT+PRIM byte-identical (T4); exclude SYS.o (scattered .bss)
- splat: split 800b2 into [800b2][libgpu][800c]; libgpu block = EXT.o+PRIM.o
  (vram 0x80058890-0x80059234, holds LoadClut/LoadClut2 + primitives)
- SYS.o (3109 ins) EXCLUDED — scattered-.bss commons (cookbook §9.1, the GS_001
  class): SYS references .bss by section+offset but the original linker scattered
  the commons across 0x80078xxx/0x800c5xxx, so no single NOLOAD base reproduces it.
  Stays a byte-identical INCLUDE_ASM stub in 800c; documented in docs/psyq-worklist.md
- curated dir .run/obj40/libgpu_used = {EXT,PRIM} (validates the _used mechanism for
  the later alias libraries); Makefile LIBGPU_* + gated psyq_integrate + -T
- src/800b2.c trimmed; src/libgpu.c + src/800c.c committed (stub records); the trim's
  9 "moved" items were all splat-auto empties (regenerated identically, 0 real lost)
- dual byte-gate PASS: 143dbb89 with libgpu objects AND without (stub fallback)
- LINKED 375 -> 424; REAL still 43; byte-identical 24.32%
2026-06-15 18:21:25 -06:00

103 lines
2.6 KiB
C

#include "common.h"
INCLUDE_ASM("asm/nonmatchings/libgpu", func_80058890);
INCLUDE_ASM("asm/nonmatchings/libgpu", EXT_OBJ_A8);
INCLUDE_ASM("asm/nonmatchings/libgpu", EXT_OBJ_AC);
INCLUDE_ASM("asm/nonmatchings/libgpu", LoadClut);
INCLUDE_ASM("asm/nonmatchings/libgpu", LoadClut2);
INCLUDE_ASM("asm/nonmatchings/libgpu", func_80058A4C);
INCLUDE_ASM("asm/nonmatchings/libgpu", EXT_OBJ_234);
INCLUDE_ASM("asm/nonmatchings/libgpu", func_80058B04);
INCLUDE_ASM("asm/nonmatchings/libgpu", func_80058B40);
INCLUDE_ASM("asm/nonmatchings/libgpu", GetClut);
INCLUDE_ASM("asm/nonmatchings/libgpu", DumpTPage);
INCLUDE_ASM("asm/nonmatchings/libgpu", DumpClut);
INCLUDE_ASM("asm/nonmatchings/libgpu", NextPrim);
INCLUDE_ASM("asm/nonmatchings/libgpu", IsEndPrim);
INCLUDE_ASM("asm/nonmatchings/libgpu", AddPrim);
INCLUDE_ASM("asm/nonmatchings/libgpu", AddPrims);
INCLUDE_ASM("asm/nonmatchings/libgpu", func_80058CE4);
INCLUDE_ASM("asm/nonmatchings/libgpu", TermPrim);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetSemiTrans);
INCLUDE_ASM("asm/nonmatchings/libgpu", PRIM_OBJ_200);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetShadeTex);
INCLUDE_ASM("asm/nonmatchings/libgpu", PRIM_OBJ_228);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetPolyF3);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetPolyFT3);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetPolyG3);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetPolyGT3);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetPolyF4);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetPolyFT4);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetPolyG4);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetPolyGT4);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetSprt8);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetSprt16);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetSprt);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetTile1);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetTile8);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetTile16);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetTile);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetLineF2);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetLineG2);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetLineF3);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetLineG3);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetLineF4);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetLineG4);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetDrawTPage);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetDrawMove);
INCLUDE_ASM("asm/nonmatchings/libgpu", SetDrawLoad);
INCLUDE_ASM("asm/nonmatchings/libgpu", MargePrim);
void PRIM_OBJ_52C(void) {
}
INCLUDE_ASM("asm/nonmatchings/libgpu", DumpDrawEnv);
INCLUDE_ASM("asm/nonmatchings/libgpu", DumpDispEnv);