mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 13:33:34 -04:00
379185a799
Mid-phase checkpoint (Drew-directed; phase NOT closed — R8 exception).
- reports (Task 3): tools/{progress,difficulty,dup_report}.py + `make report`
(deterministic) + `make sig-refresh`; authoritative baseline 38 real / 2050
matchable; empties audit 42/42 genuine jr;nop; docs/{progress,difficulty,
duplicates}.md digests
- matches (Tasks 4-5): +24 byte-identical (22 accessor leaves via the harvest
pattern + ResourceGetCdLoc + LoaderResetReadState); make check BYTE-IDENTICAL
throughout (143dbb89...)
- config/symbols.us.txt: declare func_80047CAC (R15) — fixes a latent
non-reproducibility (spimdisasm 1.41.0 auto-detect of an 8B inter-fn blob was
unstable across clean extracts; the committed Phase-6 baseline did not
deterministically rebuild)
- Task 1 rodata-island foundation: investigated (migration co-locates jump
tables + resolves refs, but byte-identity blocked by splat global-migration +
contiguous linker placement vs BFM's monolithic segment) -> DEFERRED to Task 2'
with a candidate fix; full findings in phase-ends/CURRENT_PHASE.md
- phase-ends/CURRENT_PHASE.md: reordered plan, loader-cluster triage, per-session
green-check log (1 of >=3 needed for the Gen1-exit milestone)
3.1 KiB
3.1 KiB
EXE-wide duplicate function groups (generated by tools/dup_report.py)
sig: .run/sig.SLUS_007.26.jsonl sha1=fb76354f3443387f31501a6b2986abc0fae770d6 (1729 funcs, 949 with nins>=8)
Match the representative once -> share the body to the duplicates (h_exact = guaranteed
byte-match; h_norm = same source, re-point any single address constant).
h_exact (byte-identical) — nins>=8: 7 groups, 8 redundant (collapsible)
| score | nins | count | representative | duplicates |
|---|---|---|---|---|
| 33 | 11 | 3 | SYS_OBJ_538 (0x80043948) | 0x80060904 0x80060bc0 |
| 20 | 10 | 2 | TOC_OBJ_220 (0x800432d8) | 0x80045918 |
| 20 | 10 | 2 | def_cbready (0x800433c0) | 0x800433e8 |
| 18 | 9 | 2 | FUN_80037004 (0x80037004) | 0x80037334 |
| 18 | 9 | 2 | VS_VTBP_OBJ_13C (0x80042290) | 0x800459c4 |
| 18 | 9 | 2 | ISO9660_OBJ_2A8 (0x8004561c) | 0x8005b660 |
| 16 | 8 | 2 | S_M_M_OBJ_2A8 (0x80042134) | 0x8005ba70 |
h_norm (structural) — nins>=8: 34 groups, 44 redundant (collapsible)
| score | nins | count | representative | duplicates |
|---|---|---|---|---|
| 375 | 125 | 3 | GS_133_OBJ_30 (0x80054544) | 0x80054808 0x80054ae4 |
| 154 | 77 | 2 | _card_read_data (0x800604c4) | 0x800606d4 |
| 74 | 37 | 2 | FUN_80011818 (0x80011818) | 0x80011b7c |
| 70 | 35 | 2 | LIBMCRD_OBJ_DD0 (0x80060a38) | 0x80060cf4 |
| 64 | 8 | 8 | FUN_80027bf0 (0x80027bf0) | 0x8002eeb8 0x8002fdc8 0x80046610 0x80053308 0x8005d0f8 0x8005fc98 0x80061a80 |
| 64 | 32 | 2 | FUN_80031e94 (0x80031e94) | 0x80031fc8 |
| 56 | 28 | 2 | VM_NOWON_OBJ_1C0 (0x80040af8) | 0x80040b68 |
| 54 | 27 | 2 | FUN_8002eff8 (0x8002eff8) | 0x8002f064 |
| 50 | 25 | 2 | RotMatrixX (0x80049f3c) | 0x8004a27c |
| 40 | 20 | 2 | OBJT2_OBJ_69C (0x80057730) | 0x800577d4 |
| 38 | 19 | 2 | S_M_UTIL_OBJ_2C (0x8003b37c) | 0x8003b408 |
| 36 | 18 | 2 | PRESET2_OBJ_550 (0x80056290) | 0x80056324 |
| 33 | 11 | 3 | SYS_OBJ_538 (0x80043948) | 0x80060904 0x80060bc0 |
| 32 | 16 | 2 | SYS_OBJ_1964 (0x8005ab98) | 0x8005ac64 |
| 32 | 16 | 2 | _card_read_file (0x80060930) | 0x80060bec |
| 32 | 16 | 2 | LIBMCRD_OBJ_D2C (0x80060994) | 0x80060c50 |
| 30 | 10 | 3 | FUN_8002ee90 (0x8002ee90) | 0x8002efd0 0x80062360 |
| 28 | 14 | 2 | PRESET2_OBJ_AF0 (0x80056830) | 0x800568a8 |
| 28 | 14 | 2 | SYS_OBJ_1FF4 (0x8005b228) | 0x8005b460 |
| 26 | 13 | 2 | SYS_OBJ_19A4 (0x8005abd8) | 0x8005aca4 |
| 26 | 13 | 2 | LIBMCRD_OBJ_D9C (0x80060a04) | 0x80060cc0 |
| 24 | 8 | 3 | SsUtReverbOff (0x800285ac) | 0x8003a424 0x8003d96c |
| 24 | 12 | 2 | LIBMCRD_OBJ_D6C (0x800609d4) | 0x80060c90 |
| 22 | 11 | 2 | PRESET2_OBJ_4FC (0x8005623c) | 0x8005636c |
| 22 | 11 | 2 | PRESET2_OBJ_AA8 (0x800567e8) | 0x800568e0 |
| 22 | 11 | 2 | OBJT2_OBJ_640 (0x800576d4) | 0x80057824 |
| 20 | 10 | 2 | VM_NO1_OBJ_264 (0x80040608) | 0x80040bd8 |
| 20 | 10 | 2 | TOC_OBJ_220 (0x800432d8) | 0x80045918 |
| 20 | 10 | 2 | def_cbready (0x800433c0) | 0x800433e8 |
| 18 | 9 | 2 | FUN_80037004 (0x80037004) | 0x80037334 |
| 18 | 9 | 2 | VS_VTBP_OBJ_13C (0x80042290) | 0x800459c4 |
| 18 | 9 | 2 | ISO9660_OBJ_2A8 (0x8004561c) | 0x8005b660 |
| 18 | 9 | 2 | LIBMCRD_OBJ_D08 (0x80060970) | 0x80060c2c |
| 16 | 8 | 2 | S_M_M_OBJ_2A8 (0x80042134) | 0x8005ba70 |