Group coded recording

In computer science, group coded recording or group code recording (GCR) refers to several distinct but related encoding methods for magnetic media. The first, used in 6250 bpi magnetic tape since 1973, is an error-correcting code combined with a run length limited (RLL) encoding scheme, belonging into the group of modulation codes.[1] The others are different mainframe hard disk as well as floppy disk encoding methods used in some microcomputers until the late 1980s. GCR is a modified form of a NRZI code, but necessarily with a higher transition density.[1]

GCR for magnetic tape

Group coded recording was first used for magnetic tape data storage on 9-track reel-to-reel tape.[1] The term was coined during the development of the IBM 3420 Model 4/6/8 Magnetic Tape Unit[2] and the corresponding 3803 Model 2 Tape Control Unit,[3][2] both introduced in 1973.[2][4] IBM referred to the error correcting code itself as "group coded recording". However, GCR has come to refer to the recording format of 6250 bpi (250 bits/mm[1]) tape as a whole, and later to formats which use similar RLL codes without the error correction code.

In order to reliably read and write to magnetic tape, several constraints on the signal to be written must be followed. The first is that two adjacent flux reversals must be separated by a certain distance on the media. The second is that there must be a flux reversal often enough to keep the reader's clock in phase with the written signal; that is, the signal must be self-clocking and most importantly to keep the playback output high enough as this is proportional to the density of flux transitions. Prior to 6250 bpi tapes, 1600 bpi tapes satisfied these constraints using a technique called phase encoding (PE), which was only 50% efficient. For 6250 bpi GCR tapes, a (0, 2) RLL code is used, or more specifically a 4/5 (0, 2) block code.[1] This code requires five bits to be written for every four bits of data.[1] The code is structured so that no more than two zero bits (which are represented by lack of a flux reversal) can occur in a row,[1] either within a code or between codes, no matter what the data was. This RLL code is applied independently to the data going to each of the nine tracks.

Of the 32 five-bit patterns, eight begin with two consecutive zero bits, six others end with two consecutive zero bits, and one more (10001) contains three consecutive zero bits. Removing the all-ones pattern (11111) from the remainder leaves 16 suitable code words.

The 6250 bpi GCR RLL code:[5][6][7]

4-bit valueGCR code[5][6]
hexbinbinhex
0x000001.10010x19
0x100011.10110x1B
0x200101.00100x12
0x300111.00110x13
0x401001.11010x1D
0x501011.01010x15
0x601101.01100x16
0x701111.01110x17
4-bit valueGCR code[5][6]
hexbinbinhex
0x810001.10100x1A
0x910010.10010x09
0xA10100.10100x0A
0xB10110.10110x0B
0xC11001.11100x1E
0xD11010.11010x0D
0xE11100.11100x0E
0xF11110.11110x0F

11 of the nibbles (other than xx00 and 0001) have their code formed by prepending the complement of the most significant bit; i.e. abcd is encoded as aabcd. The other five values are assigned codes beginning with 11. Nibbles of the form ab00 have codes 11baa, i.e. the bit reverse of the code for ab11. The code 0001 is assigned the remaining value 11011.

Because of the back then extremely high density of 6250 bpi tape, the RLL code is not sufficient to ensure reliable data storage. On top of the RLL code, an error-correcting code called the Optimal Rectangular Code (ORC) is applied.[8] This code is a combination of a parity track and polynomial code similar to a CRC, but structured for error correction rather than error detection. For every seven bytes written to the tape (before RLL encoding), an eighth check byte is calculated and written to the tape. When reading, the parity is calculated on each byte and exclusive-ORed with the contents of the parity track, and the polynomial check code calculated and exclusive-ORed with the received check code, resulting in two 8-bit syndrome words. If these are both zero, the data is error free. Otherwise, error-correction logic in the tape controller corrects the data before it is forwarded to the host. The error correcting code is able to correct any number of errors in any single track, or in any two tracks if the erroneous tracks can be identified by other means.

In newer IBM half-inch 18-track tape drives recording at 24000 bpi, 4/5 (0, 2) GCR was replaced by a more efficient 8/9 (0, 3) modulation code, mapping eight bits to nine bits.[1]

GCR for hard disks

In the mid 1970s, Sperry Univac, ISS Division was working on large hard drives for the mainframe business using group coding.[9]

GCR for floppy disks

Like magnetic tape drives, floppy disk drives have physical limits on the spacing of flux reversals (also called transitions, represented by one-bits).

Micropolis

Offering GCR-compatible diskette drives and floppy disk controllers (like the 100163-51-8 and 100163-52-6), Micropolis endorsed data encoding with group coded recording[10] on 5¼-inch 100 tpi 77-track diskette drives to store twelve 512-byte sectors per track since 1977 or 1978.[11][12][13][14]

Micro Peripherals

Micro Peripherals, Inc. (MPI) marketed double-density 5¼-inch disk drives (like the single-sided B51 and double-sided B52 drives) and a controller solution implementing GCR since early 1978.[15][16]

Durango

The Durango Systems F-85 (introduced in September 1978[17][18]) used single-sided 5¼-inch 100 tpi diskette drives providing 480 KB utilizing a proprietary high-density 4/5 group coded encoding. The machine was using a Western Digital FD1781 floppy disk controller, designed by a former Sperry ISS engineer,[14] with 77-track Micropolis drives.[19] In later models such as the Durango 800[20] series this was expanded to a double-sided option for 960 KB (946 KB formatted[20][nb 1]) per diskette.[18][21][19][11]

Apple

For the Apple II floppy drive, Steve Wozniak invented a floppy controller which (along with the Disk II drive itself) imposed two constraints:

  • Between any two one bits, there may be a maximum of one zero bit.
  • Each 8-bit byte must start with a one bit.

The simplest scheme to ensure compliance with these limits is to record an extra "clock" transition before each data bit according to differential Manchester encoding or (digital) FM (Frequency Modulation). Known as 4-and-4 encoding, the resulting Apple implementation allowed only ten 256-byte sectors per track to be recorded on a single-density 5¼-inch floppy.

