Secreto sumarial... No, pereza de explicarlo tal cual.
Básicamente, los truquitos son los siguientes:
- Desactivar la BIOS en la página 0 y establecer en el punto de entrada del vector de interrupcion un simple RET
- Pasarle una ristra de 3,5x1024 OUTIs del tirón (sí, son 7 KB de código
)
- Hacer la copia hacia la parte inferior de la pantalla: con ello, aunque haya acabado el V-blank, podemos escribir a la VRAM porque el cañón CRT está atrasado aún respecto a la parte de imagen que estamos enviando a VRAM.
Tal cual. El problema es que no me queda CPU más que para actualizar sonido (Caruso) en ese mismo frame. Todo el proceso se tiene que hacer en otro frame. Pero si se consigue así un refresco de 25 Hz, creo que se pueden hacer cosas muy majas.
Por cierto, que me puse ayer con el WEC LEMANS y sigo sin entender cómo pudieron programar ese pedazo de juego en un pobre MSX y que se moviera así de bien. Qué pasada! El movimiento es muy suave, y las rutinas de renderización de carretera y obstáculos una auténtica maravilla desde el punto de vista técnico. No creo que llegue tan alto!