CLOOP:
,
MOVE.L
CMP.L
BNE
(A2),(AI)+
#$FFFFFFFE,(
A2)+
CLOOP
j Move sprite to $25000.
MOVE.L
LEA
SPRLOOP:
,
MOVE.L
CMP.L
BNE
#$25000,AI
SPRITE,A2
(A2),(AI)+
#$00000000,(A2)+
SPRLOOP
;Move a long word
; Check for end
of
list
;Loop until entire list is moved
;Point
Al
at sprite destination
;Point
A2
at sprite source
;Move a long word
; Check for end
of
sprite
;Loop until entire sprite is moved
j Now
we
write a dummy sprite to $80000, since all eight sprites are activated
j at the same time and we're only going to use one. The remaining sprites
j will point to this dummy sprite data.
MOVE.L #$00000000,$30000
; Write
it
,
; Point Copper at Copper list.
MOVE.L #$20000,CUSTOM+COPILC
,
; Fill bit-plane with $FFFFFFFF.
MOVE.L #$2IOOO,AI
MOVE.W #2000,DO
FLOOP:
MOVE.L
SUBQ.W
BNE
j Start DMA.
#$FFFFFFFF
,(AI)+
#I,DO
FLOOP
MOVE.W CUSTOM+COPJMPI,DO
;Point
Al
at bit-plane
;2000 long words
= 8000 bytes
;Move a long word
of$FFFFFFFF
jDecrement counter
;Loop until bit-plane is full
jForce load into Copper
j program counter
MOVE.W #$83AO,(CUSTOM+DMACON) ;Bit-plane, Copper, and sprite DMA
BRA ; .... next things to
do
...
; This is a Copper list for one bit-plane, and
8 sprites. The bit-plane lives
; at $21000. Sprite 0 lives at $25000;
all
others live at $80000 (the dummy sprite).
Sprite Hardware
107