SONari
From Atariki
Rozszerzenie możliwości dźwiękowych ośmiobitowego Atari o znany z ZX Spectrum lub Atari ST układ PSG, którego autorem jest Tori.
Spis treści |
Charakterystyka
Rozwiązanie bazuje na ogólnodostępnych układach TTL i dostępne jest w postaci cartridge'a.
Wersja zaprezentowana na forum Atari Area przystosowana jest do współpracy z układami AY-3-8910 oraz YM2149.
PSG taktowany jest częstotliwością bazową Atari.
Dźwięk wyprowadzony jest z urządzenia za pomocą pojedynczego gniazda jack 3,5 mm.
Istnieją dwie wersje urządzenia.
Wersja prototypowa
Nie jest dalej nierozwijana. Na płytce mieści się jedno gniazdo na układ AY lub YM.
Mapa pamięci
- $D500 - odczyt: dana z rejestru, zapis: wybór rejestru
- $D501 - odczyt: indeks rejestru, zapis: zapis danej do rejestru
Ponieważ zastosowano niepełny dekoder, dekodowany jest najmłodszy bit adresu.
Wersja oficjalna
Na płytce znajdują się dwa gniazda na układy AY lub YM, przy czym można obsadzić chipami dowolną ilość dostępnych gniazd. Nie ma obowiązku obsadzania układu lewego oraz ewentualnie prawego (w związku z tym zawsze należy pamiętać o detekcji obydwu układów) - w szczególnym przypadku obydwa gniazda mogą być puste, co prowadzi oczywiście do niemożności detekcji SONari.
Do celów detekcji każdy z układów można skonfigurować osobno lutując na płycie jumpery SJ1 dla układu lewego i SJ2 dla prawego.
- SJx w pozycji 'Y' - w gnieździe znajduje się układ YM
- SJx w pozycji 'A' - w gnieździe znajduje się układ AY
Odczyt rejestru IOA (14) układu PSG powinien zwrócić wartość $53 ('S') z najwyższym bitem ustawionym kiedy skonfigurowany jest układ AY (lub skasowanym kiedy skonfigurowany jest YM), natomiast odczyt IOB (15) zwróci zawsze wartość $4E ('N').
Po wymianie układu na inny polecana jest zmiana konfiguracji odpowiedniego jumpera SJ1 lub SJ2.
Dodatkowo obszar w jakim znajdują się rejestry rozszerzenia może być skonfigurowany za pomocą wlutowania jednego z jumperów SJ3..SJ10. Cały obszar adresowy strony $D5 został logicznie podzielony na 8 slotów po 32 rejestry. Każdy jumper odpowiada za dostępność rejestrów urządzenia w odpowiednim obszarze:
- SJ3 - $D500..$D51F
- SJ4 - $D520..$D53F
- SJ5 - $D540..$D55F
- SJ6 - $D560..$D57F
- SJ7 - $D580..$D59F
- SJ8 - $D5A0..$D5BF
- SJ9 - $D5C0..$D5DF
- SJ10 - $D5E0..$D5FF
Jako standard przyjęto ustawienie jumpera SJ6.
Mapa pamięci
- $D5x0 - lewy układ - odczyt: dana z rejestru, zapis: wybór rejestru
- $D5x1 - lewy układ - odczyt: indeks rejestru, zapis: zapis danej do rejestru
- $D5x2 - prawy układ - odczyt: dana z rejestru, zapis: wybór rejestru
- $D5x3 - prawy układ - odczyt: indeks rejestru, zapis: zapis danej do rejestru
Ponieważ zastosowano niepełny dekoder, dekodowane są najmłodsze dwa bity adresu.
Mapowanie kanałów
Obydwie wersje urządzenia mapują kanały PSG do kanałów stereo w standardzie ABC (tzw. "polskie stereo"). Oznacza to że kanały A+B znajdą się na lewym kanale audio, a kanały B+C na prawym.
W analogicznych rozwiązaniach dostępnych na ZX Spectrum często używa również mapowania ACB (tzw. "czeskie stereo"), co oznacza że kanały A+C znajdą się na lewym kanale audio, zaś C+B na prawym.
Niektóre programy pozwalają na zmianę mapowania kanałów np. PSG Player.
Zobacz też
Odnośniki zewnętrzne
- Dyskusja na forum Atari Area
- Płytka PCB + spis elementów projektu by Mq na AArea
- Strona projektu