KDJ11-D/S

 

Up

Home
PDP-11/23
PDP-11/53
PDP-11/83
KDJ11-D/S
RQDX3
DCJ11

 

   This page documents what you need to know in order to use an M7554 board. Some versions of this board are MicroPDP-11/53 CPUs, others are used in the DECserver 500 or 550. The DECserver board can be converted to a PDP-11/53 or 11/53+ CPU. At present, it is possibly the cheapest and easiest PDP-11 to find and implement. It is almost a single board PDP-11. All you need to add is a hard drive controller.

The DEC manual for this board is now available online here: EK-KDJ1D-UG_KDJ11-D_May87.pdf.

There are several flavors available, in two artworks. All versions have these characteristics in common:

bulletJ11 CPU chip, which means separate I/D space, which means they can run 2.11BSD UNIX
bulleton board RAM
bullet2 SLU (serial ports)
bulletline time clock (LTC)
bulletboot ROM that can start from many PDP-11 mass storage devices
bulletQbus backplane

The older artwork runs at 15 MHz and has 512K of RAM on board. The newer artwork uses custom chips to replace much of the random logic, and therefore has room for 1.5 megs of onboard RAM. The newer artwork also can run up to 18 MHz.

The flavors that I have seen are:

bulletM7554-DA, or KDJ11-DA. This is a MicroPDP-11 CPU, using the new artwork, populated with a 15 MHz rev 8 CPU, 512 Kbytes of RAM, and 27128 boot ROMs. There is space for an additional 1 meg of ram, but there are no parts populated. It has the traditional stiffener rail/ejector latches.
bulletM7554-PB, or KDJ11-PB. This is the CPU of a DECserver 500. It uses the old artwork, a 15 MHz CPU rev 7, 512 Kbytes of RAM, and 27256 ROMs containing DECserver firmware. It has what is called the "S-box" hardware, which consists of a front panel assembly, and different card ejector latches.
bulletM7554-SD, or KDJ11-SD. This is a DECserver 550 CPU. It uses the new artwork, an 18 MHz rev 9 CPU, 1.5 megs of RAM, and 27256 DECserver boot ROMs. It has an S-box front panel.

The card edge contains the Qbus on the A-B side, and nothing but power connections and bus grant jumpers on the C-D side. On the front edge there is a 34 pin ribbon cable connector for the console. On this connector are found:

bulletthe serial interface lines
bulletconnections for a 7 segment LED display
bulletconnections for a 15 position boot mode selector switch
bulletconnections to baud rate selector switches
bulletthe "trap on halt" option jumper.

All the jumpers and switches on the connector are paralleled with jumpers elsewhere on the board. There are a couple other jumpers not found on the connector.

The following sections will describe how to set up the console serial port, the jumpers, and the boot ROMs.

Console serial port connections

The console connector is a 34 pin connector that is physically the same as the floppy cable connector on an IBM-PC main board. I figured out the connections to the console serial port by following the traces from the RS-232 buffer chips. The receiver is a differential type, and both + and - are brought out to the connector. To build a temporary cable to connect to the COM1 port of a PC, I cut the end off an old floppy drive cable, cut the cord off a dead serial port mouse, stripped the wires with my thumbnail, and twisted the ends of the wire together as follows:

M7554 end            PC end
34 pin connector     9 pin D-shell
----------------     -------------
RS-232 in +   29-----3 TXdata

RS-232 out    32-----2 RXdata

RS-232 in -   30--+--5 GND
                  |
GND           34--+

 

34 Pin Connector

Pin one of the connector should be marked on the body of the connector with a raised triangular marking. The pins are numbered like this, looking from the front edge of the card, with the parts side up:

                                                      pin 1
                                                      mark
                                                        V
     +----------------------------------------------------+
     | 33 31 29 27 25 23 21 19 17 15 13 11  9  7  5  3  1 |
     |                                                    |
     | 34 32 30 28 26 24 22 20 18 16 14 12 10  8  6  4  2 |
====================================================================

Ground 1 2 Ground
 SLU 1 RS-232 out 3 4 Ground
