POKEY stereo

Krótko:

bez schematu i płytki drukowanej
elementy są nalutowywane na istniejące oraz łączone przewodami

Przeróbka umożliwia uzyskanie dźwięku stereofonicznego na Atari XL/XE.

 

Opis:

Autorem przeróbki jest Chuck Steinman.
Opisana tu przeróbka została własnoręcznie wykonana przez autora tego opracowania. Działa prawidłowo (w wersji bez potencjometrów).

Przeróbka zwiększa możliwości 8-bitowego Atari dodając drugi kanał dźwiękowy (za sprawą drugiego układu POKEY), co w rezultacie pozwala na wydawanie dźwięku stereofonicznego. Do tego jednak wymagane jest specjalne oprogramowanie (jest obecnie trochę programów grających w stereo - głównie dem i odtwarzaczy muzyki). Dotychczasowe (monoficzne) programy będą generowały dźwięk tylko na lewym kanale. Na wyjściu stereo nie będzie także słychać kliku klawiatury, ponieważ nie pochodzi on z POKEYa. Jednak w dalszym ciągu będzie można korzystać ze starego wyjścia monofonicznego.

Potrzebne elementy:

Czynności:

  1. Odgiąć wszystkie nóżki poza 7 i 14 układu 74LS14 i odciąć cienkie odcinki
  2. Nalutować układ 74LS14 na dotychczasowy układ 74LS14 na płycie głównej (lub na inny jeśli bardziej odpowiada), zwracając uwagę na polaryzację - tak aby nóżka 7 była zwarta z nóżką 7 dolnego układu, a także nóżka 14 z odpowiadającą jej nóżką 14 poniżej.
  3. Przylutować mały przewodzik z nóżki 1 układu 74LS14 do nóżki 13 mikroprocesora (czyli dużego układu oznaczonego C014806)
  4. Przy obecnym układzie POKEY jest rezystor 3k (R74 w Atari 65XE) łączący nóżkę 31 z zasilaniem +5V (VCC). Ten rezystor należy wylutować i usunąć.
  5. Zewrzeć na stałe nóżki 2 i 3 układu 74LS14 (np. przylutować kawałek drucika), a następnie te nóżki połączyć krótkim przewodem z nóżką 31 starego układu POKEY. Można wykorzystać w tym celu (właściwy!) otwór w płycie głównej po wylutowanym dopiero co rezystorze.
  6. Przerwa na siku ;)
  7. Odgiąć następujące nóżki nowego układu POKEY: 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 i 29. Odciąć ich cienkie odcinki.
  8. Ocynować pozostałe nóżki nowego układu POKEY: 1, 2, 3, 4, 5, 6, 7, 17, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39 i 40.
  9. Odgiąć do góry następujące nóżki nowego układu POKEY: 10, 31 i 37. Nie obcinać ich cienkich części.
  10. Położyć nowy POKEY na starym układzie w tą samą stronę i przylutować niezagięte nóżki nowego układu do odpowiednich nóżek starego POKEYa.
  11. Przylutować rezystor 1kOhm między nóżkę 37 a zasilanie +5V (VCC). Dobrym miejscem na znalezienie VCC będzie drugi pozostały otwór po wylutowanym wcześniej rezystorze 3kOhm.
  12. Krótkim przewodem połączyć nóżkę 31 nowego układu POKEY z nóżką 4 (nie 6 jak było w jednym opisie) układu inwertera 74LS14.
  13. Zamontować gniazda chinch (lub minijack) w obudowie, najlepiej na tylnym panelu, w miarę możliwości blisko układów POKEY.
  14. Przylutować kondensatory do każdego z kanałów gniazd wyjściowych (do środkowych bolców gniazd cinch). Masy obu kanałów połączyć ze sobą (dotyczy tylko gniazd cinch).
  15. OPCJONALNIE (jeśli chcemy mieć możliwość regulacji poziomów): połączyć lewe nóżki potencjometrów do masy krótkim przewodem. Połączyć wolne końcówki kondensatorów przy gniazdach ze środkowymi nóżkami potencjometrów (jeden kondensator do jednego potencjometru i drugi do drugiego).
  16. Krótkie przewody audio połączyć z jednej strony ekranem z masą gniazd. Z tej samej strony przewodu połączyć żyły sygnałowe z wolnymi końcówkami kondensatorów lub - jeśli wykonano opcjonalny krok 15 - z wolnymi nóżkami potencjometrów.
  17. Połączyć żyły sygnałowe na drugim końcu przewodu audio z nóżką 37 na starym układzie POKEY oraz z nóżką 37 na nowym układzie POKEY. Stary układ będzie związany z kanałem lewym, natomiast nowy - z prawym.
  18. Ekran kabla audio podłączyć do masy.
  19. Jeśli wykonano krok 15 - centrujemy potencjometry, aby w trakcie testów ustawić im odpowiednie wartości. Warto je również przymocować (np. klejem) by nie latały swobodnie wewnątrz obudowy.

