Instalación y uso de una unidad de disco de 3" en un PC

Si hay una gran contienda pendiente en cuanto a la preservación de software de Spectrum se refiere, podríamos resumirla bajo cuatro siglas: EDSK. El formato definido por Doewich, Thacker y Vieth cubre, aparentemente, todas las expectativas de los entusiastas del +3, al soportar toda protección de disco conocida para las tres pulgadas. Sin embargo, no son muchos los que tienen una disquetera de 3“ instalada en su PC, requisito imprescindible para crear imágenes perfectas de discos de 3” en formato EDSK, así como para volcar éstas de nuevo a disco. Con este artículo trataremos de animar al lector a dar el paso que le permitirá preservar perpetuamente intactos sus discos de 3“.

Antes de ponernos manos a la obra, conviene advertir que ni el autor de este artículo, ni SPECCY.ORG, ni la redacción de Magazine ZX, se hacen responsables de los posibles daños que pudiese ocasionar en su PC u otros componentes al seguir esta guía. Particularmente el lector debe recordar que bajo ningún concepto puede conectar la disquetera de 3” a su PC simultáneamente a otras unidades de disco flexible (e.g., la de 3 1/2“), so riesgo de provocar daños irreversibles en la controladora o unidades de disco.

Con la instalación de una disquetera de 3” en nuestro PC perseguimos, principalmente, dos cometidos:

  1. Poder preservar discos de 3“, y especialmente los protegidos, en un archivo .DSK (imagen de disco en formato EDSK).
  2. Poder grabar discos de 3” a partir de imágenes como las anteriores, de tal modo que seamos capaces de utilizarlos directamente en nuestro +3.

Con respecto al segundo punto, existe la errónea creencia de que conectando una disquetera de 3 1/2“ al +3 (véase artículo relacionado de MagazineZX referenciado más abajo, en el apartado de enlaces), y copiando de 3 1/2” a 3“ por medio de un copión, podemos igualmente lograr tal propósito, pero lo cierto es que con ciertas protecciones de disco esto no funciona. Por el momento, la única manera de conseguir volcados perfectos de un DSK es conectando una unidad de disco de 3” a nuestro PC. En ello vamos a centrar nuestro esfuerzo de aquí en adelante.

  • Un PC. Si simplemente pensamos utilizar CPDRead/CPDWrite, nos basta con un PC viejo, al que le instalaremos MS-DOS. Un 486 o un Pentium lento es ideal. En caso de que queramos utilizar CPCDiskXP, necesitaremos un PC que pueda soportar un Windows 2000 o XP. Si estamos dispuestos a prescindir de la disquetera de 3 1/2“, podemos adaptar el PC de sobremesa que utilicemos habitualmente. Hay que tener presente que la unidad de 3” y la de 3 1/2“ nunca podrán estar simultáneamente conectadas.
  • Una faja de disquetera de PC convencional, con al menos un conector hembra para disquetera de 3 1/2” (34 PIN IDC). La misma faja que lleve el PC bastará, con toda seguridad.
  • Tijeras y/o cutter. Será necesario realizar algunos cortes en el cable plano.
  • Un conector IDC de 26 pines. En caso de apuro, podemos sacarla de una faja de diskettera de un +3.
  • Una disquetera de 3“. Igualmente, podemos extraerla de un +3 o CPC6128.

Afortunadamente, no es necesario que destripemos un +3 si no queremos, sino que podemos acudir a alguno de los múltiples vendedores que existen en la red, como el afamado John R. P. King, especialista en las 3 pulgadas: http://www.pcwking1.netfirms.com/plus3.html (no, no es colega, ni cobramos comisión por la publicidad ;-))

Otra opción es, por supuesto, comprar una unidad externa de disco Amstrad FD-1 y conectarla al PC. De ese modo te evitarás realizar el montaje del que versa este artículo, ya que no necesita ningún tipo de adaptador (el conector es IDC de 34 pines).

Foto: José Leandro Novellón



Esquema del cable

La disquetera del PC tiene más señales que la disquetera de 3”. Será necesario adaptar el cable para poder conectar la disquetera de 3“. Por suerte, las modificaciones son pequeñas y la mayoría de señales y pines coinciden en ambos casos.

El cable que fabricaremos aquí permitirá conectar una disquetera de 3” como unidad “A:” en un PC.

El esquema del cable es el siguiente:


Pin 3.5“ Pin 3” Description
2 NC Density Select
4 NC Reserved
6 NC Reserved
8 2 Index
10 8 Motor Enable A
12 6 Drive Sel B
14 4 Drive Sel A
16 NC Motor Enable B
18 10 Direction
20 12 Step
22 14 Write Data
24 16 Floppy Write Enable
26 18 Track 0
28 20 Write Protect
30 22 Read Data
32 24 Head Select
34 26 Disk Change

Nota: todos los pines impares son GND.


Construcción

Con ayuda de las tijeras, cortamos el conector IDC 34 que está después del cruce de cables.

Si nos fijamos en el cable, veremos que hay un cable pintado de rojo. Esto nos indica cual es el hilo número 1.

Foto: José Leandro Novellón


Pasamos a eliminar los cables que no necesitamos. En este caso, los cables que van del 1-6 y la pareja 15-16.

Para juntar los cables, antes de presentarlo sobre el conector IDC de 26 pines, podemos usar un poco de celo o cinta aislante. Al cortar algunos cables, el resto se resisten a quedar perfectamente alineados.

Foto: José Leandro Novellón


Presentamos el cable sobre el conector IDC 26 el cual solo puede ser puesto en una posición. En el conector hay una flecha en un extremo que indica cual es el cable número 1. Si no encontramos la flecha nos podemos valer de la muesca grande en el centro del conector. En la foto se puede ver que el cable número 1 es el primer cable empezando por arriba y que no se ve la muesca (está en la otra cara)

Foto: José Leandro Novellón


Comprobaremos que los cables quedan encima de los dientes del conector IDC 26. La pieza que cierra ayuda pues tiene una ligeras marcas.

Con la ayuda de un martillo, iremos golpeando la pieza que sujetará el cable contra el conector. Poco a poco veremos como va bajando y el conector quedará cerrado del todo.

Foto: José Leandro Novellón


El cable ya está finalizado. Si se dispone de un polímetro, es aconsejable comprobar que hay continuidad entre ambos el conector de PC y el de la disquetera de 3“.

Foto: José Leandro Novellón


En primer lugar, insistimos en que la unidad de 3 1/2” debe estar desconectada del PC. Es importante recordarlo: ambas unidades nunca pueden coexistir.

Listo el cable de datos, es necesario adaptar el conector de alimentación del PC que irá a la toma de la disquetera de 3“. En la siguiente imagen, se muestra el conector de alimentación de una disquetera de 3 1/2” (izquierda) y el de una de 3“ (derecha). Como puede verse, la toma de alimentación de 3” lleva intercambiadas las señales de +5v (cable rojo) y +12v (cable amarillo). Por tanto, deberemos intercambiar dichos cables (rojo y amarillo) en el conector de nuestro PC. Las señales de tierra (cables negros) pueden quedar igual:

plus3-8.jpg

Foto: Jaime González Soriano


En la propia imagen puede observarse como el conector cuenta con cuatro pequeñas ranuras, a través de las cuales se ve la terminación metálica de cada uno de los cables. Para poder extraer uno de ellos, basta con introducir un destornillador plano por la ranura correspondiente, de manera que desplace levemente la terminación metálica del cable hacia abajo, y luego tirar del cable hacia fuera. No es necesario apretar fuerte con el destornillador; se trata simplemente de aplicar la presión de forma correcta.

plus3-9.jpg

Cómo intercambiar los cables rojo y amarillo con ayuda de un destornillador


Finalmente, conectaremos la disquetera a la controladora de disco del PC (FDC) empleando el cable de datos que hemos desarrollado, y enchufaremos el recién adaptado conector de alimentación a la correspondiente toma de la disquetera. A continuación, arrancamos el PC, entramos en la configuración de la BIOS y, si ésta nos lo permite, definimos la unidad de disco como 5 1/4“ 360 Kb. También podemos quitar la unidad A: de la secuencia de búsqueda de dispositivos de arranque (bootup sequence) ya que carece de sentido arrancar el PC con un disco de 3”.

Nótese que si la luz de la disquetera permanece continuamente encendida será muy probablemente porque hemos conectado el cable de datos al revés.

