mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 13:33:34 -04:00
98085269b1
34 candidates: 13 COVERED · 8 ADDENDUM · 4 NEW · 9 REJECT.
§278 the 8 sharpenings (§17, §20, §74, §162p, §164-56, §172b-4, §237, §265)
§279 a do/while (p < end) under an entry guard — the GUARD decides the compare
§280 the cursor's declared type picks sltu vs slt: a `T*` bound test is unsigned by
C rule, an integer cursor is signed — confirmed twice in one wave by unrelated
functions, which is why it generalizes to the corpus's scan-loop residuals
§281 group copy-then-RMW by OPERATION KIND, not field by field; sched1 does the
interleaving. §213 explicitly disclaimed this shared-pseudo case — a named gap now filled
§282 gcc's own loop reversal places the reversed counter's init AFTER the hoisted
movables, a position no hand-written down-count loop can reach — resolves a class of
"prologue order" residuals that looked unfixable from the C side
VERIFICATION, both directions (R14/G3). Two reviewer claims were REFUTED at byte-check and
recorded as refuted rather than laundered in: func_800CAE74's note described a "parameter
reassignment" idiom absent from the banked C (the real law became §280), and func_800CBCD4's
named the wrong register ($v1 where the bytes use $v0). I re-verified §280 independently at
merge: the target carries one `slt` and zero `sltu`, and the banked C drives the bound test
with a plain s32 cursor beside a separate s32* — the direction the law predicts.
Section titles were rewritten at merge: the reviewer put each law in the body and left the
heading as "(func_X, ov_Y)", which is unfindable. A section is written to be GREPPED, so the
title states the law.
Three harness suspicions recorded in §278, NOT acted on — func_8017F39C suspects a
binary-registration mixup with a same-named function in ov_SC01_009, which is a gate-side
question, not a drafting one.
Index: 824 sections. Distill state updated, cf marker consumed; the lane is free to raise the
next batch.