Files
BFM-decomp/docs/difficulty.resident.md
T
Drew T 03978ec4ba feat(phase-10): T4 — resident Ghidra program (2nd binary) + symbol seed + sig
- tools/ghidra_import_raw.sh (NEW): raw-blob importer (BinaryLoader + --loader-baseAddr +
  PSX:LE:32:default) — the Gen2 counterpart to ghidra_import.sh (PS-X-EXE only); reusable for
  Phase-13 location overlays. Imports the resident blob as program 'resident' @0x800CEDF8.
- tools/ghidra_scripts/DefineFunctions.java (NEW): seed splat's validated entry points
  (.run/<prog>_funcs.txt) — raw-binary auto-analysis finds only the reachable subset (23/143);
  this defines all 143 (created=120/existed=23/failed=0). R9-verified 143 funcs persisted.
- FINDING: DetectPsyQ reports the resident is PsyQ 4.7.0 (the EXE is 4.0.0); the lone in-range
  PsyQ-signature hit is DsMix (libsnd -> resident holds the sound driver). 4.7 .LIBs DEFERRED to
  Phase 11 start (Drew); carried to PhaseEnd Notes. Phase 10 needs nothing from 4.7.
- config/symbols.resident.txt: seed DsMix (R13 candidate, 4.0-sig vs 4.7 blob — confirm in Phase 11);
  stacked under symbols.us.txt, applied on re-extract -> resident still 8e17e02f BYTE-IDENTICAL (R22),
  main still 143dbb89 (no regression)
- Makefile: per-binary GHIDRA_PROG -> 'make sig-refresh BINARY=resident' (.run/sig.resident.jsonl)
- dup_report.resident now real (6 byte-identical intra-resident groups — Phase-11 dedup fodder)
- ghidra DB committed (R23, MCP stopped): new resident program 00000003.* (+ main db.15->16 no-op)
2026-06-15 23:25:00 -06:00

5.5 KiB

Unmatched difficulty inventory (generated by tools/difficulty.py — harvest queue)

