ZX Dandanator Mini

Esquemas del HW

 



El Hardware es bastante sencillo y utiliza sólo tres chips y algunos componentes pasivos. Los esquemas para la fabricación de la placa están hechos en KiCad 4.0.2 para Mac. Gracias a Kyp por las huellas de los conectores Edge. Para el enrutamiento he utilizado la herramienta FreeRouter


Los ficheros KiCad están disponibles en el área de Descargas .


Esta es una vista rápida de los esquemas y placa de la última versión, la 2.1b















El prototipo se montó con una memoria de 256KB en formato DIP y con un microcontrolador con menos patillas, el PIC16F1825 en lugar del PIC16F1826 actual.

También se utilizó un software de enrutado y creación de esquemas distinto :D ....




























El microcontrolador se encarga de la gestión del botón : Reset, NMI, Activar ROMCS, Cargar Rom Inicial o de pruebas, etc. También controla el páginado de la memoria EEPROM y su activación. Por último, identifica el tipo de spectrum al que está conectado el periférico.


La única comunicación entre el Spectrum y el Microcontrolador se hace mediante pulsos de escritura en memoria en zona ROM. Como hay algunos programas comerciales, e incluso la propia ROM del spectrum,  que tratan de escribir en zona rom de vez en cuando, estos comandos sólo son reconocidos si el menú del Dandanator está activo. Un sistema de configuracion flexible permite variar el modo en el que arranca el spectrum o como se comportan los botones. El hardware también permite al spectrum almacenar y recuperar datos en memoria no volátil. 


Para la detección del tipo de Spectrum por parte del Microcontrolador se utiliza una técnica que no he visto usar en ningún otro sitio, así que salvo que alguien conozca usos anteriores, me la adjudico ;).


Esta detección es necesaria para activar las señales /ROMCS en un 16/48K/128k o las señales /OE1 y /OE2 en un 128k +2/+3 cuando se desea desactivar la ROM interna del spectrum.


Para ello se utiliza el pin B28 o TOP28 del bus del Spectrum. En un Spectrum 16/48k/128k o un Harlequin, este conector se encuentra desconectado de cualquier parte del circuito. En los modelos +2/+3 este pin lleva la señal invertida del pin de /Reset


Conectado este pin a un pin de entrada del microcontrolador con un Pull-Up interno y viendo que la señal del /Reset del Spectrum es 1 (el Z80 no está en Reset), podemos saber si nos encontramos en un tipo de sistema o en el otro. De esta forma, el microcontrolador sabe si debe activar la señal ROMCS o las señales OE1 y OE2 cuando quiera desactivar la ROM interna del Spectrum.


Por otro lado, si otro periférico conectado a continuanción quiere ocupar el espacio ROM, el ZX Dandanator! Mini se desactiva automaticamente para no crear conflictos en los buses.