Para manipular discos de 3“ existen tres herramientas: CPD TOOLS (MS-DOS), CPCDiskXP (Windows) y SamDisk (Windows, aún en versión beta), cada una de ellas con sus pros y contras, que serán analizados más adelante. En caso de querer utilizar únicamente una de estas herramientas, bastará con tener instalado el sistema operativo correspondiente (MS-DOS o Windows). Pero si queremos poder utilizar las tres, algo que a día de hoy (diciembre de 2007) es más que recomendable, será imprescindible configurar un arranque dual (dual-boot). Esto implica el consiguiente particionado de nuestro disco duro (a menos de que estemos dispuestos a sacrificar un disco duro, destinándolo íntegramente a MS-DOS).

Si ya contamos con un sistema Windows, ¿realmente es necesario hacer una partición con MS-DOS? Bien. La cuestión es que, hasta donde conocemos, no es posible ejecutar satisfactoriamente CPD TOOLS desde el símbolo de sistema en Windows NT. Desgraciadamente, el S.O. interfiere con las operaciones a bajo nivel que las CPD TOOLS realizan con la disquetera. Y, dado que no tenemos disquetera de 3 1/2” en el PC, puesto que no pueden estar ambas conectadas al mismo tiempo, tampoco podemos emplear un disco de arranque con MS-DOS. Así pues, asumiremos que vamos a tener una pequeña partición con MS-DOS para las CPD TOOLS (puede ser FAT16 ó FAT32), y otra con Windows 2000/XP/…, desde la cual ejecutaremos CPCDiskXP o SamDisk (y que será FAT32 o NTFS).

Una de las cosas que primero debemos tener en cuenta es que, para que MS-DOS pueda arrancar, es necesario que se encuentre alojado en el primer disco duro, en una partición primaria. Suponiendo que no queremos tener discos duros dedicados, sino que vamos a particionar el disco principal, esto implica que tendremos al menos dos particiones primarias: la de Windows y la de MS-DOS.

plus3-10.jpg

La disquetera después de montarla en el PC


Si vamos a partir de cero, podemos particionar el disco por medio de FDISK, instalar después MS-DOS, y a continuación instalar Windows 2000/XP, y de ese modo tendremos arranque dual. La partición que se encuentre físicamente en primer lugar será la que reciba la letra de unidad C: en Windows, aunque el S.O. se encuentre instalada en la otra (¡ojo con esto!).

En cualquier caso, a menudo la situación es diferente: tenemos Windows 2000/XP instalado, y lo que queremos es habilitar una nueva partición para instalar MS-DOS sin destruir lo que ya tenemos. Una opción es utilizar una herramienta como Partition Magic, si disponemos de la correspondiente licencia. La otra, utilizar software libre, para lo cual es útil seguir la guía de TR-LOG incluida en la sección de enlaces, y que se resume en tres pasos: (1) ejecutar un CD de arranque de Linux que incluya un gestor de particiones como GParted o QTParted, y con él reparticionar el disco, (2) instalar MS-DOS 7.1, también desde CD autoarrancable, y (3) instalar un gestor de arranque (boot loader) como puede ser GAG. Se trata de un proceso bastante mecánico y sencillo.

El interés de instalar el denominado MS-DOS 7.1 (una versión no oficial, por cierto) radica no sólo en el soporte en que es distribuido (CD autorrancable) sino en la posibilidad de dar soporte a FAT32 y nombres largos, lo que será muy útil si pretendemos manipular la partición de MS-DOS desde Windows (y realmente así será, con el fin de transferir los DSKs de una a la otra - recordemos que no tenemos disquetera para poder moverlos; y además, si la de Windows es NTFS, dicha partición será invisible desde MS-DOS). En ese sentido, conviene apuntar que, si la partición de Windows tenía originalmente asignada la letra de unidad C: en el sistema, deberíamos crear la partición de MS-DOS físicamente a continuación (y no antes) de ella, pues de otro modo será invisible desde Windows. No obstante, tampoco debería estar más allá del cilindro 1024, de acuerdo con algunas fuentes.

