poniedziałek, 30 września 2019

Atari 65XE i SDrive-MAX. Składamy, programujemy, używamy!

Aloha! Z pewnymi tematami schodzi mi dłużej. Coś, co powinno zająć godzinę jakoś magicznie rozkłada się na kwartał. Może nie aż tyle zajęło zrobienie i uruchomienie SDrive-MAX, jednak zdecydowanie zbyt długo. Cóż, życie :D

Czym jest SDrive-MAX? Emulatorem stacji dysków i magnetofonu podłączanym bezpośrednio do Atari opartym na Arduino UNO. Z wyświetlaczem dotykowym! I na kartę SD! Bajer.

Tak, wiem, że jest SIO2SD, ale jak na moje potrzeby (uruchomienie Atari raz na kwartał) jest zbyt drogie. SDrive-MAX kosztował mnie 35 PLN. Częściowo dzięki pomocy fanów Atari (pozdrawiam serdecznie użytkownika falcon030 z AtariOnline.pl, który przesłał mi wydrukowaną wtyczkę SIO) a częściowo przez moją pomyłkę - zamówiłem ekran 2.4 cala zamiast 2.8. Wtedy koszt wzrósłby jednak tylko o 15 PLN, także również tragedii nie ma :)

Pod Windows używałem XLoader, który wszystko mi ładnie zautomatyzował: http://xloader.russemotto.com/.

W trakcie uruchamiania na Linux przyda się nam avrdude, program do wgrywania EEPROM do Arduino: https://www.nongnu.org/avrdude/.

Historia wersji do wgrania do Arduino znajduje się zawsze pod adresem:
https://github.com/kbr-net/sdrive-max/releases/.

Rewelacyjna instrukcja z dokładnym opisem wykonania dostępna jest pod adresem:
https://atari8bit.net/everything-sdrive-max/.

Zaczynamy od Arduino UNO i wyświetlacza LCD z czytnikiem kart SD. Oprogramowanie obsługuje kilka różnych typów wyświetlaczy, najpopularniejszym i polecanym jest ILI9341.





Po nałożeniu na Arduino wygląda jak poniżej.


Wypakowujemy kod znaleziony pod adresem na przykład: https://github.com/kbr-net/sdrive-max/releases/tag/V1.1 i mamy jak poniżej:


Foldery z początkiem atmega328* odpowiadają wersji wyświetlacza, który posiadacie.

Podłączamy Arduino do PC kablem 'drukarkowym', ja jestem Windowsowy, więc opisuję proces na tym systemie.

Ja dla ułatwienia sobie pracy wgrałem wymieniony wcześniej avrdude do odpowiedniego folderu i uruchomiłem dwie instrukcje:

- avrdude -p m328p -b 57600 -P com5 -c arduino -U flash:w:eeprom_writer.hex
- avrdude -p m328p -b 57600 -P com5 -c arduino -U flash:w:SDrive.hex

Aby zadziałały musicie oczywiście zidentyfikować na jakim porcie COM pojawiło się Arduino (możecie to zrobić w Menadżerze urządzeń Windows) i uruchomić je z poziomu folderu z Waszym kodem do LCD. Przy drugim podejściu użyłem wymienionego XLoader i poszło jeszcze łatwiej, bo sam wykrył port COM.




W tym folderze znajduje się również sdrive.atr, który MUSICIE wgrać do folderu głównego karty SD. Co do samej karty - 8GB w zupełności wystarczy, aby pomieścić CAŁE oprogramowanie kiedykolwiek wydane na Atari, takie czasy... Karta musi być sformatowana na FAT32.


Po uruchomieniu Arduino z podłączonym wyświetlaczem mamy możliwość kalibracji LCD.



A tutaj efekt już wgranego kodu. Działa!


Jak widać poniżej na samym dole: zapomniałem wgrać sdrive.atr.


Tu już poprawnie:


Ja robiłem wersję 'minimum' (jednocześnie magnetofonu używał i tak nie będę, stacji dysków nie mam). Połączenie jest opisane na wymienionej stronie https://atari8bit.net/everything-sdrive-max/#making, pozwolę sobie załączyć pięknie rozrysowany sposób połączenia.


Połączona wtyczka wraz z kabelkami wygląda jak poniżej:



Pierwsze uruchomienie było jak zwykle stresujące, ale udało się! WAŻNE, aby w momencie startu przytrzymać klawisz Option w Atari, wtedy zabootuje sdrive. atr.




Co do użytkowania, na stronie Everything SDrive-MAX jest wszystko niesamowicie dokładnie podane, ale pozwolę sobie przytoczyć kilka skrótów klawiszowych, które mogą się Wam przydać na samym Atari:

- strzałki dół/góra - przewijanie listy programów
- +/* - początek/koniec listy na ekranie
- </> - początek/koniec folderu
- Esc - folder nadrzędny
- / - folder główny
- CONTROL + F - wyszukiwanie plików po nazwie
- F - następne wyszukanie według schematu
- 1,2,3,4 - mapowanie kolejnych stacji dysków
- CONTROL + L - długie nazwy plików

Na szybko - trzymamy OPTION i włączamy Atari, gdy zacznie ładować się sdrive.atr (co widać na ekranie LCD - miga zielona dioda przy D0:) możemy puścić OPTION. Po załadowaniu ekran wygląda jak poniżej. Wchodzimy w folder na którym nam zależy, wybieramy grę/demo, dwa razy RETURN aby zamapować wybrany plik do stacji dysków, później znowu trzymamy OPTION (wiele gier na Atari wymaga wyłączenia BASIC w momencie ładowania) i RESET. Zaczyna ładować się gra.


I możemy zagrać w NINJA!



Urządzenie ładuje zarówno obrazy dysków w ATR, jak i format pliowy XEX. Autorzy sugerują zasilanie zewnętrzne, ale u mnie wszystko działa zasilane z portu Atari. Oczywiście Arduino działa wtedy tylko gdy Atari jest włączone :D


Poniżej krótkie wideo, niestety gdy je zobaczyłem doszedłem do wniosku, że nie jestem mistrzem kręcenia filmów... Postaram się nagrać coś lepszego. Jak widać skorzystałem z możliwości wydruku 3D i wydrukowałem gustowną obudowę. Na stronie projektu jest kilka dodatkowych modeli obudowy, które są po prostu piękne.




Z ciekawostek, które wyszły w praniu. 

Format FAT32 nie sortuje automatycznie po nazwie. Z tego to powodu pliki wyświetlają się pod SDrive tak jak zostały wgrane, czyli w sumie losowo. Niezbyt fajnie się wtedy wybiera z folderów, gdzie są dziesiątki tytułów. Ale jest sposób! Ja skorzystałem z DriveSort, kilkadziesiąt kliknięć i miałem całą kartę SD przygotowaną tak jak sobie wymarzyłem.


Reasumując: było warto! Świetny, prosty projekt, który ożywił moje Atari. Dzieciaczki zagrały i w Montezuma's revenge jak i International Karate (czy też World Karate Championship).






2 komentarze: