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

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; a
6520).  However, it also has three special-purpose large-scale integration
(LSI) chips known as ANTIC, CTIA or GTIA, 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
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.

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.

ANTIC --  400/800,NTSC:CO12296        400/800,PAL:CO14887
=====       XL/XE,NTSC:CO21697    XL/XE,PAL/SECAM: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 GTIA.
=========      GTIA,NTSC:CO14805   GTIA,SECAM:CO20120
CTIA ("Color Television Interface Adapter") / GTIA ("Graphics Television
Interface Adapter") is a television interface chip.  ANTIC directly controls
most of GTIA's operations, but the 6502 can be programmed to intercede and
control some of GTIA's functions.  GTIA converts the digital commands from
ANTIC (or the 6502) into the signal that goes to the television.  GTIA also
adds some factors of its own, such as color values, player-missile graphics,
and collision detection.

Alternate acronym expansions (who can say which are official?)
    "Color Television Interface Adapter"
    "Colleen Television Interface Adapter"
    "Graphics Television Interface Adapter"
    "George's Television Interface Adapter" (George McLeod, chip designer)
    "General Television Interface Adapter"

Early North American 400/800 models shipped with CTIA.  Later 400/800
models, all European 400/800's, and all later 8-bit Ataris included GTIA.

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

In BASIC, type POKE 623,64 [RETURN] and if the screen blackens, you have the
GTIA chip.  If it stays blue, you have the old CTIA chip.

Clay Halliwell provides this tidbit:
  A bit of trivia: CTIA 400/800s artifact in blue/green, GTIA 400/800s
  artifact in green/blue, and all XL/XEs artifact in red/blue.

Jerry Jessop explains why French Ataris produce fewer colors:
  I will tell you why it only has monochrome out, because it's SECAM and a
  SECAM GTIA was never produced. The PAL GTIA is used in France and the Lum
  outputs are run into an onboard encoder to produce a "psudo" color depending
  on the Luminance output, composite only. This is why a SECAM VCS or 800 has
  nowhere near the same number of colors (16) availible as a PAL or NTSC unit

  The FGTIA was never completed as the market size did not warrant the
  expense.  The largest SECAM market is not France but the Soviet Union
  (former) and in 80-84 sales of these items there were not possible.

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 these LSI chips (6502/SALLY, ANTIC, CTIA/GTIA, 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.

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:

About Us - Contact - Credits - Powered with Webdev - © Atarimania 2003-2018