On 10/13/2017 09:46 PM, Chuck Guzis via cctalk wrote:
On 10/13/2017 06:27 PM, Jon Elson via cctalk wrote:
For 800 BPI I have most of this in my head, if you have any specific
questions. (I wrote up a mostly software read/write interface for 800
BPI NRZi mag tape many years ago on a CM/M system.)
800 BPI is a VERY simple format.
...and not everyone follows the standard. For example, some early
vendors left out the CRC before the LRCC. Almost all drives will ignore
the omission.
Geez, I wonder how they do that? First, the CRC
generator/checker is zeroed, then you clock all the data
bytes into the CRC logic, then at the end, there is a
2-character-time gap, the CRC and the LRCC. If the CRC is
missing, then the LRCC would be applied to the CRC checker
and it wouldn't check. I'm pretty sure the formatters I've
worked on would barf on such a tape (indicate CRC and LRCC
errors, and the data transferred to memory would lose the
last data byte.)
Apperently, IBM used a byte-FIFO, and when the full gap was
detected, the last two bytes read would be the CRC and
LRCC. This allowed them to handle tapes written on machines
with the tape controller on the multiplexer bus, which could
cause short gaps when the data was not available quite fast
enough. NOTHING else could read those damn tapes! Their
controller ignored gaps of up to at least 5 character
times. All the DEC-compatible formatters seemed to use the
2-character-time gap to indicate CRC and LRCC follow.
Jon