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 Apple II (1977), Commodore PET (1977) & Tandy/RadioShack TRS-80 (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} 6502, 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, 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} NTSC computers: 1.789773 MHz; PAL computers: 1.7734475 MHz. "De Re Atari" (early draft) explains why the computer is clocked at this speed and not just at 1 or 2 MHz. This rate was chosen so that 1 machine cycle is equivalent in length to 2 colour clocks. 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 (0-8) in Atari BASIC and a 128-colour palette. In 1982, CTIA was replaced by GTIA, which provided 3 additional graphics modes (9-10-11) in Atari BASIC, with a 256-colour palette! The GTIA{3} 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.

{3} 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 9 in Atari BASIC (introduced by the GTIA) was presented at the 1985 Consumer Electronics Show (CES): look at this robot and this spaceship!
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 {4} to GTIA at the time. But how to check?

{4} 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.

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

Method 01: 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 02: 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 03: 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 9-10-11 GTIA-graphics modes available in Atari BASIC.

In GTIA mode 9, the program chooses a random colour palette, then shows a 16-tone gradient. Then it shows all the available colour palettes.
In GTIA mode 10, the program chooses colours at random (not always well matched, it's really up to chance).
In GTIA mode 11, 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 04: 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 #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. 015.

Back to the Knowledge base index Knowledge base