Group coded recording

En informática, grabación codificada de grupo o grabación de código de grupo (GCR, Group coded recording) se refiere a varios métodos de codificación distintos pero relacionados para representar datos en medios magnéticos. El primero, utilizado en cinta magnética de 6250 bits por pulgada desde 1973, es un código de corrección de errores combinado con un esquema de codificación ejecución de longitud limitada (RLL), perteneciente al grupo de códigos de modulación.[1]​ Los otros son diferentes métodos de codificación de discos duros de mainframes así como disqueteras utilizados en algunas microcomputadoras hasta finales de la década de 1980. GCR es una forma modificada de un código NRZI, pero necesariamente con una densidad de transición más alta.[1]

Cinta magnética

editar

La grabación codificada en grupo se utilizó por primera vez para cinta magnética de almacenamiento de datos en cinta de carrete a carrete de 9 pistas.[1]​ El término fue acuñado durante el desarrollo de la unidad de cinta magnética IBM 3420 modelo 4/6/8[2]​ y la correspondiente unidad de control de cinta 3803 modelo 2,[3][2]​ both introduced in 1973.[2][4]IBM se refirió al código de corrección de errores en sí mismo como «grabación codificada en grupo». Sin embargo, GCR ha llegado a referirse al formato de grabación de la cinta de 6250 bpi (250 bits/mm[1]​) en su totalidad y, posteriormente, a formatos que utilizan códigos RLL similares sin el código de corrección de errores.

Para leer y escribir de manera confiable en cinta magnética, se deben seguir varias restricciones en la señal que se va a escribir. La primera es que dos inversiones de flujo adyacentes deben estar separados por una cierta distancia en el medio, definida por las propiedades magnéticas del medio en sí. La segunda es que debe haber una inversión con la frecuencia suficiente para mantener el reloj del lector en fase con la señal escrita; es decir, la señal debe ser de reloj automático y, lo que es más importante, mantener la salida de reproducción lo suficientemente alta, ya que es proporcional a la densidad del flujo de transiciones. Antes de las cintas 6250 bpi, las cintas de 1600 bpi cumplían con estas restricciones utilizando una técnica llamada codificación de fase (PE), que solo tenía una eficiencia del 50%. Para las cintas GCR de 6250 bpi, se usa un código RLL (0, 2), o más específicamente un código de bloque 4/5 (0, 2)[1]​ que a veces también se denomina codificación GCR (4B-5B).[5]​ Este código requiere que se escriban cinco bits por cada cuatro bits de datos.[1]​ El código está estructurado de modo que no más de dos bits 0 (que están representados por la falta de una inversión de flujo) puedan aparecer en una fila,[1]​ ya sea dentro de un código o entre códigos, sin importar los datos. Este código RLL se aplica de forma independiente a los datos que van a cada una de las nueve pistas.

De los 32 patrones de cinco bits, ocho comienzan con dos bits cero consecutivos, otros seis terminan con dos bits cero consecutivos y uno más (10001) contiene tres bits cero consecutivos. Eliminando el patrón de todos unos (11111) del resto deja 16 palabras de código adecuadas.

El código GCR RLL de 6250 bpi:[6][7][8][5]

Valor 4-bit Código GCR[6][7]
hex bin bin hex
0x0 0000 1.1001 0x19
0x1 0001 1.1011 0x1B
0x2 0010 1.0010 0x12
0x3 0011 1.0011 0x13
0x4 0100 1.1101 0x1D
0x5 0101 1.0101 0x15
0x6 0110 1.0110 0x16
0x7 0111 1.0111 0x17
Valor 4-bit Código GCR[6][7]
hex bin bin hex
0x8 1000 1.1010 0x1A
0x9 1001 0.1001 0x09
0xA 1010 0.1010 0x0A
0xB 1011 0.1011 0x0B
0xC 1100 1.1110 0x1E
0xD 1101 0.1101 0x0D
0xE 1110 0.1110 0x0E
0xF 1111 0.1111 0x0F

Once de los nibbles (distintos de xx00 y 0001) tienen su código formado anteponiendo el complemento del bit más significativo; es decir, abcd está codificado como a abcd. A los otros cinco valores se les asignan códigos que comienzan con 11. Nibbles de la forma ab00 tienen códigos 11ba a, es decir, el bit inverso del código para ab11. Al código 0001 se le asigna el valor restante 11011.

Debido a la densidad extremadamente alta en ese entonces de la cinta de 6250 bpi, el código RLL no es suficiente para garantizar un almacenamiento de datos confiable. En la parte superior del código RLL, se aplica un código de corrección de errores llamado código rectangular óptimo (ORC).[9]​ Este código es una combinación de una pista de paridad y código polinomial similar a un CRC, pero estructurado para la corrección de errores en lugar de la detección de errores. Por cada siete bytes escritos en la cinta (antes de la codificación RLL), se calcula y se escribe un octavo byte de verificación. Al leer, la paridad se calcula en cada byte y se hace OR-exclusivo con el contenido de la pista de paridad, y el código de verificación polinomial calculado se hace OR exclusivo con el código de verificación recibido, lo que da como resultado dos palabras de 8 bits de coincidencia. Si ambos son cero, los datos están libres de errores. De lo contrario, la lógica de corrección de errores en el controlador de cinta corrige los datos antes de que se reenvíen al host. El código de corrección de errores puede corregir cualquier número de errores en una sola pista, o en dos pistas cualesquiera si las pistas erróneas pueden identificarse por otros medios.

En las unidades de cinta IBM más nuevas de 18 pistas y 12,7 mm que graban a 24000 bpi, el GCR 4/5(0, 2) fue reemplazado por un código de modulación 8/9 (0, 3) más eficiente, que asigna ocho bits a nueve bits.[1]

Discos duros

editar

A mediados de la década de 1970, la División ISS de Sperry Univac estaba trabajando en grandes discos duros para el mercado de mainframes utilizando codificación de grupo.[10]

Disquetes

editar

Al igual que las unidades de cinta magnética, las unidades de disquete tienen límites físicos en el espaciado de las inversiones de flujo (también llamadas transiciones, representadas bits 1).

Micropolis

editar

Ofreciendo unidades de disquete compatibles con GCR y controlador de disquete s (como el 100163-51-8 y 100163-52-6), Micropolis avaló la codificación de datos con grabación codificada en grupo[11]​ en unidades de disquete de 77 pistas a 100 tpi de 5¼ pulgadas para almacenar doce sectores de 512 bytes por pista desde 1977 o 1978.[12][13][14][15]

