- Group Coded Recording
-
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 aufeinander 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.
Wikimedia Foundation.