- 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)
1.5 KiB
BFM matching progress (generated by tools/progress.py — authoritative)
REAL substantive matches : 43 <- the Gen1-exit >=25 bar counts THIS LINKED real PsyQ objects : 375 <- byte-identical via linked SDK objects NON_MATCHING (near-miss) : 7 splat-auto empty no-ops : 42 INCLUDE_ASM stubs : 1626 data blobs (excluded) : 2
matchable functions : 2093 REAL / matchable : 43 / 2093 = 2.05% byte-identical/ matchable: 460 / 2093 = 21.98% (REAL+LINKED+empties)
LINKED subsegs: libcd1 libcd2 libetc libgs1 libgs2 libgs3 libgs4 libgs5 libgs6 (375 fns) REAL matches: CdQueueBusy CdReadRequest DebugMenuHandler GameModeDispatch LoaderResetReadState LzssDecodeSector ResourceGetCdLoc func_80012AB0 func_800168B4 func_80018F20 func_80019018 func_80019198 func_80019378 func_80019388 func_80019398 func_800193A8 func_8001AA78 func_8001AA88 func_8001B22C func_8001B374 func_8001B384 func_8001B85C func_8001BE20 func_8001BFA0 func_8001BFE8 func_8001D0E8 func_80029254 func_80029264 func_80029504 func_80029514 func_8002953C func_8002954C func_8002957C func_8002958C func_80029FD4 func_8002A26C func_8002A27C func_8002A4B8 func_8002A4C8 func_8002A728 func_8002A738 func_8002A998 func_8002A9A8 NON_MATCHING: CdReadSectorReadyCB CdReadStateMachine LoaderInitFileTable ResourceLoadStateMachine StreamLoadStateMachine func_80015A74 func_80016714
build SHA1: 143dbb89f34491258bbc27810d0a12ec8b43a8dd (byte-identical)
empties audit: 42/42 genuine jr;nop (all clean)