MOVE.W #2000,d0 ; 2000 longwords per bit-plane
MOVE.L #$21000,a1 ; Point a1 at bit-plane 1
MOVE.L #$23000,a2 ; Point a2 at bit-plane 2
MOVE.L #$25000,a3 ; Point a3 at bit-plane 3
MOVE.L #$27000,a4 ; Point a4 at bit-plane 4
MOVE.L #$29000,a5 ; Point a5 at bit-plane 5
MOVE.L #$2B000,a6 ; Point a6 at bit-plane 6
FPLLOOP:
MOVE.L #$55555555,(a1)+ ; Fill bit-plane 1 with $55555555
MOVE.L #$33333333,(a2)+ ; Fill bit-plane 2 with $33333333
MOVE.L #$0F0F0F0F,(a3)+ ; Fill bit-plane 3 with $0F0F0F0F
MOVE.L #$00FF00FF,(a4)+ ; Fill bit-plane 4 with $00FF00FF
MOVE.L #$CF3CF3CF,(a5)+ ; Fill bit-plane 5 with $CF3CF3CF
MOVE.L #$3CF3CF3C,(a6)+ ; Fill bit-plane 6 with $3CF3CF3C
DBRA d0,FPLLOOP ; Decrement counter & loop till done
;
; Set up a Copper list at $20000.
;
; NOTE: As with the bit planes, the copper list location should be allocated
; from the system MEMF_CHIP memory pool.
;
MOVE.L #$20000,a1 ; Point al at Copper list dest
LEA COPPERL(pc),a2 ; Point a2 at Copper list image
CLOOP:
MOVE.L (a2),(a1)+ ; Move a long word
CMPI.L #$FFFFFFFE,(a2)+ ; Check for end of Copper list
BNE CLOOP ; Loop until entire Cop list moved
;
;Point Copper at Copper list
;
MOVE.L #$20000,COP1LCH(a0) ; Load Copper jump register
MOVE.W COPJMP1(a0),d0 ; Force load into Copper P.C.
;
; Start DMA.
;
MOVE.W #$8380,DMACON(a0) ; Enable bit-plane and Copper DMA
BRA ....next stuff to do
;
; Copper list for six bit-planes. Bit-plane 1 is at $21000; 2 is at $23000;
; 3 is at $25000; 4 is at $27000; 5 is at $29000; 6 is at $2B000.
;
; NOTE: These bit-plane addresses are for example purposes only.
; See note above.
;
COPPERL:
DC.W BPL1PTH,$0002 ; Bit-plane 1 pointer = $21000
DC.W BPL1PTL,$1000
DC.W BPL2PTH,$0002 ; Bit-plane 2 pointer = $23000
DC.W BPL2PTL,$3000
DC.W BPL3PTH,$0002 ; Bit-plane 3 pointer = $25000
DC.W BPL3PTL,$5000
DC.W BPL4PTH,$0002 ; Bit-plane 4 pointer = $27000
DC.W BPL4PTL,$7000
DC.W BPL5PTH,$0002 ; Bit-plane 5 pointer = $29000
DC.W BPL5PTL,$9000
DC.W BPL6PTH,$0002 ; Bit-plane 6 pointer = $2B000
DC.W BPL6PTL,$B000
DC.W $FFFF,$FFFE ; Wait or the impossible, i.e., quit
- Playfield Hardware 83 -