QIC Tape help with CRC - Dwight?

Microtech Dart microtechdart at gmail.com
Sun Nov 15 16:52:21 CST 2015


Lawrence, Dwight & Chuck...thank you!

The revelation that I can append 84CF to the 512-byte data block and the
4-byte block address, is golden, and this works!

It would have taken a lot longer for me to figure out on my own that this
was a work-around, and at least one working interpretation of the confusing
text I was quoting from the manuals.

I don't grasp all of the rest of what you shared fully, but now I at least
have an example of something that works to play with, and from there, I
hope to get more comfortable with this procedure, and write some programs
that do this checking to validate each block I read with my Universal QIC
reader system.

I've updated my web page about QIC-24 decoding CRC section to include this
knowledge:

http://mightyframe.blogspot.com/2015/08/qic-24-tape-data-block-format-decoding.html#CRC

Thank you again!

-AJ


On Sun, Nov 15, 2015 at 4:49 AM, Lawrence Wilkinson <ljw-cctech at ljw.me.uk>
wrote:

> 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
>
>


-- 

Thanks,
-AJ
http://MicrotechM1.blogspot.com


More information about the cctech mailing list