MTA__UTL.ZIP.x/CRC.DOC

3.6 KB 4bc200d9838decc7…
                CRC for MSDOS & Concurrent PC-DOS
               by Howard Vigorita,  NYACC CP/M SIG
	upload comments, etc. to: (718) 539-3338  (BBS)

     This is a MSDOS generic program derived from the CP/M-86 
version by Bill Bolton found on SIG/M Volume #210. MSDOS 2.0 or
higher is required for operation. This is a disk file CRC 
checking and generating utility originally written for CP/M-80,
CP/M-86, MP/M-86 and Concurrent PCDOS, now available for MSDOS.
Version 6.7 of CRC has also been tested on Concurrent PC-DOS 4.1.

	This is a companion utility to CRCBUILD which builds
-CATALOG files. This utility uses those -CATALOG files as an
interactive look up table and displays *MATCH* on your screen 
next to each line whose embedded CRC agrees with disk contents.

	This utility will optionally create an output file on 
the default drive, listing the CRC's of all files checked in a
single session. That output file can also serve as the look up.


COMMANDS:

		CRC [drive:]<filename.filetype> [F]

		Examples:

	CRC			Will attempt to find CRCKLIST.???,
				  or CRCKFILE.??? or -CATALOG.???	
				  and try to match recorded CRC values
				  in that file with values calculated
				  on the fly for files on the disk. 

	CRC MYFILE.ASM		Check only MYFILE.ASM

	CRC B:*.ASM		Check all .ASM files ON B: drive

	CRC *.* F		Check all files, writing output to a file


     Hidden files as well as files with the '$$$' extention are 
ignored.

     Path names as part of the file specification are not 
supported in this version. To check the CRC of files in a 
sub-directory, first log in that sub-directory, then run CRC
from a different drive with the drive designation of the sub-
directory as part of the file specification. To run CRC from
the root directory of the A: drive and CRC all files on the 
\user\progs\asm sub-directory of the B: drive, do the following:

	A>cd B:\user\progs\asm
	A>CRC B:*.*


ALGORITHM NOTES

	The CYCLIC-REDUNDANCY-CHECK number used in this program 
is based on the following CCITT standard polynominal:

   X^16 + X^15 + X^13 + X^7 + X^4 + X^2 + X + 1

	Special attention in this implementation has been given 
to insure that it generates CRC's which are not only compatable 
with SIG/M -CATALOG files and XMODEM CRC's, but which are also 
communication chanel insensitive. Generated CRC's will remain 
unchanged when files are moved from MSDOS or UNIX through 
communication's chanels which pad byte resolution to standard 
block boundaries. It is thus useful for checking the accuracy of 
such file transfers. It is significantly more accurate than a 
simple checksum with virtually no speed penalty as well as faster 
and less memory intensive than any table lookup technique.


SPECIAL MSDOS NOTE

	This CRCK version fixes a bug in some MSDOS versions whereby
partial sectors of files were not being processed. Such versions
generate "00 00" CRC values for files less than 128 bytes in length
and incorrect values for files not an exact multiple of 128 bytes
long. Use this version of CRC with CRCBUILD version 1.1 or greater
which also fixes this bug.


CREDITS

	The 8 bit version of the program was originally conceived 
by Keith Petersen, W8SDZ, to whom all glory and honour. Due to 
the scarcity of source code in the MSDOS public domain, the MSDOS 
version of this program has been derived from the CP/M-86 version 
by Bill Bolton, Software Tools BBS, Australia. Many thanks to 
Bill Bolton and the many other CP/M-86 programmers who continue 
enable the rest of us to learn from their examples in the best
spirt of the public domain.