Television Interface Adapter

From Wikipedia, the free encyclopedia

The Television Interface Adapter (TIA) is the custom chip that is the heart of the Atari 2600 game console and was created by Jay Miner of Amiga fame.

The TIA is responsible for generating the picture on the television set as well as providing access to features in hardware for the purpose of generating the game graphics. Due to the cost of memory at the time TIA has no specific Video RAM and only generates a single line of video at a time. The video is created from data in registers that control a background color, a playfield made up of a small amount of pixel data which is stretched across half the video line and may be duplicated or mirrored across the other half and 5 graphics objects consisting of:

  • Two 8-pixel lines which make up the 'sprites' Player 1 and Player 2. These are single color and can be stretched by a factor of 2 or 4.
  • A 'ball' - a line that is the same color as the playfield. It can be one, two, four, or eight pixels wide.
  • Two 'missiles' - a line that is the same color as it respective player. It can be one, two, four, or eight pixels wide.
Pressure Cooker changes the color every scanline. The chef and tomato use the "Players".
Pressure Cooker changes the color every scanline. The chef and tomato use the "Players".

The TIA could only change the color of the ball/playfield, the background, and each player/missile once per scanline. This resulted in the distinct appearance and style of most Atari 2600 sprites. Often programmers would change the color to create gradients and other visual effects to enhance the appearance of the game.

The TIA has hardware collision detection for all of these objects and stores a bitmap of collisions, that are typically read during the VBLANK period. Registers in the TIA allow the programmer to control the positioning of the graphical objects and their color.

The TIA is also responsible for generating two channels of sound from which the programmer can control pitch, volume and type of sound generated.

Lastly, the TIA has inputs for reading an analogue joystick that uses a potentiometer and for joystick triggers.

Programming for the TIA is very hard work. Such huge limitations as the lack of a framebuffer, and the fact that 3 pixels clocks elapse for every CPU clock make life hard for the programmer, but also present a real challenge which many homebrew programmers enjoy. Some have found ways to circumvent the TIA’s limitations by changing colors and player sprites in mid-screen or mid-line; this allowed graphically rich games once enough memory was available on the cartridge.

Atari later expanded on the design of the TIA for the Atari 400 and Atari 800 with the Color Television Interface Adapter, and again with George's Television Interface Adapter.

Contents

[edit] TIA Color Capabilities

The TIA uses different color palettes depending on the television signal format used. For NTSC format, a 128-color palette is provided, while only 104 colors are available for PAL. Additionally, the SECAM palette consists of only 8 colors.

[edit] NTSC palette

hue / luminance 0 2 4 6 8 10 12 14
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

[edit] PAL palette

hue / luminance 0 2 4 6 8 10 12 14
0,1,14,15
2
3
4
5
6
7
8
9
10
11
12
13

[edit] SECAM palette

0 2 4 6 8 10 12 14

[edit] External links