Micro Peripherals

editar

Micro Peripherals, Inc. (MPI) comercializaba unidades de disco de doble densidad de 5¼ pulgadas (como las unidades B51 y las unidades B52) y un controlador que implementa GCR desde principios de 1978.[16][17]

Durango

editar

El Durango Systems F-85 (introducido en septiembre de 1978[18][19]​) usaba unidades de disquete de 5¼ pulgadas de una sola cara 100 tpi que proporcionaban 480 kB utilizando una codificación de grupo 4/5 grupo de alta densidad propia patentada. La máquina utilizaba un controlador de disquete Western Digital FD1781, diseñado por un ex ingeniero de Sperry ISS,[15]​ con unidades Micropolis de 77 pistas.[20]​ En modelos posteriores, como la serie Durango 800,[21]​ se amplió a una opción de doble cara de 960 kB (946 kB con formato[21][nb 1]​) por disquete.[19][22][20][12]

Para la unidad de disquete para el Apple II, Steve Wozniak inventó un controlador de disquete que (junto con la propia unidad Disk II) imponía dos restricciones:

  • Entre dos bits 1 cualquiera, puede haber un máximo de un bit cero.
  • Cada byte de 8 bits debe comenzar con un bit 1.

El esquema más simple para garantizar el cumplimiento de estos límites es registrar una transición de «reloj» adicional antes de cada bit de datos de acuerdo con la codificación diferencial Manchester o FM (digital) (modulación de frecuencia). Conocida como codificación 4-y-4, la implementación de Apple resultante permitió que solo se registraran diez sectores de 256 bytes por pista en un disquete de 5¼ pulgadas de densidad simple. Utiliza dos bytes para cada byte.

Tabla de codificación 4-y-4

