
		     ** RT-11 to CP/M Converter Package **
			   ** User Documentation **

1.0  Introduction

     The RT-11 to CP/M converter is designed to facilitate communication
between CP/M and RT-11 speaking systems.  Both systems are numerous, and a
given person is likely to have to move files back and forth between systems of
the two types.	For example, an individual may want to exchange files between
his personal CP/M system and his company's RT-11 system.  I wrote this package
for my own personal use, so I can justify distributing it in the public domain
as it is, in effect, "paid for".

     Since I am making no money on this thing, I would resent it highly if
anyone else reaped any profit from my effort.  Sharing the wealth is one thing,
but when there is no wealth to share.....  I claim copyright on the package so
that I can get legally annoyed at anyone who tries to sell the package.  The
deal is this:  You may make as many copies for as many people as you like.  You
may charge them no more than the cost of a disk (if you provide it), a shipping
container (if needed and you provide it), and postage (if needed).  I had a
quesion recently from a user about giving the package to a business--I know
that they have lots of money, but it's free to them, too.

     With the end of the speech, lets get down to business!


2.0  Starting the Package Up

     I provide compiled objects to everybody as not everybody has a new-enough
revision of BDS C to compile the thing.  Other mishaps occur, too.  You still
need to know how to compile the thing, though, in case you lose the object or
in case you modify the package.  Anyhow, to compile the program, you will need
Version 1.4 or later of Leor Zolman's (i.e. BD Software's) C compiler.	For BDS
C, see Lifeboat Associates in New York City.  The command sequence goes like
this:

     A>CC1 RT11.C
     A>CC1 RTMISC.C
     A>CC1 RTFILES.C
     A>CLINK RT11 RTMISC RTFILES

It is important that the linkage be done on one line as the library rename()
function will be pulled instead of the rename() function in RTFILES.C if you
don't.	Anyhow, you now have RT11.COM and three intermediate files RT*.CRL.
Kill the .CRL files if you want to as they are no longer needed.

     To actually run the package, type RT11 with no parameters.  The package
will load and demand that you put your RT-11 disk in drive B and your CP/M disk
in drive A.  Do so.  If the RT-11 disk doesn't have a valid directory yet (a
new disk), that's OK.  Type carriage return.  If you type anything but just
return, the package will not go into operation.  At this point, the package
will ask for today's date as mm/dd/yy.	This establishes the system date word
for any RT-11 files created.  A valid system date word appears to be a must for
Version 3 RT-11 systems.  Once you have a valid date in place, the package will
ask for a command.  Invalid commands draw a list of valid commands.  ? is an
invalid command, so ? will get you help if you need it.  Commands are a single
letter. Any additional letters are ignored.  Additional data needed by a
command is asked for via a fairly detailed prompt set.

3.0  Commands

3.1  ? (Help)

     This gets you a list of valid commands.  Any invalid command will do here,
but ? is easy to remember.  No parameters needed.

3.2  D (Directory)

     This command lists the directory on the RT-11 diskette -- i.e. the disk in
drive B.  No parameters needed.

3.3  E (Erase file)

     This command prompts the user for a valid RT-11 file name.  Answering the
file name prompt with just a carriage return will abort the command.  No
wildcard characters are supported.  The program then erases the specified file
from the RT-11 disk.

3.4  G (Get file)

     This command gets a file from the RT-11 disk (drive B) and puts it on the
CP/M disk (drive A).  The user is prompted first for the RT-11 file name, then
for the CP/M file name.  Answering the RT-11 file name prompt with just a
carriage return will abort the command.  Answering the CP/M file name prompt
with just a carriage return will make the CP/M file have the same name as the
RT-11 file.  The program will then move the file from drive B to drive A a
block at a time.

3.5  I (Initialize disk)

     This command allows you to initialize the directory and volume ID of a new
diskette.  To initialize the directory, the program needs to know: 1) how many
blocks of directory to allocate, and 2) how many "extra bytes" to allocate per
directory entry.  For a single-density floppy (DX:), four directory segments
is the usual number.  RT-11 itself does not use the extra bytes, so this is
almost always 0.  With this, the program will initialize the directory.  To
initialize the volume ID block, the program needs to know the volume name and
the owner name.  Both names are truncated to 12 characters so that they will
fit in their allotted slots on the disk.  If you answer either prompt with just
a carriage return, a default value will be substituted.  The defaults are RT11A
for volume name and blank for owner name.  With this, the program will
initialize the volume ID block and return to command level.  For extra safety,
the program asks you if you really want to do this.  Any reply except an
upper-case Y will abort the command.  I make it picky in this regard since this
operation causes the certain loss of all data on the disk.

3.6  P (Put file)

     This command allows you to put a file onto the RT-11 disk (drive B) from
the CP/M disk (drive A).  The program will prompt you for a CP/M file name and
an RT-11 file name.  Answering either with just a carriage return will abort
the command.  This differs from the G command because all valid RT-11 file
names are valid CP/M file names but NOT vice-versa.  The program will then move
the file from drive A to drive B a block at a time.

3.7  Q (Quit)

     This command returns you to CP/M.	You will be given an opportunity to put
in your system disk before the system is re-booted.  Change disks if necessary
and type any character to re-boot.

3.8  R (Rename file)

     This command allows you to rename a file on the RT-11 disk (drive B).  The
program will prompt you for the old name.  If the file does not exist, the
command aborts with a message to that effect.  Otherwise, the program prompts
you for the new name and renames the file.  If you answer either name wih just
a carriage return, the command aborts.

3.9  T (Type file)

     This command lets you look at text files on the RT-11 disk (drive B).  The
command prompts you for a file name.  If you answer with just a carriage
return, the command aborts.  Otherwise, the file is displayed on the screen.
The results with object files, etc. can be spectacular.  I haven't yet
implemented an abort character, so long listings can be a bit tedious.	A
control C is no good unless you want to wind up back at CP/M.


4.0  Summation

     I include the source code so that you can either fix the things that I
haven't gotten around to implementing (the problem with non-profit things like
this) or fix any bugs that you find.  I'd appreciate a shout about any bugs as
I try to keep the things killed off as best I can.  Good luck!

					     William C. Colley, III
						  19-MAR-81

