Commit Graph

1813 Commits

Author SHA1 Message Date
Drew T 06e5daba0a feat(decomp): main lane m30a — 1 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_800173BC
2026-08-25 10:33:54 -06:00
Drew T 7020794aa2 feat(decomp): free A-prop sibling lane (maintenance pass) — zero model tokens 2026-08-25 10:17:36 -06:00
Drew T 6c206bdc14 feat(decomp): main lane m29a — 1 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_800174FC
2026-08-25 10:17:20 -06:00
Drew T 520a4ca3f2 feat(decomp): ox wave da overlays — 74 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 10:17:06 -06:00
Drew T 6a20663df7 feat(decomp): main lane m28bb — 1 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_80010DA0
2026-08-25 10:04:01 -06:00
Drew T 45ccac8ecc chore(decomp): commit in-tree banked work before the next gate
Uncommitted src/ changes found at gate entry. These are banked functions from a lane that gates with commit=False, not residue — preserved, not reverted. Top-level src/*.c (main TUs) are excluded by construction (S59).
2026-08-25 10:01:52 -06:00
Drew T 25b2aee366 feat(decomp): main lane m28a — 2 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_8001A9D8
  func_8005D588
2026-08-25 10:01:41 -06:00
Drew T 82238e82d8 fix(ov_SC04_018): RED — restore the bank a maintenance pass reverted, not the pad spec
The object failed to assemble: "jtbl_rodata_pads: consumed 3 rodata .align(s) but 4 pad
spec(s) given". The tempting fix is to relax the spec to 3 — it builds and it is
BYTE-IDENTICAL, which is exactly what makes it dangerous.

The spec was right and the SOURCE was wrong. func_8017E7CC was banked as of commit:2628 (68
INCLUDE_ASM in the TU) and back to a stub at commit:2629 (69) — the free A-prop maintenance
pass reverted a byte-proven function, and the object's 4th table went with it. Restoring
the body from commit:2628 with the ORIGINAL 0,0,0,0 spec builds BYTE-IDENTICAL
(fe9b413fc48ba615ccf81cde49d7a1efad481bc9), which is the proof the spec was never drifted.

R42 again, from the other direction: the destroyed bank did not merely vanish, it took a
build with it, and the failure wore a config-drift costume. A byte-identical build is not
evidence that the change you made was the right one — both fixes are byte-identical here
and only one keeps the function.
2026-08-25 10:00:23 -06:00
Drew T 0ea7a3a4b1 fix(ov_SC03_001): RED — an extern decl contradicted the body banked below it
`extern void func_8018D088(void);` at line 3810 against `s32 func_8018D088(void *a0)`
at 3862: 'conflicting types', the object never compiled, and the whole overlay had been
RED. The decl now matches the definition; ov_SC03_001 builds BYTE-IDENTICAL
(f8fd92f59c6871577c61cb626cb9ddb0db5ba884).

Two edits into one TU each verified alone and conflicted together — the shared-TU race a
per-binary gate cannot see when the second writer never rebuilds the first writer's file.
Caught by the maintenance lane's periodic fleet R22 at 06:39 (R50), which is the only
oracle that looks at binaries no lane is touching.
2026-08-25 09:55:35 -06:00
Drew T 3b1d57ecc6 feat(decomp): ox wave cz overlays — 4 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 09:50:23 -06:00
Drew T 2f98f0f6fb feat(decomp): main lane m27bbb — 1 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_8001BADC
2026-08-25 09:43:52 -06:00
Drew T 72078c804b feat(decomp): main lane m27bbaa — 1 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_8001125C
2026-08-25 09:43:18 -06:00
Drew T 84cc6b8d9e feat(decomp): main lane m27a — 1 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_80027BF0
2026-08-25 09:41:08 -06:00
Drew T 5f23d5bacf feat(decomp): ox wave cy overlays — 6 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 09:31:44 -06:00
Drew T 67bd99aa3f feat(decomp): ox wave cx overlays — 50 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 09:10:16 -06:00
Drew T 60643c3d74 feat(decomp): main lane m26a — 1 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_8002EEB8
2026-08-25 08:56:29 -06:00
Drew T ab74cd22d0 feat(decomp): ox wave cw overlays — 4 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 08:43:07 -06:00
Drew T 51c928be54 feat(decomp): main lane m25bbb — 1 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_8001CFDC
2026-08-25 08:37:51 -06:00
Drew T 04da346ec3 feat(decomp): main lane m25ba — 1 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_80010E7C
2026-08-25 08:36:21 -06:00
Drew T 629303ee9c feat(decomp): main lane m25a — 1 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_8002FDC8
2026-08-25 08:34:38 -06:00
Drew T b5dc678a09 feat(decomp): ox wave cv overlays — 9 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 08:21:29 -06:00
Drew T 352d0b6c31 feat(decomp): main lane m24ba — 2 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_80011680
  vmNoiseOn
2026-08-25 08:20:29 -06:00
Drew T ec1cf45dfa feat(decomp): main lane m24a — 1 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_80028D78
2026-08-25 08:18:46 -06:00
Drew T 3dd093741f feat(decomp): ox wave cu overlays — 47 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 07:51:35 -06:00
Drew T f3501ee527 feat(decomp): main lane m23 — 3 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_800111BC
  func_80028DBC
  func_800495EC
2026-08-25 07:38:49 -06:00
Drew T c43f2266ca feat(decomp): ox wave ct overlays — 10 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 07:19:33 -06:00
Drew T 5f38df2368 feat(decomp): main lane m22 — 6 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  DsReadyCallback
  SetIR123
  func_8001D074
  func_80028E00
  func_800538BC
  func_8005FBA8
2026-08-25 07:01:31 -06:00
Drew T 642c4b76af feat(decomp): ox wave cs overlays — 42 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 06:58:41 -06:00
Drew T 0f3d638d96 feat(decomp): ox wave cr overlays — 12 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 06:31:32 -06:00
Drew T 216668950c feat(decomp): ox wave cq overlays — 53 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 06:12:26 -06:00
Drew T eb6048a536 feat(decomp): main lane m21 — 6 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  ApplyMatrix
  FGO_01_OBJ_160
  SetMAC123
  func_80010CEC
  func_80028E44
  func_80052430
2026-08-25 05:58:48 -06:00
Drew T 0cfc942cc8 feat(decomp): ox wave cp overlays — 4 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 05:54:17 -06:00
Drew T 8ab6c1082f feat(decomp): ox wave cn overlays — 3 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 05:35:12 -06:00
Drew T 2f65dea685 feat(decomp): main lane m20 — 8 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  DrawPrim
  DsDataCallback
  DsSyncCallback
  Intpl
  SpuWrite
  __do_global_dtors
  func_80013F98
  func_80028E88
2026-08-25 05:26:57 -06:00
Drew T 9b40d20aa9 feat(decomp): ox wave cl overlays — 3 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 05:18:22 -06:00
Drew T c10171e8d9 feat(decomp): ox wave co overlays — 43 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 05:01:27 -06:00
Drew T fd8ae5327f feat(decomp): main lane m19 — 10 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  DpqColorLight
  FGO_02_OBJ_160
  SsUtReverbOff
  StoreImage
  __main
  func_80013FBC
  func_80014564
  func_80028ECC
  func_8002A28C
  func_80062768
2026-08-25 04:59:44 -06:00
Drew T 29e8114b16 feat(decomp): main lane m18 — 7 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_80013FE0
  func_80016A3C
  func_80016EB0
  func_80019028
  func_80028F10
  func_8002A2B0
  func_800599B8
2026-08-25 04:31:15 -06:00
Drew T 69d2611903 feat(decomp): ox wave cm overlays — 30 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 04:24:00 -06:00
Drew T 235cac48e6 feat(decomp): main lane m17 — 7 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  FGO_03_OBJ_160
  func_80014004
  func_80015310
  func_80016EF8
  func_800191A8
  func_80028F54
  func_8002A4D8
2026-08-25 04:04:32 -06:00
Drew T 3eb8056f22 feat(decomp): ox wave ck overlays — 69 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 03:57:39 -06:00
Drew T 5c71326396 feat(decomp): main lane m16 — 13 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  FGO_04_OBJ_64
  _addque
  func_80013ED0
  func_80014028
  func_80017254
  func_800176F0
  func_80019A10
  func_80028F98
  func_8002A4FC
  func_800413B8
  func_8004D16C
  func_8004D1DC
  func_8005D4F0
2026-08-25 03:41:43 -06:00
Drew T d7b4fd1332 feat(decomp): ox wave cj overlays — 4 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 03:20:52 -06:00
Drew T 8a5760450a feat(decomp): main lane m15 — 16 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  FGO_05_OBJ_64
  SYS_OBJ_1FF4
  VM_NOWON_OBJ_1C0
  func_800123F0
  func_8001404C
  func_80016ED4
  func_8001739C
  func_800178C8
  func_8001BFF8
  func_80028FDC
  func_8002A748
  func_80038308
  func_80041400
  func_8005D538
  func_8005E3AC
  func_8005EA34
2026-08-25 03:18:47 -06:00
Drew T 10dadb6c1c feat(decomp): ox wave ci overlays — 34 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 02:54:38 -06:00
Drew T 5dc373deaf feat(decomp): main lane m14 — 31 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_800126C4
  func_80013E94
  func_80014070
  func_800141AC
  func_80014998
  func_80014CAC
  func_8001544C
  func_80015954
  func_800174DC
  func_80017714
  func_8001820C
  func_80018E78
  func_80018F88
  func_80018FC8
  func_80019064
  func_8001AE90
  func_8001C9D0
  func_8001CFB8
  func_8001D0F4
  func_80029020
  func_80029A58
  func_80029AAC
  func_80029E94
  func_8002A76C
  func_8002CFE4
  func_8002D858
  func_8002E5F8
  func_8002EE64
  func_800361CC
  func_800374CC
  func_80038908
2026-08-25 02:40:04 -06:00
Drew T 9f228db2fc feat(decomp): free A-prop sibling lane (maintenance pass) — zero model tokens 2026-08-25 02:36:42 -06:00
Drew T 82b4cd5b55 feat(decomp): ox wave ch overlays — 88 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 02:36:04 -06:00
Drew T ec8ade5692 feat(decomp): -O0 U3 — 48 banked across the x3 carve group, zero model tokens
The 16-fn -O0 cluster (0x8013B568..0x8013C964), remapped from the ov_SC01_077 exemplars
(16/16 matched there) into all three freshly carved -O0 objects:

  ov_SC02_037  16/16      ov_MAIN_012  16/16      ov_SC03_107  16/16

All three BYTE-IDENTICAL against config/check.<ov>.sha after the batch, and corpus.stubs
reports zero of the 16 addresses still open in any of them. 48 functions for zero model
tokens — the entire cost was a partitioning fix.

R14 NOTE ON THE INSTRUMENT: sweep_parallel summarised "banked=44 notbanked=4" while the
byte gate and corpus.stubs both say 48/48. The bytes win; its counter undercounts (drafts
banked in a later chunk after a bisect appear not to be credited). Worth a look before that
number is ever quoted as a rate.

Three drafts per overlay came with a gather_externs warning — a sibling callee with no
file-scope decl in ov077 (func_8013B83C, func_8013BD74). They banked anyway: C89 implicit
declaration covers a same-TU sibling whose stub sits in the same object. The gate decided,
not the warning.

With U2's 4, this closes the -O0 U2/U3 thread: 52 functions / ~6,730 instructions banked
tonight from the stranded -O0 population without drafting a line.
2026-08-25 02:19:38 -06:00
Drew T c03cd6f3a2 feat(config): -O0 U3 step 1 — carve the 16-fn cluster out of jr_801380E0 in the x3 group
ov_SC02_037, ov_MAIN_012 and ov_SC03_107 never received the P30 _o0c carve, so the 16-fn
-O0 cluster at 0x8013B568..0x8013C98C sat inside their -O2 `jr_801380E0` object. Opt level
is a property of the FILE (§116), so every remap into it was correctly rejected by the gate
— 16 functions x 3 overlays unreachable for a partitioning reason, not a matching one.

o0_subsplit at [0x8013B568, 0x8013C98C) per overlay. All three BYTE-IDENTICAL after
`make extract && make build`, which is the whole claim of a carve — it moves nothing:

  ov_SC02_037  b0c5394ae23cd5f0cbb32687f61bca669151bf5f
  ov_MAIN_012  d6b3e8b971cdd6c53aea8c4f265afb82b363283c
  ov_SC03_107  87d02b578a27a947f1da381255a1faa3f05cedfd

A LOCKING RULE THIS EARNED. ov_MAIN_012's dry run planned 5 regions around an "-O2 island"
at func_8013C0F8 [def]; the real run planned 3, and the function is an INCLUDE_ASM stub in
both HEAD and the carved tree — nothing was lost. The dry run had read a MID-GATE
SUBSTITUTION: a lane had a candidate body in that TU, the gate rejected it, and the stub
came back. o0_subsplit derives its plan from which functions are matched, so a plan derived
outside the per-binary lock can be a plan about a tree state that never existed. Derive the
plan INSIDE `.run/auto/gate.<bin>.lock`, carve under the same lock — which is what the real
runs did, and why they saw the truth.

Next: populate the 3x16 from the ov_SC01_077 exemplars (16/16 matched there), then gate.
2026-08-25 02:14:34 -06:00