Valor Código[23]
hex bin bin hex
0x00 0000.0000 1010.1010 1010.1010 0xAA 0xAA
0x01 0000.0001 1010.1010 1010.1011 0xAA 0xAB
0x02 0000.0010 1010.1011 1010.1010 0xAB 0xAA
0x03 0000.0011 1010.1011 1010.1011 0xAB 0xAB
0x04 0000.0100 1010.1010 1010.1110 0xAA 0xAE
0x05 0000.0101 1010.1010 1010.1111 0xAA 0xAF
0x06 0000.0110 1010.1011 1010.1110 0xAB 0xAE
0x07 0000.0111 1010.1011 1010.1111 0xAB 0xAF
0x08 0000.1000 1010.1110 1010.1010 0xAE 0xAA
0x09 0000.1001 1010.1110 1010.1011 0xAE 0xAB
0x0A 0000.1010 1010.1111 1010.1010 0xAF 0xAA
0x0B 0000.1011 1010.1111 1010.1011 0xAF 0xAB
0x0C 0000.1100 1010.1110 1010.1110 0xAE 0xAE
0x0D 0000.1101 1010.1110 1010.1111 0xAE 0xAF
0x0E 0000.1110 1010.1111 1010.1110 0xAF 0xAE
0x0F 0000.1111 1010.1111 1010.1111 0xAF 0xAF
0x10 0001.0000 1010.1010 1011.1010 0xAA 0xBA
0x11 0001.0001 1010.1010 1011.1011 0xAA 0xBB
0x12 0001.0010 1010.1011 1011.1010 0xAB 0xBA
0x13 0001.0011 1010.1011 1011.1011 0xAB 0xBB
0x14 0001.0100 1010.1010 1011.1110 0xAA 0xBE
0x15 0001.0101 1010.1010 1011.1111 0xAA 0xBF
0x16 0001.0110 1010.1011 1011.1110 0xAB 0xBE
0x17 0001.0111 1010.1011 1011.1111 0xAB 0xBF
0x18 0001.1000 1010.1110 1011.1010 0xAE 0xBA
0x19 0001.1001 1010.1110 1011.1011 0xAE 0xBB
0x1A 0001.1010 1010.1111 1011.1010 0xAF 0xBA
0x1B 0001.1011 1010.1111 1011.1011 0xAF 0xBB
0x1C 0001.1100 1010.1110 1011.1110 0xAE 0xBE
0x1D 0001.1101 1010.1110 1011.1111 0xAE 0xBF
0x1E 0001.1110 1010.1111 1011.1110 0xAF 0xBE
0x1F 0001.1111 1010.1111 1011.1111 0xAF 0xBF
0x20 0010.0000 1011.1010 1010.1010 0xBA 0xAA
0x21 0010.0001 1011.1010 1010.1011 0xBA 0xAB
0x22 0010.0010 1011.1011 1010.1010 0xBB 0xAA
0x23 0010.0011 1011.1011 1010.1011 0xBB 0xAB
0x24 0010.0100 1011.1010 1010.1110 0xBA 0xAE
0x25 0010.0101 1011.1010 1010.1111 0xBA 0xAF
0x26 0010.0110 1011.1011 1010.1110 0xBB 0xAE
0x27 0010.0111 1011.1011 1010.1111 0xBB 0xAF
0x28 0010.1000 1011.1110 1010.1010 0xBE 0xAA
0x29 0010.1001 1011.1110 1010.1011 0xBE 0xAB
0x2A 0010.1010 1011.1111 1010.1010 0xBF 0xAA
0x2B 0010.1011 1011.1111 1010.1011 0xBF 0xAB
0x2C 0010.1100 1011.1110 1010.1110 0xBE 0xAE
0x2D 0010.1101 1011.1110 1010.1111 0xBE 0xAF
0x2E 0010.1110 1011.1111 1010.1110 0xBF 0xAE
0x2F 0010.1111 1011.1111 1010.1111 0xBF 0xAF
0x30 0011.0000 1011.1010 1011.1010 0xBA 0xBA
0x31 0011.0001 1011.1010 1011.1011 0xBA 0xBB
0x32 0011.0010 1011.1011 1011.1010 0xBB 0xBA
0x33 0011.0011 1011.1011 1011.1011 0xBB 0xBB
0x34 0011.0100 1011.1010 1011.1110 0xBA 0xBE
0x35 0011.0101 1011.1010 1011.1111 0xBA 0xBF
0x36 0011.0110 1011.1011 1011.1110 0xBB 0xBE
0x37 0011.0111 1011.1011 1011.1111 0xBB 0xBF
0x38 0011.1000 1011.1110 1011.1010 0xBE 0xBA
0x39 0011.1001 1011.1110 1011.1011 0xBE 0xBB
0x3A 0011.1010 1011.1111 1011.1010 0xBF 0xBA
0x3B 0011.1011 1011.1111 1011.1011 0xBF 0xBB
0x3C 0011.1100 1011.1110 1011.1110 0xBE 0xBE
0x3D 0011.1101 1011.1110 1011.1111 0xBE 0xBF
0x3E 0011.1110 1011.1111 1011.1110 0xBF 0xBE
0x3F 0011.1111 1011.1111 1011.1111 0xBF 0xBF
Valor Código[23]
hex bin bin hex
0x40 0100.0000 1010.1010 1110.1010 0xAA 0xEA
0x41 0100.0001 1010.1010 1110.1011 0xAA 0xEB
0x42 0100.0010 1010.1011 1110.1010 0xAB 0xEA
0x43 0100.0011 1010.1011 1110.1011 0xAB 0xEB
0x44 0100.0100 1010.1010 1110.1110 0xAA 0xEE
0x45 0100.0101 1010.1010 1110.1111 0xAA 0xEF
0x46 0100.0110 1010.1011 1110.1110 0xAB 0xEE
0x47 0100.0111 1010.1011 1110.1111 0xAB 0xEF
0x48 0100.1000 1010.1110 1110.1010 0xAE 0xEA
0x49 0100.1001 1010.1110 1110.1011 0xAE 0xEB
0x4A 0100.1010 1010.1111 1110.1010 0xAF 0xEA
0x4B 0100.1011 1010.1111 1110.1011 0xAF 0xEB
0x4C 0100.1100 1010.1110 1110.1110 0xAE 0xEE
0x4D 0100.1101 1010.1110 1110.1111 0xAE 0xEF
0x4E 0100.1110 1010.1111 1110.1110 0xAF 0xEE
0x4F 0100.1111 1010.1111 1110.1111 0xAF 0xEF
0x50 0101.0000 1010.1010 1111.1010 0xAA 0xFA
0x51 0101.0001 1010.1010 1111.1011 0xAA 0xFB
0x52 0101.0010 1010.1011 1111.1010 0xAB 0xFA
0x53 0101.0011 1010.1011 1111.1011 0xAB 0xFB
0x54 0101.0100 1010.1010 1111.1110 0xAA 0xFE
0x55 0101.0101 1010.1010 1111.1111 0xAA 0xFF
0x56 0101.0110 1010.1011 1111.1110 0xAB 0xFE
0x57 0101.0111 1010.1011 1111.1111 0xAB 0xFF
0x58 0101.1000 1010.1110 1111.1010 0xAE 0xFA
0x59 0101.1001 1010.1110 1111.1011 0xAE 0xFB
0x5A 0101.1010 1010.1111 1111.1010 0xAF 0xFA
0x5B 0101.1011 1010.1111 1111.1011 0xAF 0xFB
0x5C 0101.1100 1010.1110 1111.1110 0xAE 0xFE
0x5D 0101.1101 1010.1110 1111.1111 0xAE 0xFF
0x5E 0101.1110 1010.1111 1111.1110 0xAF 0xFE
0x5F 0101.1111 1010.1111 1111.1111 0xAF 0xFF
0x60 0110.0000 1011.1010 1110.1010 0xBA 0xEA
0x61 0110.0001 1011.1010 1110.1011 0xBA 0xEB
0x62 0110.0010 1011.1011 1110.1010 0xBB 0xEA
0x63 0110.0011 1011.1011 1110.1011 0xBB 0xEB
0x64 0110.0100 1011.1010 1110.1110 0xBA 0xEE
0x65 0110.0101 1011.1010 1110.1111 0xBA 0xEF
0x66 0110.0110 1011.1011 1110.1110 0xBB 0xEE
0x67 0110.0111 1011.1011 1110.1111 0xBB 0xEF
0x68 0110.1000 1011.1110 1110.1010 0xBE 0xEA
0x69 0110.1001 1011.1110 1110.1011 0xBE 0xEB
0x6A 0110.1010 1011.1111 1110.1010 0xBF 0xEA
0x6B 0110.1011 1011.1111 1110.1011 0xBF 0xEB
0x6C 0110.1100 1011.1110 1110.1110 0xBE 0xEE
0x6D 0110.1101 1011.1110 1110.1111 0xBE 0xEF
0x6E 0110.1110 1011.1111 1110.1110 0xBF 0xEE
0x6F 0110.1111 1011.1111 1110.1111 0xBF 0xEF
0x70 0111.0000 1011.1010 1111.1010 0xBA 0xFA
0x71 0111.0001 1011.1010 1111.1011 0xBA 0xFB
0x72 0111.0010 1011.1011 1111.1010 0xBB 0xFA
0x73 0111.0011 1011.1011 1111.1011 0xBB 0xFB
0x74 0111.0100 1011.1010 1111.1110 0xBA 0xFE
0x75 0111.0101 1011.1010 1111.1111 0xBA 0xFF
0x76 0111.0110 1011.1011 1111.1110 0xBB 0xFE
0x77 0111.0111 1011.1011 1111.1111 0xBB 0xFF
0x78 0111.1000 1011.1110 1111.1010 0xBE 0xFA
0x79 0111.1001 1011.1110 1111.1011 0xBE 0xFB
0x7A 0111.1010 1011.1111 1111.1010 0xBF 0xFA
0x7B 0111.1011 1011.1111 1111.1011 0xBF 0xFB
0x7C 0111.1100 1011.1110 1111.1110 0xBE 0xFE
0x7D 0111.1101 1011.1110 1111.1111 0xBE 0xFF
0x7E 0111.1110 1011.1111 1111.1110 0xBF 0xFE
0x7F 0111.1111 1011.1111 1111.1111 0xBF 0xFF
Valor Código[23]
hex bin bin hex
0x80 1000.0000 1110.1010 1010.1010 0xEA 0xAA
0x81 1000.0001 1110.1010 1010.1011 0xEA 0xAB
0x82 1000.0010 1110.1011 1010.1010 0xEB 0xAA
0x83 1000.0011 1110.1011 1010.1011 0xEB 0xAB
0x84 1000.0100 1110.1010 1010.1110 0xEA 0xAE
0x85 1000.0101 1110.1010 1010.1111 0xEA 0xAF
0x86 1000.0110 1110.1011 1010.1110 0xEB 0xAE
0x87 1000.0111 1110.1011 1010.1111 0xEB 0xAF
0x88 1000.1000 1110.1110 1010.1010 0xEE 0xAA
0x89 1000.1001 1110.1110 1010.1011 0xEE 0xAB
0x8A 1000.1010 1110.1111 1010.1010 0xEF 0xAA
0x8B 1000.1011 1110.1111 1010.1011 0xEF 0xAB
0x8C 1000.1100 1110.1110 1010.1110 0xEE 0xAE
0x8D 1000.1101 1110.1110 1010.1111 0xEE 0xAF
0x8E 1000.1110 1110.1111 1010.1110 0xEF 0xAE
0x8F 1000.1111 1110.1111 1010.1111 0xEF 0xAF
0x90 1001.0000 1110.1010 1011.1010 0xEA 0xBA
0x91 1001.0001 1110.1010 1011.1011 0xEA 0xBB
0x92 1001.0010 1110.1011 1011.1010 0xEB 0xBA
0x93 1001.0011 1110.1011 1011.1011 0xEB 0xBB
0x94 1001.0100 1110.1010 1011.1110 0xEA 0xBE
0x95 1001.0101 1110.1010 1011.1111 0xEA 0xBF
0x96 1001.0110 1110.1011 1011.1110 0xEB 0xBE
0x97 1001.0111 1110.1011 1011.1111 0xEB 0xBF
0x98 1001.1000 1110.1110 1011.1010 0xEE 0xBA
0x99 1001.1001 1110.1110 1011.1011 0xEE 0xBB
0x9A 1001.1010 1110.1111 1011.1010 0xEF 0xBA
0x9B 1001.1011 1110.1111 1011.1011 0xEF 0xBB
0x9C 1001.1100 1110.1110 1011.1110 0xEE 0xBE
0x9D 1001.1101 1110.1110 1011.1111 0xEE 0xBF
0x9E 1001.1110 1110.1111 1011.1110 0xEF 0xBE
0x9F 1001.1111 1110.1111 1011.1111 0xEF 0xBF
0xA0 1010.0000 1111.1010 1010.1010 0xFA 0xAA
0xA1 1010.0001 1111.1010 1010.1011 0xFA 0xAB
0xA2 1010.0010 1111.1011 1010.1010 0xFB 0xAA
0xA3 1010.0011 1111.1011 1010.1011 0xFB 0xAB
0xA4 1010.0100 1111.1010 1010.1110 0xFA 0xAE
0xA5 1010.0101 1111.1010 1010.1111 0xFA 0xAF
0xA6 1010.0110 1111.1011 1010.1110 0xFB 0xAE
0xA7 1010.0111 1111.1011 1010.1111 0xFB 0xAF
0xA8 1010.1000 1111.1110 1010.1010 0xFE 0xAA
0xA9 1010.1001 1111.1110 1010.1011 0xFE 0xAB
0xAA 1010.1010 1111.1111 1010.1010 0xFF 0xAA
0xAB 1010.1011 1111.1111 1010.1011 0xFF 0xAB
0xAC 1010.1100 1111.1110 1010.1110 0xFE 0xAE
0xAD 1010.1101 1111.1110 1010.1111 0xFE 0xAF
0xAE 1010.1110 1111.1111 1010.1110 0xFF 0xAE
0xAF 1010.1111 1111.1111 1010.1111 0xFF 0xAF
0xB0 1011.0000 1111.1010 1011.1010 0xFA 0xBA
0xB1 1011.0001 1111.1010 1011.1011 0xFA 0xBB
0xB2 1011.0010 1111.1011 1011.1010 0xFB 0xBA
0xB3 1011.0011 1111.1011 1011.1011 0xFB 0xBB
0xB4 1011.0100 1111.1010 1011.1110 0xFA 0xBE
0xB5 1011.0101 1111.1010 1011.1111 0xFA 0xBF
0xB6 1011.0110 1111.1011 1011.1110 0xFB 0xBE
0xB7 1011.0111 1111.1011 1011.1111 0xFB 0xBF
0xB8 1011.1000 1111.1110 1011.1010 0xFE 0xBA
0xB9 1011.1001 1111.1110 1011.1011 0xFE 0xBB
0xBA 1011.1010 1111.1111 1011.1010 0xFF 0xBA
0xBB 1011.1011 1111.1111 1011.1011 0xFF 0xBB
0xBC 1011.1100 1111.1110 1011.1110 0xFE 0xBE
0xBD 1011.1101 1111.1110 1011.1111 0xFE 0xBF
0xBE 1011.1110 1111.1111 1011.1110 0xFF 0xBE
0xBF 1011.1111 1111.1111 1011.1111 0xFF 0xBF
Valor Código[23]
hex bin bin hex
0xC0 1100.0000 1110.1010 1110.1010 0xEA 0xEA
0xC1 1100.0001 1110.1010 1110.1011 0xEA 0xEB
0xC2 1100.0010 1110.1011 1110.1010 0xEB 0xEA
0xC3 1100.0011 1110.1011 1110.1011 0xEB 0xEB
0xC4 1100.0100 1110.1010 1110.1110 0xEA 0xEE
0xC5 1100.0101 1110.1010 1110.1111 0xEA 0xEF
0xC6 1100.0110 1110.1011 1110.1110 0xEB 0xEE
0xC7 1100.0111 1110.1011 1110.1111 0xEB 0xEF
0xC8 1100.1000 1110.1110 1110.1010 0xEE 0xEA
0xC9 1100.1001 1110.1110 1110.1011 0xEE 0xEB
0xCA 1100.1010 1110.1111 1110.1010 0xEF 0xEA
0xCB 1100.1011 1110.1111 1110.1011 0xEF 0xEB
0xCC 1100.1100 1110.1110 1110.1110 0xEE 0xEE
0xCD 1100.1101 1110.1110 1110.1111 0xEE 0xEF
0xCE 1100.1110 1110.1111 1110.1110 0xEF 0xEE
0xCF 1100.1111 1110.1111 1110.1111 0xEF 0xEF
0xD0 1101.0000 1110.1010 1111.1010 0xEA 0xFA
0xD1 1101.0001 1110.1010 1111.1011 0xEA 0xFB
0xD2 1101.0010 1110.1011 1111.1010 0xEB 0xFA
0xD3 1101.0011 1110.1011 1111.1011 0xEB 0xFB
0xD4 1101.0100 1110.1010 1111.1110 0xEA 0xFE
0xD5 1101.0101 1110.1010 1111.1111 0xEA 0xFF
0xD6 1101.0110 1110.1011 1111.1110 0xEB 0xFE
0xD7 1101.0111 1110.1011 1111.1111 0xEB 0xFF
0xD8 1101.1000 1110.1110 1111.1010 0xEE 0xFA
0xD9 1101.1001 1110.1110 1111.1011 0xEE 0xFB
0xDA 1101.1010 1110.1111 1111.1010 0xEF 0xFA
0xDB 1101.1011 1110.1111 1111.1011 0xEF 0xFB
0xDC 1101.1100 1110.1110 1111.1110 0xEE 0xFE
0xDD 1101.1101 1110.1110 1111.1111 0xEE 0xFF
0xDE 1101.1110 1110.1111 1111.1110 0xEF 0xFE
0xDF 1101.1111 1110.1111 1111.1111 0xEF 0xFF
0xE0 1110.0000 1111.1010 1110.1010 0xFA 0xEA
0xE1 1110.0001 1111.1010 1110.1011 0xFA 0xEB
0xE2 1110.0010 1111.1011 1110.1010 0xFB 0xEA
0xE3 1110.0011 1111.1011 1110.1011 0xFB 0xEB
0xE4 1110.0100 1111.1010 1110.1110 0xFA 0xEE
0xE5 1110.0101 1111.1010 1110.1111 0xFA 0xEF
0xE6 1110.0110 1111.1011 1110.1110 0xFB 0xEE
0xE7 1110.0111 1111.1011 1110.1111 0xFB 0xEF
0xE8 1110.1000 1111.1110 1110.1010 0xFE 0xEA
0xE9 1110.1001 1111.1110 1110.1011 0xFE 0xEB
0xEA 1110.1010 1111.1111 1110.1010 0xFF 0xEA
0xEB 1110.1011 1111.1111 1110.1011 0xFF 0xEB
0xEC 1110.1100 1111.1110 1110.1110 0xFE 0xEE
0xED 1110.1101 1111.1110 1110.1111 0xFE 0xEF
0xEE 1110.1110 1111.1111 1110.1110 0xFF 0xEE
0xEF 1110.1111 1111.1111 1110.1111 0xFF 0xEF
0xF0 1111.0000 1111.1010 1111.1010 0xFA 0xFA
0xF1 1111.0001 1111.1010 1111.1011 0xFA 0xFB
0xF2 1111.0010 1111.1011 1111.1010 0xFB 0xFA
0xF3 1111.0011 1111.1011 1111.1011 0xFB 0xFB
0xF4 1111.0100 1111.1010 1111.1110 0xFA 0xFE
0xF5 1111.0101 1111.1010 1111.1111 0xFA 0xFF
0xF6 1111.0110 1111.1011 1111.1110 0xFB 0xFE
0xF7 1111.0111 1111.1011 1111.1111 0xFB 0xFF
0xF8 1111.1000 1111.1110 1111.1010 0xFE 0xFA
0xF9 1111.1001 1111.1110 1111.1011 0xFE 0xFB
0xFA 1111.1010 1111.1111 1111.1010 0xFF 0xFA
0xFB 1111.1011 1111.1111 1111.1011 0xFF 0xFB
0xFC 1111.1100 1111.1110 1111.1110 0xFE 0xFE
0xFD 1111.1101 1111.1110 1111.1111 0xFE 0xFF
0xFE 1111.1110 1111.1111 1111.1110 0xFF 0xFE
0xFF 1111.1111 1111.1111 1111.1111 0xFF 0xFF