Para volcar discos a DSK, así como para pasarlos de DSK a disco, existen tres herramientas en funcionamiento: la más antigua pero todavía “la reina”, las CPD TOOLS, funcionan únicamente sobre MS-DOS. Para suplir la carencia de una herramienta sobre Windows nace CPCDiskXP, disponible para Windows 2000 / XP y en adelante. Y en este artículo os presentamos también una herramienta que se encuentra aún en fase beta, pero que vendrá a ampliar el parque de herramientas para Windows 2000 / XP, y posiblemente también para Linux: la nueva versión de la herramienta SamDisk, originalmente concebida para los discos de Sam Coupé.

Antes de pasar a repasarlas con más detalle, es de justicia nombrar una aplicación que hoy en día resulta casi imprescindible para los que trabajamos con DSKs: el SPIN Disk Manager de Damien Guard. Aunque no entraremos aquí a explicar su funcionamiento, incluimos un enlace a la página web del programa, puesto que os resultará un útil compañero a la hora de, por ejemplo, detectar posibles deficiencias en vuestros DSKs.

En los números 1 y 2 de MagazineZX, Miguel realizó un reportaje muy detallado sobre estas dos herramientas, creadas por Kevin Thacker (uno de los autores del formato EDSK). Dada la minuciosidad de dicho artículo, no incidiremos de nuevo sobre ello. No obstante, es conveniente remarcar que CPDRead es, de las públicamente disponibles a día de hoy, la herramienta más potente para preservar discos de 3“ en formato EDSK. Por tanto, si nuestro objetivo es preservar discos de 3”, será absolutamente necesario crear una partición con MS-DOS para poder sacar pleno potencial a la unidad a través de esta herramienta.

Las CPD TOOLS siguien siendo hoy en día las herramientas “oficiales” para volcado de discos, y son capaces de manejar muchas de las protecciones de disco de +3 y CPC. CPDRead es capaz de procesar discos con tamaños mixtos de sector, errores de datos, marcas de dirección (address marks) borradas y sectores de 8K truncados. Al ser una herramienta antigua, no incluye las últimas revisiones del formato EDSK, con lo que no es capaz de almacenar múltiples copias de los sectores erróneos o débiles (utilizado por el sistema Speedlock) o almacenar más de 6144 bytes de los sectores de 8K (necesario p.e. para Coin-Op Hits, Final Fight u otros). Tampoco es capaz de manejar discos que tienen tamaños de cabecera ID inválidos (empleado p.e. en los discos de utilidades de Kobrahsoft SP5, SP6 y SP7). No obstante, es capaz de procesar la inmensa mayoría de discos publicados para el +3.

plus3-11.jpg

CPDRead en funcionamiento


CPCDiskXP es una herramienta desarrollada por Óscar Sánchez, alias Mochilote, para poder transferir discos a DSK, y viceversa, desde Windows 2000 o superior. Es, sin duda alguna, un excelente complemento para CPD TOOLS; y para algunas cuestiones, un más que digno sustituto. CPCDiskXP requiere instalar un driver elaborado por Simon Owen (autor de SamDisk) para acceder a bajo nivel a la controladora de disco, llamado fdrawcmd.sys, y que viene incluido en el propio paquete de CPCDiskXP (basta con lanzar un ejecutable para que quede instalado en el sistema de forma permanente, siendo desinstalable del mismo modo). A la fecha de redacción de este artículo, la última versión disponible de CPCDiskXP es la 1.6.

El funcionamiento de CPCDiskXP es muy intuitivo, gracias a su atractiva interfaz gráfica. En la pantalla principal contamos con dos grandes iconos para pasar de DSK a disco 3“ y de disco 3” a DSK, y con otros botones más pequeños para poder formatear un disco u obtener información del mismo. Durante la lectura de un disco, se nos muestra un mapa de sectores en el que se puede seguir el proceso y observar el estado de cada uno de los sectores. Para la escritura, se nos muestra simplemente una barra de progreso.

CPCDiskXP soporta discos estándar de +3 y CPC y algunas protecciones de disco relativamente básicas. En la versión 1.6 aún no es capaz de manejar discos con tamaños mixtos de sector, IDs falsos, errores de datos, sectores de 8k truncados, o sectores débiles (weak sectors). Desgraciadamente, esto significa que la mayor parte de los discos protegidos no pueden ser volcados de forma correcta. No obstante, su interfaz gráfica lo hace ideal para tareas básicas. Además, nos permite elegir el número de reintentos en caso de error en lectura, algo de lo que CPDRead carecía y que sus usuarios siempre han echado en falta (aunque en caso de error final, el programa deja desafortunadamente todo el sector en blanco en el DSK).

