RETRODREAMSAMIGA & SPECTRUM
Menu

← All chips

denise.chip

DIP-48 · 8362R8 · drawing, not a photo

Amiga chipsCommodore (MOS / CSG)

1985

Denise / Lisa

The chip that turns bits into colours: bitplanes, sprites, palette, HAM and even the mouse.

Denise combines the image bitplanes and the sprites and turns them into the colours sent to the monitor, from a palette of 4096. It gave the Amiga HAM, with all 4096 colours on screen in 1985, and evolved into the ECS Super Denise and the AGA's Lisa, with 256 colours out of 16.8 million.

bus bits
16

From Daphne to Denise

In the Lorraine prototypes, the video chip was called Daphne. As Denise, it shipped with the Amiga 1000 in 1985, part number 8362, in a 48-pin DIP package. It is the chip closest to the monitor: everything you see on the screen of an OCS Amiga has passed through it.

There is a division of labour worth understanding. It is Agnus that knows where the image is in memory and fetches it. Denise knows nothing about addresses: it receives data already read, 16 pixels at a time, mixes the bitplanes with the sprites and picks the colour of each pixel.

How Denise paints the screen

The Amiga stores the image in bitplanes. Picture several transparent sheets, each with one bit per pixel: with 1 plane there are 2 colours, with 2 there are 4, and with 5 planes there are 32. Denise reads the bit from each sheet for the same pixel, puts them together into a number and uses that number to pick one of 32 colour registers. Each register holds a 12-bit colour, 4 bits for red, 4 for green and 4 for blue: 4096 possible colours.

In low resolution each pixel lasts 140 nanoseconds and the image is 320 pixels wide; in high resolution, 70 nanoseconds and 640 pixels, with up to 16 colours. Vertically there are 200 lines in NTSC and 256 in PAL, double that with interlace, at the cost of the flicker typical of the era. With overscan, the image can reach almost to the edges of the TV.

The advantage of bitplanes is economy: if a game only needs 8 colours, it uses 3 planes and saves memory and cycles. The number of planes and the resolution can even change halfway down the screen, courtesy of the Copper.

Colour tricks: EHB, HAM and dual playfield

There is a sixth plane reserved for special modes. In Extra Half-Brite (EHB), that bit tells Denise to show the colour at half brightness: 32 chosen colours plus their 32 darker versions, 64 in all. Games used it for shadows and silhouettes.

HAM (Hold-And-Modify) is the most famous trick. Each pixel has 6 bits: 2 say what to do and 4 are the value. Either the pixel uses one of the 16 palette colours, or it copies the colour of the pixel to its left and changes only the red, only the green or only the blue. That way all 4096 colours fit on screen at once, something unheard of in a home computer in 1985. The price is colour fringing on sharp transitions, because changing all three components can take three pixels.

That is why HAM was used mostly for digitised photos, 3D images and paint programs, and very little for games. There is also dual playfield mode: two images of 8 colours each, overlaid, that scroll independently, ideal for a background that moves more slowly than the foreground.

Sprites, collisions and the mouse

Denise draws 8 sprites per line, each 16 pixels wide and as tall as you like, with 3 colours plus transparent. Two neighbouring sprites can be attached into a single 15-colour one. With the Copper's help, the same sprite can be reused further down the screen, and that is how a game shows far more than 8. The Workbench mouse pointer is sprite 0.

Denise also tells you when things touch. A collision register says whether a pair of sprites has touched another, or whether a sprite has touched a bitplane, without the processor having to compare pixel by pixel.

And, strange as it may seem, the mouse and joystick counters live in the video chip. The mouse sends pulses as it moves, and Denise counts them in 8-bit counters per axis, which the system reads as it goes. The buttons are handled by other chips.

Super Denise: ECS

ECS brought the Super Denise (8373), in the A3000, the A500 Plus, the A600 and some A2000s, and it can be fitted as an upgrade to A500s and A2000s that already have an ECS Agnus. It adds SuperHires, with 35-nanosecond pixels and 1280 across, and Productivity, 640 × 480 non-interlaced, for multisync monitors. The price is colour: these modes only have 4 colours, and in SuperHires each component has just 2 bits, which leaves a palette of 64.

It also brought genlock and video features, such as making the screen border transparent or making one colour transparent to the outside picture, and an identification register, DENISEID, which lets software know which chip it is dealing with.

Lisa: AGA

On AGA the successor is called Lisa, in an 84-pin PLCC, in the A1200, the A4000 and the CD32. It receives data in 32-bit words and accepts up to 8 planes: 256 colours on screen, in any resolution, chosen from a 24-bit palette, 16.8 million colours.

HAM gained an 8-bit version, HAM8: 6 value bits and 2 control bits, with 64 base colours, up to 262,144 colours on screen. Both HAM modes now work in every resolution, not just low resolution as before. Sprites can be 16, 32 or 64 pixels wide, appear in the screen border and use their own area of the palette, and dual playfield mode went up to 16 colours per playfield.

It lacked one thing: a chunky mode, with one byte per pixel, like PC VGA. With Doom-style 3D games arriving, that gap hurt, and that is why the CD32 got Akiko.

Did you know…

  1. According to Jay Miner himself, HAM nearly didn't make it into the Amiga. It was born when the video was still being designed with television in mind; when it moved to RGB, Miner asked for it to be taken out. He was told that would leave a hole in the middle of the chip or mean three months of redesign. It stayed, and Miner later admitted he had been wrong about its usefulness.

  2. Some of the first A1000s sold in the US don't have Extra Half-Brite mode. Every Amiga after them does.

  3. The original Denise has no identification register: reading it returns garbage. Super Denise answers $FC and Lisa $F8, and that is how a program knows whether it is on an OCS, ECS or AGA Amiga.

  4. The 1984 Boing Ball uses hardly any processor time: the story goes that the ball is drawn once and the rotation is just colours being swapped in the palette, so-called colour cycling.

  5. It's said that Denise comes from "Display ENabler", a forced acronym to keep the female name.

  6. About a dozen games are counted as having used HAM during gameplay, starting with Pioneer Plague, from 1988.

  7. Denise has no text mode. Every letter in Workbench is drawn in bitplanes, like any other image.

RUN "DEMO"

4096 colours to choose from

Denise picks colours from a palette of 4096 (4 bits each of red, green and blue). In normal modes it shows up to 32 at once, 64 in Extra Half-Brite and all 4096 in HAM. AGA's Lisa moved to a palette of 16.8 million.

Where it's found