The Amigas graphic modes

Perhaps the most revolutionary aspect of the Amigas unique hardware was the way the custom chips could be programmed to produce outstanding graphics output for the time.  This was certainly what the Amiga was best known for, and even today, what was possible on these machines can be quite stunning.

Some of the neat tricks that were possible included EHB, HAM, showing several different “screens” at once (each with their own resolution and colour palette), COPPER efffects, Sprites, BOBs and with the AGA Chip Set in 1992, changes to the existing graphic modes (enabling higher resolutions to be used with them), and the addition of the HAM8 display mode.

EHB
Extra Half-Bright mode enabled the display of up to 64 colours, without needing to use the more complex HAM mode.  It enabled 32 selectable colours, but then automatically derived an extra 32 colours from those initial 32 that were half as bright.  This mode was not available on early versions of the DENISE chip in the Amiga 1000, but it was available on later production models of the Amiga 1000 as well as on every other Amiga machine produced.
[Insert EHB demonstration picture here]

HAM
Perhaps the most well known graphics mode of the Original Chip Set was the HAM mode, which enabled the display of up to 4096 colours at once on the screen in up to 368 x 482 (NTSC) or 368 x 580 (PAL) resolution.  This screen mode is also known as HAM6, to differentiate it from the HAM8 mode of the AGA Machines.  The way HAM modes work is somewhat complex.  There is a palette of 16 colours that can be chosen, and these colours can be used anywhere on the HAM screen.  However, more colours can be displayed, but to do so, it’s dependant on the colour of the pixel to the left, which can have one of the Red, Green or Blue values changed, while the other two stay unaltered.  So lets say you have a white pixel, which is made up of 16 bits each of red, blue and green.  Computer displays use additive colour mixing, so to get white you have full saturation of red, blue and green, while to get black you have no red, blue or green.  You could remove entirely the red, so the pixel to the left of the white pixel would then only have blue and green and no red – it would then be Yellow.  You could then remove the Blue, so it would then be Green.

All 4096 colours shown at once.

All 4096 colours shown at once.

Multiple Screens
Because of the way the Amiga Chip Set works, it was entirely possible to have, say the top half of the screen showing a HAM display, and then have the bottom half of the screen showing in a higher resolution with less colours.  In fact, the Amiga Workbench Operating enviroment was designed to take full advantage of this feature, enabling the Workbench screen to be dragged down at any time by the user using the mouse to reveal any screen that may have been opened behind it.  This meant that if you wished to do so, you could have Deluxe Paint, Workbench, and a text editor all running at the same time, all on their own screen, and you could switch between each screen instantly, or pull one down to reveal another behind it, so you could see more than one screen at once.
This functionality could also be used in game software, so for example, at the top of the screen you could have your score in high resolution, while the main game screen could be low resolution in order to display more colours.

The famous BOING demo, behind Workbench 1.3

The famous BOING demo, behind Workbench 1.3

COPPER effects
The COPPER is a part of the AGNUS Chip in the OCS and ECS machines, and within ALICE in the AGA machines.  It is a very simple processor that is syncronised with the display output from the DENISE (OCS and ECS) or Lisa (AGA) Display chip.  It is able to change the data going to the display chip according to a simple program often known as a display list.  This is what enables the multiple screen fuctionality, and can very easily be set to change the colour registers as the display is built, enabling for example, the background colour to change with each scan line, thus enabling a beautiful background clour effect using well over 200 colours without the need to resort to using EHB or HAM, or in fact in conjunction with these modes.
[Insert Copper effect demonstration picture here]

Sprites
Like the Commodore 64 did before it, the Amiga can display hardware sprites.  On OCS and ECS machines, Sprites are limited to being 16 pixels wide and up to 3 colours (and one transparent), although they can be any number of lines tall.  You can get the illusion of more colours by using more than one sprite at the one location on screen, as each sprite can have it’s own 3 colours.  There are a total of 8 Sprites available, although it is possible to re-use a sprite at a different point further up or down on the screen, as long as they do not overlap – you cannot use more than 8 sprites on a scanline.

BOBs
Blitter OBjects (BOBs for short) are much like Sprites, but they are objects drawn by the Amigas Blitter (Part of the AGNUS or ALICE Chip) into the existing screen, so unlike sprites they are not independant of the screen colours and resolution, but more than 8 can be used on a single scan line, and can use as many colours as the screen mode chosen allows.

Changes to existing Graphic modes with AGA
The changes made to the Amigas custom chips for the AGA Chipset were changes to the display system, as eluded to in the name – Advanced Graphics Architecture.  This enabled the display of EHB and HAM modes in all available screen resolutions, and enables up to 256 colours without needing to use the copper or HAM mode.  Sprites could also now be displayed in twice the vertical resolution that was previously available.

HAM8
The AGA Chipset also added a new HAM mode, known as HAM8 mode.  This increased the colour depth available from 4096 (16x16x16) total colours, to 16.8 (256x256x256) million colours.  If the base palette is chosen well, it is almost impossible to tell the difference between a picture being displayed in true-colour mode on a modern computer, and a picture being displayed in the same resolution HAM8 mode on an Amiga 4000/1200/CD32.  It works in the same way as HAM mode on the previous custom chips, but has a base palette of 128 colours, and has 256 levels of Red, Green and Blue.

For more examples of what could be done on the Amiga, and exactly how it was done, this is a fantastic site to explore: http://codetapper.com/amiga/sprite-tricks/agony/