| • Science | • People | • Locations | • Timeline |
The 8912 one of three related designs, the AY-3-8910 which included two general-purpose 8-bit parallel I/O ports, the 8912 with one port, and the AY-3-8913 with none. Originally intended as a "cut down" version of the 8910, the 8912 removed one port to reduce the pin count by 12, and thus cost of implementation. The 8913 reduced it only another four pins, making it not that much more attractive. While even the single port on the 8912 seems uneeded in most applications, it was nevertheless the most popular version by far.
The 8912 was register-based, with a set of sixteen registers controlling the sound output, programmed using a set of eight data/address pins that were controlled by the CPU (the data/address mode controlled by a pin on the chip). Six registers controlled the tones produced in the three channels, two eight-bit registers per channel but limited to 12-bits for other reasons, for a total of 4096 different tones. Another register controlled the period of a pseudo-random noise generator, with another controlling the mixing of this noise into the three channels. Three additional registers controlled the volume of the channels, as well as turning on or off the option envelope controls on them. Finally the last three registers controlled the times of the ADSR envelope controller, by setting the lengths of time for each stage of the cycle. Unlike most systems the 8912 used fixed times for the sustain and release, and a repeatable attack and decay pattern. For instance, the system could repeat the AD cycle of the sound over and over, or alternately invert it, starting loud and reducing to the sustain level without any attack phase.
Although the chip wasn't designed to handle raw PCM data ( digital samples), the effect could be simulated by rapidly turning the channels to output white noiseThis article is about white noise as a scientific concept, see also White Noise as a 1985 novel by Don DeLillo. White Noise (movie) as a 2004 movie by Geoffrey Sax. White noise is a signal (or process) with a flat frequency spectrum. In other words, the s and altering the volume of the three channels every sample to produce an equivalent waveform. Obviously this involved more CPU usage than chips designed with this purpose (like the Commodore Amiga's 8364 "Paula" sound chip) but was still a widely used technique on platforms like the Atari ST to play sampled music.