Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 3b0cc190b2 feat(phase-24): T7 whale func_80144B9C CRACKED + banked ×1 (-O0 struct-assign) + ×134 infra
- CRACK (cheap Opus, no Fable5/calls.c): the 770-ins reach-134 whale's 2-insn residual was a
  STRUCT ASSIGN `D_80078E50 = *ent;` (sizeof(ENT)==0x24), NOT an explicit memcpy() call — gcc-2.7.2
  -O0 expands a >MOVE_RATIO-word struct copy via emit_block_move->emit_library_call(memcpy),
  precomputing dst/src into pseudos then addu into $a0/$a1 = the exact 2 missing moves.
- -O0 SPLIT: whale is a 2nd -O0 region (prologue 21F0A003) in the -O2 'after' segment; carved into
  its own -O0 object o0b (splat.ov_SC01_077.yaml 3-way + Makefile CC1FLAGS=-O0; address-sorted
  line-split preserves all banked C). ov_SC01_077 == d19c9580.
- memcpy: memcpy=0x8005C324 in symbols.resident.txt (overlays+resident only; main untouched vs its
  MEMCPY.o) + __asm__("memcpy") on the engine_core.h block-copy macro (non-builtin C name -> no
  built-in codegen, same call).
- MILESTONE: CLEAN fleet check-all 136/136 byte-identical (R22), dedup 1810/0. reach-134 -> ×134 (W9) next.
2026-07-07 22:01:58 -06:00

8.2 KiB

BFM FLEET matching progress (generated by tools/progress.py --fleet — authoritative)

136 binaries: main + resident + 134 location overlays. DETERMINISTIC,