ValueCode[22]
hexbinbinhex
0x000000.00001010.1010 1010.10100xAA 0xAA
0x010000.00011010.1010 1010.10110xAA 0xAB
0x020000.00101010.1011 1010.10100xAB 0xAA
0x030000.00111010.1011 1010.10110xAB 0xAB
0x040000.01001010.1010 1010.11100xAA 0xAE
0x050000.01011010.1010 1010.11110xAA 0xAF
0x060000.01101010.1011 1010.11100xAB 0xAE
0x070000.01111010.1011 1010.11110xAB 0xAF
0x080000.10001010.1110 1010.10100xAE 0xAA
0x090000.10011010.1110 1010.10110xAE 0xAB
0x0A0000.10101010.1111 1010.10100xAF 0xAA
0x0B0000.10111010.1111 1010.10110xAF 0xAB
0x0C0000.11001010.1110 1010.11100xAE 0xAE
0x0D0000.11011010.1110 1010.11110xAE 0xAF
0x0E0000.11101010.1111 1010.11100xAF 0xAE
0x0F0000.11111010.1111 1010.11110xAF 0xAF
0x100001.00001010.1010 1011.10100xAA 0xBA
0x110001.00011010.1010 1011.10110xAA 0xBB
0x120001.00101010.1011 1011.10100xAB 0xBA
0x130001.00111010.1011 1011.10110xAB 0xBB
0x140001.01001010.1010 1011.11100xAA 0xBE
0x150001.01011010.1010 1011.11110xAA 0xBF
0x160001.01101010.1011 1011.11100xAB 0xBE
0x170001.01111010.1011 1011.11110xAB 0xBF
0x180001.10001010.1110 1011.10100xAE 0xBA
0x190001.10011010.1110 1011.10110xAE 0xBB
0x1A0001.10101010.1111 1011.10100xAF 0xBA
0x1B0001.10111010.1111 1011.10110xAF 0xBB
0x1C0001.11001010.1110 1011.11100xAE 0xBE
0x1D0001.11011010.1110 1011.11110xAE 0xBF
0x1E0001.11101010.1111 1011.11100xAF 0xBE
0x1F0001.11111010.1111 1011.11110xAF 0xBF
0x200010.00001011.1010 1010.10100xBA 0xAA
0x210010.00011011.1010 1010.10110xBA 0xAB
0x220010.00101011.1011 1010.10100xBB 0xAA
0x230010.00111011.1011 1010.10110xBB 0xAB
0x240010.01001011.1010 1010.11100xBA 0xAE
0x250010.01011011.1010 1010.11110xBA 0xAF
0x260010.01101011.1011 1010.11100xBB 0xAE
0x270010.01111011.1011 1010.11110xBB 0xAF
0x280010.10001011.1110 1010.10100xBE 0xAA
0x290010.10011011.1110 1010.10110xBE 0xAB
0x2A0010.10101011.1111 1010.10100xBF 0xAA
0x2B0010.10111011.1111 1010.10110xBF 0xAB
0x2C0010.11001011.1110 1010.11100xBE 0xAE
0x2D0010.11011011.1110 1010.11110xBE 0xAF
0x2E0010.11101011.1111 1010.11100xBF 0xAE
0x2F0010.11111011.1111 1010.11110xBF 0xAF
0x300011.00001011.1010 1011.10100xBA 0xBA
0x310011.00011011.1010 1011.10110xBA 0xBB
0x320011.00101011.1011 1011.10100xBB 0xBA
0x330011.00111011.1011 1011.10110xBB 0xBB
0x340011.01001011.1010 1011.11100xBA 0xBE
0x350011.01011011.1010 1011.11110xBA 0xBF
0x360011.01101011.1011 1011.11100xBB 0xBE
0x370011.01111011.1011 1011.11110xBB 0xBF
0x380011.10001011.1110 1011.10100xBE 0xBA
0x390011.10011011.1110 1011.10110xBE 0xBB
0x3A0011.10101011.1111 1011.10100xBF 0xBA
0x3B0011.10111011.1111 1011.10110xBF 0xBB
0x3C0011.11001011.1110 1011.11100xBE 0xBE
0x3D0011.11011011.1110 1011.11110xBE 0xBF
0x3E0011.11101011.1111 1011.11100xBF 0xBE
0x3F0011.11111011.1111 1011.11110xBF 0xBF
ValueCode[22]
hexbinbinhex
0x400100.00001010.1010 1110.10100xAA 0xEA
0x410100.00011010.1010 1110.10110xAA 0xEB
0x420100.00101010.1011 1110.10100xAB 0xEA
0x430100.00111010.1011 1110.10110xAB 0xEB
0x440100.01001010.1010 1110.11100xAA 0xEE
0x450100.01011010.1010 1110.11110xAA 0xEF
0x460100.01101010.1011 1110.11100xAB 0xEE
0x470100.01111010.1011 1110.11110xAB 0xEF
0x480100.10001010.1110 1110.10100xAE 0xEA
0x490100.10011010.1110 1110.10110xAE 0xEB
0x4A0100.10101010.1111 1110.10100xAF 0xEA
0x4B0100.10111010.1111 1110.10110xAF 0xEB
0x4C0100.11001010.1110 1110.11100xAE 0xEE
0x4D0100.11011010.1110 1110.11110xAE 0xEF
0x4E0100.11101010.1111 1110.11100xAF 0xEE
0x4F0100.11111010.1111 1110.11110xAF 0xEF
0x500101.00001010.1010 1111.10100xAA 0xFA
0x510101.00011010.1010 1111.10110xAA 0xFB
0x520101.00101010.1011 1111.10100xAB 0xFA
0x530101.00111010.1011 1111.10110xAB 0xFB
0x540101.01001010.1010 1111.11100xAA 0xFE
0x550101.01011010.1010 1111.11110xAA 0xFF
0x560101.01101010.1011 1111.11100xAB 0xFE
0x570101.01111010.1011 1111.11110xAB 0xFF
0x580101.10001010.1110 1111.10100xAE 0xFA
0x590101.10011010.1110 1111.10110xAE 0xFB
0x5A0101.10101010.1111 1111.10100xAF 0xFA
0x5B0101.10111010.1111 1111.10110xAF 0xFB
0x5C0101.11001010.1110 1111.11100xAE 0xFE
0x5D0101.11011010.1110 1111.11110xAE 0xFF
0x5E0101.11101010.1111 1111.11100xAF 0xFE
0x5F0101.11111010.1111 1111.11110xAF 0xFF
0x600110.00001011.1010 1110.10100xBA 0xEA
0x610110.00011011.1010 1110.10110xBA 0xEB
0x620110.00101011.1011 1110.10100xBB 0xEA
0x630110.00111011.1011 1110.10110xBB 0xEB
0x640110.01001011.1010 1110.11100xBA 0xEE
0x650110.01011011.1010 1110.11110xBA 0xEF
0x660110.01101011.1011 1110.11100xBB 0xEE
0x670110.01111011.1011 1110.11110xBB 0xEF
0x680110.10001011.1110 1110.10100xBE 0xEA
0x690110.10011011.1110 1110.10110xBE 0xEB
0x6A0110.10101011.1111 1110.10100xBF 0xEA
0x6B0110.10111011.1111 1110.10110xBF 0xEB
0x6C0110.11001011.1110 1110.11100xBE 0xEE
0x6D0110.11011011.1110 1110.11110xBE 0xEF
0x6E0110.11101011.1111 1110.11100xBF 0xEE
0x6F0110.11111011.1111 1110.11110xBF 0xEF
0x700111.00001011.1010 1111.10100xBA 0xFA
0x710111.00011011.1010 1111.10110xBA 0xFB
0x720111.00101011.1011 1111.10100xBB 0xFA
0x730111.00111011.1011 1111.10110xBB 0xFB
0x740111.01001011.1010 1111.11100xBA 0xFE
0x750111.01011011.1010 1111.11110xBA 0xFF
0x760111.01101011.1011 1111.11100xBB 0xFE
0x770111.01111011.1011 1111.11110xBB 0xFF
0x780111.10001011.1110 1111.10100xBE 0xFA
0x790111.10011011.1110 1111.10110xBE 0xFB
0x7A0111.10101011.1111 1111.10100xBF 0xFA
0x7B0111.10111011.1111 1111.10110xBF 0xFB
0x7C0111.11001011.1110 1111.11100xBE 0xFE
0x7D0111.11011011.1110 1111.11110xBE 0xFF
0x7E0111.11101011.1111 1111.11100xBF 0xFE
0x7F0111.11111011.1111 1111.11110xBF 0xFF
ValueCode[22]
hexbinbinhex
0x801000.00001110.1010 1010.10100xEA 0xAA
0x811000.00011110.1010 1010.10110xEA 0xAB
0x821000.00101110.1011 1010.10100xEB 0xAA
0x831000.00111110.1011 1010.10110xEB 0xAB
0x841000.01001110.1010 1010.11100xEA 0xAE
0x851000.01011110.1010 1010.11110xEA 0xAF
0x861000.01101110.1011 1010.11100xEB 0xAE
0x871000.01111110.1011 1010.11110xEB 0xAF
0x881000.10001110.1110 1010.10100xEE 0xAA
0x891000.10011110.1110 1010.10110xEE 0xAB
0x8A1000.10101110.1111 1010.10100xEF 0xAA
0x8B1000.10111110.1111 1010.10110xEF 0xAB
0x8C1000.11001110.1110 1010.11100xEE 0xAE
0x8D1000.11011110.1110 1010.11110xEE 0xAF
0x8E1000.11101110.1111 1010.11100xEF 0xAE
0x8F1000.11111110.1111 1010.11110xEF 0xAF
0x901001.00001110.1010 1011.10100xEA 0xBA
0x911001.00011110.1010 1011.10110xEA 0xBB
0x921001.00101110.1011 1011.10100xEB 0xBA
0x931001.00111110.1011 1011.10110xEB 0xBB
0x941001.01001110.1010 1011.11100xEA 0xBE
0x951001.01011110.1010 1011.11110xEA 0xBF
0x961001.01101110.1011 1011.11100xEB 0xBE
0x971001.01111110.1011 1011.11110xEB 0xBF
0x981001.10001110.1110 1011.10100xEE 0xBA
0x991001.10011110.1110 1011.10110xEE 0xBB
0x9A1001.10101110.1111 1011.10100xEF 0xBA
0x9B1001.10111110.1111 1011.10110xEF 0xBB
0x9C1001.11001110.1110 1011.11100xEE 0xBE
0x9D1001.11011110.1110 1011.11110xEE 0xBF
0x9E1001.11101110.1111 1011.11100xEF 0xBE
0x9F1001.11111110.1111 1011.11110xEF 0xBF
0xA01010.00001111.1010 1010.10100xFA 0xAA
0xA11010.00011111.1010 1010.10110xFA 0xAB
0xA21010.00101111.1011 1010.10100xFB 0xAA
0xA31010.00111111.1011 1010.10110xFB 0xAB
0xA41010.01001111.1010 1010.11100xFA 0xAE
0xA51010.01011111.1010 1010.11110xFA 0xAF
0xA61010.01101111.1011 1010.11100xFB 0xAE
0xA71010.01111111.1011 1010.11110xFB 0xAF
0xA81010.10001111.1110 1010.10100xFE 0xAA
0xA91010.10011111.1110 1010.10110xFE 0xAB
0xAA1010.10101111.1111 1010.10100xFF 0xAA
0xAB1010.10111111.1111 1010.10110xFF 0xAB
0xAC1010.11001111.1110 1010.11100xFE 0xAE
0xAD1010.11011111.1110 1010.11110xFE 0xAF
0xAE1010.11101111.1111 1010.11100xFF 0xAE
0xAF1010.11111111.1111 1010.11110xFF 0xAF
0xB01011.00001111.1010 1011.10100xFA 0xBA
0xB11011.00011111.1010 1011.10110xFA 0xBB
0xB21011.00101111.1011 1011.10100xFB 0xBA
0xB31011.00111111.1011 1011.10110xFB 0xBB
0xB41011.01001111.1010 1011.11100xFA 0xBE
0xB51011.01011111.1010 1011.11110xFA 0xBF
0xB61011.01101111.1011 1011.11100xFB 0xBE
0xB71011.01111111.1011 1011.11110xFB 0xBF
0xB81011.10001111.1110 1011.10100xFE 0xBA
0xB91011.10011111.1110 1011.10110xFE 0xBB
0xBA1011.10101111.1111 1011.10100xFF 0xBA
0xBB1011.10111111.1111 1011.10110xFF 0xBB
0xBC1011.11001111.1110 1011.11100xFE 0xBE
0xBD1011.11011111.1110 1011.11110xFE 0xBF
0xBE1011.11101111.1111 1011.11100xFF 0xBE
0xBF1011.11111111.1111 1011.11110xFF 0xBF
ValueCode[22]
hexbinbinhex
0xC01100.00001110.1010 1110.10100xEA 0xEA
0xC11100.00011110.1010 1110.10110xEA 0xEB
0xC21100.00101110.1011 1110.10100xEB 0xEA
0xC31100.00111110.1011 1110.10110xEB 0xEB
0xC41100.01001110.1010 1110.11100xEA 0xEE
0xC51100.01011110.1010 1110.11110xEA 0xEF
0xC61100.01101110.1011 1110.11100xEB 0xEE
0xC71100.01111110.1011 1110.11110xEB 0xEF
0xC81100.10001110.1110 1110.10100xEE 0xEA
0xC91100.10011110.1110 1110.10110xEE 0xEB
0xCA1100.10101110.1111 1110.10100xEF 0xEA
0xCB1100.10111110.1111 1110.10110xEF 0xEB
0xCC1100.11001110.1110 1110.11100xEE 0xEE
0xCD1100.11011110.1110 1110.11110xEE 0xEF
0xCE1100.11101110.1111 1110.11100xEF 0xEE
0xCF1100.11111110.1111 1110.11110xEF 0xEF
0xD01101.00001110.1010 1111.10100xEA 0xFA
0xD11101.00011110.1010 1111.10110xEA 0xFB
0xD21101.00101110.1011 1111.10100xEB 0xFA
0xD31101.00111110.1011 1111.10110xEB 0xFB
0xD41101.01001110.1010 1111.11100xEA 0xFE
0xD51101.01011110.1010 1111.11110xEA 0xFF
0xD61101.01101110.1011 1111.11100xEB 0xFE
0xD71101.01111110.1011 1111.11110xEB 0xFF
0xD81101.10001110.1110 1111.10100xEE 0xFA
0xD91101.10011110.1110 1111.10110xEE 0xFB
0xDA1101.10101110.1111 1111.10100xEF 0xFA
0xDB1101.10111110.1111 1111.10110xEF 0xFB
0xDC1101.11001110.1110 1111.11100xEE 0xFE
0xDD1101.11011110.1110 1111.11110xEE 0xFF
0xDE1101.11101110.1111 1111.11100xEF 0xFE
0xDF1101.11111110.1111 1111.11110xEF 0xFF
0xE01110.00001111.1010 1110.10100xFA 0xEA
0xE11110.00011111.1010 1110.10110xFA 0xEB
0xE21110.00101111.1011 1110.10100xFB 0xEA
0xE31110.00111111.1011 1110.10110xFB 0xEB
0xE41110.01001111.1010 1110.11100xFA 0xEE
0xE51110.01011111.1010 1110.11110xFA 0xEF
0xE61110.01101111.1011 1110.11100xFB 0xEE
0xE71110.01111111.1011 1110.11110xFB 0xEF
0xE81110.10001111.1110 1110.10100xFE 0xEA
0xE91110.10011111.1110 1110.10110xFE 0xEB
0xEA1110.10101111.1111 1110.10100xFF 0xEA
0xEB1110.10111111.1111 1110.10110xFF 0xEB
0xEC1110.11001111.1110 1110.11100xFE 0xEE
0xED1110.11011111.1110 1110.11110xFE 0xEF
0xEE1110.11101111.1111 1110.11100xFF 0xEE
0xEF1110.11111111.1111 1110.11110xFF 0xEF
0xF01111.00001111.1010 1111.10100xFA 0xFA
0xF11111.00011111.1010 1111.10110xFA 0xFB
0xF21111.00101111.1011 1111.10100xFB 0xFA
0xF31111.00111111.1011 1111.10110xFB 0xFB
0xF41111.01001111.1010 1111.11100xFA 0xFE
0xF51111.01011111.1010 1111.11110xFA 0xFF
0xF61111.01101111.1011 1111.11100xFB 0xFE
0xF71111.01111111.1011 1111.11110xFB 0xFF
0xF81111.10001111.1110 1111.10100xFE 0xFA
0xF91111.10011111.1110 1111.10110xFE 0xFB
0xFA1111.10101111.1111 1111.10100xFF 0xFA
0xFB1111.10111111.1111 1111.10110xFF 0xFB
0xFC1111.11001111.1110 1111.11100xFE 0xFE
0xFD1111.11011111.1110 1111.11110xFE 0xFF
0xFE1111.11101111.1111 1111.11100xFF 0xFE
0xFF1111.11111111.1111 1111.11110xFF 0xFF

