Een game-mini-pc voor retrogames maken

Retrogames! Aaaah, zálig… Stel je voor dat je een Amiga, Commodore 64, SNES, PSX ( = Playstation 1), Gameboy, Sega Megadrive,… allemaal in 1 mini-pc kunt stoppen. Wel, het kan! Alleen is het opzetten ervan wat overweldigend en afschrikkend voor beginners. Maar dankzij ons project dat we hier uit de doeken gaan doen kan jij het ook.

Het eerste struikelblok voor velen is dat ze door de bomen het bos niet meer zien door alle termen die door elkaar worden gebruikt. Libretro, cores, RetroArch, EmulationStation,… er lijkt alsof er geen einde komt aan de begrippen waar je misschien nooit eerder van hebt gehoord.

amiga-game001

En misschien nog belangrijker : hoe kun je al die retrogames afspelen op een mini-pc met Windows erop geïnstalleerd?

Wel, het toverwoord is : emuleren. Nabootsen dus. Een PSX emulator bijvoorbeeld, zal de hard- en software nabootsen van een echte PlayStation 1 console. De technische kant laten we gewoon links liggen. Geloof me als ik zeg dat de mensen die deze emulators maken, er liters bloed, zweet en tranen voor over hebben gehad om alles zo perfect mogelijk te maken.

Aan de andere kant : het blijft emuleren. Een perfecte kopie zal het nooit zijn. Maar ondertussen zijn veel emulators toch op een niveau gekomen dat verdomd héél dicht bij oorspronkelijke ligt.

Enkele termen die we moeten snappen

Cores

Een core is het Engelstalige woord voor een emulator. Stel dat we een PSX wil emuleren. Dan hebben we een stukje software nodig die onze PlayStation kan nabootsen. Er kunnen dan ook nog verschillende cores bestaan voor 1 systeem. De verschillende cores voor hetzelfde systeem hebben vaak elk hun eigen voor- en nadelen.

Libretro

Libretro is een verzameling van alle emulators in één pakket. Hier vind je dus de nodige software die allerhande systemen kunnen nabootsen. Dit is dus de motor van het hele emulatie-gebeuren.

Retroarch

Retroarch is een schil omheen Libretro. Het laat je toe allerhande wijzigingen aan te brengen aan de instellingen. Bovendien voegt het ook functies toe die in de originele systemen niet terug te vinden waren. Een voorbeeld : op gelijk welk moment je game kunnen opslaan. Of : een moeilijk stuk in de game vertraagd spelen. Later zullen we retroarch ‘inbouwen’ in EmulationStation.

EmulationStation

EmulationStation is een menu waarmee we alles kunnen bedienen. Het kan zelfs zonder de hulp van een toetsenbord.

rp-psx-menu

LaunchBox

LaunchBox is een alternatief voor EmulationStation. Het hangt allemaal af van persoonlijke voorkeur wat je verkiest. Maar hier gaan we toch gaan voor EmulationStation. Hierbij kun je immers makkelijker instellingen wijzigen.

Boodschappenlijstje

Wat hebben we allemaal nodig om van een mini-pc een retro gaming-pc te maken?

Een mini-pc

Duh! En toch… Er zijn mini-pc’s vanaf 100€. Maar er zijn er ook van 1.000€. Om retrogames te kunnen spelen hebben we niet heel veel pure kracht nodig. Ook een grafische kaart is vaak niet nodig. De ingebouwde Intel HD Graphics zijn vaak voldoende. Wat je minimum nodig hebt is een dual core processor, 4GB aan werkgeheugen en een harde schijf met flink wat plaats (vooral als je veel PSX games wil spelen).

Met flink wat plaats bedoel ik 120GB of meer. Dus een goedkope SSD-schijf van 60GB kan perfect, maar je zult al vlug merken dat 60GB te weinig is voor veel PSX of Sega-CD games.

Wie rekening wil houden met z’n budget en vooral oudere systemen wil emuleren heeft genoeg aan een Intel NUC5CPYH. Deze mini-pc kun je al vinden vanaf 150€. Je hoeft enkel nog een harde schijf en RAM toe te voegen.

Intel-nuc5pcyh

Een ander goed en goedkoop model is de Gigabyte GB-BACE-3150.

Windows

Voor dit project gaan we ervan uit dat je reeds Windows hebt geïnstalleerd op je mini-pc. Dat kan Windows 7, Windows 8.1 of Windows 10 zijn. De werkwijze zal amper verschillen.

