The Amiga Custom Chipset
Agnus, Denise, and Paula
Three custom co-processors gave the Amiga capabilities that PCs wouldn't match for years: graphics, blitting, and four-channel stereo audio.
Overview
The Amiga’s secret weapon was never the Motorola 68000 CPU—it was the three custom chips working alongside it. Agnus handled memory and the Blitter. Denise produced graphics. Paula managed audio and I/O. Together, they let the CPU focus on game logic while dedicated silicon handled the heavy lifting.
The three sisters
Agnus (8361/8370/8372/8375)
The memory controller and Blitter engine:
- DMA controller: coordinated all memory access, giving each chip its time slice.
- Blitter: hardware block-copying engine that moved graphics data faster than the CPU ever could.
- Copper: a simple coprocessor that executed display lists synchronised to the video beam.
- Versions: Fat Agnus (8370/8372) added more chip RAM addressing; Super Agnus and Alice appeared in later models.
Denise (8362/8373)
The graphics chip:
- Playfields: up to two independent scrolling backgrounds with different colour depths.
- Sprites: eight hardware sprites, 16 pixels wide, with independent positioning.
- HAM mode: Hold-And-Modify allowed 4096 simultaneous colours through clever encoding.
- Colour palette: 32 colours from 4096 (OCS/ECS), expanded in AGA’s Denise successor, Lisa.
Paula (8364)
Audio and I/O:
- Four channels: stereo audio with two channels left, two right.
- 8-bit samples: direct sample playback at variable rates—revolutionary for 1985.
- DMA-driven: audio played from memory without CPU intervention.
- Disk and serial: also handled floppy drive and serial port I/O.
The Copper
Perhaps the Amiga’s most distinctive feature, the Copper was a simple coprocessor in Agnus that could:
- WAIT: pause until the video beam reached a specific position.
- MOVE: write a value to a hardware register.
With just these two operations, programmers created rainbow gradients, split-screen effects, and per-scanline palette changes that seemed impossible on contemporary hardware.
The Blitter
The Blitter was a DMA-driven block transfer engine that could:
- Copy: move rectangular regions of memory.
- Combine: merge sources using logic operations (AND, OR, XOR).
- Fill: flood-fill enclosed areas.
- Line draw: render lines directly in memory.
Games used the Blitter for sprite rendering, scrolling backgrounds, collision detection, and real-time effects that would cripple a CPU-only approach.
Chipset evolution
- OCS (1985): Original Chip Set in the Amiga 1000, 500, and 2000.
- ECS (1990): Enhanced Chip Set with productivity modes and SuperHiRes.
- AGA (1992): Advanced Graphics Architecture in the Amiga 1200 and 4000—256 colours from 16 million, 64-bit memory bus.
Why it mattered
The Amiga chipset embodied Jay Miner’s philosophy: offload repetitive work to custom silicon, freeing the CPU for game logic. PCs of the era couldn’t match Amiga graphics without expensive add-on cards. The architecture influenced later console and graphics card design.