[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Disk II Checksum
Alex Freed wrote:
"Michael J. Mahon" <mjmahon@aol.com> wrote in message
SLydnXx975xZfVHYnZ2dnUVZ_uPinZ2d@comcast.com">news:SLydnXx975xZfVHYnZ2dnUVZ_uPinZ2d@comcast.com...
There is one chance in 256 of an incorrect read producing
a correct checksum, but this level of integrity checking
seems to be sufficient.
Assuming all errors are equaly probable.
Which is a reasonable assumption, since the only
categories of errors in the Disk ][ serial channel are
random bit flips (extra pulse or missing pulse) or
burst errors (media blemish).
-What are the odds of meeting a dinosaur on the street?
- Fifty-fifty. Either you meet it or not!
Cute, but irrelevant.
We already know that checksum errors are rare. Therefore
the ones that happen are essentially random in their effect
on the checksum.
I'm not an expert at all, but as I recall it CRC was invented
because the odds of finding an error are much better than
using a simple 16 bit checksum.
There is still a 1-in-2^16 chance of accidental match.
The CRC was chosen to maximize robustness under the assumption
of certain kinds of channel errors.
Note that a simple bytewise (or 2-bytewise) exclusive or is
equivalent to "longitudinal" parity, so if any even number of
bits in corresponding positions are flipped, the exclusive or
doesn't change. The CRC introduces a rotation, so that the
error patterns that produce the same CRC are more complex and,
hopefully, less likely.
Since the Disk ][ is a serial transmission channel, even burst
errors are unlikely to create only "paired" bit flips in
corresponding bit positions.
-michael
NadaNet networking for Apple II computers!
Home page: http://members.aol.com/MJMahon/
"The wastebasket is our most important design
tool--and it's seriously underused."