CPC6128 con FAT32
Publicado: 23 Nov 2017, 07:26
CPC6128 con soporte DSK desde FAT32.
Está basado en el original de 2011 de:
Renaud Helias <renaudhelias-arroba-gmail.com> --> http://www.cpcwiki.eu/index.php/FPGAmstrad
La razón de usar un core tan viejo y poco depurado, es por razones de compatibilidad con la FPGA del ZXUNO.
Nuestra FPGA es una Spartan 6 LX9, y la usada en el de Renaud, es una Spartan 3E, y lo hizo sobre la base XILINX.
Gracias a ello, convertirlo a LX9 ha sido "relativamente" sencillo. Como está basado en esquemas, y a la vez en un emulador Java, ha sido muy lioso buscar el porqué de cada cosa, para lograr que ande en el zxuno, pero mucho mas sencillo que empezar de cero.
Al menos, la base estaba ahí, solo era adaptar.
El core no es perfecto ni de lejos, hace su función, y es divertido de usar, pero no esperéis maravillas, ni una compatibilidad enorme con el CPC, que no la hay.
Si leéis el historial de la página de Renaud Helias (arriba) veréis la cantidad de horas (¿meses?) que lleva invertidos. Y esta versión se quedó en 2011, muchos años ya sin tocar.
Pero funciona, lo dicho, permite cargar cosas y experimentar. El mando de juegos no lo he probado, por que no tengo uno a mano, si falla, trataré de repararlo. El sonido es mono, solo funciona un canal, el otro está "al aire", y puede generar ruidos en amplificadores estéreo.
El sistema FAT32 es muy básico, falla mas que una escopeta de feria, y las tarjetas que admite se cuentan con los dedos de una mano, es cuestión de suerte.
Como no tenemos hardware suficiente en el ZXUNO, la selección del DSK a cargar es fija, siempre el "uno", o sea, el primer DSK que encuentre.
Una solución que he encontrado, a pesar de ser un "peñazo", es copiar el contenido entero del ZIP mencionado arriba, que de ese modo, siempre carga por defecto el "bouldash.DSK", y cuando queramos cambiar de juego, renombrar el DSK deseado como "bouldash.DSK" y copiar a la SD pisando el otro. Yo lo he estado haciendo así mientras depuraba. Me hice un simple proceso de comandos en el cual, arrastraba el DSK a probar sobre él, y me lo renombra y copiar directo a la SD. (aquí, aquellos que tengáis las SD con WIFI, si os funciona, saldréis ganando)
El teclado no va fino, y ademas, no está "españolizado", pero menos es nada, hace su función.
Si me veo con tiempo y ganas, iré probando cosas nuevas para mejorar, pero sabiendo que nuestro amigo Mcleod_Ideafix ya tiene un GATEARRAY funcional, seguir avanzando en este es una pérdida de tiempo.
Importante, que se me olvida: SOLO para los ZXUNO con SRAM de 2mb "externos", que es la versión que yo tengo. En realidad, funcionaría con 512k, pero entonces, no cargaría DSK. El core, coge el DSK completo y lo mete en la SRAM, y la forma en que lo hace, deja de lado los 512k.
Si hacemos números, con 512k sobraría, por que un DSK=191k y el CPC=64k RAM+64k EXTRAS+64 ROMS, pero Renaud, no se complicó la cabeza, y digamos que fraccionó los 2megas en cuatro zonas, una para el DSK y otra para las ROM, otra para RAM, y la cuarta sobra, no se usa, así que, el direccionamiento que hace, es complicado de reducir a solo 512k
Convertir a los 2mb internos es muy fácil, solo cambiar el UCF y recompilar, el finde lo hago, que entre semana toca trabajar.
Está basado en el original de 2011 de:
Renaud Helias <renaudhelias-arroba-gmail.com> --> http://www.cpcwiki.eu/index.php/FPGAmstrad
La razón de usar un core tan viejo y poco depurado, es por razones de compatibilidad con la FPGA del ZXUNO.
Nuestra FPGA es una Spartan 6 LX9, y la usada en el de Renaud, es una Spartan 3E, y lo hizo sobre la base XILINX.
Gracias a ello, convertirlo a LX9 ha sido "relativamente" sencillo. Como está basado en esquemas, y a la vez en un emulador Java, ha sido muy lioso buscar el porqué de cada cosa, para lograr que ande en el zxuno, pero mucho mas sencillo que empezar de cero.
Al menos, la base estaba ahí, solo era adaptar.
El core no es perfecto ni de lejos, hace su función, y es divertido de usar, pero no esperéis maravillas, ni una compatibilidad enorme con el CPC, que no la hay.
Si leéis el historial de la página de Renaud Helias (arriba) veréis la cantidad de horas (¿meses?) que lleva invertidos. Y esta versión se quedó en 2011, muchos años ya sin tocar.
Pero funciona, lo dicho, permite cargar cosas y experimentar. El mando de juegos no lo he probado, por que no tengo uno a mano, si falla, trataré de repararlo. El sonido es mono, solo funciona un canal, el otro está "al aire", y puede generar ruidos en amplificadores estéreo.
El sistema FAT32 es muy básico, falla mas que una escopeta de feria, y las tarjetas que admite se cuentan con los dedos de una mano, es cuestión de suerte.
Como no tenemos hardware suficiente en el ZXUNO, la selección del DSK a cargar es fija, siempre el "uno", o sea, el primer DSK que encuentre.
Una solución que he encontrado, a pesar de ser un "peñazo", es copiar el contenido entero del ZIP mencionado arriba, que de ese modo, siempre carga por defecto el "bouldash.DSK", y cuando queramos cambiar de juego, renombrar el DSK deseado como "bouldash.DSK" y copiar a la SD pisando el otro. Yo lo he estado haciendo así mientras depuraba. Me hice un simple proceso de comandos en el cual, arrastraba el DSK a probar sobre él, y me lo renombra y copiar directo a la SD. (aquí, aquellos que tengáis las SD con WIFI, si os funciona, saldréis ganando)
El teclado no va fino, y ademas, no está "españolizado", pero menos es nada, hace su función.
Si me veo con tiempo y ganas, iré probando cosas nuevas para mejorar, pero sabiendo que nuestro amigo Mcleod_Ideafix ya tiene un GATEARRAY funcional, seguir avanzando en este es una pérdida de tiempo.
Importante, que se me olvida: SOLO para los ZXUNO con SRAM de 2mb "externos", que es la versión que yo tengo. En realidad, funcionaría con 512k, pero entonces, no cargaría DSK. El core, coge el DSK completo y lo mete en la SRAM, y la forma en que lo hace, deja de lado los 512k.
Si hacemos números, con 512k sobraría, por que un DSK=191k y el CPC=64k RAM+64k EXTRAS+64 ROMS, pero Renaud, no se complicó la cabeza, y digamos que fraccionó los 2megas en cuatro zonas, una para el DSK y otra para las ROM, otra para RAM, y la cuarta sobra, no se usa, así que, el direccionamiento que hace, es complicado de reducir a solo 512k
Convertir a los 2mb internos es muy fácil, solo cambiar el UCF y recompilar, el finde lo hago, que entre semana toca trabajar.