Nuevo! MCS con multiboot para descargar (sólo users con cable JTAG)

Discursiones en general sobre el proyecto que no tienen cabida en otro foro / General discussion for uncateorized topics about the ZX-Uno project
Responder
Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Nuevo! MCS con multiboot para descargar (sólo users con cable JTAG)

Mensaje por Quest » 30 Sep 2015, 18:52

Novedades en el :zxuno:

Hemos estado trabajando "duro" estos días :D

Tras quedar definido definitivamente el mapa de la flash SPI W25Q80 actual, y tras haberlo probado satisfactoriamente con 2 cores, ya está disponible para descargar en el repositorio SVN de siempre (http://www.atc.us.es/svn/zxuno , user: guest / pass: zxuno) un nuevo archivo MCS (prom_multiboot.mcs) válido para los prototipos v2, en la carpeta /firmware/roms/

El nuevo mapa de organización de la flash es totalmente incompatible con el anterior, así que sólo se podrá actualizar si dispones del cable JTAG Xilinx o si conoces a alguien que lo tenga y te lo pueda grabar. Una vez grabado, las sucesivas actualizaciones podrán hacerse sin cable.

Las novedades/características principales son:
  1. Multiboot. Arranca por defecto el Spectrum. Para lanzar el segundo core (Sam Coupé por el momento), pulsar Ctrl+F2 en cualquier momento.
  2. Usa el Test19 del core de spectrum (adaptado con un nuevo bootloader y el código multiboot. Disponible el core en /cores/spectrum_v2_spartan6/test19_multi)
  3. Usa el Test4 del core de Sam Coupé como 2º core.
  4. Firmware 0.30K ligeramente adaptado al nuevo mapa + inicialización de teclados híbridos/problemáticos (con testigo NumLock) + Inicialización Kempston Mouse + CoreID en la pantalla de inicio.
  5. Por requerimientos del nuevo mapa, ahora hay 19 slots de 16k para ROMs de Spectrum en vez de 20. Tenedlo en cuenta. No añadáis el 20 mediante BIOS porque aún no se ha adaptado y puede corromperse
También podéis generaros vuestro propio MCS Multiboot con el script generamcs_multiboot_Q80.bat que hemos colcado en /firmware/roms. Puedes editarlo para cambiar la ubicación del 2º bitstream (.bit) para que en vez del de Sam Coupé sea cualquier otro de los disponibles en /cores.

Se generarán también de forma automática los .tap y .wav como siempre de esxdos, firmware y los machines. OJO a los que no tengan cable (y tengan por tanto core/bios anteriores), o no tengan ya grabado este nuevo mcs multiboot porque los taps de firmware y machine que obtendrán si lo ejecutan brickearían su prototipo.

Para los que necesiten seguir generando los antiguos archivos, tendrán que usar el anterior generamcs.bat teniendo en cuenta además que en /firmware, los archivos firmware.asm / firmware.rom son los nuevos y también causarían brick, así que para generar el firmware anterior deberán usar/compilar/renombrar (lo que se prefiera) el firmware_227_old.asm.

Notas / Cosas a tener en cuenta en general:
  • Hemos comprobado que al sintetizar con ISE 14.7 los últimos cores de spectrum, aparecen aleatoriamente corrupciones y cuelgues en el uso del spectrum, así que revertimos a ISE 12.4 el cual genera bitstreams estables.
Animo a probarlo los que tengáis el prototipo v2 y cable JTAG para testear y sacar cualquier fallo que pudiera haber :)

