System Overview

The PDP-11/Hack is a fully functional PDP-11 built around the DCJ11 single chip implementation of a PDP-11 with many features found in a PDP-11/70.

The system successfully boots RT-11 V5.3, V5.7 and various versions of RSX-11M and RSX-11MPlus up to the most recent version 4.6 (BL87).

The PDP-11 Hack

In almost all cases I’m using USB to Serial-TTL adapters which have TTL and not RS-232 levels. Therefore the DB-9 ports are not installed and neither are the RS-232 level shifters.

I found out that on a Mac the quality of these USB to Serial adapter matters. In many cases the Cheap Charlie ones do not work reliably. Currently I’m using adapters from FTDI. Those have the big advantage that the driver is already included in macOS and they are identified via a serial number and not via the USB hierarchy. This I found very useful, because no matter where I plug them into the Mac they appear under the same device name, with the serial number being a part of it.

Peters-Mini:~ peter$ ls -l /dev/cu* 
crw-rw-rw-  1 root  wheel   20,   7 Jul 26 07:41 /dev/cu.Bluetooth-Incoming-Port
crw-rw-rw-  1 root  wheel   20,   3 Jul 26 17:09 /dev/cu.usbserial-FTHBRGY5
crw-rw-rw-  1 root  wheel   20,   1 Jul 26 17:09 /dev/cu.usbserial-FTHBRL0R
crw-rw-rw-  1 root  wheel   20,   5 Jul 26 17:09 /dev/cu.usbserial-FTHBRL3M
Peters-Mini:~ peter$ 

I labeled all of my FTDI cables so I can easily identify which cable is which device. See the label RL3M on the cable on the photo.

CPLD - Glue Logic

Most of the glue logic uses CPLDs. I’m using Atmel, now Microchip, CPLDs, mostly the larger ATF1508. The development environment is based on CUPL and it is available for free from the Microchip home page and is called WinCUPL. It includes a nice simulator and the design language is very simple but still powerful. The advantage of these CPLDs is that they are real 5V designs that run from 5V and the IO are of course compatible to 5V logic families. The development environment should run on most Windows version but I’m still using Windows XP running in a virtual machine. It even runs using wine, look for the hints found in a youtube video. The ATF1504/8 CPLDs can be programmed with various adapters. I’m using the Atmel USB JTAG programmer ATDH1150USB-K, which is cheap and does the job. You can download the Atmel IPS programming software form the Microchip homepage, which transfers the JED files generated by WinCUPL via the programmer to the CPLD. The CPLD form Atmel support over 10'000 programming cycles and they can be programmed in-circuit.


I’m used to Atmel AVR microcontrollers. Therefore whenever I needed a microcontroller I selected one of those. I prefer programming the microcontrollers in assembler and I’m still using AVR Studio 4.19 running on the same virtual machine as WinCUPL and AVR ISP.

Special Remarks

This project is still work in progress. However I have decided to publish the current status as it is fully functional. As this was my largest project so far it also comes with some errors. At each section I will comment on known issues and errors. Of course I have corrected those errors in may schematic and other files, but so far I have not built new boards or cards. None of the errors are important and some little ECOs can fix them. So use the information with caution and read all the details.

Update July 2020

As my personal computer is a Mac running macOS I always used a virtual machine to run the windows only tools from Microchip. Until recently I was using Windows XP. But in the meantime I have upgraded to Windows 10. All tools I use work perfectly fine with Windows 10. Just make sure you use the Windws 7,8,10 compatible version for of the ATMISP software. I also switched to AVR Studio 7.0 which supports all the new programmers and processors.