Convertir un Spectrum +2A en un Spectrum +3

    (O lo que es lo mismo, construir una disquetera para el +2A)

Introducción:

    Tras leer el artículo 'back to the three' en el que se explica como diseñar un interface de disquetera para el +2A/+2B, me animé a construir uno. Aquí podréis ver los pasos que realicé para construir un interface de disquetera, disfrutar del uso de una disquetera de 3.5" y convertir tu +2A/B en todo un +3.

    En la página  'back to the three' se puede ver un diseño impreso sobre el esquema teórico. Se basa en la unión de una placa del diseño original 'http://www.simandl.cz/index_a.htm' más una segunda donde incluye lo necesario para controlar un disco duro.  Sin embargo aquí podreis ver otro diseño distinto.

    Ya disponía del interface de disco duro para los +2A/B,+3 y no quería tener que poner muchos más trastos y cables por medio. Como tenía juntos un disco duro y una minifuente AT ¿Por que no crear una placa que aprovechase las señales que iban por el cable de este interface?  De esta manera sólo tendría un pequeño inteface a la salida del bus de expansión del Spectrum que conectaría, a traves del cable plano de 40 hilos, el disco duro más  la controladora, la disquetera y la minifuente AT.

Teoría de funcionamiento:

    El spectrum +2A/B y el +3 poseen la misma ROM. Cuando el ordenador arranca detecta la existencia o no de la disquetera, mostrando por pantalla el tipo de Spectrum que es. La controladora que aquí se describe indica a la ROM que dispone de disquetera y que por lo tanto se puede comportar como un Spectrum +3. De esta manera no hay que incluir ningún software adicional, dado que ya se encuentra todo lo necesario en la ROM del Spectrum.

    Este diseño esta basado en el mismo chip que llevaba originalmente +3, el UPD756A también conocido como INTEL 8272 FDC. El otro chip 'estrella' de este diseño es la PROM 74s188, que es una PROM rápida de tecnología TTL con un tamaño de  32 bytes y con salidas en  colector abierto. En esta PROM se almacena cierta información que combinada con lo se lee fisicamente de un disquete sale los datos. Un fallo en la información almacenada en la PROM provocan fallos en la lectura del disquete.

    La información almacenada es esta PROM se muestra en la siguiente tabla:

address 00H 11H 11H 22H 22H 33H 33H 44H 44H DDH DDH EEH EEH FFH FFH 00H 00H
address 10H 11H 22H 33H 44H 55H 66H 77H 88H 99H AAH BBH CCH DDH EEH FFH 00H

    En la ultima sección de este artículo podéis descargar un fichero con estos datos en formato binario. Este fichero se utilizará para grabar la PROM.

Manos a la obra:

    Lo primero fue comprobar que aún es posible comprar los chip para este montaje. Este paso es fundamente puesto que el UPD765A / INTEL 8272 en un chip antiguo. Se usaba, además del Spectrum y otros microordenadores, en los primeros XT y AT. Era, por tanto, un chip bastante extendido en aquella época pero que ahora ya no se utiliza al estar incluido dentro del los chip de las placa base modernas. En cuanto a la PROM 74s188 lo importante es que podamos programarla (o el establecimiento donde la compremos pueda).

    En mi caso, compré los componentes en Conectrol (Madrid). Además de tener de todo el material necesario, disponen de servicio de grabación de PROM, EPROM, etc. Solo hay que llevar el disquete con el fichero binario y listo.

Modificar el interface de disco duro:

    Llegados a este paso había que comprobar si se podía modificar el interface de disco duro.  Las señales del bus de expansión que necesitamos para la controladora de disquetes son:

D0
D1
D2
D3
D4
D5
D6
D7
RESET
A12
MOTOR ON
DISK RD
DISK WR

    Las señales en verde ya eran usadas en el interface de disco duro. Las  rojas son señales nuevas. Estas señales del bus de expansión eran utilizadas para la disquetera externa que ofrecía Amstrad que convertía el +2A/B en un +3.

    Así que había que transportar 3 nuevas señales, las cuales no debían influir en el comportamiento del disco duro. Mirando el estándar IDE se puede ver que hay 3 hilos que no se utilizan. Estos hilos son el 21, 29, 34.

    Por tanto, sólo es necesario realizar tres nuevas soldaduras para adaptar el interface de disco duro a su nuevo propósito. El esquema del interface modificado queda de la siguiente manera:

