# The Situation

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

The current stable release of the PiDP-8/I software distribution was tested with the [Raspbian Stretch distribution. Prior releases were built atop the [Raspbian Jessie distribution.

Raspbian-based OSes like should also work, but this is not tested by the project's current developers.

The project's primary maintainer does occasionally build the software on his Ubuntu laptop as well. It works fine as long as you're not using any of the features that require the PiDP-8/I front panel hardware.

Because of that success, we expect it will run on any other Debian derivative, too, though this is not yet tested.


# Non-Debian Linuxes

Non-Debian type Linux based OSes like [openSuSE for the Pi or [CentOS for the Pi 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 for possible inclusion in the next version of the software.

If you try it and fail, we would still welcome your [bug or discussion on the [mailing


# macOS

The PiDP-8/I software is frequently built and tested on macOS while its primary maintainer is 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!)


# FreeBSD

Because the software builds and runs on macOS, it *should* also build and run on FreeBSD, but this has not yet been tested.

It is expected that the code that drives the PiDP-8/I front panel hardware will not work on [FreeBSD for the Raspberry We have an [open feature ticket](/tktview?name=856225858e) for that, if you want to work on it.


# Windows

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.


## Cygwin

This works, and appears to work *well* besides.

You will have to install the `libncurses-devel` and `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 it is known to build and run the software easily, since Ubuntu and Raspbian are so closely related. Alas, it does not.

The primary problem is that WSL's terminal handling is [extremely 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:

1. `mkos8` depends on one process being able to take control of another's terminal I/O. Currently — November 2017 — `mkos8` gets stuck early on waiting for a reply to the OS/8 `BUILD` command and eventually times out and dies. Copying over pre-built OS/8 media doesn't help because of the other problems below.

2. `pidp8i-sim` does 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.

3. The PiDP-8/I simulator normally runs under GNU `screen`, which is one of the [known-broken programs under

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.