Los disquetes de Amiga más usuales suelen ser de doble cara (DS), de densidad doble (DD, MFM). Esto significa que si los abres verás en su interior un disco flexible magnético como este:
Del cual se leen datos y se escriben por ambas caras (la cara 0 y la cara 1).
Los disquetes son vulnerables a la suciedad y los campos magnéticos externos, esto quiere decir que dejan de funcionar con el tiempo o por el desgaste.
En esta visualización de un disquete de amiga se ve todo verde porque ha sido convertido el disquete a formato ADF sin errores en los sectores (100% de los sectores leídos correctamente).
Los disquetes de Amiga más usados tienen una capacidad de 880, las disqueteras operan a una velocidad de 250Kbit/s, el motor a 300 RPM y tienen 80 pistas (0-79).
También es importante saber que existen muchos tipos de disquetes y disqueteras. Algunas disqueteras para sincronizar al meter un disquete buscan lo que se denomina el «index hole» y de esa forma saben ya como comenzar a leer el primer sector.
Ejemplo de una que no es de Amiga:
Los disquetes de amiga no tienen esos huecos. Los sistemas Amiga ignoran el orificio de posicionamiento que también suele venir en la parte metálica central, y realizan la detección de la primera pista exclusivamente por software.
Existen muchas formas de recuperar la información de un disquete de Amiga al día de hoy. En este post voy a indicar como hacerlo con una plaquita llamada: Greaseweazle V4
Si ya la has comprado y la tienes en casa has de conectarla a una disquetera. Si tienes una de amiga funcional (en mi caso ya no funciona) puedes usar una de PC si solamente buscas poder leer los discos y hacer un dump a un archivo.
Por tanto yo al final he tirado de una disquetera Samsung que tenía de un viejo PC, pero si tienes tú una de amiga pues mejor.
El software en GNU+Linux (debian, ubuntu, …) se puede instalar fácilmente así:
# apt install gcc python3-pip python3-dev $ python3 -m pip install setuptools_scm $ python3 -m pip install git+https://github.com/keirf/greaseweazle@latest
gw info para ver información y ver si se ha detectado. gw update para actualizar el firmware si es que es necesario.
La forma en la que yo estoy haciendo dump de los disquetes de amiga que tengo es así:
gw read --drive 1 nombredisquete.adf
Si tu lo tienes conectado con un cable de otra forma lo mismo has de indicar –drive 0
La cosa es que si todo va bien verás esto:
Terminará en la pista 79 (0-79 = 80 tracks) y si ha copiado todo sin sectores defectuosos verás esto:
El problema viene si no sale lo de 100%. Entonces puedes hacer varias cosas para mejorarlo.
A mi por ejemplo un disquete me ha dado bastante guerra porque me recuperaba solamente un 17% del contenido.
Found 312 sectors of 1760 (17%)
Eso es porque por defecto solo realizará 4 re-intentos de lectura. Si quieres mejorar la lectura puedes probar con más reintentos así:
gw read --drive 1 --retries 10 disco019.adf
Con 10 reintentos cada vez que encuentra sectores defectuosos puedes mejorar bastante. Con 40 reintentos algo más y con 50 por ejemplo más. Eso supone mucho más tiempo por cada disquete de modo que es para usar solamente cuando queremos intentar recuperar lo máximo:
Found 388 sectors of 1760 (22%) 10 ret Found 513 sectors of 1760 (29%) 40 ret Found 557 sectors of 1760 (31%) 50 ret
He conseguido por ejemplo subir ese 17% a un 31% solamente forzando un poco los reintentos.
Y el truco del almendruco es forzar a hacer un dump en crudo así:
gw read –drive 1 disco019.scp::disktype=amiga
Eso ocupará mucho más que lo que ocupa un adf y estará en formato scp. No obstante esto nos servirá para poder visualizar por ejemplo las partes defectuosas de las 2 caras del disquete:
Respecto a luego hacer algo con los archivos adf resultantes.
Podemos por ejemplo abrirlos con un emulador (en windows winUAE, en linux por ejemplo UAE o FS-UAE).
También se pueden montar para visualizarlos así:
mount -t affs -o loop disquete.adf /mnt/disquete/
También con Wine se puede ejecutar hxc2001.com/download/floppy_drive_emulator/index.html
Y sin wine compilando github.com/jfdelnero/HxCFloppyEmulator
Que nos permitirá ver información de las imágenes de disquetes creadas y también visualizar sus archivos y poder extraer alguno determinado que nos interese.
Y eso es más o menos todo lo que quería comentar.
Espero este post le pueda ser de ayuda a alguien.
Un saludo cordial.