ZX-Uno prototipo 2: seguimos dándole caña

Sinclair QL, ZX81, +2, +3, 128K ...
Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor mcleod_ideafix » 27 Jun 2015, 14:46

antoniovillena escribió:Aunque no lo emplemos ahora en el reproductor PZX, lo del NMI especial lo veo muy útil. Es una forma muy sencilla de extender el hardware usando el Z80 (aunque no simultáneamente) de forma transparente. Por ponerte un ejemplo, una simple ayuda pulsando F1 (y pulsar Esc para volver). De todas formas puedo hablar con César para que implemente esto en su emulador ZEsarUX, y extender la ROM del bootloader para mostrar la ayuda o cambiar de layout en caliente.

Para esas cosas es para que la que existe la NMI "de verdad". Igual que en ESXDOS sale un menú para elegir un fichero y cargarlo, podría haber más menues para poder tocar cosas del ZX-Uno. El mapa de teclado, por ejemplo, se puede cambiar en cualquier momento, no hace falta que BOOTM esté a 1. Y las cosas que se permiten cambiar cuando BOOTM vale 1, como el soporte de DivMMC, no es buena idea cambiarlas en caliente.

Así que igual lo que tendríamos que hacer es pedir documentación sobre cómo extender la funcionalidad de la NMI de ESXDOS. Tanto u88d (creo que se llama así) como Velesoft han hecho cosas con ello.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor antoniovillena » 27 Jun 2015, 17:55

Ya he arreglado el bug del firmware. Intentaré probarlo el lunes en ZX-Uno real. Aunque veáis dos opciones más en el menú, no funcionan. Están todavía sin implementar.

mcleod_ideafix escribió:Para esas cosas es para que la que existe la NMI "de verdad". Igual que en ESXDOS sale un menú para elegir un fichero y cargarlo, podría haber más menues para poder tocar cosas del ZX-Uno.


Ya pero eso requiere parchear las ROMs. Por ponerte un ejemplo, con la ROM de CargandoLeches se pueden hacer pokes en caliente durante el juego pulsando NMI. Pero con una ROM de 48K normal por ejemplo no se puede hacer nada con la NMI ya que lo único que hace es resetear la máquina. Además, lo suyo sería poder mostrar estas extensiones (como por ejemplo la pantalla de ayuda) independientemente de si tienes activado el DivMMC.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor mcleod_ideafix » 27 Jun 2015, 17:57

antoniovillena escribió:Ya he arreglado el bug del firmware. Intentaré probarlo el lunes en ZX-Uno real. Aunque veáis dos opciones más en el menú, no funcionan. Están todavía sin implementar.

mcleod_ideafix escribió:Para esas cosas es para que la que existe la NMI "de verdad". Igual que en ESXDOS sale un menú para elegir un fichero y cargarlo, podría haber más menues para poder tocar cosas del ZX-Uno.


Ya pero eso requiere parchear las ROMs.


No me refería a parchear la ROM. Me refería a usar el soporte de NMI que da ESXDOS para meter todas esas cosas ahí, incluido el pokeador que hay en la ROM de CargandoLeches. El ZX-Uno tiene soporte de DivMMC y ESXDOS, así que no veo por qué tienes que prescindir de ESXDOS para esta funcionalidad.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
Quest
Atari 1040 STf
Atari 1040 STf
Mensajes: 900
Registrado: 18 Jul 2013, 22:20
Sistema Favorito: Commodore Amiga
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo SNES
Primera consola: Nintendo NES/Clónica
Gracias dadas: 9 veces
Gracias recibidas: 16 veces

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor Quest » 27 Jun 2015, 18:16

antoniovillena escribió:Ya he arreglado el bug del firmware. Intentaré probarlo el lunes en ZX-Uno real. Aunque veáis dos opciones más en el menú, no funcionan. Están todavía sin implementar.


Probado.

Va aún peor que antes. Lo siento.

Ahora al arrancar, sin hacer nada de nada, sale el borde rojo (repito, sin hacer nada, ni siquiera entrar a la BIOS). No se si es algo puesto así a propósito.

