AY-3-8910 je mikroobvod , který je tříkanálovým zvukovým generátorem ( PSG , Programmable Sound Generator v terminologii výrobce ). Vyvinuto společností General Instrument (současný Microchip ), původně zamýšleno pro použití s 16bitovým procesorem CP1610 (zjednodušená verze CP1600 ) stejné společnosti as 8bitovými mikrokontroléry řady PIC1650. AY-3-8910 a jeho varianty byly široce používány v mnoha arkádových automatech , herních konzolích a domácích počítačích . Kromě General Instrument byl tento mikroobvod vyroben na základě vývojářské licence společností Microchip (v té době - výrobce krystalů třetí strany), Micrel (pod původním názvem) a dalšími (pod různými názvy), stejně jako Yamaha (pod názvem Software -SSG,YM2149F Sound Generator dle terminologie výrobce ) .
Jedno z prvních použití AY-3-8910 se datuje do roku 1980, v automatu Sega 's Carnival a později na platformě MSX . Čipy kompatibilní s AY-3-8910 se používají dodnes. Jejich výroba byla ukončena, nicméně zásoby dříve vyrobených mikroobvodů zůstaly zachovány a nadále se prodávají například na opravy starých počítačových systémů. Existuje implementace VHDL čipu pro použití v FPGA replikách hracích automatů a dalších retro počítačových systémech. Zdrojový VHDL kód je volně dostupný na internetu, v kompilované podobě zabírá asi 10 procent objemu Xilinx XC2S300 FPGA.
Předpokládá se, že AY-3-8910 má podobné možnosti generování zvuku jako čip Texas Instruments SN76489 (postaven a prodán ve stejném časovém období). Přestože jsou jejich obecné vlastnosti podobné, mají tyto čipy zcela odlišné schopnosti. Kreativní použití AY-3-8910 vám umožňuje získat mnohem komplexnější zvuk než SN76489, a to díky přítomnosti v AY-3-8910 takzvané obálky , kterou lze naprogramovat na nestandardní ( zvukový kmitočet.
V Rusku získal čip AY-3-8910 slávu díky svému použití v počítači ZX Spectrum 128 , a tedy v jeho četných klonech . Během popularity ZX Spectrum v Rusku bylo více než tisíc lidí, kteří napsali hudbu pro AY-3-8910. Celkem bylo pro čip napsáno více než 25 000 skladeb. [1] Tento mikroobvod vytvořil vlastní subkulturu mezi ruskými počítačovými hudebníky na počátku 90. let, podobnou té, kterou vytvořil počítačový mikroobvod Commodore 64 SID v jiných zemích. V současné době existuje několik nadšenců, kteří pokračují v psaní hudby pro AY-3-8910. V rámci různých festivalů počítačového umění, jako jsou Chaos Constructions , DiHalt , ASCiI , ArtField a další, probíhají i soutěže o psaní hudby pro tento čip.
Radioamatéři připojili AY-3-8910 k mnoha domácím domácím počítačům, zejména k Vector-06Ts , Orion -128 , BK-0011 a IBM PC , jakož i k telefonům s Rus "Sonata" ID volajícího.
AY-3-8910 má následující vlastnosti:
AY-3-8910 je stavový automat, jehož stav se nastavuje pomocí šestnácti 8bitových registrů. Programují se přes 8bitovou externí sběrnici, která slouží jak pro přenos dat, tak pro nastavení adresy registru - režim se přepíná změnou úrovně na speciálním pinu mikroobvodu. Typický cyklus přenosu hodnoty: sběrnice se přepne do režimu adresy, adresa se přenese, sběrnice se přepne do režimu přenosu dat, data se přenesou. Tato sběrnice byla původně implementována na vlastních procesorech GI, ale musela být znovu vytvořena pomocí logiky nebo dalšího adaptéru rozhraní, jako je MOS Technology 6522, nicméně čip byl použit s mnohem běžnější technologií MOS 6502 nebo Zilog Z80.
Šest registrů R0..R5 řídí zvukovou frekvenci generovanou třemi hlavními kanály nastavením hodnoty děliče vstupních hodin. Dělič je uložen ve dvou 8bitových registrech pro každý z kanálů, ale skutečná kapacita čítače děliče je 12 bitů, což dává 4095 hodnot zvukové frekvence (0 a 1 jsou ekvivalentní).
Registr R6 nastavuje hodnotu 5bitové periody pro generátor pseudonáhodného šumu.
Registr R7 je logický směšovač obsahující dva bity pro každý kanál, v závislosti na tom, který signál generátoru šumu nebo generátoru obálky je přimícháván do kanálů. V registru R7 jsou také dva řídicí bity I/O portu pro obecné účely.
Tři registry R8..R10 ovládají hlasitost tří hlavních kanálů (16 úrovní) a mají také bit pro použití obálky.
Tři registry R11..R13 řídí frekvenci (dva registry, 16bitová hodnota) a tvar vlny (jeden registr, 16 možností) signálu generátoru obálky podobné ADSR . Na rozdíl od většiny systémů, 8910 používá pevné časy pro fáze plošiny a rozpadu a opakující se sekvence fází útoku a rozpadu . Generátor může například neustále opakovat cyklus útok-pád, nebo naopak, počínaje maximální úrovní a postupně ji snižovat, bez fáze útoku.
Registry R14 a R15 řídí stav vstupních/výstupních linek obecných I/O portů.
Původní krystal 8910 měl tři verze.
AY-3-8910 měl dva paralelní osmibitové univerzální I/O porty - A a B. Vyrobeno ve 40pinovém pouzdře (DIP40).
AY-3-8912 se vyrábí v 28pinovém pouzdře (DIP28). Signály portu B nejsou směrovány na externí piny. Tento design snížil náklady na mikroobvod a jeho rozměry, díky čemuž byl tento design nejoblíbenější.
AY-3-8913 se vyrábí v 24pinovém pouzdře (DIP24). Signály portů A a B nejsou vyvedeny. Ve srovnání s 8912 se rozměry nepatrně zmenšily a funkčnost se snížila, takže tato verze získala nejmenší rozšíření.
Přiřazení kolíků YM2149F je stejné jako u AY-3-8910, s výjimkou kolíku 26, který zapíná interní dělič vstupního kmitočtu o polovinu, když je buzen nízko. Pokud tento pin není nikde připojen, funguje mikroobvod stejně jako AY-3-8910. Kromě vestavěného děliče vstupní frekvence má YM2149 rozdíl v bitové hloubce obálky DAC - 5 bitů místo 4 (s logaritmickou stupnicí). Pro tón se také používají pouze ty spodní. (klidně) 4 bity. To vytváří rozdíl v zabarvení obálkového zvuku, který je jasnější, ale umožňuje větší flexibilitu basů.
YMZ284-D se vyrábí v 16pinovém pouzdře (DIP16). YMZ284-M se vyrábí v 16pinovém pouzdře (SOIC16). Funkčně a softwarově je plně kompatibilní s AY-3-8910, AY-3-8912 a AY-3-8913. Charakteristickým rysem je malý počet pinů, zjednodušené rozhraní, mono audio výstup.
Microchip AY38910A je vyroben ve 40pinovém pouzdře (DIP40). Plně kompatibilní s YAMAHA YM2149f .
Mikročip AY8930 . Kompatibilní s Microchip AY38910A . Lze přepnout do rozšířeného režimu: ne 4 až 8bitová perioda tónu, ne 5 až 8bitová perioda šumu, šum není generován pevným mechanismem LFSR, ale s dodatečnými programovatelnými AND a OR maskami.
Winbond WF19054 , China JFC95101 , WB5300 a Jile KC89C72 IC jsou také AY-3-8910 klony.
Přestože mikroobvod nemá speciální schopnosti pro přehrávání digitalizovaných zvuků, lze jej softwarově implementovat pomocí 4bitového DAC jednoho nebo více kanálů s generováním tónu a šumu zakázaným logickým směšovačem. Tento přístup vyžaduje více času CPU než použití čipů speciálně navržených pro přehrávání digitálního zvuku (jako je čip Paula v počítači Commodore Amiga ). Byl však široce používán na platformách, jako je počítač Atari ST pro přehrávání digitální hudby a na Amstrad CPC pro přehrávání krátkých zvukových efektů v některých hrách.
Stejnou technikou, ale bez vypnutí generování tónu, je možné rozšířit možnosti generování různých témbrů . V tomto případě se změna výstupní úrovně DAC kanálu používá k modulaci výšky s jinou frekvencí. Tímto způsobem můžete získat například tři nezávislé amplitudové obálky libovolného tvaru nebo témbry, které připomínají zvuk SID čipu . Pro efektivní implementaci této metody musí být systém schopen přerušit procesor na dostatečně vysoké frekvenci – např. na počítači Atari ST, kde byla tato technika nejaktivněji využívána, bylo použito přerušení na začátku rastrového řádku. Na systémech, které nemají takové hardwarové možnosti, bude k implementaci takového efektu zapotřebí téměř veškerý čas procesoru. Existuje ukázka Digisid, která běží s efektem na počítači ZX Spectrum , který nemá hardwarové schopnosti podobné Atari ST.
V roce 2006 vytvořili dva vývojáři počítačového softwaru MSX pokročilý kodér, který převádí soubory wave na nejvhodnější data pro kanály AY pomocí vyhledávacího algoritmu Viterbi . To umožnilo přehrát 44 100 Hz vlnový soubor na 23 let starém počítači MSX s poměrem signálu k šumu vyšším než u 8bitového DAC. Viterbiho algoritmus je velmi náročný na zdroje, nemohl být použit v 80. letech, protože v té době neexistovaly dostatečně výkonné počítače, které by takovou transformaci provedly.
Někteří lidé, zejména uživatelé počítače ZX Spectrum, využívají čip AY k tvorbě hudby, včetně koncertních vystoupení. .
Částečný seznam systémů, které používaly 8910 nebo varianty. Nezahrnuje různé hrací automaty, jejichž počet přesahuje tisícovku.
Herní konzole:
Domácí počítače. Mnoho z nich má mnoho modelů od různých výrobců:
Pro počítače, které používaly čip AY-3-8910, bylo vytvořeno velké množství hudebních editorů využívajících jeho schopnosti generování zvuku. Většina z nich měla sledovací rozhraní . Často se silně podobaly prvním trackerům, které se objevily na počítači Amiga - například The Ultimate Soundtracker (1987), NoiseTracker (1989), ProTracker (1991). Také podobné nebo zcela totožné názvy byly používány jako názvy takových programů. Z tohoto důvodu se názvy různých programů od různých autorů na různých platformách a dokonce i v rámci stejné platformy také často shodovaly.
Níže je uveden částečný seznam hudebních editorů pro AY-3-8910. Nezahrnuje editory zaměřené na ukázky (tzv. digitální hudební editory). Některé z editorů byly vydány pouze v demoverzích. Seznam obsahuje pouze ty demoverze, které měly základní funkcionalitu, to znamená, že umožňovaly upravovat hudbu.
Kromě hudebních editorů existuje více specializovaných programů určených k vytváření zvukových efektů (například pro použití ve hrách).
Yamaha použila jádro YM2149F v celé rodině hudebních čipů, které se používaly v mobilních telefonech, videohrách atd. Například čip YM2203 (známý také jako OPN) kromě vlastního syntezátoru frekvenční modulace (FM) obsahuje plnohodnotný analog YM2149F , plně kompatibilní co do počtu a účelu registrů (další čip v řadě, YM2612 , však obsahuje pouze FM část 2203).
Mnoho počítačů MSX2 a některé počítače MSX1 používají specializované LSI „čipové sady“ od různých společností. Jedná se například o mikroobvody Yamaha S1985 , S3527 , Toshiba T7775 , T7937 , T9769 . Kromě velké části počítačového obvodu obsahují i plnohodnotnou obdobu YM2149F.
Philips vyvinul čip SAA1099 (používaný v počítači SAM Coupé a raných zvukových kartách Creative Labs pro IBM PC ). Jeho schopnosti jsou podobné dvěma AY-3-8910 (6 kanálů, 2 obálky, 2 generátory šumu), s některými doplňky. Chybí však softwarová a hardwarová kompatibilita.
Kromě implementace emulace čipu v emulátorech různých systémů, které ji používají, existují samostatné emulátory čipů. Umožňují vám přehrávat hudbu napsanou pro různé systémy a uloženou v jejich speciálních formátech na běžném PC. Stejně jako u jiných podobných čipů zvukového generátoru má softwarová emulace určité rozdíly ve zvuku oproti skutečnému čipu a možná i rozdíl k lepšímu (čistší zvuk, bez zkreslení, čímž se zvuk poněkud liší od originálu). Pokud v případě jiných, složitějších mikroobvodů tyto rozdíly vznikají v důsledku nepřesné emulace logiky mikroobvodů, pak v případě AY-3-8910 a kompatibilních mikroobvodů jsou všechny jemnosti a rozdíly v jejich práci plně studovány. a problém s převzorkováním se stává hlavním zdrojem rozdílů ( převzorkování ) signálu (čip umožňuje generovat zvuk o frekvencích až několik set kilohertzů).
Yamaha | Čipy zvukového generátoru|
---|---|
PSG | |
OPL | |
OPN |
|
OPM/OPP |
|
OPS |
|
různé |
|
DAC |
|
DSP |
|