At power-on or reset time, you must initialize one of the Copper
location registers (COP1LC or COP2LC) and write to its strobe address
before Copper DMA is turned on. This ensures a known start address and
known state. Usually, COP1LC is used because this particular register is
reused during each vertical blanking time. The following sequence of
instructions shows how to initialize a location register . It is assumed
that the user has already created the correct Copper instruction list at
location "mycoplist."
;
; Install the copper list
;
LEA CUSTOM,a1 ; a1 = address of custom chips
LEA MYCOPLIST(pc),a0 ; Address of our copper list
MOVE.L a0,COP1LC(a1) ; Write whole longword address
MOVE.W COPJMP1(a1),d0 ; Causes copper to load PC from COP1LC
;
; Then enable copper and raster dma
;
MOVE.W #(DMAF_SETCLR!DMAF_COPPER!DMAF_RASTER!DMAF_MASTER),DMACON(a1)
;
Now, if the contents of COP1LC are not changed, every time
vertical blanking occurs the Copper will restart at the same location
for each subsequent video screen. This forms a repeatable loop which, if
the list is correctly formulated, will cause the displayed screen to be
stable.