The main part of my collection consists of a room nearly full of various models of PDP-11 minicomputers with the original UNIBUS bus. The room is only 12 feet by 14 feet. One wall is lined with the 6 foot racks containing the computers, and other wall is lined with the PDP-11/24 and Data General minicomputers. There is only a 4 foot aisle between the two rows of racks. The picture on the masthead of this website is along the West wall. The PDP-11/24 and some of the Data General computers are housed along the East wall.
The PDP-11 family has probably been the most successful minicomputer ever (though the PDP-8 was also immensely popular). The PDP-11 had a very concise and consistent architecture; almost RISC like. The DEC VAX computer line followed the PDP-11, but it’s architecture was much more complicated. The PDP-11 also introduced the DEC UNIBUS® bus design. The UNIBUS allowed peripherals to be addressed within the same addressing scheme as regular memory, and supported direct memory access by peripherals, arbitrated by the CPU. This is not unlike the buses used today inside PC’s. Some VAX models also sported UNIBUS. The design of the Intel 8080 and 8086 microcomputers appear to owe much to the PDP-11 design.
We’ll start our tour with the initial PDP-11 machines, the PDP-11/20, the PDP-11/45 and the PDP-11/40. The collection actually has two PDP-11/20 computers. One belongs to me, and the other belongs to my friend Hannes Beinert.
My PDP-11/20 was, like many machines, sold to me via the University of Wisconsin surplus program. This particular machine happened to be originally located in the Electrical Engineering Department real-time control lab that was sponsored by Professor Richard Marleau. I used the machine as a student in a couple of independent study courses, and at one point I mentioned to my future wife that I might be able to own a computer like this one day – never expecting I would ever own the very same machine! Inside the rack, just above the CPU, is an RC11 disk drive. The RC11 is a 65K word (128K byte) fixed head disk drive. After all these years (the system was first purchased around 1970) it still works!
Hannes’ PDP-11/20 was rescued by Hannes and me after a surprise telephone call from a former girlfriend of his, who indicated that it was about to be thrown out in the trash. It had a cute little sign pasted on it, which reads: “UW SURPLUS WAS HERE – THIS IS JUNK! CALL BUILDING & GROUNDS FOR DISPOSAL.” Fortunately, we beat them to the punch! (We still have the sign). Hannes’ system is the only one in the collection which has RK03 disk drives, the predecessor to the RK05.
The PDP-11/45 is of approximately the same vintage as the PDP-11/20, but is a much more sophisticated machine. For one thing, it has a micro-coded CPU. It had robust memory management, not seen in microcomputers from Intel until the 80386. It could also support two separate buses: one primarily intended for memory, and the second generally used for peripherals. This is not unlike today’s “local bus” PC’s. I cut my teeth on Unix on a PDP-11/45 system at the University of Wisconsin in 1976 along with my friends Paul and Hannes (among others). This particular machine came to me, along with my PDP-11/20 and PDP-11/40, from the same UW Electrical Engineering lab.
At one point I thought that my 11/45 CPU had a problem: Its floating point did not seem to be operating correctly. Fortunately, someone contacted me, and had drawings for my floating point unit (but not my processor) which brings me to…
I recently learned that not all PDP-11/45’s have the same CPU. Later 11/45’s were made with KB11-D processors (similar to an PDP-11/55), rather than the original KB11-A, and with an FP11-C floating point unit instead of the older FP11-B. My particular PDP-11/45 was field upgraded somewhere along the line and has a KB11-D and FP11-C. So no WONDER that the floating point diagnostics were confused!
The PDP-11/40 is of slightly later vintage than the PDP-11/20 and PDP-11/45 – and came to my ownership at the same time. Unlike the PDP-11/20, it has memory management, and thus can support more than 56K bytes of memory. However, it does not have the robust systems that were employed on the PDP-11/45. In particular, it did not support splitting data and instruction accesses into separate address spaces as was possible on the PDP-11/45. Like the 11/45, though, it is a micro-coded CPU. Although this system, like most in my collection, still runs, it has a little problem doing fixed point multiply correctly, which I have yet to fix.
Some newer PDP-11/40’s sported square-looking LED console lights. This one has little round ones.
Next on our PDP-11 tour are the PDP-11/05 family machines, the PDP-11/05 and GT-40. Both used the same, more modular, CPU than their predecessors. One quirk of these machines was that there was only one row of LEDs, that served for both displaying address and data information, depending on whether or not the “LOAD ADRS” “EXAM” and/or “DEP” switches were depressed. Quite a few years ago I used this machine and spare boards to help an outfit in Canada get their PDP-11/05 that was doing numerical control milling running again.
The GT40 was a graphic system, often used as a graphic terminal for DEC’s PDP-10 and PDP-20 mainframe systems. The CPU was a PDP-11/05, but used the green color scheme of DEC’s laboratory systems (like the PDP-12) rather than the magenta color scheme normally found on PDP-11’s. The GT-40’s main claim to fame is probably the famous Lunar Lander game, written by Jack Burness, working as a consultant to Digital at the time. This machine, like the PDP-11/20, 11/40 and 11/45, came to me from the UW Electrical Engineering Department, where “back in the day” it could often be seen running Lunar Lander during the bi-annual Engineering Expo held there. It worked with minimal TLC when I first obtained it, but then failed somewhere around 2010. In 2019 I revived the machine, and used a paper tape simulator running on an Arduino to load the Lunar Lander program – just in time for the 50th anniversary of the first landing on the moon. Unfortunately, my GT40 developed a bit of “screen rot” over the years, visible on the top of the screen.
This PDP-11/34 was the first PDP-11 in my collection, and the second computer, overall. It was purchased from Midwest Systems, Inc., a used Digital Equipment dealer in the Minneapolis, MN area. (It cost me real money – this was just before I realized the people were more often than not simply discarding such systems as space consuming junk. Gee — maybe they were right!). The PDP-11/34 featured most of the capabilities of the PDP-11/45, though not the split bus design. It also featured a micro-coded CPU (like the 11/45 and 11/40), including a numeric keypad and seven-segment digital display, employing an Intel 8008, which took the place of the previous system of lights and switches. Peripherals for my PDP-11/34 include two RK05 disk drives and a TU56 DECTape tape drive. This machine, along with my PDP-11/24 has been the most often used machine in my collection, and has run RT-11 and UNIX 6th edition (V6).
After a few years, microprocessor technology was brought to bear on the PDP-11 architecture. Although there are older microprocessor based PDP-11’s, the first machine on our tour is the PDP-11/23. Like most of the microprocessor based machines (except for the PDP-11/24, below), this PDP-11/23 uses a descendant/”knock off” of the UNIBUS called the Q bus. The disk drive in the PDP-11/23 picture is an RL01. This machine is no longer in this particular rack, which now houses my HP 2114B.
The PDP-11/24 uses basically the same CPU as the PDP-11/23, but is a UNIBUS design, rather than an Q bus design. This PDP-11/24 came from the University of Wisconsin School of Business. It had been housed in historic Bascom Hall, from where we removed it after purchasing it thru the UW surplus program.
In the somewhat cluttered PDP-11/24 system picture, you can see the VT100 terminal and RK07 disk drives that we obtained with the system. Not visible in this picture is the TU10 magnetic tape drive we obtained at the same time.
This system has been the workhorse of my collection, and is used to transfer files back and forth from my PC using its DR11 parallel port. Recently I wrote a program that runs on an Arduino that allows the PC to use Ethernet to transfer files, rather than hooking up the PC parallel port – which because of the bit-banging nature of the program, became impractical with modern PCs. Usually it runs RT-11, but I have also run RSTS/E on this machine.
Finishing up our PDP-11 tour are two more LSI-11 (microcomputer) based PDP-11’s. One is a very special machine to my friend Hannes. It is the H11, a joint effort of Digital Equipment and Heathkit. I don’t recall ever turning it on.
Shown above is an interesting combination. It is my IMSAI 8080 with several baords designed by John Monohan who runs the S100computers.com website. When this photo was taken, the IMSAI was without its front panel bezel and overlay, as I had had some problems with chip failures on the front panel board.
During testing, this machine consisted of:
- A Cromemco ZPU Z80 CPU board running as a normal S100 bus master.
- An s100computers.com RAM-ROM Memory Board.
- A Bob Mullen S100 Extender board, with built-in logic probe
- An S100computers.com PDP11-J11 S100 Bus CPU V2 CPU board configured as a slave, installed in the extender board for testing. It uses the S100 bus to access peripherals and memory in lieu of a UNIBUS or Q-Bus. It also has some on-board ROM. The red ribbon cable goes to the next board in this list, and carries information to identify what device is generating an interrupt.
- An S100computers.com PDP11 S100 Bus Support Board (not visible) which provides two serial ports, a printer port and a 60 Hz line clock, all with associated interrupt logic. One of the two serial ports is used with a TU58 emulator to load software. So far, XXDP+ and RT11 V5 have been tested with this configuration.
- An S100computers.com IDE / CF Card Drive Interface S100 Bus Board (Version 2, also not visible). This board supports CP/M, but would need specialized drivers to support the J11.
- An S100computers.com Propeller Driven S100 Bus Console IO Board, which supports a standard PC (PS/2) keyboard and a VGA monitor as a character-mode interface.
- An S100computers.com S100 Bus Terminator & Prototype Board – whose circuit matches the Godbout terminator in my Altair.
I spent quite a bit of time tweaking the design of the J11 board programmable logic devices to make the setup compatible with XXDP+ and RT11. Here are some files that folks working with the J11 and PDP11 Support board may find usefule:
- My build notes for the PDP11V2 J11 S100 CPU Board
- Errata I noticed on the S100computers.com web site.
- Documentation of the work I did tracking down a couple of issues I found on the J11 board
- My build notes for the PDP11 I/O Support Board with Errata at the top.
- A Zip file that includes release 1.00J of suggested changes to the Complex Programmable Logic Devices (CPLDs) on the CPU board and the support board, and a copy of the PDP-11 monitor ROM code adapted to those changes.
- A “HOWTO” document for building a TU58 image with RT-11.
Finally, the last PDP-11 on our tour: the MINC-11. The MINC-11 was, in essence, a PDP-11 designed to replace the PDP-12. Like the PDP-12, it has numerous analog and digital I/O options that can be used. Unfortunately, this system, acquired from Wisconsin DOT via the state surplus system, is stored somewhat ignominiously on its side for the present.