Skip to content

SN76489

Three tones, one noise source and a write-only interface

Texas Instruments’ sound-generator family uses three tone counters and a noise generator, each with programmable attenuation. Related implementations appear in BBC, Coleco and Sega hardware, with audible variant differences.

The SN76489 family keeps three tone generators and a noise generator running after the processor has set them up. Each tone uses a programmable counter. Changing its period changes the note; changing its attenuation changes its level. The chip combines the generators into an audio output. It does not need the main CPU to toggle a speaker for every wave cycle.

Texas Instruments’ SN76489AN data sheet is a useful precise starting point. Related parts and Sega’s integrated versions have differences, especially in their noise behaviour. A family name is not a promise that every implementation sounds identical.

The counter sets the note

Each tone period is ten bits. For the AN part, TI gives the frequency as the input clock divided by 32 times the programmed period. A larger nonzero period produces a lower note. Since the input clock belongs to the surrounding machine, the same period value need not produce the same pitch on every system.

Each of the four generators has a four-bit attenuation setting. Zero gives the loudest level; fifteen turns it off. The direction matters: increasing the number makes the sound quieter. Music software can change the level repeatedly to shape a note, but the chip does not provide the AY-3-8910’s shared hardware envelope generator. (TI, operation and attenuation control.)

The noise generator has its own control and attenuation. It can use periodic or white-noise feedback, and its clock selection includes a rate derived from the third tone generator. That connection gives software another way to change the noise’s character, while tying it to that tone channel’s setting.

Remembering which register comes next

The interface is write-only. A latch byte selects the destination register and supplies a low group of data bits. A tone-period update then supplies the remaining six bits in a following data byte. The chip remembers the selected register; a program that loses track of that selection can change the wrong sound parameter. (TI, CPU interface; SMS Power, register writes.)

The machine decides how those writes reach the chip. The BBC Micro, ColecoVision and Sega systems do not share one universal PSG address. A tune’s register values and its routine for sending them are separate portability questions.

In the Mega Drive, a related PSG is integrated with the VDP beside the separate YM2612 FM chip. The presence of that more elaborate synthesiser does not replace the PSG’s tone-and-noise facilities. They remain another sound source for the program to arrange.

Sources

  • Texas Instruments, SN76489AN data sheet: original part’s counters, attenuation, noise and interface. Original scan.
  • Maxim and SMS Power contributors, SN76489: technical investigation of programming and variants. Technical documentation.

Checked. Verified against primary sources and signed off by a person.