Montaje de un interface de ROM externa para ZX Spectrum

Si sabes cómo hacer algo, prepara un tutorial y ayuda a tus compañeros

Montaje de un interface de ROM externa para ZX Spectrum

Notapor Sinclair » 23/09/2013 17:04

Hola compañeros, resulta que recientemente y gracias a la inestimable colaboración de Flopping, he podido terminar de montar un interface de ROM externa para mis queridos ZX Spectrum, experiencia que quiero compartir para que cualquiera pueda hacerse uno por poco dinero.

Este interface que en principio iba a ser una cosa muy sencilla (que no es que no lo sea ahora), finalmente permite montar EPROMS/EEPROMS de distintos tipos y tamaños, pudiendo así por ejemplo, seleccionar de una de 512K cualquiera de sus 4 bancos de memoria de 16Kb. Además se le han incluido dos pulsadores, que generan el primero un Reset y el segundo una NMI (algo muy útil para ROMS de tipo pokeador o de volcado de memoria a cinta).


MATERIAL NECESARIO

- Soldador y estaño.
- Placa de prototipo de 7x9cms.
- Conector tipo "edge" que se puede obtener de los conectores ISA/EISA de un viejo PC.
- Zócalo de 28 pines.
- Una EPROM/EEPROM de al menos 128K
- Dos pulsadores.
- Dos filas de pines de tres y uno de dos pines para los puentes (reciclable también de la placa de un PC o de la de una unidad de CD-ROM como hice yo)
- Tres puentes o jumpers (igualmente reciclables de placas base).
- Dos integrados 74LS32, o como alternativa totalmente válida (la que adopte yo): cuatro diodos 1N4148 y 2 resistencias de 10K.
- Un condensador cerámico de 10nF y una resistencia de 1M.
- Cable lo más fino posible (bueno, sin pasarse tampoco)

Y lógicamente, será necesario también grabar una o varias ROM en la EPROM/EEPROM.
Si no se dispone de grabador, seguro que los que tenemos uno, no tendremos inconveniente en hacer la grabación al que no lo tiene.

Con todo y con esto, y sin contar el soldador y el estaño, que se supone que casi todo el mundo tiene, estimo que el coste total del interface tirando por lo alto no debería superar los 10 Euros.

ESQUEMA

Imagen

Simplificado, y sustituyendo los chips de puertas lógicas por diodos y resistencias, queda así:

Imagen

Bueno, faltarían los pulsadores de reset y NMI que son una tontería de ná que explico más adelante.


CONSTRUCCIÓN

Inicialmente soldamos sobre la placa de prototipo el "edge slot conector" y el zócalo de 28 pines que alojará posteriormente la EPROM/EEPROM.

Imagen

Observar que el conector ha sido adaptado al del Spectrum, para ello se han dejado solo 28 conectores y este se ha subdividido en dos. Un buen tutorial para hacer esta conversión podrían ser los pasos 1 al 4 de este otro tutorial.

El siguiente paso sería conectar inicialmente, las lineas de datos, de direcciones, la de tensión y la de masa, entre el conector y el zócalo. Una buena idea para no perderse es imprimir el esquema e ir marcando las conexiones que se vayan haciendo:

Imagen

No tomar al pie de la letra el cableado de esta foto, ya que como vereis más adelante no es el definitivo.


Ahora hago la colocación de los pines para el puenteado que permite hacer la selección de la ROM grabada en la EPROM/EEPROM, y los componentes (diodos y resistencias) que hacen la función de puertas lógicas, tal y como se describe en el esquema:

Imagen

Imagen


Llegado a este punto, sólo nos quedaría acoplar los pulsadores de reset y NMI junto con sus respectivos mecanismos, según este esquema:

Imagen

Como puede verse acontinuación, se ha añadido también en este mismo paso el tercer puente que permite activar o desactivar la ROM externa.

Imagen

y a falta de instalar el circuito que genera la señal NMI, lo se muestra a continuación sería el aspecto del lado del cableado del interface.

Imagen


Aquí ya si que se ha montado el pequeño circuito del NMI, y en este caso, como no encontré una resistencia del valor apropiado, conecté dos en serie que suman aproximadamente el mismo valor:

Imagen


EL RESULTADO

Como vereis seguidamente, le he añadido una etiqueta, que es algo que siempre queda bien ;), pero que sobre todo describe la función de los pulsadores y la configuración de los puentes para seleccionar un banco de memoria u otro en los distintos tipos de EPROM/EEPROM, y que aunque no lo pudiera parecer, no se limita a las del tipo 27c y 28c :-) .

Imagen