Uiteraard kun je nog meer knippen in je budget door Linux te installeren. Maar dan is de werkwijze toch een stuk anders. Bovendien is niet iedereen happig om de overstap naar Linux te maken (hoewel die stap reuze meevalt).

Software

Met een standaard Windows-installatie komen we al heel ver. Maar we hebben nog enkele programmaatjes nodig die ons zullen helpen :

7-Zip : om ingepakte bestanden netjes te kunnen uitpakken.

Notepad++ : om wijzigingen aan te brengen in de configuratiebestanden is Notepad++ onontbeerlijk. Veel beter en veel overzichtelijker dan de standaard Kladblok. Het is optioneel, geen must.

Installatie EmulationStation

De eerste stap is het downloaden van EmulationStation. Ga hiervoor naar de downloadsectie van hun site en kies bij de Windowsversie de Installer.

Emulationstation-installer-windows

Wie goed oplet, ziet meteen dat we worden gewaarschuwd dat we nog heel wat configuratiewerk voor de boeg hebben.

Download dit bestand naar je Downloads-map. Het resultaat is een exe-bestand. Door te dubbelklikken starten we het installatieproces. Na het accepteren van de voorwaarden komen terecht in schermpje waar vooraf enkele vinkjes standaard zijn aangevinkt. Het is belangrijk om dit ook zo te laten!

ES-installation-01

Voor de rest kun je de gebruikelijke procedure volgen van next, klik, next, install, klik… Finish.

Het resultaat is dat er een nieuwe map met de naam .emulationstation wordt gemaakt direct onder je gebruikersnaam.

ESmap01

Wanneer je een kijkje neemt in deze map zie je dat er maar 1 submap is : themes. Dat bedoelden ze dus zonet dat er nog wat configuratiewerk nodig is. Er moeten namelijk nog 2 mappen bijkomen : roms en systems.

Je kunt deze mappen zelf gaan aanmaken. Maar er moeten ook nog heel wat submappen worden aangemaakt.

Ene Herb Fargus heeft een YouTube-kanaal (waar je zowat alle info die je hier leest is op gebaseerd – Thx Herb!) en hij heeft een zip-bestand gemaakt die alles voor jou doet. Kudos voor Herb Fargus dus! Het bestand kun je hier vinden. Het is alleen even opletten waar je het bestand precies uitpakt. Kies dus niet voor Pak hier uit, maar wel voor Bestanden uitpakken.

ESmap02

Kies nu voor de map .emulationstation.

ESmap03

Het resultaat kunnen we nu zien in .emulationstation. Behalve de map themes zijn er dus nog een hele boel andere bestanden bijgekomen.

ESmap04

Het belangrijkste bestand is es_systems. Dit bestand zal later aan RetroArch vertellen waar onze games precies staan op de harde schijf, welke emulator er moet worden geladen,… Het is nogal technisch en het zit perfect in elkaar. Dus niks aan veranderen is de boodschap.

Je merkt dat er twee varianten te zien zijn. Het ene bestand kun je gebruiken als er in je gebruikersnaam geen spaties staan (bvb Mike). Het andere bestand kun je gebruiken als er wél spaties in je gebruikersnaam staan (bvb Mikey Mike). Ik ga hier afwijken van de raadgevingen die Herb Fargus doet. Verwijder het bestand es_systems.cfg.

Vervolgens eenmaal rechtsklikken op es_systems_spaces.cfg om het bestand te openen met NotePad++.

Het enige wat we moeten doen is het pad wijzigen naar waar wordt verwezen om de emulators en de games te vinden. Hiervoor selecteer je User Name en druk je op CTRL + F.

ESmap05

Nu kunnen we User Name vervangen door onze eigen gebruikersnaam van onze mini-pc. Dit vind je terug in Lokale schijf (C:) > Gebruikers. Let wel dat je bovenaan het tabblad Vervangen kiest.

ESmap06

Wanneer je dit hebt gedaan, kun je in bovenstaand scherm kiezen voor Sluiten.

Nu gaan we dit bestand opslaan als es_system.cfg.

ESmap07

Het bestand es_systems_spaces.cfg hebben we niet meer nodig. Toch zou ik aanraden om het niet te verwijderen. Als we later onze configuratie naar de knoppen helpen kunnen we steeds terugvallen op dit bestand.

Installatie RetroArch

De volgende stap van ons project is de installatie van RetroArch. Hiervoor gaan we naar de downloadsectie van de Libretro-site. We kiezen de map stable > 1.2.2 > win-x64.

