Texas Instruments SN76489

The SN76489[1] Digital Complex Sound Generator (DCSG) is a TTL-compatible programmable sound generator chip from Texas Instruments.[2] Its main application was the generation of music and sound effects in game consoles, arcade video games, and home computers (TI-99/4A, BBC Micro, ColecoVision, IBM PCjr, Tomy Tutor, Master System, Game Gear, Tandy 1000), competing with the similar General Instrument AY-3-8910.

Pinout of the standard Texas Instruments SN76489 chip. The packaging is a standard 16-pin DIP.

It contains:[1]

  • 3 square wave tone generators
    • A wide range of frequencies
    • 16 different volume levels
  • 1 noise generator
    • 2 types (white noise and periodic)
    • 3 different frequencies
    • 16 different volume levels

Overview

edit

The SN76489 was originally designed to be used in the TI-99/4 computer, where it was first called the TMS9919 and later SN94624, and had a 500 kHz max clock input rate. Later, when it was sold outside of TI, it was renamed the SN76489, and a divide-by-8 was added to its clock input, increasing the max clock input rate to 4 MHz, to facilitate sharing a crystal for both NTSC colorburst and clocking the sound chip. A version of the chip without the divide-by-8 input was also sold outside of TI as the SN76494, which has a 500 kHz max clock input rate.[1]

Tone Generators

edit

The frequency of the square waves produced by the tone generators on each channel is derived from two factors:

  1. The speed of the external clock
  2. A 10-bit value provided in a control register for that channel (called N)

Each channel's frequency is arrived at by dividing the external clock by 4 (or 32 depending on the chip variant), and then dividing the result by N.[1] Thus the overall divider range is from 4 to 4096 (or 32 to 32768). At maximum clock input rate, this gives a frequency range of 122 Hz to 125 kHz. Or typically 108 Hz to 111.6 kHz, with an NTSC colorburst (~3.58 MHz) clock input – a range from roughly A2 (two octaves below middle A) to 5–6 times the generally accepted limits of human audio perception.

Noise Generator

edit

The pseudorandom noise feedback is generated from an XNOR of bits 12 and 13 for feedback, with bit 13 being the noise output. The pseudorandom generator is cleared to 0s (with the feedback bit set to 1) on writes to chip register 6, the noise mode register.[1]

Product family

edit

There are two versions of the SN76489: the SN76489 (Narrow DIP version labeled SN76489N) and the SN76489A (Narrow DIP version labeled SN76489AN). The former was made around 1980–1982 and the latter from 1983 onward. They differ in that the output of the SN76489 is the inverse of the expected waveform (the waveform "grows" towards 0 V from 2.5 V), while the SN76489A waveform is not inverted.

The SN76496 seems to be totally identical to the SN76489A in terms of the outputs produced, but features an "AUDIO IN" pin (on pin 9) for integrated audio mixing.[3]

SN76489 product family
Chip variant Freq (max) Audio in
TMS9919 / SN94624 500 kHz No
SN76489 / SN76489A 4 MHz No
SN76494 / SN76494A 500 kHz Yes
SN76496 / SN76496A 4 MHz Yes

Clones and successors

edit

Sega used real SN76489AN chips in their SG-1000 game console and SC-3000 computer, but used SN76489A clones in their Master System, Game Gear, and Sega Genesis game consoles. These modified sound chips were incorporated into the systems' video display processor (VDP). Although basic functionality is almost identical to that of the original SN76489A, a few small differences exist:

  • The randomness for the noise channel is generated differently.
  • The Game Gear's version includes an additional flag register that designates which speaker(s) each audio channel are output (left, right, or both).
  • The periodic noise is 16 stages long rather than 15; this makes a significant difference for music/programs which use periodic noise, as sounds will play at 6.25% lower pitch than on the TI-made chips.[4]

Another clone is the NCR 8496, used in some models of the Tandy 1000 computer. Later Tandy 1000 machines (notably the SL, TL and RL series) integrated the SN76496's functionality into the PSSJ ASIC.

Usage

edit

Arcade video games

edit

Home hardware

edit

References

edit
  1. ^ a b c d e Engineering staff of Texas Instruments Semiconductor Group. "SN 76489 AN" (PDF).
  2. ^ SN76489AN - Manual (PDF). Texas Instruments.
  3. ^ "SN76494, SN76494A, SN76496, SN76496A programmable tone/noise generator" (PDF). Texas Instruments. 1989 [1984].
  4. ^ Maxim (April 27, 2005). "SN76489 notes". SMS Power!. Archived from the original on May 17, 2006.
edit