SLU 1 RS-232 in(-) 5 6 SLU 1 RS-232 in(+)
NC 7 8 -12v power
W12 SLU1 baud rate bit 0 9 10 W7 SLU1 baud rate bit 1
W10 SLU1 baud rate bit 2  11 12 BHALT L
W8 boot select bit 0 13 14 W5 boot select bit 1
  D0 - 7 seg. LED pin 2 15 16 D1 - 7 seg. LED pin 1
+5v power fused 17 18 +5v power fused
D2 - 7 seg. LED pin 13 19 20 D3 - 7 seg. LED pin 12
W3 boot select bit 2 21 22 W2 boot select bit 3
W11 out=halt on break 23 24 W4 SLU 0 baud rate bit 2
W6 SLU 0 baud rate bit 1 25 26 W9 SLU 0 baud rate bit 0
+12v power fused 27 28 NC
SLU 0 RS-232 in(+) 29 30 SLU 0 RS-232 in(-)
NC 31 32 SLU 0 RS-232 out
Ground 33 34 Ground

The 7 segment LED is driven by 4 data bits. It contains a built-in BCD to 7 segment decoder. (at least on the KDJ11-DS / M7554)


Jumpers

This is for the newer boards, with the CPU at the edge. Looking at the board with the edge connectors toward you, the CPU at the right:

+-----------------------------------------------34-pin-conn----------+
|                                                                    |
|        RAM AREA                  UART UART                         |
|                                  UART UART   XX W13  XX W12        |
|                                  UART UART   XX W9   XX W7         |
|        RAM AREA                  UART UART   XX W6   XX W10  W23   |
|                                  UART UART   XX W4   XX W11        |
|                                  UART UART                         |
|        RAM AREA                  UART UART                         |
|                                  R14                               |
|                                                                    |
|        RAM AREA                                                    |
|                          ROM  ROM                      ASIC  CPU   |
|                          ROM  ROM    XX W1             ASIC  CPU   |
|        RAM AREA          ROM  ROM    XX W22            ASIC  CPU   |
|                          ROM  ROM    XX W2                   CPU   |
|                          ROM  ROM    XX W3                   CPU   |
|        RAM AREA          ROM  ROM                            CPU   |
|                                      XX W5             ASIC  CPU   |
|                                      XX W8             ASIC  CPU   |
|        RAM AREA                      XX W24            ASIC  CPU   |
|                                      XX W25                  CPU   |
|                                                                    |
|        RAM AREA                                                    |
|                                                                    |
+-DDDDDDDDDDDDDDDD--CCCCCCCCCCCCCC--BBBBBBBBBBBBBBB--AAAAAAAAAAAAAAA-+
                                                       (Qbus card-edge connector)

X's are the jumpers.

conn pin jumper description
  W1 out: trap on kernel halt; in: disabled
22 W2 boot mode switch bit 3
21 W3 boot mode switch bit 2
24 W4 SLU 0 baud rate bit 2
14 W5 boot mode switch bit 1
25 W6 SLU0 baud bit 1
10 W7 SLU1 baud bit 1
13 W8 boot mode switch bit 0
26 W9 SLU 0 baud bit 0
11 W10 SLU1 baud bit 2
23 W11 out: halt on break; in: disabled
9 W12 SLU1 baud bit 0
  W13 in: 32 Kbyte ROMs
  R14 in: 16 Kbyte ROMs
  W20 interrupt daisy chain jumper for C-D side, soldered in
  W21 DMA daisy chain jumper for C-D side, soldered in
  W22  in: boot to console routine, out: autoboot
8 W23 in: supply -12v power to J1
  W24 in: special application; out: normal
  W25 in: 512Kbytes RAM; out: 1.5 megs RAM

Recommended settings:
W1, W22, W2, W3, W5, W8: all in.
W13, W24, W25, W11: out.

SLU 0 38400 baud: W9, W6, W4 in.
SLU 1 9600 baud: W10, W12 in, W7 out.

Baud Rate Jumpers

The baud rate jumpers are near the front edge of the board. There are two groups of 8 pins. The pins that control the console serial port are closer to the UART chips. 0 means jumper out, 1 means jumper in. Note that the two groups of three are not parallel, but are offset by one pin.
 

>>> front edge of board >>>

jumper rate

PRT CON
WWW WWW
1 1
072 469
--- ---
000 000     300
001 001     600
010 010    1200
011 011    2400
100 100    4800
101 101    9600
110 110   19200
111 111   38400

