Hemos estado trabajando "duro" estos días
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:
- Multiboot. Arranca por defecto el Spectrum. Para lanzar el segundo core (Sam Coupé por el momento), pulsar Ctrl+F2 en cualquier momento.
- 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)
- Usa el Test4 del core de Sam Coupé como 2º core.
- 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.
- 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
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.
Aprovecho el post para indicar el detalle de la nueva organización de la SPI Flash actual (W25Q80):
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 (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
EDITO 12-2015: Actualizo modificaciones en el mapa de Q32.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