FPGA versus emulatie: wat is voor jou de beste manier om retro games te spelen?

Retrogaming is de afgelopen jaren enorm populair geworden, waarbij gamers teruggrijpen naar de klassieke games van vroeger. Bij het spelen van retrogames zijn er verschillende benaderingen mogelijk, waaronder FPGA versus Emulatie. In dit artikel zullen we de voordelen en nadelen van FPGA’s en emulatie vergelijken, met een specifieke focus op de nauwkeurigheid, latency en algemene speelervaring.

Nauwkeurigheid

FPGA’s (Field-Programmable Gate Arrays) hebben het voordeel dat ze hardwarematige replicaties kunnen bieden van de originele gaminghardware. Ze kunnen de interne logica van een specifieke console of computer nauwkeurig nabootsen, waardoor een authentieke speelervaring wordt gecreëerd. Emulatie daarentegen is gebaseerd op software en vereist dat de originele hardware-instructies worden geïnterpreteerd. Dit kan leiden tot kleine onnauwkeurigheden of compatibiliteitsproblemen, hoewel emulatoren vaak zeer goed worden ontwikkeld en bijgewerkt.

Latency

Latency, oftewel vertraging, is een belangrijke factor bij het spelen van retrogames, vooral bij genres zoals platformers en actiespellen waar precisie en snelle reactietijden essentieel zijn. FPGA’s hebben het voordeel van directe hardwarematige implementatie, wat resulteert in minimale vertraging tussen het indrukken van een knop en de weergave op het scherm. Emulatie kan daarentegen enige extra verwerkingstijd vereisen, waardoor een lichte vertraging kan ontstaan. Hoewel moderne emulatoren vaak goede prestaties leveren, kan er nog steeds een kleine merkbare vertraging optreden in vergelijking met FPGA’s.

FPGA versus Emulatie

De algehele speelervaring is een belangrijke overweging bij het kiezen tussen FPGA’s en emulatie. FPGA’s kunnen een meer authentieke ervaring bieden, omdat ze de originele hardware nauwkeurig nabootsen, inclusief de unieke geluids- en grafische kenmerken. Dit kan aantrekkelijk zijn voor puristen en liefhebbers van retrogames. Emulatie daarentegen biedt vaak extra functies, zoals save states, grafische filters en verbeterde resoluties, waardoor spelers meer flexibiliteit hebben en de games kunnen aanpassen aan hun voorkeuren.

Conclusie

Zowel FPGA’s als emulatie hebben hun eigen voordelen en nadelen als het gaat om retrogaming. FPGA’s bieden een hoge nauwkeurigheid en minimale vertraging, waardoor ze ideaal zijn voor spelers die een authentieke ervaring willen. Emulatie daarentegen biedt meer flexibiliteit en extra functies, maar kan soms kleine onnauwkeurigheden en vertragingen bevatten. Uiteindelijk hangt de keuze tussen FPGA’s en emulatie af van de wensen van de gebruiker. Ik beleef zelf het meeste plezier aan de MiSTer FPGA en heb daardoor minder behoefte om de originele hardware in goede staat te houden. Daarentegen heb ik ook veel plezier beleefd aan emulators. Bijvoorbeeld Dolphin VR die originele games kon omzetten in VR games.

Retro spelcomputer op MiSTer

Het idee om naast computers ook spelcomputers op de FPGA te implementeren kwam na het uitbrengen van de MiST FPGA-computer. De Intel Cyclone III FPGA bleek niet alleen geschikt om een Atari of Amiga op te gebruiken, maar ook een klein aantal klassieke spelcomputers. Zo verscheen er na veel werk een core van de NES (Nintendo Entertainment System) en een Sega Master System core. Dit trok een veel groter publiek dan de kleine groep Amiga fans. Helaas was een simpele 8-bit computer het maximale wat de Cyclone III FPGA kon verwerken. 

Alexey Melnikov is het MiSTer-project gestart dat de Terasic DE10-Nano als basis gebruikte. Dit ontwikkelbord gebruikt de veel grotere en modernere Cyclone V FPGA. De grote FPGA zorgt voor veel meer mogelijkheden. Wat eerst voor onmogelijk werd gehouden zoals een Core van de Sega Mega CD of Neo Geo AES is nu al mogelijk en wat nu nog onmogelijk lijkt is vol in ontwikkeling in de vorm van de Sony PlayStation en een Sega Saturn core. Het maximale lijkt dus nog niet bereikt. Wil je de ontwikkelaars een steuntje in de rug geven, neem dan een kijkje op de Patreon overzichtspagina. 