In this table, 1 means jumper in, 0 means jumper out.

Front panel

The DECserver has a front panel with two MMJ (Modified Modular Jack) connectors. The top one is labeled A2, and is SLU1. The bottom one is labeled A1, and is SLU 0, the console. The MMJ connector has 6 pins. MMJ cables and adapters can be purchased inexpensively at http://www.l-com.com/.

  GND------+ +------RCVE(-)
  XMIT---+ | | +----RCVE(+)
 (++)--+ | | | | +--(--)
       | | | | | |
      -------------
      |o o o o o o| 
      |           |
      |           |    This picture may not make much sense,
      -----      --    but when you are looking at an MMJ connector
          |      |     it might become clear.
          --    --
           |    |
           ------

(++) is connected to +5 via a 150 ohm resistor. (--) is connected to ground via a 3K resistor

You can remove the S-box front panel by carefully drilling out the rivets and screw on a stiffener rail/ejector latch assembly. I bought some new rails from Ethan Dicks, and stole another one off a scrap board.

Installing Boot ROMs 

Here is how to install the boot ROMs that convert a KDJ11-SD from a DECserver 550 to a PDP-11/53+ CPU. This is for the new artwork.

Burning the ROMs
Find the ROM images 261E5.hex and 262E5.hex on the Internet. Obtain two 27128 or 27256 UVROMs. Burn the images into the ROMs. If you have the 27256 ROM, burn the image into the second (upper) half of the ROM. What goes into the lower half should be irrelevent, but I would burn all ones (FF). Some people burn the same image into both halves. Install the ROMs. 261E5 goes in the socket toward the CPU, 262E5 goes in the other one. The pin 1 end of the ROM, which usually has a notch, goes toward the front edge of the board.

Adding a pullup resistor
Warm up the soldering pencil. You'll need solder wick or a solder-sucker, the usual soldering supplies (including safety glasses), and a 1K resistor. You are going to be installing a pullup for the A14/PGM pin. Installing the jumper tells the board that 27128's are installed. If all you can find are 27256's, the way they are burned makes them look enough like a 27128 to fool the KDJ11. Just burning the firmware into a ROM, of either type, and plugging it into a DECserver board, does not work. You have to add the resistor.

ASCII art, with the front of the board to the left:

                                     ^
                                     |
                           CPU is that way
-------------+
      UART   |
             | +---------------+ JUMPERS
     AMI9215 | | 20 pin 74F373 |
-------------+ +---------------+
-------------+ o o
      UART   | Y X   o +-----------
             | Y X o Z |
     AMI9215 | Y X   Z | ROM
-------------+ o o   o | 261E5
   +---------------+   +-----------
   | 20 pin 74F373 |   +-----------
   +---------------+   | ROM
                       | 262E5
                       |
                       +-----------

YYY is a 47 ohm resistor (yellow, purple, black, gold). ZZ is a bypass capacitor. On some boards they are yellow blobs, on others they are glass and look a lot like diodes. The circles are the vias where the leads are soldered. XXX should be missing. You need to install the 1K resistor there.

There are other vias near there, like this:

  o o
  Y     o
  Y   o-Z----ignore this via
  Y o---Z----ignore this via
  o o   o


Here's one more picture, with the via's where the resistor goes indicated by "G":

  o G
  Y     o
  Y   o Z
  Y o   Z
  o G   o

I made a picture of the mod:

                                  Before                                                                         After

(I made made the picture on the right using a picture editor, the actual resistor you will solder in will be 1K, not 47)

If you want to check continuity, the upper end of the resistor is connected to +5, the lower end is connected to pin 27 of both ROMs.

I've been quite detailed up till now. If I have to tell you how to open the holes and solder in the resistor, you need to get someone else to do this for you.

When the resistor is in, reinstall the board, connect the terminal, and turn it on. The the first thing you should see is:

9 8 7 6 5 4 3 2 1

On the older artwork a similar mod is required, except you also have to cut out a zero-ohm jumper. I don't have a picture yet, but, holding the board with the backplane connector to the right and the front edge to the left, and the ROMs at the bottom: the pads for the resistor are to the left of the ROMs, and the zero ohm jumper is just above it. If you are need to do this before I get the picture drawn, trace the circuit from pin 27 of the ROM with an ohmeter.

