AY-3-8910
General Instrument AY-3-8910
Overview
The AY-3-8910 is a three-voice programmable sound generator (PSG) designed by General Instrument in 1978. It was originally created for use alongside GI's own 16-bit CP1610 processor or one of the company's PIC1650-series 8-bit microcomputers, but it went on to find a far larger audience as an audio chip in its own right, becoming one of the most widely used sound chips of the entire 8-bit computing era.
The chip provides three tone channels with an unusually wide frequency response, capable of producing almost all of the notes found on an 88-key piano. Each of these channels can be modulated by a single shared envelope generator and a shared pseudo-random noise generator, allowing composers to layer percussive or textural elements alongside the chip's tonal output.
Each channel's pitch is determined by a 12-bit frequency divider, split across a "fine" and "coarse" register pair per channel, giving values from 1 to 4,095 to work with. Running at an input clock of 4 MHz (or 6 MHz on the Yamaha-produced YM2149 variant), the chip is capable of generating fundamental frequencies well into the ultrasonic range, far beyond human hearing, meaning it produces solidly musical output at every pitch a composer is likely to actually use.
The AY-3-8910 became the most-used audio chip of the arcade industry through the early 1980s, and its popularity extended into a huge number of home computers and sound cards, including the MSX standard, the Oric-1, the Colour Genie, and the Apple II via expansion cards such as the Mockingboard.
Technical characteristics
- Manufacturer: General Instrument
- Model: AY-3-8910 (40-pin DIP)
- Channels: 3 tone channels + 1 shared noise generator
- Envelope: 1 shared hardware envelope generator, 4-bit (16 volume steps)
- Frequency control: 12-bit divider per channel (values 1–4,095)
- Clock: 4 MHz standard (6 MHz on the Yamaha YM2149F variant)
- I/O: Two 8-bit general-purpose parallel ports (A and B)
- Registers: 16 total, controlling tone periods, noise period, mixing, volume and envelope shape
- Related variants: AY-3-8912 (28-pin, one I/O port), AY-3-8913 (24-pin, no I/O ports), Yamaha YM2149 (enhanced clone)
- Notable systems: MSX standard, Oric-1, Amstrad CPC, ZX Spectrum 128, Atari ST (via YM2149), countless arcade boards
Composing on the AY-3-8910
Because the AY-3-8910 has only a single shared envelope generator rather than one per channel, composers wanting dynamic, expressive control over multiple voices at once had to develop workarounds, most commonly rapid software-driven switching of which channel the envelope was currently applied to, simulating independent dynamics across all three channels through fast timing tricks.
The chip's shared noise generator, combined with its flexible per-channel mixing register, gave composers a reasonable degree of freedom in blending tonal and noise-based content on any given channel, useful for both percussive effects and more textured, non-melodic sounds within a composition.
Because so many machines across different manufacturers used either the AY-3-8910 directly or a functionally compatible variant, a large, shared body of tracker software, music routines and chiptune programming knowledge developed around this family of chips as a whole, much of which remains actively used by chiptune musicians and demoscene programmers today.
Legacy and importance
The AY-3-8910 holds a foundational place in the history of computer and video game audio, both as the originator of an entire family of enormously popular derivative chips (the 8912, 8913, and later Yamaha's YM2149) and as one of the defining sounds of early 1980s arcade and home computer gaming. Its popularity began to decline from 1985 onward, and by 1987 it had largely been eclipsed by Yamaha's newer FM synthesis chip families, but its influence on an entire generation of chiptune and demoscene music remains widely recognised today.
Further reading
In a nutshell
- Name: AY-3-8910
- Manufacturer: General Instrument
- Family: AY-3-8910
- Type: PSG
- Year: 1978
- Channels: 3
- Synthesis: Programmable Sound Generator
- Sample support: 0
- Description: Three-channel programmable sound generator with tone, noise and envelope generation.
- Aliases: AY-3-8910, AY8910
- Computer: MSX, Oric, ZX Spectrum
- Console:
- Arcade:
- Official Name: AY-3-8910