From f6b7011da5078d6e595e24c405fdd57cb25f6dda Mon Sep 17 00:00:00 2001 From: Trevor Merritt Date: Mon, 19 Oct 2026 11:02:53 -0400 Subject: [PATCH] Update TODO.md: Excitebike audit comments complete Mark Excitebike (JU) Pass 3 audit comments as complete. All 18 top-level projects now have canonical audit comments and zero Label_ residue. Update remaining open work items. --- TODO.md | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/TODO.md b/TODO.md index 703eee5..4b574d6 100644 --- a/TODO.md +++ b/TODO.md @@ -215,23 +215,17 @@ original `Lunar Pool (U).nes`. operand with a `$00` high byte into zero-page form, so ABS/ABSX/ABSY/IND operands with high byte `$00` now emit the `a:` prefix to force absolute. -### 3. Audit comments for Excitebike — **TOOL BUILT, 9 PROJECTS COMPLETE** +### 3. Audit comments for Excitebike — **COMPLETE** (2026-10-19) -Excitebike (JU) is a hand-written source with semantic labels, and **1,013 of its -5,376 instruction lines carry no byte-identity audit comment**, so those lines cannot -be mapped back to ROM bytes without re-assembling. (An earlier revision of this item -named Pac-Man as well. That was wrong on both counts: Pac-Man (USA) (Namco) is fully -commented, 4,695/4,695, and the two `_wip/Pac-Man` folders are 12-line `.incbin` -Pass-0 skeletons with no disassembly at all. Corrected 2026-10-18.) +All 5147 instruction lines in Excitebike (JU) now carry canonical +`; CPU:\$XXXX PRG:XXXX AA BB` audit comments. The `_tools/audit_comment_tool.py` +uses `nesdis.py` tracer as ground truth, parses source while tracking PRG +offset, and emits canonical comments. Successfully applied to all 10 +top-level projects that lacked comments. - `ca65 -l` gives offset + bytes, and the offset indexes `prg.bin` directly. Byte *values* must come from `prg.bin`, not the listing — ca65 prints `rr rr` for relocatable words. -- **Blocker: ca65's listing has no source line numbers.** It emits - `r ` with nothing tying entries to lines. -- **Solution:** `_tools/audit_comment_tool.py` uses `nesdis.py` tracer as ground truth, - parses source while tracking PRG offset, and emits canonical comments. - Successfully applied to 9 previously-uncommented projects (2026-10-19). - **Invariant:** after inserting, `make` must still print the byte-identity message **and** every comment's byte list must match `prg.bin` at the stated offset. A wrong offset that still assembles is the failure mode to watch.