Files
BFM-decomp/src/libetc.c
T
Drew T 675872616d feat(phase-8): link libetc byte-identical (T3) — 5 objs / 35 fns
- splat: carve libetc subseg (vram 0x8004239C-0x80043088, VSYNC/INTR/INTR_VB/
  INTR_DMA/VMODE) out of the 800-subseg tail (ends exactly at libcd1); 5 objs,
  1 contiguous block, no placement window needed, no matched-C disturbed
- Makefile: LIBETC_ELF/OBJDIR/SYMS + gated psyq_integrate call + -T on the ld line
  (same conditional/stub-fallback model as libcd/libgs)
- src/800.c trimmed (split_src_region: dropped 35 libetc stubs, 0 real-C moved);
  src/libetc.c committed (35 INCLUDE_ASM stub records)
- pre-wire gate: psyq_link_lib 5/5 objects byte-identical (.text)
- dual byte-gate PASS: make check 143dbb89 WITH libetc objects AND without them
  (stub fallback) — both byte-identical
- progress.py LINKED 340 -> 375 (+35), stubs -> 1626, byte-identical 21.98%
  (metric auto-updated from the new Makefile psyq_integrate call)
2026-06-15 18:08:57 -06:00

72 lines
1.9 KiB
C

#include "common.h"
INCLUDE_ASM("asm/nonmatchings/libetc", VSync);
INCLUDE_ASM("asm/nonmatchings/libetc", VSYNC_OBJ_84);
INCLUDE_ASM("asm/nonmatchings/libetc", VSYNC_OBJ_130);
INCLUDE_ASM("asm/nonmatchings/libetc", func_800424E4);
INCLUDE_ASM("asm/nonmatchings/libetc", VSYNC_OBJ_1D4);
INCLUDE_ASM("asm/nonmatchings/libetc", func_80042580);
INCLUDE_ASM("asm/nonmatchings/libetc", func_800425B0);
INCLUDE_ASM("asm/nonmatchings/libetc", func_800425E0);
INCLUDE_ASM("asm/nonmatchings/libetc", func_80042610);
INCLUDE_ASM("asm/nonmatchings/libetc", func_80042644);
INCLUDE_ASM("asm/nonmatchings/libetc", StopCallback);
INCLUDE_ASM("asm/nonmatchings/libetc", RestartCallback);
INCLUDE_ASM("asm/nonmatchings/libetc", func_800426D4);
INCLUDE_ASM("asm/nonmatchings/libetc", GetIntrMask);
INCLUDE_ASM("asm/nonmatchings/libetc", func_800426FC);
INCLUDE_ASM("asm/nonmatchings/libetc", func_80042718);
INCLUDE_ASM("asm/nonmatchings/libetc", func_800427F4);
INCLUDE_ASM("asm/nonmatchings/libetc", INTR_OBJ_428);
INCLUDE_ASM("asm/nonmatchings/libetc", func_800429DC);
INCLUDE_ASM("asm/nonmatchings/libetc", INTR_OBJ_514);
INCLUDE_ASM("asm/nonmatchings/libetc", stopIntr);
INCLUDE_ASM("asm/nonmatchings/libetc", restartIntr);
INCLUDE_ASM("asm/nonmatchings/libetc", INTR_OBJ_6D0);
INCLUDE_ASM("asm/nonmatchings/libetc", func_80042C64);
INCLUDE_ASM("asm/nonmatchings/libetc", func_80042C90);
INCLUDE_ASM("asm/nonmatchings/libetc", trapIntrVSync);
INCLUDE_ASM("asm/nonmatchings/libetc", setIntrVSync);
INCLUDE_ASM("asm/nonmatchings/libetc", func_80042D8C);
INCLUDE_ASM("asm/nonmatchings/libetc", func_80042DB8);
INCLUDE_ASM("asm/nonmatchings/libetc", trapIntrDMA);
INCLUDE_ASM("asm/nonmatchings/libetc", setIntrDMA);
INCLUDE_ASM("asm/nonmatchings/libetc", INTR_DMA_OBJ_274);
INCLUDE_ASM("asm/nonmatchings/libetc", func_80043034);
INCLUDE_ASM("asm/nonmatchings/libetc", func_80043060);
INCLUDE_ASM("asm/nonmatchings/libetc", func_80043078);