PiDP-8/I Software

Home
Log In

What It Is

This repository is the current official PiDP-8/I software development nexus. Here we continue development of the software from the last stable software version published on the kit information site. This software differs in several major ways and dozens of minor ways from that old software.

Getting Started: Source Code

The efficient method to get started is to install this software into an existing Raspbian installation on the Pi which you are using with the PiDP-8/I board. It also works with some other OSes.

You can download the latest release — cut on 2021.02.14 — as a tarball. (About 17 MB.)

If you want the bleeding edge version, you can either check it out from the Fossil source code repository powering this web site by following the instructions in the contribution guide or you can simply download the tip of trunk as a tarball.

See the README.md file for more information on how to install this into your existing Raspberry Pi OS.

Getting Started: Binary OS Images

Those with plenty of Internet bandwidth and a micro SD card they don't mind overwriting (8 GB minimum) may prefer to download the software hosted here in binary OS image form. There are two versions, each based on Raspberry Pi OS Lite (Buster, 2021.01.11 release) and each roughly 850 MB:

  1. Multi-core version, v2021.02.14 — This OS image is built with the incandescent lamp simulator which only works properly on the multi-core Raspberry Pi 2 and 3 boards. (All models.) Does not work on Pi 4 and up due to a hardware change; you will need to build from source instead.

    It takes about one and a half of the four available CPU cores on a Pi 3B while running about 23× faster than a real PDP-8/I. (Slower on a Pi 2.)

  2. Single-core version, v2021.02.14 — For those running on Raspberry Pi Model A+ and B+ boards or the Pi Zero, this alternative download disables the ILS feature. It also slows the simulator down so it uses only about half the available CPU power to leave some host CPU power for background tasks. This allows it to run PDP-8 software roughly as fast as a real PDP-8/I, depending on the speed of the Pi you run it on.

    This image will also run on a multi-core Pi. It will run PDP-8 software slower than the ILS version, since it will also be affected by the intentional 50% CPU usage limit, but because each one of those cores are faster than a single-core Pi and the other cores can take the load of background tasks, it still manages to run PDP-8 software roughly 10× faster than a real PDP-8/I.

See the installation instructions for more information.

The binary OS releases are not always updated when the source code releases are cut, since it's about a full day's work to create those binary releases. Addressing that is the topic of the next section.

Updating the Binary OS Release

As shipped, the binary OS images above also contain the PiDP-8/I software source code and Fossil, the tool that lets you download updated source code as it becomes available. Updating the software is therefore much simpler than downloading the whole OS all over again and overwriting your perfectly good SD card. This suffices for typical cases:

$ cd ~/pidp8i
$ fossil update
$ make reconfig
$ tools/mmake && sudo make install
$ sudo systemctl daemon-reload
$ pidp8i restart
$ pidp8i

By default, that will get you the latest release version, since Fossil keeps a given checkout directory pinned to the last version it was switched to, which was of course "release" in the binary OS images.

At any given time, there are likely to be changes on trunk. If you find any of those valuable, you can switch to that version simply by modifying the second command above like so:

$ fossil update trunk

From then on, "fossil up" will update you to the latest trunk without needing to specify the branch name each time.

To switch back to the release branch, say:

$ fossil update release

The above commands assume typical situations and default options. For more advanced cases, see the README.md file.

OS/8 RK05 Media

One of the most time consuming steps in building our PiDP-8/I software is building the OS/8 RK05 disk images from pristine, tested, curated sources. If you simply want the resulting disk images, we provide them here for you to download:

Name Contents
V3D dist OS/8 V3D in its as-distributed state: no patches, no add-ons
V3D patched dist plus a coherent set of bug-fixing patches; this is the most useful "clean" image
V3D boot patched plus selected add-ons; this is what boots with IF=0 on the PiDP-8/I
V3D src non-bootable disk containing the contents of all ten OS/8 V3D source tapes
OCK dist OS/8 Combined Kit (OCK) version of the dist image above
OCK patched OS/8 Combined Kit (OCK) version of the patched image above
OCK boot OS/8 Combined Kit (OCK) version of the boot image above

These disk images were last updated on 2021.02.14 in conjunction with the release made at the same time and so are considered stable.

These disk images should work under SIMH on any platform, and could potentially even be written back to real RK05 disk packs and run on actual PDP-8 hardware! Let us know how you're using these files on the PiDP-8/I mailing list; we're curious how far these spread.

They were built with the default set of --enable-os8-* options, and they're built to assume the simulated hardware configuration of the PiDP-8/I. If you want a different set of pre-loaded software, or if you need OS/8 to be reconfigured to work against a different set of hardware, you will have to download our software, configure it as suits your needs, and build the disk images yourself. The software currently builds on several different platforms, not just the Raspberry Pi.

Learning More

Official Project Resources

The current PiDP-8/I software has many more features and many fewer bugs than Oscar's version, but in the end, both do more or less the same thing, so Oscar's documentation still applies fairly well. The primary source of discrepancies between his documentation and our software stem from file name changes.

You're welcome to discuss this version of the PiDP-8/I software on the PiDP-8/I mailing list, hosted by Google Groups. Those active in its development participate there and usually react to posts about this software quickly.

Project Documentation

This software project has its own documentation and tutorials, which I've collected here for convenience:

SIMH Documentation

The PiDP-8/I software project is based on the actively-developed official version of SIMH. (As opposed to Bob Supnik's personal 3.x branch which still comes up high in search results.) The SIMH project has its own documentation, but for convenience I've provided PDF versions of the relevant subset here:

Rare PDP-8 Documentation

While most of the information about the PDP-8 is widely available on the Internet and may thus be easily found by Googling, we have a small number of documents here that are not so easy to come by, plus some links that don't seem to come up as high in Google searches as they ought to:

Raspberry Pi Documentation

The documentation produced by the Raspberry Pi Foundation can be quite useful to one running the PiDP-8/I software. Third parties have also produced useful Raspberry Pi guides. We recommend that you start with these resources: