The Dilog DQ419, when coupled with one or two industry-standard 8-inch floppy drives, provides a PDP-11 QBUS system with a floppy drive system that is largely RX01/RX02-compatible (the incompatibilities are described below). By “industry-standard” I mean a drive that is compatible with the 50-pin connector used on the Shugart 800/850 8-inch drives.
I’ve also seen this board with other brand markings and model numbers on it. Perhaps the design was purchased by Dilog at some point during its manufacturing life? The Schematics for the board (which appear at the back of the Instruction Manual, as it appears on shop-pdp.net) are labelled as an SDC-RXV31 by Sigma Information Systems.
This page describes how to format disks using the DQ419, and how to construct an RT-11 boot disk in RX01 format.
What’s so special about this board?
The DQ419 has some really nice features that you won’t find in a DEC RX01 or RX02 system. For example:
- You can swap between single-density (RX01-format) and double-density (RX02-format) disks without making any changes to the hardware configuration
- On-board firmware allows you to low-level format both single-density and double-density disks, from the PDP-11’s ODT prompt
- The board can be configured to auto-boot, so there’s no need to have a separate board in your QBUS chassis that is fitted with boot ROMs
- You can freely swap between single-density and double-density boot disks, with one limitation: They must have a DY driver in it (bootable RX01 disks won’t boot because they have a DX driver in the boot block and the DQ419 is effectively an RX02 controller)
But there’s a catch!
The DQ419 appears at the standard I/O address for an RX02 controller. As far as the PDP-11 is concerned, the DQ419 is an RX02 controller. So under RT-11, you will typically issue commands such as “BOOT DY0:” or “DIR DY0:”, regardless of whether the DQ419’s drives have single-density or double-density disks in them.
A “real” RX01 (single-density) disk, that will boot on an RX01 system, will not boot on the DQ419. You will still be able to read and write that disk through the DQ419, you just won’t be able to boot it, because it has a DX driver in the boot block. Obviously you can fix this by using the RT-11 “COPY/BOOT” command to load a DY driver into the boot block, but then it won’t boot on a real RX01 system.
The same applies to a bootable single-density disk that has been formatted and written to using the DQ419. You will have loaded a DY driver into the boot block (using the RT-11 “COPY/BOOT” command) so that it boots on the DQ419. You will be able to read and write that disk on a real RX01 drive, but you won’t be able to boot it on the RX01.
Connecting it up
Getting this board running is a fairly simple exercise. The jumper settings for both the board itself and some common 8-inch drives are shown in Section 2 of the Instruction Manual.
The only issue that I’ve come across so far relates to where the DQ419 is placed in the QBUS chassis. If your chassis also includes a Webster SRQD11 (as mine does), you might find that the DQ419 needs to be on the CPU side of the SRQD11. I haven’t investigated the reason for this. Perhaps it is a grant-continuity issue.
Run through the checks shown in Section 2.5 (Initial Checkout) of the Instruction Manual, to verify the board and drive are working as expected. If the DQ419 is not performing as expected, the problem could be the starting address that you are using (177170, as shown in the Instruction Manual). You might like to read the following section below, to see if you need to try a different starting address.
Formatting blank disks
RT-11 includes a “format” command. Unfortunately the RT-11 format command can’t actually do the initial low-level format of an RX01 or RX02 disk. Neither can DEC’s XXDP utilities. It seems DEC wanted its customers to buy pre-formatted disks from DEC instead. The RT-11 format command can however convert an RX01 disk to an RX02 disk (but can’t go the other way), so its not entirely useless.
Low-level formatting using the DQ419 is really simple. It just involves making a couple of entries at the PDP-11’s ODT prompt, and checking whether an error occurred once the formatting process has completed. The process is described at Section 3.3 of the Instruction Manual.
There is one complication however: the address that you are going to use in ODT will depend on whether your system has a 16-bit, 18-bit or 22-bit address bus. The address shown in the Instruction Manual (177170) is for a 16-bit system and won’t work on an 18-bit or 22-bit system.
So how do we determine the correct address to use?
Well fortunately that’s fairly easy as well. Try examining the contents of 177170, 777170 and 17777170. At one (and only one) of these addresses you should see the contents of the status register, which is named “RXVCS” in the Instruction Manual. It will usually return the value 004040. The address that gave you visibility of the status register is the one you want to use below.
For simplicity, my example below will assume your system has an 18-bit address bus and therefore uses the starting address of 777170. Adjust this value (as described above) as appropriate for your system.
To format a single-density single-sided (ie RX01-format) disk in Drive 0, make the following entries at the ODT prompt. Note that you press LINEFEED (not RETURN or ENTER) at the end of the first line. On some DEC keyboards, such as the LK201, LINEFEED is F13 on the top row. If you’re working from a PC keyboard (and therefore don’t have a LINEFEED key) press CTRL-J instead.
@777170/004040 11 ↓ 777172/000000 222 ⤶ @
As soon as you hit RETURN (after the 222) you’ll get the ‘@’ prompt as shown above and the formatting process will commence. You should hear and see the drive slowly step from cylinder 0 to 76, then rapidly return to cylinder 0, then slowly step from cylinder 0 to 76 again.
No success or failure messages will be displayed on the console. Instead, we need to check the DQ419’s status register to confirm the disk was successfully formatted:
@777170/004040 ⤶ @
The 004040 tells us that the formatting operation was successful, because bit 15 was clear. If an error had occurred, bit 15 would be set and the first digit of the above 6-digit octal number would therefore be “1” rather than “0”. Further information about each bit of the status register is available at Section 4.2 of the Instruction Manual.
If you forget to install the write-enable tab on the inner-most edge of the disk jacket, the formatting operation will fail. You will hear the drive step from cylinder 0 to 76 as it attempts to write to the disk, and you will then hear it rapidly return to cylinder 0. But the verify operation will fail on the first cylinder. Accordingly, the drive will not continue to step through the remainder of the cylinders. This will also cause bit 15 to be set in the DQ419’s status register.
If you want to format the disk as double-density single-sided (ie RX02-format), we deposit 411 into the first address, instead of 11. Keep in mind that RT-11’s “format” command can convert an RX01 disk to an RX02 disk (when in an RX02 system), so there’s no real need to use the DQ419’s firmware to format double-density disks.
Your newly formatted disk is not yet usable for storing files, because it doesn’t yet have a directory structure on it. In RT-11 we use the command “INIT DY0:” to do this, as shown on my RT-11 boot floppy page.
Should I format my disks as RX01 or RX02?
The DQ419 will transparently work with RX01 or RX02 disks. So you’re free to use either format. Obviously the RX02 disk will hold twice as much information (974 blocks = 487KB) as the RX01 (486 blocks = 243KB), and that’s a pretty compelling reason to choose to format your disks as RX02.
But there are a couple of scenarios that complicate things a little.
If you want to use your disks in real RX01 or RX02 system, then you’re going to want to format your disk (on the DQ419) to suit that system. An RX01 system can’t read or write RX02 disks. An RX02 (when connected to a double-density drive controller) can read or write RX01 or RX02 disks.
A second reason you might want to work with RX01 (and avoid RX02) is compatibility with other systems. RX01 uses “industry standard” IBM 3740 format for the disk layout. As a result, RX01 disks can be read by disk controllers on some other platforms. Among other things, this can allow a conventional PC to read and write RX01 disks (if your PC disk imaging station has the appropriate components). By contrast, DEC’s RX02 uses a mangled variation of the 3740 specification that intermixes single-density and double-density information on the one track. The result is that you’re unlikely to be able to easily read or write RX02 disks on a conventional PC. This will limit your ability to archive your disks using some of the traditional PC-based tools, such as Dave Dunfield’s “Imagedisk” programs that works with .IMD files.
26 July 2016: Posted initial version
02 February 2017: Added the “But there’s a catch!” section
31 August 2017: Corrected the “Should I format my disks as RX01 or RX02?” section to make it clear that an RX02 system (with a double-density drive controller) can read or write both RX01 and RX02 disks