Egghead.page Logo

How the Amiga 500 Copper Manipulates the Display Beam

The Commodore Amiga 500 revolutionized home computing with its custom chipset, specifically the Copper co-processor. This article explores how the Copper synchronizes with the video beam to modify hardware registers in real-time. Readers will learn about the Copper list, instruction set, and the specific techniques used to create complex visual effects without burdening the main CPU.

The Copper, short for Co-Processor, is a simple programmable engine built into the Amiga’s Original Chip Set (OCS). Unlike the main Motorola 68000 CPU, the Copper is designed to run in parallel with the video hardware. Its primary function is to execute a program known as a Copper list, which consists of a series of instructions stored in Chip RAM. Because the Copper operates independently, it can change video settings at precise moments during the screen drawing process, allowing for visual tricks that were impossible on contemporary systems.

Manipulation of the display beam relies on synchronization between the Copper and the raster beam. The video hardware draws the screen line by line, from top to bottom, known as the raster beam. The Copper possesses a special WAIT instruction that halts its execution until the beam reaches a specific vertical (VPOS) and horizontal (HPOS) position. Once the beam arrives at the specified coordinate, the Copper resumes and executes the next instruction, typically a MOVE command. This command writes data directly to hardware registers, such as color palettes or sprite pointers, exactly when the beam is drawing that specific part of the screen.

This precise timing enables effects like raster bars and split-screen scrolling. For example, to create a gradient background, the Copper list waits for the beam to start drawing a specific line, moves a new color value into the background color register, and then waits for the next line to repeat the process. Since these changes happen during the vertical blanking interval or between visible lines, the main CPU remains free to handle game logic or sound. This architecture allowed the Amiga 500 to deliver smooth animations and vibrant graphics that defined a generation of multimedia computing.