Benutzer:Berni/Rastertrick/Splitscreen mit Grafik
Aus C64-Wiki
Zur Navigation springenZur Suche springenEin Klassiker unter den Rastertricks ist der geteilte Bildschirm, bei dem ein Teil des Bildschirms Grafik enthält und ein anderer Teil Text. Grafikmalprogramme können so einen Großteil der Grafik darstellen und gleichzeitig Informationen zur Grafik oder einen Eingabeprompt. Auch in vielen Computerspielen findet ein solcher Splitscreen Anwendung.
Hier wurde der Einfachheit halber, der Splitscreen in die Mitte gelegt (dort muss die Grafik nicht verschoben werden, weil weder Zeropage noch Zeichen-ROM im Weg sind). Wenn man mit dem Cursor unter den Grafikbereich geht und dort unterschiedliche Zeichen eintippt, kann man gut sehen, wie die Farben für die Grafik bestimmt werden.
*=$c000 ldx #0 ; Grafik initialisieren - txa and #$07 tay lda tab,y sta $08C0,x sta $09C0,x sta $0AC0,x sta $0BC0,x sta $0CC0,x inx bne - sei ; Interrupt kurzfristig ausschalten lda #106 ; Rasterzeilen 106 programmieren sta $d012 lda $d011 and #$7f sta $d011 lda $d01a ; Rasterzeilen-Interrupt anschalten ora #$01 sta $d01a lda #<irq ; Interrupt auf eigene Routine umbiegen sta $0314 lda #>irq sta $0315 cli rts irq lda $d019 ; VIC-Interrupt? bmi vic_irq lda $dc0d ; Nein, dann Timer-Interrupt bestätigen und cli ; VIC-Interrupt freigeben jmp $ea31 vic_irq lda $d012 cmp #106 bne + lda #59 ; In Zeile 106 Grafik anschalten sta $d011 lda $d019 ; Interrupt bestätigen sta $d019 lda #138 ; Nächsten Interrupt in Zeile 138 bne ++ + lda #27 ; Grafik abschalten sta $d011 lda $d019 ; Interrupt bestätigen sta $d019 lda #106 ; nächster Interrupt in Zeile 138 ++ sta $d012 pla ; Geordnet beenden tay pla tax pla rti ; Einfaches Kreuz-Muster für Grafik tab !by 129,66,36,24,24,36,66,129