Casi un mes antes de las entregas de la unidad de disco en la primavera de 1978,[24]​ Wozniak se dio cuenta de que un esquema de codificación más complejo permitiría que cada byte de ocho bits en el disco contenga cinco bits de datos útiles en lugar de cuatro bits. Esto se debe a que hay 34 bytes que tienen el bit superior establecido y no hay dos bits cero en una fila. Este esquema de codificación se conoció como codificación 5 y 3 y permitía 13 sectores por pista; se utilizó para Apple DOS 3.1, 3.2 y 3.2.1, así como para la versión más antigua de Apple CP/M:[25]

Tabla de codificación 5-y-3

Valor de 5 bits Código GCR[25][26]
hex bin bin hex
0x00 0.0000 1010.1011 0xAB
0x01 0.0001 1010.1101 0xAD
0x02 0.0010 1010.1110 0xAE
0x03 0.0011 1010.1111 0xAF
0x04 0.0100 1011.0101 0xB5
0x05 0.0101 1011.0110 0xB6
0x06 0.0110 1011.0111 0xB7
0x07 0.0111 1011.1010 0xBA
0x08 0.1000 1011.1011 0xBB
0x09 0.1001 1011.1101 0xBD
0x0A 0.1010 1011.1110 0xBE
0x0B 0.1011 1011.1111 0xBF
0x0C 0.1100 1101.0110 0xD6
0x0D 0.1101 1101.0111 0xD7
0x0E 0.1110 1101.1010 0xDA
0x0F 0.1111 1101.1011 0xDB
Valor de 5 bits Código GCR[25][26]
hex bin bin hex
0x10 1.0000 1101.1101 0xDD
0x11 1.0001 1101.1110 0xDE
0x12 1.0010 1101.1111 0xDF
0x13 1.0011 1110.1010 0xEA
0x14 1.0100 1110.1011 0xEB
0x15 1.0101 1110.1101 0xED
0x16 1.0110 1110.1110 0xEE
0x17 1.0111 1110.1111 0xEF
0x18 1.1000 1111.0101 0xF5
0x19 1.1001 1111.0110 0xF6
0x1A 1.1010 1111.0111 0xF7
0x1B 1.1011 1111.1010 0xFA
0x1C 1.1100 1111.1011 0xFB
0x1D 1.1101 1111.1101 0xFD
0x1E 1.1110 1111.1110 0xFE
0x1F 1.1111 1111.1111 0xFF