Si entras a la BIOS y sin tocar nada haces un "Save changes & exit", se queda el borde rojo y el led fijo y se queda frito el ZX-UNO. Hay que desconectar la corriente y reconectarla para que vuelva a arrancar, además de haber todo tipo de corrupciones de texto en BIOS al intentar cambiar por ejemplo las subopciones en quiet boot, check crc, etc, etc... Cuanto más tocas más se corrompe hasta que la pantalla puede llegar a ser ilegible de caracteres e incluso alguna vez ha producido cuelgue.

Además si cambias algunas opciones más en BIOS y grabas cambios (después de quedarse frito y tener que apagar/encender), se queda el arranque en un bucle infinito de pantalla de inicio del logo sin llegar a arrancar ROM, requiriendo reflashear la SPI entera para poder arreglarlo.

Supongo que todo es debido a algún cambio de los nuevos que introduce algún bug más y produce corrupciones.

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor antoniovillena » 27 Jun 2015, 18:54

mcleod_ideafix escribió:No me refería a parchear la ROM. Me refería a usar el soporte de NMI que da ESXDOS para meter todas esas cosas ahí, incluido el pokeador que hay en la ROM de CargandoLeches. El ZX-Uno tiene soporte de DivMMC y ESXDOS, así que no veo por qué tienes que prescindir de ESXDOS para esta funcionalidad.


Yo sí veo porqué tienes que prescindir de ESXDOS. Imagínate que implementamos el control de volumen del ZX-Uno usando esta funcionalidad. Si lo hacemos con la NMI del ESXDOS, la gente se quejará de que el control de volumen no le funciona. Nosotros le diremos que para que funcione esta característica tiene que estar habilitado el ESXDOS en la BIOS. Y yo me pondría de parte del usuario.

Quest escribió:Probado.

Va aún peor que antes. Lo siento.

Ahora al arrancar, sin hacer nada de nada, sale el borde rojo (repito, sin hacer nada, ni siquiera entrar a la BIOS). No se si es algo puesto así a propósito.

Si entras a la BIOS y sin tocar nada haces un "Save changes & exit", se queda el borde rojo y el led fijo y se queda frito el ZX-UNO. Hay que desconectar la corriente y reconectarla para que vuelva a arrancar, además de haber todo tipo de corrupciones de texto en BIOS al intentar cambiar por ejemplo las subopciones en quiet boot, check crc, etc, etc... Cuanto más tocas más se corrompe hasta que la pantalla puede llegar a ser ilegible de caracteres e incluso alguna vez ha producido cuelgue.

Además si cambias algunas opciones más en BIOS y grabas cambios (después de quedarse frito y tener que apagar/encender), se queda el arranque en un bucle infinito de pantalla de inicio del logo sin llegar a arrancar ROM, requiriendo reflashear la SPI entera para poder arreglarlo.

Supongo que todo es debido a algún cambio de los nuevos que introduce algún bug más y produce corrupciones.


Muchas gracias por el betatesting. Pues me temo que la única solución es depurarlo en la máquina real, pero eso va a tardar un poco.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor mcleod_ideafix » 27 Jun 2015, 19:43

antoniovillena escribió:
mcleod_ideafix escribió:No me refería a parchear la ROM. Me refería a usar el soporte de NMI que da ESXDOS para meter todas esas cosas ahí, incluido el pokeador que hay en la ROM de CargandoLeches. El ZX-Uno tiene soporte de DivMMC y ESXDOS, así que no veo por qué tienes que prescindir de ESXDOS para esta funcionalidad.


Yo sí veo porqué tienes que prescindir de ESXDOS. Imagínate que implementamos el control de volumen del ZX-Uno usando esta funcionalidad. Si lo hacemos con la NMI del ESXDOS, la gente se quejará de que el control de volumen no le funciona. Nosotros le diremos que para que funcione esta característica tiene que estar habilitado el ESXDOS en la BIOS. Y yo me pondría de parte del usuario.