Esquema interface disco duro

    Creación de la placa base:

        Una vez modificado el inteface, se modificó el esquema de la disquetera para el +2A para albergar un conector IDC de 40 pines ( el conector de disco duro) en vez del conector para el bus de expansión. El esquema quedó así:

(pulsa para ver la imagen en grande)

    Para la creación de este diseño estaba la opción de usar placa preperforada o realizarla en una placa definitiva. En mi caso opté por la placa definitiva. Para el diseño del esquema y su paso a placa, he utilizado el programa Eagle que esta disponible tanto para windows como para linux y tiene una licencia Freeware para uso personal .

    Tras unas cuantas horas y un par de intentos me salió la placa. El tamaño de esta placa es de 100x80mm. Sale un diseño a  2 caras y tiene 5 vias. Este es el aspecto de la placa original.



    Lo siguiente que vino fue la parte más pesada del trabajo. Transparencias con las pistas, insolar, ácido, taladrar,etc .Las placas a 2 caras son difíciles porque si no se ajustan bien las transparencias, luego no concuerdan los agujeros (Como me ocurrio a mí). Además las caras no están comunicadas (como pasa en las profesionales) y es fácil no realizar alguna soldadura.

    Una vez taladrada toda la placa tocó la hora de soldar. Para todos los chip se pusieron  zócalos para facilitar el trabajo. Para las soldaduras de la cara superior si no podía meter el soldador, ponía un hilo de cobre y soldaba arriba y abajo. Así están las 2 caras comunicadas y se puede soldar fácilmente por abajo.

    Primero soldé las vias, seguí por los zócalos, conectores IDC y terminé por las resistencias y condensadores. Los condensadores de desacoplo C3-C10 no estaban inicialmente incluidos para facilitar algo el diseño . Para no omitirlos, los he soldado directamente en la cara inferior entre los terminales de VCC y masa de cada chip. Los conectores IDC son acodados pero descubrí que el de la disquetera, al ponerlo, quedaba con la muesca arriba en vez de abajo. Había 2 soluciones: quitarlo y comprar uno normal o hacer la muesca por debajo y tapar la superior. Finalmente opte por la segunda solución.

    Para dar alimentación a esta placa y dado que todo el sistema se alimenta de la fuente AT, coloque un conector de alimentación para este tipo de fuentes.

    Ya sólo quedaba colocar los chips y así finalizar la placa .  El aspecto real de la placa es el siguiente:

Cara superior:


Cara inferior:

         

La disquetera:

    Este diseño soporta hasta 2 disqueteras de media densidad. Pero en la actualidad estas disqueteras no existen ya que fueron sustituidas hace mucho tiempo por las de alta densidad. Sin embargo esto no es ningún problema pues si se usan disquetes de media densidad, la disquetera pasa a comportarse como una unidad de media densidad.

    Para este montaje, es necesario realizar un par de modificaciones a la disquetera para que pueda funcionar correctamente. Para las pruebas he utilizado una disquetera de un pentium 100 y otra con fecha de fabricación del 2000. Ambas se pudieron modificar con éxito para su utilización con el Spectrum.

    Sin embargo, se ha detectado que no todas las disqueteras permite estas modificaciones. Es imprencindible que antes de empezar con este montaje dispongamos de una disquetera que permita estas modificaciones. Se muestra a continuación algunas disqueteras encontradas hasta ahora:

NO MODIFICABLES - EPSON SMD-340 (No RDY)
- SONY MPF520-1 (No RDY)
MODIFICABLES
- Y-E DATA 702-D  ( Jumper para DS0 y RDY)
- MITSUMI 739T3   ( Jumper para DS0 y resistencia SMD para RDY)
- PANASONIC JU-257 (Switch para DS0 y RDY)
- CHINON FZ-357    ( Jumper para DS0 y RDY)

