RLV12 Emulator


Update 2022

This is an update of the original post and will give a short summary of the history of the various RLV12 emulators. A lot has changed since I started with the first version for my PDP-11/Hack. Except for the RLV12 Emulator V2.0 for the Q-Bus they are now all obsolete, and the firmware and the CPLD design file of this remaining RLV12 Emulator V2.0 has changed substantially.

The Beginning

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 an 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 an 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 used an 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 used only 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. Now the firmware was almost the same except for some hardware specific aspects that were handled via assembler options.

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 or any combination if this.

Later I built another version for the Q-Bus, the RLV12 Emulator V2.0, which tried to avoid SMD parts and legacy devices, so it can be built by just using current devices. This is now the only version that will be maintained in the future.

Obsolete Versions

RLV12 Emulators for the PDP-11/Hack

All RLV12 Emulators for the PDP-11/Hack are now obsolete. I will no longer maintain the software for the MCU and CPLDs. Here you can still find the information about the project however it’s just for information

RLV12 Emulator V1.0 for the Q-Bus

This was the first version for the Q-Bus. As well this version is no longer maintained and it will not receive any software update or enhancemnets. For more information on the first Q-Bus RLV12 Emulator see here .

Maintained Versions

RLV12 Emulator V2.0 for the Q-Bus

This version is the version for the Q-Bus that is currently maintained and gets all the updates and new features. The CPLD Design files have been completely redesigned as has the MCU software and the interface between the MCU and the CPLD. However no changes to the initial hardware are required. All new development will be done on this version and I plan to add many features that I have developed for the new Disk Emulator for the PDP-11/Hack

You can still find the description of the previous firmware version here .

New Disk Emulator for the PDP-11/Hack

I have started to build a new Disk Emulator for my PDP‑11/Hack. This has the same basic design as the existing RLV12 Emulators, however it uses a slightly more powerful MCU. Also I started to completely redesign the MCU firmware to allow for more flexibility and new features to allow it to emulate other controllers than the RLV12.

AVR128DB48 Adapter for RLV12 Emulator V2.0 for the Q-Bus

This is an attempt to bring the disk emulator features to the RLV12 Emulator. A small PCB that carries the AVR128DB48 and fits into the DIP-40 socket used normally for the ATmega1284P has been created. The result is not suitable for the Q-Bus unless you install a bus grant card in front of it as the hight of the adpater inserted into the DIP-40 socket exceeds the allowable component clearance. At the moment I use it with a bus grant card to develop the software. Maybe a later adapter will be slim enough to really replace the ATmega1284P or I will create a new PCB that fits the AVR128DB48 directly. Note that this requires some soldering skills as the AVR128DB48 comes in a TQFP-48 case with 0.5mm pitch.