Zrobione! Aby sprawdzić jak to brzmi, można uruchomić np. OUTRO z dema NUMEN lub samo demo (jeśli mamy 320KB RAM). Jeśli tego nie mamy, można zaopatrzyć się w program MegaPlayer i trochę plików muzycznych do niego (ale uwaga - nie wszystkie kompozycje są stereofoniczne).

 


Fot. Drugi układ POKEY nalutowany na pierwotny w urządzeniu XEbox.
Nie widać tego wyraźnie, ale część nóżek jest przylutowana do dolnych,
natomiast pozostałe są odgięte na zewnątrz.

 

Rejestry układu POKEY:

To krótka notka dla programistów, aby wiedzieli jak wygenerować dźwięk stereo na drugim układzie POKEY. Wszystkie rejestry z oryginalnego POKEYa są w nowym POKEYu pod adresem o 16 bajtów wyższym. Dodatkowe możliwości drugiego układu POKEY takie jak skanowanie klawiatury, UART czy przetworniki A/C mogą być użyte do innych zadań, gdyż nie są wykorzystane.

adres nazwa R/W funkcja
$D200 AUDF1 W częstotliwość kanału #1 (podział F/n)
$D201 AUDC1 W sterowanie kanałem #1 (siła/zniekształcenia)
$D202 AUDF2 W częstotliwość kanału #2 (podział F/n)
$D203 AUDC2 W sterowanie kanałem #2 (siła/zniekształcenia)
$D204 AUDF3 W częstotliwość kanału #3 (podział F/n)
$D205 AUDC3 W sterowanie kanałem #3 (siła/zniekształcenia)
$D206 AUDF4 W częstotliwość kanału #4 (podział F/n)
$D207 AUDC4 W sterowanie kanałem #4 (siła/zniekształcenia)
$D208 AUDCT1 W sterowanie dźwiękiem kanałów 1-4
$D20F SKCTL1 W sterowanie łączem szeregowym
$D210 AUDF5 W częstotliwość kanału #5 (podział F/n)
$D211 AUDC5 W sterowanie kanałem #5 (siła/zniekształcenia)
$D212 AUDF6 W częstotliwość kanału #6 (podział F/n)
$D213 AUDC6 W sterowanie kanałem #6 (siła/zniekształcenia)
$D214 AUDF7 W częstotliwość kanału #7 (podział F/n)
$D215 AUDC7 W sterowanie kanałem #7 (siła/zniekształcenia)
$D216 AUDF8 W częstotliwość kanału #8 (podział F/n)
$D217 AUDC8 W sterowanie kanałem #8 (siła/zniekształcenia)
$D218 AUDCT2 W sterowanie dźwiękiem kanałów 5-8
$D21F SKCTL2 W sterowanie łączem szeregowym

Rejestr częstotliwości dla każdego kanału audio jest wartością 8-bitową, która jest podzielnikiem częstotliwości pierwotnej.

Rejestr sterujący każdego kanału audio steruje siłą głosu i zniekształceniami dźwięku każdego kanału. Oto jego bity:

76543210
----vvvv
Bity sterowania wzmocnieniem.

Przedział wartości: 0000 (cisza) do 1111 (najgłośniej)

---s---- Bit wyciszenia. Bezpośrednio steruje wyjściem:

0 - wyjście dźwięku wyłączone (cisza)
1 - wyjście dźwięku włączone

ddd----- Kod zniekształcenia:

000 - pseudoszum 5-bit/17-bit
001 - pseudoszum 5-bit
010 - pseudoszum 5-bit/4-bit
011 - pseudoszum 5-bit
100 - pseudoszum 17-bit
101 - czysty ton
110 - pseudoszum 4-bit
111 - czysty ton

Rejestr AUDCTn steruje wszystkimi kanałami. Ma wiele funkcji:

bit-7 Przetwarza sygnał 17-bit w licznik 9-bit
bit-6 Ustawia zegar kanału 1 na 1.79 MHz (taktowanie CPU)
bit-5 Ustawia zegar kanału 3 na 1.79 MHz (taktowanie CPU)
Bit-4 Łączy kanał 1 i 2 w rozdzielczość 16 bitów
Bit-3 Łączy kanał 3 i 4 w rozdzielczość 16 bitów
Bit-2 Włącza filtr w kanał 1, taktowany kanałem 2
Bit-1 Włącza filtr w kanał 2, taktowany kanałem 4
Bit-0 Przełącza zegar podstawowy z 64kHz na 15kHz

Rejestr SKCTLn steruje różnymi funkcjami układu POKEY i musi być jedynie zainicjowany wartością 3 aby wszystkie 4 kanału POKEYa były aktywne.

 

Wykrywanie modyfikacji stereo:

Aby wykryć, czy przeróbka jest zainstalowana, należy sprawdzić 8 dodatkowych rejestrów potencjometrów, które będą miały wartość 0 (zero). Dodatkowo, rejestr kodu klawisza także powinien wskazywać zero. Jeżeli porównamy kod klawisza z adresu $D209 i z $D219, i okaże się, że ten z $D219 jest zerowy, znaczy to, że przeróbka jest zainstalowana. Dla bezpieczeństwa można zamaskować przerwania (IRQ) podczas testu.

POWRÓT

x e b o x . a t a r i . o r g