STEREO Dla Biedoty i Naiwnych

Dawno, dawno temu za siedmioma...Tfu! Co ja bredzę! Do rzeczy...

Dawno temu stoję sobie na giełdzie i słyszę jak dwóch osobników bredzi coś o tym, że "małe" Atari może mieć 8 kanałów dźwiękowych. Pomyślałem, że im przygrzało i wróciłem do domu. Rozmowa ta jednak nie dawała mi spokoju i zacząłem kombinować czy to w ogóle jest możliwe, doszedłem do wniosku, iż byłoby to możliwe jednak zanim przystąpiłem do działań praktycznych dotarł do mnie "Mega Magazine #2" i ku mojej uciesze została w nim opisana przeróbka, która umożliwiała uzyskanie owych 8 kanałów (4 lewe i 4 prawe, czyli STEREO!).

A teraz niestety dość duża porcja teorii...

Jak wiecie "małe" Atari posiada specjalizowany układ scalony nazwany POKEY (Potentiometr-Keyboard Integrated Circuit), który obsługuje potencjometry, klawiaturę, port szeregowy oraz 4 niezależne generatory dźwięku.

Popatrzmy teraz na tabelkę:

    -Konfiguracja pamięci: -----------
    :$0000-$BFFF - RAM               :
    :$C000-$CFFF - RAM/ROM           :
    :$D000-$D7FF - rejestry sprzętowe:
    :$D800-$FFFF - RAM/ROM           :
    ----------------------------------

Co oznacza tajemniczy termin "rejestry sprzętowe". Otóż w tym obszarze mają swoje rejestry wszystkie specjalizowane układy scalone naszego ATARI (ANTIC, GTIA, PIA, POKEY).

Przyjrzyjmy się temu dokładniej:

    ---------------------------------
    :$d000-$d0ff - GTIA             :
    :$d100-$d1ff - "nowe" urządzenia:
    :$d200-$d2ff - POKEY            :
    :$d300-$d3ff - PIA              :
    :$d400-$d4ff - ANTIC            :
    :$d500-$d5ff - Cartridge slot   :
    :$d600-$d6ff - do wykorzystania :
    :$d700-$d7ff - do wykorzystania :
    ---------------------------------

Jak widać projektanci systemu założyli, że każdy układ będzie miał do dyspozycji 256 bajtów. Prawdopodobnie dlatego, aby uprościć dekoder adresów... Jednak żaden z układów nie ma 256 rejestrów. Jeżeli układ ma 32 rejestry (np. GTIA), to posiada on 5-bitową szynę adresową. Pozostałe piny szyny adresowej nie są do niego podłączone (są więc ignorowane). No i co? Przez takie podłączenie układu do magistrali w jego przestrzeni adresowej występują "powtórzenia" rejestrów, np. wpisanie $80 do $d000 jest równoznaczne z wpisaniem $80 do $d020! Jeżeli nie jest to jasne, postaram się to opisać na przykładzie:

Jeżeli istnieje jakiekolwiek żądanie dostępu do adresu $d000-$d0ff, to na odpowiedniej nóżce dekodera adresu pojawi się jedynka logiczna, która dotrze do nożki CS (Chip Select) układu GTIA, w tym samym momencie dociera do układu sygnał R/W (Read/Write), który go informuje o tym czy następuje zapis czy odczyt, również w tym samym momencie na magistrali adresowej jest informacja o adresie, do którego odwoływał się procesor, ale skoro do układu jest podłączone tylko 5 najmłodszych bitów, to nie ważne jaki będzie stan bitów: a5, a6 i a7. Logicznie rozumujący Czytelnik powinien zauważyć, że obszary:

    $d020-$d03f, $d040-$d05f, $d060-$d07f,
    $d080-$d09f, $d0a0-$d0bf, $d0c0-$d0df,
    $d0e0-$d0ff;

to po prostu kopie obszaru $d000-$d01f. A oto stan magistrali adresowej przy dostępie do komórki $d003:

    [a15 do a00] 11010000xxx00011
                 \  $d0 /\|/\$03/
                          |
                          bity ignorowane

Jeżeli ktoś tego nadal nie rozumie, to ja nie potrafię tego lepiej wytłumaczyć. Jeżeli ktoś już szykuje bombę, aby mi ją podesłać za to, iż piszę o jakichś rejestrach sprzętowych i innych smutach zamiast o stereo, to spieszę z wyjaśnieniem, że te informacje były potrzebne po to, aby zrozumieć zasadę działania STEREO w 8-bitowym ATARI.

Jak już chyba wszyscy wiedzą nasz biedny POKEY "znajduje się" w obszarze: [b]$d200 - $d2ff[/b], lecz ma on tylko 16 rejestrów. A jaki z tego wniosek? A taki, że obszary: $d210-$d21f, $d220-$d22f, $d230-$d23f, itd. do $d2ff; to po prostu kopie obszaru: $d200-$d20f.

Ten fakt postanowił wykorzystać pewien mądry człowiek (Chuck Steinman) i wymyślił, aby pod obszar $d210-$d21f podłączyć drugiego POKEY-a! Tak! Pod adresami: $d200-$d20f znajduje się nasz stary POKEY, natomiast pod adresami: $d210-$d21f znajduje się drugi POKEY, aby wykonać ten "upgrade" należy mieć drugiego POKEY-a i parę innych bajerów.

Jakie to bajery będą potrzebne napiszę następnym razem, o ile wyrazicie zainteresowanie tym tematem... Na razie podam tylko, że POKEY ma symbol: CO12294 (lepszy) lub C2294 i kosztuje około 200-300 tysięcy zł. Uwaga! Nie kupujcie tego układu w firmie TOMS ani KARIN, ponieważ chcą oni za niego aż 400 tysięcy, a moim skromnym zdaniem to już przesada! Szukajcie tego układu u ludzi, którzy siedzą na różnych giełdach i prowadzą serwis "małego" Atari. Powodzenia!!!

Jeżeli zainteresował was ten temat, to piszcie na adres "Barymaga"!

Niszczył swą klawiaturę: Seban