Traducción del artículo del sitio web del programador y amante del viejo hierro Michael SlomkowskiUn viejo disco MFM, MiniScribe 2012, llegó a mis manos con el controlador. MFM es una
modulación de frecuencia modificada , y esta tecnología a menudo se asocia con discos duros voluminosos de la era anterior al IDE / Parallel ATA. Los datos antiguos almacenados en el disco (principalmente documentos de MS Word 4.0) tenían un cierto valor sentimental para el propietario anterior, por lo que decidí extraerlo.
Disco duro MiniScribe 2012
Disco duro: MiniScribe 2012 MFM, probablemente fabricado en 1984. Estaba parado en una computadora compatible con IBM XT. Este monstruo ocupa dos ranuras de 5.25 "y pesa más de dos kilogramos. Como se indica en las
instrucciones , su volumen es simplemente asombroso, hasta diez megabytes. El conector de alimentación es un Molex estándar. La unidad está conectada a la tarjeta controladora con dos cables.






El disco MiniScribe viene con un controlador ISA de 8 bits dedicado llamado WD1002A-WX1. Sus
especificaciones son fáciles de encontrar. El
archivo de texto contiene instrucciones de instalación; Además, una lista de dispositivos compatibles puede ser útil.
En teoría, el controlador puede funcionar con cualquier unidad que admita los protocolos ST506 / 412, pero en la práctica no es tan simple. La lista de sectores defectuosos debe almacenarse en la ROM del controlador. Esto requiere un software especial. A menudo, una nueva unidad comienza a funcionar después de conectarla a un nuevo controlador y realizar un formateo de bajo nivel.
Controlador de disco MFM WD1002A-WX1El controlador tiene su propio BIOS, que generalmente se llama
ROM de opción . Es invocado por el BIOS de la placa base durante la secuencia POST. El código registra un enlace en una interrupción INT 13 y como resultado se vuelve accesible desde DOS mediante una llamada de interrupción estándar.
Dispositivo
Afortunadamente, tenía una vieja placa madre AT (ATC-1020) con ranuras ISA y un procesador Pentium. No había disipador de calor en el procesador, pero instalé puentes en el tablero para que funcionara a la velocidad mínima y ajusté el disipador de calor temporal con una banda elástica. También puse un módulo RAM DIMM de 32 MB en la placa.

No tenía una tarjeta gráfica VGA para PCI o ISA, así que usé
MDPA con una pantalla monocromática amarilla especial. Su placa base reconoció con éxito lo que se ve en la fotografía.
Para verificar el disco, deshabilité el controlador IDE en el BIOS e intenté arrancar. El disco cobró vida e incluso arrancó: ¡salud!
Descargar desde PXE
Sugerí que para jugar con este disco MiniScribe, necesitaría utilidades de DOS, así que decidí arrancar desde el disquete de MS-DOS. Como es inconveniente meterse con discos físicos, decidí usar el arranque de red. Afortunadamente, tenía una tarjeta de red PCI Ethernet con soporte
PXE : 3com 3C905C-TXM
Para iniciar una imagen de disquete sobre PXE, necesita un gestor de arranque especial. Un popular es PXELINUX, que forma parte de Syslinux, el módulo
syslinux de Arch Linux. En una máquina Linux, debe crear un directorio para el arranque de la red y copiar allí
PXELINUX:
cp /usr/lib/syslinux/bios/{ldlinux.c32,memdisk,pxelinux.0} . mkdir pxelinux.cfg
Luego cree un archivo de texto pxelinux.cfg / default con los siguientes contenidos:
default dos
label dos
kernel memdisk
append initrd=fdboot.img
La imagen del disco de arranque debe guardarse como fdboot.img. Estos archivos se pueden descargar como un
archivo ZIP .
Una forma popular de configurar el arranque PXE es a través de los demonios dhcpd y TFTP. Esta es una tarea difícil, pero afortunadamente, encontré un servidor de arranque pequeño y fácil de usar (aur / netboot para Arch Linux). Combina las capacidades de los servidores DHCP y TFTP. En mi enrutador, lo inicié sin desconectar el servidor DHCP, ya que no parece que entren en conflicto.
Ejecute netboot en el directorio donde están los archivos de arranque PXE. Después de una solicitud DHCP, el servidor devuelve el archivo pxelinux.0 *.
netboot {broadcast IP} {local machine IP} {IP for client machine} {MAC pattern}
El {patrón MAC} debe coincidir con la dirección MAC de la tarjeta de red del cliente.
Por ejemplo, mi dirección LAN es 192.168.1.0, la IP de mi máquina Linux es 192.168.1.10 y el MAC de mi tarjeta 3com termina con 66:
netboot 192.168.1.255 192.168.1.10 192.168.0.20 -66
Como fdboot.img, utilicé la unidad estándar MS-DOS 6.22. Luego lo descargué todo, ¡y funcionó!
Intenta copiar datos de una unidad IDE
Como el controlador MFM tiene su propio BIOS, el disco era visible en MS-DOS. Pero necesitaba un disco en el que pudiera copiar archivos. Al principio decidí probar una unidad IDE. La placa base tenía dos canales IDE. Conecté una unidad de 40 Gb de Seagate. El sistema lo detectó, pero, desafortunadamente, después de eso, MFM dejó de estar disponible. Los juegos con puentes no ayudaron. Puede haber habido algún conflicto entre los dos procedimientos de disco.
Copiar datos a una memoria USB
Luego probé un enfoque diferente. Instalé una tarjeta de expansión PCI USB y controladores USBASPI para MS-DOS. ¡Ahora no había conflictos y pude copiar todo el disco en una unidad flash USB!
xcopy c:\ d:\ /e /k


Cuatro tarjetas de expansión en la placa base. De izquierda a derecha: tarjeta gráfica MDA, controlador de disco MFM, tarjeta de red Ethernet 3com, tarjeta de expansión USB.
Como resultado, obtuve más de doscientos archivos de Microsoft Word DOS, que
convertí a RTF .