Alles over de MiSTer FPGA

Alles over de MiSTer FPGA

Inhoudsopgave

  1. Wat kun je met een MiSTer
  2. Waarom gebruik je niet gewoon emulators en een Rpi of PC?
  3. Zelf een MiSTer bouwen
  4. Installatie
  5. Games spelen
  6. Controllers

Wat is een MiSTer FPGA console?

Lang vervlogen tijden, jij als beginnende gamer, een NES en een rennende loodgieter. Misschien geen NES, maar de rennende loodgieter is voor velen de start van hun game carrière. Was het geen Italiaan met een dikke snor? Dan was het vast een blauwe egel. Het punt is dat veel van ons nostalgische gevoelens hebben bij oude spelcomputers en precies weten wie er bedoeld wordt met een loodgieter en een blauwe egel.

Misschien speel je zelfs af en toe nog steeds op een oude console. Maar dat maakt voor dit artikel niet uit. We gaan het namelijk over de MiSTer hebben. De MiSTer is de oplossing om oude games van vroeger spelen. Het is een FPGA opensource hardware emulatie project. FPGA staat voor Field-Programmable Gate Array. Dit mag je gelijk weer vergeten hoor. We willen verder ook niet teveel uitweiden over hoe dit technisch precies allemaal werkt. In Jip en Janneke taal is het eigenlijk het coderen van hardware gedrag. Je kunt dus via code zorgen dat hardware zich op een bepaalde manier gedraagt.


MiSTer FPGA DE-10 NANO board


Nieuwe MiSTer cores

De MiSTEr is nog steeds volop in ontwikkeling. Nieuwe cores blijven komen, en developers zijn volop bezig om het maximale uit het DE-10 Nano board te halen. Naast de standaard 8-bit en 16-bit cores, is er ook nog de 24-bit NeoGeo core beschikbaar. Ook zijn er arcade cores beschikbaar zoals bijv. de Capcom CPS1 en CP2 cores.

MiSTer FPGA Playstation 1 PSX core:

Afgelopen jaar is ook de core voor de Playstation 1 uitgekomen. Hiermee kun je al je Playstation 1 PSX spellen spelen. Hier vind je alle info PSX Core informatie.

Sega Saturn core voor MiSTer FPGA:

De SEGA Saturn core is in ontwikkeling. Er is al een werkende beta core, en sommige games draaien al goed. De SEGA Saturn was in Nederland niet een hele populaire console, maar is een beest op het gebied van 2D games en dus uitermate geschikt voor Shoot-em ups en fighting games. De grote concurrent de PSX overtrof de Saturn met gemak als het gaat om polygonen en dus 3D games. Toch bevat de SEGA Saturn library een aantal goede games, en deze wordt via de MiSTer ineens heel toegankelijk. Mocht je eens een kijkje willen nemen. Hier kun je de core downloaden. SEGA Saturn MiSTer FPGA core

Nintendo 64 core:

Ja je leest het goed, Nintendo 64. Ik overdrijf niet als ik zeg dat het maximale uit het board wordt gehaald. De N64 core is werkend, maar in heel vroeg stadium. De developer FPGAzumSpass (bekijk zijn Twitter account) is hard bezig om de core werkend te krijgen. 64-bit 3D polygonen renderen op een FPGA board zoals de DE-10 Nano leek een paar jaar geleden onmogelijk. Maar nu lijkt het toch werkelijkheid te worden. 

Waar gaan we het verder over hebben?

  • Wat kun je met een MiSTer
  • Verschil met software emulatie
  • Wat heb je nodig om een MiSTer te bouwen
  • Installatie
  • Handige tips

Wat kun je met een MiSTer

Je kunt met een FPGA PCB board (in dit artikel gebruiken we de DE-10) en een stuk software (in dit artikel gebruiken we de MiSTer software) hardware nabootsen. We gaan ons vooral verdiepen in het nabootsen van spelcomputer hardware. In de praktijk houdt dit in dat je oude spelcomputer hardware kunt nabootsen op moderne hardware. Je kunt de meeste 8 & 16-bit spelcomputers nabootsen. Maar ook de Neo-Geo (24-bit). Je kunt ook nog een aantal arcade boards nabootsen en simpele PC’s, zoals bijv. een Amiga of Apple II.

Waarom gebruik je niet gewoon emulators en een Rpi of PC?

Simpel. We willen zo dicht mogelijk bij de originele hardware ervaring in de buurt komen. Een Rpi (Raspberry Pi) met bijv. RetroArch is “slechts” software emulatie. Dit houdt in dat de zogenaamde ROM draait op een stuk software. Maar een spelcomputer is meer dan alleen software. De manier waarop er stroom door een apparaat gaat, hoe snel chips draaien en alle andere gekke quirks die er in de hardware gebeuren zorgen ervoor dat een game zich op een bepaalde manier gedraagt. De games via de MiSTer software hoeven niet geëmuleerd te worden maar kunnen rechtstreeks op de hardware draaien. In de praktijk houdt dit in: Geen lag. Gekke glitches of bugs die veroorzaakt worden door hardware zitten ook in de MiSTer. Je hebt dus 100% exact dezelfde game zoals je hem op een originele console zou spelen. Elke console heeft daarom zijn eigen MiSTer core.

Hier kun je een overzicht vinden van alle console cores die op dit moment ontwikkeld zijn: https://github.com/MiSTer-devel/Main_MiSTer/wiki

MiSTer FPGA cores

Zelf een MiSTer bouwen

Je kunt simpel beginnen. Het enige dat je nodig hebt is een DE-10 Nano board. Dit is de basis van je machine. De DE-10 komt met een stroomadapter en een 8GB Micro-SD card. Meer niet.

SDRAM

Met een standaard board kun je nog niet zo heel veel. Met het standaard board kun je alleen PC-engine en Mega Drive spellen spelen. Voor de andere cores heb je meer SDRAM geheugen nodig. Er zijn 2 smaken die er toe doen, 32mb of 128mb. Met de 32mb kun je bijna alles, maar voor de Neo Geo cores heb je 128mb nodig. Qua prijs zou ik gewoon de 128mb nemen. Je ben dan verzekerd dat alles werkt. Het monteren is simpel, je schuift het reepje SDRAM zo in het geheugenslot. (Let even goed op dat je er hem wel op de juiste manier instopt)

USB add-on

De DE-10 komt standaard met 1 USB aansluiting. Je kunt een USB-hub aansluiten maar dit is wel extra kabels en rommel. De beste oplossing is om een USB add-on PCB aan te schaffen. Deze kun je aan je DE-10 schroeven en je hebt gelijk 6 USB poorten tot je beschikking. Wel zo handig voor het aansluiten van controllers.

Een IO-board

Deze is niet perse nodig, maar wel erg handig. Het IO-board zorgt ervoor dat je een VGA uitgang en optische audio uitgang tot je beschikking krijgt. Standaard heeft de MiSTer alleen een HDMI uitgang. Wil je hem dus aansluiten op een VGA scherm of CRT televisie is deze module noodzakelijk. Tenzij je een OSSC gebruikt. Maar dat is weer een ander topic. Je hebt nog wel een VGA naar je gewenste uitgang kabel nodig. Ik persoonlijk heb een VGA naar Scart kabel. Want mijn MiSTer is aangesloten op een CRT beeldbuis televisie.

Daarnaast zorgt het IO board voor een fan die de boel koelt, en zitten er 3 hardware knoppen op zodat je de Mister bijv. kunt resetten met een knopje i.p.v. stroom erop en eraf.

Dit zijn in ieder geval de standaard modules die ik toch wel aanraad wil je zelf een MiSTer gaan bouwen.


MiSTer FPGA add ons USB VGA SDRAM

Installatie

Je hebt alles binnen, de MiSTer heb je helemaal in elkaar gezet. En nu? We beginnen in ieder geval bij het begin met het maken van de SD-card.

Download de laatste MiSTer installatietool voor Windows hier:

https://github.com/MiSTer-devel/SD-Installer-Win64_MiSTer

Stop de Micro SD-card in je PC en run de tool. Het spreekt allemaal redelijk voor zich. De tool gaat een installatie van MiSTer op de SD-card zetten.

Je SD-card is klaar en je stopt hem in je MiSTer.

Pak een toetsenbord en hang hem aan je MiSTer (en sluit je MiSTer natuurlijk aan op een scherm). Zet je MiSTer aan en voila een menu. Druk op de ESC knop, ga naar “System Settings’ en kies ”Scripts”. Nu komt er een waarschuwingsmelding, Maar je weet wat je doet dus je drukt gewoon op “Yes, and don’t ask again”. Dan kies je “Update”. Je MiSTer gaat nu, je verwacht het niet, updaten!

MiSTer FPGA no files menu

Next Steps

Je MiSTer start opnieuw op en je kunt nu van alles kiezen. “Console” is de menu optie waar wij ons op gaan focussen.Maar first things first. Een game controller aansluiten.

Voor nu houden we het even simpel. Ik ga er vanuit dat je een USB game controller hebt. Of het een 8bitdo is of een Xbox controller is, dat maakt even niet uit. Ik zal later nog even uitleggen waarom je vooral wat anders moet kopen!

Plug de controller in een USB poort, druk op de ESC van je toetsenbord, ga naar system settings en kies “Define Joystick Buttons”. Doorloop de vragen en stel je controller in. Lees even goed wat je moet doen qua overslaan van knoppen en opslaan van je settings en je bent klaar.

Games spelen

Zoals iedere brave burger heb je natuurlijk je eigen games gebackupped en daar heb je ROMS van op je computer staan 😉 Haal de Micro SD-card uit je MiSTer en plug hem in je PC met een SD-card reader. Als het goed is kun je op je SD-card komen via Windows File Explorer. Je ziet een overzicht van alle beschikbare cores in aparte mapjes. Maak mapjes aan per console in de root van de kaart en stop in elk mapje de betreffende games die je wilt spelen.

Stop de SD-card weer in je MiSTer, zet je MiSTer aan, kies “Console” en kies de console die je wilt gebruiken. Kies “Load file *.” En navigeer naar de ROM die je wilt spelen. En voila, je game start op!

That’s it.

MiSTer FPGA main menu

Controllers

Nu heb je een machine staan die 100% nauwkeurig hetzelfde is als een echte console, en dan zit je met een USB controller in je handen. Dat kan natuurlijk niet! We willen originele controllers met minimale (of geen) input lag.

Er zijn verschillende oplossingen. En het is er net naar wat je voorkeur is.

SNAC adapters

Een SNAC adapter is een USB adapter die direct met de core communiceert, dit houd in dat je naast de standaard USB latency van 1ms (0.06 farmes) letterlijk 0ms input lag hebt. Dichterbij de originele hardware kun je niet komen. Een SNAC adapter is wel een “lelijke” oplossing. Want je moet namelijk weer een controller adapter aan de SNAC adapter hangen. De SNAC adapter zelf is universeel, maar je zult een controller specifieke adapter aan de SNAC adapter moeten hangen. Je leest het dus al, gerommel.

MiSTer FPGA SNAC Adapter

USB adapters

Raphnet biedt USB adapters aan met weinig latency. De adapters kunnen ingesteld worden op een minimale latency van 2ms. Je hebt hier dus in totaal een latency van 3ms. De 1ms van de USB port, en de 2ms van de adapter. Voordeel van deze adapters is dat je hem direct in je USB aansluiting plugt en geen extra kabels of adapters meer nodig hebt. Daarnaast zijn ze redelijk betaalbaar. Ongeveer 25 euro voor een 2-player SNES of NES adapter bijv.

Kortom, ga je voor gemak en lage latency dan kies je voor de Raphnet USB adapters, kies je voor de oplossing met de laagste latency dan kies je voor de SNAC oplossing. Maakt latency je helemaal niet uit, gebruik dan gewoon een USB controller die je direct aan de MiSTer aansluit.

Hier vind je een nauwkeurig overzicht van de latency op populaire USB controllers:
https://docs.google.com/spreadsheets/d/1KlRObr3Be4zLch7Zyqg6qCJzGuhyGmXaOIUrpfncXIM/edit

Een paar voorbeelden. Een Switch Pro controller heeft gemiddeld genomen rond de 20ms input lag, een Xbox One controller 10ms en een 8Bitdo SN30 Pro 25ms! Zet daar dus tegenover dat een orginele NES of SNES controller i.c.m. een Raphnet USB adapter slechts 3ms input lag heeft, en een SNAC adapter i.c.m een orginele controller dus 1ms.

MiSTer FPGA Raphnet USB adapters

Een echte alleskunner

De DE-10 NANO in combinatie met de MiSTer software is de beste manier om al je retro games opnieuw te beleven. De beschikbare cores die 100% overeenkomen met de echte hardware zorgen voor die echte klassieke retro feeling.
9
90
  • Pluspunten
  • Perfecte hardware emulatie
  • Veel cores beschikbaar
  • Veel aansluitmogelijkheden (CRT tv, controllers, NAS etc)
  • Minpunten
  • Slecht verkrijgbaar
  • De setup kost tijd