Saudade and Video Games: Part 2

The first part of this series was concerned with how one part of the Amiga’s chipset, Angus, helped to make it attractive to the artistic hacking movement known as demoscene. This part concerns another part of the chipset, Denise, and how it made the Amiga an essential part of video effects and graphics work in the late 80s to early 90s.

While Angus, via its ability to modify memory in rapid and complex ways, was essential to produce powerful visual effects by modifying the representation of the display in memory, Denise was the actual graphics display chip, responsible for translating that representation into an actual signal for a television or monitor.

This was a period long before LCD or LED displays ever existed, so all display technologies essentially worked via timing on an analogue signal. You knew that the TV, for example, would sweep an electron beam over the display, covering each line in so many microseconds, and completing a sweep of the whole display from top to bottom usually 30 or 25 (or twice that, for 60 or 50Hz) times a second. You were responsible for sending a signal to the TV to turn the electron beam on or off at the right times, such that only the parts of the screen you wanted to be hit (and thus bright) were. Obviously, the faster you could send the signal, the smaller a section of display you could light up, and thus the higher the resolution (larger number of pixels) you could attain.

Denise was capable of sending timing signals as short as 70ns, corresponding to a horizontal resolution of 640 pixels in the timing of a TV of the period. The vertical resolution was more constrained by the limitations of TV raster technology, but could be pushed up to 512 pixels via a technique called “interlacing” (essentially, writing all the odd lines one frame, then all the even lines in the next, halving frame rate in favour of more pixels) at 25Hz. (By comparison, conventional “EGA” graphics adapters built into IBM PCs of the period could achieve around 640×350 resolution.)

More impressive, however, was the range of colours that Denise was designed to represent. All colour schemes for computer displays work by encoding the amount of Red, Green and Blue to mix to produce the final colour (on a loose model of human vision). The EGA standard was a 6-bit colour system – you could have 2 bits (encoding a value from 0 (off) to 3 (maximum) ) of control over each of the Red, Green and Blue channels, for a total combination of 64 colours. Meanwhile, Denise supported twice the bits – 4 bits per channel (for 16 different intensities of the primaries), for 12 bits in total – a whopping 4096 different colours!

As memory capacity was much smaller then than it is now, it wasn’t feasible to store a whole 12 bits of data for each individual pixel in memory. Instead, you would pick a palette of up to 32 colours that you wanted to use for the whole image. The image would then be represented by 5 bits per pixel, corresponding to a palette colour (indexed 0 to 31). Only 32 colours for an entire image is pretty limiting, however, so Denise provided some special features to allow for more variety.

Firstly, you could choose to specify an additional (sixth) bit of colour in “Extra Half-Brite” mode – if turned on for a given pixel, Denise would halve (darken) the palette colour referenced by the other 5 bits, providing for cheap “shadow” effects. Secondly, and more technically unique, an alternate video mode called HAM (for Hold-And-Modify) also used 6 bits to encode palette changes into the display image itself. Essentially, in HAM mode, only 4 bits would be used to reference the palette (meaning you had a choice of only 16 colours from 4096 at any point in time). The other two bits could obviously store values from 0 to 3. If set to 0, then Denise would just look up the palette colour as normal. If set to another value, however, Denise would use the palette colour referenced in the previous pixel, but change either the red (1), green (2), or blue (3) value of the palette to the value stored in the “index” provided. (This change would then persist for that palette colour unless changed again.)

By suitable encoding, then, HAM mode was capable of using all of the 4096 colours that the early Amiga was capable of displaying, all in one image. [The limitation that you could only change red, green or blue parts of a palette colour at a time meant that you couldn’t necessarily display all possible images, of course – changing a white palette colour to black would require three pixel changes in a row, and leave a coloured “halo” at the boundary as a result. Demoscene coders, of course, got around this by using Angus’ copper processor to additionally directly change the palette behind Denise’s back, resulting in a composite, more flexible, mode called “Sliced HAM”.]

(The replacement for Denise in later Amigas, Lisa, could work with a whole 8 bits per channel, rather than 6, and provided an enhanced HAM mode, HAM8, which allowed a whopping 16 million colours to be displayed at once. This is still the maximum number of colours that most displays can represent today, although modern video technology doesn’t need to use HAM-style tricks to do so. )

This extra graphical functionality meant that paint packages were a big thing on the Amiga, with Deluxe Paint being the dominant series. (Perhaps surprisingly, given their exclusive focus on games in the modern era, Deluxe Paint was an early Electronic Arts product.)

The iconic Tutankhamun image used to advertise Deluxe Paint (created by Avril Harrison)

The iconic Tutankhamun image used to advertise Deluxe Paint (created by Avril Harrison)

While I was terrible at computer art, I did spend many hours playing about in Deluxe Paint III, either trying to make sprites for computer games or trying to reproduce art from coverdisks. When it was ported to the IBM PC, Deluxe Paint became the dominant artistic tool used for game art production for much of the 1990s.

The other functionality that the Amiga provided videowise, and the thing that made it so attractive for video post-production work, was “genlocking”. As mentioned above, video work against an analogue display is all about timing. Normally, most computers would output their own timing signals, and thus could only work as a source for video images to be displayed. The Amiga, however, was also capable of locking its timings to an externally generated  signal to synchronise its video output. This meant that the output from an Amiga could be combined with a video signal from, say, a camera, providing an overlay of computer generated graphics alongside live recordings. (Without genlocking, the Amiga and the camera signals would never be in sync, and thus could not be cleanly combined.)

Many of the computer generated effects of the late 80s and early 90s were produced on Amigas, especially for television. (“The Chart Show”, an attempt at UK reproduction of the success of MTV, had the bridge sections between music videos entirely rendered on Amigas, for example. More notably, the first season of Babylon 5 had all the CGI rendered on Amigas equipped with Video Toaster hardware.) In this sense, the Amiga is a covert part of every young person’s memories of the late 80s, through its influence of on the visual appearance of television.


About aoanla

Aoanla is a physicist/systems support guy for the UK bit of the LHC experiment at CERN in real life, and therefore already had some experience in looking at high-speed collisions before getting into roller derby. He writes bout reports for the bouts he turns up to on his own blog, but is now planning on writing articles and bugging people for interviews here, too.
This entry was posted in Articles. Bookmark the permalink.

One Response to Saudade and Video Games: Part 2

  1. Pingback: Saudade and Video Games: Part 3 | Ante Ortus A Lumen Ars

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s