Hackaday Retro Edition: Remaking The PDP 8/I With A Raspberry Pi

[Oscar] really likes the PDP-8s, with the extremely old school PDP-8/I being his favorite. If you haven’t checked the price on these recently, getting a real PDP-8/I is nigh impossible. However, after assembling a KIM-1 clone kit, an idea struck: what about building a modern PDP-8/I replica that looks like the real thing, but is powered by modern hardware. This would be fairly cheap to build, and has the added bonus of not weighing several hundred pounds.

The PiDP-8 is [Oscar]’s project to replicate the hardware of the 8/I in a modern format. Instead of hundreds of Flip Chips, this PDP-8 is powered by a Raspberry Pi running the SIMH emulator. The 40-pin GPIO connector on the Pi is broken out to 92 LEDs and 26 toggle switches on a large PCB. This setup gets [Oscar] a reasonable facsimile of the PDP-8/I, but he’s also going for looks too. He created an acrylic panel with artwork copied from an original 8/I that mounts to the PCB and gives the entire project that beautiful late 60s / early 70s brown with harvest gold accent color scheme.

Since this emulated PDP-8/I is running on entirely new hardware, it doesn’t make much sense to haul out disk drives as big as a small child, tape drives, and paper tape readers. Instead, [Oscar] is putting everything on USB sticks. It’s a great solution to the problem of moving around files that are a few kilowords in size.

[Oscar] says he’ll be bringing his PiDP to the Vintage Computer Festival East X in Wall, NJ, April 17-19. We’ll be there, and I’ve already offered [Oscar] the use of a VT-100 terminal. If you’re in the area, you should come to this event. It’s guaranteed to be an awesome event and you’re sure to have a great time. Since this is the 50th anniversary of the introduction of the PDP-8, there will be a half-dozen original PDP-8s set up, including a newly refurbished Straight-8 that came out of the RESISTORS.

Oh, if anyone knows how to connect a Pi to a VT100 (technically a 103), leave a note in the comments. Does it need the RTS/CTS?

IIRC, the original ran at 20 MHz, but required a couple of clocks per instruction. So, unless the simulator requires 50 or more clocks to replicate the RISC-like instruction set of the 8, it will be running faster than the original. Overclocked PDP-8. Interesting…

The PDP-8i had an instruction and core-memory cycle time of 1.5 microseconds. That corresponds to a clock speed of 666 kHz (0.666 MHz). Instructions were 2-3 clock cycles, i.e. fetch-execute or fetch-defer-execute. The “fast” PDP-8 was the PDP-8e with a cycle time of 1.2us.

Huh. Memory is a funny thing. For some reason, I have a -very- distinct memory of a 20MHz clock I was tracing in a PDP-8e. It does make sense, though, in that its execution rate was pretty slow, so the 1.5us seems reasonable. Thanks for the reminder!

Your right believe it or not you are both right. The PDP-8E does use a 20Mhz clock for its main clock but its divided by an adjustable 28 state shift register. You can send a signal to the timing circuit for a “fast” (1.2us, 25 states) or “slow” (1.4us, 28 states) time. (DEC-8E-HMM1A-D-D: 3-47)

While I never worked on a PDP8E before I am trying to build a state accurate emulator and was confused why all the manuals talked about us time instead of cycles. Its because the PDP8 actually changes the speed of the clock depending on the operation. Crazy but kind of neet.

