ID.nl logo
Zo bouw je een retrocomputer
© Reshift Digital
Zekerheid & gemak

Zo bouw je een retrocomputer

Ben je een liefhebber van oude computersystemen, dan heb je al gemerkt dat de apparaten steeds schaarser en duurder worden. Voor een originele 80486, MSX, Amiga, Atari ST of Amstrad moet je diep in de buidel tasten … áls je er al een tegenkomt. Voor velen zit er dan ook niets anders op dan met emulators of virtuele machines aan de slag te gaan. Dat geeft helaas niet altijd het gewenste resultaat. Gelukkig is er een alternatief: zelf bouwen met een speciale chip en losse onderdelen.

Spreekt het onderwerp retrocomputing of retrogames je aan, dan heb je de FPGA-chip (field-programmable gate array) wellicht al eens voorbij zien komen. De FPGA wordt vaak aangeprezen als een ‘wonderchip’ die totale nauwkeurigheid biedt en geen vertraging heeft zoals een emulator. Verschillende commerciële bedrijven, zoals www.analogue.co, gebruiken de FPGA als hart van hun spelsystemen en hebben daar groot succes mee.

Dankzij de betaalbaarheid neemt de populariteit bij hobbyisten die er eigen opensource-projecten mee starten dan ook snel toe. Een van die opensource-projecten is het MiSTer-project dat op een gebruiksvriendelijke manier verschillende oude computers via de FPGA-chip van de Terasic DE10-Nano-development-kit opnieuw tot leven brengt. Op dit moment wordt gewerkt aan verschillende FPGA-implementaties zoals een 80486-pc, NeoGeo, Game Boy en Sega Mega CD. Het aantal projecten neemt snel toe.

01 Wat is een FPGA?

De beste manier om een FPGA te omschrijven, is dat het een flexibele chip is die je naar wens kunt (her)programmeren. De moderne FPGA bestaat uit een groot aantal programmeerbare logische schakelingen die samen een functie kunnen uitvoeren. Je kunt de chip zodanig programmeren dat hij precies doet wat je wilt en volledig geoptimaliseerd is voor de functie waarvoor hij geprogrammeerd is. Het mooie is dat de FPGA ook weer opnieuw geprogrammeerd kan worden om een nieuwe functie uit te voeren. De programmeerbare infrastructuur kent bijna geen grenzen, een FPGA kan worden gebruikt om elke gewenste logische functie of verzameling functies te implementeren, zelfs meerdere processorkernen. De FPGA is vooral bedoeld voor de professionele doeleinden waarbij data-intensieve toepassingen veel efficiënter verwerkt moeten worden. Maar een FPGA-chip kan dus ook gebruikt worden om zich voor te doen als een oude retromachine.

Zo maak je van je pc een retrogame-emulator

02 Emulatie en her-implementatie

Emuleren is een uiterst inefficiënte manier om hardware te simuleren. Voor een vrij simpele hardware-emulatie is naar verhouding een beest van een processor nodig. Ook worden in de meeste gevallen niet alle instructies goed geëmuleerd, zodat de software uiteindelijk niet werkt zoals het op de originele hardware deed. Daarbij hebben vele aspecten invloed op de prestaties. Is het systeem even druk met een ander proces, dan is dat vrijwel direct te merken in de emulatie. Bij het spelen een spelletje kan dat ongewenste resultaten geven. Denk aan een platformspel dat de ene keer een tiende van een seconde eerder input vraagt om te springen en een andere keer een tiende later. De ene keer tuimel je de afgrond in, de andere keer haal je net het einde niet.

Een relatief eenvoudige FPGA kan dit trucje veel efficiënter uitvoeren, omdat de originele elektronische circuits op de FPGA worden gerecreëerd en de instructies niet softwarematig vertaalt hoeven worden. Deze werkwijze geeft nagenoeg dezelfde ervaring als de originele hardware, omdat de instructies uitgevoerd worden zoals dat bij het origineel ook gebeurde. Bij sommige implementaties gaat het zelfs zo ver dat bepaalde vertragingen, die op de originele hardware optreden, ook optreden bij de emulatie via de FPGA. Bij gebruik van een FPGA spreekt de community liever niet over emulatie, maar over het ‘her-implementeren’ van de originele hardware.

©PXimport

03 Van Minimig tot MiSTer

