Hold-And-Modify, usually abbreviated as HAM, is a display mode of the Commodore Amiga computer.
It uses a highly unusual technique to express the color of pixels, allowing many more colors to appear on screen than would otherwise be possible.
HAM mode was commonly used to display digitized photographs or video frames, bitmap art and occasionally animation.
At the time of the Amiga's launch in 1985, this near-photorealistic display was unprecedented for a home computer and it was widely used to demonstrate the Amiga's graphical capability.
However, HAM has significant technical limitations which prevent it from being used as a general purpose display mode.
The original Amiga chipset uses a planar display with a 12-bit RGB color space that produces 4096 possible colors.
The bitmap of the playfield was held in a section of main memory known as chip RAM, which was shared between the display system and the main CPU.
The display system usually used an indexed color system with a color palette.
The hardware contained 32 registers that could be set to any of the 4096 possible colors, and the image could access up to 32 values using 5 bits per pixel.
The sixth available bit could be used by a display mode known as Extra Half-Brite which reduced the luminosity of that pixel by half, providing an easy way to produce shadowing effects.
When the Amiga chipset was first being designed, it operated directly in the chroma, hue and luminance values of the NTSC signal, as was common for early home computers for which television sets were used for display.
This led to the possibility of greatly reducing the amount of memory needed to display a single-color image like black and white television by setting the color value at the start of a scan line and then having the bitmap values modify the luminance value only.