General Instrument AY-3-8910
Encyclopedia
The AY-3-8910 is a 3-voice Programmable Sound Generator
Programmable sound generator
A Programmable Sound Generator is a sound chip that generates sound waves by synthesizing multiple basic waveforms, and often some kind of noise generator, and combining and mixing these waveforms into a complex waveform, then shaping the amplitude of the resulting waveform using...
(PSG) designed by General Instrument
General Instrument
General Instrument was an electronics manufacturer based in Horsham, PA specializing in semiconductors and cable television equipment. The company was active until 1997, when it split into which was later acquired by Vishay Intertechnology in 2001, CommScope and NextLevel Systems General...
, initially for use with their 16-bit CP1610
General Instrument CP1600
The CP1600 was a 16-bit microprocessor created in a partnership between General Instrument and Honeywell in the 1970s. The CP1600's design was based on the PDP-11, whose design also formed the basis of the Western Digital MCP-1600 and influenced others...
or one of the PIC1650 series of 8-bit microcomputers. The AY-3-8910 and its variants became popular chips in many arcade game
Arcade game
An arcade game is a coin-operated entertainment machine, usually installed in public businesses such as restaurants, bars, and amusement arcades. Most arcade games are video games, pinball machines, electro-mechanical games, redemption games, and merchandisers...
s, and was used on, among others, the Intellivision
Intellivision
The Intellivision is a video game console released by Mattel in 1979. Development of the console began in 1978, less than a year after the introduction of its main competitor, the Atari 2600. The word intellivision is a portmanteau of "intelligent television"...
and Vectrex
Vectrex
The Vectrex is a vector display-based video game console that was developed by Western Technologies/Smith Engineering. It was licensed and distributed first by General Consumer Electric , and then by Milton Bradley Company after their purchase of GCE...
video game consoles and the MSX
MSX
MSX was the name of a standardized home computer architecture in the 1980s conceived by Kazuhiko Nishi, then Vice-president at Microsoft Japan and Director at ASCII Corporation...
, Atari ST
Atari ST
The Atari ST is a home/personal computer that was released by Atari Corporation in 1985 and commercially available from that summer into the early 1990s. The "ST" officially stands for "Sixteen/Thirty-two", which referred to the Motorola 68000's 16-bit external bus and 32-bit internals...
, Amstrad CPC
Amstrad CPC
The Amstrad CPC is a series of 8-bit home computers produced by Amstrad between 1984 and 1990. It was designed to compete in the mid-1980s home computer market dominated by the Commodore 64 and the Sinclair ZX Spectrum, where it successfully established itself primarily in the United Kingdom,...
, Oric 1, Colour Genie
Colour Genie
The EACA EG2000 Colour Genie was a computer produced by Hong Kong-based manufacturer EACA and introduced in Germany in August 1982. It followed their earlier Video Genie I and II computers and was released around the same time as the business-oriented Video Genie III.The BASIC was compatible with...
, Elektor TV Games Computer
Elektor TV Games Computer
The Elektor TV Games Computer was a programmable computer system sold by Elektor in kit form from 1979. It used the Signetics 2650 CPU with the Signetics 2636 PVI for graphics and sound. These were the same chips as used in the Interton VC 4000 console family...
and Sinclair ZX Spectrum 128/+2/+3
ZX Spectrum
The ZX Spectrum is an 8-bit personal home computer released in the United Kingdom in 1982 by Sinclair Research Ltd...
home computers as well as the Mockingboard
Mockingboard
The Mockingboard is a sound card for the Apple II family of microcomputers built by Sweet Micro Systems. The standard Apple II machines never had particularly good sound, especially when compared to competitors like the SID chip-enabled Commodore 64...
sound card for the Apple II family. It was also produced under license by Yamaha (with minor modifications, i.e. a selectable clock divider pin, and a double-resolution but double-rate volume envelope table) as the YM2149F.
It produced very similar results to the Texas Instruments SN76489
Texas Instruments SN76489
The SN76489 Digital Complex Sound Generator is a TTL-compatible Programmable Sound Generator chip from Texas Instruments. It contains three square wave tone generators and one white noise generator, each of which can produce sounds at various frequencies and sixteen different volume levels...
and was on the market for a similar period.
After General Instrument
General Instrument
General Instrument was an electronics manufacturer based in Horsham, PA specializing in semiconductors and cable television equipment. The company was active until 1997, when it split into which was later acquired by Vishay Intertechnology in 2001, CommScope and NextLevel Systems General...
s' spinoff of Microchip Technology
Microchip Technology
Microchip Technology is an American manufacturer of microcontroller, memory and analog semiconductors. Its products include microcontrollers , Serial EEPROM devices, Serial SRAM devices, KEELOQ devices, radio frequency devices, thermal, power and battery management analog devices, as well as...
in 1987, the chip was produced for a few years under the Microchip Technology
Microchip Technology
Microchip Technology is an American manufacturer of microcontroller, memory and analog semiconductors. Its products include microcontrollers , Serial EEPROM devices, Serial SRAM devices, KEELOQ devices, radio frequency devices, thermal, power and battery management analog devices, as well as...
brand instead.
The chips are no longer made, but a declining stock is still obtainable for servicing vintage machines. A VHDL equivalent description has been written, for use in FPGA recreations of arcade machines and others like those mentioned above. The VHDL source code is available on the Internet, and compiles to fill about 10% of a Xilinx
Xilinx
Xilinx, Inc. is a supplier of programmable logic devices. It is known for inventing the field programmable gate array and as the first semiconductor company with a fabless manufacturing model....
XC2S300 FPGA.
Description
The AY-3-8910 was essentially a state machine, with the state being set up in a series of sixteen 8-bit8-bit
The first widely adopted 8-bit microprocessor was the Intel 8080, being used in many hobbyist computers of the late 1970s and early 1980s, often running the CP/M operating system. The Zilog Z80 and the Motorola 6800 were also used in similar computers...
registers
Hardware register
In digital electronics, especially computing, a hardware register stores bits of information, in a way that all the bits can be written to or read out simultaneously.The hardware registers inside a central processing unit are called processor registers....
. These were programmed over an 8-bit bus that was used both for addressing and data by toggling one of the external pins. For instance, a typical setup cycle would put the bus into "address mode" to select a register, and then switch to "data mode" to set the contents of that register. This bus was implemented natively on GI's own CPUs, but it had to be recreated in glue logic
Glue logic
In electronics, glue logic is the custom logic circuitry used to interface a number of off-the-shelf integrated circuits.This is often achieved using ordinary 7400- or 4000-series components. In more complex cases, programmable logic devices like a CPLD or FPGA might be used...
or with the help of an additional interface adapter such as the MOS Technology 6522
MOS Technology 6522
The 6522 Versatile Interface Adapter was an integrated circuit made by MOS Technology, as well as second sources including Rockwell and Synertek. It served as a I/O port controller for the 6502 family of microprocessors, providing the parallel I/O capabilities of the PIA as well as timers and a...
when the chip was used with the much more common MOS Technology 6502
MOS Technology 6502
The MOS Technology 6502 is an 8-bit microprocessor that was designed by Chuck Peddle and Bill Mensch for MOS Technology in 1975. When it was introduced, it was the least expensive full-featured microprocessor on the market by a considerable margin, costing less than one-sixth the price of...
or Zilog Z80
Zilog Z80
The Zilog Z80 is an 8-bit microprocessor designed by Zilog and sold from July 1976 onwards. It was widely used both in desktop and embedded computer designs as well as for military purposes...
CPUs.
Six registers controlled the pitches produced in the three primary channels. The wavelength to generate was held in two eight-bit registers dedicated to each channel, but the value was limited to 12-bits for other reasons, for a total of 4096 different pitches. Another register controlled the period of a pseudo-random noise generator, while another controlled the mixing of this noise into the three primary channels.
Three additional registers controlled the volume of the channels, as well as turning on or off the optional 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 8910 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 there are only 16 registers, the four MSB bits of the 8-bit bus must be set to the factory default '0000' value when selecting a register. Incorrectly setting the MSB bits causes the chip to ignore the register change. General Instruments did take orders for customized MSB bits (factory set to other than '0000'). The chips made with customize-set MSB register bits allow the same processor to control more than one AY chip on the same bus (e.g. Mockingbird sound card). There are many new-old-stock (NOS) chips on the secondary market with MSB bits factory set to a non-'0000' value. The non-0000 value can cause significant developmental troubles for designers and repair technicians. Software must be written to identify the correct value of the MSB bits on any given chip. Also, software must be changed or hardware added to allow these factory set MSB chips to be used in place of the default '0000' chips.
Variants
The 8910 silicon chip was sold in three different packages.The AY-3-8910 has two general-purpose 8-bit parallel I/O
Input/output
In computing, input/output, or I/O, refers to the communication between an information processing system , and the outside world, possibly a human, or another information processing system. Inputs are the signals or data received by the system, and outputs are the signals or data sent from it...
ports, A and B, and these are available in the 40-pin package of the same name.
The AY-3-8912 is the same chip in a 28-pin package, with parallel port B simply not connected to any pins. Smaller packages save cost and board space. The 8912 was the most widely-used variant.
The AY-3-8913 is the same chip in a 24-pin package, with both parallel ports not connected. Some users thought the small reduction in pin count over the 8912 made it less interesting, however, the I/O registers were rarely used by designers so General Instruments created this fully functional 24 pin alternative and released it approximately 6 months after the 8910 and 8912 chips. The goal was to reduced complexity for the designer and reduce the foot print on the PCB.
The Yamaha
Yamaha
Yamaha may refer to:* Yamaha Corporation, a Japanese company with a wide range of products and services** Yamaha Motor Company, a Japanese motorized vehicle-producing company...
YM2149F 'SSG' chip has the same pinout as the AY-3-8910, with the minor difference that pin 26 could halve the master clock if pulled low. If left unconnected, as it would be if replacing an AY-3-8910 chip, an internal resistor pulls the pin high, so the master clock is not halved.
The Yamaha
Yamaha
Yamaha may refer to:* Yamaha Corporation, a Japanese company with a wide range of products and services** Yamaha Motor Company, a Japanese motorized vehicle-producing company...
Y3439-F.
The Yamaha
Yamaha
Yamaha may refer to:* Yamaha Corporation, a Japanese company with a wide range of products and services** Yamaha Motor Company, a Japanese motorized vehicle-producing company...
YMZ294 is one of the newest variants of the YM2149, but in a 18-pin package. Has no parallel ports and only one sound output with the three channels mixed.
The Yamaha
Yamaha
Yamaha may refer to:* Yamaha Corporation, a Japanese company with a wide range of products and services** Yamaha Motor Company, a Japanese motorized vehicle-producing company...
YMZ284 is an even smaller variation of the YM2149, in a 16-pin package. It's basically YMZ294 without the 4/8MHz selection pin and the /TEST pin.
The Yamaha
Yamaha
Yamaha may refer to:* Yamaha Corporation, a Japanese company with a wide range of products and services** Yamaha Motor Company, a Japanese motorized vehicle-producing company...
YMZ285 has a 28-pin package and features a built-in PCM. Has no parallel ports and two sound outputs: one with the three SSG channels mixed, other with the PCM output.
The AY-3-8914 has the same pinout and is in the same 40-pin package as the AY-3-8910, except the control registers on the chip are shuffled around, and the 'expected input' on the A9 pin may be different. Otherwise it is exactly the same as the AY-3-8910. It was used on the Mattel
Mattel
Mattel, Inc. is the world's largest toy company based on revenue. The products it produces include Fisher Price, Barbie dolls, Hot Wheels and Matchbox toys, Masters of the Universe, American Girl dolls, board games, and, in the early 1980s, video game consoles. The company's name is derived from...
Intellivision
Intellivision
The Intellivision is a video game console released by Mattel in 1979. Development of the console began in 1978, less than a year after the introduction of its main competitor, the Atari 2600. The word intellivision is a portmanteau of "intelligent television"...
.
The AY-3-8930, also known as AY8930, is an enhanced but mostly-backwards-compatible version of the AY-3-8910. The function of the BC2 pin is changed (it is ignored and assumed to be 0 regardless of the pin state), otherwise the pinout is the same as the AY-3-8910. This variant of the chip adds a number of major enhancements, such as separate envelopes for the three channels (as opposed to one shared envelope), variable duty-cycles, more bits of precision for note frequency, volume, and envelope frequency, and a much more configurable noise generator. It was used on the Covox Sound Master sound card for the IBM-PC. Very few games took advantage of it beyond the normal AY-3-8910 features. This chip may have only been produced by Microchip Technology
Microchip Technology
Microchip Technology is an American manufacturer of microcontroller, memory and analog semiconductors. Its products include microcontrollers , Serial EEPROM devices, Serial SRAM devices, KEELOQ devices, radio frequency devices, thermal, power and battery management analog devices, as well as...
.
Uses
Although the chip wasn't designed to handle raw PCM data (digital soundSampler (musical instrument)
A sampler is an electronic musical instrument similar in some respects to a synthesizer but, instead of generating sounds, it uses recordings of sounds that are loaded or recorded into it by the user and then played back by means of a keyboard, sequencer or other triggering device to perform or...
), the effect could be simulated. The chip used a simple OR based mixing function for combining noise and tone on its three channels and could be persuaded to produce a level non-zero wave. By altering the volume this level wave could be shaped into a waveform. Obviously, this involved more CPU usage than chips designed for this purpose (such as the MOS Technology 8364 "Paula" as used in the Commodore Amiga), but it was nevertheless a technique widely used on platforms such as the Atari ST
Atari ST
The Atari ST is a home/personal computer that was released by Atari Corporation in 1985 and commercially available from that summer into the early 1990s. The "ST" officially stands for "Sixteen/Thirty-two", which referred to the Motorola 68000's 16-bit external bus and 32-bit internals...
and less frequently the Amstrad CPC
Amstrad CPC
The Amstrad CPC is a series of 8-bit home computers produced by Amstrad between 1984 and 1990. It was designed to compete in the mid-1980s home computer market dominated by the Commodore 64 and the Sinclair ZX Spectrum, where it successfully established itself primarily in the United Kingdom,...
to play sampled music, and on the ZX Spectrum
ZX Spectrum
The ZX Spectrum is an 8-bit personal home computer released in the United Kingdom in 1982 by Sinclair Research Ltd...
to play short audio samples, in some games.
Doing the same thing fewer times per second (in the order of a hundred per second) can replace the limited envelope functionality (any envelope you can think of), and last but not least works with each of the three channels individually. This takes negligible CPU power (provided there is some timer interrupt or vertical blank interrupt) and can be used in games.
In turn, the now useless envelope functionality can be set to very high frequency, actually generating a waveform that is not the usual squarewave. The granularity by which high frequencies can be set however is low, and so music composed for the chip generally uses this technique only for bass lines.
Another method was to set one channel output to idle high, then use the volume control as a simple logarithmic 4-bit Digital-to-Analog Converter
Digital-to-analog converter
In electronics, a digital-to-analog converter is a device that converts a digital code to an analog signal . An analog-to-digital converter performs the reverse operation...
. This however resulted in poor audio quality, because it only had 16 output levels and these were logarithmically spaced.
A more sophisticated method was to use all three channels wired together, and exploit the non-linearity of the mixing to produce many intermediate output levels. Having modeled the non-linearity of the three channels, developers had to find suitable values by exhaustive search. Having done so, they produced an 8-bit to 3x4-bit lookup table. This allowed 8-bit audio samples to be played fairly adequately, though not as well as a real 8-bit D/A converter.
The problem of this technique is that the player cannot change the volume of the three channels as a single operation. This implies unwanted output levels between two successive samples.
In 2006 two MSX
MSX
MSX was the name of a standardized home computer architecture in the 1980s conceived by Kazuhiko Nishi, then Vice-president at Microsoft Japan and Director at ASCII Corporation...
developers created an advanced encoder that converts a wave file to optimal PSG channel transitions using Viterbi search
Viterbi algorithm
The Viterbi algorithm is a dynamic programming algorithm for finding the most likely sequence of hidden states – called the Viterbi path – that results in a sequence of observed events, especially in the context of Markov information sources, and more generally, hidden Markov models...
. They replayed a 44.1kHz wave file on a 23 year old MSX with higher SNR than an 8-bit DAC. The Viterbi search is rather CPU intensive so even though it would have been theoretically possible to use this method already in the 80's, there were no computers powerful enough to perform the analysis required.
- Main article: ChiptuneChiptuneA chiptune, also known as chip music, is synthesized electronic music often produced with the sound chips of vintage computers and video game consoles, as well as with other methods such as emulation. In the early 1980s, personal computers became cheaper and more accessible than they had previously...
The AY chip has been used by a number of groups, such as the AY Riders (see external link below). Some of the works by such groups are in the style of computer game music from the era, while others are art music in their own right.
Some programs have been created specifically for writing AY chip music, such as Vortex Tracker.
Related chips
Yamaha used the YM2149F core to produce a whole family of music chips which were used in mobile phones, home computers, home and arcade video game systems, etc. For example, the YM2203Yamaha YM2203
The YM2203, aka OPN , is a six-channel sound chip developed by Yamaha. It's the progenitor of Yamaha's OPN family of FM synthesis chips used in many videogame and computer systems throughout the 1980s and early 1990s...
(also known as OPN) is a YM2149F plus FM
Frequency modulation synthesis
A 220 Hz carrier tone modulated by a 440 Hz modulating tone with various choices of modulation index, β. The time domain signals are illustrated above, and the corresponding spectra are shown below ....
. As well as its far more advanced successors: the YM2608
Yamaha YM2608
thumb|right|Yamaha YM2608YM2608, aka OPNA, is a sixteen-channel sound chip developed by Yamaha. It's a member of Yamaha's OPN family of FM synthesis chips, and the successor to the YM2203...
(also known as OPNA) which retained all previous features and greatly expanded upon those, the YM2612
Yamaha YM2612
thumb|right|Yamaha YM2612The YM2612, aka OPN2, is a six-channel sound chip developed by Yamaha. It belongs to Yamaha's OPN family of FM synthesis chips used in several game and computer systems. Developed as a stripped-down version of the YM2608, it lacks its larger sibling's ADPCM channel,...
(also known as OPN2) which was a cut-down YM2608 and removed many features including the YM2149F sound channels and I/O ports, and the YM2610
Yamaha YM2610
YM2610, aka OPNB, is a fifteen-channel sound chip developed by Yamaha. It's a member of Yamaha's OPN family of FM synthesis chips, and related to the YM2608...
(OPNB) which added other features and retained the YM2149F sound but not the I/O ports.
External links
- AY-3-8914, AY-3-8916 and AY-3-8917
- ST SOUND, Hearing the AY-3-8910 chip
- AY-3-8910, AY-3-8912 and YM2149 Homepage (AY chip emulator for Win32, big archive of AY music
- Some VHDL implementations of Arcade Machines in FPGA
- Documentations for Amstrad CPC including AY Datasheets
- AY-Riders AY-Riders
- YM Rockerz YM Rockerz
- YM Digital YM Digital