Ligera mejora al multiboot

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

Ligera mejora al multiboot

Mensaje por mcleod_ideafix » 13 Oct 2015, 20:42

TEST 19 multi_mcleod

La mejora es sencillamente el poder controlar el multiboot por programa. Para ello se han habilitado dos nuevos registros: COREADDR y COREBOOT.

COREADDR: guarda la dirección (24 bits) en la SPI donde se alojará el core que queremos arrancar. Los 24 bits se guardan escribiendo tres veces a este registro, 8 bits cada vez, comenzando por el byte más significativo del valor que queremos guardar.
COREBOOT: lanza una petición de arranque de core a la Spartan

Por ejemplo: para forzar que arranque de nuevo el core de ZX Spectrum, hacer:

Código: Seleccionar todo

10 OUT 64571,252
20 OUT 64827,5: OUT 64827,128: OUT 64827,0: REM SPI addr: 0x58000
30 OUT 64571,253: OUT 64827,1
Por defecto, COREADDR contiene el valor 0xAC0000, que es la dirección del segundo core, así que si desde el ZX Spectrum queremos arrancar este segundo core, hacer:

Código: Seleccionar todo

OUT 64571,253: OUT 64827,1
Por supuesto, el cambio a través de teclado sigue funcionando. De todas formas, es probable que cuando la NMI especial de Antonio esté lista, no se necesite tener cableado uno de los "user_toggles" al multiboot, sino que de eso se encargue el gestor NMI "antoniovilleniano" :D

Detalles (no mucho más de lo que os acabo de contar) en http://www.zxuno.com/wiki/index.php/ZX_ ... _de_ZX-Uno

Quest: ¿es esto lo que me pediste, no?

Cuando una esto a lo que ha hecho Jepalza con la VGA, tendremos el TEST 20. Quería comenzar primero con el multiboot porque cambian muchas cosas del mapa SPI, que en el core de Jepalza ya se dan por hechas, así que voy por pasitos: primero pongo lo de Quest, y a continuación, lo de Jepalza.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Ligera mejora al multiboot

Mensaje por Quest » 13 Oct 2015, 21:27

Era justo eso, si :D

Muchas gracias, voy a probarlo ahora mismo!

EDITO: Ya lo he probado, va de fábula :)

De paso he actualizado el post viewtopic.php?f=27&t=19&p=36#p36 simplemente para indicar al final del mismo el mapa de una posible SPI flash más grande (W25Q32), para tener en cuenta dónde estarán el resto de cores y el espacio extra para ROMs.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
chernandezba
Mensajes: 841
Registrado: 02 Oct 2015, 23:35

Re: Ligera mejora al multiboot

Mensaje por chernandezba » 14 Oct 2015, 17:22

Hola.

Una pregunta sobre esto del multiboot... Lo he visto alguna vez en algún hilo pero no acabo de entender para qué sirve. Esto es para poder arrancar diferentes cores, ya sea spectrum, sam coupe, atari, etc? O hace referencia a que ROM arranca la bios del zxuno?
Lo pregunto porque para ZEsarUX, si hace referencia a lo primero, como yo solo emulo el core del spectrum, estos registros nuevos no tienen sentido para el emulador y por tanto no tengo que hacer nada.
O bien, si hace referencia a que ROM arranca, sí que tendría que realizar cambios en el emulador..
Bueno ya me diréis

Saludos
César
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Ligera mejora al multiboot

Mensaje por Quest » 14 Oct 2015, 17:26

No te preocupes César, es lo primero a lo que te refieres, cargar un nuevo Core en la FPGA de otros sistemas. Los registros para esto en el emulador no tendrían sentido, así que puedes obviarlos :)
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
chernandezba
Mensajes: 841
Registrado: 02 Oct 2015, 23:35

Re: Ligera mejora al multiboot

Mensaje por chernandezba » 14 Oct 2015, 18:28

