PiDP-8 Quick Install instructions

Software development for the PiDP-8 has taken quite some steps forward in recent years. Please visit the Tangentsoft web site (here) and spend some time getting acquainted with it all. There are various install options to prepare your Pi for its upcoming PDP-8 transformation, see the Tangentsoft page for details. ​

But if you are in a hurry, below are three quick recipes at the request of people who are new to the Pi, or are in a hurry to get going. All you should look at is Recipe 1 - unless you have particular reasons to look for other install options!


Recipe 1: Install for any Pi (including Pi 5)


Installs PiDP-8 software on an existing Raspbian-installed SD card. Includes support for the Pi 5, and will run on any Pi. It is tested and works well, but new enough that we kindly ask you to please provide feedback, to oscar.vermeulen@hotmail.com. If you hit a snag, please fall back to Recipe #3 below.

We tested on the latest 64-bit Raspian OS, 2024-11-19-raspios-bookworm-arm64 and on its 32-bit brother, needed for older Pis.
OS versions older than Bookworm are not supported, for those, see Recipe #3 below.
These are the quickest copy&paste steps to get the PiDP-8 software installed:

sudo apt update
sudo apt install python3-pexpect
sudo apt install python3-yaml
sudo apt install fossil
sudo apt install libncurses-dev

mkdir ~/tangent
cd ~/tangent
fossil clone https://tangentsoft.com/pidp8i
cd pidp8i
./configure && tools/mmake && sudo make install

The install script will take a very long time, as it recompiles tons of PDP-8 software and creates fresh disk images for you. The benefits of this will become clear once you spend time on the Tangentsoft web pages.


  • We have one issue to report with the latest software update.
    On the very oldest Pi Zero (not Zero 2), there is a timing issue with starting the service. If you do not see the lights come up after powering up the Pi, verify that the pidp8i service is indeed running (systemctl --user status pidp8i) and if not, you can start it manually (systemctl --user start pidp8i). To solve this for future reboots, 'nano ~/.local/share/systemd/user', and add a line 'ExecStartPre=/bin/sleep 25' under the [Service] section. Please let us know if you encounter this issue, and perhaps know its origin. It has something to do with getting the wrong readings from the GPIO right after startup, but we've not found a better solution than waiting 25 seconds yet (lots more research info available if you want to help). Still, this fix will get you going on the lovely old Pi Zero.


  • Recipe 2: 'Ready to run' SD card images (last updated March 2024)

    --> For the Pi 4: https://pidp.net/pidp8/pidp8i-32b-16gb-pi4.zip
    --> For Pi Zero 2, Pi 2 or Pi 3: https://pidp.net/pidp8/pidp8i-32b-16gb.zip

    Unzip the downloaded file (this matters), and use the Raspberry Pi Imager program to put the .img file on an SD card. The Imager program is self-explanatory, but after clicking on the middle button, select the last option on its scroll-down menu ('custom') to pick the downloaded image file.

    Put the freshly minted SD card in your Pi and you should be good to go. User 'pi', password 'pi'. Use 'sudo raspi-config' to set a new password, set up your wifi connection, and if you wish, expand the file system to use your entire SD card's space. This is the OS Lite version of the Raspberry Pi OS. If you want to add the GUI, do the following from the Pi's command line:
    sudo apt install raspberrypi-ui-mods
    lightdm # This starts the GUI from the command line
    And use raspi-config to select if you want to autoboot into the GUI, or start it manually when you need it! It's all a matter of personal preference. I prefer not to autoboot into the GUI, but just to start lightdm when I need it.

    The minimum size for the SD card should be 16GB, but as some brands have just a little variation in size, you might want to play it safe and use a 32GB card. No harm in trying a 16GB SD card though, the Imager program will tell you if it can't fit the image file.



    Recipe 3: Install for any Pi from Zero to 4, from previous 'release' source


    Installs pidp8i for Pi Zero to Pi 4, on an existing Raspbian-installed SD card. These are the quickest copy&paste steps to get the PiDP-8 software installed:

    sudo apt update
    sudo apt install build-essential libraspberrypi-dev libncurses-dev perl python3-pip
    pip3 install pexpect pyyaml
    (if pip3 complains, use: pip3 install --break-system-packages pexpect pyyaml )
    cd ~
    wget -O pidp8i.tar.gz https://goo.gl/JowPoC
    tar -xvf pidp8i.tar.gz
    cd ~/pidp8i
    ./configure

    --------------------------------------------------------------
    At this point, only if you are using a Raspberry Pi 4, please do the following. Skip these steps if you use an older Pi.
    cd src/pidp8i
    rm gpio-common.?
    wget https://pidp.net/pidp8/gpio-common.c
    wget https://pidp.net/pidp8/gpio-common.h
    cd ~/pidp8i
    --------------------------------------------------------------

    Now, finish the installation (for any Pi) with:
    tools/mmake && sudo make install

    The install script will take a very long time, as it recompiles tons of PDP-8 software and creates fresh disk images for you. The benefits of this will become clear once you spend time on the Tangentsoft web pages.


    After using any of the install recipes:


    Reboot the Pi and once up and running again, gain access to the PDP-8's terminal (the PDP-8 is already running, you just have to grab its screen). Simply enter ​pidp8i and you will see OS/8 is waiting for you.

    To leave the PDP-8 terminal behind, type CTRL-A d (Control-A followed by the letter 'd' - read up on the Linux 'screen utility to find out more). You will be back on the Linux command line of the Raspberry Pi itself.

    Some useful commands:
    pidp8i stop
    pidp8i-test (to test the PiDP-8 hardware you've just soldered up, only do this after a pidp8i stop!)
    pidp8i start
    And of course, at any time the PiDP-8 is running, use pidp8i again to get back to its console.

    Don't forget to look at the 'how to use' page on my site and the tons of useful pages on the Tangentsoft site! But that might be for later.