When I was developing the PDP-11/Hack I was also evaluating several options to add some sort of disks to the system. The ultimate solution would be some sort of MSCP controller. However at that stage the system was still under construction and so I decided to look for the simplest disk controller interface on a Q-Bus PDP-11, which turned out to be a RLV12. The RLV12 has the advantage of supporting 22-bit memory addresses and it also is supported by almost all PDP-11 operating systems.
First I built a RLV12 emulator for the PDP-11/Hack. The idea behind the design is to have a microcontroller doing all the processing and have some simple interface logic between the Q-Bus and the microcontroller. The data is stored on a SD-Card which is attached via SPI to the microcontroller. Because the bus protocol of the PDP-11/Hack was based on the real Q-Bus I then later decided to convert the design to a real Q-Bus design, which was also my first Q-Bus interface card. In fact the only difference is that the Q-Bus version makes use of Q-Bus bus receivers and transmitters so at the end not only the MCU runs the same code but also the CPLD design is pretty much the same.
Both versions of the RLV12 Emulator use a ATF1508 to interface the MCU with the system bus. There is a small difference, the PDP-11/Hack version used the ATF1508 in a PLCC-84 package and the Q-Bus version in a TQFP-100 package, as the Q-Bus version required more IO pins on the CPLD. However I did not pay enough attention to how the MCU connected to the dedicated input signals and therefore two variants of the MCU software existed for some time.
Once I had a running version for both systems, further development was very annyoing as I always had to pay attention to this difference. Therefore I decided to modify the PDP-11/Hack version of the controller to be 100% compatible with the Q-Bus version. Fortunately the Hack version uses all throughhole packages and swapping the connections between the MCU and the CPLD was simple.
There is a saying “never change a running system” but in that case it all went fine. Therefore starting with Version 2.2 of the MCU software there is no difference between the Hack and the Q-Bus version.
The RLV12 emulator is an all-in-one solution. It consists only of the board and plugs into the system bus (Q-Bus or Q-Bus64), it emulates four RL01/RL02 units and stores the data on a SD-Card. The data on the SD-Card is either stored in partitions that have the exact size of a RL01/02 unit or it can be a normal disk image file stored in a FAT-32 partition.
Update: in the meantime a new updated RLV12 Emulator V2.0 is available that enhances the usability and also requires less skills to build and solder. For more information on the first Q-Bus RLV12 Emulator see here.
For the new updated RLV12 Emulator V2.0 refer to this page.