Prečo sú FPGA úžasné pre emuláciu retro hier


Používanie FPGA na replikáciu klasických videoherných systémov je praxou, ktorá už niekoľko rokov naberá na sile, ale ako sa tieto projekty líšia od štandardnej emulácie softvéru? A stojí za to vysoká cena pre väčšinu používateľov?

Čo znamená FPGA?

FPGA je skratka pre pole programovateľné hradlové pole, typ integrovaného obvodu, ktorý je možné po výrobe prekonfigurovať. Na rozdiel od tradičného počítačového čipu využívajú FPGA programovateľné logické bloky a prepojenia, ktoré možno prekonfigurovať tak, aby vyhovovali rôznym účelom.

V podstate môže byť FPGA preprogramovaný tak, aby fungoval ako akýkoľvek typ digitálneho obvodu. Dá sa to robiť znova a znova jednoducho načítaním novej konfigurácie do pamäte RAM na emuláciu iného typu čipu. Zatiaľ čo staršie FPGA používali schémy obvodov, nové používajú namiesto toho textové programovanie na opis správania.

Tieto čipy majú širokú škálu rôznych použití, najmä pri akcelerácii AI a strojovom učení. Spoločnosť Microsoft uzavrela partnerstvo s Intelom na vylepšenie vyhľadávania Bing pomocou Intel Arria rodiny FPGA. Používajú sa v systémoch na spracovanie signálu a obrazu a majú jedinečnú úlohu pri pomoci dizajnérom overiť koncepty v počiatočných fázach vývoja.

Keďže FPGA môžu byť preprogramované tak, aby sa znova a znova správali ako rôzne typy obvodov, sú tiež ideálne pre emuláciu hardvéru videohier. Namiesto spustenia emulátora v softvéri FPGA efektívne emulujú rôzne systémy videohier na hardvérovej úrovni.

Ako funguje emulácia systému FPGA?

Emulácia FPGA vyžaduje, aby niekto napísal „jadro“ pre hardvér, ktorý reprodukuje správanie pôvodného hardvéru. Tento proces často zahŕňa reverzné inžinierstvo pôvodného hardvéru a dokonca aj „odviečkovanie“, kde sa odstráni ochranný kryt na integrovanom rozdeľovači tepla, aby sa odhalila matrica vo vnútri.

To umožňuje vizuálnu kontrolu integrovaného obvodu na pomoc pri výrobe funkčného jadra FPGA. Tento jemný proces zahŕňa použitie chemikálií, ako je kyselina sírová a acetón, teplo, respirátory a veľa trpezlivosti. Potom sa urobia referenčné obrázky a jadrá sa zapíšu v jazyku popisu hardvéru (HDL), ktorý môže byť interpretovaný pomocou FPGA.

Proces učenia sa, reverzného inžinierstva a písania jadra FPGA môže trvať mesiace a veľa oddanosti. Je pôsobivé, že mnohé z týchto jadier sú potom sprístupnené zadarmo v záujme zachovania hardvéru. Jadrá sú zvyčajne vydávané v beta stave, aby sa dali vylepšiť a vývoj mohol trvať roky.

Napriek emulácii pôvodného hardvéru je emulácia FPGA stále náchylná na chyby, rovnako ako emulácia softvéru. Jadrá sa pravidelne aktualizujú, pretože sa implementujú ďalšie opravy a zmeny v snahe o dokonalú emuláciu hardvéru.

Aké výhody má FPGA?

Hardvérová emulácia FPGA je najbližšie k hraniu na originálnom systéme, takže poskytuje autentický zážitok. To môže zahŕňať zvláštnosti, ktoré boli prítomné na pôvodnom hardvéri, za predpokladu, že jadro poskytuje repliku originálu v pomere 1:1. Problémy, ako je latencia, ktorá sa môže vyskytnúť pri softvérových emulátoroch, sú vyriešené, pretože emulácia prebieha na oveľa nižšej (hardvérovej) úrovni.

Originálny hardvér môže byť nespoľahlivý, najmä keď starne. Reprodukcia spôsobu, akým sa pôvodné obvody správajú pomocou FPGA, je prostriedkom na zachovanie pôvodného hardvéru a možno ho nasadzovať znova a znova. Keď sú tieto projekty vytvorené ako open source, každý z nich môže mať úžitok za predpokladu, že vlastní potrebný hardvér FPGA.

Pre väčšinu ľudí je praktickejšie vlastniť jeden kus hardvéru, ktorý je možné preprogramovať za chodu. Originálny hardvér môže byť drahý, zaberá miesto a v prípade zriedkavých počítačov a arkádových dosiek môže byť ťažké ho nájsť. Tento hardvér nie je stále mladší a keďže výroba bola ukončená už dávno, môže byť ťažké ho opraviť alebo vymeniť.

Keďže systém je emulovaný na hardvérovej úrovni, systémy by mali byť schopné prepojiť sa s takmer akýmkoľvek hardvérom navrhnutým pre túto platformu. Patria sem originálne kazety, periférne zariadenia a príslušenstvo, s ktorými sa pri zápise jadra nemuselo počítať.