Bueno... es que ni siquiera tenía pensado implementar ningún control de volumen para el sonido. Para eso está el mando del volumen de la tele que uses. Por otra parte, ¿por qué alguien no querría usar ESXDOS? Gran parte de la comodidad de uso del ZX-Uno estriba en que DivMMC y ESXDOS estén activos.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor antoniovillena » 27 Jun 2015, 20:44

mcleod_ideafix escribió:Bueno... es que ni siquiera tenía pensado implementar ningún control de volumen para el sonido. Para eso está el mando del volumen de la tele que uses. Por otra parte, ¿por qué alguien no querría usar ESXDOS? Gran parte de la comodidad de uso del ZX-Uno estriba en que DivMMC y ESXDOS estén activos.


Lo del volumen es un ejemplo. Ya no se me ocurre nada más que decirte para convencerte. ESXDOS es muy útil, pero en los juegos de cartucho y en algunas ROMs no se usa. Habrá usuarios que ni siquiera sepan que está desactivado ESXDOS en estos casos. Volvamos al ejemplo de la pantalla de ayuda. ¿Cómo le explicas a ese usuario que su ZX-Uno no está roto y simplemente que la pantalla de ayuda no se muestra en esos casos? La gente viene de emuladores y va a esperar que una funcionalidad como la de mostrar la ayuda en pantalla va a estar disponible siempre.

Avatar de Usuario
Quest
Atari 1040 STf
Atari 1040 STf
Mensajes: 900
Registrado: 18 Jul 2013, 22:20
Sistema Favorito: Commodore Amiga
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo SNES
Primera consola: Nintendo NES/Clónica
Gracias dadas: 9 veces
Gracias recibidas: 16 veces

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor Quest » 27 Jun 2015, 22:59

En este caso concreto estoy con Antonio.

En mi opinón personal, hay algunos factores que me echan para atrás al usar ESXDOS para estas cosas:

- Dependes de un "soft de terceros" (ESXDOS) para usar características únicas del ZX-UNO
- Si ESXDOS cambia la versión y funcionamiento interno (API, llamadas, etc), hay que estar cambiando las utilidades del ZX-UNO. Esto es un engorro. De hecho dentro de no mucho habrá nueva versión con soporte LFN (esperemos que no tarde) y a saber qué cosas cambian más.
- Una de las más importantes para mí: aparte de lo comentado por Antonio, sobre los juegos en cartucho y ROMs, hay una cantidad no muy alta pero desde luego para nada despreciable de demos y juegos (sobre todo juegos) que no funcionan con diVMMC/ESXDOS activados. Como ejemplo, muchos juegos de los Mojon de los que ya hablamos en el hilo y ya descubriste el problema. El tema es que el usuario igual ni sabe lo comentado aquí, ni sabe cómo parchear ni siquiera qué pasa. Lo mismo con juegos multicarga o multinivel/carga que se deben cargar por EAR, demos problemáticas con DivMMC como la comentada de paralactika, etc, etc.

De todos modos no veo mal implementar cosas en ESXDOs como extras, como ya se ha hecho con lo de la config del joystick, keymaps, etc, aunque echo en falta poderlas usar cuando cargo una ROM donde no uso ESXDOS, sobre todo por los mapas. El problema es que tienen que cargar de SD, y viene mucho mejor usar divMMC/ESXDOS porque ya trae el acceso FAT a la SD de serie y no hay que hacer trabajo extra. Quizá podría haber en este caso concreto una serie de keymaps estándar fijos (ES/UK/US/Full PS2) en la propia SPI o FPGA (seleccionables en BIOS) y si se quieren usar personalizados o extras, usar ESXDOS obligatoriamente.

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor antoniovillena » 28 Jun 2015, 01:04

Quest escribió:Quizá podría haber en este caso concreto una serie de keymaps estándar fijos (ES/UK/US/Full PS2) en la propia SPI o FPGA (seleccionables en BIOS) y si se quieren usar personalizados o extras, usar ESXDOS obligatoriamente.


