AY-3-8910

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 16 mars 2021; kontroller kräver 6 redigeringar .

AY-3-8910  är en mikrokrets som är en tre- kanals ljudgenerator ( PSG , Programmerbar ljudgenerator i tillverkarens terminologi ) . Utvecklad av General Instrument (nuvarande Microchip ), ursprungligen avsedd för användning med 16-bitars CP1610-processorn (en förenklad version av CP1600 ) från samma företag och med 8-bitars mikrokontroller i PIC1650-serien. AY-3-8910 och dess varianter har använts flitigt i många arkadmaskiner , spelkonsoler och hemdatorer.. Förutom General Instrument tillverkades denna mikrokrets under en utvecklarlicens av Microchip (på den tiden - en tredjepartstillverkare av kristaller), Micrel (under det ursprungliga namnet) och andra (under olika namn), såväl som av Yamaha (under namnet Programvarustyrd -SSG,YM2149F ljudgenerator enligt tillverkarens terminologi ).

En av de första användningarna av AY-3-8910 går tillbaka till 1980, i Segas Carnival-spelautomat och senare på MSX- plattformen . Chips som är kompatibla med AY-3-8910 används fortfarande idag. Deras produktion har upphört, dock har ett lager av tidigare producerade mikrokretsar bevarats och de fortsätter att säljas för exempelvis reparation av gamla datorsystem. Det finns en VHDL -implementering av chippet för användning i FPGA -kopior av spelautomater och andra retrodatorsystem. VHDL-källkoden är fritt tillgänglig på Internet, i kompilerad form upptar den cirka 10 procent av Xilinx XC2S300 FPGA-volymen.

AY-3-8910 tros ha liknande ljudgenereringsförmåga som Texas Instruments SN76489-chip (byggd och såld under samma tidsperiod). Men även om deras allmänna egenskaper liknar varandra, har dessa chips ganska olika möjligheter. Kreativ användning av AY-3-8910 gör att du kan få ett mycket mer komplext ljud än SN76489, tack vare närvaron i AY-3-8910 av det så kallade envelopet , som kan programmeras till en icke-standard ( ljud) frekvens.

Berömmelse i Ryssland

I Ryssland blev AY-3-8910-chippet berömmelse på grund av dess användning i ZX Spectrum 128 -datorn och följaktligen i dess många kloner . Under populariteten för ZX Spectrum i Ryssland var det mer än tusen personer som skrev musik till AY-3-8910. Totalt skrevs mer än 25 000 låtar till chippet. [1] Denna mikrokrets skapade sin egen subkultur bland ryska datormusiker i början av 1990-talet, liknande den som skapades av Commodore 64 dator SID mikrokretsen i andra länder. För närvarande finns det några entusiaster som fortsätter att skriva musik till AY-3-8910. Som en del av olika datorkonstfestivaler, som Chaos Constructions , DiHalt , ASCiI , ArtField , och andra, finns det också tävlingar för att skriva musik till detta chip.

Radioamatörer kopplade AY-3-8910 till många hushållsdatorer i hemmet, särskilt till Vector-06Ts , Orion -128 , BK-0011 och IBM PC , såväl som till telefoner med Rus "Sonata" nummerpresentation.

Beskrivning

AY-3-8910 har följande funktioner:

AY-3-8910 är en tillståndsmaskin vars tillstånd ställs in med hjälp av sexton 8-bitars register. De programmeras via en 8-bitars extern buss, som används både för dataöverföring och för att ställa in registeradressen - läget växlas genom att ändra nivån på en speciell stift på mikrokretsen. Typisk värdeöverföringscykel: buss växlar till adressläge, adress överförs, buss växlar till dataöverföringsläge, data överförs. Denna buss implementerades ursprungligen på GI:s egna processorer men måste återskapas med logik eller en extra gränssnittsadapter som MOS Technology 6522, men chippet användes med den mycket vanligare MOS 6502 eller Zilog Z80 teknologin

De sex registren R0..R5 styr ljudfrekvensen som genereras av de tre huvudkanalerna genom att ställa in klockdelarens värde. Avdelaren lagras i två 8-bitars register för var och en av kanalerna, men den verkliga kapaciteten hos delarräknaren är 12 bitar, vilket ger 4095 ljudfrekvensvärden (0 och 1 är ekvivalenta).

Register R6 ställer in 5-bitars periodvärdet för pseudoslumpbrusgeneratorn.

Register R7 är en logisk mixer som innehåller två bitar för varje kanal, beroende på vilken signal från brusgeneratorn eller enveloppgeneratorn som blandas in i kanalerna. Också i register R7 finns två generella I/O-portkontrollbitar.

