org     $40000
load    $40000

BS=     330*60

x:      move   #$4000,$DFF09A      ; Multitask uitzetten
        move.l #cop,$DFF084        ; Eigen Copperlist aanzetten
        bsr.s  InitC               ; Initialiseer de kleuren

Lus:    cmp.b  #$80,$DFF006        ; Op regel 80 wachten
        bne.s  Lus
        subq   #1,C
        bne.s  Skip1
        move   #4,C                ; Elke vierde rasterdoorloop
        cmp    #$130,Y             ; Testen op ondergrens
        beq.s  Skip1
        addq   #1,Y 
        move.b Y+1(pc),Wacht2
        move.b #$FF,Wacht1
        tst.b  Y
        bne.s  Skip1               ; Raster groter dan 256
        clr.b  Wacht1

Skip1:  btst   #6,$BFE001          ; Wachten op de muistoets
        bne.s  Lus
        rts

Y:      dc.w   $30                 ; Startwaarde van Y
C:      dc.w   4                   ; Vertraging

InitC:  lea    Pic+[5*BS],A0       ; Einde bitplanes berekenen
        lea    Col,A1
        move   #$180,D0            ; Eerste kleur
        moveq  #31,D7              ; Aantal kleuren
C1:     move   D0,(A1)+
        move   (A0)+,(A1)+
        addq   #2,D0
        dbf    D7,C1

InitP:  move.l #PicEnd,D0          ; Startadres van plane
        lea    Adr+2(pc),A0        ; Adres in Copperlist schrijven
        moveq  #5-1,D7             ; Aantal bitplanes

Lus1:   move   D0,4(A0)            ; Low-word
        swap   D0
        move   D0,(A0)             ; High-word
        swap   D0
        add.l  #BS,D0              ; Lengte van een plane
        addq.l #8,A0
        dbf    D7,Lus1
        rts

cop:    DC.w   $96,$20
        DC.w   $8E,$3081,$90,$30C1,$92,$38,$94,$D0 ; Schermmaat
        DC.w   $108,20-[60*2],$10A,20-[60*2]       ; Modulo andersom
        DC.w   $100,$5200                          ; Grafische mode
Col:    BLK.l  32                                  ; Kleuren
Adr:    DC.w   $E0,,$E2,,$E4,,$E6,,$E8,,$EA,,$EC,,$EE,,$F0,,$F2,0
Wacht1: DC.w   $FFE1,-2                            ; Wachten Y>$100
Wacht2: DC.w   $300F,-2                            ; Wacht op Y
        DC.w   $108,20-60,$10A,20-60
        DC.l   $FFFFFFFE

Even
Pic:    BLK.b  99100
Einde:  DC.l   0
PicEnd= Pic+[329*60]
;
; RI
; PIC5.RAW
; Pic
;
