680x0:Copperlist

From Amiga Coding
Jump to: navigation, search

Example of a copperlist

What is a copperlist

The copper is a small piece of the Agnus chip. It can be programmed to write to custom registers synchronized with certain positions of the display. The small programs which the copper runs are called copperlists.


How to program a copperlist

The copper knows three instructions

  • WAIT - wait for a position on the screen (and optionally till the blitter is ready)
  • SKIP - ignore the next instruction if the given position is/was allready reached (and optionally if the blitter is also ready)
  • MOVE - writtes to one of the custom registers


A copperlist is started by writing it's address to $DFF080. The copper will directly jump to the given address.

For more info see Copperlist coding


What can it be used for

  • vertical screen dragging
  • split-screen
  • changing colors midscreen (copperbars)
  • reuse sprites at specific lines
  • mirror/reflection effects
  • plasma effect
  • freeze-protection
  • horizontal wave-effect
  • stretch/crunch screen