Hace dos años se abrio un hilo relacionado con éste tema en la Pag.2, en él no se habla mucho pero remite a esta pagina:
http://codebase64.org/doku.php?id=base:simple_software_sprite_to_sprite_collisionAqui creo que lo hace de otra forma, delimitando las zonas que ocupa el sprites y detectando cualquier coincidencia entre zonas, ese listado lo estudiare mas tranquilamente...
En C-64 Wiki, abajo de la pagina no dan mucha informacion pero si clarificante:
http://c64-wiki.com/index.php/SpriteVemos que abajo nos dice esto:
"Sprites involucrados en una colisión con otros sprites tendrán sus respectivos bits a "1" en la dirección 53278 / $ D01E - todos los sprites otros tendrán un "0" poco aquí.
"Es decir, justo lo que decia al principio del tema, a la posicion $ D01E (53278) le meto el valor $03 (que aplica a los Sprites #0 y #1 y su bit ya queda a 1,..esto ya lo he probado asi a secas y no funciona...
Me faltaria meterle la Logica AND para comparar ambos bit, que se basa en esto:
1 1 -> 1
1 0 -> 0
0 1 -> 0
0 0 -> 0
Es decir que al compararlos solo Le sale 1 si ambos esta a 1, en ese momento imagino que ya podria meterle una rutina que quiera (explosion) por ejemplo y volver al menu principal y volviendo a los parametros de inicio,...en el caso de que la comparacion me diera 0, volveria a la rutina que continua con la secuencia como si nada hubiera pasado
Todo esto es teorica, lo tengo que probar a ver si funciona o si me falta algo,.un borrador del listado seria éste, teniendo en cuenta que despues de la Etiqueta UPDATE vendrian las rutinas de Valores Iniciales y despues de la Etiqueta MAINLOOP la secuencia de movimientos del #0 por Joy y del #1 programada:
UPDATE ;VALORES INICIALES
;
;
MAINLOOP ;SECUENCIAS DE
;MOVIMIENTOS
;
LDA #03 ;BIT A 1 EN #0 Y #1
STA $D01E ;AL HIERRO SPRITE TO SPRITE
AND $01 ;COMPARA 1
BNE UPDATE ;SI NO ES 0 COLISION DETECTADA
;VUELVE A INICIO UPDATE
JMP MAINLOOP ;(SI ES 0) VUELVE A MAINLOOP
;Y SIGUE SU CURSO LA SECUENCIA
Así,..todo esto es teorica, seguro que falta algo o me he equivocado en algo, o lo que sea,.tendre que probarlo, de todas formas no tengo prisa,..tengo todavia mucho que aprender.