Atari 600 XL
Software for the new XL line of computers is largely compatible with that for the 400/800 series, a few exceptions due to differences in the underlying ROM OS system.All of the custom chips like Pokey, GTIA and Antic where still part of the architecture, but it also sported a new Parallel Bus Interface, the PBI, to provide high speed data access. The graphic chip Antic was improved to have four new graphics modes on top of the 12 available in the Atari 800.
Later a translator disk was produced with the 1050 disk drive (released with the XL series) that allowed the XL line to run all of the older software. It achieved this by overlaying the original 400/800 ROM in a RAM bank, and take over the XL ROM.
Atari 8-bit Architecture
The Atari machines consist of a 6502 as the main processor, a combination of ANTIC and GTIA chips to provide graphics, and the POKEY chip to handle sound and serial input/output. These support chips are controlled via a series of registers that can be user-controlled via memory load/store instructions running on the 6502. For example, the GTIA uses a series of registers to select colors for the screen; these colors can be changed by inserting the correct values into its registers, which are mapped into the address space that is visible to the 6502. Some of the coprocessors use data stored in RAM, notably ANTIC's display buffer and Display List, as well as GTIA's Player/Missile (sprite) information.
The custom hardware features enable the computers to perform many functions directly in hardware, such as smooth background scrolling, that would need to be done in software in most other computers. Graphics and sound demos were part of Atari's earliest developer information and used as marketing materials with computers running in-store demos.
The Antic Display Processor
ANTIC is a microprocessor which processes a sequence of instructions known as a display list. An instruction adds one row of the specified graphics mode to the display. Each mode varies based on whether it represents text or a bitmap, the resolution and number of colors, and its vertical height in scan lines. An instruction also indicates if it contains an interrupt, if fine scrolling is enabled, and optionally where to fetch the display data from memory.
Since each row can be specified individually, the programmer can create displays containing different text or bitmapped graphics modes on one screen, where the data can be fetched from arbitrary, non-sequential memory addresses.
ANTIC reads this display list and the display data using DMA (Direct Memory Access), then translates the result into a pixel data stream representing the playfield text and graphics. This stream then passes to GTIA which applies the playfield colors and incorporates Player/Missile graphics (sprites) for final output to a TV or composite monitor. Once the display list is set-up, the display is generated without any CPU intervention.
There are 15 character and bitmap modes. In low-resolution modes, 2 or 4 colors per display line can be set. In high-resolution mode, one color can be set per line, but the luminance values of the foreground and background can be adjusted. High resolution bitmap mode (320x192 graphics) produces NTSC artifacts which are "tinted" depending on the color values; it was normally impossible to get color with this mode on PAL machines.
For text modes, the character set data is pointed to by a register. It defaults to an address in ROM, but if pointed to RAM then a programmer can create custom characters. Depending on the text mode, this data can be on any 1K or 512 byte boundary. Additional register controls allow flipping all characters upside down and toggling inverse video.
CTIA and GTIA chips
The Color Television Interface Adaptor (CTIA) is the graphics chip originally used in the Atari 400 and 800. It is the successor to the TIA chip of the 1977 Atari VCS. According to Joe Decuir, George McLeod designed the CTIA in 1977. It was replaced with the Graphic Television Interface Adaptor (GTIA) in later revisions of the 400 and 800 and all later 8-bit models. GTIA, also designed by McLeod, adds three new playfield graphics modes to ANTIC which allow more colors than previously available.
The CTIA/GTIA receives Playfield graphics information from ANTIC and applies colors to the pixels from a 128 or 256 color palette depending on the color interpretation mode in effect. CTIA/GTIA also controls Player/Missile Graphics (sprites) including collision detection between players, missiles, and the playfield; display priority for objects; and color/luminance control of all displayed objects. CTIA/GTIA outputs separate digital luminance and chroma signals, which are mixed to form an analog composite video signal.
CTIA/GTIA also reads the joystick triggers and the console keys Option, Select, Start, and operating the keyboard speaker in the Atari 400/800. In later computer models the audio output for the keyboard speaker is mixed with the audio out for transmission to the TV/video monitor.
The Pokey peripheral chip
The third custom support chip, named POKEY, is responsible for reading the keyboard, generating sound and serial communications (in conjunction with the PIA chip (Peripheral Interface Adapter, 6520) commands and IRQs, plus controlling the 4 joystick movements on 400/800 and later RAM banks and/or ROM(OS/BASIC/Self-test) enables for XL/XE lines). It also provides timers, a random number generator (for generating acoustic noise as well as random numbers), and maskable interrupts. POKEY has four semi-independent audio channels, each with its own frequency, noise and volume control. Each 8-bit channel has its own audio control register which select the noise content and volume. For higher sound frequency resolution (quality), two of the audio channels can be combined for more accurate sound (frequency can be defined with 16-bit value instead of usual 8-bit). The name POKEY comes from the words "POtentiometer" and "KEYboard", which are two of the I/O devices that POKEY interfaces with (the potentiometer is the mechanism used by the paddle). The POKEY chip—as well as its dual- and quad-core versions—was used in many Atari coin-op arcade machines of the 1980s, including Centipede and Millipede, Missile Command, Asteroids Deluxe, Major Havoc, and Return of the Jedi.
Atari 600XL A/V Connector
The Atari 600XL Audio and Video connector