FPGA Emulates a PDP-1, Breathes New Life Into Classic Video Game

If you’ve ever wanted to sit at the console of the machine that started the revolution in interactive computing, your options are extremely limited. Of the 53 PDP-1 machines that Digital Equipment Corporation made, only three are known to still exist, and just one machine is still in working order at the Computer History Museum. So a rousing game of Spacewar! on the original hardware is probably not something to put on your bucket list.

But thanks to [Hrvoje], there’s now an FPGA emulation of the PDP-1 that lets you play the granddaddy of all video games without breaking into the CHM. The project was started simply to give [Hrvoje] a sandbox for learning FPGAs and Verilog, but apparently went much further than that. The emulation features the complete PDP-1 instruction set, 4kB of core memory, and representations of the original paper tape reader, teletype, operator’s console, and the classic Type 30 CRT. All the hardware is displayed on a standard HDMI monitor, but it’s the CRT implementation that really sells this. The original Type 30 monitor used a CRT from a radar set, and had long-persistence phosphors that gave the display a very distinctive look. [Hrvoje] replicated that by storing each pixel as three values (X, Y, and brightness) in a circle of four chained shift registers. As the pixels move through the shift registers, the brightness value is decreased so it slowly fades. [Hrvoje] thinks it doesn’t look quite right, but we’ll respectfully disagree on that point.

We’ve argued before that the PDP-1 is the machine that started hacker culture, and we think this project is a fitting tribute to the machine as we enter the year in which it will turn sixty. Having the chance to play with it through this emulation is just icing on its birthday cake.

14 thoughts on “FPGA Emulates a PDP-1, Breathes New Life Into Classic Video Game

  1. I’ve noticed something: the further forward the Internet goes in time, the further back it reaches. This is amazing. I’ve seen videos of a PDP-1 in action, but even in my advanced age, never a live one. DEC was way ahead of its time – the PDP-1 and its X-Y CRT monitor was the inspiration for all of the Atari vector-based arcade machines of the 1980s, and of course, the home version, the 6809-based Vectrix console. We’re talking NINETEEN SIXTY, here.

  2. One nit to pick, for anybody emulating ancient-school “green bar” computer paper: the bars weren’t one bar per line of text; they were usually one bar for three lines of text – 3 lines white, 3 lines green. The purpose of the bars was to make it easy to read code or data that was spread across a 13″ piece of paper and keep track of what is on which line, but having a color change for every line made it too busy. By using a bar for every three lines, each line was at the top, in the center, or at the bottom of a white or green bar, which was found to be optimal.

    1. This was something of a deliberate mistake. I’ve tried doing it 3 lines per color first, and at this font size it just didn’t seem right.

      This example uses a single line with larger font (more like this implementation) http://weblog.ceicher.com/2012/03/24/FortranProg.jpg

      And this https://ids.si.edu/ids/deliveryService?id=NASM-NASM-9A12593-45506-A is the 3 line variant. The font seems much smaller (or the paper larger). This is an awesome printout btw, please notice the JET FUEL indicator :) When you think this technology got us on the moon…

    2. The paper running through the IBM Model B typewriter for the PDP-1 in Building 26 was, if i remember correctly, not green-bar paper but just white paper. I think I have a printout from it in the attic, somewhere, along with a FIO-DEC punched paper tape of the Spacewar! source, or maybe for the music editor instead. Why does anyone save junk like that? I have no tape reader at all, not for paper nor for the nine-track tapes from my days at Prime Computer in Natick. Wait a minute, I could read the paper tape with my eyeballs, if I wanted to.

      Additionally, (and again IIRC), that particular PDP-1 was given to MIT by DEC president Ken Olsen himself, on the condition that it be available for direct use by undergrads. The IBM computers were accessible only to white-smocked priests from IBM, who would accept batches of punched cards and return a printout of the compilation errors a day or so later.

      1. Ah, nostalgia time.

        I began my professional career with a Prime 550. About 18 months later, I became the system manager and oversaw its upgrade to the 9750 model. They were great machines – very reliable and reasonably easy to maintain.

    3. Apparently there were all kinds of it. I remember equally distributed green and white bars. This photo from wikipedia shows an assortment of slightly different kinds:

      A thing to improve in the FPG-1: scroll the paper pattern when the paper scrolls.

  3. As an ex-DEC guy (that’s 48818 to you kids) – that’s an 18 bit machine, and bytes were nowhere to be seen at the time.
    Remember baudot? 7 bit ASCII? Then EBCDIC? We thought in octal. Hex never really sat right after that.
    4kb of memory wasn’t a thing for quite some time yet…words, yeah.
    Later on, BTW, people did vectrex-like video games on PDP-8’s too…they were fun, there were lots of 8s of various flavors, meaning people with some time on their hands had access to them….
    I did 4’s, 7’s (owned two 8’s), 9’s, 15’s (a favorite), 11’s and a couple VAXes during my tenure there.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.