Aprovecho el post para indicar el detalle de la nueva organización de la SPI Flash actual (W25Q80):
000000-004000 Boot Header Xilinx
004000-058000 Firmware-ROMs (detallado debajo)
--(004000-006000) ESXDOS
--(006000-008000) Directorio de ROMs
--(008000-00C000) Firmware-BIOS
--(00C000-058000) 19 ROMs de Spectrum
058000-0AC000 Bitstream 1
0AC000-100000 Bitstream 2
Mapa de la nueva SPI Flash (W25Q32), presente a partir de la placa v3 en adelante:
000000-004000 Boot Header Xilinx
004000-058000 Firmware-ROMs (19 ROMs)(detallado debajo)
--(004000-006000) ESXDOS
--(006000-008000) Directorio de ROMs
--(008000-00C000) Firmware-BIOS
--(00C000-058000) 19 ROMs de Spectrum
058000-0AC000 Bitstream 1
0AC000-100000 Bitstream 2
100000-154000 Bitstream 3
154000-1A8000 Bitstream 4
1A8000-1FC000 Bitstream 5
1FC000-250000 Bitstream 6
250000-2A4000 Bitstream 7
2A4000-2F8000 Bitstream 8
2F8000-34C000 Bitstream 9 / ROMs de otros cores (p.ej.:48k por core)
34C000-400000 (tamaño B4000 = 720K) Reservado para otras 45 roms de spectrum (64 en total)

---

Detalle de (006000-008000) Directorio de ROMs
--6000-7000 Entradas de ROMs y nombres de Bitstreams
----6000-64C0 Primeras 19 entradas (apuntan a 004000)
----64C0-7000 Últimas 45 entradas (apuntan a 34C000)
--7000-8000 Índice de entradas y nombres bitstream
----7000-704F Índice de entradas
----7100-7200 8 nombres de Bitstreams (32 bytes cada uno)
----7200-8000 Reservado
EDITO 12-2015: Actualizo modificaciones en el mapa de Q32.
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: Nuevo! MCS con multiboot para descargar (sólo users con cable JTAG)

Mensaje por jepalza » 04 Oct 2015, 10:18

Hemos comprobado que al sintetizar con ISE 14.7 los últimos cores de spectrum, aparecen aleatoriamente corrupciones y cuelgues en el uso del spectrum, así que revertimos a ISE 12.4 el cual genera bitstreams estables.
:? Vaya, primera noticia. Hace tiempo (un año casi) que no hago nada para el ZXUNO, pero ahora entiendo algunos fallos que daba, en cosas que una compilación anterior funcionaba.

Pero tengo una pregunta: ¿ya funciona el 12.4 en Win10? Si al 14.7 hubo que hacerle lo del "libPortabilityNOSH.dll" para que funcionara, el 12.7, mas antiguo, entiendo que andará aún peor.

Yo es que aún uso el 14.7 (muy de vez en cuando) para cosillas en el "Papilio Pro", por que la mayoría de ejemplos que hay en la red son de la 14 en adelante, y me da un "no sé qué" quitarlo y volver a la vieja 12.4.

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

Re: Nuevo! MCS con multiboot para descargar (sólo users con cable JTAG)

Mensaje por antoniovillena » 04 Oct 2015, 11:11

No lo sé, supongo que sí funcionará. La versión 14.7 te valdrá igualmente, si desactivas la contención no se producen cuelgues. No hay ninguna razón por la cual una versión sea mejor que otra, pero casualmente en el core de spectrum con la contención activada la 12.4 es estable y la otra no.

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

Re: Nuevo! MCS con multiboot para descargar (sólo users con cable JTAG)

Mensaje por jepalza » 04 Oct 2015, 11:40

Gracias, voy a instalar ahora mismo la "vieja" para estar a vuestra altura en pruebas, ... mientras me veo una peli, por que creo recordar que no baja de una hora la instalación, y eso, en un I7.

Por cierto, creo recordar que Mcleod_Ideafix comentó en ZDP que la 14.7 sintetizaba en la mitad de tiempo, y ahorraba espacio, puede ser esa la diferencia entre usar una u otra.

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

Re: Nuevo! MCS con multiboot para descargar (sólo users con cable JTAG)

Mensaje por jepalza » 04 Oct 2015, 13:31

