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).
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 was using Windows XP and now Windows 10
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 ISP 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.
Microcontrollers
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 Windows 7,8,10 compatible version of the ATMISP software. I also switched to AVR Studio 7.0 which supports all the new programmers and processors.
Update January 2021
For a short time, Microchip included a macos version of their avrasm2 assembler. It was included with XC Version 2.05 and 2.10 but was removed again from later versions. You can still download these versions. However they can be installed only on macos Sierra or High Sierra. You can actually use a VM to install one of these versions and then install XC. Once installed you can extract the avrasm2 binary and copy it to your recent macos installation. It works with Catalina and Big Sur. However this version of avrasm4 does not know the new AVR-Dx series and hence always throws a warning which can be ignored. Therefore I do no longer use AVR Studio except as the source of the header files for the various AVR microcontrollers.