PiDP-11: Replica of the 1970s PDP-11/70

Introduction: PiDP-11: Replica of the 1970s PDP-11/70

About: Vintage computing type, known to dive into homebrewing computers regularly

The PDP-11 was probably the most influential computer ever. It defined what we think of as normal, it was the first machine you could get Unix for, and Windows can trace its roots to the PDP-11's other big-ticket operating system, RSX-11.

In 1975, the 11/70 was not only the biggest PDP-11, it was also the last-ever to sport a proper Blinkenlights panel. In red and purple. Sorry. Rose and Magenta. These were the 70s. But then - all of a sudden - front panels were gone from our lives and we were supposed to look at dull beige boxes for the next few decades. So very sad.

The really fascinating thing about this computer though, is that it is quite usable even today. You can run a proper 2.11BSD unix (meaning, it has the good bits of unix but not the bloat) - but you can also go back further and run Unix v6 whilst you study the famous Lions Commentary. It does TCP/IP, works as a web server, does (vector) graphics...

The PiDP-11 project aimed to bring back this venerable machine. With front panel. There might be a Raspberry Pi hiding inside, but you can even hook it up to real serial terminals if you like. All the original operating systems and software comes ready to boot.

Like my earlier PiDP-8 project, you can use the software on any Raspberry Pi even without the PiDP-11 hardware. But the idea is to go one step further, by giving it back its physical form: Blinkenlights.

There are actually four stages you can consider:

  • just running the PiDP-11 emulator on your Raspberry Pi and play with the PDP-11 operating systems;
  • adding the PiDP-11 circuit board with Blinkenlights for visual effect;
  • soldering switches onto the board to gain control of the machine over the front panel;
  • buy the complete replica kit with fancy case, acrylic front panel cover and custom switches.

The Pi has plenty of power left to do all the other things you would normally do with a Pi (media server, file server, etc). So you are not limited to just PDP-11 software.

Step 1: Convert a Pi Into a PDP-11

The software part of the PiDP-11 project makes use of the well-known simh simulator and the BlinkenBone project, which adds a front panel driver to simh.

Install your regular Raspbian. Then, add the PDP-11 simulation with these five steps:

1 Make a /opt/pidp11 directory and go there:

sudo mkdir /opt/pidp11

cd /opt/pidp11

2 Download the pidp11 software:

sudo wget https://www3.ispnet.net/pidp11/pidp11.tar.gz

3 Unpack it so the software lives in its designated /opt/pidp11/ directory:

sudo tar -xvf pidp11.tar.gz

4 Run the install script so the PDP-11 autoboots when you switch on the Pi:

sudo /opt/pidp11/install/install.sh

5 Reboot and grab the PDP-11 console:

sudo reboot

~/pdp.sh

