Emu198x
Cycle-accurate emulation
Emulators for vintage machines, written in Rust — cross-platform, scriptable, and MCP-driven. Code198x uses it to run lesson programs in the browser and to check and capture their output.
Explore Emu198x
A family of imagined workshop tools, not a diagram of software dependencies.
Emulators, assemblers, and asset tooling for vintage machines
Code Like It's 198x is one of several sibling projects under the 198x umbrella. They share an origin and a love of these machines — but each has its own mission, roadmap, and brand. None is "the tool behind" another; they're peers that happen to grow up together.
If you've come here from the curriculum, this is what powers the work behind the scenes — and where to go if you want to use the tools directly, or help build them.
See where the projects stand and what comes next. The progress overview brings Code198x, Emu198x and Asm198x together, with working checkpoints and the evidence behind them.
Cycle-accurate emulation
Emulators for vintage machines, written in Rust — cross-platform, scriptable, and MCP-driven. Code198x uses it to run lesson programs in the browser and to check and capture their output.
Explore Emu198xModern assemblers & disassemblers
Single-binary, cross-platform assemblers and disassemblers for about twenty retro CPUs, from the 6502, Z80 and 68000 the curriculum uses to the 6809, PDP-11 and TMS9900, built on a shared, declarative ISA spec. No dead operating system required to run them.
Explore Asm198xAsset cataloguing
Inventory, verify, and dedup retro binary collections — ROMs, OS disks, TOSEC sets, test suites. Knows what you have, what’s verified against the DATs, and what’s missing.
Explore Cat198xA workbench for vintage code
A dev workbench for writing vintage code, sitting over Emu198x and Asm198x with agent-native parity. The repo home is established; the build is deferred until the assembler matures.
In design — not yet publicBuild tools & media mastering
The build pipeline beyond the assembler — converts graphics and audio to native formats, packs data, and masters the tape and disk images a real machine can load.
Explore Build198xShared instruction-set specifications
Executable instruction encodings and disassemblers shared by Asm198x and Emu198x. Independent Rust libraries keep the tools working from the same instruction definitions.
View on GitHubRetro file-format libraries
Standalone Rust libraries for reading and writing retro disk images, pictures, music and tapes. Each format has its own package and can be used outside the 198x family.
View on GitHubSource-level debugging information
The shared format for source locations, symbols and addresses. Asm198x writes it beside a program; Emu198x reads it to connect running code back to its source.
View on GitHubA player for vintage media
View Spectrum SCR, C64 Koala and Art Studio, and Amiga IFF ILBM pictures; play ProTracker MOD, Spectrum AY and supported callable PSID tunes. Its core library is published, and the browser player opens your files directly.
Open the playerAll of it is open source, built in the open, with a lot of help from large language models — declared plainly, as everything here is.