[comp.sources.wanted] Help: CRC code

randyc@hpfcdc.HP.COM (Randy Campbell) (02/03/90)

I have partial, modified source of CRC calculation program written
in 1986 by Gary S. Brown.

The program uses a feedback table; in the comments is the statement,
"code to generate the table is shown later...".

My copy lacks this code, and the source from whom I acquired it doesn't
know where to get it.  (The version we have had in-line assembly added
by Samuel H. Smith  in 1989, if that helps anyone).

I would like to:

	A.  Get the table-generating code;
	B.  Get a pointer to Gary Brown;
	or
	C.  Receive any explanation from a knowledgeable source of
	    how to generate a feedback table for a CRC based on
	    a given polynomial.

Email or posting here are equally suitable.

Thanks in advance,

	Randy Campbell, HP UDL/Commands, Fort Collins
 	randyc@hpfcla 1-229-6227

lbr@holos0.uucp (Len Reed) (02/05/90)

In article <5450005@hpfcdc.HP.COM> randyc@hpfcdc.HP.COM (Randy Campbell) writes:
>I have partial, modified source of CRC calculation program written
>in 1986 by Gary S. Brown.
>
>The program uses a feedback table; in the comments is the statement,
>"code to generate the table is shown later...".

A good explanation of CRCs can be found in _C Programmer's Guide to Serial
Communications_ by Joe Campbell, Howard W. Sams & Co.  This book can be
found at your basic mall bookstore with a moderately sized computer section.
The book gives an explanation of CRCs both using bit-shifting and tables.
The CRC section focuses on the practical but treats the theory a little.
(Campbell stops short of the abstract algebra required to prove the
99+% detection rates.)

I would not recommend transcribing a table from a book: it takes longer
than writing the table generator program and is error prone.  Generate
the table with a program and hand check a few of the entries.
-- 
Len Reed
Holos Software, Inc.
Voice: (404) 496-1358
UUCP: ...!gatech!holos0!lbr