Atari 65 XE – ponownie 'na tapecie'

Atari… Atari 65XE. Mój pierwszy komputer w domu. Pierwsze kontakty z grami, pierwsze programy, poznawanie assemblera, pierwsze próby kodowania, to wtedy dopadła mnie fascynacja sceną komputerową – dema, intra. Wspomnień czar.
Większość opisałem w innym poście: http://cezarowy.blogspot.com/2018/08/a-a-a-ataaaari-wspomnien-czar.html, kilka rzeczy jednak się zmieniło. Po pierwsze – znalazłem na strychu moje dwa zeszyty z opisanymi wszystkim grami, demami, loaderami potrzebnymi do wczytania konkretnych programów. Dla mnie to niesamowita porcja nostalgii, którą tak ostatnio uwielbiam. Wiem, mięczak jestem i sentymentalny facet.

Druga sprawa – SDrive-MAX, czyli emulator magnetofonu/stacji dyskietek oparty o Arduino, podłączany przez port SIO: http://cezarowy.blogspot.com/2019/09/atari-65xe-i-sdrive-max-skadamy.html

Działający magnetofon również się 'uchował', wraz z cartridge z loaderami do gier i kilkunastoma kasetami. Dla niewtajemniczonych – standardowe magnetofony Atari miały zawrotną prędkość ładowania danych wynoszącą 600 bodów, czyli bitów na sekundę. Przypominam, że 1 bajt to 8 bitów, 600 bitów to 75 bajtów. Lepsza gra zajmowała 40kb, łatwo więc policzyć, że czas wgrywania to przynajmniej około 10 minut. A były gry obszerniejsze, aby się załadowały trzeba było czekać 20 minut.

A poza tym, to gry się wtedy liczyło na 'obroty', czyli licznik w magnetofonie. Młodszym zapewne ciężko to sobie wyobrazić, ale żeby znaleźć ulubiony tytuł trzeba było przewinąć kasetę do początku i później do zapisanej w zeszycie wartości licznika, żeby trafić na odpowiedni ciąg taśmy. A że 'się grało', to taśma się zużywała i raz za razem było ją ciężej wgrać. Stąd właśnie słynne 'cicho, bo się nie wgra' – bo czyż mogło być dla dwunastolatka coś bardziej stresującego niż LOAD ERROR po 15 minutach czekania? Lekcje odrobione, wszystko posprzątane, a grać nie można! Dlatego przekonałem rodziców po jakimś czasie do wyłożenia pieniędzy na 'Turbo' – w moim przypadku Blizzard. Ależ to była różnica! Zamiast 10 obrotów – 10! Szok!

Do tego w gotowości czekają joysticki, na 'gumach', albo 'mikrostykach'. Jak ostatnio grałem, bo zastanawiałem się jak moi rodzice mogli wytrzymywać kilkugodzinne czasem granie z tym odgłosem klikania w tle…

Na koniec z ciekawostek kultowy MOD z czasów wojenek Atari-Commodore.

Anty Atari Song – https://www.youtube.com/watch?v=oMkCboYJ-tw

Do pobrania z tej strony https://modarchive.org/index.php?request=view_by_moduleid&query=77143. Z odgrywaniem świetnie radzi sobie foobar2000 z pluginem: https://www.foobar2000.org/components/view/foo_input_zxtune

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 😀

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 😀

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).

mBot – zabawki nie tylko dla dzieci :)

Święta, święta i po świętach.

I jeżeli dzieci już dostały zabawki, a nie chcą się nimi bawić – ojciec ma co robić!

mBot, bo o nim mowa, jest akurat w kręgu naszych zainteresowań. Oparty na Arduino, programowalny, z możliwością kupienia dodatków. Ja akurat kupiłem dla syna wersję Bluetooth. Świetna, ale to kompletnie świetna zabawka.

Poniżej kilka zdjęć już złożonego robota. Samo skręcanie to kilka śrubek, opisywać nie ma sensu. Metalowa baza, dwa silniki, dwa koła, czujnik 'obrazu' (aby robot jeździł po linii, którą mu wyznaczymy) oraz czujnik odległości. Na górze Arduino w ładnej, przezroczystej obudowie. Wszystkie kable, złączki – świetnie opisane, połączenie to przyjemność.

Robota można połączyć z komputerem przez USB, kabel jest w zestawie. Tak najłatwiej zaktualizować oprogramowanie.

Sednem jednak są dwie aplikacje, dostępne ze darmo w AppStore (czy też Play Store). To one pozwalają robota programować, można przejść 'szkolenie' z jego obsługi, korzystać z wielu ciekawych funkcji. Możliwości jest mnóstwo!

Pierwszą z nich jest Makeblock. To zestaw mniejszych aplikacji, które zaznajomią Was z mBotem. Jak widać na pierwszym obrazku, podzielone są na sekcje tematyczne.

Pierwsza to sterowanie. Za pomocą 'jakby' pilota w aplikacji możemy skłonić robota do jazdy, włączenia diód, odtworzenia dźwięku.

Druga – Narysuj i jedź, umożliwia narysowanie robotowi trasy, którą później ma powtórzyć. Widać jak się poci, gdy ręka na drży i kreska nie jest idealnie prosta 🙂

Muzyk – zagraj jak na organkach, albo odtwórz zapisane nuty.

Zdecydowanie najciekawsza jest sekcja Tworzenia

To tutaj możemy pisać nasze 'programy', które w odpowiedni sposób zaprogramują robota.

W aplikacji jest też sekcja aktualizacji firmware robota, jeżeli pojawi się nowa wersja.

Druga aplikacja to mBlock.

Tutaj możemy się zmierzyć z serią zadań, które rozjaśnią nam tajniki sterowania robotem, sprawdzania stanu jego czujników, itp. Wszystko w formie gry, dobrej zabawy. Spotkacie tutaj stosowane również w Domoticz, bloki z funkcjami robota, które możecie dowolnie ustawiać. Mamy tu wszystko: ruch jednym czy też dwoma silnikami, odczyt czujnika odległości, odtwarzanie dźwięków…

Ze strony http://www.mblock.cc/software/mblock/mblock3/ musicie ściągnąć oprogramowanie dla Waszego systemu, jeżeli chcecie połączyć się również z poziomu komputera. Chociaż o niebo wygodniej jest z poziomu tableta/komórki.

Tutaj porada jak sprawdzić i zainstalować najnowsze oprogramowanie dla robota: https://makeblockshop.eu/blogs/known-issues/88952772-first-check-your-firmware-version

W razie problemów z połączeniem po Bluetooth – http://trobot.pl/materialy-dydaktyczne/jak-zbudowac-robota-pobierz-instrukcje/

Reasumując – rewelacyjna zabawka, która wprowadzi zainteresowane dzieci w świat robotów, programowania, sterowania.
Do zestawu dołączony jest pilot, którym również możemy sterować robotem, oraz kartka z wyrysowaną przykładową trasą, którą może podążać robot, dzięki czujnikom zamontowanym w podwoziu.