retroarch001

Opgelet! Win-x64 dien je te gebruiken als je Windows versie een 64-bit versie is. Als je twijfelt welke versie je hebt kun je in Verkenner rechtsklikken op Deze PC en kiezen voor Eigenschappen. Hier kun je terugvinden als je Windows versie 64 of 32 bit is.

64bit-system

Download het bestand in je downloads-map. Rechtsklik op het bestand RetroArch_1.2.2.7z en kies voor 7zip > Uitpakken naar “RetroArch 1.2.2”.

Het resultaat is een nieuwe map met de naam RetroArch 1.2.2. Open de map en selecteer alles (CTRL + A). Rechtsklikken en kiezen voor Knippen.

Ga nu naar de map .emulationstation/systems/retroarch en rechtsklik. Kies Plakken.

Nu hebben we alle nodige bestanden op de juiste plaats gezet. Nu begint het leuke gedeelte 🙂

De eerste keer RetroArch

Ga naar de map .emulationstation/systems/retroarch en dubbelklik op retroarch.exe (met het Space Invaders icoontje).

Wellicht krijg je nu een foutmelding. Geen paniek. Dit wil zeggen dat we eerst DirectX 11 moeten installeren in Windows.

retroarch004

Om een lang verhaal kort te maken : we gaan via de downloadpagina van Microsoft de nodige bestanden downloaden. Deze bestanden kun je hier terug vinden. Gewoon downloaden en dubbelklikken op het bestand om de installatie te starten.

Let op, Microsoft zal proberen om de Bing-bar te installeren. Dit moet je tijdens het proces gewoon uitschakelen.

Ziezo, nu kunnen we weer verder.

We dubbelklikken dus op retroarch.exe, je kunt het herkennen aan het Space Invaders-icoontje. Meteen opent het programma. We kunnen navigeren met de pijltjestoetsen. Enter is de X-toets en terugkeren is de Z-toets.

Opgelet! Gebruikers van een azerty-toetsenbord gebruiken de W-toets in plaats van de Z-toets.

Als eerste gaan we de video-settings aanpassen zodat we een beter beeld krijgen bij het spelen van games. Hiervoor kiezen we Settings > X > Video > X > Threaded Video en met de rechterpijltoets wijzigen we dit naar On. Opnieuw keren we terug naar het hoofdmenu via de Z- of W-toets.

retroarch006

Nog een voorbeeld van wat we kunnen aanpassen is het maximaal aantal spelers. Sommige emulators laten tot 16 spelers toe. Ik zie je nog niet meteen met 16 vrienden rond een schermpje gekluisterd zitten. Dus dat kunnen we ook aanpassen. Zoals eerder gezegd : deze instellingen zullen gelden voor álle emulators. Ik veronderstel dat 4 spelers meer dan genoeg is. Ga naar (vanuit het hoofdmenu) Settings > Input > Max Users en wijzig dit naar 4 (of wat jij verkiest).

retroarch015

In hetzelfde menu (Settings > Input) is er nog een belangrijke optie :

retroarch013

Dankzij deze optie kun je tijdens het spelen van een spel het RetroArch-menu oproepen. En dit zullen we zeker en vast nog nodig hebben. Vergeet dit zeker niet in te stellen! Je bent trouwens niet verplicht de combinatie L3 en R3 te gebruiken. Misschien heeft je controller zelf helemaal geen R3/L3-knoppen.

In het hoofdmenu maken we vervolgens de keuze Online Updater > Core Updater. Hier zijn we een lijst van alle emulators die zijn geïnstalleerd. Voor het gemak kun je ze meteen allemaal onder handen nemen. Ga dus op de eerst core staan en druk op X. Let erop dat je wacht tot de update volledig gedaan is vooraleer je overgaat naar de volgende core! Op deze manier werk je het volledige lijstje af. Uiteraard ben je niet verplicht om ze allemaal binnen te halen. Als je bvb enkel NES en SNES wil spelen, hoef je enkel deze cores te downloaden en kun je alle andere gewoon overslaan.

retroarch007

Ondanks de lange lijst zul je merken dat het helemaal niet lang duurt om alle cores te updaten.

Als je alles nog eens wil controleren ga je naar de map Gebruikersnaam > .emulationstation > systems > retroarch > cores. Daar zul je alle emulators zien die je zonet hebt binnengehaald.

