AY-3-8912

Z Wikipedie, otevřené encyklopedie
(Přesměrováno z AY-3-8910)
Skočit na: Navigace, Hledání

AY-3-891x je zvukový generátor vyvinutý v 80. letech firmou General Instrument. Pod označením YM2149 jej také vyráběla firma Yamaha

Obsah

Popis obvodu [editovat]

Zvukový generátor AY-3-891x umožňuje generovat tříkanálový zvuk. Vyráběl se ve třech variantách, které jsou funkčně shodné, liší se pouze počtem portů určených pro připojení dalších zařízení:

  • AY-3-8910 - obsahuje dva osmibitové porty pro další zařízení,
  • AY-3-8912 - obsahuje jeden osmibitový port pro další zařízení,
  • AY-3-8913 - neobsahuje porty pro další zařízení.

Obvod se používal pro generování hudby v herních konzolích a také v počítačích ZX Spectrum 128K, TS 2068, Amstrad CPC a Atari ST.

Amstrad CPC [editovat]

V počítačích Amstrad CPC je obvod AY-3-8912 připojen k procesoru Z80 prostřednictvím obvodu 8255, kdy data jsou posílána a čtena pomocí jeho brány A a řídicí signály jsou připojeny k bitům 6 a 7 brány C.[1] Pomocí obvodu AY-3-8912 je připojena i klávesnice.

Sinclair ZX81 [editovat]

Obvod AY byl připojován i k počítači Sinclair ZX81. Obsahovaly ho interfacy Quicksilva sound board, Stuart Systems Sound Synthesiser a Zon X-81.[2] V případě Stuart Systems Sound Synthesiser a Zon X-81 je obvod AY připojen na vstupně výstupní porty procesoru Z80, v případě Quicksilva sound board je obvod AY připojen do paměťového prostoru procesoru. Zon X-81 používá AY-3-8912, Stuart Systems Sound Synthesiser a Quicksilva sound board používají AY-3-8910.

Sinclair ZX Spectrum [editovat]

Pro počítače Sinclair ZX Spectrum existuje dokonce několik způsobů připojení tohoto zvukového generátoru, které nejsou vzájemně kompatibilní:

Další nekompatibilní zapojení bylo používáno ve vývojové verzi počítače SAM Coupé.[3] Protože v průběhu vývoje počítače SAM Coupé byl tříkanálový zvukový generátor AY nahrazen šestikanálovým zvukovým generátorem Philips SAA 1099, toto zapojení se nerozšířilo.

V Rusku vzniklo zapojení stejné jako v případě ZX Spectru 128K, ale obsahující dva zvukové generátory AY, nazývané Turbo Sound. Tímto je standardně vybaven počítač ATM Turbo 2++.[4]

Registry zvukového generátoru [editovat]

Generovaný zvuk je programován pomocí 14 registrů, dva registry jsou určeny pro komunikaci pomocí osmibitových portů.

registr význam
R0 perioda tónu kanálu A, jemné ladění
R1 perioda tónu kanálu A, hrubé ladění
R2 perioda tónu kanálu B, jemné ladění
R3 perioda tónu kanálu B, hrubé ladění
R4 perioda tónu kanálu C, jemné ladění
R5 perioda tónu kanálu C, hrubé ladění
R6 perioda šumu
R7 mixování tonů, šumu, nastavení paralelních bran
R8 amplituda kanálu A
R9 amplituda kanálu B
R10 amplituda kanálu C
R11 perioda obálky, jemné ladění
R12 perioda obálky, hrubé ladění
R13 tvar obálky
R14 data prvního osmibitového port
R15 data druhého osmibitového portu

Registry R0 - R5 slouží k nastavení periody tónu na příslušném kanále. Perioda je dvanáctibitové číslo, rozdělené do dvou registrů, osm nižších bitů se nastavuje pomocí registru R0, resp. R2, resp. R4, vyšší čtyři bity se nastavují pomocí registru R1, resp. R3, resp. R5.

registr R1 (R3, R5) R0 (R2, R4)
bit 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
        hrubé ladění periody tónu jemné ladění periody tónu

Podobně se pomocí registru R6 nastavuje perioda šumu, v tomto případě je perioda pouze pětibitové číslo.

registr R6
bit 7 6 5 4 3 2 1 0
      perioda šumu

Pomocí registru R7 se nastavuje, zda bude v jednotlivých kanálech přehráván tón či šum, či obojí, a také se pomocí tohoto registru nastavuje, zda osmibitové brány budou použity jako vstupní či jako výstupní.

registr R7
bit 7 6 5 4 3 2 1 0
nastavení
2. brány
nastavení
1. brány
šum C šum B šum A tón C tón B tón A

Bity 7 a 6 slouží k nastavení orientace osmibitových bran (0 - vstupní, 1 - výstupní), bity 5, 4 a 3 slouží k povolování přehrávání šumu na příslušných kanalách (0 - povoleno, 1 - zakázáno), bity 2, 1 a 0 slouží k povolování přehrávání tónu na příslušných kanalách (0 - povoleno, 1 - zakázáno).

Amplituda tónu je řízena pomocí registrů R8, R9 a R10 samostatně pro jednotlivé kanály. Amplituda může být konstantní nebo proměnlivá. Toto se nastavuje pomocí bitu 4. V režimu proměnlivé amplitudy se její průběh nastavuje pomocí registru R13.

registr R8 (R9, R10) v režimu konstantní amplitudy
bit 7 6 5 4 3 2 1 0
      0 amplituda tónu
registr R8 (R9, R10) v režimu proměnlivé amplitudy
bit 7 6 5 4 3 2 1 0
      1        

Registry R11 a R12 slouží k nastavení periody obálky amplitudy tónu. Perioda je šestnáctibitové číslo, rozdělené do dvou registrů, osm nižších bitů se nastavuje pomocí registru R11, vyšších osm bitů se nastavují pomocí registru R12.

registr R11 R12
bit 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
hrubé ladění periody obálky amplitudy jemné ladění periody obálky amplitudy

Registr R3 slouží k nastavení průběhu obálky amplitudy tónu. Jednotlivé vlastnosti průběhu obálky amplitudy se nastavují pomocí nižších čtyř bitů tohoto registru.

registr R13
bit 7 6 5 4 3 2 1 0
        pokračuj směr střídej podrž

Registry R14 a R15 slouží pro zápis dat na příslušnou osmibitovou bránu nebo ke čtení dat z této brány v závislosti na režimu brány nastaveném pomocí registru R7.

registr R14 (R15)
bit 7 6 5 4 3 2 1 0
čtená/zapisovaná data

Další zvukové generátory [editovat]

Jeho přímými konkurenty zvukového generátoru AY-3-891x byly zvukové generátory SID používaný v počítačích C64, Pokey používaný v počítačích Atari 130/800, Paula používaný v počítačích Amiga a Philips SAA 1099 v počítačích Sam Coupé.

Reference [editovat]

  1. How to access the PSG via PPI na CPCWiki
  2. Breaking The ZX-81 Sound Barrier. Your Computer. September 1982, roč. 2, čís. 9, s. 22-23, 25-26. Dostupné online. (Alternativní odkaz)  
  3. http://www.crashonline.org.uk/50/sam.htm
  4. Страничка компьютера ATM-turbo (ОПИСАНИЕ) na atmturbo.nedopc.com

Externí odkazy [editovat]