Professor Mark Csele

Vintage Digital PDP-11 Computers

The PDP-11 was a computer I always _wanted_ to own. As a kid, in the 1970’s, these were the apex of computer technology. Larger 11’s featured blinking lights which went wild as the computer ran.

I acquired my first PDP-11/05 system in the early 80’s. After a lot of trading (including for the shell of an 11/70 I picked-up at a surplus sale), I ended-up with a reasonably well equipped 11/34 system. Built in the mid 70’s this system featured three RK05 removable disks. Unfortunately, the system was (out of necessity) stored in an unheated garage: fifteen years of temperature extremes, mice, and moisture resulted in the complete destruction of the drives …. they would never run again :(. When removed from storage it was hoped that all they would need as “a good cleaning” however a closer look revealed that mice had made a home in the drives, chewing some wires including the delicate wires to the disk heads, and humidity had caused many moving parts to rust. Glass sliders used for disk head position feedback had broken from their mounts and were found in the bottom of the drives. After a good deal of effort to salvage the drives, they were essentially written-off. On the plus side, the CPU works very well – it seems almost unscathed by the ravages of time that were not very kind to the disk drives.

The CPU, weighing in at 110lbs, is now housed in a heated workshop where the temperature hardly varies and humidity is well controlled: it can now be preserved well. Of course, now that the RK-05 drives are gone I do not have a bootable device to run RT-11 (which was on my old RK-05 DecPacks) … I have plans in the works to add an RX-01 floppy drive to the machine allowing it to run RT-11 again.

Role of the PDP 11 in the history of the computer

If one thinks of the PDP-8 as the “model T” computer (cheap, and designed for mass production), then the PDP-11 is the big old 1950’s car! Loaded with features and with loads of horsepower, the PDP-11 CPU features memory-mapped I/O (common on many later microprocessors like the 6502 in which one simply MOVES a value to an I/O device rather than use a special IN or OUT instruction), eight working registers, and the ability of these registers to operate in many rich addressing modes. For example, a register could act to hold a simple value {MOV #500,R2}, or could be used as a pointer {MOV (R2),R0}, and even auto-increment {SUB (R2)+,R0}. Featuring an orthogonal instruction set, instructions like MOVE could use memory addresses or registers as operands. This was one of the first implementations of this type of architecture and we see this legacy live-on even today in chips like Microchip’s dsPIC series (among many, many others). 

The PDP-11/34 CPU

The front panel of the PDP-11/34 CPU featuring a keypad and display

For those of you unfamiliar with a PDP-11 consider that this is a true minicomputer in an era before microprocessor chips existed. There is no CPU ‘chip’ but rather several printed-circuit boards containing hundreds of discrete logic IC’s, primarily 74xx series TTL. This particular machine is a third-generation PDP-11 held on only two large PC boards and with advanced memory, not core like older machines (e.g. the 11/05) had. Dated about 1976 this is an original 11/34 replaced by 1980 by the more-common 11/34A. Considering the first PDP-11 was shipped in 1970 (the first model being the 11/20) this model in the PDP-11 family was reasonably advanced for its time and the CPU requires only two boards, plus one smaller board which acts as an interface between the front panel (which features a keypad and 7-segment LED displays). 

The CPU box is a 10.5″ high BA-11K mounting box which houses the CPU boards (top two in the photo, which comprise the KD-11E CPU) as well as boards for a serial console (an RS-232 terminal, usually a VT-100 or Decwriter), memory, and peripheral controllers. The CPU is mounted in a DD11-PK nine-slot backplane and can expand further in four-slot backplanes which can be added to the system. The first two slots of the DD11-PK are reserved for the CPU cards, and the rest are quad-wide SPC (Small Peripheral Controller) slots. These slots are actually hex-wide with four slots wired as SPC and the other two wired as MUD (Modified Unibus Device). The MUD slots (A&B on the backplane) are the Unibus “proper” however have different wiring than the “true” Unibus slots at the very end of the backplane. MUD slots, for example, feature most Unibus signals (e.g. data and address lines) however some ground, Bus Grant, and NPG signals are missing and instead replaced with added voltages for Core memory, battery backup for MOS memory, parity signals, and test points. For example, where Unibus lines AV2 and BD1 are ground, in a MUD slot these are used for Core +20V and +5B BATT voltages respectively.

Only the two end A&B slots are the “true” Unibus and are used for expansion of ther system. When an additional four-slot backplane is added, for example, only the Unibus on the last A & B slot (#9) is jumpered to that next backplane. At the end of the “chain”, a terminator module must be installed (such as the M9302 used in this machine).

The machine originally featured RK-05 drives and so had an RK-11 controller installed (now removed). This controller is quite large – it is housed on four separate quad-wide boards – and so it cannot plug into a simple SPC slot like other peripherals … it required it’s own four-slot backplane, mounted into the CPU cabinet beside the main CPU backplane and jumpered-in. The current machine has only a nine-slot backplane with room for three additional four-slot backplanes. With all of these cards in the system the beast has a large power supply and can consume a large amount of energy. The supply has a rated input of 12 Amps at 120 Volts – that runs the CPU box only, not additional disk drives which have their own power supplies! 

The actual board configuration inside my PDP-11 reveals the CPU and basic I/O on a 9-slot hex-wide backplane. The CPU boards sit in the first few slots followed by three RAM boards (this machine is loaded with 256K) and an RS-232 interface board (the console). Grant Continuity boards (yellow on this diagram), required to complete a UNIBUS configuration, are installed into each unused slot (where an SPC slot is unused, a G727 jumper is required in slot D). The M9202 is a jumper bridging the UNIBUS between the 9-slot CPU backframe and a smaller 4-slot frame used for the RK-11 disk controller (which itself consists of four boards) – it has subsequently been removed. Finally the UNIBUS is terminated with an M9302 board. 

The 11/34 backplane consists of sockets mounted on a PC board as well as wirewrapped jumpers between the sockets. Power is supplied via several Molex connectors which wire into the PC board. Visible here is the nine slot backplane only … additional smaller four slot backplanes can be added as well and feature similar construction.

All slots occupied by non-NPR (DMA) cards require a jumper between pins CA1 and CB1. In the case of this backplane, all slots feature a wirewrapped jumper between these two pins on each socket – this jumper must be removed on any slot used with an NPR-enabled device. Of course, a grant continuity card is still required in all unused SPC slots in socket D. This card, a G727, jumpers pins DS2 to DT2 (side 2), DP2-DR2, DM2-DN2, and DK2-DL2. 

Software

Lacking a disk drive (see below), software may be loaded from papertape via the console (TTY) into memory and executed from there.

To begin, it is required that a bootstrap loader be loaded into high memory. This bootstrap may be entered using the front-panel or run directly from a bootstrap card if so installed. Once running, the bootstrap allows the loader tape to be entered into memory.

If entered from the front panel, a suitable bootstrap can be found in the “PDP-11 Paper Tape Software Handbook” chapter 6. For a machine with 32KW of memory the bootstrap can be loaded in addresses 177744 to 177776 (i.e. in the highest page of memory) and the device status address used is 177560 which corresponds to the teletype paper tape reader.

Since this 11/34 has an M9301-YB bootstrap card installed, the console emulator may be invoked simply by entering address 173000 (173000, then LAD and RUN) then, at the “$” prompt entering “TT” which makes the teletype (console) the active device. Now, using a terminal emulator (such as TeraTerm) with a 10ms delay, send the tape file “DEC-11-L2PC-PO.ptap” as binary. The machine loads this tape, which is the absolute loader, then halts with an address of 157500 on the display. Press CONT to continue execution and send the file “DEC-11-AJPB.PB.ptap” as binary. When BASIC-11 has finished loading the machine halts again. Load address 00000 and run at that address to run the basic interpreter (version 007A).

RK-05 Drives

In the 1980’s, when I acquired the system, it featured three RK-05 disk drives. These were removable hard disks, a single platter about 30cm across mounted in its own heavy case, and was really the predecessor to the ZIP disk. It featured a recording density of 2200 bits per inch with a total capacity of about 2.5 Megabytes. At the time, that seemed like an immense amount of storage! To load a cartridge the front door was lowered, the disk inserted, the door closed and the LOAD switch pressed. At this point the front door was locked automatically by a large solenoid and the disk began to spin – powered by a 2 amp AC motor. When operating speed was reached (in about 20 seconds) the READY light on the front panel lit and the disk could be used. 

The large, removable DecPack cartridges for the RK-05 drive. 

Unlike modern hard drives, which use step motors to position the heads, the heads on these drives were positioned using a linear voice-coil drive. The large coil is seen here: high currents passing through this coil move two heads on a carrier in/out – this coil moves inside a very large and heavy magnet (not shown).

Feedback of actual head position was provided by a glass slide with fine markings: as the heads moved forward and back, markings on the slide would interrupt two light beams producing pulses (sin and cos) which indicated movement. A counter provided feedback on which track was actually being accessed. 

Unfortunately, these drives suffered the wrath of time (and storage in an unheated garage for over 15 years) and so are no longer part of the system.

Plans for this machine

Today, the PDP11 is housed in my heated workshop to preserve it, along with other treasures in my collection.

I have purchased an original DEC handbook for this processor which describes the processor, traps, and Unibus operation. Looking at the cover of the PDP 11/34 handbook (not the newer 11/34a) you’ll see that the configuration I _had_ was indeed ‘standard’ at the time – two RK05 disks with the CPU and a DECWRITER (basically a terminal with a dot-matrix printer and keyboard).