Y este es el aspecto final del interface acoplado al Spectrum, donde se ha podido comprobar su funcionalidad sin ningún chip montado, y que se limita en este caso a la generación de un Reset y de una NMI (que sin niniguna ROM externa que la interprete equivale a un reset).

Imagen


PROBANDO EL INTERFACE

Una vez finalizado el interface, ya no falta nada más que cargarlo con algunas de las ROMS que más nos gusten.
En mi caso he hecho una recopilación de varios sitios, y con cuatro EEPROMS de 512k que tenia, me grabado cuatro juegos de ROMS en cada una, osea en total tengo dieciséis.

Para grabar las EEPROMs he utilizado este grabador:

Imagen

El software que he utilizado ha sido el mismo que trae el grabador que se llama Topwin 6. Este soft funciona solo en sistemas de 32 bits, pues aunque en su web está anunciada ya la versión 7 que se supone que funciona en sistemas x64, este no anda nada fino aún.
Así que, me ha tocado tirar de maquina virtual de Windows XP, y sin problemas:

Imagen

Para unir varias ROMS en un único fichero (que es el que se graba de una vez en la EERPOM) utilizaremos desde la línea de comandos de Windows el comando copy con el parámetro /b, de la siguiente manera:

Código: Seleccionar todo
copy /b rom1.bin + rom2.bin + rom3.bin + rom4.bin rom1234.bin


Las EEPROMS grabadas:

Imagen

... y las mismas EEPROMS una vez etiquetadas:

Imagen


Y para finalizar, como no podía ser de otra manera, probamos un par de ROMS a ver que tal funciona el interface ...

Imagen
Imagen
Interface corriendo la ROM de McLeod, que sirve para comprobar la integridad de la memoria RAM.


Imagen
Y aquí con la ROM de la máquina alucinante, que en esta fotografía sólo puede distinguirse de la oficial por el año de copyright.
Aunque no lo recogiera en ninguna foto, se ha probado el pulsador que genera la NMI en esta misma ROM y funciona también correctamente :D

Pues nada muchachos, tan solo me queda decir que espero que este pedazo de ladrillo os sirva para que os animeis a la montar vuestro propio interface de ROM externa, que como habéis visto, no es nada difícil y es una cosa que seguro os dará mucha satisfacciones :-)

Salu2.
Imagen
Avatar de Usuario
Sinclair
Recién llegado
Recién llegado
 
Mensajes: 13
Registrado: 14/08/2013 12:44

Re: Montaje de un interface de ROM externa para ZX Spectrum

Notapor mambrino » 24/09/2013 08:40

Muy buena explicación Sinclair. Ese interface junto con la rom de mcleod es fundamental para todo aquel que quiera diagnosticar cualquier avería en su spectrum.

Saludos ;)
Avatar de Usuario
mambrino
Maestro
Maestro
 
Mensajes: 1697
Registrado: 20/10/2010 07:24

Re: Montaje de un interface de ROM externa para ZX Spectrum

Notapor mike_01 » 24/09/2013 08:54

Gracias por este tutorial Sinclair.
Una pregunta al respecto: como el DivIDE puede reprogramar su propio firmware, ¿se podría utilizar el mismo DivIDE para programar una de estas EEPROM, evitando así el uso de un grabador?
Avatar de Usuario
mike_01
Recién llegado
Recién llegado
 
Mensajes: 35
Registrado: 25/05/2013 17:10
Ubicación: Valencia

Re: Montaje de un interface de ROM externa para ZX Spectrum

Notapor Sinclair » 24/09/2013 09:00

mambrino escribió:Muy buena explicación Sinclair. Ese interface junto con la rom de mcleod es fundamental para todo aquel que quiera diagnosticar cualquier avería en su spectrum.

Saludos ;)


Gracias mambrino. La verdad es que este tipo de test pueden resultar muy útiles para detectar cierto tipo de averías.

Además existe muchísimo software de todo tipo en este formato y para muestra un botón.

Salu2.
Imagen
Avatar de Usuario
Sinclair
Recién llegado
Recién llegado
 
Mensajes: 13
Registrado: 14/08/2013 12:44

Re: Montaje de un interface de ROM externa para ZX Spectrum

Notapor wilco2009 » 24/09/2013 11:11

mike_01 escribió:Gracias por este tutorial Sinclair.
Una pregunta al respecto: como el DivIDE puede reprogramar su propio firmware, ¿se podría utilizar el mismo DivIDE para programar una de estas EEPROM, evitando así el uso de un grabador?


Me temo que no.

