Er zijn diverse methodes voor het afspelen van retroware. Een van de populairste technieken is emulatie. Een emulator is typisch een programma dat je toelaat software op je computer te draaien die voor een geheel ander apparaat is bedoeld.

Toon van Daele

In de artikelen ‘Oud op nieuw’  en ‘Retrogaming’ van PC-Active 325 worden verschillende technieken en sites besproken waarmee je oude software – en meer specifiek: retrogames – ook op moderne systemen kunt draaien. Hier komen onder meer aan bod: systeemaanpassingen voor een betere compatibiliteit, virtualisatie met hypervisors, online archieven voor het streamen of downloaden van uiteenlopende retrogames, digitale distributieservices als Steam, en diverse retroconsoles en -handhelds. In dit artikel hebben we het over nog een andere, populaire manier om retroware te draaien: emulatie. 

Emulators
We hebben het hier meer bepaald over emulators voor spelconsoles en voor computerplatformen als 16-bit DOS, en meer specifiek emulators die het ook onder een modern Windows 64-bitsysteem doen. Een tool als Wine (www.winehq.org), bedoeld om Windows-applicaties onder Linux of macOS te kunnen draaien, valt dus buiten dit domein. Hetzelfde geldt voor apps als iDOS of Psx4Droid, die zijn bedoeld voor mobiele platformen, en voor toepassingen als RetroPie (https://retropie.org.uk), een emulatorpakket voor de Raspberry Pi.
Een emulator kun je zien als software die bepaalde hardwarecomponenten nabootst, zodat een omgeving wordt gecreëerd waarbinnen toepassingen kunnen draaien die eigenlijk bedoeld zijn voor andere hardware. Zo’n vertaalslag kan wel een nadelig effect hebben op de prestaties van de gebruikte toepassing.
Dergelijke emulators zijn al populair sinds de jaren ’90 en je zult begrijpen dat fabrikanten van spelconsoles zulke software niet bepaald genegen waren.

01 flashboy
Flash Boy Cyclone: een cartridge-dumper voor de Game Boy

ROM’s
Wanneer je met emulators bezig bent en naar geschikte retroware zoekt, zul je vaak de term ROM of ROM-image tegenkomen. Het komt erop neer dat de data van de geheugenchips (Read Only Memory, vandaar ROM) van een moederbord of een cartridge naar een computerbestand wordt gedumpt. Deze ROM’s kun je vervolgens gebruiken in emulators.
ROM’s creëren werd al snel populair en zowel dumpers als developers van emulators verdedigden zich door te stellen dat het vooral om abandonware ging, maar dit neemt niet weg dat ROM’s nagenoeg altijd illegaal waren – en dat eigenlijk nog steeds zijn. 
Om allerlei beveiligingen door de fabrikanten te omzeilen en het afspelen van software binnen een emulator te optimaliseren werden de originele ROM’s vaak nog gemodificeerd, de zogeheten ROM-hacks. Dit ging van het aanpassen van spelniveaus en graphics tot zelfs het wijzigen van de eigenlijke programmacode via reverse engineering.
Hoe dan ook, ben je op zoek naar ROM’s, dan volstaat het vaak even te googelen naar iets als download free <console_naam> roms.

02 emulatorzone 2
Je vindt je mosterd zeker ook bij Emulator Zone

Selectie
Inmiddels zijn er nauwelijks nog consoles waarvoor geen emulator bestaat, zoals de lijsten op www.wikiwand.com/en/List_of_video_game_emulators en https://emulation.gametechwiki.com je meteen duidelijk maken. We hebben ons hier helaas moeten beperken tot een handvol gratis emulators die we zelf tot de betere in hun soort rekenen. DOSBox krijgt hierbij de meeste aandacht. MAME, een emulator voor arcademachines, hebben we hier niet opgenomen omdat deze in een afzonderlijk artikel wordt besproken ("Mini-arcadekast met Raspberry P").
Wil je zelf nog verder op zoek naar andere emulators? Op www.emulator-zone.com kun je je pret niet op. Je vindt hier bovendien een rubriek ROMs, weliswaar uitsluitend met games uit het publieke domein.

          

ScummVM

Strikt genomen hoort een tool als ScummVM niet in dit artikel thuis, omdat het geen echte emulator is. Immers, de tool verricht zijn magie – het kunnen afspelen van enkele honderden grafische avonturen- en RP-games op onder meer Windows, macOS en Linux – door het herschrijven van de originele programmabestanden. Het zou evenwel zonde zijn deze app niet te vermelden. Je downloadt deze op www.scummvm.org en op www.scummvm.org/compatibility kun je terecht voor een compatibiliteitslijst van games. Games ophalen is niet moeilijker dan Spel Toevoegen of eventueel Bulk Import kiezen en naar de (uitgepakte) gamemap verwijzen - op www.scummvm.org/games kun je terecht voor diverse gratis games. Je kunt elk spel afzonderlijk optimaliseren wat betreft engine, grafische weergave, toetskoppelingen, geluid enzovoort.

k1 scummvm 2
De spelinstellingen van de game Sfinx, in ScummVM

MS-DOS
In de jaren ’80 en ’90 was MS-DOS het meest gebruikte (16-bits) besturingssysteem en dus werden hiervoor ook talloze games ontwikkeld. Terwijl je die nog met enige moeite aan de praat krijgt in oudere Windows-versies, lukt dat helaas niet meer in Windows 64-bit. Tenzij met een emulator als het populaire DOSBox. Download de tool op www.dosbox.com, beschikbaar voor onder meer Windows, macOS en Linux, en installeer deze. Wanneer je dubbelklikt op het programma-icoon op je bureaublad merk je dat DOSBox een opdrachtregeltool is.

03 dosbox 2
16-bit DOS-games: speelt DOSBox met de glimlach af

We gaan ervan uit dat je over een DOS-game beschikt, bijvoorbeeld gedownload van www.myabandonware.com/browse/platform/dos, en hebt uitgepakt, bijvoorbeeld in een afzonderlijke submap van een map als c:\dosbox. Dubbelklik nu op het DOSBox-icoon op je bureaublad. Je merkt dat het om een opdrachtregeltool gaat en je voert hier een commando als mount c c:\dosbox uit, zodat het c:-station binnen DOSBox naar de inhoud van de fysieke map c:\dosbox verwijst. Het commando a:, gevolgd door dir toont je de mapinhoud. Om naar een submap te gaan, volstaat het commando cd <naam_submap>. Voer hier nogmaals dir uit, gevolgd door de naam van het eerder uitgepakte exe-bestand. Als het goed is, start de game nu op binnen DOSBox. Mocht je nog DOS-toepassingen op cd hebben staan, dan koppel je dit station met een commando als mount d e:\ -t cdrom (in de veronderstelling dat e: je cdrom-station is). 
Ook handig om weten: met Ctrl+F11 verlaag je de emulatiesnelheid en met Ctrl+F12 voer je die net wat op.

04 ampshell 2
DOSBox beheren en configureren werkt handiger met het grafische AmpShell.

DOSBox grafisch
DOSBox kun je nog op allerlei manieren en zelfs per afzonderlijk game naar eigen hand zetten via het configuratiebestand dosbox.conf. Je vindt hierover uitgebreide informatie op www.dosbox.com/wiki/Configuration. Voor een meer algemene handleiding kun je terecht bij www.dosbox.com/DOSBoxManual.html. 
Vind je het hele opdrachtregelgedoe wat lastig, weet dan dat er ook diverse grafische interfaces bestaan voor DOSBox. Een van de populairste is het al wat oudere D-Fend Reloaded; een vrije recente opensourcetool dan weer is AmpShell. We bekijken heel kort deze laatste.
Surf naar https://github.com/maximilien-noal/AmpShell en klik hier op Latest voor de download van AmpShell.zip. Pak het archief uit en start de tool op. Verwijs naar de locatie van het eerder geïnstalleerde dosbox.exe. Creëer een categorie (zoals DOS Games) en rechtsklik in het venster. Kies Add a Game en vul de nodige gegevens in, waaronder de locatie van het exe-bestand van de game. Bevestig met Add this game. Dubbelklik op het pictogram om het spel te starten; met de Windows-toets krijg je opnieuw controle over je gewone cursor. Rechtsklik op het pictogram en kies Edit game configuration file / Ja als je een configuratiebestand voor dit spel wilt creëren.

05b mesensmb 2
Mesen is een flexibele, portable emulator voor de Populaire NES-console.

Gameconsoles
Voor games van Nintendo’s handhelds Game Boy, Game Boy Color en zelfs de nieuwere Game Boy Advance hoef je niet verder te zoeken dan VisualBoyAdvance-M (https://github.com/visualboyadvance-m/visualboyadvance-m; Windows, macOS, Linux; klik op Latest). De applicatie bestaat uit een enkel venster dat zich automatisch schaalt naargelang het ingeladen spel. Er zijn heel wat instelbare opties voor onder meer video en audio, er is ondersteuning voor cheat codes en controller mapping, je kunt je gamestatus exporteren en importeren en ook schermopnames maken. 
Mesen is zonder meer een van de betere emulators voor de NES (Nintendo Entertainment System en de Favicom (www.mesen.ca; Windows, Linux). Je kunt je gamestatus bewaren, schermopnames inclusief video maken, er is ondersteuning voor cheat codes en voor wie er zin in heeft: debugging tools maken je eigen rom-hacks mogelijk. Technische feedback vind je op www.mesen.ca/docs. Van dezelfde makers kun je tevens Mesen-S downloaden, een emulator voor de SNES. 
Gaat het jou om GameCube of Wii-games, dan ga je het beste voor Dolphin (https://nl.dolphin-emu.org; Windows, macOS, Linux; je downloadt bij voorkeur een stabiele versie). Deze tool weet zelfs de Wii-bewegingsbesturing en de wificonnectie te emuleren. Houd er wel rekening mee dat deze games vaak complex zijn en dus wel een potige cpu en gpu vereisen. Handig: de tool kan overweg met cheats, laat allerlei grafische optimalisaties toe en laat zich bovendien overklokken voor nog betere prestaties.

06 launboxdosbox 2
LaunchBox kan games van diverse emulators beheren (hier een DOSBox-game)

LaunchBox (wizard)
Stel, je hebt een account bij Steam of Origin en je werkt bovendien met meerdere emulators. Dan wordt het al snel onoverzichtelijk om de juiste games te kunnen opstarten en ben je wellicht beter af met een zogeheten frontend. LaunchBox (www.launchbox-app.com) is precies zo’n tool. Aanvankelijk bedoeld als frontend voor DOSBox, is het inmiddels uitgegroeid tot een allround beheersysteem en lanceerplatform voor games. We tonen je kort hoe je hiermee aan de slag kunt. De installatie heb je in elk geval met een paar muisklikken voor elkaar, waarna je de tool kunt opstarten. 
De makkelijkste manier om games toe te voegen is via een wizard. We gaan er eerst van uit dat je 16-bit dos-games wilt toevoegen. Klik op het hamburgerknopje linksboven en kies Tools / Importeer games / MS-DOS Games. Druk op Volgende en op Map toevoegen en verwijs naar je map met (submappen voor) je eerder gedownloade games, bijvoorbeeld c:\dosbox. Druk op Volgende en kies een van de volgende opties: Kopieer / Verplaats de bestanden naar mijn LaunchBox gamesmap of Gebruik de bestanden op hun huidige plaats. Wijzelf kiezen voor een kopieeroperatie. Laat bij voorkeur het vinkje staan bij Zoek naar game informatie in de lokale metadatabase en druk alweer op Volgende (4x). Selecteer de gewenste games en rond af met Einde. Een geïmporteerd game toevoegen is niet moeilijker dan het te selecteren en op Spelen te klikken. Klik op Aanpassen als je bepaalde wijzigingen wilt doorvoeren.

07 launchboxgameboy
Je kunt ook handmatig een game met je favoriete (ondersteunde) emulator toevoegen

LaunchBox (handmatig)
Laten we er nu even van uitgaan dat je een Game Boy-spel wilt toevoegen. Klik dan op Tools / Importeer / Handmatig spel toevoegen. Vul een Titel in bij Metadata en vul bij Starten / Applicatie Pad het volledige pad in naar je eerder gedownloade gamebestand (wellicht met extensie .gb). Open vervolgens de rubriek Emulation, plaats een vinkje bij Gebruik een emulator om dit spel te spelen (voornamelijk voor console games) en klik op Toevoegen. Selecteer een geschikte emulator uit een van de vele ondersteunde exemplaren in het uitklapmenu, zoals het veelzijdige RetroArch (www.retroarch.com) of het al vermelde VisualBoyAdvance-M. Via Bladeren verwijs je naar het bijbehorende Applicatie Pad. Bevestig met OK (2x). De game is nu toegevoegd en wacht geduldig op je speeltalent.