Close to a month prior to the shipment of the disk drive in spring 1978,[23] Wozniak realized that a more complex encoding scheme would allow each eight-bit byte on disk to hold five bits of useful data rather than four bits. This is because there are 34 bytes which have the top bit set and no two zero bits in a row. This encoding scheme became known as 5-and-3 encoding, and allowed 13 sectors per track; it was used for Apple DOS 3.1, 3.2, and 3.2.1, as well as for the earliest version of Apple CP/M:[24]

5-bit valueGCR code[24][25]
hexbinbinhex
0x000.00001010.10110xAB
0x010.00011010.11010xAD
0x020.00101010.11100xAE
0x030.00111010.11110xAF
0x040.01001011.01010xB5
0x050.01011011.01100xB6
0x060.01101011.01110xB7
0x070.01111011.10100xBA
0x080.10001011.10110xBB
0x090.10011011.11010xBD
0x0A0.10101011.11100xBE
0x0B0.10111011.11110xBF
0x0C0.11001101.01100xD6
0x0D0.11011101.01110xD7
0x0E0.11101101.10100xDA
0x0F0.11111101.10110xDB
5-bit valueGCR code[24][25]
hexbinbinhex
0x101.00001101.11010xDD
0x111.00011101.11100xDE
0x121.00101101.11110xDF
0x131.00111110.10100xEA
0x141.01001110.10110xEB
0x151.01011110.11010xED
0x161.01101110.11100xEE
0x171.01111110.11110xEF
0x181.10001111.01010xF5
0x191.10011111.01100xF6
0x1A1.10101111.01110xF7
0x1B1.10111111.10100xFA
0x1C1.11001111.10110xFB
0x1D1.11011111.11010xFD
0x1E1.11101111.11100xFE
0x1F1.11111111.11110xFF

