Core SMS test4
Publicado: 18 Jun 2016, 14:48
Bueno, pues con un poco de retraso, pero al fin he tenido algo de tiempo para organizar todo el tema del test4, con unas cuantas mejoras (algunas ya conocidas en los bits de prueba que subimos), otras nuevas y algunos cambios en la estructura del proyecto. Ya está todo disponible en el SVN, fuentes y .bits para todas las placas (están TODOS probados y funcionando en mis placas v2, v3, v4, v4.1 y A+).
Mejoras en esta versión:
TO-DO para la próxima versión (cosas pendientes de implementar, si se puede):
- Añadir soporte seleccionable de NTSC y VGA 60Hz.
- Soporte de 2 jugadores (segundo jugador usando teclado).
Mejoras en esta versión:
- Fusionadas las ramas RGB y VGA en una sola, ahora con el soporte de teclado, se puede cambiar entre modos de vídeo. Ahora la señal de es más estable gracias a la primitiva BUFGMUX de la spartan-6 para seleccionar los relojes del VDP.
- Añadido soporte de teclado:
-- Ahora se puede jugar con el jugador 1 igual que con el joystick, con diversas combinaciones de teclas: QAOP-ZX, Cursores+Win+espacio, etc. Se puede navegar por la lista de roms con las mismas teclas, y usar Enter o fuego para elegir.
-- Tecla Pausa del teclado: simula la pulsación del botón de pausa de la Master System (necesario para algunos juegos como el Alex Kidd).
-- Tecla Bloq. Despl. / ScrollLock: Cambia entre modos de vídeo (de momento entre PAL y VGA 50Hz)
-- Tecla F12: Restea la SMS y vuelve al menú selector de ROMs (al fin!! Totalmente funcional, sin vram corrupta)
-- Master reset: Ctrl+Alt+Backspace: Resetea el ZX-UNO y vuelve al core principal (Spectrum) - Añadido soporte a tarjetas SD sin MBR (formato "Superfloppy") tanto en FAT16 como FAT32.
- Añadido soporte *EXPERIMENTAL* de HDMI/DVI-D: Esto es más que nada para los que quieran cacharrear un poco, ya que no merece la pena realmente, teniendo conversores VGA-HDMI muy económicos y que soportan todas las TVs y resoluciones.
-- Es principalmente para usar con v4/v4.1 con el prototipo de add-on HDMI-ESP21 cuyos esquemas tenéis en el SVN y del que Antonio hizo algunas PCBs. Pero también se puede, para cacharrear, cablear a mano un cable HDMI directamente en el puerto de expansión con conectores dupont o similares, en todos los prototipos desde el v2.
-- La compatibilidad es baja, sólo se visualiza la imagen correctamente en monitores o monitores con TV que admitan resoluciones no típicas de TV (800x600 50Hz, etc). En mis monitores y monitores-TV con entrada HDMI/DVI-D, ha funcionado en todos (un BenQ 24", un Samsung 20" 16:10 y un LG de 2009 que es monitor con TV). EN las TVs LCD/LED grandes que tengo no se ve en ninguna (LG LED 37" SmartTV de 2012, LG 42" SmartTV de 2011).
-- Sólo se transmite la imagen, no el sonido. Funciona simultánteamente con la salida VGA (se pueden tener ambas imágenes a la vez, cada una por un conector). - Para los cacharreros que vayan a sintetizar su propio core: Ya no hace falta inyectar el bootloader tras generar el .bit, ahora el bootloader se importa automáticamente al sintentizar, desde un fichero "boot.mif" en /src. El contenido de la vram (las fuentes) ahora está directamente embebido en vhdl, ya que no va a cambiar, y de paso facilita tener una copia intacta en BRAM para que al pulsar F12 (reset al bootloader) la vram de la sms con la fuente se mantenga intacta.
TO-DO para la próxima versión (cosas pendientes de implementar, si se puede):
- Añadir soporte seleccionable de NTSC y VGA 60Hz.
- Soporte de 2 jugadores (segundo jugador usando teclado).