General Instrument AY-3-8910

General Instrument AY-3-8910

pin, and a double-resolution but double-rate volume envelope table) as the YM2149.

It produced very similar results to the Texas Instruments SN76489 and was on the market for a similar period.

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 net, and compiles to fill about 10% of a Xilinx XC2S300 FPGA.

Description

The 8910 was essentially a state machine, with the state being set up in a series of sixteen 8-bit 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.

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.

Variants

The 8910 silicon chip was sold in three different packages.

The AY-3-8910 has two general-purpose 8-bit parallel I/O 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 popular version by far.

The AY-3-8913 is the same chip in a 24-pin package, with both parallel ports not connected. The small reduction in pin count over the 8912 made it less interesting.

The YM2149 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, the master clock is not halved.

Uses

Although the chip wasn't designed to handle raw PCM data (digital samples), 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 to play sampled music, and on the Amstrad CPC 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. 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 developers created an advanced encoder that converts a wave file to optimal PSG channel transitions using Viterbi search. 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: Chiptune"

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 SoundTracker.

Related chips

Yamaha used the YM-2149 core to produce a whole family of music chips which were used in mobile phones, video games etc. For example, the YM-2203 (also known as OPN) is a YM-2149 plus FM. (However, its successor, the YM-2612 (also known as OPN2) inherits only the FM part of the YM-2203.)

References

External links

* [http://intelliwiki.kylesblog.com/index.php/PSG AY-3-8914, AY-3-8916 and AY-3-8917]
* [http://dmoz.org/Computers/Multimedia/Music_and_Audio/Audio_Formats/AY/ AY Music and Audio] at the Open Directory Project
* [http://www.atarimagazines.com/v4n7/stsound.html ST SOUND, Hearing the AY-3-8910 chip]
* [http://bulba.untergrund.net/main_e.htm AY-3-8910, AY-3-8912 and YM2149 Homepage (AY chip emulator for Win32, big archive of AY music]
* [http://www.fpgaarcade.com/ Some VHDL implementations of Arcade Machines in FPGA]
* [http://andercheran.aiind.upv.es/~amstrad/docs.html Documentations for Amstrad CPC] including AY Datasheets
* [http://ay-riders.speccy.cz/ The AY Riders, a group who have held a successful concert of music using and performed by the AY chip]
* [http://www.msx.org/modules.php?op=modload&name=Downloads&file=index&req=visit&lid=736&dl=1 Description and source code of the Viterbi encoder and replayer that creates crystal clear samples on the AY]
* [http://www.bluemsx.com/psgenc/royksopp.mp3 Music sample played on a Philips VG-8020 demonstrating the Viterbi encoded AY sample player]


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • General Instrument AY-3-8910 — AY 3 8912 chip en encapsulado DIP de 28 pines. AY 3 8910 chip en encapsulado DIP de 40 pines …   Wikipedia Español

  • General Instrument AY-3-8910 — …   Википедия

  • General Instrument — (GI) war einer der größten Hersteller von Halbleiterbauelementen und Geräten für Kabelfernsehen in den USA. 1997 wurde General Instrument aufgeteilt, der Name verschwand im Jahr 2000. Das Unternehmen stellte u.a. den Chip für diverse Pong… …   Deutsch Wikipedia

  • General Instrument — (GI) was an electronics manufacturer based in Chicago, IL specializing in semiconductors and cable television equipment. The company was active until 1997, when it split into [http://www.gensemi.com General Semiconductor] (power semiconductors)… …   Wikipedia

  • General Instrument — (GI)  производитель разнообразной электроники, специализировавшийся на полупроводниковых элементах и оборудовании для кабельного телевидения. Компания основана в 1939 году. В 1950 х и 1960 х годах занималась производством диодов и… …   Википедия

  • AY-3-8910 — Saltar a navegación, búsqueda General Instrument AY 3 8910 Obtenido de AY 3 8910 …   Wikipedia Español

  • AY-3-8910 — AY 3 8910A производства Microchip на плате компьютера Daewoo CPC 300E AY 3 8910  микросхема, являющаяся трёхканальным генератором звука (PSG, Programmable Sound G …   Википедия

  • AY-3-8910 — Der AY 3 8910 Soundchip aus GI Produktion Der AY 3 8910 Soundchip aus Microchip Pro …   Deutsch Wikipedia

  • Générateur de son programmable — General Instrument AY 3 8910 Un générateur de son programmable est une puce sonore qui crée des ondes sonores. Elle a la particularité d être programmable. Sommaire 1 Description …   Wikipédia en Français

  • MSX2 — MSX 1 Computer von Sony (1984) Philips MSX 1, Model VG 8020 …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”