Modules

DEC uses the generic term "module" for the software parts of their diagnostic system. A module can be

  • a diagnostic test program,
  • part of a monitor system: monitors core files or device drivers,
  • even pure documentation got module numbers. example: "CXQAFD0" is the "DEC/X11 Module Programmer Guide".

Module identifiers

Modules are identified by module identifiers. The format of module numbers evolved a bit over times, but here is the general pattern (form an early MAINDEC-11-DZQXA-I-D_XXDP_User_Manual_Jul76):

MAINDEC-11-DZQXA-I-D XXDP User Manual Jul76.pdf

The exact names for the last three letters differ from later documentations. For example,  Turnbull_XXDP:Feb93.pdf says:

" The names of the diagnostic tests consist of 6 characters.

  • The first character indicates the target platform it is intended for (for example the processor type)
  • second and third character form a mnemonic for the type of device the diag test is for,
  • the fourth letter is to identify a specific test program ("module specifier") and the
  • last two characters are for revision and patch level, respectively. "

 


1st letter code

A = 11/05, 11/15, 11/20
B = 11/40
C = 11/45
D = GT40, general UNIBUS
E = 11/70
F = 11/34
G =11/04
H = used for system files of run time environment
J = 11/23,11/24
K = 11/44
M = MNC/11
N = System Industry 9400 controller,11/21
P = PDT-11, Plessey diagnostics
Q = 11/60
R = LPA-11
V = 11/03 LSI11
X = X11 module
Z = unspecified/ any platform

 

2nd and 3rd letter

These letters are mnemonics for the device tested (they are not the same as the standard DEC device driver mnemonics)

AA = AA11,AAV11
AD = AD11,ADV11,AD01
AF = AFC11
AR = AR11
AX = AXV11
BB = KIT11
BM = BM873,BDV11
BT = Bus Tester
CB = CB11
CD = CD11,CDS11
CL = CL11
CM = CM11
CP = DEC/X11 CPU
CT = CT11
CR = CR11
DC = DC11
DF = DFC11
DH = DH11,DHV11
DJ = DJ11
DL = DL11,DLV11
DM = DM11,DMX11
DN = DN11
DP = DP11,DUP11,DPV11
DQ = DQ11,DQV11
DR = DR11,DRV11
DT = DT07,DTE20
DU = DU11,DUV11
DV = DV11,DLV11
DX = DX11
DZ = DZ11,DZV11
FP = FP11,FPF11
GT = GT40,GT44
IB = IBV11
IR = ICR11
IT = ITEP
KA = LSI-11 = CPU
KB = CPU
KC = CPU
KD = PDT11,11/23,11/24 CPU
KE = CPU
KG = CPU
KH = KIT11
KL = KL11
KK = Cache Memory
KM = KMC11,Memory
KP = KPV11
KT = Memory = Management
KU = KUV11
KX = KXT11
KW = KW11,KWV11
LA = LA11,LC11,DPrinters
LC = LC11
LK = LK11
LP = LP11,LPx11
LQ = LQP
LS = LS11
LV = LV11
M8 = BDV11
M9 = M9301,M9312,REV11,TEV11
MF = Memory
MJ = Memory
MK = Memory
ML = Memory
MM = Memory
MN = MNC11
MR = MR11,MRV11-B
MS = Memory
MX = MXV11
NC = NC11,NCV11
PA = PA611,TYP11
PC = PC11,PCS11,IPV11/12
PL = PCL11
PM = PDM70
QE = CPU
QM = Memory
QK = CPU
QU = DEC/X11
R6 = RK611,RK06/07
RC = RC11,KLESI-QA,RC25
RF = RF11
RH = RH70
RJ = RP04/05/06
RK = RK11,RKV11,RK05
RL = RL11,RLV11/12,RL01/02
RM = RH11,RH70,RM02/03
RP = RP11,RP02/03
RQ = MSCP disk controllers and drives
RS = RH11,RS03/04
RT = RT01/02
RX = RX11,RXV11,RXV21,RX01/02
TA = TA11
TC = TC11
TE = TE16,TU77,TM03
TK = TKQ50,TK50/75
TM = TM11,TMA11,TE10
TR = TR79F
TS = TS11,TS03,TSV05
TU = TM02,TU10,TU58
UD = UDC11,UDA50,KDA50-Q,RA60/80/81
VS = VS11,VSV11,VS60
VT = VT
XY = XY11

 This list is incomplete.

Often a diagnostic is not bound to the platform. Example: "VRLxxx" is coded for LS11, but can run on any machine.

Example:

The famous RL disk exerciser  is named "ZRLKB3".
"Z" = not bound to a specific CPU.
"RL" = RL disk drive.
"K" = the "Kth" diagnostic for RL disk.
"B3" = 2nd revision, patch level 3.

This exerciser is also available for a different platform as "NRLKA0"

"N" = PDP-11/21
"RL" = RL disk drive.
"K" = the "Kth" diagnostic for RL disk.
"A0" = 1st revision, patch level 0

Format variant for papertape images

Ans sometimes there is a leading letter before the "platform" letter.

Lets look at the paper tape MAINDEC diagnostic program "maindec-11-dzrlc-a-pb1.bin".

Here the module idnetifier is "DZRLC-A".

  • "D" is an unknown software identfier ... a media specifiier?
  • "ZRLC" = again the module code for a RL disk drive test.
  • "A" is the revision, there seems to be no patch level.

 

Format variant for X-11 modules

The exerciser modules for the DEC/X11 monitor system are named after the scheme

XWYTR0.OBJ,

with

  • X = DEC/X11 software identifier
  • WYZ = device + module specifier
  • R = revision
  • 0 = patch level must be always 0 for OBJ files.

See document AC-F055D-MC_X11crossRef.pdf.

Old 3-letter codes

Very old diagnostics on papertape images have a different format:

DNIR, with

  • D = 1st letter seems to be always a "D" ... meaning "PDP-11 Diagnostic"?
  • N = 2nd letter is a number. It seems to encode the type of hardware tested:
    0 = CPU, 1 = memory, 2, serial, clock, paper tape,  3 = DECtape, 4 = other tape, 5 = disk, 6 = analog laboratory modules, 8 = UNIBUS, 9 = Communications.
  • I = 3rd letter is the identifier for the test.
  • R is an optional single letter revision code.

Example: "D1AA" is a basic address test

  • "D" = fixed
  • "1" = memory
  • "A" = this seems to be the first address test written ever.
  • "A" = first version of this.

More on these old identifers can be found in PDP-8 documentations.

The most of these 3-letter identifiers were soon (1970?) renamed to 4 letter identifiers. So there are some modules with two names!

 For example, "D1A" was renamed to "ZMMA".