Reserved GCR-codes: 0xAA and 0xD5.[24]

Wozniak called the system "my most incredible experience at Apple and the finest job I did".[23]

Later, the design of the floppy drive controller was modified to allow a byte on disk to contain up to one pair of zero bits in a row. This allowed each eight-bit byte to hold six bits of useful data, and allowed 16 sectors per track. This scheme is known as 6-and-2 encoding,[24] and was used on Apple Pascal, Apple DOS 3.3[24] and ProDOS,[26] and later with Apple FileWare drives in the Apple Lisa and the 400K and 800K 3½-inch disks on the Macintosh and Apple II.[27][28] Apple did not originally call this scheme "GCR", but the term was later applied to it[28] to distinguish it from IBM PC floppies which used the MFM encoding scheme.

6-bit valueGCR code[27][24][26][25][22]
hexbinbinhex
0x0000.00001001.01100x96
0x0100.00011001.01110x97
0x0200.00101001.10100x9A
0x0300.00111001.10110x9B
0x0400.01001001.11010x9D
0x0500.01011001.11100x9E
0x0600.01101001.11110x9F
0x0700.01111010.01100xA6
0x0800.10001010.01110xA7
0x0900.10011010.10110xAB
0x0A00.10101010.11000xAC
0x0B00.10111010.11010xAD
0x0C00.11001010.11100xAE
0x0D00.11011010.11110xAF
0x0E00.11101011.00100xB2
0x0F00.11111011.00110xB3
6-bit valueGCR code[27][24][26][25][22]
hexbinbinhex
0x1001.00001011.01000xB4
0x1101.00011011.01010xB5
0x1201.00101011.01100xB6
0x1301.00111011.01110xB7
0x1401.01001011.10010xB9
0x1501.01011011.10100xBA
0x1601.01101011.10110xBB
0x1701.01111011.11000xBC
0x1801.10001011.11010xBD
0x1901.10011011.11100xBE
0x1A01.10101011.11110xBF
0x1B01.10111100.10110xCB
0x1C01.11001100.11010xCD
0x1D01.11011100.11100xCE
0x1E01.11101100.11110xCF
0x1F01.11111101.00110xD3
6-bit valueGCR code[27][24][26][25][22]
hexbinbinhex
0x2010.00001101.01100xD6
0x2110.00011101.01110xD7
0x2210.00101101.10010xD9
0x2310.00111101.10100xDA
0x2410.01001101.10110xDB
0x2510.01011101.11000xDC
0x2610.01101101.11010xDD
0x2710.01111101.11100xDE
0x2810.10001101.11110xDF
0x2910.10011110.01010xE5
0x2A10.10101110.01100xE6
0x2B10.10111110.01110xE7
0x2C10.11001110.10010xE9
0x2D10.11011110.10100xEA
0x2E10.11101110.10110xEB
0x2F10.11111110.11000xEC
6-bit valueGCR code[27][24][26][25][22]
hexbinbinhex
0x3011.00001110.11010xED
0x3111.00011110.11100xEE
0x3211.00101110.11110xEF
0x3311.00111111.00100xF2
0x3411.01001111.00110xF3
0x3511.01011111.01000xF4
0x3611.01101111.01010xF5
0x3711.01111111.01100xF6
0x3811.10001111.01110xF7
0x3911.10011111.10010xF9
0x3A11.10101111.10100xFA
0x3B11.10111111.10110xFB
0x3C11.11001111.11000xFC
0x3D11.11011111.11010xFD
0x3E11.11101111.11100xFE
0x3F11.11111111.11110xFF