De volgende stap is het aanmaken van een paar mappen die we later zullen nodig hebben. Ga in Verkenner naar Gebruikersnaam > .emulationstation > systems > retroarch en maak twee nieuwe mappen aan : bios en screenshots.

ESmap10

Nu moeten we RetroArch ook duidelijk maken dat deze mappen weldegelijk gebruikt moeten worden. Ga naar Settings > Directory > System /BIOS Dir. Stel het pad in naar de nieuwe map die we zonet hebben gemaakt. Uiteindelijk bevestig je met X-toets.

retroarch017

Hetzelfde doe je nu voor de Screenshot Dir.

Nu gaan we instellen dat we per core (emulator) een bestand willen aanmaken waarin de configuraties komen. De reden daarvoor is dat een PSX game nu eenmaal totaal andere controllers verwacht dan bvb een SNES game. Doen we dit niet, dan wordt er maar 1 configuratiebestand gebruikt voor alle emulators. En dan wordt het moeilijk om settings te vinden die voor alle cores perfect werken.

In RetroArch gaan we dus volgende doen : Settings > X > Configuration > X > Configuration Per Core. Met de pijltjestoetsen wijzigen we dit naar On.

retroarch005

Controleer ook al Save Configuration On Exit weldegelijk op On staat !!

Door 2x op de Z-toets (of W bij azerty-keyboards) te drukken komen we weer terecht in het hoofdmenu.

Belangrijk!

We hebben nu ingesteld dat ons systeem alle wijzigingen die we maken, opslaat in een bestand apart per emulator. Dit wil zeggen dat we bepaalde instellingen die niet standaard zijn (en we dus willen wijzigen) ook per systeem opnieuw moeten worden ingesteld. Een voorbeeld is het instellen van onze controllers en de overlays. Maar dat lees je hieronder.

Dit maakt het opzetten van ons systeem behoorlijk omslachtig. Maar geloof me vrij. Deze manier van werken is veel overzichtelijker en makkelijker te wijzigen als dat ooit nodig zou zijn.

Aangezien we daarnet hebben ingesteld dat Save Configuration On Exit  aan staat, moeten we eerst Retroarch eens afsluiten. Pas dan zullen al onze wijzigingen op de correcte manier worden bewaard. Belangrijk dus! De correcte manier is om terug te gaan naar het hoofdmenu en daar de keuze Quit Retroarch te kiezen.

BIOS installeren

Sommige systemen die je wil emuleren zullen ook de bios-bestanden nodig hebben. Deze bestanden komen in de map die we zonet hebben ingesteld. Als je wil weten welke systemen welke bios-bestanden nodig hebben, dan kun je een kijkje nemen naar deze lijst.

Ik kan je niet helpen aan de bios-bestanden, Google wél 😉

bios-retroarch

Onze eerste game

Nu wordt het tijd om onze installatie die we to nu toe hebben opgezet eens te testen. Yihaa! Een goed systeem om mee te beginnen in GameBoy Advanced. Zonet hebben we dus de bios in de correcte map geplaatst.

De volgende stap is het plaatsen van de game zelf op onze computer. Voor GameBoy Advanced hebben we een game nodig (ook wel een ROM genaamd) in de extensie .gba. Hier geldt hetzelfde verhaal als voor de bios-bestanden. Ik kan je niet helpen aan roms, Google wel.

Wellicht zal je rom een 7z of een zip extensie hebben eenmaal je deze gedownload hebt. Het hoeft niet per se, maar ik vind het overzichtelijker als je het bestand uitpakt en het originele zip-bestand verwijdert. Bovendien kun je dan ook de bestandsnaam wat opschonen.

retroarch011

Controller installeren

Als we dat willen kunnen we ook een controller installeren. Aangezien we hier eigenlijk twee systemen combineren (RetroArch + EmulationStation) moeten we de controller ook twee keer instellen, eenmaal voor de games (RetroArch) en eenmaal om het menu van EmulationStation te kunnen bedienen.

EmulationStation zal bij de eerste keer opstarten slechts 1 systeem tonen. In ons geval dus GameBoy Advanced. Sluit je controller aan via een vrije usb-poort en dubbelklik op je bureaublad op

ES-desktop-shortcut

ES zal ons vertellen dat er een controller werd gedetecteerd. We moeten nu een willekeurige knop ingedrukt houden omp de controller in te stellen. Daarna wordt er gevraagd om de juiste knoppen in te drukken. Hou er rekening mee dat ES ervan uit gaat dat we een oude NES-controller gebruiken. Uiteraard kan dat ook een PlayStation-controller zijn, of een Logitech-controller of…