Tre register R8..R10 styr volymen på de tre huvudkanalerna (16 nivåer), och har även en bit för att möjliggöra användningen av enveloppen.

De tre registren R11..R13 styr frekvensen (två register, 16-bitars värde) och vågformen (ett register, 16 alternativ) för den ADSR- liknande enveloppgeneratorsignalen. Till skillnad från de flesta system använder 8910:an fasta tider för platå- och sönderfallsfaserna och en upprepad sekvens av attack- och sönderfallsfaser . Till exempel kan generatorn ständigt upprepa attack-fall-cykeln, eller vice versa, med början från den maximala nivån, gradvis sänka den, utan en attackfas.

Registren R14 och R15 styr tillståndet för in-/utgångsledningarna för I/O-portarna för allmänna ändamål.

Versioner

Den ursprungliga 8910-kristallen hade tre versioner.

AY-3-8910 hade två parallella åttabitars allmänna I/O-portar - A och B. Tillverkad i ett 40-stiftspaket (DIP40).

AY-3-8912 är tillverkad i ett 28-stiftspaket (DIP28). Port B-signaler dirigeras inte till externa stift. Denna design minskade kostnaden för mikrokretsen och dess dimensioner, vilket gjorde denna design till den mest populära.

AY-3-8913 är tillverkad i ett 24-stiftspaket (DIP24). Port A- och B-signaler tas inte ut. Jämfört med 8912 har dimensionerna minskat obetydligt, och funktionaliteten har minskat, så denna version har fått minst distribution.

Stifttilldelningen för YM2149F är densamma som AY-3-8910, med undantag för stift 26, som slår på den interna ingångsfrekvensdelaren med hälften när den körs lågt. Om detta stift inte är anslutet någonstans fungerar mikrokretsen på samma sätt som AY-3-8910. Förutom den inbyggda ingångsfrekvensdelaren har YM2149 en skillnad i enveloppens DAC -bitdjup - 5 bitar istället för 4 (med en logaritmisk skala). Dessutom används endast de lägre för ton. (tyst) 4 bitar. Detta skapar en skillnad i envelope-ljudets klang, vilket gör det ljusare men tillåter mer basflexibilitet.

YMZ284-D är tillverkad i ett 16-stiftspaket (DIP16). YMZ284-M är tillverkad i ett 16-stiftspaket (SOIC16). Funktionellt och mjukvara är helt kompatibel med AY-3-8910, AY-3-8912 och AY-3-8913. En utmärkande egenskap är ett litet antal stift, ett förenklat gränssnitt, en monoljudutgång.

Microchip AY38910A är tillverkad i ett 40-stiftspaket (DIP40). Fullt kompatibel med YAMAHA YM2149f .

Mikrochip AY8930 . Kompatibel med Microchip AY38910A . Kan växlas till utökat läge: inte 4 till 8-bitars tonperiod, inte 5 till 8-bitars brusperiod, bruset genereras inte av den hårda LFSR-mekanismen, utan med ytterligare programmerbara OCH- och ELLER-masker.

Winbond WF19054 , China JFC95101 , WB5300 och Jile KC89C72 ICs är också AY-3-8910-kloner.

Kreativ användning

Även om mikrokretsen inte har speciella möjligheter för att spela digitaliserade ljud, kan den implementeras i programvara med en 4-bitars DAC för en eller flera kanaler med ton- och brusgenerering som är förbjuden av den logiska mixern. Det här tillvägagångssättet kräver mer CPU-tid än att använda chips speciellt utformade för digital ljuduppspelning (som Paula-chippet i Commodore Amiga-datorn ). Men det användes ändå flitigt på plattformar som Atari ST -datorn för att spela digital musik och på Amstrad CPC för att spela korta ljudeffekter i vissa spel.

Med samma teknik, men utan att stänga av tongenereringen, är det möjligt att utöka möjligheterna att generera olika klangfärger . I detta fall används ändring av kanalens DAC-utgångsnivå för att modulera tonhöjden med en annan frekvens. På så sätt kan du till exempel få tre oberoende amplitudenvelopper av valfri form, eller klangfärger som liknar ljudet av ett SID -chip . För att effektivt implementera denna metod måste systemet kunna avbryta processorn med en tillräckligt hög frekvens - till exempel på Atari ST-datorn, där denna teknik användes mest aktivt, användes ett avbrott i början av rasterraden. På system som inte har sådana hårdvarufunktioner kommer nästan all processortid att krävas för att implementera en sådan effekt. Det finns en Digisid-demo som kör effekten på en ZX Spectrum-dator som inte har Atari ST-liknande hårdvarufunktioner.