Reserved GCR-codes: 0xAA and 0xD5.[24][26]

Commodore

Independently, Commodore Business Machines (CBM) created a group coded recording scheme for their Commodore 2040 floppy disk drive (launched in the spring of 1979). The relevant constraints on the 2040 drive were that no more than two zero bits could occur in a row, and no more than eight one bits in a row; the drive imposed no special constraint on the first bit in a byte. This allowed the use of a scheme similar to that used in 6250 bpi tape drives. Every four bits of data are translated into five bits on disk, according to the following table:

4-bit valueGCR code[29]
hexbinbinhex
0x000000.10100x0A
0x100010.10110x0B
0x200101.00100x12
0x300111.00110x13
0x401000.11100x0E
0x501010.11110x0F
0x601101.01100x16
0x701111.01110x17
4-bit valueGCR code[29]
hexbinbinhex
0x810000.10010x09
0x910011.10010x19
0xA10101.10100x1A
0xB10111.10110x1B
0xC11000.11010x0D
0xD11011.11010x1D
0xE11101.11100x1E
0xF11111.01010x15

Inhere, no code starts with two zero bits, nor ends with two zero bits. This ensures that regardless of the input data, the encoded data will never contain more than two zero bits in a row. With this encoding not more than eight one bits in a row are possible. Therefore, Commodore used sequences of ten or more one bits in a row as synchronization mark.

This more efficient GCR scheme, combined with an approach at constant bit-density recording by gradually increasing the clock rate (zone constant angular velocity, ZCAV) and storing more physical sectors on the outer tracks than on the inner ones (zone bit recording, ZBR), enabled Commodore to fit 170 kB on a standard single-sided single-density 5.25-inch floppy, where Apple fit 140 kB (with 6-and-2 encoding) or 114 kB (with 5-and-3 encoding) and an FM-encoded floppy held only 88 kB.

Sirius/Victor

Similar, the 5.25-inch floppy drives of the Victor 9000 aka Sirius 1, designed by Chuck Peddle in 1981/1982, used a combination of ten-bit GCR and constant bit-density recording by gradually decreasing a drive's rotational speed for the outer tracks in nine zones to achieve formatted capacities of 606 kB (single sided) / 1188 kB (double-sided) on 96 tpi media.[30][31][32][33]

Brother

Starting around 1985, Brother introduced a family of dedicated word processor typewriters with integrated 3.5-inch 38-track[nb 2] diskette drive. Early models of the WP and LW series used a Brother-specific group-coded recording scheme with twelve 256-byte sectors to store up to 120 KB[nb 3] on single-sided and up to 240 KB[nb 3] on double-sided double-density (DD) diskettes.[14][34][35][36] Reportedly, prototypes were already shown at the Internationale Funkausstellung 1979 (IFA) in Berlin.

Sharp

In 1986, Sharp introduced a turnable 2.5-inch pocket disk drive solution (drives: CE-1600F, CE-140F; internally based on the FDU-250 chassis; media: CE-1650F) for their series of pocket computers with a formatted capacity of 62464 bytes per side (2× 64 kB nominal, 16 tracks, 8 sectors/track, 512 bytes per sector, 48 tpi, 250 kbit/s, 270 rpm) with GCR (4/5) recording.[37][38]

Other uses

GCR was also evaluated for a possible use in bar code encoding schemes (packing efficiency, timing tolerances, amount of storage bytes for timing information, and DC output level).[39]

See also

Notes

  1. The product flyer for the Durango 800 series documents a formatted "on-line capacity" of 1.892 MB for the diskette drives. The system, however, was equipped with two 5¼-inch Micropolis 100 tpi 77-track floppy drives by default, and 1.892 MB is about twice as large as the physical drive capacity documented in various other sources (480 KB per side), therefore, by "on-line capacity" they must have meant the available storage capacity available to users for the combination of two drives.
  2. The sources give slightly contradicting parameters regarding the Brother diskette formats. 12 sectors á 256 bytes would give 120 KB per side on a 40-track drive, but one source claims the drives were 38-track only.
  3. 1 2 The following Brother models are known to support a 120 KB diskette format (incomplete list): WP-1 (1985/1987), WP-5 (1987/1989), WP-6 (1989), WP-55 (1987/1989), WP-500 (1987/1989). The following models are known to support a 240 KB format (incomplete list): WP-70, WP-75 (1989), WP-80 (1985/1989), WP-3400, WP-3410, WP-3550, WP-3650D, WP-760D, WP-760D+, LW-1 (1989), LW-20, LW-30, LW-100, LW-400.

