Novedades core TEST 22
- mcleod_ideafix
- Mensajes: 831
- Registrado: 27 Sep 2015, 00:14
- Ubicación: Jerez de la Frontera
- Contactar:
Novedades core TEST 22
DIsponible en el repositorio. Llevamos con el TEST 22 desde primeros de Agosto pero hasta hoy no he decidido dejarlo "zanjado".
Las novedades son en la parte de los timings de Pentagon. Se ha implementado el border-1T-delay-update, o sea, en cristiano, que cuando se cambia el color del borde escribiendo en el puerto $FE, este cambio se refleja en la pantalla (si en ese momento se está pintando el borde) en el ciclo de reloj siguiente, en lugar de esperar 8 ciclos de reloj de pixel hasta la próxima actualización.
Este cambio en el comportamiento es el estándar de Pentagon y es la causa de que hasta ahora (TEST 21 y anteriores), los efectos en el borde de demos Pentagon se vieran muy "blocky".
Este cambio ha sido posible con la ayuda de los usuarios azesmbog y YERZMYEY. Los timings resultantes aun no son 100% perfectos, pero mejores de lo que teníamos antes.
Podeis comprobar los cambios ejecutando cualquiera de las demos que teneis disponible en el repositorio, en software/pentagon. Algunas van perfectas, otras casi perfectas. Es a lo más que puedo llegar, teniendo en cuenta que los timings del core T80 que usamos como procesador no son del todo correctos.
la configuración má parecida a un Pentagon es la siguiente: ROM de 128K (o de +2 gris), habilitado puerto 7FFD pero no el 1FFD. Timings de Pentagon y memoria no contenida. Yo lo que tengo es una ROM de Spectrum 128K inglés con todo lo anterior, pero timings de 128K y memoria contenida. Para habilitar los timings de Pentagon uso el comando .zxunocfg así: .zxunocfg -tpen -cn antes de cargar una demo.
NOTA: la demo OSCOSS no funciona bien la primera vez cuando se elige desde el menú NMI y se hace RUN "OSCOSS". Un efecto en el que se supone que se va cargando una imagen cargando linea a linea de abajo a arriba es donde falla. Si se resetea (reset de usuario) el ZXUNO, y se vuelve a TRDOS con RANDOMIZE USR 15616 para volver a lanzarla con RUN "OSCOSS" ya funciona bien. Esto me ha pasasdo con algún que otro programa, y probablemente sea algún fallejo de compatibilidad de la implementación de TRDOS dentro de DivMMC.
Además de esto, se ha corregido el esquema de decodificación de los puertos 7FFD y 1FFD en el 128k (y que también afecta a Pentagon). La decodificación anterior obligaba a que el bit 0 del bus de direcciones fuera 1, pero en la máquina original esto no es así, y de hecho hemos encontrado demos que se basan en este comportamiento para con un mismo OUT enviar un dato tanto al registro de paginación como al puerto $FE que maneja el borde. ¿El resultado? Pues efectos tan chulos como el de la demo SCROLL 2017 (SCROLL17.TAP) que también os hemos dejado en software/tests.
Dentro del directorio del core test22/v4 teneis, además del .BIT para cargar desde JTAG, el fichero .ZX1 para actualizar el core por tarjeta SD desde la BIOS. Para ello, no hay más que copiar el fichero SPECTRUM.ZX1 en el directorio raiz de la SD y desde BIOS, usar el menú Upgrade para actualizar el core.
Recomendable tener la última versión de la BIOS (0.51 o 0.52 si mal no recuerdo) para evitar sustos con la actualización vía tarjeta SD. La propia BIOS la podeis actualizar por SD o por EAR (sonido). Yo aquí aconsejo, sobre todo si teneis una BIOS anterior a la 0.48, que actualiceis la BIOS por EAR a la última versión, y ya desde la nueva BIOS, actualizar el core de Spectrum por tarjeta SD.
Las novedades son en la parte de los timings de Pentagon. Se ha implementado el border-1T-delay-update, o sea, en cristiano, que cuando se cambia el color del borde escribiendo en el puerto $FE, este cambio se refleja en la pantalla (si en ese momento se está pintando el borde) en el ciclo de reloj siguiente, en lugar de esperar 8 ciclos de reloj de pixel hasta la próxima actualización.
Este cambio en el comportamiento es el estándar de Pentagon y es la causa de que hasta ahora (TEST 21 y anteriores), los efectos en el borde de demos Pentagon se vieran muy "blocky".
Este cambio ha sido posible con la ayuda de los usuarios azesmbog y YERZMYEY. Los timings resultantes aun no son 100% perfectos, pero mejores de lo que teníamos antes.
Podeis comprobar los cambios ejecutando cualquiera de las demos que teneis disponible en el repositorio, en software/pentagon. Algunas van perfectas, otras casi perfectas. Es a lo más que puedo llegar, teniendo en cuenta que los timings del core T80 que usamos como procesador no son del todo correctos.
la configuración má parecida a un Pentagon es la siguiente: ROM de 128K (o de +2 gris), habilitado puerto 7FFD pero no el 1FFD. Timings de Pentagon y memoria no contenida. Yo lo que tengo es una ROM de Spectrum 128K inglés con todo lo anterior, pero timings de 128K y memoria contenida. Para habilitar los timings de Pentagon uso el comando .zxunocfg así: .zxunocfg -tpen -cn antes de cargar una demo.
NOTA: la demo OSCOSS no funciona bien la primera vez cuando se elige desde el menú NMI y se hace RUN "OSCOSS". Un efecto en el que se supone que se va cargando una imagen cargando linea a linea de abajo a arriba es donde falla. Si se resetea (reset de usuario) el ZXUNO, y se vuelve a TRDOS con RANDOMIZE USR 15616 para volver a lanzarla con RUN "OSCOSS" ya funciona bien. Esto me ha pasasdo con algún que otro programa, y probablemente sea algún fallejo de compatibilidad de la implementación de TRDOS dentro de DivMMC.
Además de esto, se ha corregido el esquema de decodificación de los puertos 7FFD y 1FFD en el 128k (y que también afecta a Pentagon). La decodificación anterior obligaba a que el bit 0 del bus de direcciones fuera 1, pero en la máquina original esto no es así, y de hecho hemos encontrado demos que se basan en este comportamiento para con un mismo OUT enviar un dato tanto al registro de paginación como al puerto $FE que maneja el borde. ¿El resultado? Pues efectos tan chulos como el de la demo SCROLL 2017 (SCROLL17.TAP) que también os hemos dejado en software/tests.
Dentro del directorio del core test22/v4 teneis, además del .BIT para cargar desde JTAG, el fichero .ZX1 para actualizar el core por tarjeta SD desde la BIOS. Para ello, no hay más que copiar el fichero SPECTRUM.ZX1 en el directorio raiz de la SD y desde BIOS, usar el menú Upgrade para actualizar el core.
Recomendable tener la última versión de la BIOS (0.51 o 0.52 si mal no recuerdo) para evitar sustos con la actualización vía tarjeta SD. La propia BIOS la podeis actualizar por SD o por EAR (sonido). Yo aquí aconsejo, sobre todo si teneis una BIOS anterior a la 0.48, que actualiceis la BIOS por EAR a la última versión, y ya desde la nueva BIOS, actualizar el core de Spectrum por tarjeta SD.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA
Re: Novedades core TEST 22
Si Antonio no ha sacado ninguna nueva, la última versión de bios que hay en el repositorio, es la 0.51
Re: Novedades core TEST 22
A un fan como yo de las demos rusas, esto nos encanta
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA
- antoniovillena
- Mensajes: 2621
- Registrado: 27 Sep 2015, 20:41
Re: Novedades core TEST 22
Ayer hice un pequeño cambio a petición de McLeod y subí la versión a 0.52, aunque no lo trasladé al repo oficial. Es una tontería, simplemente corrige un bug que deja colgado al firmware cuando la lista de ROMs está vacía. Como es un caso que no se suele dar, no merece la pena actualizar a esta versión.carmeloco escribió:Si Antonio no ha sacado ninguna nueva, la última versión de bios que hay en el repositorio, es la 0.51
- chernandezba
- Mensajes: 841
- Registrado: 02 Oct 2015, 23:35
Re: Novedades core TEST 22
Esta actualización modifica temas de la bios y de las Roms incluidas? O solo el core de spectrum?
Es decir, si lo hago en ZEsarUX, notaré algún cambio?
Saludos
Es decir, si lo hago en ZEsarUX, notaré algún cambio?
Saludos
Re: Novedades core TEST 22
Excellent, but .....
RAGE
UK flag
Upd:
probably left edge of the screen is cut off at 4 pixel
RAGE
UK flag
Upd:
probably left edge of the screen is cut off at 4 pixel
- Adjuntos
-
- UKflag.zip
- (2.1 KiB) Descargado 202 veces
Última edición por azesmbog el 12 Sep 2016, 00:19, editado 1 vez en total.
Re: Novedades core TEST 22
Me gustaría enviar mis ZX-Uno ya con esa versión 0.52. ¿Es posible descargarla de algún sitio?antoniovillena escribió:Ayer hice un pequeño cambio a petición de McLeod y subí la versión a 0.52, aunque no lo trasladé al repo oficial. Es una tontería, simplemente corrige un bug que deja colgado al firmware cuando la lista de ROMs está vacía. Como es un caso que no se suele dar, no merece la pena actualizar a esta versión.carmeloco escribió:Si Antonio no ha sacado ninguna nueva, la última versión de bios que hay en el repositorio, es la 0.51
- antoniovillena
- Mensajes: 2621
- Registrado: 27 Sep 2015, 20:41
Re: Novedades core TEST 22
Se está subiendo a la cuenta de Google Drive.carmeloco escribió: Me gustaría enviar mis ZX-Uno ya con esa versión 0.52. ¿Es posible descargarla de algún sitio?
Re: Novedades core TEST 22
Muchas gracias Antonioantoniovillena escribió:Se está subiendo a la cuenta de Google Drive.carmeloco escribió: Me gustaría enviar mis ZX-Uno ya con esa versión 0.52. ¿Es posible descargarla de algún sitio?
- mcleod_ideafix
- Mensajes: 831
- Registrado: 27 Sep 2015, 00:14
- Ubicación: Jerez de la Frontera
- Contactar:
Re: Novedades core TEST 22
VGA output shows you parts of the screen that you shouldn't normally see because a RGB output in a regular CRT TV produces overscan. That part in the RAGE demo is an example. Use the ZX-UNO as you would use an original Pentagon: with a CRT monitor and RGB output.azesmbog escribió:Excellent, but .....
RAGE
As I said, timings are perfect for some demos, nearly perfect for some others. It seems that there is not a single Pentagon specification, but many of them (this would explain why the "Across the edge" demo has four versions). I would be more than glad to have a formal definitive specification for Pentagon timings. For the time being, this is the best I can achieve. I hope that, with your help and others, I can fine tune timings for Pentagon machineazesmbog escribió:UK flag
Upd:
probably left edge of the screen is cut off at 4 pixel
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA