sobota, 8 maja 2021

TTGO VGA32 - mała rzecz, a cieszy ;)

 


Dziś będzie jak urządzenia małego można wyczarować stary komputer typu ZX Spectrum czy C64. Bazuje ta płytka na mikrokontrolerze ESP32, który jest także używany mini konsoli Odroid GO

Użyłem projektu ZX-ESPectrum-Wiimote w gałęzi lilygo-ttgo-vga32 . Najprościej jest pobrać ten kod jako plik zip i go rozpakować na swoim komputerze. 


Następnie instalujemy narzędzie Visual Studio Code, które gorąco polecam. Działa ono na wielu platformach (Windows, Linux MacOSX) oraz posiada przeogromną bazę pluginów!

 Po uruchomieniu VSCode wybieramy w menu Extensions wtyczkę o nazwie PlatformIO i ją instalujemy. 


Po restarcie VSCode powinniśmy mieć ją już zainstalowaną i gotową do użycia. W celu sprawdzenia najlepiej będzie podłączyć urządzenie TTGO VGA32 do naszego komputera i w zakładce PIO Home powinno być ono widoczne.



Zapamiętajmy ten port - COM4 (w moim przypadku), będzie on potrzebny do skonfigurowania pobranego wcześniej projektu, który rozpakowaliśmy. 

Otwieramy folder z naszym projektem i następnie edytujemy plik platformio.ini, tak aby wcześniej ustalony port COM przypisać poprawnie (upload_port = COM4)



Następnie przechodzimy do naszego rozszerzenia PlatformIO (ikonka zaznaczona na żółto) i wybieramy opcję załadowania systemu plików do naszego urządzenia.


Jak wszystko przebiegło poprawnie, to nie powinno być żadnych błędów i w oknie terminala powinno pojawić się coś podobnego do poniższego: 


Pozostaje wgrać nam jeszcze oprogramowanie do TTGO VGA32 - w tym celu z menu PlatformIO wybieramy opcję Build, a następnie Upload.




Po podłączeniu klawiatury i monitora oraz słuchawek powinniśmy mieć już ekran powitalny z domyślną grą Snake. Menu do wyboru ROM czy gry jest pod klawiszem F1, a zatwierdzamy wybór klawiszem enter z numerycznej klawiatury.



Domyślną grę czy ROM możemy zmienić w pliku boot.cfg 


Dodatkowe gry możemy umieszczać w folderze data\sna - pliki muszą być SNA lub  Z80 : 


Każda zmiana w systemie plików wymaga powtórzenia operacji dot. wgrania jego na urządzenia - czyli z menu PlatformIO wybranie opcji Upload Filesystem Image.

Istnieje możliwość wybrania opcji, aby program zaczytywał ROMy oraz gry z karty microSD - w tym celu należy zmienić opcję w pliku include\hardconfig.h z USE_INT_FLASH na USE_SD_CARD - tylko jedna z nich zadziała.


Całość tak wygląda : 



dla zainteresowanych polecam kanał Youtube z instrukcją krok-po-kroku - po hiszpańsku, ale z napisamy angielskimi : https://www.youtube.com/watch?v=GXHBrQVTfBw&ab_channel=Davidprograma

Na tym urządzeniu TTGO VGA32 można emulować inne komputery - np. 
czy zrobić replikę komputera IMSAI 8080 - sławnego z filmy Gry Wojenne !


Istnieją także inne implementacje emulatora ZX Spectrum na TTGO VGA32 - np ta wspiera ładowanie/zapis programów w formacie TAP : 


To na tyle - możliwości jest naprawdę wiele i każdy coś dla siebie znajdzie ;)


Pozdrawiam
Paweł