How to design a computer with outstanding graphics capabilities?

When the Atari 400 & 800 8-bit computers arrived on the market at the very end of 1979, they immediately stood out from the competition of the time. Their graphics and sound performance in particular were truly extraordinary when compared to the likes of Commodore PET (Jan 1977), Apple II (Jun 1977) & Tandy/RadioShack TRS-80 (Aug 1977). Please read the "Atari 400 Salesperson's guide" article in the knowledge base for all the details.

Atari was a huge video game company at the time — its name was almost a synonym for the word "video games" in the early 1980s. Its engineers {1} knew exactly what a computer needed to produce outstanding graphics and sound: a series of dedicated chips.

These ultra-specialised chips did remarkable things quickly and easily, and as an added bonus they took the workload off the CPU/microprocessor, which could do "something else". In the end, the result was a much more powerful machine than those of competitors using the same MOS 6502 CPU/microprocessor.

In addition to its 1.79 Mhz{2}{3} 6502 CPU/microprocessor, the Atari computer offloads some of the work to its ultra-specialized chips: ANTIC, CTIA/GTIA & POKEY. Each of these chips is almost as big (in terms of silicon area) as a 6502 CPU/microprocessor, so three of them together provide a tremendous amount of power. Mastering the Atari 8-bit computers is primarily a matter of mastering these three chips.

{1} Jay Miner in particular designed specialised chips for the Atari VCS/2600, then for the Atari 8-bit computers, then for the unreleased Atari 1850XLD — chips later used in the Amiga 1000.

{2} The absolutely fascinating article "Atari 8-bit Display List Interrupts: A Complete(ish) Tutorial" from PlayerMissile.com explains this strange choice of frequency:
One detail of color production is worth mentioning: a unit called the color clock, which is the smallest portion of a scan line that can be displayed with an arbitrary color. [...] Color clocks also form the basis for the operating speed of the entire machine. For NTSC, the speed was chosen based on the use of a commonly available hardware component in use for TV displays, called an NTSC oscillating crystal. This component generates a pulse with a frequency of 14.31818 MHz. This frequency was then divided by eight to produce the 1.7897725 MHz clock at which the 6502 CPU/microprocessor runs. By defining one CPU cycle to correspond to two color clocks, means there are 114 machine cycles per scan line. [...] And running at 1.7897725 Mhz means there are 1789772.5 machine cycles happening every second, which produces a frame rate of 59.92 Hz which can be displayed on a TV (even if it does not exactly sync up with broadcast NTSC).
PAL systems produce the same 228 color clocks and 114 machine cycles per line, but display 312 scan lines. [...] The PAL crystal oscillates with a frequency of 14.18757 MHz, divided by 8 to produce a CPU frequency of 1.77344625 Mhz, and 35568 cycles per frame produces a frame rate of 49.86 Hz; again, not syncing exactly with broadcast PAL but within tolerances to be displayed.

{3} NTSC computers: 1.7897725 MHz; PAL computers: 1.77344625 MHz. "De Re Atari" (early draft) explains why the computer is clocked at this speed and not just at 1 or 2 MHz. It's when you read these kinds of "details" that you become fully aware that these engineers were really experts in the field: Atari had been designing, building and selling video game cabinets with great success since 1972.

Here is a description from the book "De Re Atari" (early draft), slightly rewritten by me