Códigos GCR reservados: 0xAA y 0xD5.[25]

Wozniak llamó al sistema «mi experiencia más increíble en Apple y el mejor trabajo que hice».

Más tarde, el diseño del controlador de la unidad de disquete se modificó para permitir que un byte en el disco contenga hasta un par de bits 0 seguidos. Esto permitió que cada byte de ocho bits contenga seis bits de datos útiles y permitiera 16 sectores por pista. Este esquema se conoce como codificación 6-y-2,[25]​ y se usó en Apple Pascal, Apple DOS 3.3[25]​ y ProDOS, y posteriormente con las unidades Apple FileWare en el Apple Lisa y los discos de 400K y 800K de 3½ pulgadas en el Macintosh y el Apple II.[27][28]​ Apple no llamó originalmente a este esquema «GCR», pero sí posteriormente[28]​ para distinguirlo de los disquetes de IBM PC que utilizaban el esquema de codificación MFM.

Tabla de codificación 6-y-2

Valor de 6 bits Código GCR[27][25][29][26][23]
hex bin bin hex
0x00 00.0000 1001.0110 0x96
0x01 00.0001 1001.0111 0x97
0x02 00.0010 1001.1010 0x9A
0x03 00.0011 1001.1011 0x9B
0x04 00.0100 1001.1101 0x9D
0x05 00.0101 1001.1110 0x9E
0x06 00.0110 1001.1111 0x9F
0x07 00.0111 1010.0110 0xA6
0x08 00.1000 1010.0111 0xA7
0x09 00.1001 1010.1011 0xAB
0x0A 00.1010 1010.1100 0xAC
0x0B 00.1011 1010.1101 0xAD
0x0C 00.1100 1010.1110 0xAE
0x0D 00.1101 1010.1111 0xAF
0x0E 00.1110 1011.0010 0xB2
0x0F 00.1111 1011.0011 0xB3
Valor de 6 bits Código GCR[27][25][29][26][23]
hex bin bin hex
0x10 01.0000 1011.0100 0xB4
0x11 01.0001 1011.0101 0xB5
0x12 01.0010 1011.0110 0xB6
0x13 01.0011 1011.0111 0xB7
0x14 01.0100 1011.1001 0xB9
0x15 01.0101 1011.1010 0xBA
0x16 01.0110 1011.1011 0xBB
0x17 01.0111 1011.1100 0xBC
0x18 01.1000 1011.1101 0xBD
0x19 01.1001 1011.1110 0xBE
0x1A 01.1010 1011.1111 0xBF
0x1B 01.1011 1100.1011 0xCB
0x1C 01.1100 1100.1101 0xCD
0x1D 01.1101 1100.1110 0xCE
0x1E 01.1110 1100.1111 0xCF
0x1F 01.1111 1101.0011 0xD3
Valor de 6 bits Código GCR[27][25][29][26][23]
hex bin bin hex
0x20 10.0000 1101.0110 0xD6
0x21 10.0001 1101.0111 0xD7
0x22 10.0010 1101.1001 0xD9
0x23 10.0011 1101.1010 0xDA
0x24 10.0100 1101.1011 0xDB
0x25 10.0101 1101.1100 0xDC
0x26 10.0110 1101.1101 0xDD
0x27 10.0111 1101.1110 0xDE
0x28 10.1000 1101.1111 0xDF
0x29 10.1001 1110.0101 0xE5
0x2A 10.1010 1110.0110 0xE6
0x2B 10.1011 1110.0111 0xE7
0x2C 10.1100 1110.1001 0xE9
0x2D 10.1101 1110.1010 0xEA
0x2E 10.1110 1110.1011 0xEB
0x2F 10.1111 1110.1100 0xEC
Valor de 6 bits Código GCR[27][25][29][26][23]
hex bin bin hex
0x30 11.0000 1110.1101 0xED
0x31 11.0001 1110.1110 0xEE
0x32 11.0010 1110.1111 0xEF
0x33 11.0011 1111.0010 0xF2
0x34 11.0100 1111.0011 0xF3
0x35 11.0101 1111.0100 0xF4
0x36 11.0110 1111.0101 0xF5
0x37 11.0111 1111.0110 0xF6
0x38 11.1000 1111.0111 0xF7
0x39 11.1001 1111.1001 0xF9
0x3A 11.1010 1111.1010 0xFA
0x3B 11.1011 1111.1011 0xFB
0x3C 11.1100 1111.1100 0xFC
0x3D 11.1101 1111.1101 0xFD
0x3E 11.1110 1111.1110 0xFE
0x3F 11.1111 1111.1111 0xFF

