Die VIC-Entwickler hätte funktional auch ein Register zur verfügung stellen können, dass immer den aktuellen Zustand anzeigt und dafür beim Auslesen nicht gelöscht wird
Nein, denn die CPU würde dann "meistens" die Information lesen "keine Kollision", denn der Rasterstrahl ist die meiste Zeit woanders. Die Speicherung der Information ist also durchaus sinnvoll für den sinnvollen Einsatz des Registers.
ich schreib mir da besser eine Abstandsberechnung und ermittle meine Kollisionen so.
...oder Du schreibst neben dem Sprite-Multiplexer auch einen Kollisionsdaten-Multiplexer.
Die neuen Y-Positionen für die nächste Darstellung kann der Multiplexer aber bereits setzen, sobald das Zeichnen des Sprites angefangen hat, also 20 Rasterzeilen früher - und aufgrund des entspannteren Timings wird das wohl oft so gemacht.
Ebenso entspannt müsste es sein, die Kollisionsdaten vor dem Setzen der *nächsten* acht Y-Positionen in ein Array zu schreiben. Zugegeben, es wird komplex und hat Grenzen, aber da die Information "welche Sprites sind aktiv" im Multiplexer vorhanden ist, ist auch der Kollisions-Multiplexer in genau dem Code anzusiedeln.
Jens