The PDP8 was the first computer I ever used, it had 4K of six bit core. You had to boot it with the toggle switches and it then loaded the first sector of a 15″ 750KB hard disk. It was used to turn stock exchange closing figures into typesetting codes for the Sydney Morning Herald (1976). The data was transmitted from the exchange via a hand built modem which was itself a 4U high 19″ rack sized piece of analog wizardry. The first program I ever wrote (in BASIC on the same PDP8) was to capture the hex dump of the Apple ][ monitor ROM which I keyed in via an ASR-33 teletype. The program generated a S9 formatted paper tape, which was then used to burn a 2716 2kB EERPOM. That was then put into a wire wrapped S100 board which immediately booted up the Apple ][ monitor (truly), ready to load basic from cassette tape. I still have that board in the garage. These were manly days.

Mike is right, though. It’s an implication (intentional or not) that men are more capable of that sort of advanced technical work. How do you think a young female engineering student would feel hearing you call an impressive project “manly?”

I think age and perspective might matter here. Also,while I generally get what you’re saying, the type of person that wants to work in engineering is intellectual and a bit detached generally compared to the average population. They will probably understand that what is meant is that their work is impressive and up to your standards. Although they may be frustrated that the standard isn’t always as objective as it should be.

The implied sexism of ‘manly’ isn’t, in my mind, as a big a problem as the applied sexism present elsewhere. Hopefully we can transition into language that is acceptable to everyone without losing the connotation of doing something that everyone can agree is great, awesome, etc.

ob nitpick: the core memory is 12 bits wide, and the disk would have been 14″, probably an RK05 which holds 2.5MB – that translates to 1.2MW for 12-bit words – though the rather rare RK02 was only 1.2MB. There weren’t any smaller capacities than that, in hard disks. Still a great story there, though, Robert. What did the S100 card go in?

The first programs I wrote were in Algol for an Elliott 4100 but one of the first computers I used interactively was also a PDP-8/E. I still have one, and some S100 stuff :-)

There might not have been any smaller REMOVEABLE hard disks/cartridges, but the DF-32 fixed disk had just 32 K-WORDS of storage. The main DF-32 unit could have up to three additional DS-32 units added, for a total storage capacity of 131 K-WORDS. I also remember a larger fixed disk unit, perhaps 256 K-WORD storage per unit, and a DRUM unit, both of whose model codes currently escape my mind and my 1977 Small Computer Handbook is in a box somewhere.

The 8/e was kind of a cheat compared to other models, since it only had two rows of lights and a selector switch. BBOOOORRRRRIIIIINNNNNGGGG!!! I learned on an 8/L, and the PDP-12 front panel was even nicer yet!

Regarding the VT100, I had a few different terminals that I hooked up to a serial port of an XT-PC, and I used to wire all of it up, so including RTS/CTS, DCD/DTR, etc. Some had weird connections that needed to be made, so there was a complete book of connection possibilities.
But for the raspi, I would say use Rx/Tx only (the data channels), loop the other ones back if necessary (so connect RTS to CTS on the VT100), and then choose a low baud rate like 9600 and work up from there. The VT100 should be fast enough, and the raspi as well unless you get really high speeds.

The VT100 series was robust. Anything from two wires and 7 bit chars, a ground, and no handshaking, to XON/XOFF, to full hardware flow control and parity checking. All selected on screen through the setup panel.

Shouldn’t need any more than level shift (or you could bodge up 20mA loop driver/receiver if the unit has the option), set the bitrate, and go. Oh, ya, and the setup guide. The 100 series, IIRC, didn’t have friendly setup like the 200’s. Just a row of flags on screen.

XON/XOFF using 2-3-7 was all I ever used for terminals on the 11/780 and MicroVAX II. CTS-RTS is really for running things which are much faster than humans. However, it’s also all I used for a data link from the 1st to 4th floor between the VAXen. The wire was too long to run very fast. Boy was it cool when we got got our vampire tap thickwire connection.

8e was the second computer I ever worked with. Installed in my boss’s study at his home where we developed a “business” language interpreter because 8 BASIC, FOCAL and FORTRAN just didn’t do what he wanted!

I’ve been pondering doing something similar, well, identical really, but based on a Data General Nova 800.
I recently learned my grandfather used one in his job at Kodak, after looking it up I realized the Nova was quite a nice piece of kit. Sadly I can’t find one anywhere in Australia (There was one on ebay in the US for $800, I would have bought it in a heartbeat), so if I can find a schematic or some nice drawings I’d like to bang one together.
I honestly just love the look of minicomputers from the 70’s.

interesting. What department/project did your grandfather work in/on? I worked at kodak and used the nova on a project called technet years ago. The project was a major user of the data general nova at kodak.

Honestly, I think the disk, tape, and paper tape drives are just as important as the computer itself in terms of retro experience. You don’t understand how things were unless you do it that way. Of all of those, a paper tape reader is probably the easiest to implement and cart around.