Software-driven graphics modes for the Atari 8-bit computers
Encyclopedia
This article describes software driven graphics modes for the Atari 8-bit computers
Atari 8-bit family
The Atari 8-bit family is a series of 8-bit home computers manufactured from 1979 to 1992. All are based on the MOS Technology 6502 CPU and were the first home computers designed with custom coprocessor chips...

; that is, pseudo-graphics modes whose capabilities are reliant on additional software rather than being supported directly in hardware.

Any Point, Any Color

The APAC System, or Any Point, Any Color 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 colors could be perceived.

APAC was created in early 1987 and later introduced in the magazine A.N.A.L.O.G. Computing
A.N.A.L.O.G.
A.N.A.L.O.G. was an American computer magazine devoted to the Atari 8-bit home computer line. It was known for its "advanced" programs in comparison to most type-in magazines of the era, especially its main rival, ANTIC, another long-lived magazine devoted to the Atari 8-bit line...

, Issue #60, May 1988 in an article by Tom Tanida. The source code was written in 6502
MOS Technology 6502
The MOS Technology 6502 is an 8-bit microprocessor that was designed by Chuck Peddle and Bill Mensch for MOS Technology in 1975. When it was introduced, it was the least expensive full-featured microprocessor on the market by a considerable margin, costing less than one-sixth the price of...

 assembly language
Assembly language
An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...

.

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 colors, with the artifact of a thinner, horizontal blank line in between each visible line.

APAC used a very basic API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

 consisting of four functions:
  • Init, used to place the computer into the APAC mode
  • Exit, used to exit the APAC mode
  • Plot, used to place a point of a specified color on the screen
  • Draw, used to draw a line between the last plotted point to the given point


A second article for an "APAC-II" mode was hinted at in the original article. This mode would have alternated the GTIA 9 and 11 modes during a vertical blank interrupt
Vertical blank interrupt
A vertical blank interrupt is a programming technique used in some systems, notably video games and consoles, to allow program code to be run in the periods when the display hardware is turned off, waiting for the TV to complete its vertical blank.Since the vertical blank period occurs at the...

, or VBI. The article was neither completed nor published.

APACView

In 1992, Jeff D. Potter created a GIF
GIF
The Graphics Interchange Format is a bitmap image format that was introduced by CompuServe in 1987 and has since come into widespread usage on the World Wide Web due to its wide support and portability....

 decoder and image viewer for the Atari called APACView.

ColrView mode

Later, Potter created another GIF
GIF
The Graphics Interchange Format is a bitmap image format that was introduced by CompuServe in 1987 and has since come into widespread usage on the World Wide Web due to its wide support and portability....

 decoder, and later a JPEG
JPEG
In computing, JPEG . The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality. JPEG typically achieves 10:1 compression with little perceptible loss in image quality....

 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
Persistence of vision
Persistence of vision is the phenomenon of the eye by which an afterimage is thought to persist for approximately one twenty-fifth of a second on the retina....

 would allow the viewer to see 4096 colors (12 bpp) at 80×192, with slight 'rolling' artifacts in solid red, green or blue fields in the image. This was called ColrView mode.

FlickerTerm80

In 1994, Clay Halliwell created a modem terminal program for the Atari (FlickerTerm80) which uses 40×24 text mode, combined with two character sets with an identical 4×8 font
Font
In typography, a font is traditionally defined as a quantity of sorts composing a complete character set of a single size and style of a particular typeface...

 — one with the pixels on the left half of the 8×8 grid, the other on the right. By altering 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).

HARD Interlacing Picture

In 1996, Atari demo coders
Demoscene
The demoscene is a computer art subculture that specializes in producing demos, which are non-interactive audio-visual presentations that run in real-time on a computer...

 HARD Software from Hungary
Hungary
Hungary , officially the Republic of Hungary , is a landlocked country in Central Europe. It is situated in the Carpathian Basin and is bordered by Slovakia to the north, Ukraine and Romania to the east, Serbia and Croatia to the south, Slovenia to the southwest and Austria to the west. The...

 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 color.

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

SuperIRG

In 1998, Bill Kendrick
Bill Kendrick
Bill Kendrick is an American software engineer best known for creating and maintaining Tux Paint, an open source bitmap graphics editor for children. He is also co-founder of the Linux Users' Group of Davis in Davis, California...

 created a puzzle video game for the Atari (Gem Drop) which utilized a similar effect, but by using two alternating character sets (font
Font
In typography, a font is traditionally defined as a quantity of sorts composing a complete character set of a single size and style of a particular typeface...

s) in colored text. (Each character is 4×8 pixels, each pixel being one of 4 colors.) No color palette changes occurred, and ANTIC's display list
Display list
A display list is a series of graphics commands that define an output image. The image is created by executing the commands....

 wasn't altered — only a vertical blank interrupt
Vertical blank interrupt
A vertical blank interrupt is a programming technique used in some systems, notably video games and consoles, to allow program code to be run in the periods when the display hardware is turned off, waiting for the TV to complete its vertical blank.Since the vertical blank period occurs at the...

 was used to change the character set. This allowed for approximately 13 colors on the screen. Solid color fields that were based on two actual colors (e.g., dark red created by flickering between red and black) had less artifacting because they could be drawn in a checkerboard
Checkerboard
A checkerboard or chequerboard is a board of chequered pattern on which English draughts is played. It is an 8×8 board and the 64 squares are of alternating dark and light color, often red and black....

 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 color registers, are modified as well. Here is a listing of these display modes:

Super IRG 2: A modification of Super IRG, in which color register data is shifted every VBI in addition to the character set, allowing for 23 colors 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 colors. When Graphics 0 artifacting is taken into account, 16 colors can be perceived on screen.

DIN (Display Interface): This mode shifts the Display List every VBI, between ANTIC 4 and ANTIC 2. The result is an 8x8 character grid with two colors, overlaid by a 4x8 4-color character grid which adds additional color data, allowing an effective character resolution of 8x8 with 10 colors available. With Graphics 0 artifacting, there are 20 colors 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 color palette mode. As in Super IRG, only the character set is shifted every VBI, allowing for a perceivable 45 colors 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 color 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 colors 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 (Color Interface): 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 color 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 colors 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 color resolution to 80 colors (16 hue by 5 monochromme) at 4x8 character resolution.

MIN 12/13 and Super MIN (Monochrome Interface): 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 to 80 colors (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 colors at a character resolution of 4x8. Because GRAPHICS 10 and ANTIC 4 share 4 color 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-color character grid, enabling display of 32 colors with CIN 0 and MIN 0, or 18 colors with PCIN 0. Making use of Graphics 0 artifacts will double these colors.

A font editor called ICE (Interface Character Editor) is being written which will edit fonts in these display modes.

480i

In 2009 Australian coder Gary Ryan created a demo called MemoPad 480i which demonstrates true 480i
480i
480i is the shorthand name for a video mode, namely the US NTSC television system or digital television systems with the same characteristics. The i, which is sometimes uppercase, stands for interlaced, the 480 for a vertical frame resolution of 480 lines containing picture information; while NTSC...

 resolution on the Atari 8-bit. Stellar Shuttle 480i, an update of the classic Brøderbund Software game Stellar Shuttle, was also coded by Ryan and is the first game to be coded in this interlace mode.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK