PiDP-8/I Software

Changes To OS Compatibility
Log In

Changes to "OS Compatibility" between 2018-12-12 02:52:24 and 2019-05-11 14:06:24

1
2
3

4
5

6
7
8
9
10

11
12
13
14

15
16
17
18
19
20
21
22
23
24

25
26
27
28
29
30
31
32
33
34
1
2

3
4

5
6
7
8
9

10
11
12
13

14
15
16
17
18
19
20
21
22


23



24
25
26
27
28
29
30


-
+

-
+




-
+



-
+








-
-
+
-
-
-







# 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.
Although the core software underlying the PiDP-8/I software distribution is broadly portable, the dominance of Raspbian in the Raspberry Pi space means it gets the most attention when it comes to testing and development. This article documents what it known to work, where, today.

This article documents what it known to work, where, today.
If you need the software to work on some platform where it currently doesn't, [we accept patches!](/doc/trunk/HACKERS.md) You can also send problem reports [to our development forum](/forum), file a [bug report](/bugs), or [discuss it on the users' mailing list](https://groups.google.com/forum/#!forum/pidp-8).


# Raspbian, Debian, Ubuntu

The current stable release of the PiDP-8/I software distribution was tested with the [Raspbian Stretch Lite](https://www.raspberrypi.org/blog/raspbian-stretch/) distribution. Prior releases were built atop the [Raspbian Jessie Lite](https://www.raspberrypi.org/blog/raspbian-jessie-is-here/) distribution.
The current stable release of the PiDP-8/I software distribution was built for and tested with the [Raspbian Stretch Lite](https://www.raspberrypi.org/blog/raspbian-stretch/) distribution. Prior releases were built atop the [Raspbian Jessie Lite](https://www.raspberrypi.org/blog/raspbian-jessie-is-here/) distribution; current software should still work on Jessie, though we no longer test that, having upgraded all of our development systems to Stretch.

Raspbian-based OSes like [pipaOS](http://pipaos.mitako.eu/) 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.
The project's primary maintainer occasionally builds the software on Debian and Ubuntu systems as well, which works fine, since Raspbian and Ubuntu are both derivatives of Debian. On such systems, the software is designed to detect the absence of the PiDP-8/I front panel hardware and work without it.

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 Linuxes

Non-Debian type Linux based OSes like [openSuSE for the Pi 3](https://en.opensuse.org/HCL:Raspberry_Pi3) or [CentOS for the Pi 3](https://wiki.centos.org/SpecialInterestGroup/AltArch/Arm32/RaspberryPi3) 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.

There are non-Debian type Linux based OSes for the Raspberry Pi such as [openSuSE for the Pi 3](https://en.opensuse.org/HCL:Raspberry_Pi3) and [CentOS for the Pi 3](https://wiki.centos.org/SpecialInterestGroup/AltArch/Arm32/RaspberryPi3). Since the primary developers on this project haven't tried any of these Pi Linux distros, and no one has reported on their attempts to make it work, we can only speculate on the workarounds required, if any.
If you manage it, we would be happy to examine your [patches](/doc/trunk/HACKERS.md) for possible inclusion in the next version of the software.

If you try it and fail, we would still welcome your [bug reports](/bugs). You can discuss your ideas in [our forum](/forum) or on the users' [mailing list](https://groups.google.com/forum/#!forum/pidp-8).


# macOS

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!
59
60
61
62
63
64
65
66

67
68

69
70
71

72
73
74
75

76
55
56
57
58
59
60
61

62
63

64
65


66

67


68








-
+

-
+

-
-
+
-

-
-
+
-
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 this software is known to build and run under Ubuntu easily, since it's closely related to Raspbian. Alas, it does not.
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 utterly failed the last time we tried it.

The primary problem is that WSL's terminal handling is [extremely weak](https://github.com/Microsoft/WSL/issues/1001), 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:
The primary problem is that WSL's terminal handling was [extremely weak](https://github.com/Microsoft/WSL/issues/1001) at the time, 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. Microsoft is aware of this and is slowly improving it, so it's possible that they've fixed all of the problems since our tests were done.

1. `os8-run` depends on one process being able to take control of another's terminal I/O. Currently — November 2017 — `os8-run` 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.

If it isn't working yet, the changes announced for [WSL 2](https://devblogs.microsoft.com/commandline/announcing-wsl-2/) and [the Windows console](https://github.com/microsoft/Terminal) might finally clear all of that up when it's released. (Insider builds are still  a couple of months in the future at the time of this writing, and a stable release is still further in the future.)
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 WSL](https://github.com/Microsoft/WSL/issues/1001).

Meanwhile, Cygwin or a Linux VM under HyperV are better options for the purposes of running the PiDP-8/I software on Windows.
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.