Wat eerst voor onmogelijk werd gehouden, zoals een Core voor de Sega Mega CD of Neo Geo AES, is nu al mogelijk en wat nu nog onmogelijk lijkt is vol al in ontwikkeling! Denk aan een Sony PlayStation en een Sega Saturn core.

De spelcomputer cores trekken een enorm groot publiek en op het moment zijn er zelfs tekorten van DE10 vanwege de grote verkooptoename. Veel mensen verwachten dezelfde prestaties als een emulatie zoals die op bijvoorbeeld een pc of Raspberry Pi, tot ze de MiSTer een keer zelf hebben uitgeprobeerd. Het grote verschil zit in de ide Veel mensen steunen de ontwikkelaars ook. Dankzij deze mensen hebben hebben sommige zich zelfs kunnen permitteren om te stoppen met hun vaste baan. Zij richten zich volledig op het ontwikkelen van cores. Het is een positieve ontwikkeling 

Overzicht huidige Spelcomputer Cores 

  • Astrocade
  • Atari 2600
  • Atari 5200
  • Atari Lynx
  • AY-3-8500
  • ColecoVision, SG-1000
  • Gameboy, Gameboy Color
  • Gameboy Advance
  • Genesis/Megadrive
  • SMS, Game Gear
  • MegaCD
  • NeoGeo
  • NES
  • Odyssey2
  • SNES
  • TurboGrafx 16 / PC Engine
  • Vectrex

Retro Computers

De eerste stappen om een FPGA te gebruiken voor het recreëren van een oude computer werden pas recent gezet. In januari 2005 kwam de Nederlandse elektrotechnisch ingenieur Dennis van Weeren met het voorstel om een Amiga 500 op een FPGA te implementeren. De Minimig of Mini Amiga werd razend populair onder liefhebbers. Het project heeft anderen weer geïnspireerd en uit de Minimig zijn weer andere open source projecten voortgevloeid. Een belangrijk project is de MiST FPGA-computer. De MiST is ontworpen rondom de Intel Cyclone III FPGA en oorspronkelijk bedoeld om klassieke 16bit-computers zoals de Amiga en Atari ST op te implementeren. Om het MiST project ontstond een vrij actieve community waar een deel veel meer systemen voor de FPGA hebben ontwikkeld dan oorspronkelijk voor mogelijk leek. Verschillende zogenoemde cores, zoals een NES (Nintendo Entertainment System), Apple+ II en Commodore 64 trokken nog een grote publiek. Helaas liep de Cyclone III tegen zijn limiet. Veel meer dan deze 8- en 16bit-systemen passen niet in deze FPGA, er was een grotere FPGA nodig.

Voor een originele 80486, MSX, Amiga, Atari ST of Amstrad moet je diep in de buidel tasten. Een alternatief zonder concessies is de FPGA waarop het systeem volledig geïmplementeerd kan worden.

De Intel Altera Cyclone III FPGA Development Kit kostte vijftien jaar geleden 1.200 dollar. Het was dan ook voor vele niet interessant om dit bordje als basis te gebruiken voor de MiST FPGA-computer en waarschijnlijk is er toen om die reden voor gekozen een eigen ontwerp te maken. Intel heeft er de afgelopen jaren flink om ingezet om de techniek naar meer mensen te brengen en ook betaalbaar te maken. Dat heeft zich uitgemond in de Terasic DE10-Nano Development Kit. Op dit ontwikkelbord vind je de Cyclone V FPGA met een veel grotere capaciteit dan de Cyclone III. Het mooiste is het prijskaartje van ongeveer 110 euro. Voor deze prijs was het bord wel te gebruiken als basis voor een nieuw, veel groter project. Alexey Melnikov is het MiSTer-project gestart dat de Terasic DE10-Nano als basis gebruikt. De veel grotere FPGA maakt veel meer mogelijk, zo is er zelfs een hele 80486-pc te implementeren op de Nano. Verder zijn er cores van spelcomputer te vinden zoals een Sega Mega CD, GameBoy Advance en NeoGeo AES.

