Files
Stefan ArentzandClaude Opus 4.8 c317f1e88d ROM catalog R1: canonical SKU-first roms/ layout (#337)
Rename every code-referenced ROM to one canonical convention —
`<SKU> — <description> (<chip>).bin`, SKU first so the folder sorts by part
number and the SKU is greppable — via `git mv` (history follows, all renames
are R100). Flatten the `AppleII/` and `AppleIIe/` subfolders (the SKU prefix
already disambiguates era: 341 = ][ / ][+, 342 = //e). One extension: the
SKU-less `.rom` files (WozMon, apple1-basic, Krusader) become `.bin`.

Collapse the `3410036.bin` ≡ `AppleII/…341-0036` duplicate (same sha1) to a
single `341-0036 — Apple II Character ROM` that both `chr::CHR_ROM` and the ][
machine reuse; the provenance test now pins that one file by SHA-1.

Dispose of the orphans (git history preserves them): the `.rom.bin` Krusader
doubles (wrong size vs the embedded `.rom`), the keyboard decode ROMs, the
Signetics 2513, `a2p.rom`, `applesoft-lite.bin`, and the `341-0868` aggregate.
The Klaus test suites stay (loaded by path from dormann/trace_compare tests).

Every `include_bytes!` (two.rs, chr.rs, config.rs, mouse.rs) and `fs::read`
(one_boot.rs, the provenance test) path is updated in the same commit. The
`builtin:` keys (WozMon, apple1-basic, Krusader-1.3-*) are unchanged — they are
stems, not filenames.

Verified: builds; fmt/clippy clean; the full suite is green — including the
golden-BMP screenshots (the tripwire that no rename silently swapped the bytes
feeding the video path) and every ROM provenance/SHA-1 test.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 17:48:29 -04:00
..