Benutzer:Berni/Rastertrick/Sprite-Multiplexer
Da der VIC die Y-Koordinate eines Sprites immer nur in der ersten Zeile eines Sprites berücksichtigt, kann man mit den Y-Koordinaten fast keine Rastertricks machen. Einen wichtigen gibt es aber dennoch: Den Sprite-Multiplexer.
Wenn ein Sprite nämlich vollständig auf den Bildschirm gezeichnet worden ist, kann man die Y-Koordinate verändern. Dann wird es an anderer Stelle (also weiter unten) erneut auf den Bildschirm gezeichnet. Dadurch entsteht der Eindruck, dass es sich um zwei Sprites handelt. Man kann hierbei sogar andere Eigenschaften des Sprites ändern.
Im nachfolgenden Beispiel wird ein Sprite dreimal dargestellt. Wie man im Source-Code sehen kann, kann man die Y-Koordinate bereits in der zweiten Zeile des Sprites ändern. Das Sprite wird dennoch vollständig dargestellt.
*=$c000 lda #00 ; Hintergrund schwarz sta $d020 sta $d021 lda #$01 ; Sprite initialisieren sta $D015 lda #100 sta $D000 lda #13 sta 2040 ldy #62 lda #255 - sta 832,y dey bpl - sei ; Interrupt abschalten loop - lda $d012 ; Auf Zeile 100 warten cmp #100 bne - sta $d001 - lda $d012 ; Auf Zeile 140 warten cmp #140 bne - sta $d001 - lda $d012 ; In Zeile 141 kann man cmp #141 ; bereits die neue Y-Position bne - ; des Sprites speichern lda #200 ; VIC beachtet diese nicht mehr sta $d001 bne loop