PDP-1 Spotting — The Amherst Mystery
Yet another PDP-1 riddle, extended mode.
Yesterday, we solved the mystery of two well-known images, formerly known as “The PDP-1 at the Tech Model Railroad Club”, with the help of the Hacker News community. — A triumph of shared knowledge.
In 1971, the German artist Daniel Chodowiecki (1726 – 1801) commented his etching “Enlightenment” (Aufklärung) by the words, “However, if the sun only rises, mists do no harm.” (Indessen wenn die Sonne nur aufgeht, so schaden Nebel nichts.) In real life, mists rise only to reveal another bank of fog. Which is the very process of research. — And this is certainly no exception. So this is a post about annother bank of fog, in the amazing form factor of a fully transitorized electronic contraption apt to manipulate 18-bit words in realtime according to a stored program and human interaction.
Another PDP-1B Prototype?
Yesterday’s sunrise, um, success was the indentification of the scene of a series of images showing a somewhat rudimentary front part of a DEC PDP-1 and a Type 30 Visual CRT display next to a model railway layout. And we proceeded to conclude that this was a PDP-1 at the University of Massachusetts Amherst, operated by the Program Head of the CS program, J.A.N. Lee (probably around 1970).
However, this also posed a new riddle, as at least two sources referred to this machine as a PDP-1B. Namely, the history page of the UMass Amherst CS program’ website,
The PDP-lB of those early days was soon replaced by three PDP-11s and a PDP-l5 with a graphics system. (www.cics.umass.edu/about/history-school-computer-science)
and the title of another photo of the same series (or lot) in the collection of the Computer History Museum (CHM), which isn’t available as a digitized image,
(CHM, Catalog No. 102757910, excerpt.)
- PDP-1/B and miniature model railroad at University of Massachusetts
- Catalog Number
- Lot Number
- Still image
Following established knowledge, there was a single PDP-1A prototype, followed by two PDP-1B pre-production prototypes (one going to Lawrence Livermore National Laboratory, LLNL, the other to BBN) and the production models PDP-1C and PDP-1D, the latter being the enhanced time-sharing model. Further, the two pre-production prototypes had a 4-cabinets main unit, which was repackaged for a more cost effective and reliable 3-cabinets design, and finally to a 4-cabinets design allowing for dedicated space for expansion modules for the production models. This history leaves no apparent room for a PDP-1B at Amherst. So is this an error in these attributions, maybe referring to a common source as a single point of failure, or is there more to this?
Update: Gordon Bell et al. mention a third PDP-1 prototype in Computer Engineering. A DEC View of Hardware System Design (Digital Press, Maynard, MA, 1978): “A third machine, similar to the 1/A and 1/B, was constructed for internal use.” (pp. 136, 137)
— An internal reference machine was much to be expected. Especially, since the PDP-1A prototype was borrowed to BBN (see below).
The first prototype, PDP-1A, was an all white machine, featuring an integrated control desk with built-in CRT and operator’s console, a three-cabinet packaging of the main unit, and a Friden Flexowriter as a console typewriter. This machine was presented at the Eastern Joint Computer Conference in Boston in December 1959.
The same machine (and the same image) also appeared in the initial announcement in Datamation, November/December issue 1959:
Then, there is a white 4-cabinets machine seen in early DEC materials, here from a brochure from March 1961. This all-white machine features a 4-cabinets main unit, a detached control console with black print and the early DEC logo (more on this later), a CRT display in similar hexagonal housing as later Type 30 CRTs, but mounted on a narrower, single-unit stand, and a Soroban console typewriter (a modified IBM Model A):
Apparently, we see this machine again at Bolt Beranek and Newman (BBN), in an image in “A Culture of Innovation – Insider Accounts of Computing and Life at BBN” by David Walden and Raymond Nickerson (ed.), 2010; page 51:
The following, rather blurry image from “Digital Equipment Corporation – Nineteen Fifty-Seven to the Present” (Digital Equipment Corporation, Maynard, MA, 1972; p.3) seems to show the same machine (all white, 4 cabinets, detached console), but with a different CRT with the standard double-unit display stand. Notably, the paper-tape devices on the left and the chairs look much like the one the BBN image, hinting at the photo showing the same installation.
The same configuration appears in yet another photo (from the “DIGITAL Computing Timeline”), here, explicitely tagged as “The PDP-1 operating system, the world's first timesharing system, is written by engineers at MIT and BBN for the PDP-1. (…) Shown here is the PDP-1 installation at BBN.”:
At this point it may be fair to assume that the images of the white PDP-1B, found in early DEC brochures, are actually depicting the BBN PDP-1B.
The last image (to my humble knowledge) in this lineage of all-white PDP-1s featuring a detached console seems to be an early production PDP-1 in 3-cabinets packaging at Itek (allegedly the second production machine):
Something, all these all-white machines with a detached console have in common, is that they are lacking an integrated paper-tape unit. In these images, we see a separate generic paper-tape unit associated to the machine, usually to the left of the control console. DEC even envisioned the tape unit as a detached desk appliance, much like the control console:
Here’s a short history of this strand of PDP-1s, as comprehensively told in “A Culture of Innovation – Insider Accounts of Computing and Life at BBN” (ibidem, pp. 53–55):
The Eastern Joint Computer Conference was in Boston in December 1959, and there Fredkin saw the PDP-1 and “realized it was fantastic.” The project to design and build the PDP-1 had started just four months prior to that. Ben Gurley was the designer, and he also built the computer with the help of one engineering assistant.
“So,” says Fredkin, “I convinced BBN to become Digital’s first customer for the PDP-1. We arranged to borrow the prototype PDP-1 while Digital built the first ‘production’ version.” The prototype machine (a PDP model 1a) was delivered to BBN in early 1960. At the time, according to Fredkin, Digital had the idea that a computer manufacturer shouldn’t do software. Thus, Fredkin wrote the assembler for the machine, wrote utility routines (like a rudimentary operating system), and so forth. In that era programs were typically written on ruled sheets with columns for the various fixed-length instruction fields. Ed’s assembler for the PDP-1 was called FRAP, which stood for “free of rules assembly program” and which allowed variable-length instructions. At some point Fredkin also wrote light pen software for the machine.
Eventually the first production model PDP-1, a PDP model 1b system (serial number 2), arrived at BBN. That was Digital’s first PDP-1 sale. Fredkin says,
When the PDP-1b arrived, BBN had a ceremony with a lot of hoopla. I wrote a little program so that the PDP-1b could cut its own ribbon at a ribbon-cutting ceremony (appropriate since one of the ideas was for the PDP-1 to interact with the real world). Digital founder Ken Olsen was present.
Bill Fletcher also was working with Fredkin on the PDP-1b. (…)
PDP-1b Time-Sharing: the Research Computer System
Fredkin says that he had the idea of hiring John McCarthy and Marvin Minsky. This soon led to plans to develop a time-sharing system for the PDP-1. McCarthy had the idea of time-sharing, and Fredkin saw the potential for time-sharing on the PDP-1. (…) Fredkin says,
John’s invention of time-sharing and his telling me about his ideas all occurred before the PDP-1 existed. When I first saw the PDP-1 at the Eastern Joint Computer Conference, I realized that it was the perfect low-cost vehicle for implementing John’s ideas. That is why I specified that several of the modifications for time sharing be part of the PDP-1b.
Fredkin knew Ben Gurley [designer of the PDP-1; N.L.] (from Lincoln Laboratory), who was the machine designer at Digital; thus, Fredkin also suggested or designed improvements for the hardware with time-sharing in mind. For instance, Fredkin designed the input/output system to be the first to have a modern interrupt system (what Digital called “sequence break”).
(…) Fredkin also designed a real-time analog input/output system with A-D and D-A converters and with 18 computer-controlled relays.
Fredkin designed the architecture of an interrupt system and designed a control system for the drum to permit it to be used in a very efficient swapping mode. He convinced Ben Gurley, the chief engineer for D.E.C., to build this equipment.
(…) Fredkin had an idea about how to demonstrate that McCarthy’s idea was right: Fredkin invented the swapping drum. The basic drum came from Vermont Research. The PDP-1 initially had 4,096 18-bit words of memory. In Fredkin’s design, the swapping drum could read in 4,096 words while simultaneously writing out another set of 4,096 words in 20 milliseconds (5 microsecond cycles). He studied the timing diagrams of the computer RAM read-write cycle and the drum read-and-write timing and figured out how each read-write cycle of the computer could read one word from memory to the drum and then write one word from the drum to memory. Furthermore, because the drum was 4,096 words around and memory had 4,096 words, it was possible for the system to notice where in the 4,096-word interval the drum was relative to its read-write positions and to start the transfer at that same point in the 4,096 words of memory; in other words, there was no latency waiting for the drum to spin to the beginning of a 4,096-word drum block. However, there was a problem. To be synchronized with the machine and have 4,096 words around it, the drum need to rotate at 3,000 rpm. Unfortunately, Vermont Research couldn’t find a motor of the right design and right speed, so the actual system ran a little slower than Fredkin’s optimized design. In Fredkin’s view, it is unfortunate that, rather than seeing his use of such an optimized swapping drum as an indication of what a time-sharing system could do if it was all in RAM, the whole world copied the idea of a swapping drum but without having a drum that worked like Fredkin’s. Thus, later time-sharing systems had lots of latency and were very slow.
From this, we may take some crucial bits of information away:
- The prototype PDP-1A as presented at the Eastern Joint Computer Conference in Boston, in December 1959, went directly to BBN.
- Much of the original system software originated at BBN. (Not to be confused to the software produced at MIT, which was mostly ported from the TX-0. However, Spacewar! would still rely on BBN’s subroutines for multiplication and division.)
- Following to the borrowed PDP-1A, BBN recieved a PDP-1B (which was later followed by a number of further PDP-1s), which was modified to become the pioneering time-sharing prototype. This is not to be confused with the PDP-1D time sharing model (also designed to BBN specifications), which became the BBN Hospital System. This PDP-1B was modified by an interrupt system (in DEC terms: sequence break system) and special IO designed by Ed Fredkin.
- Moreover (and this may become of interest later) the memory of this time-sharing prototype was extended by a custom drum system for swapping (as opposed to extending the expensive core memory), also designed by Ed Fredkin.
- BBN was exceptionally well connected in the computing arena of Boston/MA.
The Blue Strand
The second pre-production prototype went to Lawrence Livermore National Laboratory (LLNL). This one featured a control console and paper-tape unit integrated into to machine’s front pannel. Also, this machine came in the iconic Space Age blue and white color scheme:
This machine had the same console lights and switches as the PDP-1C production model. In addition to this, the machine featured some extra dials and even a telephone hand-set for voice input. This was probably the best equipped PDP-1 installation ever. (A later, noteworthy addition was an early mouse enhancing Engelbart’s SRI design, apparently in use even before the first public demonstration of a mouse in the “Mother of All Demos”. However, the mouse wasn’t deemed a major advancement over light-pen input in general with opinions split about 50:50 in favor of any of these two input devices.)
This evolved into the well known production design:
Finally, there was also an alternative color scheme for production models, featuring a bright console with dark print, and blue and black front panels:
— Phew! —
But, before we dwell into the nerve wracking question of how the Amherst PDP-1 could fit into this lineage, we must address yet another thing, namely the control console and addressing.
Before we have a closer look at the consoles, we’ll have to familiarize ourselves with the addressing scheme(s) of the PDP-1.
The PDP-1 features 18-bit words and an instruction word looks like this:
- a 5-bit instruction / op-code
- a “defer” bit, also known as “i-bit”
- a 12-bit address part providing an address range of 4K in total
What we are especially interested in, here, is the defer or i-bit: On a standard PDP-1 production machine, for any instruction that accesses memory, a set i-bit will effect indirect addressing. Meaning, if an memory access is “deferred”, instead of using the contents of the memory address specified as the operand, this contents will be used for a new address look-up.
Normally, we’re done by this. Not so on the PDP-1: this happens every time memory is accessed. Each new address will be inspected for a set i-bit, again, and again, in an iterative process. (In theory, you could probably build a nifty state machine, just based on the i-bit and a clever distribution of memory contents.) The only penalty, we have to pay for this, is an extra memory cycle of 5 microseonds delay, everytime a memory access is deferred. (Hence the name.)
But this isn’t all. While horribly expensive, 4K of core memory are not the world. What, if we wanted to go beyond this? The PDP-1 provides two separate schemes to handle this: The first one is based on the i-bit. In “extended adressing” mode, the i-bit becomes an extra address bit, thus doubling the addressible range to a total of 8K. However, while doing so, we lose indirect addressing, which leaves something to be desired. This may be remedied by the other scheme, which is based on the Extended Memory Control (Type 15), allowing us to mount (by name) up to 15 additional blocks of 4K 18-bit word memory and to operate them by bank switching.
This is also reflected by the standard production console (see the image below). We may observe a number of features related to instruction and address decoding:
- a horizontal field of 5 lights for instruction decoding at the bottom right
- a vertical row of 13 status lights, among them
- a “DEFER” light indicating indirect memory access in effect
- an ”EXTEND” light indicating extended addressing mode
- 4 extra switches (“EXTENSION”) to the left of bit 0 of the “ADDRESS” word for manual address input
- an “EXTEND” switch to the left of it for extended addressing mode
- 4 “EXTENSION” lights (related to bank switching) at the left of the program counter and the memory address lights in the two top rows of lights occuping the left half of the console.
The console of the white pre-production machine seen in the early DEC brochures, which may be well the BBN PDP-1B, is yet another beast:
Besides merely cosmetical features, like the dark print on bright background, the dark conical switches at the bottom left, and the early DEC logo (not found on the production machines) at the bottom right, there are more decisive features, separating this from the strain of blue machines.
- There are no extended address lights or switches at all. Neither for the program counter, nor for the memory address, nor for the test word (here: "TEST ADDRESS”).
- There is also no “EXTEND” switch on the left side of the “TEST ADDRESS” switches (12-bit only).
- There are 14 lights in the vertical center column, but no “EXTEND” light. Instead, we find two lights for deferred addressing (“DEFER 1” & “DEFER 2”) and also two lights for the overflow flag(s) (“OVER FLO 1” & “OVER FLO 2”). — Don’t ask me, why there are two of them.
- The array of lights for instruction decoding is located to the left of the memory address lights, near the top left.
- Where the PDP-1C has the instruction decoding lights, there are two rows of lights: 7 lights labeled “SELCETED FIELD” and below them, in another row, 3 lights for “DATA FIELD” and “INSTR FIELD”, each.
- Thus, there are 4 horizontal rows of lights on the left half of the console, where there are 3 for the production PDP-1C.
- Where the PDP-1C has two unlabeled conical switches at the bottom right, there’s the early-style DEC logo.
It’s fair to say, there are no provisions for extended addressing mode, at all. Instead, we find these peculiar field indicators, which must remind us of the IF / DF registers bank switching scheme found on the PDP-8. These allow to sparately select banks for the instruction part (op-code) and for the address part of an instruction, respectively. It even suggests that this bank switching scheme was originally developed for the PDP-1 and was later repurposed for the PDP-8.
This would work hand-in-hand with another feature of the PDP-1: There are three instructions for depositing the contents of the accumulator in memory address:
dac” (deposit accumulator), which jams the entire word in a memory cell,
dap” (deposit address part), which changes just the address part of that memory register, and
dip” (deposit instruction part), which does the same for the instruction part (highest 6 bits).
Together, these make up for a pretty versatile hardware-assembler for self modifying routines. But, more importantly, we see here the same separation of instruction part and address part as required for an IF / DF registers-based bank switching scheme.
So why haven’t we heard any about this? I guess, it’s because the white BBN PDP-1B never used this bank switching scheme, rather, Ed Fredkin resorted to drum-based swapping.
As far as I can tell by the mostly blurry and/or low-res images, from all those white machines, only this single one (which is to all probability the BBN PDP-1B) features this arrangement of lights, especially with the somewhat distinctive 4 rows of lights on the lower right. At least, I'm somewhat confident that the Itek machine shares the general layout with the consoles of the PDP-1C production machines and the LLNL machine.
Finally, to complete our little tour around PDP-1 control consoles, here are the controls of the PDP-1A’s integrated control desk:
While otherwise already similar to the pre-production and production models, this one is lacking any provisions for extending memory, neither by extending the address bus, nor by any of the above bank switching schemes. It’s just the basic 4K address range — and that’s it.
BTW, as we were speaking of early DEC logos, here’s the early logo in comparison to the logo that replaced it (here a logo badge as found on DEC equipment of the era):
The Amherst PDP-1
Now that we actually know some about the various form factors of the PDP-1, we may risk a closer look at the Amherst machine. Is this really a PDP-1B prototype, or just another production machine? We should know by now just enough to know a little bit what and where for look for and what we’re talking. (Oh, those who fly high… hubris, I say! But there are times, where hubris is all you have.)
First, let’s have a look at our first image, once again, and see, if we may discern any distinctive marks:
Starting in the background, we can easily discern a row of at least three white cabinets (maybe four, but this is outside the crop of the image), we’re already familiar with. This is indeed an all-white PDP-1. To the right, there are 3 auxiliary cabinets and the control unit on the top of the middle one has some distinctively DEC-like looks. Finally, directly behind the operator’s desk, there are some further, probably I/O-related devices.
Update: These 3 cabinets in the background are probably a drum unit together with the respective controller, probably made by Vermont Research. (In this context compare the notion of a Vermont Research made drum unit at BBN in the passage from “A Culture of Innovation” quoted above. A similar unit can also be seen to the left of the PDP-1 at LLNL in the first of the photos shown above.)
What’s really amazing about this, is that this is a quite extensive, stationary and probably permanent installation. This isn’t just an improvised, ad-hoc assembly of some digital membra disiecta. And next to it, we do find a model railroad layout, which isn’t too small either!
Let’s inspect the second image, which shows a bit more detail of the operator’s desk:
There are some distinctive features:
- To no great suprise, we find a Soroban console typewriter. (IBM Model A with selenoids for remote operation).
- The Type 30 Visual CRT display appears to be an early model on a narrow stand, just like in the early DEC brochures and on one of the confirmed photos of the BBN machine.
- Notably, this is a bright console with dark print, and what appear to be black (or dark) conical switches at the bottom. However, we find the console attached to a block housing the standard, integrated paper-tape unit of the blue PDP-1s.
- This doesn’t fit well with what we already know about the all-white machines. There ought to be no such unit in the main cabinets, from which this could have been removed. To the contrary, we find the main units in the background quite intact, at least visually.
Let’s have a closer look at the console (sorry for the blurry image, but we still do not have that Bladerunner™ magic):
This matches closely the white PDP-1B prototype from the early DEC brochures (the alleged BBN PDP-1B)! There are all the ingredients. At least, it doesn’t match any of the other control consoles.
So this is indeed a white PDP-1B!
Some of the discernible features of this console are:
- Dark print on bright background.
- The early DEC logo at the bottom right and no switches in this area.
- The 6 conical switches at the bottom left have dark handles.
- There are 4 horizontal rows of lights at the left side of the console. The two lower ones are closer together, apparently forming a group, the row at the bottom appears to have a gap in the middle, dividing this row in halves of equal length. Which matches the arrangement of the field indicators.
- The vertical column in the middle consists of 14 lights.
- At the left side, the two top rows of address indicator lights are significantly shorter than the memory contents indicators below, indicating that there are no “EXTENSION” lights.
- However, while there seems to be something to the left of the second row (“MEMORY ADDRESS”), we can’t clearly discern, whether there are some lights for instruction decoding at the very left or not, as this area is obscured by a scan artifact.
- Not much can be said about the two rows of switches at the bottom left, as there isn’t that much information in the image. However, these rows appear to be of about equal length, which, if true, would be a clear deviation from the console of the white PDP-1B, we know.
This leaves us with two scenarios: Either, this is a third PDP-1B, which is somewhat in the middle of the two strands, incorporating some of the features of each, much like a missing link, or, this is the BBN PDP-1B transferred to Armherst, where it acquired the paper-tape unit of the production models as an upgrade.
And by this bombshell (no, this isn’t about cars, but about computers and trains!), we’ve finally arrived at the end of this rather extensive post.
+++ Update +++
The Riddle Solved
Meanwhile, I managed to find (thanks to fatcat.wiki) a digital copy of J.A.N. Lee’s review of “Hackers”, the very one, in which he published a cropped version of our second image, along with some comments. —— And here it is, on page 271 of J.A.N. Lee, “Reviews: Levy, Steven. Hackers” (Annals of the History of Computing, vol. 7, no. 3, July, pp. 270-272, 1985):
The image caption reads rather promising,
PDP-1 attached to a model railroad after its retirement to the University of Massachusetts at Amherst in 1968.
(J.A.N. Lee, ibidem)
“Retirement”? — So it was indeed transferred to Amherst from a previous installation, and we even get a year for this, as well, as in 1968.
Let’s have a look at the actual text body of this review of “Hackers” — and there, we find:
The PDP-1 that originally went to Bolt, Beranek & Newman to be used in a more formal environment than at MIT was eventually retired to the University of Massachusetts at Amherst in 1968 during my own tenure there and was connected to a model railroad. It still had SpaceWar! as the primary program.(J.A.N. Lee, ibidem, p. 272)
So it’s really the BBN PDP-1B!
And, in the end, there’s even a faint connection to Steve Russell and the TMRC, as the very machine, which we find thus connected to a model railroad layout at a university, was still holding a copy of Spacewar! in its non-volatile core memory!
However, there are still some loose ends, namely, how did this PDP-1B acquire a production-type taper-tape unit, and what’s more, how did this PDP-1 installation and the model railroad layout come to to share a room, so that the former could control the trains on the latter?
BTW, according to Steve Russell, these early PDP-1s weren’t exactly white. In his memory
the “Prototype PDP-1” cabinets that were in the CHM Visible Storage were a very light cream color with a dark speckle.
(Steve Russell, PDP-1 Team mailing list, March 5, 2021)
And, regarding form factors, there are apparently still some amazing things to be discovered in the archives:
When the CHM was inventorying their DEC archive, I saw several pictures of PDP-1 prototype like computers with different detached consoles that I had never seen before. I believe that these were mock-ups done for PDP-1C design studies. The legend of the “chief console designer” memo would explain why the attached console was used in the PDP-1C and all succeeding DEC computers.
(Steve Russell, ibidem)
If you know anything about this or any further details, please contact me.
Otherwise, stay tuned.