DL11 asynchronous serial line interface
The DL11 asynchronous serial line interface card (M7800) was a UNIBUS peripheral for the PDP-11 series of computers which provided a single asynchronous serial line. It was a quad format card, and used an SPC slot.
It provided both 20mA and (in some versions) EIA RS-232 connectivity at speeds of 110 to 9600 baud (the range depended on the version); the DL11-E version also provided full modem control. Line connection was via a 40-pin Berg connector header on the top edge of the card, using the standard DEC asynchronous serial line pinout.
The TU58 tape drive is connected to a DL11-type device, so the device address, etc for TU58's are as for DL11's - the register addresses and interrupt vectors are those given below for the 'first' DL11 (DL11 #1).
The DL11 has 2 device registers for the receive side (one Control and Status Register - CSR - and one data buffer register), and similarly, two for the transmit side. Each DL11 has two interrupt vectors - again, one receive, and one transmit.
For the PDP-11 main console (which is always a KL11/DL11 compatible device), the 'zeroth' DL11, the standard is that 0777560 is the base address (so the receiver registers are 0777560-2, and the transmitter are 0777564-6), and 060 is the base vector.
The first DL11 after the console is always assigned the address 0776500, and vector 0300. Additional DL11's are assigned addresses and vectors immediately following, for DL11's #1-#16 (i.e. 0776500-676 and 0300-0476).
The bus address, interrupt vector, and line parameters (parity, number of stop and data bits) were selected by soldered jumpers; the baud rate was set by a combination of a replaceable crystal (several different ones were standard), and a pair of 10-position dial selectors (one for transmit, one for receive) which selected a rate:
(The 9th and 10th dial selector positions selected external clock inputs, not divisions of the crystal.)
The address and vector jumpers specify the base of the register bus addresses, and vectors, in binary. On the DL11, it is only possible to set the base of the entire group of 4 registers; the transmit and receive register groups cannot be moved around independently. Similarly for the vector, only the base of the pair of vectors can be configured; the receive (at B) and transmit (at B+4) are paired in the hardware.
The simple rule on the DL11 is that vector jumpers are the inverse of address jumpers: for the vector, jumpers are 'in' for '1', and for the address, they are 'in' for '0'. (This inversion can be a memory jogger - 'Oh, the DL11, that blasted interface where the jumper sense is inverted between address and vector!' Then one only has to look up one of the two.)
Address jumper A3 is the 3rd bit of the address, i.e. the 010 bit, the lowest one that is configurable (the device is a block of 8 bytes, from xxxxx0 to xxxxx7, so it is not possible to set any of the low 3 bits in the base address, they must be 0), and A10 is the highest bit which can be changed. V3 through V8 perform a similar function for the vectors.
The following table shows the bits which are affected when the jumper is in.
|Address Jumper||Address Bit||Vector Jumper||Vector bit|
The following table gives the jumper configuration for the two most common DL11 configurations:
- main console (address 0777560, vector 060)
- 'first' DL11 - often a TU58, now (address 0776500, vector 0300)
The DL11 came in 5 versions, -A through -E.
The -A and -C versions (board M7800-YA on at least one of these) were 20mA interface only, and omitted the components necessary for the EIA interface.
The -A and -B apparently did not provide full baud rate selection and selectable data coding (they were restricted to 8-bit data, no parity, and 1 or 2 stop bits); they also could not provide 'split' speeds (differing baud rates on transmit and receive). Apparently, these versions had more limited address selection capability; they could only be configured to 0776XX0, where XX ranged from 050 to 067.
Only the -C through -E could be ordered with the 4th (9600-baud capable) crystal (it is not known whether the earlier ones would work if this crystal were inserted). Only the -E provided full modem control.
The -A and -C versions are easy to identify visually; they are both missing a large number of components. How to tell the others apart (if, indeed, there is any difference between the -D and -E) is not yet documented.