¿Porqué hay que modificarlas?

    Todas las disqueteras de PC viene configuradas por defecto como unidades esclavas (DS1) y mediante el uso de la bios y el cable que traen los PC se ajustan a las necesidades requeridas.

    Pero para este diseño se necesita  que esté configurada como maestra (DS0). Para modificar este parámetro, algunas disqueteras traen un jumper. Otras traen resistencias SMD que tendremos que desoldar y volver a soldar para poder pasar de DS1 a DS0.

    La otra modificación afecta a la función del pin 34 de las disqueteras. Para este diseño es necesario que la disquetera indique que está READY para su uso, función que no es necesaria en el PC.  Al igual que el caso anterior, las disqueteras suelen traer jumper o resistencias  para cambiar la configuración de esta función.

    Como muestra, indico a continuación esas modificaciones sobre la disquetera que utilicé finalmente:



    Como se puede comprobar, para el PC venía configurada como DS1 y DC por defecto (ON). Para su uso en el Spectrum, se han cambiado los jumper DS0 y RY para que estén ON (por tanto DS1 y DC pasan a OFF).

    Todo esto es para el caso de usar 1 disquetera. En el caso de querer poner 2 disqueteras, aunque no lo he podido probado, no habría que tocar nada.

    Si no se dispone de una disquetera que admita RDY existe, según 'back to the three', una opción. Consiste en puentear con un cables los pines 10 y 34 en el conector de la disquetera. De esta forma cuando se selecciona la disquetera decimo que además está preparada. Los resultados obtenidos no son tan buenos como los de disqueteras con señal RDY pero al menos funciona (al menos con mi disquetera).

    Para conectar la controladora y la disquetera utilicé inicialmente un cable de PC. Se utilizó la parte totalmente plana (La que se usa en el PC para la disquetera B). Al final corté el cable y rehice el conector para dejar el cable un poco más corto.

Arrancando:

    Una vez construida, tocaba ponerla en marcha. Llego la hora de la verdad.

    Al arrancar mi Spectrum +2A me mostró la siguiente pantalla:



    Como podréis comprobar indica que ahora es un Spectrum +3. Detecta una disquetera y un IDE. En la parte inferior indica que existe 'A' y 'B'. Sin embargo, con una sola disquetera solo 'A' es real.

    La disquetera estaba lista para ser usada. Admite tanto disco formateados a 180K como los formateados a 720K. Como curiosidad, comentar que la luz de la disquetera siempre está encendida. Cuando no lee, es una luz muy tenue y cuando lee  se ve la típica luz del led. Comentando esta partícularidad con Philip me indicó que en su caso también pasa igual y es cosa del diseño.

Galería de fotos:

Interface disco duro

 
Conexión disco duro y controladora de disquetes.


Todo junto


Aspecto final. He construido una caja de madera para almacenarlo todo.



Actualización (octubre 2003).

   
   
He realizado un pequeño retoque a la placa para que pudiera albergar los condesadores que elimina el ruido TTL en la cara superior. Estas modificaciones han sido probadas con buen resultado. La recomendación es que uses los esquemas y placas actualizados.

Todo lo que se necesita para construir esta controladora:

Componentes

        Todos los componentes que se necesitan

Datos de la PROM

        Fichero con los datos.

Eagle.

        Esquemas y placa actualizada

        Esquemas y placa original

        ¿Quieres descargarte la versión Freeware de Eagle?

PDF
        Por si no dispones del eagle

        Esquemas y placa actualizada

        Esquemas y placa original

Extras
         Buscando datos sobre disqueteras encontré este documento donde viene como se configuran algunas de ellas.
         Disqueteras

   
Agradecimientos

        A la gente del grupo de noticias es.comp.sistemas.sinclair que me han animado a escribir este articulo (con lo malo que soy escribiendo)
        Thank to Philip Mulrane, writer of the 'back to the +3' article to answer some cuestions. Of course, thanks to Philip and Petr Simandl, the writer of the original page, to put all this infomation for all people.


Artículo escrito por José Leandro Novellón