ZX-Flash Cart (512 Kb en un cartucho)


  ¿Qué es el ZX-Flash Cart ?

    El ZX-Flash Cart es un cartucho compatible con el Interface II (y sus clones) que puede ser grabado con 10 programas en formato SNA y acceder a ellos por menú desde el propio Spectrum. En la sección de descargas tienes disponible el programa para PC que permite elejir 10 snapshoot (.SNA) y crear el fichero que ha de programarse en la flash eprom del cartucho.

 

 

 Cartucho original comparado con el ZX-Flash Cart

 

El metodo para obtener el cartucho con tus diez juegos favoritos es muy fácil. Primero ejecutas el programa "ZX-Flash Creator", eliges diez ficheros SNA y tras pulsar el botón de creación de cartucho (Create Flash) obtendrás un fichero de 512Kb que es el que se debera grabar en el la memoria Flash (29F040). Puedes grabarla tú mismo si tienes un grabador de FlashEproms (Willem por ejemplo). O puedes llevar este fichero en disquette a la tienda de electrónica y pedir que te lo graben (5 Euros más o menos, 3'5 Euros la memoria y 1'5 euros la programación).

Después basta con colocar la memoria Flash en su zócalo correspondiente, poner el cartucho en el Interface II, encender y elegir en el menú que programa quieres cargar.

  

¿ Cómo funciona ?

   El funcionamiento de este cartucho es sencillo desde el punto de vista de la electrónica, pero algo más complicado desde el punto de vista del programa interno que lo gestiona. La ranura de cartuchos del Interface II está diseñada para albergar cartuchos de 16K, no dispone de señales de control del bus que nos ayuden a mapear bancos de memoria, con lo que hay que hacer algunos trucos para poder mapear los 512K de la flash Eprom en bancos de 16 K.

La electrónica del cartucho ZX-Flash detecta el acceso a las dos ultimas direcciones del mismo (3FFE y 3FFF), y genera un pulso cuando son accedidas, que incrementan un contador. Para evitar que el primer acceso a la dirección 3FFE, al incrementear el contador, mapee al siguiente banco antes de poder leer la dirección 3FFF del mismo banco, los dos primeros bits del contador no se utilizan. A de accederse a las direcciones 3FFE o 3FFF cuatro veces para que se cambie al siguiente banco. Esto permite pues leer cada banco completo para pasarlo a memoria RAM y luego mapear al siguiente banco accediendo un par de veces más a cualquiera de estas dos direcciones. Una vez leidos los tres bancos necesarios por cada SNA y transferidos a la RAM sólo resta bloquear el mapeo de bancos dejando la ROM original por si es accedida por el programa, restaurar el contenido de todos los registros y saltar al inicio del programa.

En resumen se siguen los siguientes pasos:

Un problema que es necesario eliminar es el de la señal de refresco, que puede "engañar" al circuito de detección de acceso a las direcciones "3FFE-3FFF". Ese es el objetivo del condensador C2 de 1KpF, eliminar los pulsos generados por los ciclos de refresco, que son iguales que los de lectura y escritura, pero más cortos. Un condensador de 1KpF puede absorber un pico de lectura pequeño, y a la vez ser "inocuo" con una lectura y/o escritura real.

C1 y R1 Se encargan de generar una señal de reset al contador durante el arranque, poniendo a 0 le mapeo de ROM.

 

   Construcción de un ZX-Flash Cart.

Para la construcción de un ZX-Flash Cart neceistaras el siguiente material:

En el área de descargas podrás encontrar un PDF con los fotolitos, para poder realizar la placa. También el esquema y la disposición de componentes, así como los ficheros en formato Eagle.

 