De PC cores die op dit moment voor MiSTer te krijgen zijn

  • Acorn Archimedes
  • Acorn Atom
  • Alice MC10
  • Altair 8800
  • Amiga
  • Amstrad CPC 6128
  • Amstrad PCW
  • ao486 (PC 486)
  • Apogee
  • Apple I
  • Apple II+
  • Apple Macintosh Plus
  • Aquarius
  • Atari 800XL
  • Atari ST/STe
  • BBC Micro B,Master
  • BK0011M
  • Color Computer 2, Dragon 32
  • Commodore 16, Plus/4
  • Commodore 64, Ultimax
  • Commodore PET
  • Commodore VIC-20
  • DEC PDP-1
  • EDSAC
  • Galaksija
  • Jupiter Ace
  • Laser 310
  • MSX
  • MultiComp
  • Orao
  • Oric 1 & Atmos
  • SAM Coupe
  • Sharp MZ Series
  • Sinclair QL
  • Specialist/MX
  • TI-99/4A
  • TRS-80 Model 1
  • TSConf
  • Vector 06C
  • X68000
  • ZX Spectrum
  • ZX Spectrum Next
  • ZX81

Het is inmiddels een flinke lijst met computers waar bijna dagelijks nog verbeteringen aan worden toegevoegd en zelfs hele nieuwe cores bij komen. De ontwikkelaars van deze cores steken er al hun vrije tijd in. Wil jij ze een handje helpen, dan kun je een kijkje nemen in het overzicht Support via Patreon. Wil je aan de slag met MiSTer neem dan kijkje in het overzicht met webshops die de juiste onderdelen aanbieden.

DOS op de ao486 core

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris bibendum massa vel laoreet blandit. Curabitur a risus tincidunt, mollis felis vel, pharetra risus. Nam laoreet odio quis justo auctor, id placerat turpis tristique. Nulla a erat at massa lacinia sollicitudin sed et neque. Vivamus iaculis nunc at faucibus eleifend.
Mihi quidem Antiochum, quem audis, satis belle videris attendere. Ampulla enim sit necne sit, quis non iure optimo irrideatur, si laboret? Quam ob rem tandem, inquit, non satisfacit?

Sed fermentum ex est, quis fringilla dolor efficitur non. Curabitur quis risus et nulla dignissim vulputate nec sed turpis. In hac habitasse platea dictumst.
– Higher Place –

Nulla facilisi. Cras odio orci, venenatis eu nunc vel, molestie sagittis velit. Praesent lacus enim, tincidunt eu laoreet a, auctor in felis. Ut iaculis sapien metus, sit amet aliquam massa fermentum id. Vestibulum malesuada ante et tempus venenatis. Curabitur egestas tristique sapien, fringilla cursus nunc ornare vel.

Lorem ipsum dolor sit amet

  • Aenean accumsan augue sed nibh bibendum feugiat.
  • Donec viverra sem libero, at sagittis lacus scelerisque et.
  • Aenean nec luctus sapien.
  • Mauris bibendum ante quis justo dapibus.

Consectetur adipiscing elit. Mauris bibendum massa vel laoreet blandit. Curabitur a risus tincidunt, mollis felis vel, pharetra risus. Nam laoreet odio quis justo auctor, id placerat turpis tristique.

 

Vivamus posuere dui erat, sed pharetra risus mattis vel. Nunc dictum turpis et sem aliquet, iaculis porta purus laoreet. Nam varius consequat sodales.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris bibendum massa vel laoreet blandit. Curabitur a risus tincidunt, mollis felis vel, pharetra risus. Nam laoreet odio quis justo auctor, id placerat turpis tristique. Nulla a erat at massa lacinia sollicitudin sed et neque. Vivamus iaculis nunc at faucibus eleifend. Nam vel erat dapibus, pulvinar felis at, tempor metus. In leo odio, pulvinar at ipsum a, euismod blandit arcu. Vestibulum tincidunt ultricies est id congue.

Wat heb je nodig voor MiSTer

Om aan de slag te gaan met het MiSTer-platform, zijn er een paar dingen die nodig zijn. Optionele add-ons zijn ook beschikbaar, maar voor de absolute minimumconfiguratie heeft u de volgende items nodig

DE10-Nano Board met meegeleverde voeding en SD-kaart. (vereist)
USB OTG-connector of OTG USB-hub (vereist)
USB-toetsenbord (vereist)
HDMI-monitor en HDMI-kabel (vereist) Koeling (aanbevolen)
Netwerkverbinding (aanbevolen voor eerste installatie en updates)
Micro SD-kaartlezer (vereist voor eerste installatie)

DE10-Nano-bord

Het hart en de motor van het hele platform is het Terasic DE10-Nano-ontwikkelbord, gemaakt in Taiwan.
Je kunt het bordje kopen: rechtstreeks bij Terasic Inc.

Of bij grote elektronicaleveranciers zoals:
Mouser
Digikey

