                      XXDP Mini User Guide

XXDP is the diagnostics package for PDP-11 systems.
Last time I looked (spring 2000) version 2.2 and 2.5
were available from ftp://sunsite.unc.edu/
    pub/academic/computer-science/history/pdp-11/xxdp/
These are RL02 image files in *.gz format (3.2 and 3.6 Mb), the
most recent (Version 2.5) is dated 1989.  I have two older 
versions on RL02 disk packs, one dated 15-SEP-82 the other 
has a range of dates in 1981.  Both seemed pretty cryptic to a 
first time user, ie myself.  Naturally none of this comes with 
manuals!  I've gotten some information together. 

I am a big fan of John Wilson's E11 program.  If you download one 
of the versions of XXDP from Sunsite, you can run it under E11 on 
a PC clone.  One of the features of this is that you can create 
customized bootable TU58 images of the test programs you might 
want for your particular system this way.  Then assuming you have 
a functional SLU on the target system and a spare PC clone, you 
can boot and run diagnostics with one of the TU58 emulation 
programs discussed on the parent page, pdp11.htm. 

First as indicated above, there are a number of versions of the 
XXDP package, all a bit different.  I've seen it on TU58 tapes, 
RX02 floppies, and a single RL02 disk.  Newsgroup references 
suggest it is often available on magnetic tape.  Given a version 
on one set of media, you should be able to create others.  There 
appear to be two major releases, version 1.x and 2.x.  I recently 
downloaded version 2.5, it has a small monitor and extended 
monitor (the default). The small monitor of version 2.5 is for 
systems with less than 28Kb of memory, its very similar to the 
earlier version 1.x monitor. Version 2.5 has 727 files in the 
directory listing.  My 1982 RL02 distribution has a little more 
than 800 files.  All the verisons I've seen share some common 
features, the most important is that the directory structure is 
unique to these disks.  They are self booting.  Once booted XXDP 
displays some version information and an RT11 style prompt, '.'.  
This is the XXDP monitor, the commands are similar, but major 
version specific. All have a help command, and if a printer is 
available you can get hard copy.  If you have a disk image on a 
PC, you can use my Dos utility Diagdir.exe to obtain a directory 
and a copy of the help file. 

The directory command gives you a list of files on the load 
media. I get confused when I look at this listing as there are a 
lot of files with odd seeming extensions.  The help file from my 
1981 distribution says the naming convention for Monitor and 
driver files uses the DEC two letter DEVICE MNENONIC in the file 
name. All have the *.sys extension.  A monitor file begins with 
HM while a driver file begins with HD. IE if XX is the mnenonic 
and ?? are wild cards the form is as shown below followed by 
examples for DD,DY, and DL. 

DEVICE	  MONITOR	DRIVER		DEVICES
MNEMONIC  FILE		FILE		SUPPORTED
-------   -------	------		-----------
XX	HMCT??.SYS	HDXX??.SYS	the XX devices
DD	HMDD??.SYS	HDDD??.SYS	DL11/TU58
DY	HMDY??.SYS	HDDY??.SYS	RX211/RX02
DL	HMDL??.SYS	HDDL??.SYS	RL11/RL01
The ?? wild cards above are apparently version numbers.

Note that Version 1.x does not support wild cards in the
directory command, D ; however the Version 2.x extended
monitor command, DIR, does.

I had to ask on the PDP-11 newsgroup to find that the diagnostics 
are named a little differently.  One uses the letters from the 
type of device to form a mnemonic ie for RX02 disks use RX, for 
RL02 disks use RL, for the DLV11 SLU use DL. Again using XX as 
the mnemonic, search the listing for occurances of ?XX???.???, 
sample output from Version 2.5 with a search for RL is shown 
below: 

.DIR ?RL???.???

ENTRY# FILNAM.EXT        DATE          LENGTH  START   VERSION

  109  NRLGA0.BIC       1-MAR-89         19    006017
  211  VRLAC0.BIN       1-MAR-89         24    013033
  212  VRLBC0.BIC       1-MAR-89         28    013063
  351  XRLAK0.OBJ       1-MAR-89          7    015535
  592  ZRLGE0.BIC       1-MAR-89         19    031562
  593  ZRLHB1.BIC       1-MAR-89         27    031605
  594  ZRLID1.BIN       1-MAR-89         30    031640
  595  ZRLJC0.BIC       1-MAR-89         23    031676
  596  ZRLKB3.BIC       1-MAR-89         26    031725
  597  ZRLLC1.BIN       1-MAR-89         14    031757
  598  ZRLMB1.BIN       1-MAR-89         23    031775
  599  ZRLNC0.BIC       1-MAR-89         29    032024

FREE BLOCKS:  2929

Note someone was kind enough to send me the listing above as
an example, but you should be able to generate it with E11
or a real PDP11 if you have the appropriate media. 

The full directory listing shows a number of prefix letters as 
well as different extensions.  I believe the 3 letters following 
the mnemonic are version numbers.  The prefix is less clear, I 
think 'Z' and 'V' are both diagnostics.  'V' may be a non-
destructive register test where 'Z' actually excersizes the 
device?  I've also seen 'N' and 'X' prefixes?? 

Then what are extensions, "BIN" (probably binary), "BIC" (maybe 
binary/chainable)?  You can run both BIN and BIC, but apparently 
only BIC are chainable.  The meaning of an "OBJ" file is clear, 
but how does one use it?  I'd love to have someone explain this. 

One other minnor aside.  I got interested in the directory 
structure, and wrote a C program which will parse it out if you 
have a disk image of the distribution on a PC's hard disk.  Its 
DIAGDIR.EXE included in RT11ARC?.ZIP.  Its not very useful except 
possibly to extract the help file for printing.  However I found 
the directory interesting.  It is similar to an RT11 directory in 
that it uses RAD50 packing for the file names, however I found 
the date format quite strange.  Its in a two byte WORD which 
appears to contain: 
   number of years since 1970 = WORD/1000
   day of year above          = WORD % 1000

I can recreate the file dates this way, but why would one use
modulo 1000 (decimal) for the days of the year??  Strange, is there 
some clever trick here I'm not getting??




To create a bootable XXDP version on new media, you have to
run a version specific program.  For Version 1.x use UPDT2
and for Version 2.x use UPDAT as described in the sections below.

XXDP Version 2.x responds to the following commands 
    (see help topic for details):

BOOT      BOOTSM    CHAIN      CLEAR   COPY  DATE       DEFSM
DEFXM     DELETE    DIRECTORY  ENABLE  HELP  INFONBOOT  INITIALIZE  
LOAD      NOTES     PRINT      RENAME  RUN   SET        START       
SMALLMON  SWITCHES  TYPE       UPDAT   V2.4  VERSION  

As mentioned above, the UPDAT program is used to create customized
versions on new media. This program uses the same commands as the
version 1.x UPD2 program. However, commands SAVM and SAVE are
no longer supported.  The following command has been added to build
bootable media. It will work with tapes or disks.

CREATE DY0:    (will create a bootable DY from your system media)

After doing a create, copy the desired diagnostics to the new
media.



XXDP Version 1.x responds to the following commands:

          R              run a program
          L              load a program
          S              start a program
          C              run a batch job (chain)
          D              list directory of load medium
          F              set the terminal fill count
          E              enable alternate system device
          H              type help information

Help is of coarse useful, and you might want to print it.
One method is to capture the listing with a terminal emulation
program.  Alternatively if you have a printer connected to 
your machine, you may be able to print it directly.  Run the UPD2 
program and use the print option.


The UPD2 program allows one to create new copies of XXDP+ on other 
media, for instance you can custom taylor the diagnostics you 
need onto a floppy disk or TU58 tape.  The HELP.txt file should 
tell you how to use it.  I gather the UPD1 program is a short 
version of this to be used if you don't have much memory.  I 
haven't a clue what DEC/X11 (mentioned in help.txt) is.... 

Note that if you are building a custom media distribution under 
version 1.x you must have the driver file and the monitor on the 
new disk.  You get the monitor installed with a SAVM command, but 
for the Directory command to work you also need the driver file, 
HDxx??.sys, and the directory program, HUDI??.sys.  The help 
file, help.txt, is also recommended.  Copy these files and the 
desired diagnostic programs onto the media with the PIP command. 