Ah ok. Gracias!
De todas maneras los 256 registros del zxuno siempre están accesibles en el emulador, tema aparte es que si escribes en uno que no esté gestionado por el emulador, podrás leer luego su valor aunque no realice ninguna función
Saludos
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

Avatar de Usuario
jepalza
Mensajes: 613
Registrado: 02 Oct 2015, 18:52

Re: Ligera mejora al multiboot

Mensaje por jepalza » 14 Oct 2015, 19:18

mcleod_ideafix escribió: Cuando una esto a lo que ha hecho Jepalza con la VGA, tendremos el TEST 20. Quería comenzar primero con el multiboot porque cambian muchas cosas del mapa SPI, que en el core de Jepalza ya se dan por hechas, así que voy por pasitos: primero pongo lo de Quest, y a continuación, lo de Jepalza.
Espera un poco de nada. He retomado el tema de la VGA, y le he dado la vuelta 180º a todo, y "creo" haberlo logrado. Ahora tengo una salida VGA limpia, sin rallas, ni pérdidas de sincronimos, pero con algún fallo en los brillos (un poco oscuro en el color azul).
En cuanto resuelva un par de fallos, os dejo la nueva versión para que la probéis.

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

Re: Ligera mejora al multiboot

Mensaje por mcleod_ideafix » 14 Oct 2015, 19:39

jepalza escribió:Espera un poco de nada. He retomado el tema de la VGA, y le he dado la vuelta 180º a todo, y "creo" haberlo logrado. Ahora tengo una salida VGA limpia, sin rallas, ni pérdidas de sincronimos, pero con algún fallo en los brillos (un poco oscuro en el color azul).
En cuanto resuelva un par de fallos, os dejo la nueva versión para que la probéis.
Ok! Yo lo que estoy haciendo ahora es meter el tema del reloj reconfigurable, para que cuando se conmute a VGA lo haga con una velocidad de reloj diferente a la que se usa en PAL, y así tener mayor compatibilidad con los monitores que necesitan un poco más de 50Hz de refresco vertical.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
jepalza
Mensajes: 613
Registrado: 02 Oct 2015, 18:52

Re: Ligera mejora al multiboot

Mensaje por jepalza » 14 Oct 2015, 19:44

Hazlo si quieres, por que servirá para probar en mas monitores, pero ahora es estable con los relojes iniciales y en dos monitores diferentes, tanto en 48k como en 128k.
Ya lo tengo listo, lo subo en un momento.

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

Re: Ligera mejora al multiboot

Mensaje por mcleod_ideafix » 14 Oct 2015, 20:22

jepalza escribió:Hazlo si quieres, por que servirá para probar en mas monitores, pero ahora es estable con los relojes iniciales y en dos monitores diferentes, tanto en 48k como en 128k.
Ya lo tengo listo, lo subo en un momento.
Hace un tiempo recordarás que dejé un core con un test de VGA para probar en varios monitores, buscando precisamente qué combinaciones de frecuencias eran las más compatibles para todo el mundo.
http://www.zonadepruebas.com/viewtopic. ... 259#p52259

La idea es que desde BIOS o desde donde sea, poder elegir con qué frecuencia maestra se va a usar el modo VGA, para así asegurar que la señal sea compatible con el monitor que vayas a usar. No todos funcionan bien a 50Hz de refresco vertical (sobre todo algunos monitores LCD)

Es por eso que estoy también metiendo este tema de los relojes configurables en el core. Hay 8 combinaciones de relojes posibles para "jugar": desde 50Hz, hasta ¡75Hz!
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
jepalza
Mensajes: 613
Registrado: 02 Oct 2015, 18:52

Re: Ligera mejora al multiboot

Mensaje por jepalza » 14 Oct 2015, 20:25

Genial, cuantas mas posibilidades, mejor.

Recuerdo (y tengo) el test de VGA. A mi me iba mal en algún monitor, así que recuerde, y bien en otros.

Responder