A pesar de ello, CPCDiskXP es una herramienta muy útil en los tiempos que corren, teniendo en cuenta que nos permite hacer uso de la disquetera desde Windows de forma rápida e intuitiva, sin necesidad de abandonar nuestra sesión del Sistema Operativo.

plus3-12.jpg

plus3-13.jpg

SamDisk es una herramienta para Windows 2000/XP, originalmente pensada para la manipulación de discos de Sam Coupé, y desarrollada por Simon Owen (autor también del emulador Sim Coupé). La última versión publicada es la 2.0, pero hemos tenido acceso a una beta de la versión 2.1.1 que permitirá el manejo de discos de 3“. A pesar de contar con una apariencia mucho más austera que las herramientas anteriormente mencionadas (se maneja desde línea de comandos), SamDisk parece llamada a convertirse en la aplicación definitiva para el manejo de discos de 3”.

SamDisk nos permite leer, grabar, formatear o examinar discos a nuestro antojo, de forma similar a cómo funciona la versión actual de SamDisk para discos de Sam. De muestra, un botón:

  • Copiar de disco a imagen EDSK (42 pistas, sólo cara 0):
    SamDisk a: myimage.dsk /t:42 /s:0
  • Copiar imagen EDSK a disco (la geometría del disco se obtiene de la imagen):
    SamDisk myimage.dsk a:
  • Examinar disco (nos da información más allá de lo que queda almacenado en EDSK, y por tanto es útil para examinar discos desconocidos):
    SamDisk /scan a: /t:42 /s:0 /a

El parámetro /a muestra dónde se encontraron los sectores en cada pista, lo que permite determinar el tamaño de los huecos (gaps), así como mostrar qué sectores fueron escritos a propósito sin un campo de datos. Se puede emplear también el parámetro /scan sobre imágenes EDSK, pero en ese caso la información sobre la posición no estará disponible.

Es de esperar que Simon cambie ligeramente la sintaxis de invocación del programa en el momento en que aparezca la versión Linux, debido al uso de la barra oblicua (“/”) para pasar los parámetros.

SamDisk 2.1.1 hace uso de las últimas revisiones del formato EDSK para soportar discos que anteriormente no podían ser volcados. Puede leer y escribir tamaños mixtos de sector, errores de datos, campos de datos inexistentes, sectores bobos (dummy sectors), IDs falsos y sectores de 8K truncados. Tiene la capacidad de escribir sectores débiles (necesario para los discos protegidos con Speedlock) así como sectores de más de 6K (como los de Coin-Op Hits) empleando una unidad ralentizada. Puede escribir también discos protegidos con Alkatraz, solucionando un problema con el cargador de arranque que evitaba que funcionasen en unidades de 3.5“. Hasta donde se conoce, es capaz de escribir todas y cada una de las imagenes EDSK tanto de +3 como de CPC.

Por supuesto, nos permite elegir el número de reintentos en caso de error de lectura. Como puntos negativos de la herramienta, hay que destacar que los DSK que genera a veces no son compatibles con emuladores y herramientas antiguas, al seguir las últimas revisiones del formato EDSK. De hecho, al almacenar múltiples copias de los sectores erróneos, nos encontramos con que los malos volcados a menudo dan problemas con determinados programas. Como efecto lateral, el fichero DSK puede resultar notablemente más grande de lo habitual en el caso de que aparezcan múltiples sectores erróneos y hayamos marcado varios reintentos. Y, por supuesto, se echa de menos una interfaz gráfica como la de CPCDiskXP.

A pesar de esto último, podemos afirmar con rotundidad que, cuando la versión definitiva de SamDisk vea la luz, tendremos la herramienta casi definitiva para el manejo de discos de 3” en el PC. Mientras tanto, os recomendamos la instalación de un arranque dual, y el uso de CPCDiskXP para las tareas rutinarias, y CPD TOOLS para tareas de preservación y manipulación de discos protegidos más específicas.

A Jaime González Soriano, por la foto de los conectores de alimentación, y a Simon Owen por la información facilitada y la versión beta de SamDisk.

(To Jaime González Soriano, for the photo of the power supply plug, and to Simon Owen for all the information he kindly provided and the beta version of SamDisk.)