De eerste stappen om een FPGA te gebruiken voor het recreëren van een retrocomputer werden gezet in januari 2005. Toen kwam de Nederlandse elektrotechnisch ingenieur Dennis van Weeren met het concept om een nieuwe Amiga 500 met de FPGA als basis te ontwikkelen: de Minimig of Mini Amiga. Waarschijnlijk heeft dit project anderen geïnspireerd en zijn hier weer verschillende ideeën uit voortgevloeid. Een daarvan is de MiST FPGA-computer, ontworpen rondom de Intel Cyclone III FPGA en bedoeld om klassieke 16bit-computers zoals de Amiga en Atari ST op te implementeren. De vrij actieve community heeft verschillende zogenoemde cores voor het systeem ontwikkeld, zoals een NES (Nintendo Entertainment System), Apple+ II en Commodore 64. Maar de Cyclone III liep tegen zijn limiet. Veel meer dan deze 8- en 16bit-systemen pasten niet in deze FPGA, er was een grotere FPGA nodig.

De Intel Altera Cyclone III FPGA Development Kit kostte destijds ruim 1.200 dollar en was daarom niet interessant om als basis te gebruiken voor de MiST FPGA-computer. De Terasic DE10-Nano Development Kit met Cyclone V FPGA heeft een veel lager prijskaartje van ongeveer 110 euro. Deze development kit werd de basis voor het MiSTer-project, dat opgestart is door Alexey Melnikov. Deze grotere FPGA maakt veel meer mogelijk, zo kan er een 80486-pc op geïmplementeerd worden. Verder zijn er cores van een Sega Mega CD, GameBoy Advance en NeoGeo AES.

©PXimport

04 MiSTer-uitbreidingen

Een van de uitbreidingen voor het MiSTer-project is het MiSTer IO Board. Dit uitbreidingsbord is ook ontworpen Alexey Melnikov (de projectleider van het MiSTer-project). Het ontwerp is vrij verkrijgbaar voor iedereen. Het MiSTer IO Board is een optionele uitbreiding die boven op de Terasic DE10-Nano-soc wordt aangesloten. Het voegt functies toe aan het MiSTer-platform, zoals een VGA-connector voor analoge videobeelden, 3,5mm-audiopoort, drie knoppen, drie statusleds, een tweede slot voor een micro-sd-kaart, een fan voor koeling en een gebruikerspoort in de vorm van een usb-connector (dit is geen normale usb-poort, maar een soort seriële poort).

Het IO Board is niet de populairste uitbreidingsmodule, dat is de MiSTer SDRAM-geheugenmodule. Het ddr3-geheugen dat op de Terasic DE10-Nano zit is te snel voor de meeste cores. Het heeft een te hoge latentie en is niet geschikt voor de timings die nodig zijn voor het edo-dram van vroeger. Er zijn drie varianten van de MiSTer SDRAM-geheugenmodule met 32, 64 en 128 MB geheugen. De SDRAM-geheugenmodule met 128 MB geheugen is nodig voor de nieuwste cores zoals de NeoGeo en om Game Boy Advance-roms op te laden. Een volledig overzicht van de uitbreidingen en de cores vind je op de wiki-pagina.

©PXimport

05 Waar te koop?

MiSTer is opensource en vrij toegankelijk voor iedereen. Het wordt door de community in leven gehouden. De aanbieders van onderdelen hebben deze vaak zelf in elkaar gezet. Veel van deze aanbieders zijn gevestigd in de VS. Maar ook op Chinese websites als AliExpress duiken steeds vaker onderdelen op voor het MiSTer-project. Wij hebben onderdelen van de webshop www.misterfpga.co.uk gebruikt. Deze webshop is gevestigd in het Verenigd Koninkrijk en biedt een brede keuze aan uitbreidingen. De Terasic DE10-Nano Development Kit is bij verschillende webshops te vinden. Wij kochten ons exemplaar via www.digikey.com. Op het forum www.misterfpga.org vind je meer informatie over het project en de verschillende uitbreidingen.

©PXimport

06 Zelf aan de slag

Om met MiSTer aan de slag te gaan, hoef je natuurlijk niet direct álle onderdelen aan te schaffen. De meest belangrijke onderdelen zijn de Terasic DE10-Nano, een koelelement en een MiSTer SDRAM-geheugenmodule. Het IO Board, de usb-hub en de behuizing kunnen ook op een later moment worden toegevoegd. Wel heb je een omvormer nodig van micro-usb-b (mannetje) naar usb-a (vrouwtje) nodig om het toetsenbord op aan te sluiten. Eventueel kun je ook een eigen usb-hub aansluiten op de usb-otg-connector.

▼ Volgende artikel
God of War-studio onthult komende zomer mogelijk nieuwe game
Huis

God of War-studio onthult komende zomer mogelijk nieuwe game

Sony's Santa Monica Studio, de ontwikkelaar van de God of War-games, zou aankomende zomer wel eens een nieuwe game kunnen onthullen.

Daar lijkt een opmerking van God of War-acteur Christopher Judge naar te hinten. Judge speelt de rol van Kratos in de moderne God of War-spellen, en werd onlangs aan de tand gevoeld door een streamer op Fan Expo in Vancouver - al lijkt het er op dat Judge niet doorhad dat hij werd opgenomen.