Ya he probado el multiboot, y funciona correcto. Es cómodo eso de cambiar de sistemas con el CRTL+F2 (¿no vuelve atrás?).
Solo he notado un error en la generación de vídeo compuesto en el ZX, en uno de mis monitores, que se ven líneas de sincronismo perdidas. Otra de las TV (he probado en tres diferentes) le cuesta coger el modo video, he tenido que cambiar varias veces a modo video hasta que lo ha cogido.
La tercera de las TV a la primera. Son dos TV "chinas" (marca genérica) y una Samsung, y la Samsung la única que coge a la primera.

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

Re: Nuevo! MCS con multiboot para descargar (sólo users con cable JTAG)

Mensaje por mcleod_ideafix » 05 Oct 2015, 10:57

jepalza escribió:Es cómodo eso de cambiar de sistemas con el CRTL+F2 (¿no vuelve atrás?).
Sí, si se implementa en el otro core. Mira, es algo que podríamos poner en todos los cores, en la medida en que sea posible.
jepalza escribió:Solo he notado un error en la generación de vídeo compuesto en el ZX, en uno de mis monitores, que se ven líneas de sincronismo perdidas. Otra de las TV (he probado en tres diferentes) le cuesta coger el modo video, he tenido que cambiar varias veces a modo video hasta que lo ha cogido.
La señal de video que implementa el clon es exacta a la del Spectrum, y eso significa que no es estándar PAL. Esas mismas teles, ¿les cuesta coger la señal de un Spectrum original?

Por otra parte, cuando usas .zxunocfg para pasar al modo de timings de 128K, la generación de la señal está aún más fuera de norma. Si estás arrancando una ROM de 128K, prueba en BIOS a forzar los timings de 48K, o bien si tienes soporte de DivMMC, usa el comando .zxunocfg para poner los timings de 48K a ver si notas alguna mejora.
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: Nuevo! MCS con multiboot para descargar (sólo users con cable JTAG)

Mensaje por jepalza » 05 Oct 2015, 17:42

En las teles "nisupu" les cuesta coger la señal de vídeo. Es mas, si coge la señal, suelto el cable de video y lo vuelvo a poner, ya no la coge mas y tengo que reiniciar el ZXUNO. He probado a poner timings 48k y nada, se ve igual de raro. Es como si el cuadrante inferior derecho no acabara de completarlo y se quedara en el intento, y se ven lineas a medio completar. Pero solo lo hace en las dos teles de marcas raras (una shinelco de 24" y una rimax de 19" o algo así) pero en la Samsung de 37" no hay problema. Es un mal menor.

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

Re: Nuevo! MCS con multiboot para descargar (sólo users con cable JTAG)

Mensaje por Quest » 07 Nov 2015, 17:00

Sólo una pequeñísima actualización:

Como próximamente iré preparando y subiendo ya los archivos y scripts para generar los .mcs de la nueva Flash SPI de 32Mbits (W25Q32) donde cabrán 8 cores, y hasta que Antonio implemente la NMI especial y demás para cambiar de core rápidamente, he subido un nuevo comando de ESXDOS llamado "CORE". Lo podéis encontrar en el repositorio en /software/esxdos/0.8.6-beta4/BIN/CORE (grabar en vuestra carpeta BIN de la SD). El uso es: "CORE n", donde n es el número de core del 1 al 8 que se quiere lanzar, según orden incremental de su posición en la flash. El 1 es el actual (spectrum).

Lo hice principalmente para poder mostrar en Retromañia 2015 los diferentes cores que llevo grabados en la flash de forma rápida, pero puede servir a alguien más hasta que esté lo definitivo.

A partir de ahora los cores y demás que suba van a ser para la v3 en adelante, que montarán la nueva flash y nueva SRAM. No obstante se mantendrá lo que hay hasta ahora para v2, y además será fácil resintetizar lo nuevo para ellas con pequeños cambios.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Responder