[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Group Code Recorder (GCR) Hardware Specificiation Needed!



Bryan Parkoff asked:

>Group Code Recorder (GCR) Hardware Specification Needed!
>
>    I still reserch all the information through websites, but I still can't
>find the information.  I am very interested to get the information that has
>deep technical specification how Apple II Drive 143K - 800K work by using
>GCR specification.  Please advise.

First, GCR stands for Group Code Recording, a method of encoding
n bits in m bits, where n<m, for purposes of achieving a balance of
ones to zeros, improving redundancy for error detection/correction,
or some other purpose.  In the case of the Apple Disk ][, the purpose
of the group code is to limit the number of consecutive zero bits so
the analog head read IC doesn't lose track of the level it uses to
discriminate between a zero being read and a one being read.

Another, rather simple, way of doing this is to interleave the actual
data bits with one-bits, so that each group of 8 bits recorded on the
disk encodes 4 data bits.  This is (was) the standard "single density"
diskette recording method.  (And this "4+4" scheme is actually used
on Apple disks for the sector address data.)

Steve Wozniak recognized that more data bits could be encoded if
a slightly more complex coding were used, since the disk read channel
could actually accommodate two consecutive zero bits reliably, as
long as such a sequence happened only once per 8 bits.  This, when
combined with the requirement that the first bit always be one (think
of it as a "start bit", leaves 7 bits which can have any value having
no more than one string of two consecutive zero bits.  (This is the
"16-sector" coding which began with DOS 3.3.)

There are 66 valid codes in the 128 possible combination (high bit set),
of which 64 are used to encode 6 data bits, and the two remaining codes
are reserved as "punctuation" in the address and data headers.  This
makes it impossible for a data field to contain what looks like an address
mark.

The method of decoding the data stream from the disk head is truely
a virtuoso performance of digital engineering.  I recommend the study
documented by Jim Sather in his book "Understanding the Apple II"
or the later "Understanding the Apple IIe".  His chapter on the design
of the Disk ][ Controller and RWTS is both clear and correct--a tough
combination.  ;-)

-michael

 Email:  mjmahon@aol.com
 Home page:  http://members.aol.com/MJMahon/