Daar werd hij gevraagd naar de aankomende remake van de God of War-trilogie. Deze remake werd vorige week tijdens de State of Play-uitzending aangekondigd. Duidelijk is dat TC Carson daarin de rol van Kratos gaat vertolken, aangezien hij die rol ook in de trilogie speelde voordat Judge het stokje overnam.

In gesprek met de streamer liet Judge dan ook weten dat hij niet voorkomt in de remake van de trilogie. Hij meldt echter wel dat de remake een "nieuw vechtsysteem" zal bevatten. Daarna opperde hij het volgende: "Eind deze zomer ga je waarschijnlijk horen over wat we aan het doen zijn."

De nieuwe Santa Monica Studio-game

Hoewel hij Santa Monica Studio niet bij naam noemt, is het gezien de context van het gesprek mogelijk dat Judge het over een nieuwe game van die ontwikkelaar had waar hij wederom een rol in heeft.

Cory Barlog, de creative director van Santa Monica Studio, werkt volgens berichten al enige tijd aan een nog onaangekondigd project. Een betrouwbare insider liet onlangs doorschemeren dat de game in 2027 uit zal komen en dat het grootste gedeelte van de studio aan dit nieuwe spel werkt. De remake van de God of War-trilogie zou zich nog maar in pre-productie bevinden.

Volgens eerdere geruchten zal de nieuwe Santa Monica Studio-game geen compleet nieuwe IP betreffen, maar wel zo aanvoelen. In combinatie met Judge's recente opmerking speculeren fans dat het mogelijk om een nieuwe God of War-game gaat met een compleet andere setting - net zoals het in 2018 verschenen God of War geheel anders aanvoelde dan de trilogie die daarvoor kwam.

Tv-serie gebaseerd op God of War

Ondertussen wordt er hard gewerkt aan een tv-serie gebaseerd op God of War, waarvan de opnames als het goed is deze maand van start gaan. De serie komt op een nog onbekend moment naar Amazon Prime Video.

Afgelopen januari werd al onthuld wie de rol van hoofdpersonage Kratos gaat spelen. Dat is Ryan Hurst, bekend voor zijn rol in Sons of Anarchy. In de game God of War Ragnarök speelde hij daarnaast de rol van Thor. In de tv-serie zal hij dus van rol wisselen. Callum Vinson gaat de rol van Kratos' zoon Atreus spelen.

▼ Volgende artikel
Waar voor je geld: 5 gamingmuizen voor minder dan 120 euro
© ID.nl
Huis

Waar voor je geld: 5 gamingmuizen voor minder dan 120 euro

Ben je fanatiek gamer en doe je dat op een desktopcomputer of laptop? Dan mag een goede gamingmuis natuurlijk niet ontbreken. Wij vonden op Kieskeurig.nl goede gamingmuizen voor minder dan 100 euro.

Logitech G Pro X

Logitech G Pro X Superlight is een draadloze muis die communiceert via een meegeleverde 2.4 GHz USB-ontvanger met je Windows-computer. Binnenin bevindt zich een Hero 25K-sensor, waarmee je de gevoeligheid kunt instellen tot een maximum van 25.600 dpi. Je laadt de ingebouwde accu op via de meegeleverde micro-USB-kabel. Wanneer de batterij volledig is opgeladen, gebruik je het apparaat tot 70 uur onafgebroken voordat je deze weer op de stroom moet aansluiten. Het ontwerp weegt 63 gram en heeft een symmetrische vorm, al bevinden de twee duimknoppen zich uitsluitend aan de linkerkant.

In totaal heb je de beschikking over vijf programmeerbare knoppen: de linker- en rechtermuisknop, een klikbaar scrollwiel en de twee genoemde zijknoppen. Aan de onderkant van de behuizing zitten teflon-voetjes (PTFE) die contact maken met de ondergrond. Via de Logitech G Hub software op je pc pas je de instellingen van de DPI en de knoppen aan. De muis heeft een polling rate van 1000 Hz, wat betekent dat de positie duizend keer per seconde aan het systeem wordt doorgegeven.

Gewicht: 63 gram
Programmeerbare knoppen: 5
Sensor: 25.600 dpi

Razer DeathAdder V3

Razer DeathAdder V3 verbind je met je computer door middel van een vaste, gevlochten kabel met een USB-A-aansluiting. Deze muis heeft een asymmetrisch ontwerp dat specifiek is gevormd voor rechtshandig gebruik. Onder de linker- en rechtermuisknop zijn optische schakelaars geïnstalleerd die door middel van een lichtsignaal registreren wanneer je klikt. De interne Focus Pro 30K optische sensor ondersteunt resoluties tot maximaal 30.000 dpi.

