SONari

From Atariki

Revision as of 20:08, 20 sty 2023; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

Grafika:Sonari_play.jpg

Rozszerzenie możliwości dźwiękowych ośmiobitowego Atari autorstwa Toriego o znany z ZX Spectrum lub Atari ST układ PSG.

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

Personal tools