GithubHelp home page GithubHelp logo

docker's Introduction

Docker images for retrocomputing

This is set of recipes for building retrocomputing emulators as Docker images.

The goal is to make retro systems easy to run and composable.

Emulators

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

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

Toolchains

At a low priority, we package some cross toolchains for retro development.

Quickstart

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.

Technical Notes

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.

Legal

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.