OK, así he hecho. Muchas gracias,
Namek. El driver de la pantalla ya lo tengo bastante avanzado:
- Funciona en ventana y a fullscreen, al menos en Window$ 7 (no lo he podidio catar en otro Window$)
- Pinta y colorea a la perfección (tinta, papel y brillo)
- Borde no implementado aún
- Flash no implementado aún
Con esto, de momento veo el arranque del Spectrum, uséase, la pantalla se pone negra, salen las rayitas rojas verticales y se borran. Esto es un chequeo que la ROM hace de la RAM al iniciar.
El tema del borde me está haciendo pensar mucho. Si la ULA va enviando los píxeles a la vez que el monitor va haciendo escanlines, esto sisnifica que por cada scanline tengo que pintar primero una línea del borde izquierdo, la línea completa de la pantalla, y una línea del borde derecho. Salvo los casos en los que la ULA esté atendiendo a la parte superior o inferior, en cuyos casos pinta líneas de borde completo.
Me imagino que esto es lo que la ULA hace realmente, ¿nor?
Pero me surge una duda con esto: mientras la ULA pinta el borde, ¿va mirando en cada escanline el valor del puerto 254, o sólo lo lee una vez y pinta con ese color todo el borde? Después de haber visto demos y juegos que pintan cosas en el borde, entiendo que la ULA consulta el puerto en cada escanline, pero me gustaría confirmación de esto pues a ver si me voy a liar a pogramar este jaleo y aluego no va a ser así

EDITO: Otra pregunta para los más sabios del lugar

Los TV en modo PAL tienen 625 líneas, de las cuales se muestran 576. ¿Esto sisnifica que la ULA pinta 576 líneas en cada pantallazo? Muchas me paesen a mí, ¿nor?