(the last line is necessary only when you set up your Pi to autoboot into the GUI. The PDP-11 already runs, and this command brings you to its terminal. When you log in over ssh, you'll be at the PDP-11 terminal straight away)

This will get you a running PDP-11, but all it runs is a small demo program. For now.

Note: both the above pictures are the same PiDP-11, just showing that you can hook it up to a real VT-220 terminal just as well as to a laptop running a terminal emulator.

Step 2: Add the PDP-11 Software History Collection

The previous step gave you the PiDP-11, but only a demo program (idled) to run. The next step is thus to download all the operating systems.

Download and unpack the ‘systems’ collection of disk images:

cd /opt/pidp11

sudo wget https://www3.ispnet.net/pidp11/systems.tar.gz

sudo tar -xvf systems.tar.gz


Also, an even larger variety of operating systems can be added:

sudo wget https://www3.ispnet.net/pidp11/nankervis.tar.gz


Lastly, a huge 1.6GB library of RSX-11 software is available:

cd /opt/PiDP11/systems/rsx11mplus/

wget http://rsx11m.com/PiDP11_DU1.zip

unzip PiDP11_DU1.zip


More things to tweak if you want:

  • if you autoboot into the GUI, you need to open a terminal and type ~/pdp.sh to ‘grab’ the PDP-11. Disable GUI autobooting: “Raspberry icon” ->Preferences-> Raspberry Pi Configuration. You can always start the GUI using the startx command.
  • You can enable auto-login on the Pi, set that using sudo raspi-config and you’ll no longer be bothered by Pi/Linux stuff; you’ll just be dropped into the PDP-11 straight away.
  • As you don't yet have a physical front panel attached to the Pi, read the manual on how to boot operating systems. Quick tip: CTRL-E, then "cd ../systems/rt11", then "do boot.ini" is one way.

Step 3: Start Reading Up

There's still a lot going on in the PDP-11 world. The best thing is, everything is available freely as PDFs.

And once you dig in, do not forget to browse through the thousands of pages of PDP-11 manuals on bitsavers.org, in their DEC subdirectories.

Step 4: Add a Physical Front Panel

Why is a physical front panel interesting?

  • It's Blinkenlights. Front panels are Cool.
  • To understand how a computer, and its CPU, work, nothing beats inspecting a running computer in single step mode, toggling in small programs bit by bit and seeing how they actually drive the computer on the lowest level.

To get a front panel, you could buy the complete PiDP-11 kit (and you're welcome to do so), but you can also opt for the more industrial-looking Do It Yourself option. And this being Instructables, that is what we describe here: send the Gerber PCB design files to any PCB shop and make your own Bare Bones front panel. A PCB would cost a bit less than $15 per unit, in quantity five, from places like jlcpcb.com.

Other things you will need:

  • 64 LEDs (5mm, red)
  • 37 diodes (4148)
  • a UDN2981 driver chip, or equivalent.
  • 2 standard rotary switches
  • 6 momentary and 24 toggle switches, any standard mini-switch will fit.
  • 3 Resistors (1K), 12 resistors (390 ohms).
  • An "extra-tall" pin header connector to connect your Pi. Note! Normal 2*20 pin ones will not work, the Pi needs more distance from the PCB.

If you're really on a budget, or you're just interested in the Blinkenlights, you can even leave out the front panel switches and/or the rotary switches, and be done for <$20 in all.

See the Gerber file in the download section.

Note -- You do not need a serial terminal. Everything can be done wirelessly using ssh or puTTY. Even the vector graphics display can be done wirelessly, through VNC in that case. Or use the Pi's own keyboard and HDMI monitor.

Be the First to Share

    Recommendations

    • Puzzles Speed Challenge

      Puzzles Speed Challenge
    • "Can't Touch This" Family Contest

      "Can't Touch This" Family Contest
    • CNC Contest 2020

      CNC Contest 2020

    9 Discussions

    0
    mgoob
    mgoob

    Question 23 days ago on Step 1

    Can you tell me where you got the purple & brown switches? I figure they are not originals, and I'm interested in them. If it's from a 3D file, can you share it? Also, what actual switch is the purple & brown part attached to?
    I appreciate the amount of work in this fantastic build!

    0
    OscarV40
    OscarV40

    Answer 23 days ago

    I had them custom-made. They are attached to a (clone of) the same C&K switch body that the real PDP-11 used. Which was by pure coincidence, but the replica switch caps fit on the original switch and vice versa...

    The 3D model is here: http://so-much-stuff.com/pdp8/cad/3d.php, although the switch manufacturer improved upon this version slightly.

    0
    mgoob
    mgoob

    Reply 22 days ago

    Yes, I came across his files a little while ago. I'm going to try to modify the model a bit so I can attach it to either a toggle switch or a rocker switch that is of a similar size.

    I'm also interested in the red "triangular" switch (for lack of a better word) from the DP11/70. It doesn't seem to difficult to model.

    Appreciate the response.

    s-l1600-3 copy.jpg
    0
    OscarV40
    OscarV40

    Reply 21 days ago

    Ah, the triangular PDP-11 model is also on that link. Just as the PDP-8 style switch.

    0
    mgoob
    mgoob

    Reply 22 days ago

    Meant to say: I have his model of those type of rocker switches which I'll modify.
    These switches seem like an easy one to model.

    0
    Alex in NZ
    Alex in NZ

    1 year ago

    This is awesome! How accurate is the emulation? Does it all come to a grinding halt when you start to play Space Invaders on it?
    As a serious question, I love the toggle switches you've used. Can you post a link to a source for them?
    Thanks for sharing your work :-)

    0
    OscarV40
    OscarV40

    Reply 1 year ago

    Emulation is very accurate - not due to me, but thanks to simh, the emulator running underneath. You could play space invaders (the VT-100 version) on 2.11BSD at 5 terminals simultaneously without a blush...

    The switches are custom-made injection molds... which is one reason the full replica kit is kind of expensive. But for the do-it-yourself PCB version presented here, you could use any normal mini-switch, it'll fit the PCB.

    0
    Alex in NZ
    Alex in NZ

    Reply 1 year ago

    Ah! Thanks for the info on the switches :-)

    0
    edca2001
    edca2001

    1 year ago

    Nicely done instructable, thanks for publishing it. It sure brings back a lot of memories.