Esa es la idea. Tengo en mente meter 4 mapeados fijos en el firmware. Cada uno ocupa 16K, pero he probado a comprimirlos y se reducen a menos de 1K cada uno, por lo que cabe en el firmware. En cuanto termine el test de teclado me pongo con esto.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor mcleod_ideafix » 28 Jun 2015, 01:08

Quest escribió:- Dependes de un "soft de terceros" (ESXDOS) para usar características únicas del ZX-UNO

Dependemos de un montón de software "de terceros" para que ZX-Uno sea ZX-Uno. Para empezar, el ISE de Xilinx.

Quest escribió:- Si ESXDOS cambia la versión y funcionamiento interno (API, llamadas, etc), hay que estar cambiando las utilidades del ZX-UNO

Sólo si quieres actualizar tú el ESXDOS, y en caso de que así sea y la nueva versión sea incompatible en API con la anterior, se cogen las utilidades, que para eso dejamos los códigos fuente y se modifican. Habida cuenta del tiempo que pasa entre una actualización y otra de ESXDOS, me da que cambios de release, poquitos.

Quest escribió:- Una de las más importantes para mí: aparte de lo comentado por Antonio, sobre los juegos en cartucho y ROMs, hay una cantidad no muy alta pero desde luego para nada despreciable de demos y juegos (sobre todo juegos) que no funcionan con diVMMC/ESXDOS activados. Como ejemplo, muchos juegos de los Mojon de los que ya hablamos en el hilo y ya descubriste el problema. El tema es que el usuario igual ni sabe lo comentado aquí, ni sabe cómo parchear ni siquiera qué pasa. Lo mismo con juegos multicarga o multinivel/carga que se deben cargar por EAR, demos problemáticas con DivMMC como la comentada de paralactika, etc, etc.

La cantidad "nada despreciable" de demos, ¿cuántas son? Porque sólo me he encontrado con una que le pase eso. Por el contrario, sí que hay una cantidad nada despreciable de demos que si no tienes ESXDOS y su emulación de TRDOS, no vas a ver ni en pintura, porque no tienen versión TAP y sí TRD.
Y si alguien necesita cargar por EAR, porque sea multicarga o lo que sea, pues que cargue por EAR.
Y el problema con los juegos mojonios y similares no es que ESXDOS interfiera, sino que al arrancarse la máquina en modo 48K, aunque tengas los 128K y lo demás, no tienes las variables del sistema que siguen a los valores de los puertos. La demo de Paralaktica no tiene ningún problema con ESXDOS, por cierto: tanto la versión TRD como la TAP, con los timmings de 128K, las arranco desde ESXDOS.
Y por último: recordad que esto es una plataforma. Cada uno la personaliza como quiere. No es el Vega: enchufar y listo. Esto no va encaminado al usuario "casual" aunque se le dan muchas facilidades a los usuarios que sólo quieran jugar. De hecho, ESXDOS y su menú NMI es lo más sencillo que le puedes echar a un usuario.

Quest escribió:aunque echo en falta poderlas usar cuando cargo una ROM donde no uso ESXDOS, sobre todo por los mapas. El problema es que tienen que cargar de SD, y viene mucho mejor usar divMMC/ESXDOS porque ya trae el acceso FAT a la SD de serie y no hay que hacer trabajo extra. Quizá podría haber en este caso concreto una serie de keymaps estándar fijos (ES/UK/US/Full PS2) en la propia SPI o FPGA (seleccionables en BIOS) y si se quieren usar personalizados o extras, usar ESXDOS obligatoriamente.

Antonio pensaba dar soporte de keymaps en la BIOS para que cada uno puede elegir el suyo en el arranque. La facilidad hardware esta ahí (el poder cambiar de mapa). Ahora hay que implementar el software. No sé vosotros, pero yo no tengo la necesidad de cambiar de mapa cada dos por tres. Tengo el que me gusta y ya está. En FPGA sólo cabe un mapa, no puedes tener más de uno metido en BRAM, porque como ya he comentado, hasta no tener implementado el scandoubler no sabré cuánta BRAM me quedará libre.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista


Volver a “Sinclair/Spectrum”

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 8 invitados