Códigos GCR reservados: 0xAA y 0xD5.[25][29]

Commodore

editar

Independientemente, Commodore Business Machines (CBM) creó un esquema de grabación codificado en grupo para su disquetera Commodore 2040 (comercializada en la primavera de 1979). Las restricciones relevantes en la unidad 2040 eran que no podían aparecer más de dos bits 0 seguidos; la unidad no impuso ninguna restricción especial sobre el primer bit de un byte. Esto permitió el uso de un esquema similar al utilizado en las unidades de cinta de 6250 bpi. Cada cuatro bits de datos se traducen a cinco bits en el disco, de acuerdo con la siguiente tabla:

Valor de 4 bits Código GCR[30]
hex bin bin hex
0x0 0000 0.1010 0x0A
0x1 0001 0.1011 0x0B
0x2 0010 1.0010 0x12
0x3 0011 1.0011 0x13
0x4 0100 0.1110 0x0E
0x5 0101 0.1111 0x0F
0x6 0110 1.0110 0x16
0x7 0111 1.0111 0x17
Valor de 4 bits Código GCR[30]
hex bin bin hex
0x8 1000 0.1001 0x09
0x9 1001 1.1001 0x19
0xA 1010 1.1010 0x1A
0xB 1011 1.1011 0x1B
0xC 1100 0.1101 0x0D
0xD 1101 1.1101 0x1D
0xE 1110 1.1110 0x1E
0xF 1111 1.0101 0x15

Cada código comienza y termina con como máximo un bit 0, lo que garantiza que incluso cuando los códigos estén concatenados, los datos codificados nunca contendrán más de dos bits 0 seguidos. Con esta codificación son posibles como máximo ocho bits uno seguidos. Por lo tanto, Commodore usó secuencias de diez o más bits 1 seguidos como marca de sincronización.

Este esquema GCR más eficiente, combinado con un enfoque en la grabación de densidad de bits constante aumentando gradualmente la frecuencia de reloj (velocidad constante angular por zona) y almacenando más sectores físicos en las pistas externas que en las internos (zona de grabación de bits, ZBR), permitieron que Commodore almacene 170 kB en un disquete estándar de una sola cara de densidad simple de 5,25 pulgadas, donde Apple almacenaba 140 kB (con codificación 6 y 2) o 114 kB (con codificación 5 y 3) y un disquete codificado en FM tenía solo 88 kB.

Sirius/Victor

editar

De manera similar, las unidades de disquete de 5,25 pulgadas del Victor 9000, también conocido como Sirius 1, diseñadas por Chuck Peddle en 1981/1982, usaban una combinación de GCR de diez bits y densidad de bits constante al disminuir gradualmente la velocidad de rotación de la unidad para las pistas externas en nueve zonas (una forma de velocidad lineal constante en zonas (ZCLV)) mientras se aumenta el número de sectores por pista (una variante de zona de grabación de bits (ZBR)) para lograr capacidades formateadas de 606 kB (una cara)/1188 kB ( oble cara) en disquetes de 96 tpi.[31][32][33][34]

Brother

editar

A partir de 1985, Brother introdujo una familia de máquinas de escribir con procesador de texto dedicadas con unidad de disquete integrada de 38 pistas y 3,5 pulgadas.[nb 2]​ Los primeros modelos de la WP y Brother Serie LW utilizaban un esquema de grabación codificado en grupo específico de Brother con doce sectores de 256 bytes para almacenar hasta 120 kB[nb 3]​ en un solo lado y hasta 240 kB[nb 3]​ en disquetes de doble lado y doble densidad (DD).[15][35][36][37]​ Según se informa, los prototipos ya se mostraron en la Internationale Funkausstellung de 1979 (IFA) en Berlín.

Sharp 4-5

editar

En 1986, Sharp introdujo una solución de unidad de disco giratoria de bolsillo de 2,5 pulgadas (unidades: CE-1600F, CE-140F; internamente basado en el chasis FDU-250; disquetes: CE-1650F) para su serie de computadoras de bolsillo con una capacidad formateada de 62464 bytes por lado (2 × 64 kB nominales, 16 pistas, 8 sectores/pista, 512 bytes por sector, 48 tpi, 250 kbit/s, 270 rpm) con grabación GCR (4/5).[38][39]

Otros usos

editar

GCR también se evaluó para un posible uso en los esquemas de codificación de código de barras (eficiencia de empaquetado, tolerancias de tiempo, cantidad de bytes de almacenamiento para información de sincronización y nivel de salida CC).[40]

Véase también

editar
  1. El folleto del producto de la serie Durango 800 documenta una «capacidad en línea» formateada de 1,9 MB para las unidades de disquete. Sin embargo, el sistema estaba equipado con dos unidades de disquete de 77 pistas Micropolis a 100 tpi de 77 pistas de forma predeterminada, y 1,9 MB es aproximadamente el doble de la capacidad física de la unidad documentada en varias otras fuentes (480 kB por lado), por lo tanto, por «capacidad en línea» deben haber significado la capacidad de almacenamiento disponible para los usuarios para la combinación de dos unidades.
  2. Las fuentes dan parámetros ligeramente contradictorios con respecto a los formatos de disquete de Brother. 12 sectores de 256 bytes darían 120 kB por lado en una unidad de 40 pistas, pero una fuente afirma que las unidades eran solo de 38 pistas.
  3. a b Se sabe que los siguientes modelos de Brother admiten un disquetes de 120 kB (lista incompleta): 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.

Referencias

