Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 23. März 2009 um 20:03 Uhr durch 92.230.2.53(Diskussion)(→Apple-GCR: kleine Korrektur. Da nach alter Lesart des Artikels $D5 = 11010101 erlaubt wäre, was es aber nicht ist.). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Group Coded Recording (Gruppenkodierte Aufzeichnung, kurz: GCR) bezeichnet ein Aufzeichnungsverfahren für magnetische Datenträger wie Magnetbänder oder Disketten. Bei diesem Verfahren wird ein Daten-Byte mit zehn oder mehr Bit so kodiert, dass nie mehr als zwei Null-Bits aufeinanderfolgen. Eins-Bits werden durch einen Polaritätswechsel der magnetischen Datenträgeroberfläche dargestellt, Null-Bits durch keinen Polaritätswechsel innerhalb einer bestimmten Zeitperiode. Durch das Auftreten von Eins-Bits nach spätestens zwei Null-Bits erfolgt eine ständige Synchronisierung der Lese-Elektronik. Dies ist nötig, da bei längeren Folgen von Null-Bits (d. h., bei mehr als zwei aufeinanderfolgenden Nullen) wegen der immer vorhandenen leichten Schwankungen der Drehgeschwindigkeit die genaue Anzahl der vorhandenen Null-Bits nicht mehr sicher festgestellt werden könnte.
Zum Einsatz kam das GCR-Verfahren z. B. in Diskettenlaufwerken von Commodore und Apple, wobei es diverse leicht unterschiedliche Varianten des GCR-Verfahrens gibt. Daher sind Commodore- und Apple-Disketten nicht untereinander austauschbar.
Commodore-GCR
Bei Commodore gab es die zusätzliche Bedingung, dass nicht mehr als neun Eins-Bits aufeinander folgen dürfen, da eine solche Aneinanderreihung als Sektor-Startmarke (sync) fehlinterpretiert würde. Es wurden jeweils ein Nibble (vier Bit) in fünf Bit kodiert. Daraus ergibt sich, dass vier Bytes in fünf Bytes kodiert werden müssen. Die Tabelle für Commodores GCR-Kodierung sieht folgendermaßen aus (links die Nutzdaten, rechts der dafür auf die Diskette geschriebene Code):
Daten
Code
0000
01010
0001
01011
0010
10010
0011
10011
0100
01110
0101
01111
0110
10110
0111
10111
Daten
Code
1000
01001
1001
11001
1010
11010
1011
11011
1100
01101
1101
11101
1110
11110
1111
10101
Mit dieser Kodierung ist sichergestellt, dass nie mehr als zwei Null-Bits oder mehr als neun Eins-Bits hintereinander auftreten.
Apple-GCR
Bei Apple gab es keine Beschränkung der Anzahl der Eins-Bits, die aufeinander folgen dürfen, da dort andere Sektor-Startmarken verwendet wurden. Dafür gab es andere Zusatzbedingungen: Jedes Byte muss mit einem Eins-Bit beginnen, und in den übrigen sieben Bits müssen mindestens ein Paar aufeinender folgende Eins-Bits und nicht mehr als ein Paar aufeinander folgende Null-Bits vorkommen. Letztlich wurden bei Apple-GCR jeweils sechs Bits in acht Bits umkodiert, wodurch der Code insgesamt etwa sechs Prozent weniger effizient war als Commodore-GCR, jedoch war zugleich der Hardware-Aufwand deutlich geringer. Die Codetabelle für Apple-GCR sieht so aus:
Daten
Code
000000
10010110
000001
10010111
000010
10011010
000011
10011011
000010
10011101
000101
10011110
000110
10011111
000111
10100110
Daten
Code
001000
10100111
001001
10101011
001010
10101100
001011
10101101
001100
10101110
001101
10101111
001110
10110010
001111
10110011
Daten
Code
010000
10110100
010001
10110101
010010
10110110
010011
10110111
010010
10111001
010101
10111010
010110
10111011
010111
10111100
Daten
Code
011000
10111101
011001
10111110
011010
10111111
011011
11001011
011100
11001101
011101
11001110
011110
11001111
011111
11010011
Daten
Code
100000
11010110
100001
11010111
100010
11011001
100011
11011010
100010
11011011
100101
11011100
100110
11011101
100111
11011110
Daten
Code
101000
11011111
101001
11100101
101010
11100110
101011
11100111
101100
11101001
101101
11101010
101110
11101011
101111
11101100
Daten
Code
110000
11101101
110001
11101110
110010
11101111
110011
11110010
110010
11110011
110101
11110100
110110
11110101
110111
11110110
Daten
Code
111000
11110111
111001
11111001
111010
11111010
111011
11111011
111100
11111100
111101
11111101
111110
11111110
111111
11111111
Andere Systeme
Bei IBM-PCs wurde stattdessen Modified Frequency Modulation (MFM) benutzt. Mit Hilfe spezieller Controller wie dem Catweasel-Controller ist es PC-Diskettenlaufwerken möglich, GCR-kodierte Commodore- und Apple-Disketten zu lesen. Es gibt allerdings auch Software (z. B. "Disk2FDI"), die dies mittels zweier gekoppelter Diskettenlaufwerke ermöglicht. Das Schreiben von GCR-Disketten ist aber PC-Laufwerken an gewöhnlichen PC-Diskettencontrollern nicht möglich.