The 1975 PDP-11/70 was the first computer with unix and C. But there is much more to make this an interesting minicomputer playground.
The PiDP-11 uses a modified simh on a Pi, hiding behind a replica front panel. It runs everything: From Unix v5 to 2.11BSD to RSX-11, multi-user, vector graphics and all. CAD design and injection molding were new territory for me; I felt that a replica had to the exact same slanted, white panel frame to reproduce the original's spirit. Project completed. The kit is now at obsolescence.wixsite.com/obsolescence/pidp-11
We're still adding to the machine's built-in "software museum", join the PiDP-11 Google Group for more!
In terms of electronics and software, the PiDP-11 is similar to my PiDP-8. The PiDP-11 turned out more costly to make, because of the custom case (injection molding!). I hit the upper limit of the design goal: to stay under $250.
The molds for switches and case will hopefully be useful for other PDP-11 projects as well. The idea is to have these parts available as 'open-source molds'. If such a concept exists. :)
(update - in fact, a plug-in FPGA board for the PiDP-11 is being worked on as part of the PDP2011 project, in case simh on a Pi does not meet your needs).
Raspberry Pi +/2/3/3+
5mm LEDs, red
UDN2981A or equivalent
Interface and IO ICs / Peripheral Drivers and Actuators
Rene Richarz just released an animated TU-56 DECTape unit for the PiDP-11. In the form of a rack-mounted HDMI display. Much time was spent thinking of how to replicate a DECtape unit for the PiDP-11, but Rene did what makes most sense: have a high-fidelity DECtape animation instead, on a low-cost HDMI screen.
DECtape was crucial in the early days of DEC, and having a timing-exact virtual unit gives a pretty realistic experience of life before floppy disks:
Thank you, Rene! Apparently, a TU-77 magtape unit is forthcoming. It's a good thing that the new Raspberry Pi 4 has two HDMI outputs.
The past couple of weeks have seen some interesting developments on the ancient unix side of the PDP-11. We have the high-resolution Tektronix vector display with loads of software and C library of course, the http daemon (running on just simulated 1970s hardware, mind you!) has been boosted with CGI, and quite a few other patches and goodies have been worked on (even the Ingres database has been brought to life).
Here is the thread with the latest disk image download: (link)
I just updated the firmware to support the new Pi 4, which has a slightly different way of enabling the internal pull-up resistors on the GPIO.
So... where the Pi 3B+ was 6 times faster than the real 11/70 at 7241 dhrystones/second, versus 1250 for the 1975 original... you can now enjoy a 12x speed boost versus 1975. For those who like to be as authentic as possible, use a Pi 2! Or use the 'set throttle' configuration to slow down the Pi 4. Or run multiple 11/70s in parallel. At least the Pi 4 shows there's still progress in computing and 2.11BSD unix feels like lightning :)
The other nice thing of the Pi 4 is that you can use one HDMI display for a faithful CRT display (using cool-retro-term) and a second one for the very cool Tektronixvector tube simulation, which really uses the 4K resolution of the Pi 4:
Beige-O-Vision just made a very nice 4-part Youtube movie showing how to build the PiDP-11. Worth mentioning here, as it surely will save builders a lot of time. Since nobody reads written Building Instructions anymore these days...
[Rene] wrote a very pretty emulator for the Tektronix 4010 vector graphics display. And got everything set up inside 2.11BSD so you can actually use it. It's a great step forward: not only can the PiDP-11 now do vector graphics on BSD, but the C libraries are included as well! It turns out that making cool graphics takes only a tiny bit of C...
We already had BSD unix networked on the PiDP-11, so this is becoming a pretty top-of-the line scientific minicomputing setup ;)
One of the next challenges is to get uucp going on Unix v7, as a bridge between the Pi and the PDP-11 sides of the PiDP-11... nontrivial.
The new software (and software museum) distribution is currently in beta stage. Use your PiDP-11 with RSX-11 as a web server, surf the internet with 2.11BSD, play lunar lander on a simulated vector display, follow the Lions Commentary on a real Unix v6... things are developing rapidly at the moment.
That is also why the manual is in .odt format. It's being added to constantly. Best opened in MS Word, but LibreOffice on the Pi is OK too. Have a look:
First comes a software update with polished-up boot disk images for unix v5, v6, v7, 2.11 BSD and Ultrix, hopefully next week. Got to do it before January 1st, Unix's 50th birthday!
Then, Jörg has released the UniBone card. This thing lets Linux drive the old Unibus directly. It is possible to have a software CPU simulation run inside an old, potentially dead, PDP-11 and let it use its real core memory as well as any real PDP-11 disks... this needs hooking up to the PiDP :)
Lastly, many thanks to PJ Evans for publishing this article in the latest MagPi edition! Hopefully that gets new people sucked into the dark world of PDP-11 computing.
(note - MagPi is a truly Open Source publication, Creative Commons (BY-SA-NC 3.0))
Well, today was a great day - the day that the 600th PiDP-11 saw the light of day! I'll celebrate this weekend at the Vintage Computer Festival Zürich (vcfe.ch, that's a shameless plug...)
But there are hardware developments too. Soon, we'll have the PDP2011, Sytse's FPGA version of the PDP-11, as a plug-in module. So you can choose whether you like a Raspberry Pi simulating inside, or a FPGA hardware version to blink the front panel.
And Jörg is cranking out the first production UniBones - a reasonably mad device that can plug in to a real DEC Unibus. Either to emulate any storage peripheral for a real PDP-11, or to hook up any real PDP-11 hardware onto the simh running inside the PiDP-11. Yes, you will be able to connect an RK-05 to the PiDP-11... who'd have thought that two years ago!
Here, somewhere at the end of the last row, is PiDP-11 #600 waiting for the postman. One more grainy late-night picture:
Ouch - the last update here was almost a year ago to the day.
As it turns out, injection molding is not for noobs. Many thanks for all the help I got from here, including the massively helpful final check before the mold was made. It only took me 350 revisions of the CAD model, and 30 more from others... And it took custom-made brass inserts to hold the bolts in the case. So Iearned a lot, but it can be summarised: if you consider injection molding for a hobby, don't.
But! The first 20 PiDP-11 kits went out to beta testers, and other than a slightly too-short hex spacer, no problems during the final shake-out! So here it is, the brand-new PiDP-11/70:
Over the last few weeks, I've made a web site for the kit, and a Google Group is live as well. Now, the focus shifts to polishing up the (currently pre-alpha) software, and kits will go out from next month. Here are the kit contents:
Stupidly I forgot to put the back panel of the case in the picture, but it's on my site anyway. That back panel taught me about laser cutting (press-out slots for connectors etc), and after injection molding, that is the way to go for any following project. Easy, low-cost and very precise results.
I'll post some more updates in the coming weeks. As the PiDP-11 is a simhBlinkenBone device, I just wrapped up a virtual PiDP-11 with Jörg's virtual 11/70 front panel. That'll add to the fun as we go about building a right proper PDP-11 Software Museum into the software. From RT-11 to Unix v5/6/7 via Ultrix to 2.11BSD to RSX-11M Plus with networking, it should all be there of course!
It's been a good few months without an update. Real Life interfered, as it does. But also, I had lots of trouble getting the CAD design ready for injection molding. Stuff you don't think about: selecting brass inserts for screws, and how they should fit in the plastic. Controlling cost by ensuring a hobbyist can mount the inserts himself...
Hopefully, a professional checkup on the CAD file means it is now good to go. One more 3D printed prototype to check these inserts, and then the case should be done.
About time, the rest of the project was done 6 months ago. I'm curious if at the end of this I feel injection molding is just a horrible idea for hobbyists, or whether I just was slow climbing the learning curve. We'll see.