RETROpie-gamepad-001

Er zal dus niet gevraagd worden naar kruisje, driehoek, vierkantje… maar wel naar de knoppen A, B, X en Y.

snescontroller-usb

De verleiding is nu wel heel groot om al meteen ook te beginnen spelen. Maar eerst moeten we een spel een eerste keer opstarten en drukken op F1. We hebben immers nog geen controller ingesteld voor het spelen van onze roms.

RetroArch start (opnieuw) op.

Nu gaan we dus een controller instellen die gebruikt kan worden bij het spelen van games. Ga naar Settings > Input. Scroll naar beneden tot je onderstaande tegenkomt :

retroarch012

  • Bind Mode : kies tussen Keyboard of RetroPad ( = een controller)
  • Device type : kies tussen RetroPad (een gewone controller) of RetroPad w/ Analog (als je controller ook analoge sticks heeft)
  • Analog to Digital Type : welke analoge stick je wil gebruiken op de knoppen op, neer, links en rechts te gaan
  • Device index : welke controller er moet gebruikt worden door de User (handig als je meerdere verschillende controllers gebruikt)
  • Bind All : het proces starten om te knoppen te ‘binden’, vergelijkbaar met wat we zonet hebben gedaan om de controller in te stellen voor EmulationStation
  • Save Autoconfig : je instellingen die je zonet ingaf bewaren (belangrijk dus !)

Indien nodig herhaal je de procedure voor speler 2,3,…

Nog steeds in RetroArch keren we nu met de Z-toets (W bij azerty) terug naar het begin en kiezen we voor Save New Config. Het bestand dat nu wordt opgeslagen is ons basisbestand voor alle games die we in deze core zullen spelen.

We kunnen het spel weer afsluiten via het kruisje bovenaan rechts. Normaalgezien kom je dan opnieuw terecht in EmulationStation. We gaan dus meteen weer uit EmulationStation door Start > Quit > Quit EmulationStation > Yes.

Testen!

Nu is het grote moment aangebroken om een game te testen. We starten EmulationStation op en kiezen in ons geval voor Gunstar Super Heroes.

rom001

Nu is dus het moment om te testen als onze analoge stick inderdaad werkt. Ook de combinatie L3 en R3 (of wat je ook hebt gekozen) controleer je best even. Als je alles netjes hebt gevolgd zou dit inderdaad moeten werken. Werkt dit niet, dan kun je met de knop F1 toch nog aan je instellingen.

Overlays en shaders

Eigenlijk werkt ons systeem nu volledig en kunnen we meteen beginnen met spelen na het opvullen van onze roms-map met roms. Maar toegegeven, echt netjes is het allemaal niet. En dan komen overlays en shaders in het spel. Een overlay is een ‘rand’ die ervoor zorgt dat we ons bureaublad niet meer zien. Een shader is een soort effect waardoor de graphics een retro-feel krijgen. De één houdt ervan, de ander niet. Het is dus persoonlijk is je dit wil gebruiken of niet.

Om te beginnen start je met het opstarten van een rom. In ons geval nog steeds Gunstar Super Heroes voor GameBoy Advance. We drukken op L3 en R3 (of wat jij hebt gekozen als hotkey-combinatie om het menu op te roepen).

Ga naar Online Updater en download de overlays en de shaders. Aangezien wij hier met Windows werken kiezen we best voor Cg Shaders (bij andere systemen kies je best voor GLSL Shaders). Idem voor Update Overlays.

shaders001

Keer terug naar het begin van het menu en kies de eerste optie : Quickmenu. In dit menu kies je voor Shader Options.

overlays002

Nu kies je Load Shader Preset > shaders_cg > handheld > console border. Je merkt dat er in het lijstje verschillende mogelijkheden zijn voor GameBoy Advanced. Het enige verschil is de grootte van het scherm waarop je speelt. Wij kiezen hier voor 3x de originele grootte : gba-3x.cpg.

overlays004

Zodra je op bevestigen drukt (X-toets) kom je terug in een menu waar je kiest voor Apply Shader Changes. Bevestig opnieuw.

Als kers op de taart ga je nu ook nog even naar Settings > Video > Aspect Ratio Index en kies je voor 16:9.

ESmap11

Op deze manier kun je je mini-pc opbouwen, systeem per systeem. Veel succes!

 

 

Reageer :

Het e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *