• Please review our updated Terms and Rules here

DEC XXDP Image Manipulation - xxdpdir


Veteran Member
Aug 23, 2010
Silicon Valley USA
So ... over the past month I was able (finally) to finish and test my version of XXDPDIR (actually xxdpdir.pl plus an XXDP.pm Perl module) that supports access to RX01 and RX02 media images (as well as simple linear block drives like TU58, MSCP, RL02, etc) so I could now build RX01 and RX02 bootable XXDP file systems just like I did for TU58 bootable XXDP filesystems. It is written in plain jane Perl, so I run it under CYGWIN 32b on Win7 64b, but it will run on just about any OS that supports Perl, including linux.

The RX02 (new) files are here: http://www.ak6dn.com/PDP-11/RX02/

The TU58 (existing) files are here: http://www.ak6dn.com/PDP-11/TU58/

The RX02 images have been tested on my RX02 emulator board attached to my RX211 / 11/44 system, and boot / run diagnostics as expected.

I had been using the legacy XXDPDIR.EXE / DIAGDIR.EXE 16b DOS applications to build my TU58 images, but once I moved to Win7 64b (from WinXP 32b) I could no longer run these programs from the command line (as 64b Win won't run 16b applications any more). I had to run thru DOSBOX (which was doable, but inconvenient). And the legacy apps did not support RX01/RX02 media format either.


Now available on github: https://github.com/AK6DN/xxdpdir

FYI here is what running xxdpdir.pl looks like to create a bootable XXDP RX02 image (note .RX2 extension autoconfigures RX02 device image mode) using files extracted from an available RL02 XXDP v2.5 disk image (from here: http://bitsavers.org/bits/DEC/pdp11/discimages/rl02/ ):

rx02[627] ./11XXDP.sh
++ xxdpdir.pl --image ../../XXDP/XXDP_v25_rl02.dsk --path tmpdir --extract '*.SYS'
++ xxdpdir.pl --image ./11XXDP.RX2 --path tmpdir --insert '*.SYS' --init --boot
++ xxdpdir.pl --image ../../XXDP/XXDP_v25_rl02.dsk --path tmpdir --extract HELP.TXT
++ xxdpdir.pl --image ./11XXDP.RX2 --path tmpdir --insert HELP.TXT
++ xxdpdir.pl --image ../../XXDP/XXDP_v25_rl02.dsk --path tmpdir --extract PATCH.BIC
++ xxdpdir.pl --image ./11XXDP.RX2 --path tmpdir --insert PATCH.BIC
++ xxdpdir.pl --image ../../XXDP/XXDP_v25_rl02.dsk --path tmpdir --extract SETUP.BIC
++ xxdpdir.pl --image ./11XXDP.RX2 --path tmpdir --insert SETUP.BIC
++ xxdpdir.pl --image ../../XXDP/XXDP_v25_rl02.dsk --path tmpdir --extract UPDAT.BIC
++ xxdpdir.pl --image ./11XXDP.RX2 --path tmpdir --insert UPDAT.BIC
++ xxdpdir.pl --image ../../XXDP/XXDP_v25_rl02.dsk --path tmpdir --extract XTECO.BIC
++ xxdpdir.pl --image ./11XXDP.RX2 --path tmpdir --insert XTECO.BIC
++ xxdpdir.pl --image ../../XXDP/XXDP_v25_rl02.dsk --path tmpdir --extract FLOAT.BIN
++ xxdpdir.pl --image ./11XXDP.RX2 --path tmpdir --insert FLOAT.BIN
++ xxdpdir.pl --image ./11XXDP.RX2 --directory --format standard > 11XXDP.TXT

And the directory listing:
DOS11 format, assume monitor starts at block 23
Image supports 988 blocks
16 directory blocks, block 3 thru 18
4 bitmap blocks, block 19 thru 22
401 device blocks in use according to the bitmap


    1  XXDPSM.SYS       1-MAR-89          29     55     E.0
    2  XXDPXM.SYS       1-MAR-89          39     84     F.0
    3  DRSSM .SYS       1-MAR-89          24    123     G.2
    4  DRSXM .SYS       1-MAR-89          48    147     C.0
    5  DATE  .SYS       1-MAR-89           2    195     B.0
    6  DB    .SYS       1-MAR-89           2    197     C.0
    7  DD    .SYS       1-MAR-89           3    199     D.0
    8  DIR   .SYS       1-MAR-89           7    202     D.0
    9  DL    .SYS       1-MAR-89           4    209     D.0
   10  DM    .SYS       1-MAR-89           4    213     C.0
   11  DR    .SYS       1-MAR-89           3    217     C.0
   12  DU    .SYS       1-MAR-89           4    220     E.0
   13  DUSZ  .SYS       1-MAR-89           2    224     C.0
   14  DY    .SYS       1-MAR-89           3    226     D.0
   15  LP    .SYS       1-MAR-89           1    229     B.0
   16  MM    .SYS       1-MAR-89           3    230     C.0
   17  MS    .SYS       1-MAR-89           4    233     C.0
   18  MU    .SYS       1-MAR-89           4    237     E.0
   19  HELP  .TXT       1-MAR-89          29    241
   20  PATCH .BIC       1-MAR-89          31    270
   21  SETUP .BIC       1-MAR-89          27    301
   22  UPDAT .BIC       1-MAR-89          29    328
   23  XTECO .BIC       1-MAR-89          26    357
   24  FLOAT .BIN       1-MAR-89          18    383