Universal Harddisk Controller for PDP-11/Hack


Finally a working MSCP Emulation

I built quite a few disk emulators, for the QBUS64 of the PDP‑11/Hack and for the real Q-BUS. They were all emulating an RLV12 controller with four RL01/02 disks attached.

Then Disk Emulator Version 4.0 was built with MSCP Emulation in mind. But for a long time it only served as the development platform for various ideas and only was another RLV12 emulator.

Finally I decided to start with the MSCP Emulator. Although the Version 4.0 unit I built was in a rather questionable state, due to many changes and wires I have added for debugging purpose, it was in fact still a very reliable piece of hardware and after removing all but the second last bug in the firmware it was a perfectly working RLV12 controller.

RLV12 Hack V4

After translating the MACRO-11 and C source code of the RQDX3 source code posted in the following thread VCFED I started to integrate the MSCP modules into the RLV12 emulator with the intention to finally switch from RLV12 to MSCP once everything was in place.

However once the MSCP Emulation was working and I was able to boot into RT-11 V5.3, RT-11 V5.7, RSX-11M+ V4.6 and BSD 2.11 I decided to first built a real Q-BUS version of the MSCP Emulator, the Disk Emulator V5.0. And as always there was a revision required to straighten the errors which then became Disk Emulator V5.1. Based on this I then built a Disk Emulator V5.1 for the QBUS64 of the PDP‑11/Hack.

Already when I designed the Q-BUS version the goal was to have the Q-BUS and the QBUS64 version as identical as possible. Most importantly the interface between the MCU and the CPLD to talk to the Q-BUS had to be exactly the same and whenever possible it should run the same firmware.

Disk Emulator V5.1 for the QBUS64

RLV12 Hack V4

Of course there is this mandatory error on the first PCB where I swapped the GPIOs for CD (Card Detect) and WP (Write Protect). Therefore I will publish the updated Version V5.1a.

PCB

CPLD Design Files

To program the CPLDs you need a chain file and the JEDEC files. Note that the path in the chain files for the JEDEC files are absolute and the example I provide will most likely not work for you, you will have to change the path names to the JEDEC files.

MCU Firmware

The firmware is the same as for the real Q-BUS version of the MSCP Emulator. Please read the corresponding article and use the firmware in the download section.