Toto sa líši od softvérových emulátorov, ktoré musia brať do úvahy rôzne zariadenia, ktoré chce operátor použiť (napríklad svetelnú zbraň).

MiSTer: FPGA hardvérová emulácia pre domácnosť

MiSTer FPGA je open-source FPGA projekt určený na emuláciu a ochranu konzol, domácich počítačov a arkádových automatov. Je to najúspešnejší projekt svojho druhu so stovkami dostupných jadier a v aktívnom vývoji.

Jediným „povinným“ komponentom na spustenie MiSTer FPGA je DE10-Nano, malé zariadenie podobné Raspberry Pi, ktoré obsahuje systém Cyclone V na čipe. Dosku je možné rozšíriť o ďalšiu RAM, USB rozbočovač a rozšírenia vstupu/výstupu, ktoré pridávajú funkcie ako VGA výstup, SCART výstup alebo JAMMA výstup pre arkádové skrinky.

Na začiatok budete potrebovať DE10-Nano, puzdro a chladenie. Pre pokročilejšiu emuláciu je potrebné rozšírenie RAM. Nastavenie MiSTer FPGA môžete rozšíriť tak, aby vyhovovalo zamýšľanému účelu, pomocou doplnkových modulov od predajcov, ako sú MiSTer Addons alebo Ultimate MiSTer. Potom budete musieť na SD karte nastaviť najnovšiu verziu MiSTer.

Tento proces je zložitejší ako používanie „tradičných“ emulátorov, ale stále vyžaduje dátové súbory a ROM rovnako ako softvérový emulátor. Ak ste nadšenec, ktorý chce zážitok porovnateľný s originálnym hardvérom, MiSTer neprekoná. Pre ostatných je to veľa nákladov na dosiahnutie niečoho, čo sa dá urobiť zadarmo prostredníctvom emulácie softvéru.

Analógové vrecko: FPGA hardvérová emulácia na cestách

Analogue Pocket je viacsystémový prenosný vreckový počítač, ktorý využíva emuláciu FPGA na prepojenie s originálnymi kazetami Game Boy, Game Boy Color a Game Boy Advance. Existujú aj prídavné adaptéry kaziet pre systémy Game Gear, Neo Geo Pocket, Atari Lynx a TurboGrafx-16.

Systém podporuje moderné vylepšenia, ako je schopnosť pozastaviť hranie uspaním konzoly. Pocket má krásny displej, ktorý obnovuje vlastnosti, ako sú obrazce mriežky pixelov a efekty podsvietenia LCD. Dá sa tiež pripojiť k doku (predáva sa samostatne) a prehrávať na TV cez HDMI.

Za 219,99 dolárov je to krásny vreckový počítač, ktorý osloví každého so zdravou zbierkou originálnych kaziet. Neexistuje žiadna možnosť načítať ROM zo softvéru, ale Analogue Pocket je kompatibilný s akýmkoľvek flashcart, ktorý pracuje s originálnym hardvérom.

Nevýhody FPGA pre retro hry

Najväčšou nevýhodou používania FPGA na hranie retro hier je cena. Moderné softvérové emulátory fungujú na takmer akomkoľvek zariadení, od starých počítačov po smartfóny. Väčšina z nich je zadarmo a mnohé z nich sú plne open-source projekty. Niektoré prešli desaťročiami vývoja a sú vysoko konfigurovateľné.

MiSTer FPGA a Analogue Pocket sú drahé koníčky. Najmä projekt MiSTer by mohol ľahko stáť viac ako 500 dolárov s dostatkom doplnkov, a hoci je to skvelá hodnota v porovnaní s jednou arkádovou doskou alebo vzácnym domácim počítačom, je to ťažký predaj pre každého, kto nehľadá pixel- dokonalá emulácia.

Problémom je aj dostupnosť. V čase písania tohto článku vo februári 2022 je DE-10 Nano všade vypredaný a Analogue má ročný zoznam čakateľov na ďalšiu várku konzol Pocket. Veci sa zhoršujú globálnym nedostatkom polovodičov a skalpermi, ktorí účtujú premrštené ceny na webových stránkach predajcov.

Softvérová emulácia a moderný hardvér pokročili na úroveň, kedy si mnohí príležitostní hráči nevšimnú rozdiel medzi softvérovým emulátorom a originálnym hardvérom. Projekty FPGA ako MiSTer a Pocket sú zamerané priamo na nadšencov. Cena a dostupnosť by sa mali časom zlepšovať, takže budúcnosť emulácie na hardvérovej úrovni FPGA je veľmi svetlá.

Iné spôsoby emulácie klasiky

V súčasnosti existujú lacnejšie a jednoduchšie spôsoby, ako sa dostať do emulácie. Je veľká šanca, že zariadenie, ktoré používate na čítanie, môže spustiť multisystémový emulátor, ako je RetroArch.

Jedným z najlepších domácich emulátorov v súčasnosti je Xbox Series S (alebo Series X), ktorý možno nájsť relatívne ľahko a použiť ho na spustenie obrovského množstva jadier RetroArch. Ak hľadáte niečo vreckové, pozrite si najnovšie prenosné emulátory so systémom Linux a Android.