EasyManua.ls Logo

Commodore Amiga - Page 120

Commodore Amiga
321 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
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

Table of Contents

Other manuals for Commodore Amiga

Related product manuals