# AY-3-8910

De AY-3-8910 is een door General Instrument ontwikkelde 3-stemmige geluidschip. De silliciumchip werd ook onder licentie geproduceerd door Yamaha als YM2149. De 8910 en zijn varianten waren populaire chips en werden toegepast in vele speelhalspellen, de Intellivision en Vectrex spelcomputers en thuiscomputers als MSX, Atari ST, Amstrad CPC, Oric-1 en Sinclair ZX Spectrum+ 128. Ook werd de chip door Apple gebruikt in de Mockingboard-geluidskaarten voor computers uit de Apple II-reeks.
De chip produceert gelijkwaardige resultaten als de Texas Instruments SN76489 en was rond dezelfde periode op de markt verkrijgbaar.
De chips worden niet langer vervaardigd, maar een beperkte voorraad is nog verkrijgbaar voor onderhoud en reparatie van oude apparaten. Een gelijkwaardige VHDL-beschrijving is geschreven voor het gebruik van in FPGA-herbouwde van speelhalmachines en apparaten die hierboven zijn vermeld. De VHDL-broncode is beschikbaar op het internet en vult, na compilatie, ongeveer 10% van een Xilinx XC2S300 FPGA.

## Varianten

De 8910-geluidschip werd verkocht in drie verschillende varianten.
* AY-3-8910. Deze heeft twee, voor algemeen gebruik, parallelle 8-bits I/O-poorten (A en B) en zijn beschikbaar in een 40-pinsbehuizing met dezelfde naam.
* AY-3-8912. Het is dezelfde chip in een 28-pinsbehuizing en de parallelle I/O-poort B is simpelweg met geen enkele pin verbonden. De kleinere behuizingen reduceren de kosten en besparen ruimte op het moederbord. De 8912 was veruit de meest populaire variant.
* AY-3-8913. Het is dezelfde chip in een 24-pinsverpakking waarin beide parallelle I/O-poorten niet verbonden zijn. De kleine reductie in het aantal pins maakte deze variant, in vergelijking met de 8912, minder aantrekkelijk.
De Yamaha YM2149 heeft dezelfde pinout als de AY-3-8910 met als klein, maar minder belangrijk, verschil dat pinnummer 26 de hoofdklok kon halveren indien deze omlaag getrokken werd. Indien niet-verbonden, zoals het zou zijn ter vervanging van een AY-3-8910, zou het intern uitgetrokken worden en de hoofdklok niet halveren, precies als de AY-3-8910 zou doen.
Informatie over andere Yamaha geluidschips uit de OPx-reeks vindt u hier.

## Beschrijving

De 8910 was een register-based met een reeks van zestien registers die de geluidsuitvoer bestuurde, geprogrammeerd door het gebruik van een reeks van acht gegevens/adres-pins die door de processor werden aangestuurd (de gegevens/adres-modus, besturing via een pin op de chip). De zes registers bestuurden de tonen die door drie kanalen werden geproduceerd, twee registers van acht bits per kanaal maar beperkt tot 12-bits om andere redenen, met een totaal van 4096 verschillende tonen. Een ander register bestuurde de periode van een pseudo-random noise-generator, waarbij een ander het mengen van deze noise, over de drie kanalen bestuurde. Drie extra registers bestuurden het volume van de kanalen evenals het aan- of uitzetten van de optie-envelop en de hierop aanwezige aansturing. Tot slot, de laatste drie registers bestuurden de tijden van het ADSR-envelopbesturingsmechanisme, door de tijdsduur voor elk stadium van de cyclus te bepalen. In tegenstelling tot de meeste systemen gebruikt de 8910 vaste tijden voor sustain en release en een herhaalbare attack en decay-patroon. Bijvoorbeeld, het systeem kon de AD-cyclus van het geluid keer op keer herhalen, of keer op keer inverteren, luid beginnen en geleidelijk verminderen tot het sustain-niveau zonder enige vorm van attack.