Although the core software underlying the PiDP-8/I software distribution is broadly portable, the dominance of Raspbian in the Raspberry Pi space means the PiDP-8/I software doesn't get tested and maintained for all operating systems its individual components are known to work on.
This article documents what it known to work, where, today.
Raspbian, Debian, Ubuntu
Raspbian-based OSes like pipaOS should also work, but this is not tested by the project's current developers.
The project's primary maintainer occasionally builds the software on a Debian laptop or in a Debian VM as well. It works fine, excepting of course that you lose the features that require the PiDP-8/I front panel hardware. It's also been tested on an Ubuntu 18.04 LTS VM.
Because of that success, we expect it will run on any other Debian derivative, too.
The configuration script and documentation advice on installing third-party dependencies is given in terms of Debian type OSes. That makes using the PiDP-8/I software distribution on this class of OSes the most straightforward.
Non-Debian type Linux based OSes like openSuSE for the Pi 3 or CentOS for the Pi 3 are likely to require local workarounds to get the software to run. The mechanism for driving the front panel hardware is also likely to require changes on these OSes.
If you manage it, we would be happy to examine your patches for possible inclusion in the next version of the software.
This project's current primary maintainers use macOS at home, so the PiDP-8/I software is frequently built and tested on macOS while we are working on features that do not require the PiDP-8/I front panel hardware.
Why? Because it builds 3-12 times faster than on a Pi 3, depending on what has to be built!
The third party dependency advice given by the configure script and in the documentation needs to be adjusted. We recommend getting such things from Homebrew.
Because of our regular testing on macOS, the port to FreeBSD was straightforward. On the FreeBSD 11.2 system we did the work on, we had to install the following non-core packages:
$ sudo pkg install coreutils gmake perl5 python py27-pip
Avoid the temptation to install the
python3 package instead: this package follows the Python project's recommendation to install the interpreter only as "
python3" to avoid conflicts with Python 2. We try to write our Python scripts to work on both versions, but until we cut over to requiring Python 3 only, we can't change our script shebang lines to work with this package.
The PiDP-8/I software's build system requires a POSIX type environment. That gives you two major choices for building the simulator on Windows.
This works, and appears to work well besides.
You will have to install the
python2-pip packages as well as standard Unix build tools: GCC, GNU Make, etc. Having done all that, the software will build and run.
I most recently tested this on 64-bit Windows 10 running Cygwin 2.9.0.
Windows Subsystem for Linux
You'd think this would work because the default Linux implementation for Windows 10's WSL feature is Ubuntu, and this software is known to build and run under Ubuntu easily, since it's closely related to Raspbian. Alas, it does not.
The primary problem is that WSL's terminal handling is extremely weak, and has been so since the start. This breaks a broad swath of software and is thus well known as a major weakness of WSL. It breaks at least three different things in the PiDP-8/I software distribution:
os8-rundepends on one process being able to take control of another's terminal I/O. Currently — November 2017 —
os8-rungets stuck early on waiting for a reply to the OS/8
BUILDcommand and eventually times out and dies. Copying over pre-built OS/8 media doesn't help because of the other problems below.
pidp8i-simdoes slightly fancy things with its terminal interface between the emulated CPU and the host OS, which is enough to run into this WSL weakness. The underlying host will send something out to its terminal and you won't see it in the WSL terminal until you hit Enter a few times; that kind of thing.
The PiDP-8/I simulator normally runs under GNU
screen, which is one of the known-broken programs under WSL.
Because Microsoft has not fixed this class of bug despite the many things that fail as a result, it calls into question how much longer Microsoft will let the problems remain unfixed.