editar
  1. a b c d e f g h Patel, Arvind Motibhai (1988). «5. Signal and Error-Control Coding». En Mee, C. Denis; Daniel, Eric D., eds. Magnetic Recording. II: Computer Data Storage (1st edición). McGraw-Hill Book Company. ISBN 0-07-041272-3. 
  2. a b c CW staff (14 de marzo de 1973). «6,250 Byte/In. Density - IBM 3420 Storage More Than Tripled». Computerworld (White Plains, New York, USA) VII (11): 1-2. Consultado el 23 de marzo de 2017. «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. Archivado desde el original el 25 de diciembre de 2008. «[…] 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. doi:10.1147/rd.255.0691. 
  5. a b Geffroy, Jean-Claude; Motet, Gilles (9 de marzo de 2013). «15.12 Exercise GCR (4B - 5B) code». Design of Dependable Computing Systems. Toulouse, France: Springer Science+Business Media, B.V. / Kluwer Academic Publishers. pp. 426, 591. ISBN 978-1-4020-0437-7. LCCN 2002284974. ISBN 94-015-9884-3. Consultado el 18 de noviembre de 2021.  (672 pages)
  6. a b c Keong, Kwoh Chee, Computer Peripherals, School of Computer Engineering, Nanyang Technological University, Singapore, Chapter 7. Magnetic Recording Fundamentals, archivado desde el original el 23 de marzo de 2017, consultado el 23 de marzo de 2017 .
  7. a b c Watkinson, John (1990). «3.4. Group codes». Coding for Digital Recording. Stoneham, MA, USA: Focal Press. pp. 51-61. ISBN 0-240-51293-6. 
  8. Savard, John J. G. (2018). «Digital Magnetic Tape Recording». quadibloc. Archivado desde el original el 2 de julio de 2018. Consultado el 16 de julio de 2018. 
  9. 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. doi:10.1147/rd.186.0579. Archivado desde el original el 4 de noviembre de 2017. Consultado el 7 de enero de 2022. 
  10. Jacoby, George V. (6 de enero de 2003). «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.)
  11. US 4261019, McClelland, S. Barry, "Compatible Digital Magnetic Recording System", published 1981-04-07, assigned to Micropolis Corporation (NB. Application Number: US 06/098381)
  12. a b «NCC Preview: OEMs at NCC - Micropolis Corp.». Computerworld (CW Communications, Inc.) XII (22): P/50. 28 de mayo de 1978. Consultado el 12 de junio de 2017. «[…] 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 […]». 
  13. Micropolis Maintenance Manual Floppy Disk Subsystem (revision 1, 1st edición). Micropolis Corporation. February 1979. 1082-04. Archivado desde el original el 12 de junio de 2017. Consultado el 12 de junio de 2017.  (NB. Micropolis 100163-51-8 and 100163-52-6 are GCR-based.)
  14. «InfoNews/Hardware: Hardware/Briefs». InfoWorld 2 (2): 19. 3 de marzo de 1980. Consultado el 12 de junio de 2017. «[…] 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 […]». 
  15. a b c Guzis, Charles "Chuck" P. (20 de septiembre de 2015). «Multi-platform distribution format». Sydex. Archivado desde el original el 14 de junio de 2017. Consultado el 14 de junio de 2017. «[…] 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. […]». 
  16. Allen, David (February 1978). «A Minifloppy Interface». BYTE (Kansas City, USA) 3 (2): 114, 116-118, 120, 122, 134-125. Archivado desde el original el 14 de junio de 2017. Consultado el 14 de junio de 2017. «[…] 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. […]». [1]
  17. «Floppies Claim Improved Performance». Computerworld (CW Communications, Inc.) XIII (7): 90. 12 de febrero de 1979. Consultado el 14 de junio de 2017. 
  18. Schultz, Brad (2 de octubre de 1978). «Business Mini Weighs 65 Pound - What is Durango?». Computerworld (CW Communications, Inc.) XII (40): 1, 4. Consultado el 13 de junio de 2017. 
  19. a b Comstock, George E. (13 de agosto de 2003). «Oral History of George Comstock». Mountain View, California, USA: Computer History Museum. CHM X2727.2004. Archivado desde el original el 23 de marzo de 2017. Consultado el 23 de marzo de 2017. 
  20. a b Guzis, Charles "Chuck" P. (13 de septiembre de 2009). «Durango GCR». Sydex. Archivado desde el original el 4 de noviembre de 2017. Consultado el 25 de marzo de 2017. 
  21. a b «800 Technical Summary - 800 Series Business Computer System». San Jose, CA, USA: Durango Systems, Inc. Archivado desde el original el 23 de marzo de 2017. Consultado el 23 de marzo de 2017. 
  22. Guzis, Charles "Chuck" P. (October 2006). «The Durango F-85 Computer». Sydex. Archivado desde el original el 23 de marzo de 2017. Consultado el 23 de marzo de 2017. 
  23. a b c d e f g h Copy II Plus Version 9 - ProDOS/DOS Utilities - Data Recovery, File Management, Protected Software Backup. 9.0. Central Point Software, Inc. 31 de octubre de 1989. Archivado desde el original el 7 de mayo de 2017. Consultado el 21 de marzo de 2017. 
  24. Williams, Gregg; Moore, Rob (January 1985). «The Apple Story / Part 2: More History and the Apple III». BYTE (interview): 166. Archivado desde el original el 12 de febrero de 2012. Consultado el 26 de octubre de 2013.  [2] (NB. Interview with Steve Wozniak, where he describes creating the Apple version of GCR.)
  25. a b c d e f g h i j k Worth, Don D.; Lechner, Pieter M. (May 1982). Beneath Apple DOS (4th printing edición). Reseda, CA, USA: Quality Software. Consultado el 21 de marzo de 2017.  [3] [4] [5] Archivado el 9 de marzo de 2016 en Wayback Machine.
  26. a b c d e f Sather, James Fielding (1983). Understanding the Apple II - A Learning Guide and Hardware Manual for the Apple II Computer (1st edición). Chatsworth, CA, USA: Quality Software. pp. 9–26, 9–27. ISBN 0-912985-01-1. Consultado el 21 de marzo de 2017. 
  27. a b c d e Feichtinger, Herwig (1987). Arbeitsbuch Mikrocomputer (en alemán) (2 edición). Munich, Germany: Franzis-Verlag GmbH. pp. 223-224. ISBN 3-7723-8022-0. 
  28. a b Apple Computer, Inc. (February 1982). Integrated Woz Machine (IWM) Specification (19 edición). DigiBarn Computer Museum. Archivado desde el original el 6 de agosto de 2016. Consultado el 6 de agosto de 2016. 
  29. a b c d e Worth, Don D.; Lechner, Pieter M. (March 1985). Beneath Apple ProDOS - For Users of Apple II Plus, Apple IIe and Apple IIc Computers (2nd printing edición). Chatsworth, CA, USA: Quality Software. ISBN 0-912985-05-4. LCCN 84061383. Archivado desde el original el 21 de marzo de 2017. Consultado el 21 de marzo de 2017.  [6]
  30. a b Hildon, Karl J. H. (March 1985). «GCR codes». The Complete Commodore Inner Space Anthology. Milton, Ontario, Canada: Transactor Publishing Incorporated. p. 49. ISBN 0-9692086-0-X. Archivado desde el original el 23 de marzo de 2017. Consultado el 23 de marzo de 2017.  [7] (NB. Commodore GCR codes—but this reference erroneously claims that a 1-bit indicates a lack of a transition.)
  31. «Victor 9000/Sirius 1 Specification». commodore.ca. Archivado desde el original el 23 de marzo de 2017. Consultado el 23 de marzo de 2017. 
  32. «Supplemental Technical Reference Material». Revision 0 (1st printing edición). Scotts Valley, CA, USA: Victor Publications. 23 de marzo de 1983. 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.» 
  33. «Chapter 7. Disk Drive Assembly». Victor 9000 Technical Reference Manual. Victor Business Products, Inc. June 1982. pp. 7-1..7-9. 710620. Archivado desde el original el 23 de marzo de 2017. Consultado el 23 de marzo de 2017. «[…] 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. […]». 
  34. Sargent III., Murray; Shoemaker, Richard L.; Stelzer, Ernst H. K. (1988). Assemblersprache und Hardware des IBM PC/XT/AT (en alemán) (1 edición). Addison-Wesley Verlag (Deutschland) GmbH / Addison-Wesley Publishing Company. ISBN 3-89319-110-0. . VVA-Nr. 563-00110-4. 
  35. Gieseke, Hans-Werner (27 de agosto de 2003). «Brother WP-1» (en alemán). Archivado desde el original el 14 de junio de 2017. Consultado el 14 de junio de 2017.  (NB. Reportedly, the Brother WP-1 technical data was derived from page 109 of the user manual.)
  36. French, Mick (13 de septiembre de 2002). «Brother WP-6». Archivado desde el original el 22 de noviembre de 2017. Consultado el 14 de junio de 2017. «[…] 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. […]». 
  37. Cotgrove, Michael S. (26 de febrero de 2009). «archaic floppy disc format». Consultado el 14 de junio de 2017. «[…] 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 […]». 
  38. «Model CE-1600F». Sharp PC-1600 Service Manual. Yamatokoriyama, Japan: Sharp Corporation, Information Systems Group, Quality & Reliability Control Center. July 1986. pp. 98-104. Archivado desde el original el 7 de mayo de 2017. Consultado el 23 de marzo de 2017. «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.» 
  39. Sharp Service Manual Model CE-140F Pocket Disk Drive. Sharp Corporation. 00ZCE140F/SME. Archivado desde el original el 11 de marzo de 2017. Consultado el 11 de marzo de 2017. 
  40. Moseley, Robin C. (April 1979). «Technical Forum: A Comparison of Bar Code Encoding Schemes». BYTE (Andover, MA, USA) 4 (4): 50, 52. Consultado el 14 de junio de 2017. 

Enlaces externos

editar