In short, ANTIC and CTIA together produce the graphics, up to a resolution of 320x192 pixels, sprites (players-missiles in Atari's vocabulary), a palette of 128 colours with CTIA (and 256 with GTIA), scrolling in any direction, different graphic modes that can be mixed on the same screen, etc.

To give one example in the graphics field, it's these ultra-specialized chips that are responsible for the arcade-quality "smooth scrolling" — very fluid, very fast — in games such as Boulder Dash, Dimension X, Elektra Glide, Moon Patrol, PastFinder, Xevious, Zaxxon, etc. On other, more rudimentary computers, it's catastrophic: the CPU draws, erases, draws, erases, draws... it's horribly slow and above all, awful.

Watch the smooth scrolling in this "Dimension X" game.
Can you point me to another 1979 home computer that can do smooth scrollings?
For the video: Altirra emulator, Atari 800XL, PAL, 1983 OS rev. 2.

 

Not only can CTIA/GTIA create a palette of 128 (CTIA) or 256 (GTIA) colours, not only can they display all the colours on the screen, but they can display them multiple times and animate them, as in the "Pause" mode of this "Chimera" game.
Can you point me to another 1979 home computer that can display so many colours?
For the video: Altirra emulator, Atari 800XL, PAL, 1983 OS rev. 2.

 

CTIA or GTIA?

When launched in the US, the Atari 400 & 800 — i.e. NTSC versions — came with a CTIA chip, which offered 9 graphic and text modes (GR.0-8) in Atari BASIC and a 128-colour palette. In early 1982, CTIA was replaced by GTIA{4}, which provided 3 additional graphics modes (GR.9-10-11) in Atari BASIC, with a 256-colour palette! The GTIA{5} chip obviously became standard and equipped all new Atari 400 & 800, as well as all computers that succeeded them: the 1200XL / 600XL / 800XL / 65XE / 130XE / XEgs / 800XE.

{4} Please read the Atari "Upgrade bulletin #1 (28 May 1982)" in the knowledge base for all the details.

{5} The FGTIA variant of the GTIA chip was used in all SECAM computers. Compared to GTIA, FGTIA offers only 8 luminances per colour, instead of 16 (GTIA), resulting in a 128-colour palette. Please read the "256 Colours" article in the knowledge base for all the details.

A brilliant demonstration of the possibilities of mode GR.9 in Atari BASIC (introduced by the GTIA) was presented at the 1985 Consumer Electronics Show (CES): look at this robot and this spaceship!

Atari 8-bit computers 1985 CES demo (GTIA mode 9), NTSC version
For the video: Altirra emulator, Atari 800XL, NTSC, 1983 OS rev. 2.

 

If you have a PAL (or PERITEL) Atari 400/800, you have the GTIA chip.

If you have an NTSC Atari 400/800, there is a doubt: is it equipped with a CTIA or GTIA chip? Many owners upgraded {6} to GTIA at the time. But how to check?

{6} In fact, these computers were designed to use the GTIA chip from the outset. Rumour has it that GTIA was not ready in time. That's why the upgrade is so simple: just replace the CTIA chip with GTIA, and that's it. Even Atari BASIC is designed to use these additional graphics modes, which were not available when the computers were launched. Please read the "History" section from the "Atari BASIC overview" article in the knowledge base for all the details.

How do I check if my NTSC Atari 400/800 computer is equipped with a CTIA or GTIA chip?

Method 01: Sticker?

Magazines from the period reported that NTSC models leaving the factory fitted with the GTIA chip bore a yellow or white sticker with the letter "G".

However, it is possible that this sticker is now missing or has come off.

What's more, if the purchaser originally bought a CTIA-equipped model and upgraded to GTIA, I doubt that a "G" sticker was added during the service centre operation.

Method 02: Hardware check

If you feel like a handyman, you can always open the machine to check the chip references:

Consult the FAQ (section: "What are SALLY, ANTIC, CTIA/GTIA/FGTIA, POKEY, and FREDDIE?") for all the details.

Method 03: 2-line Atari BASIC program

The simplest test available: Literally a 2-line Atari BASIC program taken from "Your Atari Computer (1982 Second XL edition) (1982) (McGraw-Hill)"
If your screen becomes black, you have the GTIA chip. If it remains blue, you have the CTIA chip.

10 GRAPHICS 9
20 GOTO 20

 

Method 04: The Atari connection Atari BASIC program (TESTGTIA.BAS)

Alternatively, you can simply do a test with a BASIC program. I propose a substantially modified version of a program originally published in the magazine: "The Atari connection" (volume 2, number 2, summer 1982)", page 5-6-7.
This program offers to test the new GTIA-graphics modes available in Atari BASIC as GR.9-10-11.

In GR.9 mode, the program chooses a random colour palette, then shows a 16-tone gradient. Then it shows all the available colour palettes.
In GR.10 mode, the program chooses colours at random (not always well matched, it's really up to chance).
In GR.11 mode, the program shows all 16 colours in a medium intensity. Then it shows all possible intensities.

Download Test-My-GTIA.zip to get: a textual .TXT version of the listing, to be printed on your current computer and retyped on the Atari. If you have a SIDE3, a FujiNet or any "SIO-to-<something>" device, you'll also find a .LST version NEW:ENTER "D1:TESTGTIA.LST":RUN, a .BAS version RUN "D1:TESTGTIA.BAS" and an .ATR diskette version (in Atari DOS 2.5 format, 130 KiB).

Running the test program on an NTSC computer

For the video: Altirra emulator, Atari 800, NTSC, 1982 OS rev. B, Atari BASIC Rev C. cartridge.
If your computer is equipped with the GTIA graphical chip, you should see these colour gradients, as in the video below.

 

Method 05: Bill Wilkinson's Atari BASIC program published in Compute! (BILLGTIA.BAS)

Alternatively, you can simply do a test with another BASIC program. I propose a typo-free version of a program originally published in the magazine: "Compute!" (Issue #32, January 1983)", page 171, written by the famous Bill Wilkinson. This program is not at all easy to understand for a beginner, as it exploits a subtle difference between the CTIA & GTIA chips (see below) and their collision detection mechanisms for sprites (players-missiles in Atari's vocabulary).

Download Test-My-GTIA.zip to get: a textual .TXT version of the listing, to be printed on your current computer and retyped on the Atari. If you have a SIDE3, a FujiNet or any "SIO-to-<something>" device, you'll also find a .LST version NEW:ENTER "D1:BILLGTIA.LST":RUN, a .BAS version RUN "D1:BILLGTIA.BAS" and an .ATR diskette version (in Atari DOS 2.5 format, 130 KiB).

Running the test program on an NTSC computer

For the video: Altirra emulator, Atari 800, NTSC, 1982 OS rev. B, Atari BASIC Rev C. cartridge.
Testing with the CTIA then the GTIA chip.

 

CTIA & GTIA: Equivalent but not strictly identical

Source of information: "Compute!" (Issue #27, August 1982)", page 112-113

The video signal generated by the GTIA is shifted one half color clock, so colors produced by artifacting will be different.
Because of the half color clock shift, it is now possible for players [LD: sprites] and playfields to overlap perfectly, whereas with the CTIA they didn't.
The new machines with the GTIA have yellow or white stickers that have the letter "G" on them.

Source of information: "Compute!" (Issue #32, January 1983)", page 171, article by the famous Bill Wilkinson.

There are a few subtle differences between how the two chips view players and missiles [LD: sprites]. In particular, the GTIA doesn't believe that players can collide with "printed" characters, so it never reports such a collision. The CTIA, though, considers a character to be just another kind of COLORed (and SETCOLORed) display.

Knowledge base article: kb-hardware-0001-atari-8bit-ctia-gtia
REV. 024.

Back to the Knowledge base index Knowledge base