SCPCDLe 06/04/2022 à 19:55
Quand tu actives le mode collision, il faut qu'il y ai au moins BCOMPEN (bit comparator), DCOMPEN (data comparator) ou ZMODE (Z comparator) d'activé.
Selon le mode, tu as donc une comparaison entre une source/destination qui peuvent être en RAM (si un des SRCEN<> ou DSTEN<> sont activés) ou sinon ça sera via les registres (SRCD, DSTD, DSTZ, SRCZ, PATD)
Donc tu peux comparer avec des valeurs ou des bits, fixes ou non, selon ton besoin.
Lorsqu'il y a une "collision", le blitter se met en pause et tu peux lire les registres PIXEL (par exemple) pour savoir les coordonnées de collision.
Après il faut :
- soit le relancer via "RESUME" et il va reprendre là où il était et de nouveau se mettre en pause si une nouvelle collision arrive.
- soit l’arrêter via "ABORT". En général si c'est pour détecter une collision entre sprite, c'est celui là qui est utilisé car y a pas besoin de connaitre toutes les coordonnées de collision.
Me souviens plus par contre si la collision génère une interruption ou si il faut lire régulièrement le registre associé..