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).
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
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.
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.