FDC  provides a means of rapidly reading or writing of floppies to or from disk
files followed by optional verification of the copied data.  It is installed
under a Task Name of ...FDC.  The actual number of blocks copied may range from
a minimum established by the symbol BLKCNT defined in the next section through
a maximum equal to the floppy diskette size if copying to a disk file, or equal
to either the file size or the floppy diskette size, whichever is smaller, if
copying from a disk file. 

Command line syntax is:

>FDC filspec=dev:[/SZ:nnnn][/VE]	! To copy from a floppy to a disk file
				-- OR --
>FDC dev:[/SZ:nnnn][/VE]=filspec	! To copy from a disk file to a floppy

where:
filspec = Any valid file specification for a disk file - may include device
          and/or UIC specifications; may also include a version specification,
          however, if any pre-existing file with an identical specification
          will be superseded.
dev:	= Any valid device specification for a floppy diskette drive.
nnnn	= The number of blocks to be copied to or from the floppy - this number
          will be assumed to be a decimal (base 10) number, even if it is not
          followed by an decimal point (optional), and must be less than or
          equal to the volume size as specified in Control Words 2 and 3 of the
          device's Unit Control Block (UCB). 

Note that both the verification selection switch (/VE) and the size
specification switch (/SZ:nnnn) are optional.  If the verification selection
switch is absent, no verification is performed; if the size selection switch is
absent, the entire volume is copied as spe- cified in CW2 and CW3 of the UCB. 

While both switches are shown appended to the floppy diskette drive
specification, each switch may actually appear either there or appended to the
disk file specification. 

------------------------------------------------------------------------------

In addition to reporting various error conditions it detects to the User via
TI:, this program also uses the Exit Status word to inform any parent task of
its success or lack thereof.  The following table shows how the Exit Status
word is used: 

		High	Low
 Word		Byte	Byte				 Indication
------		----	----		--------------------------------------------
                                                          
000001		000	001		EX$SUC -
                                            Unqualified success! 

000000		000	000		EX$WAR - 
                                            Warning, caused by some internally
                                            detected discrepancy which does not
                                            preclude executing the command
                                            issued to it, such as specifying a
                                            switch more than once. 

000002		000	002		EX$ERR - 
                                            Fatal error, caused by some
                                            internally detected error which
                                            prevents executing the command
                                            issued to it without totally
                                            aborting the Task, such as
                                            specifying more blocks than the
                                            floppy diskette can hold. 

000004		000	004		EX$SEV - 
                                            Severe error, caused by either a
                                            TRAP instruction (executed when an
                                            internal inconsistency is detected)
                                            or by some other unforseen event
                                            which prevents the Task from reach-
                                            ing completion. 

000nnn		000	nnn		I/O error - 
                                            nnn is in the range 377 through 200
                                            (-1 through -128.) and is the I/O
                                            error code. 

177xnn		377	ynn		Executive Directive error - 
                                            xnn (9 bits, 777 through 600) and
                                            ynn (8 bits, 377 through 200) are
                                            the Directive error code (-1
                                            through -128). 

Revision:
---------

18-Aug-1989	VCH001
	The number of logical blocks on a device were not calculated
	in the correct way. Not all 32 bits of U.CW2 and U.CW3 of
	device UCB are valid. The highest byte should be ignored
	and only the lower 24 bit are now taken into account.

19-Aug-1989	VCH002
	Filename may now contain a named directory as possible
	on RSX11M-Plus and Micro-RSX.

	Volker C. Huck, TH Darmstadt, Inst. f. Kernphysik,
	D-6100 Darmstadt, Fed. Rep. of Germany

