Running modern code on a 1960s UNIVAC via RISC-V emulator
A developer successfully ran complex modern programs—including a Minecraft server, NES emulator, OCaml, and encryption—on a 1960s UNIVAC 1219B computer with only 90kb RAM by building a RISC-V emulator and compiler toolchain.
Score breakdown
Developers working on cross-platform compilation, embedded systems, or constraint-driven optimization can study how LLVM/GCC toolchains adapt to radically different architectures, and how emulation layers enable modern software ecosystems on legacy hardware.
- 01The UNIVAC 1219B uses 18-bit words (not a power of two), ones' complement arithmetic, and only 40,960 words of memory split across 10 banks, making it hostile to modern programming
- 02A custom instruction set compiler (`wee`) consumed ~27k words (67% of total memory) for a trivial fizzbuzz program and took a full minute to compute 100 lines
- 03The team built a Rust-based RISC-V emulator that runs 400x faster than real UNIVAC hardware and 40,000x faster than a prior VB.NET emulator
A developer and collaborators successfully compiled and executed modern C programs on a UNIVAC 1219B, one of only two operational examples of the 1960s Navy computer. The machine operates at 250kHz with 90kb total RAM and uses 18-bit words with ones' complement arithmetic—a hostile environment for contemporary software. Initial attempts using a custom instruction set (`wee`) proved inefficient, consuming 67% of memory for a simple fizzbuzz program and taking a full minute to compute 100 lines.
The team pivoted to building a RISC-V emulator in Rust (400x faster than real hardware, 40,000x faster than an earlier VB.NET implementation) that runs on the UNIVAC itself.
The team pivoted to building a RISC-V emulator in Rust (400x faster than real hardware, 40,000x faster than an earlier VB.NET implementation) that runs on the UNIVAC itself. This emulator, combined with LLVM/GCC and picolibc, enabled compilation of real programs directly from GitHub. The resulting system successfully ran a Minecraft server, a NES emulator rendering game frames, OCaml programs, a webserver, Curve25519 and AES encryption, a BASIC interpreter, and games including Oregon Trail, Wordle, and Battleship—all within the 90kb memory constraint. The project took approximately eight months and represents a significant engineering achievement in pushing 1960s hardware beyond its original design parameters.
Key facts
- 01The UNIVAC 1219B uses 18-bit words (not a power of two), ones' complement arithmetic, and only 40,960 words of memory split across 10 banks, making it hostile to modern programming
- 02A custom instruction set compiler (`wee`) consumed ~27k words (67% of total memory) for a trivial fizzbuzz program and took a full minute to compute 100 lines
- 03The team built a Rust-based RISC-V emulator that runs 400x faster than real UNIVAC hardware and 40,000x faster than a prior VB.NET emulator
- 04Only two UNIVAC 1219s exist today; this is the only operational one, rescued from Johns Hopkins University by the Vintage Computer Federation
- 05The project successfully ran Minecraft server, NES emulator, OCaml programs, webserver, Curve25519 + AES encryption, BASIC interpreter, and games on the 250kHz computer with 90kb RAM
Topics
Summary and scoring are generated automatically from the original article. We always link back to the publisher and never republish images or paywalled content. Last processed Apr 20, 2026 · 00:31 UTC. How this works →