Lord of the RAM
Agnus is the central chip that controls access to the Chip RAM for the CPU and the other chips.
Co-processor for image manipulation. Transfer and logic operations on memory.
Copy memory from one place to another and perform logical operations on it.
Video beam synchronized co-processor. It can modify memory when the video output reach different positions.
The cooper is a co-processor so it has it's own set of instructions. There are only three of them, WAIT, MOVE and SKIP. All the cooper instructions are made up of two 16-bits word in memory.
The copper waits until the video beam counters are equal to (or greater) then the coordinates in the instruction. While waiting it is not using the bus. The first word of the instruction contains the vertical and horizontal coordinates of the beam position to wait for. The second word is like a mask that selects what parts in the first word to use. The wait is also used to stop the cooper list by waiting for a position that the beam can not reach.
Transfer the data in word 2 to the register given by word1.
Skip the next instruction if the video beam counters are equal to (or greater) then the coordinates in the instruction.
A cooper-list is simply a sequential group of instructions. There are two cooper list COP1LC and COP2LC. Each vertical blank the cooper restart from COP1LC. To switch the list used write the address of the cooper-list to the location register and then write to the copper strobe address for that list, COPJMP1 or COPJMP2.
Normally the cooper can not access all register in it's possible range. The can be changed by setting the copper danger bit (CDANG) in the copper control register (COPCON) to 1.
Modify sprites mid-screen.
Update color palette
Modify audio settings
Control the blitter
Interrupt 68k to do stuff.
Vikke.net Copper - 2013