unmatched functions : 143 trivial (<=5 ins) : 14 non-jtbl leaves : 50 (best harvest targets) jump-table funcs : 5 (deferred — need the rodata-island workflow, Task 2')

Easiest 120 unmatched (score asc) — the work queue

score name nins br calls jtbl leaf
4 func_800CF854 4 0 0 - Y
4 func_800CFBBC 4 0 0 - Y
4 func_800CFBE8 4 0 0 - Y
4 func_800D02C0 4 0 0 - Y
4 func_800D1714 4 0 0 - Y
4 func_800D1724 4 0 0 - Y
4 func_800D1734 4 0 0 - Y
4 func_800D1744 4 0 0 - Y
5 func_800CF804 5 0 0 - Y
5 func_800CF818 5 0 0 - Y
5 func_800CF82C 5 0 0 - Y
5 func_800CF840 5 0 0 - Y
5 func_800D19DC 5 0 0 - Y
5 func_800D3384 5 0 0 - Y
6 func_800CF8B4 6 0 0 - Y
6 func_800CF8CC 6 0 0 - Y
7 func_800CFBCC 7 0 0 - Y
7 func_800D06CC 7 0 0 - Y
7 func_800D1D94 7 0 0 - Y
7 func_800D3104 7 0 0 - Y
9 func_800D1054 9 0 0 - Y
9 func_800D1078 9 0 0 - Y
9 func_800D10C8 9 0 0 - Y
10 DsMix 8 0 1 - -
10 func_800CEFB0 8 0 1 - -
10 func_800CF398 8 0 1 - -
10 func_800D0FE0 8 0 1 - -
10 func_800D25FC 10 0 0 - Y
10 func_800D30A8 8 0 1 - -
10 func_800D3328 8 0 1 - -
10 func_800D3398 8 0 1 - -
11 func_800D2DFC 9 0 1 - -
11 func_800D2EE8 9 0 1 - -
11 func_800D2F8C 9 0 1 - -
11 func_800D319C 9 0 1 - -
12 func_800D1000 10 0 1 - -
12 func_800D33B8 10 0 1 - -
12 func_800D33E0 10 0 1 - -
13 func_800D0630 11 0 1 - -
13 func_800D0C48 11 0 1 - -
13 func_800D22E4 13 0 0 - Y
13 func_800D2624 11 0 1 - -
14 func_800CEF34 10 0 2 - -
14 func_800CF370 10 0 2 - -
14 func_800D065C 14 0 0 - Y
14 func_800D0694 14 0 0 - Y
14 func_800D1F58 14 0 0 - Y
14 func_800D1F90 14 0 0 - Y
15 func_800CF4D4 15 0 0 - Y
15 func_800D0C74 11 0 2 - -
15 func_800D1028 11 0 2 - -
15 func_800D109C 11 0 2 - -
15 func_800D2F0C 15 0 0 - Y
15 func_800D2FB0 15 0 0 - Y
15 func_800D30C8 15 0 0 - Y
15 func_800D31C0 15 0 0 - Y
15 func_800D31FC 15 0 0 - Y
15 func_800D3238 15 0 0 - Y
15 func_800D3348 15 0 0 - Y
16 func_800D2468 14 0 1 - -
17 func_800CFD68 15 0 1 - -
18 func_800D0CA0 16 0 1 - -
18 func_800D2FEC 16 0 1 - -
19 func_800CEF04 12 1 2 - -
19 func_800CFDA4 17 0 1 - -
20 func_800CEDFC 17 1 0 - Y
20 func_800CEE40 17 1 0 - Y
20 func_800D0F0C 16 0 2 - -
21 func_800D2E20 19 0 1 - -
21 func_800D2F48 17 0 2 - -
23 func_800CF764 16 1 2 - -
23 func_800D05E8 18 1 1 - -
23 func_800D0F4C 16 1 2 - -
23 func_800D18DC 23 0 0 - Y
24 func_800CF94C 17 1 2 - -
24 func_800D2DAC 20 0 2 - -
25 func_800D1938 19 0 3 - -
26 func_800D0EC4 18 2 1 - -
27 func_800CEF5C 21 0 3 - -
28 func_800D32D4 21 1 2 - -
29 func_800D0F8C 21 2 1 - -
30 func_800D1984 22 2 1 - -
30 func_800D1B80 22 2 1 - -
30 func_800D2294 20 2 2 - -
31 func_800CF714 20 1 4 - -
31 func_800CF864 20 3 1 - -
32 func_800CF47C 22 2 2 - -
32 func_800D2CA8 26 2 0 - Y
32 func_800D3274 24 2 1 - -
33 func_800CF584 20 3 2 - -
34 func_800CF5D4 21 3 2 - -
35 func_800D1754 25 2 2 - -
35 func_800D185C 32 1 0 - Y
36 func_800D1B10 28 0 4 - -
36 func_800D1D24 28 0 4 - -
36 func_800D21C4 26 2 2 - -
36 func_800D222C 26 2 2 - -
37 func_800D0588 24 3 2 - -
38 func_800CF7A4 24 2 4 - -
38 func_800CFDE8 30 2 1 - -
42 func_800D23D0 36 0 3 - -
43 func_800D0E30 37 2 0 - Y
44 func_800D2E6C 31 1 5 - -
44 func_800D302C 31 1 5 - -
44 func_800D3120 31 1 5 - -
45 func_800CF8E4 26 3 5 - -
45 func_800CFBF8 25 6 1 - -
46 func_800D1DB0 28 4 3 - -
47 func_800CF510 29 2 6 - -
51 func_800CEE84 32 1 8 - -
52 func_800D0CE0 39 3 2 - -
52 func_800D2318 46 0 3 - -
54 func_800D0214 43 3 1 - -
56 func_800D11F0 39 3 4 - -
57 func_800D0D7C 45 4 0 - Y
57 func_800D17B8 41 4 2 - -
57 func_800D2D10 39 6 0 - Y
59 func_800CFAD0 59 0 0 - Y
68 func_800CF3B8 49 3 5 - -
68 func_800D1E28 37 7 5 - -