Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; 10 SYS2049
- *=$801
- BYTE $0B, $08, $0A, $00, $9E, $32, $30, $36, $31, $00, $00, $00
- ScrnBase = $0400
- ScrnCol = $d800
- cFC=81
- ; ; ---------------------------------------------
- ; ; FillScreen +
- ; ; ColorScreen: posiziona e colora i pallini
- ; ;
- ; ; ad ogni ciclo disegna il pallino e
- ; ; colora la cella video, incrementando il
- ; ; codice colore. Ogni 40 pallini c'è il cambio
- ; ; di riga e quindi aumenta il codice colore di 9;
- ; ; termina quando il puntatore arriva a $dc00
- ldx #40 ; contatore di colonna
- lda #$4 ; puntatore $fb/fc a $0400
- sta $fc
- lda #$d8
- sta $fe ; puntatore $fd/fe a $d800
- _pp ldy #0
- sty $fd
- sty $fb
- _rp sta ($fd),y ; memorizza il colore
- lda #cFC ; codice del pallino
- sta ($fb),y ; pallino in cella video
- lda ($fd),y
- clc
- adc #1 ; codice colore successivo
- dex ; colonna precedente
- bne _nxt ; se non siamo alla prima colonna salta oltre
- ldx #40 ; reset contatore di colonna
- clc
- adc #9 ; codice colore +9 (ogni riga è +9 dal colore dell'ultima colonna della riga precedente)
- _nxt iny ; prossimi elementi, con gli stessi puntatori
- bne _rp ; se Y<>0 (cioè se posso usare gli stessi puntatori)
- inc $fc ; incremento puntatori
- inc $fe
- ldy $fe
- cpy #$dc ; ho superato la MemCol?
- bne _pp ; se no cicla
- ; tot 48 bytes
- ; ; ---------------------------------------------
- ; ; RollColors
- ; ;
- ; ; Incrementa il codice colore delle locazioni di
- ; ; memoria colore. C'è un doppio delay per sincronizzarsi
- ; ; con il raster video ed avere un effetto scroll pulito
- RollCol
- ldx #250 ; ciclo (all'indietro) sulla MemCol
- lpRCol inc ScrnCol-1,x ; incremento ogni singolo byte di MemCol
- inc ScrnCol+249,x
- inc ScrnCol+499,x
- inc ScrnCol+749,x ; incremento anche 24 byte inutilizzati oltre MemCol
- dex
- bne lpRCol
- ; tot 17 bytes
- ; ---------------------------------------------
- ; Delay
- lda #250
- _rit cmp $d012
- bne _rit
- lda #220
- _rit2 cmp $d012
- bne _rit2
- ; tot 14 bytes
- ; ---------------------------------------------
- ; Repeat
- beq RollCol
- ; tot 2 bytes
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement