The basic Amiga 500 had a color palette of 32 basic colors. I'm not sure at what revision they also added Extra HalfBrite mode, but you couldn't modify the halfbrite colors directly since there were only 32 color registers, but you could basically have images with 64 colors total. There could be a maximum of 6 bitplanes.
Then you had HAM6 mode, in which 2 bits of each pixel's value determines the code of what to do (ie hold, modify red, modify green or modify blue), and 4 bits to determine the amount to modify that component. It could only modify one component at a time per pixel so took about 3 pixel to fully transition to a new color, although it did allow you to select from a base color palette of 16 colors when you told it to `hold`... ie use a real color.
The color palette itself had a 12-bit color resolution, ie 4096 maximum different shades. Some clever people invented something called Dynamic Ham making use of the Amiga's copperlists to modify the palette on give lines of the screen or at given intervals, allowing the literal pixels (from the palette of 16) to be used more often using modified colors... but if I recall, the copper could only modify one color register per 4 (or was it 8?) low-resolution pixels horizontally, so only so many changes could be performed in a given amount of space. Either way, this could be used to optimize an image and display using more individual colors and therefore less of the `modify` operations.
It was the inability of a modify operation to change more than one component at a time, requiring 3 pixels to completely transition, that led to the effect they called `Ham Fringing`, ie a color `bleed` where modify operations were used that didn't get close enough to the color you wanted for a given pixel. Good software would be able to change 24-bit images into a Ham image with a specially selected color palette to make best use of the 16 color registers so that there was the least fringing and best color representation.
There was also something called Sliced Ham which was basically dynamic ham but there were only a set number of palettes per image, divided into slices down the screen, rather than the constantly modifying copperlist of Dynamic HAm.
Also you can't really say that there were only 32 (or 64) real colors because you could also apply the copperlist to change color registers at any point in the display (although only one change per unit of (4 or 8?) pixels). ... With clever and diligent use this allowed several different slices of the display to be given different color palettes, so in a game like Shadow of the Beast you could have your 8-color clouds with their own palette, then some mountains with their own palette, then some horizon-ground stuff, then some foreground, and also the strip with the fence at the bottom of the screen, etc, and I'm sure the same effect was used for the other 8 colors of the foreground playfield (since it was a dual-playfield game with two separate bitmaps of 3 bitplanes each).
And that's another thing, dual playfields would split the 6 available bitplanes into two sets of 3, each with their own palette of 8 colors, and could be scrolled independently of each other... Bits (pixels) in one set of bitplanes would not be affected by bits in the other playfield, thus giving the impression that there were two layers (or playfields)... or in other words, the bits from the lower 3 bitplanes were overwritten with bits from the higher bitplanes rather than being combined with them, on-the-fly as the copper render the display. So in this mode, some software had only 16 base colors to work with. .. but of course they could do some copperlist magic to change color register contents across each line and down the screen... hense a cool colorful looking game like Shadow of the Beast I think was quoted as having at least a few hundred simultaneous colors onscreen.
So with judicious use of the copperlists and the dual playfields and careful design of whatever the particular software or game is, it was possible to actually output a lot more colors, and I know some games probably had way more than the basic 256 colors that PC's were starting to come out with their VGA displays. I don't think there were many Ham-based games, but there were some. "Universe" springs to mind. The only issue with Ham was that, since the color changes occured as the copper rendered the display to the output device (monitor/tv), it would modify the color based on what the color was immediately to the left. So you had to be careful to use one of those literal colors from the color registers down the left and right edges of moving images (blitter objects - bobs), so that there wouldn't be unsightly fringing or incorrect colors. That was quite a challenge to achieve, and could be noticed in all Ham paint packages that moved brushes around. As a result, Ham was kind of slow but it was pretty at the time.
Also there were hardware sprites which, even if the display was only using, say, 8 colors, would render the hardware sprites in colors from higher up in the palette, so there could be more colors used than the number of actual bitplanes in the bitmap data. With some judicious use of copperlist color changes and careful switching on and off of sprites as their data was rendered by the hardware on the fly down the screen, `virtual sprites` could be drawn each with their own color palette. I don't exactly remeber if sprites were 8 or 16 colors, tho, just that they were only up to 16 pixels wide and there were 8 of them (one of which was the mouse pointer in the o/s).
So basically overall it's hard to exactly say how many colors the A500 had. It was capable of 4096 colors - a 12-bit color palette, potentially simultaneously, but it would depend largely on clever design techniques and special copperlist palette changes to make full use of all of the colors at once. Even though there were only 32 modifyable color registers, and 32 halfbrite registers (in later revisions only I think), there were allowed to be up to 6 bitplanes... which could be used in various clever ways, either in split playfields or Ham modes or whatever. I am sure that some games I saw made very clever use of color changes to make the screen very colorful and I'm sure I've read some game companes reporting that their games had over 1000 colors on screen at a time in some cases.
The separated bitplane model - ie Planar graphics rather than Chunky, was cool.. even though proving eventually less efficient for certain kinds of graphics manipulation on a per-pixel basis.
Ahhhhhhhhhhhhhhhh.... those were the days. I'm surprised I remember all this! But of course I do, cus I really loved my Amiga 500!! *kissy*
Paul