;Regenbogenraster
;CPC 464(plus)/664/6128(plus)
;(c) 1992 Klaus Meffert
;& CPC International
loop di       ;Interrupts sperren
ld b,&f5      ;auf
wait in a,(c) ;Strahlruecklauf
rra           ;warten
jr nc,wait    ;(=CALL &BD19)
ld hl,0       ;Warteschleife,
ld de,0       ;damit Raster nicht
ld bc,&18c    ;ganz oben
ldir          ;anfangen
ld hl,farbtab ;HL zeigt auf
;Rasterfarben
ld bc,&7f10   ;B=Portadr.Gate Array
;C=Border (Pen 16)
ld e,0        ;E=Paper (Pen 0)
ld d,43       ;Anzahl Rasterfarben
raster ld a,(hl) ;Wert aus Tabelle
;holen
inc hl        ;Tabelllenzeiger
nop           ;erhoehen damit es
nop
nop           ;nicht ruckelt
nop
out (c),c     ;Border (Pen 16)
out (c),a     ;setzen
out (c),e     ;Pen 0
out (c),a     ;setzen
ld a,71       ;Warten, damit
warte nop     ;ein Rasterbalken
dec a         ;dicker
jr nz,warte   ;wird
dec d         ;Schleifenzaehler -1
jr nz,raster  ;und geg. wiederholen
call &bb09    ;Taste ?
jr nc,loop    ;Nein,dann nochmal
ret           ;zurueck
;Rasterfarbwerte
;hier koennen andere
;Farbwerte eingesetzt werden .
;Es muessen aber mind. so viele
;sein, wie der Wert des
;D-Register ist (hier 43) !
farbtab defm "TUX]LEMVFW^"
defm "à_NGORBSZY["
defm "YZSBROGN_à^"
defm "WFVMEL]XUT"