PLCC-84 · 8372A · drawing, not a photo
Amiga chipsCommodore (MOS / CSG)
1985
Agnus / Alice
The chip that rules the Amiga's memory, with the Copper and the Blitter tucked inside.
Agnus decides who gets to use Chip RAM and when, and it hides two coprocessors: the Copper, which changes the video in step with the screen's beam, and the Blitter, which copies and draws blocks of image without tying up the processor. It evolved from the original 512 KB Agnus to the AGA's Alice, with 2 MB.
- 16
A console made of breadboards
It all starts in 1982 at Hi-Toro, the small Californian company that soon afterwards became Amiga Corporation. Jay Miner, who had already designed the graphics chips of the Atari 2600 and the 8-bit Atari computers, led the hardware for a console codenamed Lorraine, the name of the wife of Dave Morse, the company's president.
Before there was any silicon, the chips existed as stacks of breadboards packed with ordinary components and linked by a tangle of wires. The story goes that the whole thing filled a kitchen table. It was in that state that Lorraine was shown at the CES show in January 1984.
In the early days the three chips were called Agnus, Daphne and Portia. Agnus was the only one to keep its name; the other two would become Denise and Paula.
The gatekeeper of Chip RAM
On the Amiga, the picture, the sound and the floppy data all live in shared memory, the Chip RAM. The processor and the other chips can't just help themselves: they have to ask Agnus. It manages 25 DMA (direct memory access) channels, which means the video, the sound and the floppy fetch their data on their own, without the processor having to load it word by word.
The trick lies in sharing out the time. The 68000 only uses memory on alternate cycles, so Agnus gives the odd cycles to video, sound and floppy and leaves the even ones to the processor. In normal use, neither notices the other. Only when the screen uses lots of colours in high resolution, or when the Blitter is working flat out, does the processor have to wait.
All of this runs to the beat of the screen. Agnus's unit of time is the colour clock, about 280 nanoseconds, the time of two pixels in low resolution. Agnus keeps the beam position counters and can sync to an external video signal (genlock), one of the reasons the Amiga moved into television studios so quickly.
The Copper: a coprocessor that only thinks about the screen
The Copper (from coprocessor) is a tiny machine that runs its own program, the copper list, in parallel with the processor. It knows only three instructions: MOVE writes a value into a chip register, WAIT waits until the beam reaches a position on the screen, and SKIP skips the next instruction if the beam has already passed that point. Each instruction takes 4 bytes.
It sounds like very little, but it is what gives the Amiga its look. Because the Copper can change the colours, the resolution or the image address halfway down the screen, one line can have different colours from the next: those are the raster bars of so many demos and games. It is also the Copper that lets Workbench show two screens with different resolutions, one above the other, at the same time.
The list starts again from the top on every frame, 50 times a second in PAL. There is no end instruction: you finish with a WAIT for a position the beam never reaches. While it waits, the Copper gets off the bus and uses no memory cycles.
The Blitter: copy, combine, draw
Blitter comes from "block image transfer". It reads up to three blocks of memory (called A, B and C), combines them bit by bit with a logic function of your choice and writes the result to a fourth block, D. There are 256 possible logic functions, and along the way each line can be shifted by 0 to 15 pixels. That is how you draw a cut-out character over the background: the mask says where the character covers the background and where it lets it show through.
Programmers called these Blitter-drawn characters bobs (blitter objects), to tell them apart from Denise's sprites. The Blitter also draws lines (using Bresenham's algorithm) and fills areas between lines, which together give you filled polygons: the basis of the 3D vectors in demos. Even floppy reading uses it, to decode the MFM data on each track.
On the original chipset, each operation covers at most 1024 × 1024 pixels. With the Blitter copying windows and graphics, the processor is free for other work, and that is why a 68000 at 7 MHz could move windows and games with a smoothness few computers of the time could match.
From Agnus to Alice: the revisions
The first Agnus, in the A1000 and the first A2000, came in a 48-pin DIP package: the 8361 for NTSC and the 8367 for PAL. It addresses 512 KB of Chip RAM. In 1987, with the A500 and the B2000, came the Fat Agnus (8370 NTSC, 8371 PAL), in a square 84-pin PLCC. It is still limited to 512 KB of Chip RAM, but it manages another 512 KB of Slow RAM, the A500's trapdoor memory.
ECS brought the 8372A, which addresses 1 MB of Chip RAM and works in PAL or NTSC. It turned up in the last revisions of the A500 and the B2000 (from revision 6) and in the CDTV. The A3000's 8372AB and 8372B and several versions of the 8375 (A500 Plus and A600) reach 2 MB. The ECS Agnus also does blits up to 32,768 × 32,768 pixels and has programmable beam counters, which allow video modes such as Productivity, 640 × 480 non-interlaced.
On AGA the successor is called Alice (8374), and it is in the A1200, the A4000 and the CD32. It addresses 2 MB of Chip RAM and fetches image and sprite data in 32-bit words and in fast page mode, which multiplies the bandwidth by four. Curiously, Alice's Blitter and Copper still work at 16 bits, just as in 1985.
Why Agnus mattered
Without the Copper and the Blitter there would be no Amiga demoscene: the raster bars, the split screens, the smooth scrolling and the filled vectors all come from here. In games, the Blitter's bobs and the palettes swapped by the Copper halfway down the screen gave more colour and more objects than the hardware seemed to allow.
In video, genlock and timing close to that of television made the Amiga a cheap titling and effects generator. NewTek's Video Toaster, which won a technical Emmy in 1993, produced a good part of its effects with the help of the Amiga chipset, synced to the NTSC signal.
Did you know…
It's said that Agnus comes from "Address GeNerator UnitS", the units that generate the memory addresses.
It's said that the chips had women's names so that the engineers could talk about them in public without raising suspicion: anyone overhearing talk of Agnus or Portia would think they were people.
The name Fat Agnus comes from the package: the 84-pin PLCC is much wider than the original DIP. Some people call the 1 MB one Fatter Agnus.
By tradition, a copper list ends with the instruction $FFFF,$FFFE: a WAIT for a screen position that never comes.
There is a bit that gives the Blitter total priority over the processor, leaving the 68000 stalled and waiting. Programmers called it blitter nasty.
The A4000 board has a jumper marked for 8 MB of Chip RAM. It does nothing: Alice only addresses 2 MB, whatever the setting.
Mitchy, Jay Miner's dog, went everywhere with him. The story goes that, back in the Atari days, she had an employee badge with the number 000.
Before ECS, Commodore designed a more ambitious chipset, Ranger. It was cancelled in 1989 for being too expensive, and ECS took its place.
The Copper in action
The Copper is a small coprocessor inside Agnus that follows the screen's beam and changes registers mid-frame. Changing the background colour on every line, without using the CPU, gives you these colour bars: the signature of Amiga demos.
MOVE #$0F00,COLOR00









