
Listing :

; TASM 6.0 
          *=1000 
          sei             ; IRQ sperren
          lda #$7f        ;       
          sta$dc0d         
          bit$dc0d 
          lda #$32        ; obere Rasterzeile
          sta$d012 
          lda$d011 
          and #$7f        ; Highbit loeschen
          sta $d011  
          lda #$81        ; IRQ durch Rasterzeilen festlegen
          sta$d01a 
          ldx#< irq       ; neuer Irq 
          ldy#> irq 
          stx $0314 
          sty $0315 
          cli             ; IRQ freigeben
 frame    rts 
   irq    dec$d019        ; Interruptregister
          nop 
          jsr frame 
          jsr frame 
          ldy #$00        ; Zaehler
 gc       ldx #$08        ; 
 gcl      lda$1100,y      ; Tabelle mit Farben 
          sta$d020 
          sta$d021 
          iny 
          dex 
          beq gc          ; 
          lda frame 
          jsr frame 
          jsr frame 
          jsr frame 
          cpy #$20        ; Rasterzeilen
          bcc gcl 
          lda #$00        ; Hintergrund und Rahmenfarbe
          sta$d020  
          sta$d021 
          jmp$ea31 


          *= $2000 
          sei             ; IRQ sperren 
          ldx #$31        ; Low Byte des System-IRQ 
          stx $0314 
          ldy #$ea        ; High Byte des System-IRQ 
          sty $0315 
          lda #$f0 
          sta $d01a       ; Register sperren (Interrupt Maske) 
          lda #$81 
          sta $dc0d       ; CIA Timer anschalten 
          bit $dc0d 
          cli             ; IRQ freigeben
          rts             ; ... Ruecksprung
