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"!