Naszła mnie chęć żeby wbudować Goteka i kilka dodatków związanych z nim i z flopem do środka ST, ale bez modyfikacji samego Atari oraz Goteka.
Mam ładne STE i chcę je zostawić w stanie oryginalnym, niemodyfikowanym w miarę możliwości, ale jednocześnie chcę dołożyć funkcjonalności:-)
Zakres rzeczy, które chcę osiągnąć:
1. Gotek wbudowany wewnątrz Atari
2. Pozostawiony oryginalny flop
3. Oba napędy podłączone jednocześnie z możliwością przełączania ich kolejności AB/BA
4. Emulacja dźwięku flopa podczas pracy Goteka
5. Wygodne sterowanie całością za pomocą małego kontrolera (pilota) podłączanego na zewnątrz jednym kabelkiem
Istotne cechy projektu:
1. Całość podłączana bez potrzeby modyfikacji Atari i Goteka
2. Podłączenie gotowego urządzenia w Atari absolutnie bez lutowania -podpinamy tylko złączki i przykręcamy śrubki w istniejące mocowania
3. Na zewnątrz mamy tylko jeden kabelek połączony z małym kontrolerem (pilotem) z którego obsługujemy całość
Na ten moment zbudowałem już całość swojego rozwiązania jako prototyp na płytce stykowej "na pająka", uruchomiłem i wszystko działa zgodnie z oczekiwaniami.
Poniżej opis elementów.
DWA NAPĘDY NA JEDNEJ TAŚMIE
W ST wszystkie sygnały do napędów A i B są połączone wprost równolegle, za wyjątkiem jednego tylko sygnału. Zatem nie ma żadnego problemu żeby podłączyć Goteka i flopa na jednej taśmie wewnątrz.
Trzeba tylko zadbać o odpowiednie podłączenie sygnału SEL do obu napędów. Na linii 10 do jednego napędu musi iść sygnał D0SEL. We wszystkich ST jest ten sygnał na pinie 10 złącza w taśmie. Natomiast do drugiego napędu trzeba ten sygnał odciąć, a w jego miejsce podłączyć sygnał D1SEL. W STE jest on na linii 12 w taśmie, więc wystarczy ten jeden kabelek 12 podpiąć do 10 pinu w drugim napędzie i już. Natomiast w ST(FM) linia 12 jest zostawiona pusta, więc trzeba tam sobie ten sygnał doprowadzić na płycie, albo wziąć z płyty i doprowadzić bezpośrednio do flopa.
PRZEŁĄCZNIK KOLEJNOŚCI NAPĘDÓW AB/BA
Zamiana napędów miejscami jest możliwa w prosty sposób. Wystarczy zamienić sygnał D0SEL z D1SEL. Rozwiązania dostępne w sieci proponują zamianę tych sygnałów przy układzie Yamaha, z którego one wychodzą. Takie rozwiązanie jest kompleksowe i zamienia nam odpowiednio sygnały i na taśmie wewnętrznej i na gnieździe zewnętrznego flopa. W naszym przypadku jednak zakładam, że oba napędy będą podłączone na jednej taśmie, więc sprawę możemy znacznie uprościć i sygnały D0SEL i D1SEL zamieniać bezpośrednio na taśmie, na której mamy podpięte nasze napędy. W pierwszej kolejności przetestowałem fizyczne zamienienie ich miejscami i wszystko działa poprawnie.
Poszedłem dalej w rozbudowie układu przełączania. Najprostsze rozwiązanie zakłada zastosowanie przełącznika krzyżowego zamieniającego sygnały. Ma ono jednak swoje wady. Po pierwsze trzeba do przełącznika ciągnąć aż 4 kabelki, trzeba stosować przełącznik narzuconego typu dwusekcyjny, co ogranicza ich wybór, w naszym przypadku kabelki były by dość długie, bo przełącznik ma być w zewnętrznym pilocie, więc nie jest zgodne ze sztuką ciągnięcie tak daleko w tę i z powrotem sygnałów, całość była by podatna na zakłócenia i uszkodzenia. Dlatego postanowiłem zastosować układ z multiplekserem. Wcześniej zrobiłem już podobny projekt konstruując własny bootselector do Amigi 500 (opis na ppa.pl), wobec tego uznałem, że tutaj zastosuję to samo sprawdzone rozwiązanie. W rozwiązaniu przełączania elektronicznego multiplekser zamienia sygnały bezpośrednio przy taśmie, a tylko jeden kabelek potrzebny do jego sterowania możemy pociągnąć dowolnie daleko bez najmniejszych obaw o powyższe wady rozwiązania "fizycznego".
EMULACJA DŹWIĘKU FDD
Jakiś czas temu zaprojektowałem własny układ emulujący dźwięk FDD. Jest to układ z odwracaniem fazy, wzmacniaczem i filtrem. Wykorzystuję sygnał STEP z taśmy FDD. Sygnał jest odwrócony w fazie (stan aktywny linii STEP to stan niski), silnie wzmocniony w celu przesterowania (żeby uzyskać efekty stukania) i przefiltrowany (dobrałem doświadczalnie parametry filtru górnoprzepustowego tak, żeby dźwięk był możliwie jednolity dla różnych częstotliwości wynikających z ruchu głowicy). Dodatkowo w Atari ST jest tak, że przy odczycie z jednego napędu kręcą się silniki w obu napędach. Daje to fajny efekt dźwiękowy, ponieważ przy odczycie danych z Goteka słyszymy kręcenie się silnika prawdziwego flopa i jednocześnie pykanie i pikanie emulatora dźwięku głowicy pochodzącego z sygnału STEP.
GOTEK I FIRMWARE
W Goteku w Atari ST stosuję najnowsze oprogramowanie FlashFloppy. Jest to darmowe oprogramowanie opensource, które na obecną chwilę jest silnie rozwijane i stanowi bardzo dobrą alternatywę dla oprogramowania płatnego. FlashFloppy obsługuje odczyt i zapis plików obrazów dyskietek .st oraz szereg bardzo wygodnych modów hardware'owych, które postanowiłem wykorzystać w moim projekcie. I tak z Goteka wyrzucamy obudowę, a bierzemy tylko płytkę PCB. Płytkę zamontujemy wewnątrz Atari, a resztę peryferiów przeniesiemy do naszego pilota. Do pilota trafia wyświetlacz OLED (zastosowany zamiast wyświetlacza numerycznego), enkoder obrotowy z przyciskiem wyboru (zamiast przycisków standardowych Goteka), gniazdo USB do podłączenia pendriva. Tu dopiszę, że w pilocie znajdzie się również przełącznik kolejności napędów AB/BA i to wszystko. Wyświetlacz OLED pozwala na wyświetlanie pełnych nazw plików obrazów dyskietek, a FlashFloppy pozwala na pracę w trybie bezkonfiguracyjnym, który to daje nam możliwość prostej obsługi całości bez dodatkowego oprogramowania: na ekranie za pomocą enkodera obrotowego poruszamy się po katalogach i plikach na pendrivie wybierając i montując wybrany obraz dyskietki lub go odmontowując, które to czynności Atari widzi jako wkładanie i wyciąganie dyskietek. Prościej się nie da.
Postęp prac.
Na tą chwilę wrzucam kilka obrazków - materiałów z postępu prac:
- zdjęcia z przymiarek, pokazujące gdzie w Atari znajdzie się płytka mojego urządzenia oraz Gotek
- schemat mojego multipleksowanego przełącznika kolejności AB/BA
- schemat mojego emulatora dźwięku FDD
- zdjęcie testów połączenia "na pająka" dwóch napędów na jednej taśmie (przepraszam za zasilacz Amigi w tle: zapomnbiałem go wyrzucić:-))
Obecnie dopieszczam projekty płytek PCB, które są już w zasadzie gotowe. W weekend zamierzam je zamówić, więc jak będą w wersji ostatecznej, to też wrzucę wzory jak to będzie wyglądało. Po otrzymaniu gotowych płytek, zmontowaniu całości i przetestowaniu, wrzucę też zdjęcia gotowego rozwiązania i zamierzam udostępnić gerbery lub też cały projekt w Eagle dla chętnych osób.
Aha, gabarytowo i montażowo całość dopasowuję do serii STE i ST(FM). Technicznie całość będzie działać poprawnie również w innych modelach Atari, ale oczywiście wymaga jakiegoś zamontowania fizycznie.