START _______________
Atari 8-bit
GAL-MMU
SIO2PC
Atari static RAM
Atari R-Flex
Atari Turbofreezer III
ARC by Pasiu/SSG
Atari Cartridge
Emulator USB Joy
SIDari
YAMari
SONari
SAMari
TIGari
NOMari
I/O Dekoder
CART+ECI expander
Atari Multicart XE
Atari Full S-RAM
Real Safety Gear
|
SAMari
Przyszedł czas na kolejny układ generowania dźwięku. Tym razem wziąłem się za układ SAA1099
, który został zastosowany między innymi w komputerze SAM Coupe. Jest to dosyć interesujący sprzęt, bardzo dobrze zaprojektowany do współpracy z różnorodnymi systemami mikroprocesorowymi.
Oczywistością było więc zastosowa- nie go w kolejnym projekcie dla Atari 8-bit. Tak powstał SAMari. Czwarty już moduł dodający nowe możliwości dźwiękowe dla naszych małych ulubieńców :)
Sam projekt nie jest zbyt skomplikowany. Zastosowałem standardowe układy TTL serii 74F SMD i w dużej części elementy SMD w rozmiarze 0805. Nie powinno to
sprawić kłopotów w montażu dla średnio zaawansowanego hobbysty.
Na poniższych zdjęciach przedstawiam układ prototypowy. Jest to wersja pierwsza.
Wersja ostateczna posiada układ identyfikacji modułu, który zwraca wartość #$F4 (mała litera t w negatywie ATASCII) przy odczycie wartości spod adresu BASE+4.
W projekcie zastosowałem dwa układy SAA1099. Pojedyńczy układ posiada sześć
generatorów dźwiękowych, dwa generatory szumu, sześć mikserów stereo, kontrolery obwiedni, kontrolery amplitudy. Słowem - niezły kawałek sprzętu :) Co jest minusem?
Przede wszystkim brak sprzętowej linii RESET co czasami może być uciążliwe gdy komputer "zawiśnie" w trakcie odgrywania jakichś dźwięków. Generalnie całość jest w stylu PSG takich jak AY-3-8910.DATASHEET SAA1099 Schemat układu:
SCHEMAT w formacie EaglePliki PCB w formacie GERBER/EXCELLON dopasowane do obudowy Z-7Program testujący SAMari - Atari BASIC
Jeszcze słów kilka o samym projekcie. Jak widać - pcb została dopasowana do obudowy Z-7, która nie jest jakimś super rozwiązaniem - ale jest. Nic nie stoi na przesz-
kodzie, aby ktokolwiek zaprojektował swoją pcb na podstawie mojego projektu. Tak jak i w pozostałych moich pomysłach - do podzielenia obszaru $D5XX użyłem
układ 74F138 wraz z DIPswitchem do wyboru jednego z ośmiu bloków adresowych. Reszta bramek ma zapewnić wybór układu w zależności od stanu bitu adresowego A1. Bit A2 został użyty do odczytu danej identyfikacyjnej. Potencjometry montażowe na wyjściu służą do korekty poziomu wyjściowego oraz balansu pomiędzy układami IC1 i IC2. Są to elementy opcjonalne - zamiast nich można
po prostu wlutować zwory. Widoczne na zdjęciu układy SAA1099 zostały zamontowane w podstawkach jedynie w celach testowych. W ostatecznym układzie - IC1 i IC2 należy
wlutować bez użycia podstawek ponieważ nie pozwolą one na domknięcie obudowy. Nie jest konieczne obsadzenie pcb dwoma układami. Wystarczy jeden aby można było
uruchomić sprzęt. Układ IC1 jest obsługiwany od adresu BASE, układ IC2 od BASE+2. Gdzie BASE jest adresem początku jednego z obszarów na stronie $D5XX.
Program testujący powstał wyłącznie w celu oceny sterowania układów i dlatego jakośc generowanych tonów (bez sterowania obwiedniami, itp) może pozostawiać
wiele do życzenia. Są uruchamiane kolejne generatory (0...5) każdego układu wymuszając generowanie dźwięku o oktawę wyższego od poprzednika. Dlatego po
uruchomieniu będą słyszalne coraz wyższe tony. Cykl dla IC1 i IC2 powinien być dokładnie taki sam. Jeszcze raz przypomnę: w układzie należy zamontować układy scalone w wersji 74Fxxx. Kolega z forum
rj1307 stwiedził, że u niego układy 74ACxxx
też dają radę, jednak w razie jakichkolwiek problemów należy zastosować się do moich sugestii.
Nie jest to ostatnie słowo jeśli chodzi o generowanie dźwięku w oparciu o różne i jeszcze dostępne układy generacji dla komputerów :)
Polecam. W razie pytań - zapraszam na forum atari.area - nick tOri Proszę także o uszanowanie mojego autorstwa i nieużywanie projektu w celach
komercyjnych bez zgody. Pomysł udostępniam za darmo dla każdego kto zechce go użyć. Jednocześnie nie mam nic przeciwko udoskonaleniom i przeróbkom pod warunkiem wskazania źródła pochodzenia oryginału.
|