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 fits video, sound and floppy into the cycles it leaves free. In normal use, neither notices the other. Only when the screen uses many bitplanes, or when the Copper or the Blitter are busy, does the processor have to wait, and only if it needs Chip RAM at that moment.
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.
Amiga 1000 · 1985The 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 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 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 Chip RAM size jumper with a setting for 8 MB, meant for an 8 MB Alice that never came out. The Alice that exists only addresses 2 MB, and Commodore's notes say these jumpers are not for users to change: they can make Alice misbehave or damage it.
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
Faults it is part of
Diagnostic guides from the board explorer that measure this chip's signals, board by board.
Black screen, won't boot
The power light comes on but the screen stays black, with no colour at all. Measure in order: each step is only worth it if the previous one is fine.
Amiga 500 rev 8A →Amiga 600 rev 2A →Amiga 1200 rev 2B →Amiga 1200 rev 1D.1 →Amiga 4000 rev 2 →Amiga 4000 rev B →Amiga 4000T rev 4 →Amiga CD32 rev 4.1 →Amiga CD32 rev 3 →
Screen stuck on one colour
Kickstart tests the machine at boot and, if it finds a fault, stops on a colour. The colour tells you where to look.
Amiga 500 rev 8A →Amiga 600 rev 2A →Amiga 1200 rev 2B →Amiga 1200 rev 1D.1 →Amiga CD32 rev 4.1 →Amiga CD32 rev 3 →
Where it's found
Sources
- [1]Amiga Hardware Reference Manual (3.ª edição) · Commodore-Amiga · Addison-Wesley, 1991
- [2]Amiga Hardware Reference Manual, cap. 1: Introduction (versões do Agnus e Chip RAM) · Commodore-Amiga · Amiga Developer CD 2.1, 1991
- [3]REGBITS.IAA: os registos dos chips, bit a bit (documento interno) · Commodore · arquivo de Dave Haynie (espelho devili.iki.fi), 1990
- [4]Beam synchronized coprocessor (patente US 5 103 499: o Copper) · Commodore-Amiga · Google Patents, 1992
- [5]Personal computer apparatus for block transfer of bit-mapped image data (patente US 4 874 164: o Blitter) · Commodore-Amiga · Google Patents, 1989
- [6]8372B "2-Meg Agnus": pinagem · Commodore · arquivo de Dave Haynie (espelho devili.iki.fi)
- [7]A4000: notas técnicas (jumpers J211–J213 do Alice) · Commodore · arquivo de Dave Haynie (espelho devili.iki.fi)
- [8]Agnus (números de chip e de peça, Chip RAM, máquinas) · Big Book of Amiga Hardware
- [9]Alice 8374 (número de peça, Chip RAM, máquinas) · Big Book of Amiga Hardware
- [10]Amiga Original Chip Set · Wikipédia
- [11]Amiga Enhanced Chip Set · Wikipédia
- [12]Amiga Advanced Graphics Architecture · Wikipédia








