Group Coded Recording

from Wikipedia, the free encyclopedia

Group Coded Recording (group coded recording or group swap, abbreviated: GCR ) describes a recording process for magnetic data carriers such as magnetic tapes or floppy disks . With this method, a data byte with ten or more bits is encoded in such a way that never more than two zero bits follow one another. One bits are represented by a polarity change on the magnetic data carrier surface, zero bits by no polarity change within a certain period of time. The occurrence of one-bits after two zero-bits at the latest results in constant synchronization of the reading electronics. This is necessary because with longer sequences of zero bits (i.e., with more than two consecutive zeros), the exact number of zero bits present could no longer be reliably determined because of the slight fluctuations in the rotational speed that are always present.

The GCR process was used for B. in 5¼ "floppy disk drives from Commodore (see also CBM floppy disk drives ) and Apple , whereby there are various slightly different variants of the GCR process. Therefore, Commodore and Apple floppy disks are not interchangeable.

Commodore GCR

With Commodore there was the additional condition that no more than nine one-bits may follow one another, since such a sequence would be misinterpreted as a sector start mark (sync). One nibble (four bits) was encoded in five bits. This means that four bytes must be encoded in five bytes. The table for Commodore's GCR coding looks like this (on the left the user data, on the right the code written for it on the diskette):

Data code
0000 01010
0001 01011
0010 10010
0011 10011
0100 01110
0101 01111
0110 10110
0111 10111
Data code
1000 01001
1001 11001
1010 11010
1011 11011
1100 01101
1101 11101
1110 11110
1111 10101

This coding ensures that never more than two zero bits or more than nine one bits occur in succession.

Apple GCR

At Apple there was no restriction on the number of one-bits that can follow one another, since different sector start marks were used there. There were other additional conditions for this: Each byte must begin with a one bit, and the remaining seven bits must contain at least one pair of consecutive one bits and no more than one pair of consecutive zero bits (in an early code variant, the was only used at Apple in the operating systems Apple DOS 3.1 and 3.2 from 1978 to 1980, no consecutive zero bits were allowed). Ultimately, Apple-GCR (in the 1980s version, introduced with Apple DOS 3.3 and used on the Macintosh until the 1990s) each recoded six bits into eight bits, making the code around six percent less efficient than Commodore -GCR, but at the same time the hardware effort was significantly lower. The 1978 variant only re-encoded five bits into eight bits and was therefore significantly less efficient. The code table for Apple GCR in the 1980 variant looks like this:

Data code
000000 10010110
000001 10010111
000010 10011010
000011 10011011
000100 10011101
000101 10011110
000110 10011111
000111 10100110
Data code
001000 10100111
001001 10101011
001010 10101100
001011 10101101
001100 10101110
001101 10101111
001110 10110010
001111 10110011
Data code
010000 10110100
010001 10110101
010010 10110110
010011 10110111
010100 10111001
010101 10111010
010110 10111011
010111 10111100
Data code
011000 10111101
011001 10111110
011010 10111111
011011 11001011
011100 11001101
011101 11001110
011110 11001111
011111 11010011
Data code
100,000 11010110
100001 11010111
100010 11011001
100011 11011010
100100 11011011
100101 11011100
100110 11011101
100111 11011110
Data code
101000 11011111
101001 11100101
101010 11100110
101011 11100111
101100 11101001
101101 11101010
101110 11101011
101111 11101100
Data code
110000 11101101
110001 11101110
110010 11101111
110011 11110010
110100 11110011
110101 11110100
110110 11110101
110111 11110110
Data code
111000 11110111
111001 11111001
111010 11111010
111011 11111011
111100 11111100
111101 11111101
111110 11111110
111111 11111111

Other systems

In IBM PCs instead was Modified Frequency Modulation (MFM) used. The MFM coding and decoding is implemented in PCs by hardware in the floppy controller of the chipset and can therefore not be bypassed easily. With the help of special controllers such as the Catweasel controller or KryoFlux , PC floppy drives can also read and write GCR-coded Commodore and Apple floppy disks.

However, there is also software (e.g. "Disk2FDI") that at least enables reading of GCR disks and other non-PC formats in normal PCs through sophisticated tricks using two coupled disk drives, provided that the PC's mainboard also has two Floppy drives supported (which is no longer the case with the vast majority of newer boards). According to the current state of knowledge, writing GCR disks for PC drives on conventional PC disk controllers is not possible even with tricks.

Individual evidence

  1. https://www.degruyter.com/view/j/itit.1976.18.issue-1-6/itit.1976.18.16.302/itit.1976.18.16.302.xml
  2. http://www.online.uni-marburg.de/hrz/chronik/quellen/sperry-univac-magnetbandsystem-uniservo-30-1983.pdf