El primer problema con que te encuentras es que el patillaje del 28C64 del divIDE no es totalmente compatible con el de la EEPROM que se usan en este interface.
El segundo problema es que, aunque fuera compatible, deberías hacer un TAP con el que se vuelque el binario a la EEPROM.
El tercer problema es que, aunque hicieras lo anterior, el patillaje de la EEPROM del divIDE esta entrecruzado y no corresponde con el conexionado lógico. Es decir, la patilla A14 del chip no coincide con la patilla A14 del Bus del Spectrum, por lo que si quieres volcar un archivo que tiene los datos con el orden lógico, primero deberías filtrarlo para adaptar los datos al conexionado del divIDE.
Hay un programa que hace esto, pero de nuevo solo sirve para las EEPROMs de 64K.
Los retrocacharros de Wilco
Djurkwhad: ¿Como te llamaba tu mamaita?
Roger: Un Error. Pero mis amigos me llaman Roger. Roger Wilco.
Avatar de Usuario
wilco2009
Veterano
Veterano
 
Mensajes: 591
Registrado: 07/01/2013 15:47

Re: Montaje de un interface de ROM externa para ZX Spectrum

Notapor mike_01 » 24/09/2013 13:00

Lástima, hubiera sido una pasada :). Gracias por la respuesta.
Avatar de Usuario
mike_01
Recién llegado
Recién llegado
 
Mensajes: 35
Registrado: 25/05/2013 17:10
Ubicación: Valencia

Re: Montaje de un interface de ROM externa para ZX Spectrum

Notapor Sinclair » 24/09/2013 15:43

Respecto a la compatibilidad de EPROMS y EEPROMS que soporta este interface, decir que sería capaz también de leer las del tipo 28C64.
En realidad es compatible con cualquiera que pertenezca a las familias 27 o 28 de 28 patillas y solo sería cuestión configuralo de manera correcta mediante sus puentes.

Aunque es verdad que la ROM del Spectrum es mayor que la capacidad de la 28C64, podría grabarse en ella por ejemplo, algunos de los test que ocupan sólo 8KB.

Salu2.
Imagen
Avatar de Usuario
Sinclair
Recién llegado
Recién llegado
 
Mensajes: 13
Registrado: 14/08/2013 12:44

Re: Montaje de un interface de ROM externa para ZX Spectrum

Notapor wilco2009 » 25/09/2013 14:29

Pero lo que no puedes hacer es grabar memorias 28c256, ni 28C512 con el divIDE, que era lo que preguntaba mike, ya que hay patillas que las contempla como no conectadas.

Podrías grabar 28c64, reordenando antes el archivo bin con el permutor, pero vamos....
Los retrocacharros de Wilco
Djurkwhad: ¿Como te llamaba tu mamaita?
Roger: Un Error. Pero mis amigos me llaman Roger. Roger Wilco.
Avatar de Usuario
wilco2009
Veterano
Veterano
 
Mensajes: 591
Registrado: 07/01/2013 15:47

Re: Montaje de un interface de ROM externa para ZX Spectrum

Notapor Sinclair » 25/09/2013 16:28

wilco2009 escribió:Pero lo que no puedes hacer es grabar memorias 28c256, ni 28C512 con el divIDE, que era lo que preguntaba mike, ya que hay patillas que las contempla como no conectadas.

Podrías grabar 28c64, reordenando antes el archivo bin con el permutor, pero vamos....


Exacto, con el divide lógicamente sólo podría grabar una EEPROM del tipo que maneja (28C64) y previa reorganización del archivo binario, aunque sería suficiente para cargar alguna ROM de testeo de las que existen o quizás alguna otra cosas más, como algún juego de 8KB que creo que también los hay en este formato y tamaño.

Salu2.
Imagen
Avatar de Usuario
Sinclair
Recién llegado
Recién llegado
 
Mensajes: 13
Registrado: 14/08/2013 12:44

Re: Montaje de un interface de ROM externa para ZX Spectrum

Notapor mike_01 » 28/09/2013 12:58

Bueno, pues no está de más saberlo. Puede ser una opción barata para grabar ROMs y probar el interface.

Se me ha ocurrido otra idea. Si este interfaz funcionara con memoria Flash en lugar de EPROM, ¿se podría reprogramar usando el mismo Spectrum (algo así como la interface UpperROMs para Amstrad de Wilco)?

Es que acabo de ver la ZX-Flash cart, y no sé si tiene algo que ver con este interface, o si se podría hacer algo similar.

Saludos!
Avatar de Usuario
mike_01
Recién llegado
Recién llegado
 
Mensajes: 35
Registrado: 25/05/2013 17:10
Ubicación: Valencia

Siguiente

Volver a Tutoriales

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron