Podczas pewnej pogawędki na discord zostałem wkręcony w projekt wykonania przełącznika TOS do STe programowalnego z poziomu Atari.
Projekt udało się doprowadzić do końca. Urządzenie jest bardzo kompaktowe, po zamontowaniu, ponad nim do stacji jest prawie 1cm luzu, praktycznie nie wystaje też poza podstawki po eprom z TOS.
Przełącznik posiada 4 sloty po 256kb każdy, aktywny slot jest sygnalizowany za pomocą buzzera w sposób binarny :), czyli 2 tony niskie oznaczają slot0, wysoki i niski slot1, niski i wysoki slot2, 2 wysokie slot3.
Montaż urządzenia polega na wyjęciu kości eprom z TOS i zainstalowaniu w nich TOSSTer'a. Dodatkowo do prawidłowej pracy zaleca się podłączenie przewodu od przycisku RESET (rezystor R100 na mojej płycie). Na przełączniku jest zamontowany golpin pozwalający podłączyć w/w przewód.
Jest możliwa praca urządzenia bez tego przewodu, ale wtedy po włączeniu oraz przełączeniu TOS (jest to możliwe programowo z poziomu Atari) po sygnale z buzzera konieczne będzie naciśnięcie RESET żeby układ prawidłowo się uruchomił.
Podłączenie RESET do TOSSTer'a eliminuje tą niedogodność dodatkowo pozwalając na przełączanie TOS poprzez naciśnięcie i przytrzymanie przycisku RESET dłużej niż około 3s, wtedy buzzer zacznie cyklicznie odliczać kolejne TOS, puszczenie przycisku po usłyszeniu żądanego TOS (numeru slotu) spowoduje restart i uruchomienie Atari z wybranym TOS.
Dodatkowo ostatnio wybrany TOS (slot) zapisywany jest w pamięci flash i przy kolejnym włączeniu Atari jest ładowany.
TOS'y są przechowywane w szeregowej pamięci flash, która służy również do przechowywania konfiguracji układu FPGA (co dodatkowo umożliwia w przyszłości upgrade tej konfiguracji, czyli wgrywanie nowego firmware), podczas włączenia/przełączenia slotu, TOS z szeregowego flash jest ładowany do równoległej pamięci SRAM a następnie ta pamięć jest "podstawiana" do Atari jako TOS ROM i wykonywany jest reset (jeżeli jest przewód to automatycznie, jeżeli go nie ma to należy go wykonać ręcznie).
Oprogramowanie do flashowania slotów i firmware wykonał laoo/ng. Zrobił to w ekspresowym tempie i na dodatek bez fizycznego kontaktu z urządzaniem, tylko na podstawie dokumentacji. Zanim Inpost dowiózł mu paczkę z TOSSTer'em ja już programowałem swój egzemplarz :)
Na PC uruchamiamy TossTosser.exe gdzie jako parametry podajemy obraz TOS (256kb) który chcemy sflashować oraz nazwę pliku wyjściowego. Wygenerowany plik .tos zawiera w sobie flasher oraz obraz TOSu. Po uruchomieniu go na Atari flasher pyta do którego soltu chcemy wgrać nasz obraz. Wyboru dokonujemy cyframi od 1-4 co odpowiada slotom od 0-3. Dodatkowo flasher wyświetla co aktualnie znajduje się w każdym ze slotów.
Obecnie projektuję wersję płytki do ST z 6 podstawkami pod TOS, będzie też ona dostosowywane do pozostałych płyt ST.
Gdyby ktoś był zainteresowany przełącznikiem to proszę o kontakt, uwzględnię to przy kolejnym zamawianiu PCB.
Poniżej wrzucam kilka zdjęć, oprogramowanie TossToser.exe oraz dwa gotowe emutos do przetestowania w językach czeskim i greckim :)
Gorąco polecam. Kawał dobrej inżynierii! Instalacja prosta, jak tylko ktoś potrafi przylutować kabelek (mi to zajęło tylko jeden wieczór ;p), ale MatGuru wspominał coś o możliwej opcji z klipsem, żeby zaczepiać się o ten rezystor bez konieczności lutowania, więc wtedy to całkiem solderless lajcik. Za flaszery odpowiadam ja, więc jakieś uwagi proszę zgłaszać jaki issue na githubie. Na razie kompiluje się na Windowsie, ale przy odrobinie samozaparcia można zrobić wersję na lin/mac trzeba tylko zrobić skrypt dla linkera, bo flaszer ma wbudowany obraz programu dla ST, który na Windowsie jest po prostu jako zasób.
Co do wersji ST pod 6 kości - są płyty w dwóch topologiach, z podstawkami po lewej w dolnym rogu, jedna pod druga i z podstawkami w 2 grupach po 3 pod zasilaczem. Wersja pierwsza umożliwia pracę zarówno z dwiema kośćmi 256KB jak i sześcioma 64KB, druga - tylko 6x64KB. Zakładam, że dopasujesz się do obydwu wariantów.
Części i płytki zamówione, do 2 tygodni powinny przyjść, odezwę się wtedy do wszystkich z pytaniem o dane do wysyłki, ewentualnie mogę zabrać na LostParty jak ktoś będzie.
Pracuję nad wersją płytki do ST, MegaST i MegaSTe, te wersje będą dostępne w czerwcu, też dam znać.
Pytanie laika, proszę nie pastwić się... Czy to ujstrojstewko można bezproblemowo zaimplementować do 520 STe ze starszą wersją płyty, w sensie czy nie ma konieczności interwencji speca od lutownicy?
Oj, nie chce mi się teraz wyciągać i rozkręcać Atarynki, bo każde rozkręcanie to uszczerbek na gwintach w obudowie, hehe. Starsza wersja, czyli taka, w której nie da się bez ingerencji fachowca rozszerzyć pamięci do więcej, niż 1MB, są tylko dwa sloty na pamięć, w tym jeden chyba zdaje się ma na stałe wlutowaną, ale pewności nie mam czy jedna jest wlutowana, czy obie są w podstawkach.
Chłopie, ale marudzisz... Zakładać SIP zrobione z SIMM - nie. Zrobić zdjęcie płyty - nie. Weź się zdecyduj, co tak na prawdę chcesz uzyskać bo to się robi głupie.
Chłopie - prosiłem, żeby się nie pastwić, napisałem, że jestem laikiem. Dla Ciebie może i bułką z masłem jest polutowanie pamięci i dobrze, a dla mnie to jest skomplikowana procedura. Może i teoretycznie wiem jak to zrobić, ale że nie mam dobrej lutownicy i wolę nie grzebać na płycie, żeby jej nie poniszczyć to wolę oddać do przeróbki komuś, kto to zrobi bez takich docinek. Sądziłem, że jako fachowiec od budowy Atari STe będziesz wiedział jak wygląda nieprzerabiana płyta Atari 520 STe z dwoma gniazdami na pamięć RAM. Jak pisałem, nie będę teraz specjalnie wyciągał i rozkręcał komputera, żeby zobaczyć jak wygląda płyta. Nie da się tego ogarnąć bez potrzeby zaglądania do środka to trudno, obejdę się bez tego układu. Nie rozkręcam niepotrzebnie Atari ze względu na to, że dbam o jego stan, więc proszę pastwić się nad kimś innym. Pozdrawiam.
Rzecz w tym, że nie znam wersji płyty z DWOMA gniazdami pamięci. Były wersje pod SIP, potem pod SIMM. Ale wszystkie miały 4 gniazda. Jeśli masz pewność, że masz dwa gniazda - to pokaż, na pewno wszyscy na tym skorzystamy. Jeśli nie masz pewności - tym bardziej należy się upewnić czym dysponujesz bo inaczej sam się możesz władować na minę na własne życzenie - z lenistwa. Rozkręcenie maszyny w umiejętny sposób niczemu nie grozi, nie spowoduje też zniszczenia gwintów. Nie trzeba też wszystkiego rozbierać - pamięci RAM są pod dedykowanym metalowym ekranem na środku płyty a gniazda pod TOS - pod stacją dyskietek.
W sumie to już sam zgłupiałem. Może tam są sloty na 4 kości po 256 kB, później rozkręcę i zobaczę. W każdym bądź razie mi mówiono, że tej płyty bez "przeróbki", cokolwiek miałoby to znaczyć, nie da się rozszerzyć do 4 Mb.
Te moduły w podstawkach spróbowałbym wymienić na moduły 1MB, miałabyś wtedy w sumie 2.5MB. Nie jestem do końca pewien, czy taki config ruszy ale spróbować można. Zwłaszcza jeśli masz obok siebie kogoś, kto może użyczyć takie kostki do testu. Co do kompatybilności mechanicznej z TOSSTerem to możesz być spokojny, zmieści się bo płyta jest taka sama. Jeśli komp ruszy z 2.5MB RAM to nie powinno być żadnych innych problemów.
Mam moduły 1 MB, ponoć 2x1MB + 2x256KB nie będą działać, tak czytałem i tak mi mówiono, ale nie próbowałem w sumie. Znaczy się niby próbowałem, ale nie bardzo mi chciały wyjść te kości ze slotów, a nie chciałem na siłę wyciągać i w końcu dałem sobie na spokój, gdyż nie było zbytniej motywacji, mając na uwadze, że prawdopodobnie i tak by nie zadziałał komputer, a obok jest STe z 4MB. :-D Nic nie stoi na przeszkodzie, żeby zrobić test. A jak wyciągnąć bezproblemowo kości z tych gniazd, gdzie i co tam trzeba odgiąć, czy podhaczyć, żeby nic nie ułamać? ;-)
No tak właśnie zrobiłem, znaczy 1040 STe jest w użytku, a 520 stoi w rezerwie. Ale dzięki, jak mnie najdzie to przetestuję czy odpali z dodanymi 2x1MB.
Wracając do pierwotnego tematu czyli TOStera - kolega MatGuru zgodził ponownie wystąpić na naszym zoomie i opowiedzieć o całym projekcie. Jak tylko ustalimy konkretny termin spotkania, dam tu znać, a data pojawi się również w kalendarzu strony.
Nie wiem o której skończyliście... bo musiałem się zawinąć po 2h ale muszę powiedzieć: WIELKI szacun! Bez wdawania się w technikalia: kawał dobrej roboty a przy okazji niezła dawka informacji i czystego know-how. Panowie, czapki z głów!
Ja też odpadłem wcześnie, bo gdzieś o 23, a było naprawdę fajnie na afterku. Szacunek dla autorów, ale także dla dobrych śmieszków z NG, którzy robili odpowiedni klimat, żeby projekty Atari się rozwijały :)
Wersja STe oraz ST gotowa. Wersja ST była testowana z płytą z układem 6 kości w jednym rzędzie i obłożeniem 2 kostkami. Testowanie pozostałych wersji płyt ST oraz Mega ST/STe mam zaplanowane na weekend, korzystając z zasobów sprzętowych Krolla :) Osoby które chciały tylko wersję STe lub STe i ST z układem kości jw. proszę podesłanie na PW naklejki do paczkomatu lub danych do wysyłki. Cena dla osób które zgłosiły się wcześniej pozostaje 160zł, dla kolejnych 190zł gdyż poprzednią cenę szacowałem a po dokładnych wyliczeniach wyszło trochę drożej ale mam nadzieję że cena jest nadal akceptowalna.
W przypadku ST niestety nie ma możliwości podłączenia ROM 256KB (np TOS 2.6) bez dekodera (zmienia on adresację ROM z ST $FC0000 na STE $E00000). W STE jest inaczej, tam tylko wymieniasz kości na nowe albo wkładasz nowy emulator ROM.