Warning: file_get_contents(/home/www/coppershade.org/articles/AMIGA/Agnus/Copper.txt) [function.file-get-contents]: failed to open stream: No such file or directory in /home/www/coppershade.org/index.php on line 33

Warning: Cannot modify header information - headers already sent by (output started at /home/www/coppershade.org/index.php:33) in /home/www/coppershade.org/index.php on line 105

Warning: Cannot modify header information - headers already sent by (output started at /home/www/coppershade.org/index.php:33) in /home/www/coppershade.org/index.php on line 106
Copper | Coppershade

Copper

The big benefit of this Co-Processor is in providing an efficient way to wait for a given position on the screen, and then quickly load a sequence of custom registers, such as the palette registers.
This eliminates the CPU having to busy-wait for a "raster split" and "poking", terms that will sound familiar if you've coded on 8-bit computers or contemporary 16-bit computers.
Its list of instructions is automatically refreshed every frame, which makes it ideal for setting up the screen display and colors in demos and games.
This Copper list is a sequence of longwords in memory that you enter as hex values. You can also use WAIT and MOVE macros to write Copper lists for your demo, or you can let the CPU generate dynamic Copper lists each frame.
A Copper list with many MOVEs per scanline will be heavy on the DMA and therefore leave less cycles available for the CPU, since it has priority over both the CPU and the Blitter.