Interface de ROM externa

Si por algo se caracteriza el Spectrum es por su gran variedad de periféricos (clásicos y modernos)

Moderador: Sir Cilve Sinclair

Avatar de Usuario
Sinclair
Herbert
Mensajes: 83
Registrado: Jue Jul 11, 2013 10:51 am

Interface de ROM externa

Mensaje por Sinclair » Dom Sep 29, 2013 5:19 am

Hola a todos de nuevo.

Este interface que hice ya algunos meses y 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 (muy Útil para los modelos 16K/48K) y el segundo una NMI (algo imprescindible 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 una ROM 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 fabricaros 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

Pachuquin
rst 0
Mensajes: 14
Registrado: Mar Sep 10, 2013 7:45 am

Re: Interface de ROM externa

Mensaje por Pachuquin » Dom Sep 29, 2013 11:07 am

Gran tuto. A ver si termino con el cpc y me monto el cacharrillo.

PD: Veo por tus horas de postear que eres de los míos. ¿Tu posteas por el meridiano de Greenwich o por GMT +1? :lol:

Z80user
Manic Miner
Mensajes: 215
Registrado: Vie Jun 08, 2007 9:42 am
Ubicación: En un lugar de la mancha
Contactar:

Re: Interface de ROM externa

Mensaje por Z80user » Lun Oct 07, 2013 12:04 am

¿porque la señal de NMI tiene una resistencia y un condensador y la de reset va a pelo?
que por cierto, en el diseño final solo aparecen los 2 pulsadores sin resistencias ni pulsadores
Si vas a tirar Hardware, primero pregunta si alguien lo puede recuperar.
No abandones un ordenador en un vertedero, donalo a alguien.

Avatar de Usuario
Scooter
Freddy Hardest
Mensajes: 711
Registrado: Jue Nov 11, 2010 10:17 pm

Re: Interface de ROM externa

Mensaje por Scooter » Lun Oct 07, 2013 11:41 am

El condensador está porque reset va por nivel y nmi por flanco.
Aunque creo que da bastante igual; al pulsar se genera un flanco y si dejas el nivel nmi simplemente lo ignora.
Aquellos chalados en sus viejos cacharros...

Avatar de Usuario
flopping
Nonamed
Mensajes: 1093
Registrado: Vie Jul 16, 2010 9:54 am

Re: Interface de ROM externa

Mensaje por flopping » Lun Oct 07, 2013 6:19 pm

Z80user escribió:¿porque la señal de NMI tiene una resistencia y un condensador y la de reset va a pelo?
que por cierto, en el diseño final solo aparecen los 2 pulsadores sin resistencias ni pulsadores


Si generamos un pulso con rebotes en la señal NMI, puede que nos quedemos con el sistema colgado, puesto que si no ha dado tiempo de atenden una peticion y le llega otra, pues eso, nos cuelga el sistema, por eso lleva una resistencia y un condensador asociado, ya que es un circuito simple anti rebotes, no los ves por delante, ya que estan puestos por detras, con todo el cableado, si te fijas se ve.

La señal de reset, no lleva antirebotes, ya que tarda mas tiempo en ejecutarse que el rebote generado y aunque se generen dos o tres reset, no pasaria absolutamente nada, salu2.
No me hago responsable de mis post pues estan escritos bajo la influencia del alcohol y drogas psicotropicas, debido a la esquizofrenia paranoide que tengo.
(C) 1982-2016, 34 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente"

jzx
Nonamed
Mensajes: 1047
Registrado: Lun Feb 08, 2010 8:19 pm

Re: Interface de ROM externa

Mensaje por jzx » Lun Oct 07, 2013 8:37 pm

Reset tiene un condensador bastante grande en paralelo, dentro de la placa del spectrum. En algunos sitios solían recomendar poner en serie con el pulsador una resistencia pequeña para que no se estropee con la chispa que puede dar la descarga al pulsar el botón, que no es muy grande , pero sale una chispa.

Con la NMI, si el software está bien hecho, puede atender una interrupción mientras está haciendo otra, pero cada una interrumpe a la anterior y luego al ir acabando cada una iría retomando las anteriores. Eso pasaría también si por ejemplo al recibir la nmi se pone a grabar en cassette y mientras está haciéndolo pulsas otra vez (no es un rebote, pero sería parecido). La grabación quedaría mal, pero no se tendría que colgar, a no ser que ande muy justo de stack.

Avatar de Usuario
Sinclair
Herbert
Mensajes: 83
Registrado: Jue Jul 11, 2013 10:51 am

Re: Interface de ROM externa

Mensaje por Sinclair » Mar Oct 08, 2013 1:53 pm

Lo cierto es que en la práctica (al menos con este interface) no existe diferencia entre poner el circuito antirebotes o no porque funciona exactamente igual y se puede prescindir de el sin problemas, de hecho al final se lo he quitado.

Salu2.
Imagen

Avatar de Usuario
cheveron
Manic Miner
Mensajes: 280
Registrado: Lun Jun 28, 2010 6:14 pm
Ubicación: Londres
Contactar:

Re: Interface de ROM externa

Mensaje por cheveron » Mié Oct 09, 2013 1:51 pm

A nice little project. I'm pleased to see SE Basic in that collection. It will benefit from the NMI button as the NMIADD system variable is functional in SE Basic so you can use the button to call your own routines.
«Dime con quién andas, y te diré quién eres» — Cervantes

Avatar de Usuario
Sinclair
Herbert
Mensajes: 83
Registrado: Jue Jul 11, 2013 10:51 am

Re: Interface de ROM externa

Mensaje por Sinclair » Mié Oct 09, 2013 7:28 pm

cheveron escribió:A nice little project. I'm pleased to see SE Basic in that collection. It will benefit from the NMI button as the NMIADD system variable is functional in SE Basic so you can use the button to call your own routines.


How could it be otherwise, SE Basic could not be out of my collection of favorite ROMs. It is interesting what you say about NMIADD system variable. I'll investigate on how to take advantage of the NMI button for your SE Basic.
Thank you.
Última edición por Sinclair el Mié Oct 09, 2013 11:15 pm, editado 1 vez en total.
Imagen

Avatar de Usuario
cheveron
Manic Miner
Mensajes: 280
Registrado: Lun Jun 28, 2010 6:14 pm
Ubicación: Londres
Contactar:

Re: Interface de ROM externa

Mensaje por cheveron » Mié Oct 09, 2013 11:12 pm

Sinclair escribió:
cheveron escribió:A nice little project. I'm pleased to see SE Basic in that collection. It will benefit from the NMI button as the NMIADD system variable is functional in SE Basic so you can use the button to call your own routines.


How could it be otherwise, SE Basic could not be out of my collection of favorite ROMs. It is interesting what you say about NMIADD system variable. I'll investigate on how to take advantage of the NMI button from your SE Basic.
Thank you.


You're welcome. By default NMIADD addresses the warm restart routine which attempts to return to BASIC. However, if you POKE NMIADD with another address then that routine will be called instead when you trigger the NIM.
«Dime con quién andas, y te diré quién eres» — Cervantes

only8bits
rst 0
Mensajes: 17
Registrado: Vie Jul 25, 2014 8:03 am

Re: Interface de ROM externa

Mensaje por only8bits » Lun Oct 13, 2014 9:03 am

¿ Donde se pueden conseguir todas las ROMs de testeo y juegos ?

Avatar de Usuario
Sinclair
Herbert
Mensajes: 83
Registrado: Jue Jul 11, 2013 10:51 am

Re: Interface de ROM externa

Mensaje por Sinclair » Lun Oct 13, 2014 11:59 am

Están recopiladas de varios sitios, empieza buscando en WOS, por ejempo.

Saludos.
Imagen

Pachuquin
rst 0
Mensajes: 14
Registrado: Mar Sep 10, 2013 7:45 am

Re: Interface de ROM externa

Mensaje por Pachuquin » Lun Oct 13, 2014 2:50 pm

Sinclair escribió:Lo cierto es que en la práctica (al menos con este interface) no existe diferencia entre poner el circuito antirebotes o no porque funciona exactamente igual y se puede prescindir de el sin problemas, de hecho al final se lo he quitado.

Salu2.


Para el NMI le has quitado la resistencia, condensador o los dos.

Avatar de Usuario
Sinclair
Herbert
Mensajes: 83
Registrado: Jue Jul 11, 2013 10:51 am

Re: Interface de ROM externa

Mensaje por Sinclair » Lun Oct 13, 2014 2:56 pm

Los dos.
Imagen

Avatar de Usuario
mittemot
Herbert
Mensajes: 75
Registrado: Mar Oct 16, 2012 8:42 am
Ubicación: Castellón
Contactar:

Re: Interface de ROM externa

Mensaje por mittemot » Mié Oct 15, 2014 3:12 pm

Hola.
Excelente trabajo.
Tengo una duda. Este montaje ¿funcionaría en un +2A?
Gracias

Responder

¿Quién está conectado?

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