miércoles, 14 de julio de 2021

Disquetera 3,5" ERGO MD-21

Las disqueteras supusieron un avance importante sobre la grabación en casetes. Los disquetes permitían el acceso aleatorio a los datos. Esto hacía posible escribir sobre ellos sistemas de archivos y sistemas operativos para gestionar los recursos del ordenador. Con la popularización de los discos duros perdieron gran parte de su utilidad pero todavía sirvieron durante muchos años para el intercambio de archivos. La llegada de otras tecnologías para el intercambio de archivos como CDs, internet, correo electrónico o unidades USB hizo que dejaran de usarse completamente. También se usaron disqueteras en otros aparatos electrónicos como teclados de música o maquinaria industrial.

Mi primer ordenador, un PC con procesador AMD Am386 25 MHz y 512 KiB de FPM RAM, tenía una disquetera de 3,5" ERGO MD-21-DS350-B1 conectada a una tarjeta controladora.


Por la parte de atrás, a la izquierda, se puede ver el conector de alimentación de 4 pines y el motor que hace girar el disquete. A la derecha se encuentra el conector de 34 pines para conectar la disquetera al ordenador. En los primeros PC la disquetera se conectaba a una tarjeta de ampliación controladora. Posteriormente los circuitos controladores de las disqueteras se integraron en la placa base.

Para conectar la disquetera se utiliza un cable de 34 hilos, uno por cada pin. El cable permite conectar dos disqueteras pero solo se puede comunicar con una de ellas a la vez. Para seleccionar y accionar el motor de las disqueteras se utilizan dos pares de hilos. Cada disquetera debe estar configurada para reaccionar a las señales del primer o segundo par de hilos y de esta forma ser la primera o segunda disquetera. Durante bastante tiempo los cables incluían conectores para disqueteras de 5,25" y 3,5". Al final de los años 1990 ya solo se incluían conectores para 3,5".

En los PC para facilitar la instalación todas las disqueteras se configuraban de fábrica como segunda disquetera y antes del conector o conectores del final del cable los hilos de seleccionar disquetera y accionar motor están cruzados, haciendo que la disquetera conectada al final funcione como primera disquetera. De esta forma el orden de las disqueteras depende de la posición en el cable sin necesidad de cambiar la configuración de la disquetera.


La disquetera permite leer y escribir disquetes de 720 KiB (Doble Densidad) y 1440 KiB (Alta Densidad). Para que la disquetera los pueda distinguir, los de 1440 KiB tienen un agujero en el lado derecho. Los disquetes de 720 KiB solían ser de color azul, blanco o gris y los de 1440 KiB de color negro para facilitar su diferenciación por el usuario. El ancho de los disquetes es de 3,5 pulgadas = 8,89 centímetros. Este ancho es el que da el nombre al tipo de disquetera y bahía donde se acopla. El ancho de las disqueteras y bahías es de 4 pulgadas = 10,16 centímetros. A continuación se muestran fotos de los dos tipos de disquete por las dos caras.




Para permitir la compatibilidad con diferentes tipos de ordenadores y otros dispositivos en la parte de atrás de la disquetera hay seis jumpers de configuración. Los jumpers DS0 y DS1 sirven para configurar la disquetera como primera o segunda disquetera. Los otros cuatro jumpers sirven para configurar la forma en la que se activa el modo de alta densidad en la disquetera. La comunicación de la densidad entre el ordenador y la disquetera se realiza a través del pin 2 del conector (Density Select).

  • HDH (High Density High): El ordenador indica a la disquetera que cambie a modo alta densidad con nivel alto en el pin 2.
  • HDL (High Density Low): El ordenador indica a la disquetera que cambie a modo alta densidad con nivel bajo en el pin 2.
  • DI (Density Inserted Disk): La disquetera cambia a modo alta densidad al detectar el agujero en el disquete.
  • DI y HDO (High Density Out): La disquetera cambia a modo alta densidad al detectar el agujero en el disquete y se lo comunica al ordenador con valor alto en el pin 2.

En mi ordenador PC la disquetera tenía los jumpers DS1 y DI activados. El jumper DS1 configuraba la disquetera como segunda disquetera para funcionar como primera disquetera en el conector final o como segunda disquetera en el otro conector. La activación del jumper DI hacía que la disquetera cambiara a modo alta densidad al detectar el agujero en el disquete. El resto de jumpers no eran necesarios.

Ambos tipos de disquetes tienen un agujero a su izquierda que al destaparse indica a la disquetera que están protegidos contra escritura. Por la parte trasera tienen una pestaña que se puede deslizar para tapar el agujero.


Los disquetes están formados por una carcasa de plástico bastante rígido en cuyo interior se haya un disco con superficie magnética en las dos caras. Cada una de las caras de la carcasa tiene pegado un disco de papel para evitar el rozamiento del disco magnético con la carcasa. En la parte de arriba se encuentra una protección de metal sujeta por un muelle que al desplazarse hacia la izquierda deja al descubierto una parte del disco magnético por las dos caras para permitir su lectura y escritura. El disco magnético tiene fijada en el centro una pieza circular de metal que sobresale por detrás y es usada por la disquetera para hacerlo girar.

