Files
ewm/roms/apple1-basic.rom
Stefan ArentzandClaude Fable 5 cdff8386f9 roms/: mountable ROM images, the embedded registry, builtin: paths (R1) (#295)
Phase R1 of plans/20260719-03-one-machine-components.md.

rom/ renames to roms/ wholesale (kickoff decision 4), and the four
mountable one-family images land under the name = stem = token
convention: WozMon.rom (the historical apple1.rom, pristine), the
already-extracted apple1-basic.rom, and the two Krusader 1.3 builds as
4KB $F000-$FFFF slices, each carrying its own modified monitor page.
The historical krusader.rom retires; provenance is pinned by SHA-1
(the crate's own, RFC-vector-tested): BASIC + the 6502 slice
reassemble it byte for byte, BASIC + the 65C02 slice reassemble the
65C02 distribution, and WozMon matches the historical apple1.rom.
One::new mounts the Replica 1 from BASIC + the 6502 slice — memory
byte-identical to the old single 8K mount, proven by the untouched
boot tests.

config.rs gains the embedded ROM_BUILTINS registry and
read_memory_image: a region path of builtin:<name> resolves against
the registry and never touches the filesystem (a literal file named
builtin:x is reachable through a directory component, the same escape
hatch --config has). resolve_paths treats builtin: as a scheme, not a
relative path, and referenced_files skips it — so built-in configs may
carry ROM references and stay self-contained. Both frontends load
memory regions through the shared reader; schemas regenerated for the
path doc.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 15:56:10 -04:00

4.0 KiB