The boot ROM firmware has commands like BOOT, LIST, HELP, and MAP. When I type "BOOT DU0" RT-11 comes right up. MAP prints out a memory map. LIST tells you which devices the ROMs know how to boot from.

The ROM also handles several languages. You can select the language by changing the jumpers next to the 261E5 ROM. I think you can select the language via a software command also.
 

Boot jumper table, note that, since the jumpers ground a signal, 0 means "jumper in", and 1 means "jumper out".

WWWWW
2
22358
-----
00000 console mode in English
00001 console mode in French 
00010 console mode in German
00011 console mode in Dutch
00100 console mode in Swedish
00101 console mode in Italian
00110 console mode in Spanish
00111 console mode in Portugese
01000 console mode (reserved)
01001 console mode (reserved)
01010 console mode (reserved)
01011 console mode (reserved)
01100 quick test, autoboot, user selected language
01101 autoboot DPV11, DUV11, DLV11-E/F, TU58, RK05
01110 autoboot DEQNA
01111 manufacturing test loop
10000 autoboot in English
10001 autoboot in French
10010 autoboot in German
10011 autoboot in Dutch
10100 autoboot in Swedish
10101 autoboot in Italian
10110 autoboot in Spanish
10111 autoboot in Portugese
11000 autoboot (reserved)
11001 autoboot (reserved)
11010 autoboot (reserved)
11011 autoboot (reserved)
11100 Emulate powerup mode 24 with no messages (whatever that means)
11101 ODT if trap-on-halt enabled, else loop
11110 autoboot DEQNA
11111 enter console mode, user selects language
 

Diagnostic LEDs

0 Halt sw on, CPU fault, power fault, or control has passed to secondary boot
1 preliminary CPU test running, limited error messages
2 console SLU testing
3 CPU testing
4 onboard RAM testing
5 external RAM testing
6 floating point, LTC interrupt, SLU interrupt testing
7 not used
8 not used
9 not used
A not used
B not used
C not used
D wrap mode in progress (see boot ROM commands)
E boot in progress
F console mode in progress

Boot ROM commands

The built-in help is pretty good. Here are a few things that are only found in the manual

B DU0    boot from DU0
B DUA    boot from standard controller address
B DUB    boot using first floating controller address
B/A         option: prompt for alternate CSR
B/O        option: override boot block check (use for non-standard boot block)

TEST       run tests 3-6 in continuous loop until ^C

WRAP    SLU0 to SLU1 pass-through mode, exit on ^D

WRAP/A    prompt for alternate CSR for SLU1

Test Results

test 1: "KDJ11-D/S 1.00" -- something wrong with MMU or ROM
test 2: SLU test, hang on error
test 3-6:
  print "KDJ11-D/S M:NN"
    where M is the test number, NN is the subtest number

^O4 at a test failure overrides the the test and goes to console mode
L continues looping tests with errors ignored

 

Booting without the onboard boot ROMs

If you don't have boot ROMs yet, you can still fire up your system if you have another board with a boot ROM on it, and that ROM understands your disk controller. Some third party disk controllers, like the Andromeda UDC11 have their own boot ROM. Here's how I do it: 

bulletPut the 11/53 CPU in the top slot of the chassis. For now I'm using a DSD StacPac chassis rather than the BA23. This chassis is a 6-slot, quad wide Qbus with a serpentine daisy chain and no C-D bus.
bulletPut the UDC11 hard drive controller (borrowed from 11/23) in the second slot on the right side, for a non-CD chassis, or the left side, for a CD chassis. Change  the boot address jumper on the UDC11 so its boot ROM appears at 17771000 rather than 17773000.
bulletAttach the hard drive (also borrowed from the 11/23 which was running RT-11)
bulletpower up
bullettoggle halt or hit break to get ODT's attention
bullettype 171000G

 

If you find any corrections  to this page, please email me.

2/22/2003     updated pinouts and tables from the real manual
3/2/2003       changed recommendations for W24, console baud rate, clarified meaning of 1 and 0 in jumper tables.
2/17/2007     Bela Török (St. Gallen, Switzerland) figured out the connections of the 7 segment LED and sent me the corrections

 

 

Last modified: December 31, 2009