Een voeding en 8GB MicroSD-kaart worden bij de set meegeleverd.

De SD-kaart kan worden geformatteerd en gebruikt worden met MiSTer. Elke MicroSD-kaart van 2 GB en groter zou voldoende moeten zijn. Snelheidsklasse heeft geen invloed op de werking.

USB-aansluiting

De meeste niet-aangedreven standaard USB-hubs zullen werken. Hoewel het wordt aanbevolen om een USB OTG-hub met voeding te gebruiken, zullen ook andere hubs met beperkte aansluitingen werken. Als je niet te veel USB-randapparatuur aansluit, kan het prima werken met een toetsenbord, muis en gamepad. Houd er rekening mee dat de USB-aansluiting niet erg stevig is Wees dus voorzichtig met het koppelen van een usb-hub.

USB-optie 1

Micro USB OTG-kabel + standaard USB 2.0-hub.
Een standaard USB 2.0-hub, of een met externe voeding, zou een goed idee zijn om zowel de betrouwbaarheidsproblemen van OTG-aansluitingen te elimineren als om externe apparaten van stroom te voorzien. Sommige goedkope exemplaren op eBay / AliExpress kunnen worden aangemerkt als USB 2.0 met volledige snelheid, maar werken in feite in de USB-modus met lage snelheid. Ze zijn misschien acceptabel voor het toetsenbord, maar u kunt ze beter vermijden.

USB-optie 2

USB OTG-hub.
Deze hubs zijn ontworpen om rechtstreeks op de micro-USB OTG-poort te worden aangesloten en vereisen minder verbindingskabels. Dergelijke hubs zijn ook beschikbaar op eBay / Aliexpress.

USB-optie 3

USB-hub MiSTer-ontwerp.
Je kunt dit bord met 7 USB-poorten onder het MiSTer-systeem monteren.

Koeling

De hybride ARM + FPGA-chip blijkt heet te worden, zelfs wanneer deze niet wordt gebruikt, daarom wordt enige passieve koeling aanbevolen.

De belangrijkste warmteproducent in de chip is de geïntegreerde dual-core ARM-processor die een constante warmte produceert, ongeacht of de FPGA-kern wordt gebruikt of niet.

De Cyclone V FPGA-chip op het DE10-Nano-bord is van industriële kwaliteit en ondersteunt tot 100 ° C, maar voor gegarandeerd langdurig gebruik zonder de eigenschappen ervan te verslechteren, is het ten zeerste aan te raden om ten minste een koelelement toe te voegen. Deze chip is ongeveer 21,5 mm x 21,5 mm.

Ideale afmetingen van een koelelement zijn 22 mm x 22 mm zodat het de gehele FPGA afdekt. Veel voorkomende koelelementen met afmetingen variërend van 20 mm x 20 mm tot 25 mm x 25 mm kunnen worden gebruikt, maar voor grotere koelelementen komen in contact met de componenten om de chip heen. De hoogte van het koelelement mag niet meer zijn dan 10 mm zijn als een I / O-kaart wordt gebruikt. Dit omdat deze de onderdelen op de onderkant van de I / O-kaart kan aanraken en kortsluiting kan veroorzaken.

Active cooling

Sommige grote cores zoals ao486 en Minimig zijn gevoelig voor FPGA-chiptemperatuur en worden onstabiel als het te heet wordt. Dus actieve koeling, naast passieve koeling, wordt aanbevolen voor stabiliteit. Als u een I / O-kaart bouwt of koopt, zijn deze ontworpen voor een ventilator van 40 mm x 40 mm. Op de geassembleerde I / O-kaarten moet al een ventilator zijn geïnstalleerd. Als je geen I / O-kaarten gebruikt, ben je vrij om een ventilator te kiezen, maar houd er rekening mee dat je alleen de 5V-lijn van de Terasic DE10-Nano-kaart moet gebruiken om een 5V-ventilator aan te sturen. (De 9V-lijn van de DE10-Nano is opzettelijk verborgen achter de MiSTer I / O-kaart om te voorkomen dat deze per ongeluk wordt kortgesloten naar andere signalen.) Je kunt ook een grotere 12V-ventilator overwegen, deze zou moeten werken, maar langzamer draaien en toch een goede luchtstroom. (Houd er rekening mee dat populaire Noctua-fans mogelijk niet draaien als ze te weinig worden belast). Een grote selectie aan ventilatoren is te vinden op de meeste sites voor elektronische componenten, zoals Digikey, Mouser en vele anderen.