source-derived (committed src/*.c + config/dedup.us.yaml). Live byte gate: make check-all;

cross-binary collapsible-byte leverage: docs/duplicates.cross.md.

FLEET REAL substantive : 225816 (of which dedup-shared 223272 via 1810 groups / 223323 instances) FLEET LINKED PsyQ objs : 959 FLEET byte-identical : 227345 / 344941 = 65.91% (REAL+LINKED+empties) FLEET NON_MATCHING : 7 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 117589 FLEET matchable : 344941

binary REAL shared LINKED byte-ident matchable byte-ident %
main 54 2 959 1055 2096 50.3%
resident 123 0 0 125 146 85.6%
ov_SC01_000 1683 1669 0 1683 2410 69.8%
ov_SC01_001 1679 1669 0 1681 2474 67.9%
ov_SC01_004 1672 1660 0 1673 2423 69.0%
ov_SC01_005 1695 1682 0 1695 2511 67.5%
ov_SC01_006 1694 1682 0 1694 2511 67.5%
ov_SC01_008 1673 1660 0 1675 2435 68.8%
ov_SC01_009 1694 1661 0 1695 2517 67.3%
ov_SC01_074 1673 1661 0 1675 2434 68.8%
ov_SC01_077 2191 1621 0 2193 2586 84.8%
ov_SC01_080 1691 1664 0 1691 2522 67.0%
ov_SC01_084 1696 1664 0 1701 2588 65.7%
ov_SC02_000 1710 1699 0 1710 2691 63.5%
ov_SC02_003 1710 1699 0 1710 2691 63.5%
ov_SC02_004 1677 1664 0 1677 2410 69.6%
ov_SC02_005 1736 1660 0 1746 2937 59.4%
ov_SC02_011 1717 1667 0 1728 2903 59.5%
ov_SC02_015 1677 1666 0 1677 2423 69.2%
ov_SC02_016 1681 1666 0 1684 2555 65.9%
ov_SC02_017 1701 1666 0 1709 2742 62.3%
ov_SC02_021 1680 1666 0 1680 2446 68.7%
ov_SC02_026 1685 1664 0 1691 2582 65.5%
ov_SC02_027 1694 1664 0 1703 2702 63.0%
ov_SC02_028 1702 1664 0 1712 2711 63.2%
ov_SC02_031 1692 1665 0 1697 2572 66.0%
ov_SC02_035 1683 1664 0 1686 2530 66.6%
ov_SC02_039 1668 1664 0 1668 2425 68.8%
ov_SC02_041 1675 1664 0 1678 2570 65.3%
ov_SC03_001 1733 1665 0 1750 2877 60.8%
ov_SC03_002 1694 1669 0 1709 2639 64.8%
ov_SC03_003 1666 1664 0 1667 2432 68.5%
ov_SC03_006 1707 1670 0 1716 2775 61.8%
ov_SC03_007 1682 1664 0 1686 2633 64.0%
ov_SC03_010 1676 1664 0 1676 2479 67.6%
ov_SC03_011 1672 1664 0 1678 2537 66.1%
ov_SC03_012 1667 1664 0 1668 2415 69.1%
ov_SC03_013 1675 1664 0 1675 2502 66.9%
ov_SC03_014 1698 1689 0 1698 2695 63.0%
ov_SC03_015 1704 1689 0 1704 2695 63.2%
ov_SC03_023 1669 1664 0 1670 2444 68.3%
ov_SC03_024 1699 1669 0 1706 2651 64.4%
ov_SC03_028 1690 1664 0 1694 2674 63.4%
ov_SC03_029 1676 1666 0 1686 2654 63.5%
ov_SC03_030 1675 1668 0 1677 2505 66.9%
ov_SC03_031 1671 1664 0 1675 2524 66.4%
ov_SC03_089 1681 1664 0 1688 2591 65.1%
ov_SC03_090 1682 1664 0 1690 2635 64.1%
ov_SC03_091 1681 1664 0 1689 2650 63.7%
ov_SC03_092 1681 1664 0 1693 2597 65.2%
ov_SC03_093 1678 1664 0 1682 2573 65.4%
ov_SC03_094 1672 1664 0 1678 2586 64.9%
ov_SC03_095 1670 1664 0 1673 2484 67.4%
ov_SC03_096 1673 1664 0 1676 2475 67.7%
ov_SC03_097 1677 1664 0 1684 2613 64.4%
ov_SC03_098 1673 1664 0 1676 2551 65.7%
ov_SC03_099 1670 1664 0 1673 2514 66.5%
ov_SC03_100 1672 1664 0 1676 2549 65.8%
ov_SC03_101 1674 1664 0 1678 2538 66.1%
ov_SC03_102 1674 1664 0 1677 2502 67.0%
ov_SC03_103 1672 1666 0 1675 2520 66.5%
ov_SC03_104 1684 1664 0 1691 2626 64.4%
ov_SC03_105 1678 1664 0 1685 2607 64.6%
ov_SC03_108 1666 1664 0 1666 2453 67.9%
ov_SC03_109 1667 1664 0 1669 2433 68.6%
ov_SC03_110 1669 1664 0 1669 2478 67.4%
ov_SC03_111 1674 1664 0 1677 2520 66.5%
ov_SC03_112 1671 1666 0 1673 2536 66.0%
ov_SC03_113 1668 1666 0 1671 2478 67.4%
ov_SC03_114 1665 1664 0 1667 2424 68.8%
ov_SC03_115 1673 1664 0 1675 2482 67.5%
ov_SC03_116 1671 1664 0 1674 2448 68.4%
ov_SC03_117 1672 1664 0 1678 2567 65.4%
ov_SC03_118 1699 1688 0 1700 2695 63.1%
ov_SC03_119 1695 1688 0 1696 2695 62.9%
ov_SC03_121 1671 1664 0 1674 2469 67.8%
ov_SC03_124 1696 1660 0 1716 2751 62.4%
ov_SC03_125 1677 1664 0 1689 2598 65.0%
ov_SC03_126 1668 1666 0 1668 2432 68.6%
ov_SC04_000 1678 1668 0 1687 2554 66.1%
ov_SC04_002 1681 1664 0 1685 2646 63.7%
ov_SC04_003 1669 1664 0 1673 2512 66.6%
ov_SC04_004 1676 1664 0 1678 2568 65.3%
ov_SC04_005 1678 1664 0 1684 2622 64.2%
ov_SC04_006 1667 1664 0 1669 2463 67.8%
ov_SC04_007 1677 1664 0 1681 2579 65.2%
ov_SC04_008 1667 1664 0 1667 2424 68.8%
ov_SC04_009 1670 1664 0 1673 2450 68.3%
ov_SC04_010 1670 1664 0 1671 2428 68.8%
ov_SC04_011 1693 1664 0 1699 2813 60.4%
ov_SC04_012 1667 1664 0 1668 2429 68.7%
ov_SC04_015 1687 1665 0 1698 2621 64.8%
ov_SC04_016 1665 1664 0 1667 2449 68.1%
ov_SC04_018 1714 1699 0 1714 2865 59.8%
ov_SC04_019 1718 1699 0 1718 2865 60.0%
ov_SC04_020 1680 1664 0 1692 2577 65.7%
ov_SC04_021 1666 1666 0 1666 2432 68.5%
ov_SC05_000 1670 1668 0 1673 2429 68.9%
ov_SC05_001 1670 1664 0 1675 2584 64.8%
ov_SC05_002 1667 1664 0 1670 2452 68.1%
ov_SC05_003 1668 1664 0 1669 2491 67.0%
ov_SC05_004 1668 1664 0 1670 2474 67.5%
ov_SC05_005 1669 1664 0 1670 2501 66.8%
ov_SC05_006 1666 1664 0 1666 2439 68.3%
ov_SC05_007 1671 1664 0 1676 2492 67.3%
ov_SC05_008 1691 1664 0 1693 2553 66.3%
ov_SC05_009 1671 1664 0 1675 2447 68.5%
ov_SC05_010 1679 1664 0 1683 2598 64.8%
ov_SC05_011 1666 1664 0 1667 2418 68.9%
ov_SC05_017 1698 1661 0 1709 2852 59.9%
ov_SC05_018 1689 1664 0 1702 2683 63.4%
ov_SC05_019 1667 1666 0 1667 2432 68.5%
ov_SC06_000 1701 1673 0 1704 2699 63.1%
ov_SC06_006 1674 1664 0 1675 2521 66.4%
ov_SC06_008 1678 1666 0 1684 2551 66.0%
ov_SC06_010 1678 1664 0 1683 2527 66.6%
ov_SC06_011 1670 1664 0 1674 2478 67.6%
ov_SC06_013 1669 1664 0 1670 2434 68.6%
ov_SC06_014 1671 1664 0 1673 2462 68.0%
ov_SC06_015 1668 1664 0 1668 2430 68.6%
ov_SC06_016 1679 1664 0 1681 2559 65.7%
ov_SC06_018 1678 1667 0 1685 2675 63.0%
ov_SC06_020 1672 1666 0 1673 2528 66.2%
ov_SC06_022 1678 1664 0 1686 2652 63.6%
ov_SC06_024 1683 1664 0 1689 2677 63.1%
ov_SC06_025 1676 1664 0 1681 2582 65.1%
ov_SC06_027 1664 1664 0 1665 2417 68.9%
ov_SC06_029 1693 1664 0 1705 2672 63.8%
ov_SC06_030 1671 1664 0 1671 2466 67.8%
ov_SC06_032 1671 1665 0 1678 2668 62.9%
ov_SC06_033 1679 1665 0 1686 2641 63.8%
ov_SC07_000 1682 1668 0 1684 2529 66.6%
ov_SC07_001 1671 1664 0 1673 2464 67.9%
ov_SC07_002 1685 1664 0 1689 2589 65.2%
ov_SC07_008 1665 1664 0 1665 2395 69.5%
ov_SC07_009 1673 1664 0 1675 2439 68.7%