From: mknip@niksula.hut.fi (Mats Anders Knip)
Subject: Re: Music and Code from Demos
Organization: Helsinki University of Technology, Finland
	<MKNIP.92Nov6113247@blob.hut.fi> <1992Nov06.161907.20975@crash>
Date: 9 Nov 92 16:51:10

>   hmm... what exactly is copper? I'm aware that blitter is kind
> of a background memory -> video data mover of some sort, but that's about
> all I know.

The copper, my dear PC-user, is what makes the Amiga so superior to
the PC when it comes to (among other things) scrolling and color-
cycling. The copper (Graphics CoProcessor) takes care of all bitmap
and color handling, and has direct access to chip-mem by DMA.
If you want to do anything with the screen, tell the copper about
it, and it takes care of it all. (well, almost...)
For example - let's imagine you have got a 1000-pixel wide bitmap that
you want to scroll from left to right. On the PC, each frame you copy
200*320 (= 64k) bytes from memory to the graphics-handler (right?),
which takes a LOT of CPU time. You can't even make a 50hz scroll on a 
slower PC. (the C64 could do that...poor work, PC-designers!) On the
amiga, you tell the copper what part of memory you want to show, and
the number of pixels to step over before it starts drawing and - POOF!
There you go. This requires a total of 2 word-moves per bitmap + one
move for the fine-tune. Compare that to the PC's 64000...
You can also tell the copper to stop on a specified point of the
screen aevery frame and change the palette-colors, thus enabling you to
change the basic palette colors for each line of the screen -> enabling
the Amiga to show as many colors as you like on screen at once.
(only, sob, up to 4096 of course...) And this steals nearly no proces-
sing time from the CPU at all, since the copper only works on odd cycles.
The blitter is another co-processor that has DMA access to the Amigas
chip-memory. It can be used to move big heaps of data and
perform operations on the data (like and, or etc...) at the same time
without any load on the CPU (not completely true, but basically.
Really complicated operations steal more cycles from the CPU, while
a simple operations like a plain copy steals nearly no time at all). You
can for example use the blitter to draw windows and menues in the
WorkBench environment or to draw graphics to the borders of the screen
while scrolling. (+ 100 other things). The blitter can also be used to
draw very fast lines.

>   Well plasma on the IBM is currently done via palette cycling...
> pretty fast and relatively easy to do (you've just got to do your code
> right!)

Hmmm... You can't mean plasma. That would require a palette of
thousands of colors. Color-bars perhaps, but not plasma.
A plasma is (basically) done by changing the background-color of
the screen every 2nd cycle (8 pixels) with the copper. For more
anvanced plasmas, bitmaps can be used together with fine-scroll
(also handled by the copper) and color changes.

>   Would someone kindly define what exactly copper and blitter plus
>   any other amy specifics are?

Hope you got some ideas.
 
--

 *=-------------------------------------------------------=*=----------------=*
 *          E-Mail:   mknip@niksula.cs.hut.fi              *                  *
 *   Helsinki University of Technology /                   *                  *
 *                      department of Computer Science     *                  *
 *=-------------------------------------------------------=*=----------------=*
 
Newsgroups: alt.sys.amiga.demos