Assemblers, Memory Maps, and Madness
Building cross-assemblers for retro CPUs in Rust, migrating to Pest parsers, and discovering why load addresses matter more than you think.
8 articles tagged with "rust"
Building cross-assemblers for retro CPUs in Rust, migrating to Pest parsers, and discovering why load addresses matter more than you think.
Five classic CPU cores in Rust, compiled to WebAssembly: 8008, 8080, 8088, Z80, and 6502, and the edge cases that keep emulation honest.
Building BASIC, Forth, and Scheme interpreters in Rust, running them in browser workers, and what the contrast between them revealed.
Building a Z-Machine transpiler in Rust: opcode decoding, Z-strings, branch offsets, and the constraints that make Infocom's bytecode tick.
Z-Machine decoder work, text handling, and SAVE/RESTORE, plus content-addressable storage with S3 sync.
Splitting the repository into cores, languages, assemblers, and BIOS so the directory layout matches the dependency graph.