TEST 21

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

TEST 21

Mensaje por mcleod_ideafix » 28 Jun 2016, 16:40

Se ha hecho de rogar, pero al fin está lo suficientemente estable como para ser anunciado en el foro.

El TEST 21 del core de Spectrum está en el repositorio. Si echais un vistazo vereis que he reorganizado un poco los ficheros del core, dejando la parte común en un lado, y la parte que es propia de cada versión de ZXUNO en otro sitio. Así, espero, podrá ser más sencillo sintetizar cores para las diferentes versiones de la placa.

De momento, la única placa que está testada al 100% es la 4.

Se ha hecho esperar porque el manejo de la memoria ha cambiado radicalmente y esto había que probarlo exhaustivamente. El resultado de todo esto es un core aún más compatible con todos los modelos oficiales de Spectrum, y el Pentagon. Estas son las nuevas características, además de lo que ya teníamos, claro:
  • El modo turbo se eleva hasta los 14MHz. Tenemos por tanto: 3.5MHz, 7MHz y 14MHz para elegir.
  • Es posible deshabilitar a voluntad los siguientes periféricos: DivMMC, AY, segundo AY (o sea, quitar el TurboSound), ULAplus, modos de pantalla Timex, y modo radastaniano.
  • Es posible configurar el sistema de paginación de memoria para que funcione exactamente igual que un 48K, un 128K/+2 gris, o un +2A/+3. Esto significa que la decodificación de los puertos $7FFD y $1FFD se hace en cada modelo según sus especificaciones, o en el caso del 48K, que esos puertos no existan en absoluto. Esto ha hecho que mejore la compatibilidad sobre todo con demos de Pentagon, que asumen una decodificación parcial del puerto $7FFD igualita que la del 128K/+2 gris (ahora las demos Kpacku Deluxe y Heart funcionan sin problemas hasta el final). En un Spectrum 48K es posible deshabilitar la memoria por encima de 48K para que no aparezca ni siquiera tras un reset de usuario, y también es posible deshabilitar el AY-3-8912, comportándose de esta forma como un verdadero Spectrum 48K a todos los efectos: los juegos duales 48K/128K lo detectarán como un 48K y no tratarán de usar música AY (petición de carmeloco).
  • Hay juegos que por lo visto, durante su desarrollo, usaron algún tipo de debbugger hardware que se conectaba al puerto $FF, y en la versión final no quitaron el código que se comunica con el debugger, con lo que envían datos espureos a este puerto. En un Spectrum original, no Timex, escribir al puerto $FF no tiene ningún efecto, pero en el ZX-UNO se activan los modos de pantalla Timex, así que esos juegos eran injugables. Ahora los modos Timex pueden desactivarse para mejorar la compatibilidad con estos juegos (petición de YERZMYEY)
  • Se ha añadido el manejador de memoria horizontal (MMU) del Timex, teniendo ahora por tanto tres bancos: HOME, DOCK y EXT. Cada uno de ellos con 64KB paginables en blqoues de 8KB. El banco HOME es el habitual de un 48K/128K. DOCK y EXT son bancos alternativos que pueden aparecer en todo o en parte del espacio de direcciones del Z80 usando para ello el puerto $F4. Esto permite la implementación del estándar Chloe 280SE. La MMU no está activada por defecto. Cuando está activada, leyendo el puerto $FF se devuelve el último valor escrito en él, es decir, la configuración del modo de pantalla Timex en uso y la elección DOCK/EXT para la MMU.
  • Se ha cambiado la forma en la que se generan los scanlines en la salida VGA, para que queden un poco más naturales.
  • Se ha cambiado la forma en la que se activa el modo radastaniano. A petición de Andrew Owen, que es el responsable de la especificación ULAplus, se han movido los bits que se usaban en el registro 64 de ULAplus para activar el modo radastaniano, al registro 64 de ZX-UNO. Esto afecta a todo el software que se haya escrito hasta ahora y que use el modo radastaniano. Las utilidades .playrmov y las demos del modo radastaniano que están publicadas en el repositorio han sido ya actualizadas.
Todos estos cambios han supuesto la creación de nuevos registros en el espacio de E/S del ZX-UNO (puertos $FC3B y $FD3B). Consultad la wiki técnica para saber cómo usar estos nuevos registros para activar y desactivar a voluntad las nuevas caracteríticas. Algunas de ellas ya están disponibles desde la BIOS. Otras aún no.

La utilidad .zxunocfg ha sido actualizada para dar soporte a los nuevos modos turbo.

