SONari

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 22:11, 24 sty 2019
Mono (Dyskusja | wkład)
(Wersja oficjalna - obsadzanie gniazd)
← Previous diff
Aktualna wersja
Tori (Dyskusja | wkład)

Linia 1: Linia 1:
-Rozszerzenie możliwości dźwiękowych ośmiobitowego Atari o znany z [http://pl.wikipedia.org/wiki/ZX_Spectrum ZX Spectrum] lub [[ST|Atari ST]] układ [https://en.wikipedia.org/wiki/Programmable_sound_generator PSG], którego autorem jest [[Tori]].+{{grafr|Sonari_play.jpg}}
 +Rozszerzenie możliwości dźwiękowych ośmiobitowego Atari autorstwa [[Tori]]ego o znany z [http://pl.wikipedia.org/wiki/ZX_Spectrum ZX Spectrum] lub [[ST|Atari ST]] układ [https://en.wikipedia.org/wiki/Programmable_sound_generator PSG].
== Charakterystyka == == Charakterystyka ==
-Rozwiązanie bazuje na ogólnodostępnych układach TTL i przeznaczone jest do samodzielnego montażu wewnątrz komputera.+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 [http://raven1.magix.net/sonari/Microchip%20AY-3-8910.pdf AY-3-8910] oraz [http://raven1.magix.net/sonari/ym2149.pdf YM2149]. Wersja zaprezentowana na forum Atari Area przystosowana jest do współpracy z układami [http://raven1.magix.net/sonari/Microchip%20AY-3-8910.pdf AY-3-8910] oraz [http://raven1.magix.net/sonari/ym2149.pdf YM2149].
PSG taktowany jest [[NTSC vs PAL|częstotliwością bazową Atari]]. PSG taktowany jest [[NTSC vs PAL|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. Istnieją dwie wersje urządzenia.
Linia 19: Linia 22:
* $D501 - odczyt: indeks rejestru, zapis: zapis danej do rejestru * $D501 - odczyt: indeks rejestru, zapis: zapis danej do rejestru
-Ponieważ zastosowano niepełny dekoder, dekodowane są najmłodsze dwa bity adresu.+Ponieważ zastosowano niepełny dekoder, dekodowany jest najmłodszy bit adresu.
=== Wersja oficjalna === === 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 zawsze układu lewego a dopiero ewentualnie prawego - w szczególnym przypadku obydwa gniazda mogą być puste, co prowadzi oczywiście do niemożności detekcji SONari).+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. 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 rozwarty - w gnieździe znajduje się układ YM+* SJx w pozycji 'Y' - w gnieździe znajduje się układ YM
-* SJx zwarty - w gnieździe znajduje się układ AY+* 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'). 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').
Linia 35: Linia 39:
Dodatkowo obszar w jakim znajdują się rejestry rozszerzenia może być skonfigurowany za pomocą wlutowania jednego z jumperów SJ3..SJ10. 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 umieszczeniu rejestrów urządzenia w odpowiednim obszarze:+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 * SJ3 - $D500..$D51F
Linia 45: Linia 49:
* SJ9 - $D5C0..$D5DF * SJ9 - $D5C0..$D5DF
* SJ10 - $D5E0..$D5FF * SJ10 - $D5E0..$D5FF
 +
 +Jako standard przyjęto ustawienie jumpera SJ6.
==== Mapa pamięci ==== ==== Mapa pamięci ====
Linia 57: Linia 63:
== Mapowanie kanałów == == Mapowanie kanałów ==
-Obydwie wersje urządzenia mapują kanały PSG do kanałów stereo w tzw. standardzie "polskie stereo" czyli ABC. Oznacza to że kanały A+B znajdą się na lewym kanale audio, a kanały B+C na prawym.+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.
-Część rozwiązań dostępnych na ZX Spectrum często używa również tzw. "czeskiego stereo" czyli mapowania ACB, co oznacza że kanały A+C znajdą się na lewym kanale audio, zaś C+B 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]]. Niektóre programy pozwalają na zmianę mapowania kanałów np. [[PSG Player]].
- 
== Zobacz też == == Zobacz też ==
* [[Evie]] * [[Evie]]
 +* [[YAMari]]
 +* [[SAMari]]
 +* [[SIDari]]
 +* [[TIGari]]
 +* [[Slight SID]]
== Odnośniki zewnętrzne == == Odnośniki zewnętrzne ==
* [http://www.atari.org.pl/forum/viewtopic.php?id=13250 Dyskusja] na forum [[Atari Area]] * [http://www.atari.org.pl/forum/viewtopic.php?id=13250 Dyskusja] na forum [[Atari Area]]
* [http://www.atari.org.pl/forum/viewtopic.php?pid=246342#p246342 Płytka PCB + spis elementów projektu] by Mq na AArea * [http://www.atari.org.pl/forum/viewtopic.php?pid=246342#p246342 Płytka PCB + spis elementów projektu] by Mq na AArea
-* [http://raven1.magix.net/sonari/sonari.html Strona projektu]+* [http://atari.myftp.org/atari8bit/sonari/sonari.html Strona projektu]
[[Kategoria:Atari 8-bit]] [[Kategoria:Atari 8-bit]]
[[Kategoria:Rozszerzenia]] [[Kategoria:Rozszerzenia]]

Aktualna wersja

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