- Estado del test de SDRAM (testeo hecho a 100 MHz y CAS LATENCY=2). El test es parecido al que hace el Spectrum. Primero se escribe un valor de 16 bits en todas las direcciones de la SDRAM (16M direcciones). Luego, para cada dirección, se lee el valor de cada dirección y se le suma una cierta cantidad, volviendo a escribir el nuevo valor. Luego, para cada dirección, se comprueba que el valor almacenado se corresponde con lo esperado. Si alguna dirección falla, el test da ERROR.
- Estado de los dos puertos de joystick. Conectando un joystick a uno de los puertos y manejándolo deben verse las letras U,D,L,R,1 y 2
- Estado de la conectividad del slot SD (es necesario poner una tarjeta SD. No se hace ninguna operación destructiva sobre ella)
- Estado de la flash SPI. El valor en hexadecimal que aparece al lado de OK indica el vendor ID de la flash. En la mía es 20, que corresponde a Micron (la flash es una M25P16). Si no se detecta un vendor ID válido (00 o FF) entonces este test devuelve ERROR.
- Estado del ratón. El test simplemente comprueba que hay conectividad en el puerto PS/2 del ratón mostrando el estado de los tres botones.
- Estado del puerto serie. Este test aún no ha sido implementado.
Además de todo lo anterior, por los dos canales de sonido se oye un "ping", "pong" que va sonando alternativamente en cada canal de audio. A la vez, los dos leds que se situan en la placa cerca del slot SD, alternan entre encendido y apagado.
Pulsando 1,2 y 3 se cambia de modo de video (RGB PAL, RGB NTSC, o VGA 60 Hz. Al tener que manejar este core con el teclado, se testea también la conectividad del propio teclado y su compatibilidad con PS/2.
Se adjunta código fuente del core y SOF listo para enviar a la FPGA.
PD: ah! y además (al igual que el core del ZXUNO equivalente) core 100% "de aquí de la tierra". Sin tomar prestado ni una línea de OpenCores u otros sitios. Excepto el módulo del reloj, que es el que genera automáticamente el Quartus cuando le pides una megafunción de reloj, claro.