[ Usenet FAQs | Web FAQs | Documents | RFC Index ]
    Search the FAQ Archives

Single Page

Top Document: Atari 8-Bit Computers: Frequently Asked Questions
Previous Document: 1.10) What is the Atari XE video game system?
Next Document: 1.12) Why do the ANTIC Modes start with "Mode 2", what about 0 or 1?


1.11) What are SALLY, ANTIC, CTIA/GTIA/FGTIA, POKEY, and FREDDIE?


Some of the following text is taken from De Re Atari (Atari#APX-90008), a book
published by Atari through the Atari Program Exchange (APX) and copyright 1982
by Chris Crawford, et al.  See http://www.atariarchives.org/dere/ where the
full text of De Re Atari is now available online.

The internal layout of the Atari 8-bit computer is very different from other
systems.  It of course has a microprocessor (a 6502), random-access memory
(RAM), read-only memory (ROM), and a peripheral interface adapter (PIA,
CO12298/CO14795, a 6520).  However, it also has three special-purpose large-
scale integration (LSI) chips known as ANTIC, one of CTIA/GTIA/FGTIA, and
POKEY.  These chips were designed by Atari engineers primarily to take much of
the burden of housekeeping off of the 6502, thereby freeing the 6502 to
concentrate on computations.  While they were at it, they designed a great
deal of power into these chips.  Each of these chips is almost as big (in
terms of silicon area) as a 6502, so the 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.

6502/SALLY  Central Processing Unit (CPU)  --  SALLY,XL/XE:CO14806
==========
On the Atari, there are two microprocessors, ANTIC and the 6502.  To allow
them to coexist, ANTIC must shut off the 6502, a process called DMA.  The
6502B supports DMA, but in Atari's implementation, it required 4 chips.  The
6502C has an extra line called HALT. It is controlled by ANTIC which uses it
whenever it needs the data/address bus. The HALT line is on pin 35 of the
Atari 6502C and must be pulled high for the chip to work.

While the 400/800 models contain a generic 6502B CPU (a faster version of the
original 6502A microprocessor), all of the XL/XE models contain Atari's
customized 6502C chip, known as SALLY.

ANTIC --  400/800/1200XL,NTSC:CO12296        400/800,PAL:CO14887
=====     600XL/800XL/XE,NTSC:CO21697          XL/XE,PAL:CO21698
ANTIC ("Alpha-Numeric Television Interface Circuit") is a microprocessor
dedicated to the television display.  It is a true microprocessor; it has an
instruction set, a program (called the display list), and data.  The display
list and the display data are written into RAM by the 6502.  ANTIC retrieves
this information from RAM using direct memory access (DMA).  It processes the
higher level instructions in the display list and translates these
instructions into a real-time stream of simple instructions to CTIA/GTIA/
FGTIA.

CTIA/GTIA/FGTIA  --  CTIA,NTSC:CO12295      GTIA,PAL:CO14889
===============      GTIA,NTSC:CO14805   FGTIA,SECAM:CO20120
The Atari contains one of the CTIA/GTIA/FGTIA television interface chips.
ANTIC directly controls most of the operations of the CTIA/GTIA/FGTIA, but the
6502 can be programmed to intercede and control some of the functions of the
CTIA/GTIA/FGTIA.  The CTIA/GTIA/FGTIA converts the digital commands from
ANTIC (or the 6502) into the signal that goes to the television.  The CTIA/
GTIA/FGTIA also adds some factors of its own, such as color values, player-
missile graphics, and collision detection.

There were no consistent official explanations for the acronyms.  Sources at
Atari variously suggested:
    "Color Television Interface Adapter"
    "Colleen Television Interface Adapter"
    "Graphics Television Interface Adapter"
    "George's Television Interface Adapter"  (chip designer = George McLeod)
    "General Television Interface Adapter"
    "French GTIA" ??? (just MC's speculation here)

Early North American NTSC 400/800 models shipped with CTIA.  Later NTSC 400/
800 models, all PAL 400/800's, and all NTSC XL/XE and PAL XL/XE systems
included GTIA.  SECAM 800XL, 130XE and XE game systems included FGTIA.

The GTIA is backwards-compatible with the CTIA, with the GTIA simply making
available three additional graphics modes (GTIA Modes 1-3).

Jerry Jessop adds:
  "The very first proto systems did have the GTIA, but it had some
  problems and was not released in the consumer version until 1981.  The
  GTIA was completed before the CTIA."

The FGTIA is software compatible with the GTIA.  However, in GTIA Mode 1 the
FGTIA can only display 8 distinct luminances, compared to the 16 distinct
luminances that can be displayed in GTIA Mode 1 by the GTIA.

The NTSC CTIA/GTIA were designed to interface with the NTSC ANTIC.
The PAL GTIA and the FGTIA were designed to interface with the PAL ANTIC.

Whether CTIA or GTIA/FGTIA is installed can be determined by observing what
happens as a result of trying to enter a GTIA graphics mode.  In Atari BASIC,
at the "READY" prompt, type POKE 623,64 [RETURN].  If the screen blackens, you
have the GTIA or FGTIA chip.  If it stays blue, you have the old CTIA chip.

POKEY  --  CO12294
=====
POKEY (name derived from POtentiometer and KEYboard) is a digital input/output
(I/O) chip.  It handles such disparate tasks as the serial I/O bus, audio
generation, keyboard scan, and random number generation.  It also digitizes
the resistive paddle inputs and controls maskable interrupt (IRQ) requests
from peripherals.


All four of the above LSI chips (6502/SALLY, ANTIC, CTIA/GTIA/FGTIA, POKEY)
function simultaneously.  Careful separation of their functions in the design
phase has minimized conflicts between the chips.  The only hardware level
conflict between any two chips in the system occurs when ANTIC needs to use
the address and data buses to fetch its display information.  To do this, it
halts the 6502 and takes control of the buses.

FREDDIE  --  CO61922, CO61991
=======
The 65XE/130XE/800XE/XEGS contain a small additional LSI called FREDDIE, a RAM
address multiplexer.  According to James Bradford, "FREDDIE is a type of
memory controller.  It takes the address and clock from the CPU and
multiplexes it with the appropriate timings and signals to use DYNAMIC memory.
FREDDIE also buffers the system clock crystal and divides it down then feeds
that to GTIA.  The XEGS has a FREDDIE but it doesn't have the extended RAM.
Even if it did, you would still need the chip that does the REAL bank
switching.  It is a small 16-pin chip (Atari/Best Electronics catalog number
CO25953: rev9/page 42).  It gets RAS from FREDDIE, the bank select bits from
PIA, A14, A15 and the 6502 halt signal to control which bank of 8 chips RAS
goes to.  A14 and A15 then go to FREDDIE for the address range of the extra
memory bank (or normal address range with no bank switching).  The ANTIC/6502
select bits in combination with the 6502 halt line, control the switching of
the PIA bank number bits to A14/A15 and which bank of memory RAS goes to. Why
people say FREDDIE does the bank switching is beyond me.  An 800XL can look
like a 130XE with that 16-pin chip installed (That's right NO FREDDIE) and an
extra 8 RAM chips."

And more recently James Bradford has written:
FREDDIE is just a memory decoder and timer. It replaces several chips in the
800XL.  The small chip near FREDDIE does all the bank selection.  CO25953. One
line from FREDDIE, Ras (or is it cas?) goes to this chip, Halt and the bank
/processor select lines go into this same chip and ras (cas?) comes out. A pin
for each bank.  If I remember correctly, refresh also goes into this small
chip. It would be quite easy to make an 800XL work just like a 130XE with this
chip since Ras (Cas?) is required by ALL dynamic RAM.

"FREDDIE" or "FREDDY"?
Atari themselves were inconsistent.  It is "FREDDIE" on page 4 of the Atari
130XE Parts List 6/25/85, part of the 130XE Reference Manual released by Atari
(U.S.) Corp. in 1990.  It is "FREDDY" on page 21 of the XE System Owners
Manual, C100608.  This FAQ List adopts the convention of Atari's technical
documentation: "FREDDIE"

======
Technical data sheets and schematics for the ANTIC, GTIA, and POKEY chips were
available on Curt Vendel's web site, thanks to permission from Hasbro's Atari
Interactive Division's release of this data.

A site that mirrored the high-res images as PDFs: http://www.retromicro.com/

Keith Howell has converted the hi-res TIFFs into clean HTML:
   http://www.howell1964.freeserve.co.uk/Atari/800XL/Atari_800XL.htm



Top Document: Atari 8-Bit Computers: Frequently Asked Questions
Previous Document: 1.10) What is the Atari XE video game system?
Next Document: 1.12) Why do the ANTIC Modes start with "Mode 2", what about 0 or 1?

Single Page


[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
Michael Current <michael@mcurrent.name>

Last Update October 22 2009 @ 05:22 AM

Some parts © 2009 Advameg, Inc.