2006 skapade två MSX -programvaruutvecklare en avancerad kodare som konverterar wave-filer till den mest lämpliga data för AY-kanaler med hjälp av Viterbi-sökalgoritmen . Detta gjorde det möjligt att spela en 44 100 hertz wave-fil på en 23-årig MSX -dator , med ett signal-brusförhållande som är högre än för en 8-bitars DAC. Viterbi-algoritmen är mycket resurskrävande, den kunde inte användas på 80-talet, eftersom det vid den tiden inte fanns några tillräckligt kraftfulla datorer för att utföra en sådan transformation.

Vissa människor, särskilt användare av ZX Spectrum-datorn, använder AY-chippet för att skapa musik, inklusive för konsertframträdanden. .

Lista över system

Delvis lista över system som har använt 8910 eller varianter. Inkluderar inte olika spelautomater, vars antal överstiger tusen.

Spelkonsoler:

Hemdatorer. Många av dem har många modeller från olika tillverkare:

Musikredaktörer

För datorer som använde AY-3-8910-chippet skapades ett stort antal musikredigerare med hjälp av dess ljudgenereringsmöjligheter. De flesta av dem hade ett spårningsgränssnitt . Ofta hade de en stark likhet med de första trackers som dök upp på Amiga -datorn  - till exempel The Ultimate Soundtracker (1987), NoiseTracker (1989), ProTracker (1991). Liknande eller helt identiska namn användes också som namn på sådana program. Av denna anledning sammanföll ofta namnen på olika program från olika författare på olika plattformar, och även inom samma plattform.

Följande är en ofullständig lista över musikredigerare för AY-3-8910. Det inkluderar inte exempelorienterade redigerare (så kallade digitala musikredigerare). Vissa av redaktörerna släpptes endast i demoversioner. Listan innehåller endast de demoversioner som hade den grundläggande funktionaliteten, det vill säga de tillät dig att redigera musik.

Förutom musikredigerare finns det mer högspecialiserade program utformade för att skapa ljudeffekter (till exempel för användning i spel).

Vidareutveckling

Yamaha använde YM2149F-kärnan i en hel familj av musikchips som användes i mobiltelefoner, tv-spel etc. YM2203- chippet (även känt som OPN), förutom sin egen frekvensmoduleringssynt (FM) innehåller till exempel en fullfjädrad analog till YM2149F , helt kompatibel vad gäller nummer och syfte med registren (dock innehåller nästa chip i serien, YM2612 , endast FM-delen 2203).

Många MSX2 -datorer och vissa MSX1-datorer använder specialiserade "chipset" LSI:er från olika företag. Dessa är till exempel Yamaha S1985 , S3527 , Toshiba T7775 , T7937 , T9769 mikrokretsar . Förutom en stor del av datorkretsen innehåller de också en fullfjädrad analog till YM2149F.

Philips utvecklade SAA1099- chippet (används i SAM Coupé -datorn och tidiga Creative Labs - ljudkort för IBM PC ). Dess kapacitet liknar de två AY-3-8910 (6 kanaler, 2 kuvert, 2 brusgeneratorer), med några tillägg. Däremot saknas mjukvaru- och hårdvarukompatibilitet.

Emulering

Förutom att implementera chipemulering i emulatorer av olika system som använder den, finns det separata chipemulatorer. De låter dig spela musik skriven för olika system och sparad i deras speciella format på en vanlig PC. Som är fallet med andra liknande ljudgeneratorchips har mjukvaruemulering vissa skillnader i ljud jämfört med det riktiga chippet, och kanske till och med en skillnad till det bättre (tydligare ljud, utan distorsion, vilket gör ljudet något annorlunda än originalet). Om i fallet med andra, mer komplexa mikrokretsar, dessa skillnader uppstår på grund av felaktig emulering av mikrokretsarnas logik, då i fallet med AY-3-8910 och kompatibla mikrokretsar, studeras alla subtiliteter och skillnader i deras arbete till fullo. , och översamplingsproblemet blir den huvudsakliga källan till skillnader ( omsampling ) av signalen (chippet låter dig generera ljud med frekvenser upp till flera hundra kilohertz).

Anteckningar

  1. ZX TUNES insamlingsstatistik . Hämtad 22 maj 2009. Arkiverad från originalet 23 augusti 2021.
  2. [chrome-extension://oemmndcbldboiebfnladdacbdfmadadm/ http://map.grauw.nl/resources/sound/generalinstrument_ay-3-8910.pdf datablad] .

Länkar