18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
+
+
|
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
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.
Off the Pi, pretty much every Linux distribution should be able to build and run our software, once you've installed all of its prerequisites. We've built and run it successfully a few times on 64-bit Intel boxes under CentOS, for example.
# 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!
|
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
-
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
|
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](/tktview?name=26283b9b30), we can't change our script shebang lines to work with this package.
It is expected that the code that drives the PiDP-8/I front panel hardware will not work on [FreeBSD for the Raspberry Pi](https://wiki.freebsd.org/FreeBSD/arm/Raspberry%20Pi). 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.
The PiDP-8/I software's build system requires a POSIX type environment, so it's far simpler to just add that atop Windows than to port our software to build natively on Windows. You have several choices:
## Linux VM
Currently, for maximum compatibility, your best option is to install some sort of Linux virtual machine on your Windows box.
Windows 10 Pro and up include [Hyper-V](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v), which runs Linux VMs quite well.
For those running Home class versions of Windows, the best free option is [Oracle's VirtualBox](https://www.virtualbox.org/).
## Cygwin
This works, and appears to work *well* besides.
This works, and appears to work *well* besides. We didn't notice any feature regressions with respect to a Linux VM.
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 utterly failed the last time we tried it.
You'd think this would work because the default WSL Linux environment is Ubuntu, and this software is known to build and run well on Ubuntu. Alas, it utterly failed the last time we tried it.
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.
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 — including several pieces within the PiDP-8/I software distribution — 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 the last time we tried it.
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.)
Meanwhile, Cygwin or a Linux VM under HyperV are better options for the purposes of running the PiDP-8/I software on Windows.
Meanwhile, the above options are currently better choices.
|