Ayer estuve haciendo algunas cosillas en ensamblador, y me entretuve
con la programación del VDP. Me han surgido algunas dudas, a ver si
los entendidos me podeis ayudar:
* El Technical Handbook recomienda deshabilitar las interrupciones
antes de leer un registro de estado, pero no dice nada sobre las
interrupciones al escribir en un registro de control. ¿Es necesario
deshabilitarlas? He hecho algunas pruebas sin deshabilitarlas (al
escribir en registros de control) y funciona correctamente, pero igual
es la suerte del principiante.
* Cuando se ejecutan los comandos del VDP, ¿los registros de
parámetros se modifican? En otras palabras, ¿es necesario introducir
todos los parámetros en los registros del VDP cada vez, o sólo los que
se modifican? Lo digo porque, por ejemplo, si se quiere dibujar un
mapa de tiles en todos los "copy" el NX y el NY serán identicos.
* Cuando se invoca un comando del VDP deben deshabilitarse las
interrupciones ¿no? ¿Es necesario deshabilitarlas cuando se escriben
los parametros en los registros?
* Para saber si ha terminado la ejecución de un comando del VDP hay
que consultar el bit CE de S#2. Así lo hice, pero el ordenador se
quedaba colgado. Luego vi que en el ejemplo del Technical Handbook,
después de consultar S#2 y esperar el fin de la ejecución del comando
consulta S#0. Haciendo esto no se cuelga. ¿Por qué ocurre esto?
* ¿Es necesario hacer un bucle de espera hasta que finalice el comando
del VDP o se puede saber el número de ciclos que va a tardar e ir
haciendo cosas mientras tanto?
Gracias!