But, it occurred to me that I had need of a way to read all of my old RT-11 floppies and save them somewhere, because floppy diskettes ain't diamonds (they're not forever) - so writing a utility to read this fellow's diskette would be of use to me. Besides, I'll use any excuse to write a MACRO-11 program.
My PDT-11's don't have DECNET on them (I hear DECnet-RT is rare, and very doubtful it would fit on a diskette based system). I've had nothing but bad luck trying to get Kermit to reliably transfer files from them. They don't have ethernet, only serial ports, so anything ethernet based wasn't going to play.
I decided, what the hell, I'll do a screen capture of the output of a DUMP command and then translate it back into a virtual disk file that I could read with a SIMH RSX system, and from there transfer them via TCP/IP to a PC, from whence I can mail them to the guy who needed them.
Weeks went by and I finally completed DCN (Diskette CoNvert). DCN will take as input a screen capture of the output of an RT-11 DUMP/TERMINAL command from an RX01 or RX02 diskette, and reassemble it into a DSK file that SIMH can digest. It sounded simple, but was complicated by DEC's interleave and skew of the tracks and sectors, and the fact that DEC doesn't use track 0 on RX01s and RX02s. Anyway, it got done.
To use DCN, copy DCN.MAC to an RSX system. Assemble and link it.
>MAC DCN=DCN
>TKB
DCN=DCN
/
TASK=...DCN
//
Install it and type DCN
>INS DCN
> DCN
DCN>
or just run it
> RUN DCN
>DCN>
Obtain a dump file of a diskette on an RT-11 system by screen capturing the output of a DUMP command
.DUMP/TERMINAL DX0:
Enter a command, with the input file as the dump from the RT-11 system, and the DSK filename as the output spec.
DCN>outfile.dsk=infile.dmp
.DMP is the default extension for input files, and .DSK is the default for output files, so
DCN>outfile=infile
would work just as well.
DCN supports two switches - /DD stands for double density, and indicates that the dump file came from an RX02.
DCN>outfile/DD=infile
or
DCN>oufile=infile/DD
either way, doesn't matter This won't change an RX01 dump into an RX02 dump - it just alerts DCN how to size the sectors and the output file.
The other switch is /VE - it causes DCN to print the version number and then exit
DCN>/VE
Version V01A02
>.
OK I agree, it's damned unlikely anyone else will ever need this program - but, it's a pretty good example of how to write an RSX FCS file IO utility that uses CSI switches, so there should be some value in that...