La realización de este circuito no reviste mucha dificultad, has de tener cuidado en el orden de soldadura de los zócalos para que ninguno te impida soldar los contactos de la cara de arriba de los otros zocalos, el orden a seguir es IC3, IC2, IC4 e IC1. No olvides soldar por ambas caras los componentes que así lo requieran (algunos pines de los zocalos, C2, C1 y D1), y soldar las vias (las conexiones que unen una cara con la otra, debajo de IC1)

   Quiero una Interface II ¿ Qué puedo hacer ?

   Si no tienes un Interface II, o alguno de sus clones , puedes conseguir uno por alguno de estos metodos:

    Creación de ficheros para el ZX-Flash Cart

     Una vez construido el cartucho, necesitamos grabar la memoria Flash Eprom (29F040) con nuestros programas favoritos. El fichero a grabar en la memoria flash (29F040) es el resultado de concatenar una ROM inicial con los ficheros SNA de una forma concreta y algo complicada.

En esta ocasion he contado con la inestimable ayuda de Miguel A.Prada, que ha escrito un programa para Windows que realiza esta tarea y nos permite obtener los ficheros .ROM de una forma muy cómoda a golpe de ratón.

Os aconsejo que os paseis por su página prada.dyndns.org tiene cosas muy interesantes, como un remake del Babaliba (Dinamic), sus articulos en revistas on-line, etc. No os lo perdais.

El programa que genera los cartuchos a partir de los SNAs lo puedes encontrar aquí, en la zona de descargas.

Solo necesitamos elegir diez snapshoots, darle el nombre con el que queremos que aparezcan en el menú y pulsar el boton de Crear Flash. El programa generará el archivo .ROM de 512Kb a programar en la Flash.

Pantallazo del ZX-Flash Creator

Si disponemos de programador propio (Willem o similar) podremos programar la memoria nosotros mismos, y reprogramarla las veces que queramos, os recuerdo que una memoria 29F040 es borrable electricamente. Si no disponemos de programador podemos tomar este fichero en un disquette y llevarlo a la tienda de electronica donde por poco dinero nos programaran la Flash Eprom.

 

Preguntas y Respuestas

     Aquí teneis las preguntas y respuestas mas frecuentes:

     Descargas

 
ZXFlash-Diagram.pdf Esquema electrónico en formato PDF.
ZXFlash-Circuit.pdf Fotolitos para la realización de la placa en PDF
ZXFlash-Eagle.zip ZXFlash Cart en formato Eagle.
ZXFlash-Creator.zip Programa para crear ROMs con diez SNAs. (C) Miguel A. Prada V 1.0
ZXFlash-Source Fuente en assembler del programa de control del ZXFlash Cart
VBRUN60SP5.EXE Librería VBRUN60.DLL para usar ZXFlash-Creator con W95/98 (No es necesaria en XP)

 

Novedades :

15 de Mayo 2005

Se completa el proyecto y se publica en internet.

18 de Mayo 2005

Añadido el fichero VBRUN60SP5.EXE para poder usar ZXFlash-Creator bajo Windows 95/98.

 

    Gracias a :

    Jose Leandro. Autor de fantásticos diseños para el Spectrum (visita Los Trastos de Jose Leandro ) Su fantástico proyecto "Super cartucho Interface II" ha sido una inspiración y un acicate para llevar a la práctica otro viejo sueño, el ZXFlash cart. Gracias también por ayudarme con el problema de mi programador GalBlast. Ahora que ya puedo programar GALs tengo una visión diferente para los proyectos futuros.

José Manuel (El WebMaster) pues sin su ayuda y sus ánimos continuos esta página no existiría. Y por su ayuda comprando en ebay...

Miguel A. Prada. Autor del programa "ZXFlash Creator" para la generación de ROMs. Su colaboración ha sido vital en éste proyecto. Y gracias también por ayudar a mantener vivo el espíritu del Spectrum desde tus colaboraciones con las revistas online y desde tu página.

A María Jesús, y a mis hijas Andrea e Inés, por su paciencia infinita con este chalao de los ordenadores antiguos. Os quiero.

     Madrid 15 Mayo 2005

 

     Disclaimer

     Lo siento, no se como titular esto en Español, pero ya sabéis lo que quiero decir.

    Yo comparto esta información, y la contenida en el resto de ficheros sin garantía ninguna y por supuesto sin responsabilidad de los daños que pueda causar su uso indebido o inadecuado. Lo que te puedo decir es que todo funciona perfectamente y nunca se me ha estropeado ningún Spectrum en los experimentos, pero... tú mismo.

Volver