References

  1. 1 2 3 4 5 6 7 8 Patel, Arvind Motibhai (1988). "5. Signal and Error-Control Coding". In Mee, C. Denis; Daniel, Eric D. Magnetic Recording. II: Computer Data Storage (1st ed.). McGraw-Hill Book Company. ISBN 0-07-041272-3.
  2. 1 2 3 CW staff (1973-03-14). "6,250 Byte/In. Density - IBM 3420 Storage More Than Tripled". Computerworld. White Plains, New York, USA. VII (11): 1–2. Archived from the original on 2017-03-23. Retrieved 2017-03-23. IBM added three new models to the 3420 magnetic tape system than can record data at the "densest recording capability yet offered", according to the company. Using a new method called Group Coded Recording (GCR), the IBM drives can handle tapes containing a data density of 6,250 byte/in. compared with 1,600 byte/in. on earlier models of the 3420. […] An upgraded control unit was also announced - the 3803 Model 2 - which operates with both the earlier and latest 3420 tape units. The Model 2 includes the capability of correcting errors in one or two tracks "simultaneously while the tape is in motion", IBM said. […] The GCR method segments data written on tape into groups of characters to which a special coding character is added. And the higher density is based on a combination of a modified coding scheme, a smaller interrecord gap (called an interblock gap) and modified electronics and electromechanical components, IBM said. Installed 3803/3420 tape systems can be converted to the higher densities in the field. […]
  3. "The Gallery of Old Iron". 2004. Archived from the original on 2008-12-25. […] I moved to the lab at Poughkeepsie in 1958 […] I later was Lead designer and architect for the 2802 Tape Control Unit and a few years after that, Lead Designer and Architect of the 3803 which was a very large modification based on the 2802. Three of us shared a Corporate Award for the 3803 and I, along with Planner Charlie Von Reyn, came up with the name "Group Coded Recording (GCR)" as the name of the recording method. […] (NB. An anonymous comment by one of the developers on the origin of the name "Group Coded Recording".)
  4. Harris, John P.; Phillips, William B.; Wells, Jack F.; Winger, Wayne D. (September 1981). "Innovations in the Design of Magnetic Tape Subsystems". IBM Journal of Research and Development. International Business Machines Corporation. 25 (5): 691–700. Archived from the original on 2017-05-07. Retrieved 2017-03-23.
  5. 1 2 3 Keong, Kwoh Chee, Computer Peripherals (PDF), School of Computer Engineering, Nanyang Technological University, Singapore, Chapter 7. Magnetic Recording Fundamentals, archived (PDF) from the original on 2017-03-23, retrieved 2017-03-23
  6. 1 2 3 Watkinson, John (1990). "3.4. Group codes". Coding for Digital Recording. Stoneham, MA, USA: Focal Press. pp. 51–61. ISBN 0-240-51293-6. ISBN 978-0-240-51293-8.
  7. Savard, John J. G. (2018) [2006]. "Digital Magnetic Tape Recording". quadibloc. Archived from the original on 2018-07-02. Retrieved 2018-07-16.
  8. Patel, Arvind Motibhai; Hong, Se June (1974). "Optimal Rectangular Code for High Density Magnetic Tapes". IBM Journal of Research and Development. 18 (6): 579–588.
  9. Jacoby, George V. (2003-01-06) [September 1977]. "A new look-ahead code for increased data density". IEEE Transactions on Magnetics. Sperry Univac, ISS Division, Cupertino, CA, USA: IEEE. 13 (5): 1202–1204. doi:10.1109/TMAG.1977.1059670. (NB. This article about the 3PM code was also presented at the Intermag 1977 in June 1977.)
  10. US 4261019, McClelland, S. Barry, "Compatible Digital Magnetic Recording System", published 1981-04-07, assigned to Micropolis Corporation (NB. Application Number: US 06/098381)
  11. 1 2 "NCC Preview: OEMs at NCC - Micropolis Corp". Computerworld. CW Communications, Inc. XII (22): P/50. 1978-05-28. Retrieved 2017-06-12. […] Micropolis has extended the capacity of 5.25-in. floppy disk subsystems via double-sided models with formatted file storage of up to nearly 2 million bytes […] The Megafloppy series also features an intelligent controller that facilitates interconnection of four subsystems to a common host interface for a total on-line storage capacity of more than 15M bytes […] Double-sided versions of the product line will be implemented first in two OEM series - Model 1015 and Model 1055 […] The Model 1015 is an unpackaged drive designed for the manufacturer who integrates floppy disk storage into his own system enclosure. A range of storage capacities from 143,000 to 630,000 bytes per drive is available […] Model 1015 customers have the option of using the Micropolis intelligent controller and Group Code Recording (GCR) method to further expand file space up to 946,000 bytes […] Offering GCR and a microprocessor-based controller as standard features, the Model 1055 5.25-in. floppy has four soft-sectored formats for each of its 77 tracks, yielding a maximum capacity of 1,892,000 bytes of file space on its double-sided version […] An add-on module available for the 1055 is comprised of two read/write heads and two drives, sharing a common controller. The subsystem capacity (formatted) with the module is 3,784,000 bytes […] Up to four 1055s, each with an add-on module, can be daisy-chained to a common host for a maximum on-line storage capacity of more than 15M bytes […]
  12. Micropolis Maintenance Manual Floppy Disk Subsystem (PDF) (revision 1, 1st ed.). Micropolis Corporation. February 1979. 1082-04. Archived (PDF) from the original on 2017-06-12. Retrieved 2017-06-12. (NB. Micropolis 100163-51-8 and 100163-52-6 are GCR-based.)
  13. "InfoNews/Hardware: Hardware/Briefs". InfoWorld. 2 (2): 19. 1980-03-03. Retrieved 2017-06-12. […] Four new 96 tracks-per-inch products have been added to Micropolis' current line of 100 tpi single-sided and double-sided floppy disks. The 96 tpi drives offer 70 tracks-per-side, as opposed to the 77 offered by the MegaFloppy line. The four models are: 1) The 1015-V: 436 KB, unformatted, FM/MFM recording […] 2) The 1016-V: 532 KB unformatted, Group Coded Recording (GCR) […] 3) The 1015-VI: a two-head version of the MFM drive, 872 KB […] 4) The 1016-VI: also a two-head drive, 1.064 MB GCR encoding […]
  14. 1 2 3 Guzis, Charles "Chuck" P. (2015-09-20). "Multi-platform distribution format". Sydex. Archived from the original on 2017-06-14. Retrieved 2017-06-14. […] At the same time Micropolis was working a 5.25" drive that could hold about as much as an 8", using some tricks. The Micropolis drive was 100 tpi, 77 track and, by using GCR, could hold 12 512-byte sectors per track. That's 462 KiB. This was about 1977-78. […] The […] drive and controller implementation (ours was done by a guy we'd recruited from Sperry ISS) was […] complex and expensive […] Brother WP disks […] are 38 track, single-sided, Brother-encoded GCR that hold […] 120K on 2D floppies. […]
  15. Allen, David (February 1978). "A Minifloppy Interface" (PDF). BYTE. Kansas City, USA. 3 (2): 114, 116–118, 120, 122, 134–125. Archived from the original (PDF) on 2017-06-14. Retrieved 2017-06-14. […] Of the alternative codes used to achieve double density, GCR (Group Coded Recording) looks quite attractive. Micro Peripherals Inc has implemented double density using GCR in a full size floppy disk and controller system currently being marketed. […] GCR is nothing more than the old standby NRZ with its attendant advantages, but, since ordinary NRZ has no clocking information and a potentially high DC content during long strings of ones or zeros, the data is reformatted to eliminate the long strings. The reformatting converts each four bit group of original data into five bits of group coded data; the five bits in the encoded version will always have a mix of ones and zeros, even if the real data is all in one state. Reformatting in GCR can be accomplished in software, as opposed to MFM, etc, which almost unavoidably must be encoded and decoded in hardware. Thus, GCR has good possibilities as a low cost, high reliability scheme for achieving double density. […]
  16. "Floppies Claim Improved Performance". Computerworld. CW Communications, Inc. XIII (7): 90. 1979-02-12. Retrieved 2017-06-14.
  17. Schultz, Brad (1978-10-02). "Business Mini Weighs 65 Pound - What is Durango?". Computerworld. CW Communications, Inc. XII (40): 1, 4. Retrieved 2017-06-13.
  18. 1 2 Comstock, George E. (2003-08-13). "Oral History of George Comstock" (PDF). Interviewed by Hendrie, Gardner. Mountain View, California, USA: Computer History Museum. CHM X2727.2004. Archived (PDF) from the original on 2017-03-23. Retrieved 2017-03-23.
  19. 1 2 Guzis, Charles "Chuck" P. (2009-09-13). "Durango GCR". Sydex. Archived from the original on 2017-11-04. Retrieved 2017-03-25.
  20. 1 2 "800 Technical Summary - 800 Series Business Computer System" (PDF). San Jose, CA, USA: Durango Systems, Inc. Archived (PDF) from the original on 2017-03-23. Retrieved 2017-03-23.
  21. Guzis, Charles "Chuck" P. (October 2006). "The Durango F-85 Computer". Sydex. Archived from the original on 2017-03-23. Retrieved 2017-03-23.
  22. 1 2 3 4 5 6 7 8 Copy II Plus Version 9 - ProDOS/DOS Utilities - Data Recovery, File Management, Protected Software Backup (PDF). 9.0. Central Point Software, Inc. 1989-10-31 [1982]. Retrieved 2017-03-21.
  23. 1 2 Williams, Gregg; Moore, Rob (January 1985). "The Apple Story / Part 2: More History and the Apple III". BYTE (interview): 166. Archived from the original on 2012-02-12. Retrieved 2013-10-26. (NB. Interview with Steve Wozniak, where he describes creating the Apple version of GCR.)
  24. 1 2 3 4 5 6 7 8 9 10 11 Worth, Don D.; Lechner, Pieter M. (May 1982) [1981]. Beneath Apple DOS (4th printing ed.). Reseda, CA, USA: Quality Software. Retrieved 2017-03-21.
  25. 1 2 3 4 5 6 Sather, James Fielding (1983). Understanding the Apple II - A Learning Guide and Hardware Manual for the Apple II Computer (1st ed.). Chatsworth, CA, USA: Quality Software. pp. 9–26, 9–27. ISBN 0-912985-01-1. Archived from the original on 2016-05-27. Retrieved 2017-03-21.
  26. 1 2 3 4 5 6 Worth, Don D.; Lechner, Pieter M. (March 1985) [1984]. Beneath Apple ProDOS - For Users of Apple II Plus, Apple IIe and Apple IIc Computers (PDF) (2nd printing ed.). Chatsworth, CA, USA: Quality Software. ISBN 0-912985-05-4. LCCN 84-61383. Archived (PDF) from the original on 2017-03-21. Retrieved 2017-03-21.
  27. 1 2 3 4 5 Feichtinger, Herwig (1987). Arbeitsbuch Mikrocomputer (in German) (2 ed.). Munich, Germany: Franzis-Verlag GmbH. pp. 223–224. ISBN 3-7723-8022-0.
  28. 1 2 Apple Computer, Inc. (February 1982) [1978]. Integrated Woz Machine (IWM) Specification (PDF) (19 ed.). DigiBam Computer Museum. Archived (PDF) from the original on 2016-08-06. Retrieved 2016-08-06.
  29. 1 2 Hildon, Karl J. H. (March 1985). "GCR codes". The Complete Commodore Inner Space Anthology (PDF). Milton, Ontario, Canada: Transactor Publishing Incorporated. p. 49. ISBN 0-9692086-0-X. Archived (PDF) from the original on 2017-03-23. Retrieved 2017-03-23. (NB. Commodore GCR codes—but this reference erroneously claims that a 1-bit indicates a lack of a transition.)
  30. "Victor 9000/Sirius 1 Specification" (PDF). commodore.ca. Archived (PDF) from the original on 2017-03-23. Retrieved 2017-03-23.
  31. "Supplemental Technical Reference Material". Revision 0 (1st printing ed.). Scotts Valley, CA, USA: Victor Publications. 1983-03-23. Application Note: 002. […] Single-sided floppy drive offers 80 tracks at 96 TPI […] Double-sided floppy drive offers 160 tracks at 96 TPI […] Floppy drives have 512 byte sectors; utilising a GCR, 10-bit recording technique. […] Although the Victor 9000 uses 5 1/4-inch minifloppies of a similar type to those used in other computers, the floppy disks themselves are not readable on other machines, nor can the Victor 9000 read a disk from another manufacturers machine. The Victor 9000 uses a unique recording method to allow the data to be packed as densely as 600 kbytes on a single-sided single-density minifloppy; this recording method involves the regulation of the speed at which the floppy rotates, explaining the fact that the noise from the drive sometimes changes frequency.
  32. "Chapter 7. Disk Drive Assembly". Victor 9000 Technical Reference Manual (PDF). Victor Business Products, Inc. June 1982. pp. 7-1..7-9. 710620. Archived (PDF) from the original on 2017-03-23. Retrieved 2017-03-23. […] Track density is 96 tracks per inch, and recording density is maintained at approximately 8000 bits per inch on all tracks. […] The VICTOR 9000 uses an encoding technique called group code recording (GCR) to convert the data from internal representation to an acceptable form. GCR converts each (4-bit) nibble into a 5-bit code that guarantees a recording pattern that never has more than two zeros together. Then data is recorded on the disk by causing a flux reversal for each "one" bit and no flux reversal for each "zero" bit. […]
  33. Sargent III., Murray; Shoemaker, Richard L.; Stelzer, Ernst H. K. (1988). Assemblersprache und Hardware des IBM PC/XT/AT (in German) (1 ed.). Addison-Wesley Verlag (Deutschland) GmbH / Addison-Wesley Publishing Company. ISBN 3-89319-110-0. VVA-Nr. 563-00110-4.
  34. Gieseke, Hans-Werner (2003-08-27). "Brother WP-1" (in German). Archived from the original on 2017-06-14. Retrieved 2017-06-14. (NB. Reportedly, the Brother WP-1 technical data was derived from page 109 of the user manual.)
  35. French, Mick (2002-09-13). "Brother WP-6". Archived from the original on 2017-06-14. Retrieved 2017-06-14. […] The 3.5" 240Kb disk drive is a single head Brother part no.13194989 and is connected with a 15 pin ribbon. […] it initializes (formats) the disk to a capacity of 236.5Kb. […]
  36. Cotgrove, Michael S. (2009-02-26). "archaic floppy disc format". Retrieved 2017-06-14. […] There were several 3.5" Brother disks that are completely nonstandard. […] One had 1296 byte sectors and another had 12 x 256 byte GCR sectors […]
  37. "Model CE-1600F". Sharp PC-1600 Service Manual (PDF). Yamatokoriyama, Japan: Sharp Corporation, Information Systems Group, Quality & Reliability Control Center. July 1986. pp. 98–104. Archived (PDF) from the original on 2017-05-07. Retrieved 2017-03-23. GCR is an abbreviation of Group Coded Recording. A single byte, 8 bits, data are divided into two 4-bit data which is also converted onto a 5-bit data. Thus, a single byte (8 bits) is recorded on the media as a 10-bit data.
  38. Sharp Service Manual Model CE-140F Pocket Disk Drive (PDF). Sharp Corporation. 00ZCE140F/SME. Archived (PDF) from the original on 2017-03-11. Retrieved 2017-03-11.
  39. Moseley, Robin C. (April 1979). "Technical Forum: A Comparison of Bar Code Encoding Schemes" (PDF). BYTE. Andover, MA, USA. 4 (4): 50, 52. Retrieved 2017-06-14.

Further reading

  • ANSI INCITS 40-1993 (R2003) Unrecorded Magnetic Tape for Information Interchange (9 track, 800 bpi, NRZI; 1600 bpi, PE; and 6250 bpi, GCR)
  • ANSI INCITS 54-1986 (R2002) Recorded Magnetic Tape for Information Interchange (6250 bpi, GCR)
  • Sallet, Herbert W. (July 1977). "Magnetic tape: A high performer: Magnetic tape has evolved into a highly effective medium for high-density and low-cost-per-bit data recording". IEEE Spectrum. 14 (7): 26–31. doi:10.1109/MSPEC.1977.6501525. Retrieved 2017-06-14.
  • Sidhu, Pawitter S. (December 1976). "Group-Coded Recording Reliably Doubles Diskette Capacity". Computer Design: 84–88.
  • "(unknown)". Perkin-Elmer Data Systems News. Perkin-Elmer Data Systems. 1977-06-14.
  • Hsiao, (Ben) M. Y.; Carter, William C.; Thomas, James W.; Stringfellow, William R. (September 1981). "Reliability, Availability, and Serviceability of IBM Computer Systems". IBM Journal of Research and Development. 25 (5): 462. doi:10.1147/rd.255.0453. (NB. Mentions the 5/4 RLL code used on 6250 bpi tape drives.)
  • Qualstar 34XX Technical Service Manual (PDF) (Revision J ed.), Canoga Park, CA, USA: Qualstar Corporation, pp. 3–4..3-7, 500450, archived from the original (PDF) on 2011-09-30, retrieved 2017-03-23 (NB. Additional detail on the GCR tape format.)
  • US 3685033, Agrawala, Ashok K. & Keshava Srivastava, "Block encoding for magnetic recording systems", published 1972-08-15, assigned to Honeywell Inc.  (NB. Application No: US 66199. See also: CA993998A, CA993998A1, DE2142428A1)
  • US 4210959, Wozniak, Stephen G., "Controller for magnetic disc, recorder, or the like", published 1980-07-01, assigned to Apple Computer, Inc.  (NB. Application Number: US 5/904420)
  • US 4564941, Woolley, Richard N.; Neal Glover & Richard Williams, "Error detection system", published 1986-01-14, assigned to Apple Computer, Inc.  (NB. Application Number: US 06/559210. See also: CA1208794A, CA1208794A1, DE3443272A1, DE3443272C2)
  • Dockery, Sean Brendan. "Apple II disk encoding".
  • NEC µPD72070 - Floppy Disk Controller Specification Version 2.0 (PDF). 2.0 preliminary. NEC Corporation. October 1991. Archived (PDF) from the original on 2017-03-20. Retrieved 2017-03-20.
  • Akesson, Linus (2013-03-31). "GCR decoding on the fly". Archived from the original on 2017-03-21. Retrieved 2017-03-21.
  • Trikaliotis, Spiro (2010-03-05). "Commodore GCR "mysteries"". Archived from the original on 2014-08-05.
  • "GCR ROM en-/decoder in Commodore 8050 and 8250 disk drives". Forum 64. Archived from the original on 2010-03-12.
  • Irwin, John W.; Cassie, John V.; Oppeboen, Harlyn C. (September 1971) [1970-12-11]. "The IBM 3803/3420 Magnetic Tape Subsystem". IBM Journal of Research and Development. IBM: 391–400. Archived from the original on 2018-07-09. Retrieved 2018-07-09.
  • Docket (June 2014). "Milestone-Proposal:Introduction of the Apple Macintosh Computer, 1984". Archived from the original on 2018-07-09. Retrieved 2018-07-09.
  • "Crazy Disk Encoding Schemes". Big Mess O' Wires (BMOW) - Plus Too. 2011-10-02. Archived from the original on 2018-07-09. Retrieved 2018-07-09.
  • Dickreiter, Michael; Dittel, Volker; Hoeg, Wolfgang; Wöhr, Martin (2014). Handbuch der Tonstudiotechnik (in German). Walter de Gruyter GmbH & Co KG. ISBN 978-3-11031650-6. ISBN 3-11031650-1. Retrieved 2018-07-09.
  • Bergmans, Jan W. M. (2013-03-09) [1996]. "Chapter 4.8.3 Group-Coded Recording (GCR) Code". Digital Baseband Transmission and Recording (reprint ed.). Philips Research, Eindhoven, Netherlands: Kluwer Academic Publishers / Springer Science & Business Media. doi:10.1007/978-1-4757-2471-4. ISBN 978-1-4419-5164-9. Retrieved 2018-07-09.
  • Camras, Marvin (2012) [1988]. Magnetic Recording Handbook (reprint ed.). Van Nostrand Reinhold Company / Springer Science & Business. doi:10.1007/978-94-010-9468-9. ISBN 978-9-40109468-9. LCCN 86-24762. ISBN 9-40109468-3. Retrieved 2018-07-09.
  • "In Single-Drive Setup - Tape System Has Three Densities". Computerworld. Louisville, Colorado, USA: CW Communications/Inc. XIII (19): 59. 1979-05-07. Retrieved 2018-07-09.
  • "Les Disquettes Et Le Drive Disk II" (in French). Archived from the original on 2018-07-09. Retrieved 2018-07-09. , "Les Nibbles" (in French). Archived from the original on 2017-03-22. Retrieved 2018-07-09. , "La Methode PRODOS: Rapide Et Efficace" (in French). Archived from the original on 2018-07-09. Retrieved 2018-07-09.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.