1. Not old. Vintage. :)

Atari Software Graphic Modes

by Matt Baker


{From a defunct Atari site}

As you may know the Atari computers with the GTIA chip (instead of CTIA of the older 800's) and Antic combined give the Atari 8-bit 11 graphic modes and 5 text modes (or 5 graphic char modes) for a total of 16 modes, far, far more than any other 8-bit or 16-bit computer of the era. But it doesn't end there. Atari, due to DLI's or VBI's or a combination of both has allowed software programmers to create many more software graphic modes, allowing anywhere from 2-4096 colours on-screen (hard and soft modes). These software modes are only possible due to the Atari's two custom graphics chip's incredible flexibility with combining graphic modes and ability to use Display Lists, Display list Interrupts and Vertical Blank Interrupts. Below is a nearly full list of these software graphic modes.

Any Point, Any Colour

The APAC System, or Any Point, Any Colour was a software-driven display mode capable of displaying an image using all 256 of the Atari's possible colors. By taking 80×192 mode lines that displayed 16 hues, and those that displayed 16 shades, and either interlacing rows of them, quickly alternating between rows of them, or both, a screen displaying 80×96 or 80×192 pixels in 256 colours could be perceived.

APAC was created in early 1987 and later introduced in the magazine ANALOG Computing, Issue #60, May 1988 in an article by Tom Tanida. The source code was written in 6502 assembly language.

APAC used a Display List Interrupt, or DLI, after each line of the screen was drawn to alternate between GTIA Graphics Mode 11 (15 hues) and 9 (15 shades of grey) of the GTIA chip. The hues and luminances would blend together on the screen (usually a television) to create the effect of a palette of 256 visible colours, with the artifact of a thinner, horizontal blank line in between each visible line.

APACView

In 1992, Jeff D. Potter created a GIF decoder and image viewer for the Atari called APACView.

ColrView mode (as I mentioned in regards to the Computer Eyes hardware, using red, green and blue lenses to take 3 pictures to allow 4096 colours with Computer Eyes)

Later, Potter created another GIF decoder, and later a JPEG decoder was created, which broke an image into the three red, green and blue channels. 16 shades of each, at 80×192 pixels, would be displayed in an interlaced and flickering fashion. The human eye's persistence of vision would allow the viewer to see 4096 colours (12 bpp) at 80×192, with slight 'rolling' artifacts in solid red, green or blue fields in the image. This was called ColrView mode.

Pryzm

Independently, in 1990 Darryl Yong created a similar software-driven display mode called Pryzm capable of producing an image that could be perceived to use all 256 of the Atari's possible colours with full 80×192 resolution. This was achieved using vertical blank interrupts to rapidly change between GTIA Graphics Modes 9 and 11. Programming interfaces for Atari BASIC, Action!, Turbo-Basic XL were included.

Interpainter

In 1993, Michael Franczak of the Polish demo group TIGHT wrote a graphics paint program called InterPainter. It creates 160x192 pictures which use 9 colours, by switching two 160x192 bitmaps every Vertical Blank Interrupt.

FlickerTerm 80

In 1994, Clay Halliwell created FlickerTerm 80, an ANSI/VT100 terminal emulator program, which uses 40×24 text mode, combined with two character sets with an identical 4×8 font—one with the pixels on the left half of the 8×8 grid, the other on the right. By alternating where in memory ANTIC looks for graphics, and which font to display, an 80×24 character screen can be displayed. It uses less memory (about 2 KB) and can be more quickly manipulated, compared to rendering 80×24 characters using a 320×192 bitmap mode (which would require about 8 KB). The disadvantage of this mode is the 60Hz flicker on all displayed charactes (50Hz on PAL systems). As such, it was most legible on monitors with high-persistence phosphors.

HARD Interlacing Picture

In 1996, Atari demo coders HARD Software from Hungary created HARD Interlacing Picture (HIP), which can display 160×192 pixels in 30 shades of grey. It interlaces two modes — 80×192 with 16 shades of grey, 80×192 with 9 paletted colors — and utilizes a bug in the GTIA chip that causes one of the modes to be shifted ½ pixel, allowing for a perceived 160 pixels across.

Later, other demo coders created RIP graphics mode, which is similar to HIP, but can display 160×192 pixels in colour.

Another variant is the TIP mode, which alternates between Graphics 9, 10, and 11 and can display 256 colours at about 160x100 resolution.

Champions Interlace

In 1996, the Polish demo group Atari Programming Champions released Champions Interlace (CIN), a viewer which shows pictures in 160x192 bitmap mode with 64 colours. The technique involves switching between Graphics 15 and Graphics 11 every scanline, giving off 16 colours at 4 luminances.

SuperIRG

In 1998, Bill Kendrick created a puzzle video game for the Atari (Gem Drop) which utilized a similar effect, but by using two alternating character sets (fonts) in coloured text. (Each character is 4×8 pixels, each pixel being one of 4 colors.) No colour palette changes occurred, and ANTIC's display list wasn't altered — only a vertical blank interrupt was used to change the character set. This allowed for approximately 13 colours on the screen. Solid colour fields that were based on two actual colours (e.g., dark red created by flickering between red and black) had less artifacting because they could be drawn in a checkerboard fashion. This mode was called SuperIRG. (Normal 4×8 multi-colored text on the Atari is called IRG.)

Text modes related to Super IRG

In 2010, Bobby Clark documented an additional 18 display modes which are related to Super IRG, in that these modes are also based on a Vertical Blank Interrupt that changes the character set. In addition other flags, such as the GTIA setting and colour registers, are modified as well. Here is a listing of these display modes:

Super IRG 2: A modification of Super IRG, in which colour register data is shifted every VBI in addition to the character set, allowing for 23 colours on screen, but with no character dithering.

Super 0: This mode is based out of GRAPHICS 0 (ANTIC 2) and shifts the character set, background color and text luminance every VBI. As a result, each character is 8x8 pixels and can display 4 colours. When Graphics 0 artifacting (NTSC only) is taken into account, 16 colours can be perceived on screen.

DIN (Display Interlace): This mode shifts the Display List every VBI, between ANTIC 4 and ANTIC 2. The result is an 8x8 character grid with two colours, overlaid by a 4x8 4-colour character grid which adds additional color data, allowing an effective character resolution of 8x8 with 10 colours available. With Graphics 0 artifacting (NTSC only), there are 20 colours perceivable.

Super 9: This mode is based out of Graphics 0, but with the GTIA flag set so that it displays GRAPHICS 9, the 16 monochrome shade mode. The character set and background register are modified every VBI, resulting in a 2x8 character grid which can display 256 duo-tone shades.

Super 10: Similar to Super 9, this mode instead has the GTIA flag set to GRAPHICS 10, the 9 colour palette mode. As in Super IRG, only the character set is shifted every VBI, allowing for a perceivable 45 colours at 2x8 character grid resolution. A dithering pattern can be used in this mode, in a similar fashion as Super IRG.

Super 11: Similar to Super 9, except that in this case the GTIA flag is set to GRAPHICS 11, the 15 hue mode. The background register is shifted every VBI, which affects the brightness of these graphics, allowing for a 2x8 character grid which can display 256 colors at 3 luminance levels.

APAC 0: This is the text equivalent of the APAC mode. The GTIA flag is cycled between GRAPHICS 9 and 11 every VBI, in addition to the character set flip. This allows for any of the Atari's 256 colour palette (16 hue x 16 luminance) to be displayed in a 2x8 character grid.

HIP 0: This is a text mode variation of the HIP mode. The GTIA flag is cycled between GRAPHICS 9 and 10 every VBI, in addition to the character set flip. A 2x8 character grid with 16 monochrome shades displayable, is overlaid with a 2x8 9 color palette character grid, which has been shifted one color clock to the right. This gives an apparent pixel resolution of 160x192 for the display mode, with 144 colours displayable per character cell.

CHIP 0: This display mode is a modification of HIP 0, except that the GTIA flag is cycled between GRAPHICS 10 and GRAPHICS 11. Anywhere between 128 and 144 colors can be displayed per character cell, at an apparent pixel resolution of 160x192 for the display mode.

CIN 12/13: Inspired by the Champions Interlace bitmap mode, this mode is based out of an ANTIC 4 display list, but with the GTIA flag being cycled between normal mode, and GRAPHICS 11, and the 4 playfield colour registers in ANTIC 4 set to monochrome values. A 4x8 character grid which can display 4 monochrome shades, is overlaid onto a 2x8 character grid which can display 14 different hues. The result is a character resolution of 4x8 with 60 colours displayable.

Super CIN: A modification of CIN 12/13, but with a display list shift (as in the DIN mode) between ANTIC 2 and ANTIC 4 added. The GTIA flag shifts between normal mode and GRAPHICS 11, with the display list shift increasing the colour resolution to 80 colors (16 hue by 5 monochromme) at 4x8 character resolution.

MIN 12/13 and Super MIN (Monochrome Interlace): Similar to the CIN text modes, except that the GTIA flag is shifted between normal mode and GRAPHICS 9 monochrome under an ANTIC 4 display list, allowing between 60 and 80 colours (5 hue by 16 monochrome) to be displayed, at 4x8 character resolution.

PCIN 12/13 and Super PCIN (Programmable CIN): This variation on the CIN text modes shifts the GTIA flag between normal mode and GRAPHICS 10 under an ANTIC 4 display list, allowing for the display of 34 to 35 colours at a character resolution of 4x8. Because GRAPHICS 10 and ANTIC 4 share 4 colour registers, a dithering pattern can be used to reduce flicker, as in Super IRG, when using these colors.

CIN 0, MIN 0, and PCIN 0: These variations of CIN, MIN, and PCIN involve an ANTIC 2 (Graphics 0) display list, and a GTIA shift between normal mode, and one of the three GTIA modes. A 2x8 GTIA character grid is overlaid onto an 8x8 2-colour character grid, enabling display of 32 colours with CIN 0 and MIN 0, or 18 colors with PCIN 0. Making use of Graphics 0 artifacts will double these colors.

Not finished yet! After all of this, there is still the software mode used by PC based programs such as RastaConverter and G2F using sprite overlay/underlays to add more colours on-screen. I have yet to locate the technical details of this mode, and as of yet, no art programs (on Atari 8-bit) have utilized it, so all you can do is use a PC to convert and edit pictures.

Not including the Rasta/G2F stuff, that gives us 16 hardware modes and 28 software modes for a total of 44+(!!!) modes on our "lowly" 8-bits!

99% of info here was copy and pasted from Wikipedia and edited for my intentions
Last Edit: Feb 15, 2017 at 4:59pm by Baker

Rate This Article: