# Texas Instruments SN76489

El SN76489 Digital Complex Sound Generator (DCSG) es un chip de sonido de cuatro canales (Generador Programable de Sonido o PSG) compatible TTL creado y fabricado por Texas Instruments. Contiene tres generadores de tono de onda cuadrada y un generador de ruido blanco, cada uno de los cuales pueden producir sonidos en varias frecuencias y dieciséis niveles de volumen diferentes. Su aplicación principal fue la generación de música y efectos de sonido en videoconsolas, arcades y ordenadores domésticos (como el Texas Instruments TI-99/4A, BBC Micro, Coleco Adam, Sega SC-3000, Memotech MTX-500, Sord M5 y el IBM PCjr) en competencia con el General Instrument AY-3-8910 y similares.
Las prestaciones del SN76489 eran:
* Tres generadores de tonos programables de onda cuadrada.
* Un generador programable de Ruido blanco
* Atenuación programable.
* Salida de sonido Mono

## Información general

El SN76489 fue diseñado originalmente para ser usado en el ordenador doméstico Texas Instruments TI-99/4A, donde se le llama inicialmente TMS9919 y más tarde SN94624, y tenía una tasa de entrada de reloj de hasta 500 kHz. Más tarde, cuando se comercializa fuera de TI, se cambia el nombre a SN76489, y se añade una división por 8 a su entrada de reloj, incrementando el máximo de la tasa de entrada de reloj a 4 MHz, para facilitar el compartir un mismo cristal para la salva de color NTSC y el reloj del chip de sonido. Una versión del chip sin la división por 8 también se comercializa por TI como el SN76494, que tiene una frecuencia de 500 kHz como tasa de entrada de reloj máxima.
La frecuencia de las ondas cuadradas producidas en cada canal se deriva de dos factores : la velocidad del reloj externo y un valor proporcionado en un registro de control para cada canal (llamado N). Cada frecuencia de canal es almacenada en él dividiendo el reloj por 4 (después de la etapa del divisor por 8 si está presente, lo que nos da un divisor total de 32 en ese caso) y dividiendo el resultado por N; así, el valor general del divisor es de 4 a 4096 (o de 32 a 32768), y el rango de frecuencia de tono a velocidad máxima de reloj de entrada es de 122 Hz a 125 kHz (o típicamente 108 Hz a 111,6 kHz, con un rango de entrada de reloj para la ráfaga de color NTSC que van desde más o menos A2 hasta 5-6 veces los límites generalmente aceptados de la percepción auditiva humana).
Hay dos versiones del SN76489: el SN76489 (versión en encapsulado DIP estrecho etiquetada como SN76489N) y el SN76489A (DIP estrecho etiquetado SN76489AN). El primero fue fabricado entre 1980 a 1982 y el segundo desde 1983 en adelante. Se diferencian en que la salida del SN76489 es la inversa de la forma de onda esperada (la forma de onda 'crece' hacia 0 V de 2,5 V), mientras que en el SN76489A la forma de onda no se invierte. La retroalimentación de ruido pseudoaleatorio en ambas versiones se genera a partir de una XNOR de los bits 12 y 13 para la retroalimentación, y el bit 13 es la salida de ruido. El generador pseudoaleatorio se pone a 0s (con el bit de respuesta establecido en 1) en las escrituras al registro 6 del chip, el registro de modo de ruido.
Sega utiliza chips SN76489AN reales en su consola Sega SG-1000 y en el ordenador doméstico Sega SC-3000. Posteriormente un núcleo del SN76489A se incluye en el chip custom VDP que Sega usa en las videoconsolas Sega Master System, Sega Game Gear, y Sega Mega Drive (Sega Genesis en Estados Unidos). Aunque la funcionalidad básica es casi idéntica a la del procesador de sonido SN76489A original, existían unas pocas pequeñas diferencias : la aleatoriedad para el canal de ruido se genera de manera diferente, y la versión de la Game Gear incluye una extensión para salida de audio estéreo. El ruido periódico también es un largo de 16 etapas en los clones fabricados en Sega; esto hace una diferencia significativa para la música / programas que utilizan ruido periódico, con lo que los sonidos se reproducen un 6.25% más bajo que en los chips fabricados por TI.
Otro clon es el NCR 8496, que se utiliza en algunos modelos de la serie Tandy 1000 de ordenadores semicompatibles. Modelos Tandy 1000 posteriores (en particular, los SL, TL y la serie RL) integran la funcionalidad del SN76496 en el PSSJ ASIC.
Vale la pena señalar que el SN76489A parece ser totalmente idéntico al SN76496 en términos de los resultados producidos, pero este último, además, tiene un pin "AUDIO IN" (en el pin 9) para la mezcla de audio integrado.

## Uso
### Juegos Arcade

* Estos juegos comparten un diseño común de la placa madre realizado por Tehkan que utiliza tres SN76496 funcionalmente idénticos.
** Baluba-Louk No Densetsu
** Senjyo
** Star Force
* Estos juegos comparten un diseño común de la placa realizado por Universal Entertainment Corporation:
** Lady Bug (2 chips)
** Mr. Do! (2 chips)
** Mr. Do's Castle (4 chips)
** Mr. Do's Wild Ride (4 chips)
** Do! Run Run (4 chips)
* Block Gal
* Congo Bongo
* Bank Panic
* Time Pilot '84 - utiliza el funcionalmente idéntico SN76496
* Sega Mega-Tech
* Sega System 1
* Sega System 2

### Ordenadores y videoconsolas

* ALF's Music Card MC1 - tarjeta de ampliación para el Apple II, usa tres chips para un total de nueve voces.
* BBC Master
* BBC Micro
* Coleco Adam
* ColecoVision
* CreatiVision
* Geneve 9640
* IBM PCjr
* Memotech MTX
* Neo Geo Pocket
* Neo Geo Pocket Color
* Sega Game Gear
* Sega Genesis / Sega Mega Drive
* Sega Master System
* Sega Mega-Tech
* Sega Nomad
* Sega Pico
* Sega SG-1000 - usa el SN76489AN
* Sega SC-3000 y SC-3000H - usa el SN76489AN
* Sharp MZ-800 - usa el SN76489AN
* Sord M5
* Tandy 1000 - los equipos iniciales utilizan SN76496 o el NCR 8496, los sistemas posteriores lo integran en el ASIC PSSJ
* Texas Instruments TI-99/4A - usa el original TMS9919
* Tomy Tutor