Je bedient in totaal zes knoppen, waaronder een speciale knop aan de onderkant waarmee je schakelt tussen verschillende, vooraf ingestelde DPI-profielen zonder dat je de software hoeft te openen. Verder ondersteunt het model een maximale polling rate van 8000 Hz. Dit houdt in dat de muis vaker per seconde gegevens naar je Windows-pc stuurt dan standaardmodellen. Het gewicht van de behuizing bedraagt 59 gram. Om de functies van de knoppen toe te wijzen of macro's in te stellen, gebruik je de Razer Synapse 3-software. Je slaat deze instellingen vervolgens direct op in het ingebouwde geheugen van het invoerapparaat, zodat ze behouden blijven als je hem op een ander systeem aansluit.

Gewicht: 59 gram
Programmeerbare knoppen: 6
Sensor: 30.000 dpi

SteelSeries Rival 5

SteelSeries Rival 5 beschikt over negen afzonderlijk programmeerbare knoppen. Aan de linkerzijde van de behuizing vind je naast de reguliere knoppen ook een tuimelschakelaar die je zowel omhoog als omlaag kunt bewegen, plus een extra knop aan de voorkant van het duimgedeelte. Het apparaat is ontworpen voor rechtshandigen en weegt 85 gram. De registratie van je bewegingen gebeurt via een TrueMove Air optische sensor.

Deze sensor heeft een maximaal bereik van 18.000 dpi en een registratiesnelheid van 400 IPS. Je sluit het apparaat aan op een vrije USB-poort van je Windows-systeem via de vaste, met microvezel beklede kabel. De behuizing bevat tien verlichtingszones die onafhankelijk van elkaar in te stellen zijn via de SteelSeries GG-software. In deze applicatie pas je ook de CPI-waarden en de toewijzing van de negen knoppen aan. De hoofdschakelaars onder de muisknoppen zijn ontworpen met een IP54-certificering, wat inhoudt dat ze afgeschermd zijn tegen de invoer van stof en opspattend water. Er zijn grote glijders van PTFE op de onderkant gemonteerd voor de verplaatsing over een muismat.

Gewicht: 85 gram
Programmeerbare knoppen: 9
Sensor: 18.000 dpi

Corsair M65 RGB Ultra

Corsair M65 RGB Ultra is opgebouwd rondom een frame van geanodiseerd aluminium. Aan de onderkant van dit frame bevinden zich drie uitsparingen waar je meegeleverde gewichtjes in kunt plaatsen. Hiermee verander je het standaardgewicht van 97 gram naar maximaal 115 gram en pas je het zwaartepunt van het apparaat aan. Een opvallend kenmerk aan de linkerzijkant is de zogeheten 'sniper-knop'. Wanneer je deze ingedrukt houdt, verlaagt de muis tijdelijk de DPI-waarde, wat de cursorbeweging in Windows vertraagt.

In totaal zijn er acht programmeerbare knoppen aanwezig. De optische Marksman-sensor registreert bewegingen tot een instelbaar maximum van 26.000 dpi. De verbinding verloopt via een vaste USB-kabel en het apparaat maakt gebruik van AXON-technologie. Deze technologie maakt een polling rate tot 8000 Hz mogelijk. Binnenin is een zes-assige gyroscoop en versnellingsmeter ingebouwd. Met deze sensoren meet het apparaat de fysieke kanteling, waardoor je via de iCUE-software acties kunt koppelen aan het optillen of scheefhouden van de muis.

Gewicht: 97 gram / aanpasbaar tot 115 gram
Programmeerbare knoppen: 8
Sensor: 26.000 dpi

Glorious Model O 2 Wired

Glorious Model O 2 Wired heeft een gesloten voorkant, maar is op de handpalmsteun en de onderzijde voorzien van uitsparingen in een honingraatpatroon. Door deze fysieke structuur te gebruiken, is het totale gewicht van de behuizing op 59 gram gehouden. Aan de voorzijde bevindt zich een vaste, flexibele kabel met een standaard USB-A-stekker voor in je pc. Het apparaat maakt gebruik van een BAMF 2.0 optische sensor. Je past de resolutie van deze sensor handmatig aan tot een bovengrens van 26.000 dpi, waarbij snelheden tot 650 IPS worden geregistreerd.

De linker- en rechtermuisknop zijn voorzien van mechanische schakelaars. Bovenop de muis, direct achter het scrollwiel, bevindt zich een knop waarmee je stapsgewijs de DPI-waarde wijzigt. De actuele stand lees je af aan een indicator aan de onderkant. Via de Glorious Core-software pas je in Windows zaken aan zoals de 'lift-off distance', de polling rate (tot 1000 Hz) en de reactietijd van de knoppen. Er zijn in totaal zes knoppen in de behuizing verwerkt.

Gewicht: 59 gram
Programmeerbare knoppen: 6
Sensor: 26.000 dpi