ZX-UNO – co, jak i na jakiej zasadzie. Czyli super hiper Turbo ULA ZX Spectrum.

Aloha!

Ostatnio nabyłem jak do tej pory najbardziej nietypową maszynę do grania/emulacji. ZX-UNO. Coś na bazie FPGA – Field-programmable gate array.

W czym rzecz, z czym to się je? Nie popełnię chyba gafy, jeżeli napiszę, że to emulator 'bare metal’, czyli emulacja bezpośrednio na rdzeniach FPGA, bez pośrednictwa innego systemu operacyjnego. Bo, czego by nie mówić, na przykład RetroPie jest instalowane na Raspberry Pi OS. Czyli gdzieś tam w tle jest pewien 'opóźniacz’, który pośredniczy w emulacji. W przypadku ZX-UNO nie ma o tym mowy. Ja akurat nie jestem purystą i na tyle, na ile gram na emulatorach – lag (czyli opóźnienie w reakcji na interakcję użytkownika) nie przeszkadza mi, albo go po prostu nie odczuwam.

Do ZX-UNO przekonało mnie na tę chwilę jednak co innego – ZX Spectrum i jego demoscena. Chciałem poza tym spróbować czegoś nowego. Uruchomienie go zajęło mi chwilę głównie z powodu mojego lenistwa oraz obaw przed spaleniem – nie wiedziałem dokładnie jaki nabyć zasilacz. Okazało się, że niepotrzebnie się martwiłem, ponieważ pasuje jakikolwiek, byle napięcie było około 5V i końcówka odpowiednia. Polaryzacją nie ma się co przejmować, płyta ZX-UNO V2 jest wyposażona w zabezpieczenie uniemożliwiające spalenie go w wypadku 'odwróconej’ wtyczki. 

Sam sprzęt wygląda jak na zdjęciach poniżej, ja kupiłem go wraz z prostą obudową oraz kablem Audio-Video. Co ważne – klawiatura musi być w standardzie PS/2, obraz mamy po VGA, dźwięk po jack’u stereo. Joysticki w standardzie Kempston (czyli standardowy dla Atari i Commodore DE-9). 

Oprogramowanie musi znaleźć się na karcie SD, ważne aby był tam ESXDOS – http://www.esxdos.org/index.html oraz pliki dla danej platformy.

Pierwsze uruchomienie wykazało, że jako domyślny został wybrany core Commodore 64. Ale działa!

Dużo ciekawych opcji kryje się w konfiguracji (wywoływanej klawiszem F2 przy starcie ZX-UNO) – testowanie pamięci, dźwięku, opcje uruchamiania, wybór zainstalowanych modułów 'Core’, kolejność startowania, typy sprzętów, itp., itd.

Poniżej, na zakładce ROMs, wybieramy typ ZX Spectrum jaki ma się nam uruchomić – Pentagon 128? Proszę bardzo. ZX Spectrum +2? Bez problemu.

Tu możemy zaktualizować ESXDOS, BIOS ZX-UNO oraz nasze 'core’.

Jaki system ma wystartować wybieramy na zakładce Boot.

Układ klawiatury, typ Joysticka czy ustawienia wyjścia Video na zakładce Advanced.

Przy starcie ESC Please select boot machine:

W przypadku ZX Spectrum (jak na mój stan wiedzy i jak to rozumiem) automatycznie emulowany jest najlepszy możliwie sprzęt, jeżeli jest włączony w parametrach (New G. modes włączyłem) – czyli ZX Spectrum 128K z interfejsem Turbosound oraz układem ULAPlus.

Po uruchomieniu wystarczy wybrać Ctrl+Alt+F5 i mamy możliwość przeglądania plików na karcie SD. Można się zabrać do spijania śmietanki!

Demo Mescaline synesthesia

Demo Aeon

Demo Ahh. The tape loading era!

Demo Your song is quiet, pt2

W samym ZX-UNO fajne jest to, że wspiera wszelkie nowe pomysły realizowane na ZX-Spectrum. ULA Plus powoduje delikatny opad szczęki.

Można też na przykład sprawdzić najnowsze demo z Revision 2021 chwilę po publikacji 🙂

Nie mówiąc już o ostatnich grach wydanych na ZX Spectrum:

2 komentarze do “ZX-UNO – co, jak i na jakiej zasadzie. Czyli super hiper Turbo ULA ZX Spectrum.”

  1. Emulacja bare metal i odtwarzanie starych systemów w FPGA to dwie zupełnie różne rzeczy. Z tym pierwszym mamy do czynienia wtedy, gdy ktoś napisze emulator w taki sposób, byt uruchamiał się bezpośrednio po starcie komputera – zamiast systemu operacyjnego. Wtedy wszystkie operacje są wykonywane bezpośrednio na sprzęcie, bez pośrednictwa jądra systemu, co pozwala na zmniejszenie opóźnień wprowadzanych przez jądro systemu i łatwiejsze spełnienie zależności czasowych.

    FPGA to jednak coś innego. Taki układ jest programowalnym zbiorem SPRZĘTOWYCH bloków logicznych, które można konfigurować i łączyć ze sobą w różnych konfiguracjach, w oparciu o dostarczony kod. Dzięki temu w takim układzie można odtwarzać rozmaite układy logiczne – od prostych konstrukcji z kilku bramek na całych komputerach skończywszy. Mamy więc do czynieni z tworzoną tymczasowo reprezentacją hardware’u w krzemie, a nie w postaci programu komputerowego uruchomionego na procesorze. FPGA bliższa jest fizycznej replice komputera z układów scalonych i pozwala na uzyskanie znacznie większej kompatybilności.

    Odpowiedz
    • Bardzo dziękuję za komentarz! Sprostuję to co napisałem, nie jestem w tym temacie specjalistą. Mam nadzieję, że JESZCZE nie jestem 😉

      Odpowiedz

Dodaj komentarz