MIST

Už delší dobu jsem chtěl nějaké malé zařízení, které by zastoupilo moje retropočítače a mohl bych ho brát s sebou na různé akce, aniž by zabralo hodně místa. Jako první se nabízí Raspberry Pi s emulátory. Emulace na něm sice funguje, ale zajímalo mě, jestli to jde i jinak. Na ST fóru atari-forum.com jsem sledoval vývoj FPGA stroje MIST, který vzniknul jako náhrada Amigy a Atari ST, podle kterých má i název. Docela se mi zalíbil a tak jsem si jej nadělil loni k narozeninám.

Hardwarové vybavení

MIST je založen na FPGA čipu Altera Cyclone III. Kromě něj disponuje DRAM pamětí 32MB a jednočipem ARM, který obsluhuje periferie. Zařízení má 2 klasické D-sub 9 konektory (Canon) pro joysticky a 4 USB porty, na které lze připojit klávesnici, myš, případně HID herní ovladače. Data MIST bere z SD karty.

AV vybavení je celkem standardní. Stereo audio výstup je na 3,5mm jacku. Pro připojení monitoru nebo TV se používá analogový výstup s 15pinovým D-sub konektorem. Ten může být nakonfigurován více způsoby, buď jako VGA, RGB 15kHz nebo dokonce jako YUV, záleží na tom, co které jádro podporuje.

MIST je vybaven sériovou linkou, která je ovšem v nejnovější verzi vyvedena na MIDI rozhraní, které se nejvíce využije s jádrem Atari ST. Navíc některá jádra podporují Serial/USB převodníky s čipem Prolific.

Emulace vs reimplementace

MIST se dokáže chovat jako různé stroje: počítače, herní konzole nebo dokonce herní automaty. Aby MIST nastartoval jako některý z nich, musí se mu stanovit tzv. "konfigurace". Konfigurace jsou dostupné jako binární soubory a říká se jim "core" nebo česky "jádro". V těchto souborech je popsáno, jak se má FPGA čip nakonfigurovat. Nejedná se tedy o klasický emulátor, ale vlastně o reimplementaci na úrovni logických jednotek uvnitř čipu. Reimplementace může být samozřejmě různě přesná. Jádra jsou k dispozici v různém stavu rozpracovanosti od takových, co jsou na začátku a moc toho neumí, až po jádra velice kvalitní.

Jádro Atari800 / 5200

MIST byl původně vyvíjen pro provoz Amigy (vychází z projektu Minimig) a Atari ST. Postupně se ale začaly objevovat i další platformy a dnes jich můžeme napočítat skoro 50 v různém stavu vývoje. Jednou z nich je 8bitové Atari. Autorem jádra je Mark Watson, známý také jako foft na fóru AtariAge. Jádro vychází z jeho FPGA projektu EclaireXL. Verze pro MIST ale delší dobu nebyla aktualizována. To se změnilo letos v létě, kdy byla vydána jádra pro většinu podporovaných FPGA strojů. Nicméně některé funkce stále ještě nejsou ve všech dostupné.

V základu se jádro tváří jako Atari XL/XE. Poslední verze nabízí i původní modely Atari 400/800.

Lze použít různé konfigurace RAM. Dostupnou paměť lze navýšit až na 1 MB. K dispozici jsou různé varianty: 130XE, Compy-Shop i Rambo. Kromě velikosti RAM lze i změnit rychlost procesoru, maximum je 16násobek původního počítače. Rychlost vyšší než čtyřnásobek ale nemá moc význam kvůli latenci paměti.

Jádro nyní zobrazuje na RGB i VGA monitorech. Samozřejmostí je i stereo zvuk. Parametry zobrazení lze měnit v menu.

Originální jádro na EclaireXL nabízí v menu konfiguraci v několika profilech. Na MISTu je nyní tato volba také dostupná, ale bohužel zatím nefunguje jejich ukládání. Snad se dočkáme v dalším vydání.

Menu jádra se liší od ostatních jader běžících na MISTu. Používá totiž vlastní, které je stejné pro všechny podporované FPGA stroje. Nelze se tak dostat do základního ovládání MISTu.

Pro provoz jsou potřeba ROM z počítače Atari. Kromě standardního OS jsem zkoušel použít i QMEG 4.4, který, jak se zdá, funguje dobře. Kromě toho jádro počítá i s použitím Turbo Freezeru. Stačí mít na kartě soubor freezer.rom. K jeho aktivaci dojde stisknutím klávesy Scroll Lock.

Jádro umí obsluhovat 4 diskové mechaniky, do kterých se dají připojit obrazy disket XFD a ATR, nebo přímo i spustitelné soubory XEX/EXE, podobně jako například u známého SDrive. Simulace magnetofonu ale chybí.

Kromě programů z disků lze provozovat i cartridge. Podporovaný formát je CAR. Jedná se o upravený binární obsah cartridge, kde na začátku souboru je 16 bytová hlavička, která obsahuje detaily o cartridgi (velikost, způsob bankovaní). Jednoduchý konvertor najdete třeba na webu Atari UltimateCart.

Jako herní ovladače lze použít již zmíněné USB HID gamepady nebo digitální Atari kompatibilní joysticky. Analogové vstupy na konektorech Canon ale nejsou podporovány. Nefungují tak například originální Atari paddle nebo grafický tablet. Nic není ale ztraceno, místo originálního paddle se dají použít různé USB ovladače s analogovými páčkami, případně USB adaptéry, třeba 2600-daptor, do kterých se originální ovladač připojí.

Joystickové porty se současným firmwarem nelze přepnout do režimu výstupu. To znamená, že k MISTu zatím nelze připojit MultiJoy. Nepodařilo se mi také rozběhat 4 ovladače v módu 400/800.

Další varianta jádra se tváří jako konzole Atari 5200. Konzole byla dostupná pouze v Americe v NTSC verzi a v Evropě jich není tolik jako klasických počítačů. Je to tedy kromě emulace na PC další možnost, jak si zahrát originální hry pro Atari 5200.

8bit Atari jádro se jeví jako hodně kvalitní a běží na něm většina programů. Dokonce na něm prošel i test Acid800 od Averyho Lee (autor emulátoru Altirra). Celkově se MIST osvědčil a je fajn ho vozit na různé akce. Navíc možnost provozovat na něm různé platformy kromě Atari je velká přidaná hodnota.

Projekt MIST je dostupný na adrese:
https://github.com/mist-devel/

Jádro pro 8bit Atari najdete na:
http://www.64kib.com/

-JK-