Running a Minecraft Server and More on a 1960s Univac Computer
2 days ago
- #hardware-hacking
- #retrocomputing
- #emulation
- A Minecraft server, NES emulator, and various programs were successfully run on a 1960s UNIVAC 1219B computer with 250kHz and 90KB RAM.
- The UNIVAC 1219B is an 18-bit, ones' complement system with banked memory and limited registers, making it challenging for modern programming.
- A RISC-V emulator was developed in UNIVAC assembly to compile and run C programs via GCC, enabling complex software like OCaml, BASIC, and encryption.
- Extensive optimization, including instruction re-encoding and fuzzing, achieved a 30x speedup, reducing NES frame time from 20 hours to 40 minutes.
- Multiple museum visits involved hardware debugging, serial communication setup, and software tracing to ensure emulator accuracy and program functionality.
- A concurrent IO system with ring buffers was implemented to support networking, allowing a webserver and Minecraft login to run on the UNIVAC.
- Creative ASCII art was generated using the teletype's overstrike technique, producing high-resolution images by typing over characters multiple times.
- The project demonstrates pushing hardware limits, with all code and tools available for further exploration and experimentation.