General Instrument AY-3-8910


General Instrument AY-3-8910 w encyklopedii

Z Wikipedii, wolnej encyklopedii Przejdź do nawigacji Przejdź do wyszukiwania Układ scalony AY-3-8912, obudowa DIP 28-pin Układ scalony AY-3-8910 w obudowie DIP 40 GI AY-3-8912 na płycie komputera Oric-1 GI AY-3-8910A na płycie komputera MSX2 Daewoo CPC300E YM2149 w 40-pinowej obudowie DIP Wyprowadzenia układu AY-3-8910

General Instrument AY-3-8910 – 3-kanałowy programowalny generator dźwięku zaprojektowany przez firmę General Instrument, początkowo do współpracy z ich 16-bitowym procesorem CP1610 lub z jednym serii 8-bitowych mikrokomputerów PIC1650.

Układ 8910 i jego warianty stały się popularnymi elementami automatów do gry, m.in. konsoli do gier wideo Intellivision i Vectrex oraz mikrokomputerów MSX, Atari ST, Amstrad CPC, Oric 1, Colour Genie, Elektor TV Games Computer i Sinclair ZX Spectrum 128/+2/+3, a także kart dźwiękowych Mockingboard do komputerów z rodziny Apple II. Do starszych modeli ZX Spectrum oraz ZX Spectrum+ dostępne były karty rozszerzeń instalowane na szynie krawędziowej komputera oparte na tym układzie. Przystawki te były chętnie kupowane przez właścicieli tych mikrokomputerów z uwagi na ubogie możliwości dźwiękowe standardowych wersji. Układ był także produkowany na licencji przez firmę Yamaha (z drobnymi modyfikacjami) jako YM2149. Układy nie są już produkowane ale ciągle zmniejszający się zapas jest nadal dostępny w serwisach maszyn z tamtego okresu. Został stworzony opis VHDL, który może zostać użyty do odtworzenia automatów do gier lub maszyn wspomnianych wyżej. Kod źródłowy VHDL jest dostępny w internecie i po skompilowaniu wypełnia około 10% układu Xilinx XC2S300 FPGA.

Spis treści

Opis | edytuj kod

Układ 8910 jest w istocie automatem stanowym, posiadającym generator obwiedni, który jest konfigurowany za pomocą szesnastu 8-bitowych rejestrów. Rejestry te można programować poprzez 8-bitową szynę, która pełni rolę zarówno szyny danych jak i szyny adresowej (w zależności od ustawienia odpowiedniego sygnału sterującego na wejściu układu). Przykładowo, typowy cykl programowania układu polega na przełączeniu szyny w tryb adresów i wybraniu rejestru do zapisu. Następnie szyna przełączana jest w tryb danych i właściwe informacje przesyłane są do wybranego wcześniej rejestru.

Warianty układu | edytuj kod

Układ 8910 był sprzedawany w 3 różnych rodzajach obudów.

Wersja AY-3-8910 posiada dwa porty równoległe We/Wy ogólnego przeznaczenia (oznaczane jako A i B) i jest dostępna w obudowie 40-pin.

Model AY-3-8912 jest tym samym układem, dostępnym w obudowie 28-pin z portem B niepodłączonym do żadnych wyprowadzeń. Ta wersja była najbardziej rozpowszechniona.

Model AY-3-8913 jest tym samym układem, dostępnym w obudowie 24-pin. W tej wersji oba porty równoległe A i B nie były wyprowadzone na zewnątrz układu. Niewielka redukcja liczby wyprowadzeń w stosunku do modelu 8912 czyniła go mniej interesującym.

Model Yamaha YM2149 posiadał taki sam rozkład wyprowadzeń jak AY-3-8910 z tą różnicą, iż pin 26 mógł służyć do dzielenia na pół częstotliwości taktowania układu (w przypadku gdy pin był wysterowany niskim poziomem sygnału). W przypadku niepodłączania pinu 26, YM2149 mógł zastępować układ AY-3-8910, częstotliwość taktowania pozostawała w takim przypadku niezmieniona.

Model Yamaha Y3439-F – wersja układu w obudowie QFP 44 pin, kompatybilny z YM2149

Opis rejestrów | edytuj kod

Poniższa tabela zawiera opis rejestrów układów z rodziny AY-3-8910:

Uwagi:

  • rejestry 10, 11 i 12 są 4-bitowe z punktu widzenia sterowania głośnością generowanej przez układ fali prostokątnej lub szumu, natomiast 5 bit w tych rejestrach pełni funkcję sterującą. Jeśli jest ustawiony, to odpowiedni kanał używa obwiedni określonej w rejestrze 15. Głośność zdefiniowana na bitach 0-3 jest w tym przypadku ignorowana, a układ może generować fale o przebiegu piłokształtnym lub trójkątnym.
  • funkcje poszczególnych bitów w rejestrze sterującym (nr 7):
    • bit 7 – określa czy port "B" pracuje jako wejście (0) czy wyjście (1)
    • bit 6 – określa czy port "A" pracuje jako wejście (0) czy wyjście (1)
    • bit 5 – określa czy kanał C ma odtwarzać szum (0 = tak)
    • bit 4 – określa czy kanał B ma odtwarzać szum (0 = tak)
    • bit 3 – określa czy kanał A ma odtwarzać szum (0 = tak)
    • bit 2 – określa czy kanał C ma odtwarzać ton (0 = tak)
    • bit 1 – określa czy kanał B ma odtwarzać ton (0 = tak)
    • bit 0 – określa czy kanał A ma odtwarzać ton (0 = tak)
  • nazewnictwo bitów w rejestrze nr 13, który jest odpowiedzialny za rodzaj obwiedni przedstawia się następująco:
    • bit 0 – Hold
    • bit 1 – Alternate
    • bit 2 – Attack
    • bit 3 – Continue

Poniższa tabela przedstawia graficzne odwzorowanie obwiedni oferowanych przez układ w zależności od poszczególnych bitów w rejestrze 15 ("x" oznacza, że wartość bitu jest dowolna):

Ciekawostki | edytuj kod

  • choć układ ma tylko trzy kanały, istnieje możliwość odtwarzania muzyki trackerowej w formacie MOD uzyskując programowo dodatkowy czwarty kanał
  • ograniczenia w liczbie kanałów (pozwalające odegrać jednocześnie co najwyżej trzy różne dźwięki) spowodowały, że komputerowi muzycy stosowali różnorodne triki pozwalające wywołać wrażenie, że jednocześnie odtwarzanych jest więcej dźwięków.

Zobacz też | edytuj kod

Linki zewnętrzne | edytuj kod

Na podstawie artykułu: "General Instrument AY-3-8910" pochodzącego z Wikipedii
OryginałEdytujHistoria i autorzy