Skip to content

Match func_ov002_020bb520 byte-identical (mwccarm 1.2/sp2p3)#660

Closed
lunavyqo wants to merge 1 commit into
tangosdev:mainfrom
lunavyqo:match/batch8-bb520-19af0
Closed

Match func_ov002_020bb520 byte-identical (mwccarm 1.2/sp2p3)#660
lunavyqo wants to merge 1 commit into
tangosdev:mainfrom
lunavyqo:match/batch8-bb520-19af0

Conversation

@lunavyqo

Copy link
Copy Markdown
Contributor

Summary

  • Matched func_ov002_020bb520 (ov002 @ 0x020bb520, 244 bytes) byte-identical on mwccarm 1.2/sp2p3, linkcheck VERIFIED.
    • Lever: goto fail / goto success for shared unconditional fail epilogue after FindWithID, plus named (int)(type == 0xbf) bool materialization (moveq/movne/cmp/bne).
  • Near-miss tip for func_ov062_02119af0 (ov062 @ 0x02119af0): 17 → 14 word divergences banked in nearmiss/db.jsonl.
    • CF fix: when dot <= 0 the path still advances; shared ret0 via goto; GetNode takes the current count (no mov r2,#0).
    • Residual: register-coloring floor on prologue temps / cnt pointer (r6/r4/r1).

Author credit: lunavyqo. Provenance + attempt tree logged (sessionScope=batch, batchSize=2).

Test plan

  • python tools/match.py --c src/func_ov002_020bb520.c --func func_ov002_020bb520 --addr 0x20bb520 --size 0xf4 --version 1.2/sp2p3 --bin extracted/dsd/arm9_overlays/ov002.bin --base 0x020ad660 --module ov002MATCH
  • python tools/linkcheck.py --name func_ov002_020bb520 --addr 0x020bb520 --size 0xf4 --module ov002VERIFIED
  • CI validate green on the matched file only

func_ov002_020bb520 (ov002 @ 0x020bb520, 244 bytes): byte-identical +
linkcheck VERIFIED on mwccarm 1.2/sp2p3. Shared fail/success via goto
reproduces the ROM moveq/movne bool materialization after FindWithID.

func_ov062_02119af0: improved near-miss tip 17→14 (control-flow:
dot<=0 advances path; shared ret0; GetNode with count). Residual is
register-coloring floor. Tip banked in nearmiss/db.jsonl.

Author: lunavyqo
@github-actions

Copy link
Copy Markdown
Contributor

✅ PR link validation — Passed

1 changed src file(s) compile to the ROM byte-for-byte with correct relocations

Per-file link-check detail

All 1 changed file(s) compile to the ROM byte-for-byte with correct relocation targets.

File Symbol Result Slots checked
src/func_ov002_020bb520.c func_ov002_020bb520 ✅ verified 1

Each changed src/*.c|*.cpp is compiled and its relocated bytes compared to the binary data on a private build box. Passing requires every changed file to reproduce the ROM byte-for-byte with correct relocation targets — this catches WRONG-DEST relocations and non-reproducing near-misses that ledger-scoped linkcheck skips.

tangosdev pushed a commit that referenced this pull request Jul 23, 2026
…carm 1.2/sp2p3)

Combined landing of PRs #659, #660 (fork). Both matches re-verified byte-identical.
#659 also re-carried the func_ov007_020c25fc match already on main (no-op, skipped),
six ghost near-miss entries for functions matched via #655-658, and a func_ov002_020e7454
21->35 regression — all skipped. #660 was clean.

Provenance: ai model=grok-4.5 reasoning=high harness=grok-build
@tangosdev

Copy link
Copy Markdown
Owner

Match landed on main as f117c01 with your authorship, combined with #659/#660. Both re-verified byte-identical. #659 also re-carried the func_ov007_020c25fc match already on main (no-op), six ghost near-miss entries for functions matched via #655-658, and a func_ov002_020e7454 21→35 regression — all skipped so nothing on main regressed.

@tangosdev tangosdev closed this Jul 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants