"cooper lista" - mislis i Amiga je na isti nacin kao i ST dobijala vise boja: menjala index paletu tokom jednog VBL-a? ali to je radio cooper pa je on brinuo kada je to potrebno uraditi
- da, kod ST je kod (code) morao da bude sinhronizovan sa elektronskim mlazom ali na ovaj nacin se dobijalo mnogo vise stvari: 1. overscan od 416 * 276 pixela, 2. vise boja, 3. sync scrolling ili horizontalni scroll od 1 pixel/VBL)!
ST koderi su jednostavno daleko "gurnuli" ST hardware i iskreno mislim da su postigli mnogo vise nego sto bi mozda Amiga mogla.
nije gary cooper, nego pandur (copper)
Copper
The copper is another sub-component of Agnus; The name is short for "co-processor". The copper is a programmable finite state machine that executes a programmed instruction stream, synchronized with the video hardware.
When it is turned on, the copper has three states; either reading an instruction, executing it, or waiting for a specific video beam position. The copper runs a program called the copper list in parallel with the main CPU. The copper runs in sync with the video beam, and it can be used to perform various operations which require video synchronization. Most commonly it is used to control video output, but it can write to any of the chipset registers and thus can be used to set audio registers or interrupt the CPU.
The copper list has three kinds of instructions, each one being a pair of two bytes, four bytes in total:
* The MOVE instruction writes a 16-bit value into one of the chipset's hardware registers.
* The WAIT instruction halts copper execution until a given beam position is reached, thus making possible to synchronize other instructions with respect to screen drawing. It can also wait for a blitter operation to finish.
* The SKIP instruction will skip the following copper instruction if a given beam position has already been reached. This can be used to create copper list loops.
The length of the copper list program is limited by execution time. The copper restarts executing the copper list at the start of each new video frame. There is no explicit "end" instruction, instead the WAIT instruction is used to wait for a location which is never reached.
[edit] Uses of the copper
* The copper is most commonly used to set and reset the video hardware registers on each frame. It can also be used to change video hardware mid-frame. This allows the Amiga to change video configuration, including resolution, between scanlines. The Amiga can display different horizontal resolutions and color depths on the same screen. The AmigaOS graphical user interface allows two programs to operate at different resolutions, while both are visible on the screen simultaneously. A paint program might use this feature to allow users to draw directly on a low resolution Hold And Modify screen, while offering a high resolution toolbar at the top or bottom of the screen.
* The copper can also change color registers once per scanline, creating the "raster bars" effect seen commonly in Amiga games. The copper can go further than this and change the background color often enough to make a blocky graphics display without using any bitmap graphics at all.
* The copper allows "re-use" of sprites; after a sprite has been drawn at its programmed location, the copper can then immediately move it to a new location and it will be drawn again, even on the same scanline.
* The copper can also be used to program and operate the blitter. This is useful for doing several blitter operations in sequence, as the copper can wait for the blitter to finish and then immediately reprogram it for the next operation.
* The copper can be used to produce "sliced HAM", or S-HAM[1], this consists of building a copper list that switches the palette on every scanline, improving the choice of base colours in Hold And Modify mode graphics.