Bueno, pues me ha picado la cosa y siguiendo con ejemplo del avioncillo, he decidido poner en práctica la colisión de sprites.
Todo bastante sencillo... si he entendido bien, solo es que cuando un sprite colisiona, su bit de la dirección 53278 (o 53279 para colisión con caracteres) se pone a 1.
En el programa hago que cuando colisione con un carácter, se finalice.
Ahora bien... muchas veces nada más ejecutar el programa, detecta una colisión y se termina inmediatamente. Creo que he probado todo, hasta poner todos los bits del 53279 a 0 nada más empezar por si queda algún bit residual a 1, pero nada.
No se por qué puede ser y la cosa es que no siempre pasa. He notado que cuando hago un "hard reset" no pasa, así que intuyo que es algún bit puñetero que queda a 1 y se detecta una colisión nada más empezar el programa...
¿Alguien puede saber por qué pasa?
Muchas gracias.