Se ruega a los poseedores de un prototipo que, como siempre, hagan un backup de su SPI Flash antes de poner este nuevo core. Y si es posible, que lo prueben antes enviándolo por JTAG a la FPGA antes de flashearlo definitivamente en ella.

Este core funciona mejor si se tiene la última revisión de la BIOS instalada (que no recuerdo ahora mismo si es la 0.41 o 0.43)
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
carmeloco
Mensajes: 751
Registrado: 25 Dic 2015, 12:02

Re: TEST 21

Mensaje por carmeloco » 28 Jun 2016, 17:05

Impresionante mejora, y muchas gracias por tener en cuenta mi petición !!!!!

Avatar de Usuario
Haplo
Mensajes: 368
Registrado: 05 Oct 2015, 13:51
Ubicación: Ciudad Real

Re: TEST 21

Mensaje por Haplo » 28 Jun 2016, 17:27

Ole oleeee, a probarrrr

Avatar de Usuario
Uto
Mensajes: 1394
Registrado: 17 Dic 2015, 16:39

Re: TEST 21

Mensaje por Uto » 29 Jun 2016, 23:28

mcleaod_iedafix: aparte de aplaudir con las orejas por este nuevo ,publiqué un post-resumen en WoS al respecto, y preguntan por allí que si no hay .tap para hacer el upgrade desde la BIOS.

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: TEST 21

Mensaje por mcleod_ideafix » 30 Jun 2016, 00:17

Ahi lo teneis: el TAP y el WAV. De todas formas insisto en que sería conveniente probar primero el core por JTAG, ya que no sé a partir de qué versión de la BIOS es posible usar este core. Antonio?
Adjuntos
core_t21.zip
(326.1 KiB) Descargado 243 veces
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
antoniovillena
Mensajes: 2621
Registrado: 27 Sep 2015, 20:41

Re: TEST 21

Mensaje por antoniovillena » 30 Jun 2016, 00:33

mcleod_ideafix escribió:Ahi lo teneis: el TAP y el WAV. De todas formas insisto en que sería conveniente probar primero el core por JTAG, ya que no sé a partir de qué versión de la BIOS es posible usar este core. Antonio?
A partir de 0.316. Lo de probar primero por JTAG no sirve de mucho si no tienes JTAG. Y si lo tienes puedes arriesgarte a grabar, ya que en caso de briqueo tienes el cable para desbriquear.

Yo lo que recomiendo es hacer primero un upgrade de otro core. Si después del upgrade el core funciona, usar la misma SD para hacer el upgrade que quieras. Los upgrades con posibilidad de briqueo son los del core spectrum y los de toda la flash. Por suerte un mal upgrade de firmware es recuperable vía cinta.

Avatar de Usuario
carmeloco
Mensajes: 751
Registrado: 25 Dic 2015, 12:02

Re: TEST 21

Mensaje por carmeloco » 30 Jun 2016, 07:26

He intentado probar a hacer un firmware completo, con el generamcs.bat que hay en firmware/roms del repositorio (y que ya incluye el test21), pero al cargarlo via SD al :zxuno: (tanto en un V4 como un V4.1) y me sale toda la bios corrupta.

Edito: cargado por JTAG también. :(

re-edito: el problema está en el archivo de bios (firmware.zx1). Actualizando ese solo, también pasa.

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: TEST 21

Mensaje por mcleod_ideafix » 30 Jun 2016, 20:37

A mi me da problemas la actualización por SD (BIOS 0.43). El core lo he metido en la flash usando carga por audio
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
antoniovillena
Mensajes: 2621
Registrado: 27 Sep 2015, 20:41

Re: TEST 21

Mensaje por antoniovillena » 01 Jul 2016, 02:00

mcleod_ideafix escribió:A mi me da problemas la actualización por SD (BIOS 0.43). El core lo he metido en la flash usando carga por audio
Sí. En esa versión al más mínimo error se sale de la rutina y te muestra un mensaje. En las anteriores versiones se reintentaba. Lo he cambiado porque es más seguro así, aunque se pierde compatibilidad de SDs.

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: TEST 21

Mensaje por mcleod_ideafix » 01 Jul 2016, 08:36

Antonio: el subforo de Firmware no se actualiza desde Abril. Porfa, pon un post diciendo al menos qué versión de la BIOS es la que deberíamos tener todos, qué ofrece dicha versión y cómo ponerla. Así contamos con que todos los voluntarios que tienen prototipos tengan el último core recomendado y la última versión de BIOS recomendada :)
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Responder