Dilog DQ419

dq419-front

The Dilog DQ419, when coupled with one or two industry-standard 8-inch floppy drives, provides a PDP-11 QBUS system with an RX02-compatible floppy drive system. By “industry-standard” I mean a drive that is compatible with the 50-pin connector used on the Shugart 800/850 8-inch drives.

It is able to format, read and write RX01 and RX02 disks. It can also boot RX02 disks (but not RX01 disks – as the boot sectors will contain the wrong driver).

This page describes how to format disks using the DQ419, and how to make an RT-11 boot disk in RX01 format. With only slight modification, this technique can be used to make an RX02 RT-11 boot disk.

Similarities to other Floppy Disk Controller boards

I’ve also seen very similar floppy disk controller boards with other brand markings and model numbers on them. Perhaps this is a result of companies changing their name or being acquired over time? The Schematics for the Dilog DQ419 (which appear at the back of the Instruction Manual) are labelled as an SDC-RXV31 by Sigma Information Systems. When the jumper numbers and locations for the DQ419 and SDC-RXV31 are compared (in their respective manuals) they appear to be identical.

Several other boards are also worth mentioning here:

  • Sigma Information Systems also sold a SDC-RXV21. That board is also an RX01/RX02 compatible controller for 8-inch drives. I assume it pre-dated the SDC-RXV31. The layout of the PCB is very similar to the SDC-RXV31/DQ419, but the jumper locations and numbering is not identical.
  • Micro Development Associates (MDS) sold an “MXV21”. That board might be an earlier version of the SDC-RXV21 [to be confirmed]. The jumper numbers and locations are very different to those on the SDC-RXV21 and the SDC-RXV-31/DQ419. Interestingly the “MXV21 Disk Controller Manual” (see link below) includes a two-page brochure with Micro Technology Inc (MTI) branding.
  • AED sold a “FLEX02” Floppy Disk Controller. The layout of this board is very different to the DQ419. It uses a Z80 CPU. I have not been able to find a manual for this board, but I do have a product brochure (sourced from Bitsavers).

Documentation

Here is the documentation for the boards mentioned above:

DQ419 Floppy Disk Controller Instruction Manual (with schematics) dated March 1985

SDC-RXV31 Floppy Disk Controller Manual dated August 1986

SDC-RXV21 Floppy Controller Manual dated February 1981

MXV21 Disk Controller Manual dated June 1980

AED FLEX02 Product Brochure

For reference purposes, you may also find this useful -> Shugart SA800/801 Diskette Storage Drive OEM Manual

What’s so special about this board?

The DQ419 has some really nice features that you won’t find in a standard DEC RX01 or RX02 system. For example:

  1. On-board firmware allows you to low-level format both single-density and double-density disks, from the PDP-11’s ODT prompt
  2. 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

RX02 versus RX01

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 (RX01) or double-density (RX02) 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. 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. If you have loaded a DY driver into the boot block (using the RT-11 “COPY/BOOT” command) so that it boots on the DQ419, then 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 real 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.

Creating an RT-11 boot disk

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.

Here is an example of a batch file that can be used in RT-11 V5.7 to create an RX02 V5.7 RX02 boot disk in drive DY0:

! THIS FILE WILL BUILD AN RX02 RT-11 V5.7 BOOT DISK
!
! USE CAUTION, AS THE DISK IN DY0: WILL BE OVERWRITTEN
! WITHOUT ANY PROMPT OR WARNING.
!
! TO RUN THIS FILE, SIMPLY TYPE "@MKRX02"
!
! M MACLEOD 30 MARCH 2018

$FORMAT/NOQUERY DY0:
$INIT/NOQUERY DY0:
$COPY SWAP.SYS DY0:
$COPY RT11SB.SYS DY0:
$COPY RT11FB.SYS DY0:
$COPY DD.SYS DY0:
$COPY DU.SYS DY0:
$COPY LP.SYS DY0:
$COPY LS.SYS DY0:
$COPY PIP.SAV DY0:
$COPY DUP.SAV DY0:
$COPY DIR.SAV DY0:
$COPY BUP.SAV DY0:
$COPY KED.SAV DY0:
$COPY SRCCOM.SAV DY0:
$COPY RESORC.SAV DY0:
$COPY STRTSB.COM DY0:
$COPY STRTFB.COM DY0:
$COPY FORMAT.SAV DY0:
$COPY UCL.SAV DY0:
$COPY MSCPCK.SAV DY0:
$COPY V5USER.TXT DY0:
$COPY DX.SYS DY0:
$COPY DY.SYS DY0:
$COPY/BOOT/NOQUERY RT11SB.SYS DY0:

To use the above file, just copy it into a file called “MKRX02.COM” on your PDP-11’s boot disk. Then execute it using the command “@MKRX02”.

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.

Revision History

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

30 March 2018: Whole page substantially updated