Si le damos la vuelta a la disquetera podremos ver los circuitos electrónicos que la controlan y se comunican con el ordenador. El chip principal es el ERGO CXD1605Q. También se puede ver un chip Sony A1173Q-216-A14K que parece ser una memoria de 14 KiB.




Quitando la tapa superior se puede ver el interior de la disquetera. En la parte de arriba, en el centro, se encuentra el lector/grabador con dos cabezales que permite leer y grabar sobre las dos caras del disco magnético.


Desmontando el frontal se pueden ver a los lados de la disquetera los mecanismos para detectar la capacidad del disquete y la protección contra escritura. El frontal tiene un botón que acciona el mecanismo para expulsar el disquete.

Introduciendo un disquete se puede ver como la disquetera desplaza la protección de metal dejando al descubierto una franja del disco magnético por las dos caras accesible al lector/grabador.

Las disqueteras de 3,5" se instalaban en el ordenador en bahías de 3,5" con salida al exterior. En las siguientes imágenes se puede ver la disquetera en una de estas bahías con los cables de alimentación y datos conectados. Debajo queda otra bahía libre cubierta por una tapa. También se puede ver como se enciende el indicador de lectura y escritura de la disquetera.


Los disquetes se dividen en caras, pistas por cara y sectores por pista. Este sistema permite acceso aleatorio a cualquiera de los sectores para leer y escribir datos, siendo más rápido que el acceso secuencial de las casetes. Los disquetes de 720 KiB tienen dos caras, 80 pistas por cara y 9 sectores por pista. En total 2 x 80 x 9 = 1440 sectores. Cada sector puede almacenar 512 bytes, por lo que 1440 sectores x 512 bytes = 737280 bytes = 720 KiB. Los disquetes de 1440 KiB tienen el doble de sectores por pista, lo que equivale al doble de almacenamiento.

Los datos que indican donde se encuentran las pistas y sectores se escriben en el disco mediante el llamado formateo a bajo nivel. Lo normal es formatearlos con el número de pistas y sectores para los que están fabricados pero algunos disquetes con suficiente calidad se pueden formatear con más pistas y/o sectores para tener mayor capacidad, aunque perdiendo algo de fiabilidad o interoperabilidad entre disqueteras. Los disquetes solían venir ya formateados de fábrica listos para su uso.

En Linux se accede a las disqueteras mediante los dispositivos /dev/fdx. Para realizar el formateo a bajo nivel se utiliza el comando fdformat. Una vez terminado el formateo se verifica que se ha realizado correctamente, es común que los disquetes se dañen con el tiempo y es importante comprobarlos.

# fdformat /dev/fd0

Double-sided, 80 tracks, 9 sec/track. Total capacity 720 kB.
Formatting ...   6/0

...

Formatting ... done
Verifying ...  12

---

Verifying ... done

# fdformat /dev/fd0

Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.
Formatting ...  19/1

...

Formatting ... done 
Verifying ...  40

...

Verifying ... done

Una vez formateado a bajo nivel se pueden escribir datos directamente, por ejemplo con el comando dd, o formatear el disquete con un sistema de archivos sencillo como FAT12 o Ext2 que no ocupe mucho para dejar el mayor espacio posible para grabar archivos. Al disquete se le puede asignar una etiqueta para identificarle con el parámetro -n de mkfs.fat o el parámetro -L de mkfs.ext2. Con el parámetro -c se comprueba si el disquete tiene bloques defectuosos.

# mkfs.fat -n "DISCO 1" -c -v /dev/fd0

mkfs.fat 4.1 (2017-01-24)
attribute "partition" not found
/dev/fd0 has 2 heads and 9 sectors per track,
hidden sectors 0x0000;
logical sector size is 512,
using 0xf9 media descriptor, with 1440 sectors;
drive number 0x00;
filesystem has 2 12-bit FATs and 2 sectors per cluster.
FAT size is 3 sectors, and provides 713 clusters.
There is 1 reserved sector.
Root directory contains 112 slots and uses 7 sectors.
Volume ID is 3214dd78, volume label DISCO 1    .
Searching for bad blocks 32... 96... 224... 352... 480... 608...

# mkfs.ext2 -L "DISCO 1" -c -v /dev/fd0

mke2fs 1.44.5 (15-Dec-2018)
fs_types for mke2fs.conf resolution: 'ext2', 'floppy'
Filesystem label=DISCO 1
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
96 inodes, 720 blocks
36 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=786432
1 block group
8192 blocks per group, 8192 fragments per group
96 inodes per group

Running command: badblocks -b 1024 -X -s /dev/fd0 719
Checking for bad blocks (read-only test): done                                                 
Allocating group tables: done                            
Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done

En la actualidad sigue habiendo aparatos antiguos como ordenadores, teclados musicales o maquinaria industrial que siguen necesitando una disquetera para la introducción de información. En estos casos se suelen utilizar emuladores de disquetera que permiten introducir la información con memorias USB. Y si es necesario leer disquetes existen disqueteras USB. En el futuro espero escribir algún artículo sobre estos aparatos y conseguir una disquetera de 5,25" para ir aún más atrás en la historia de los disquetes.

No hay comentarios:

Publicar un comentario