- libapi (BIOS syscall trampolines) + libcard interleave in 0x61F38..0x62888; linked as one combined region (4 blocks apicard1..4) via tools/make_apicard_used.py (C112.o shared, byte-match dedup, 0 exclusions) - subsegs via gen_lib_subsegs.py; integrate window 0x61F38..0x62888; region verified 22/22 - rm'd src/800c2.c (region starts with a lib block) -> splat regenerates apicard1..4 + frags - dual byte-gate PASS: 143dbb89 with and without the apicard objects - LINKED 935 -> 959 (+24); REAL still 43; byte-identical 49.81% - libapi's ~22 objects in the 800c3 region DEFERRED (lowest value); SSGM + the scattered-.bss exclusions documented in docs/psyq-worklist.md LIBRARY CEILING: 8 PsyQ libraries linked byte-identical (959 LINKED fns); byte-identical coverage 20.31% (libcd+libgs only) -> 49.81%. Remaining = documented low-value deferrals.
1.8 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 : 959 <- byte-identical via linked SDK objects NON_MATCHING (near-miss) : 7 splat-auto empty no-ops : 42 INCLUDE_ASM stubs : 1045 data blobs (excluded) : 2
matchable functions : 2096 REAL / matchable : 43 / 2096 = 2.05% byte-identical/ matchable: 1044 / 2096 = 49.81% (REAL+LINKED+empties)
LINKED subsegs: apicard1 apicard2 apicard3 apicard4 libc2_1 libc2_2 libcd1 libcd2 libetc libgpu libgs1 libgs2 libgs3 libgs4 libgs5 libgs6 libgte1 libgte10 libgte11 libgte12 libgte13 libgte14 libgte15 libgte16 libgte17 libgte18 libgte19 libgte2 libgte20 libgte21 libgte22 libgte3 libgte4 libgte5 libgte6 libgte7 libgte8 libgte9 libmcrd1 libmcrd2 snd1 snd2 snd3 snd4 snd5 snd6 snd7 snd8 snd9 (959 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)