This is set of recipes for building retrocomputing emulators as Docker images.
The goal is to make retro systems easy to run and composable.
A full build will provide you with the following emulators.
Image name | Emulator | Description |
---|---|---|
retroprom/craysim | cray-sim | Cray PVP supercomputer simulator |
retroprom/dosemu | dosemu2 | Modernized DOS emulator |
retroprom/dynamips | Dynamips | Cisco router emulator for running Cisco IOS |
retroprom/es40 | ES40 | DEC Alpha emulator named after the DS40 |
retroprom/gxemul | GXemul | Gavare's eXperimental Emulator |
retroprom/hercules | Hercules | IBM mainframe emulator for S/360 through z/Arch |
retroprom/klh10 | KLH-10 | DEC PDP-10 emulator, originally by Ken L. Harenstien |
retroprom/mame | MAME | Multi-purpose emulation framework - including some SGIs |
retroprom/simh | Open-SIMH | Simulator for DEC and other historic systems |
We also provide scripts for building some system images.
Image name | Emulator | Machine | System | Distribution |
---|---|---|---|---|
retroprom/hercules-dosvs-5pk | Hercules | IBM S/370 | DOS/VS | 5-pack |
retroprom/hercules-mvs-ce | Hercules | IBM S/370 | MVS 3.8J | MVS/CE |
retroprom/hercules-mvs-tk3 | Hercules | IBM S/370 | MVS 3.8J | TK3 |
retroprom/hercules-mvs-tk4 | Hercules | IBM S/370 | MVS 3.8J | TK4- |
retroprom/hercules-mvs-tk5 | Hercules | IBM S/370 | MVS 3.8J | TK5 |
retroprom/hercules-vm370-ce | Hercules | IBM S/370 | VM/370 | VM/370 CE |
retroprom/its-klh10 | KLH-10 (custom) | DEC PDP-10 | MIT ITS | ITS project |
retroprom/its-simh | SIMH (custom) | DEC PDP-10 | MIT ITS | ITS project |
retroprom/klh10-panda | KLH-10 | DEC PDP-10 | TOPS-20 | PANDA project |
retroprom/simh-id32-os32 | SIMH | Interdata 8/32 | OS/32 | simh-os32 |
retroprom/simh-id32-unix-v6 | SIMH | Interdata 7/32 | UNIX V6 | SIMH kit |
retroprom/simh-id32-unix-v7 | SIMH | Interdata 7/32 | UNIX V7 | SIMH kit |
retroprom/simh-pdp8-dms | SIMH | DEC PDP-8 | DMS | SIMH kit |
retroprom/simh-pdp8-focal | SIMH | DEC PDP-8 | FOCAL | SIMH kit |
retroprom/simh-pdp8-os8 | SIMH | DEC PDP-8 | OS/8 | SIMH kit |
retroprom/simh-pdp8-tss8 | SIMH | DEC PDP-8 | TSS/8 | SIMH kit |
retroprom/simh-pdp11-rsts-v7 | SIMH | DEC PDP-11/73 | RSTS/E V7 | SIMH kit |
retroprom/simh-pdp11-rt11-v4 | SIMH | DEC PDP-11/23 | RT-11 V4 | SIMH kit |
retroprom/simh-pdp11-rt11-v5 | SIMH | DEC PDP-11/23 | RT-11 V5 | SIMH kit |
retroprom/simh-pdp11-unix-v5 | SIMH | DEC PDP-11/45 | UNIX V5 | SIMH kit |
retroprom/simh-pdp11-unix-v6 | SIMH | DEC PDP-11/45 | UNIX V6 | SIMH kit |
retroprom/simh-pdp11-unix-v7 | SIMH | DEC PDP-11/45 | UNIX V7 | SIMH kit |
At a low priority, we package some cross toolchains for retro development.
The build is simple. It requires Internet access and may fail on occasion tue do upstream issues:
$ ./build-emulators.sh
$ ./build-systems.sh
Once you have some images, most of them will give you an instant shell:
$ docker run --rm -ti retroprom/simh-pdp11-unix-v7
PDP-11 simulator Open SIMH V4.1-0 Current git commit id: 09f67aa0
Disabling XQ
@boot
New Boot, known devices are hp ht rk rl rp tm vt
: rl(0,0)rl2unix
mem = 177856
# Restricted rights: Use, duplication, or disclosure
is subject to restrictions stated in your contract with
Western Electric Company, Inc.
Thu Sep 22 05:47:36 EDT 1988
login: root
Password:
You have mail.
#
IBM mainframe images will launch TMUX and Hercules. Terminal attach must be done manually - for now.
Feel free to send patches or ask questions.
This is obviously a hobby project.
Images are currently based on Debian (release 12/bookworm).
The images use a build container to minimize image size.
A simulator user called 'sim' is usually provided.
Emulators are installed in /usr/local when possible.
Other simulator files are located in /sim.
Images should be set up to start the emulator using dumb-init.
System images usually start in the foreground and require a terminal.
The Docker console and 'sim' user get full control over the simulator.
Console sessions are logged in with admin privileges for convenience.
This package is - for the moment at least - in the public domain.
In legislatures without a public domain, CC0 may be applied instead.
This software is provided without any warranty - express or implied.
It is intended for hobby, research and training use only.
Images built will contain licensed materials owned by third parties.
Many of the systems provided are limited to non-commercial use.
This package itself contains no licensed material from third parties.
All users are advised to carefully analyze the legal situation.