QIC Tape help with CRC - Dwight?

dwight dkelvey at hotmail.com
Sun Nov 15 09:13:04 CST 2015

I'm not sure why the program your using doesn't allow an initial value.
Are you sure it is starting with 0's?
If you give it a data set that is all 0's and the result is 0's, it is starting
with 0's.
By starting with all 1's, usually means the check sum is all 1's, not that
one entered all 1's.
Most CRC's do LSB end in first but some do MSB. Try both ways.
Some use a table lookup for a byte at a time rather than bit at a time.
This it is much faster but can't be used for correction ( without difficulty ).
If you have some coding experience, you should be able to code your own.

From: cctalk <cctalk-bounces at classiccmp.org> on behalf of Lawrence Wilkinson <ljw-cctech at ljw.me.uk>
Sent: Sunday, November 15, 2015 2:49 AM
To: cctalk at classiccmp.org
Subject: Re: QIC Tape help with CRC - Dwight?

On 15/11/15 11:15, Microtech Dart wrote:

> (snip)
> "The cyclical redundancy check (CRC) shall consist of two bytes, calculated
> over the 512 bytes of interchange data, and the 4-byte block address, *starting
> with all ONEs, CRC initial value*, and using the CRC Generating polynomial:
> x16 + x12 + x5 + 1
> *"starting with all ONEs, CRC initial value"*?  What does THAT mean?  Do I
> need to do some kind of register shift?  xorin or xorout?
It's the initial value of each bit, corresponding to the "Init before
calculation" lines in the code at the bottom of the page. There doesn't
seem to be any provision for entering this value in the online
computation (and all-zeros is *not* a good initialisation vector!)

One way around this would be to come up with a byte sequence that
gave a CRC of all ones (i.e. 84 CF) and pre-pend that to the main
sequence, and then it works. But I assume you're using some sort of
code, so just make sure it's initialised appropriately.

> I've even played with http://reveng.sourceforge.net/, but I'm having
> trouble even understanding the meaning of the input values and parameters
> with this.
> I appreciate any feedback that anyone can give, here.
Best of luck! CRCs are fun!

Lawrence Wilkinson                          lawrence at ljw.me.uk
The IBM 360/30 page                   http://www.ljw.me.uk/ibm360

More information about the cctech mailing list