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
Ontwerp van Nothing Phone (4a) onthuld
Huis

Ontwerp van Nothing Phone (4a) onthuld

Het Britse bedrijf Nothing heeft het design van de aankomende nieuwe smartphone Phone (4a) onthuld.

Dat deed het bedrijf gisteren via social media. De smartphone komt op 5 maart uit. In de tweet hieronder is het ontwerp alvast te zien, met de typische drukke achterkant die we inmiddels gewend zijn van het bedrijf.

De aankomende Phone (4a) heeft een zogeheten 'Glyph Bar'. Dit is een micro-led-paneel aan de zijkant, die mensen zelf kunnen programmeren om ze in verschillende patronen te laten knipperen. Het gaat om de vierkantjes aan de rechterzijde, naast het camera-eiland. De led-lampjes zijn volgens het bedrijf 40 procent feller dan die op de Phone (3a).

Over de precieze technologie van de Nothing Phone (4a) zijn nog geen aankondigingen gedaan, maar volgens geruchten krijgt de smartphone een Snapdragon 7s Gen 4-chip. Er zal ook een duurdere en snellere Phone (4a) Pro verschijnen, al is daar het uiterlijk nog niet van onthuld.

Officieel wordt de Phone (4a) op 5 maart onthuld.

View post on X
▼ Volgende artikel
Waarom je monitor op het moederbord aansluiten je pc vertraagt
© Provokator
Huis

Waarom je monitor op het moederbord aansluiten je pc vertraagt

Je sluit je nieuwe monitor aan, de pc start op, maar de prestaties in zware programma's en games vallen vies tegen. In dit artikel ontdek je waarom de aansluiting op je moederbord de grafische kracht van je computer negeert en hoe je dat direct oplost voor maximale rekenkracht.

Het is een klassieke fout bij het opbouwen van een werkplek: de videokabel in het eerste gat steken dat je tegenkomt aan de achterzijde van je computerkast. Vaak belandt de kabel dan in een van de poorten van het moederbord, terwijl de krachtige videokaart een verdieping lager ongebruikt blijft. Dit misverstand ontstaat omdat beide aansluitingen identiek ogen, maar de interne route die de data aflegt verschilt als dag en nacht. Daarom leggen we je uit hoe je het volledige potentieel van je hardware benut en waarom die extra investering in je grafische kaart anders weggegooid geld is.

De interne omweg via de processor

Als je de HDMI- of DisplayPort-kabel in het moederbord plugt, dwing je de computer om de geïntegreerde grafische chip van de processor te gebruiken (mits die is ingeschakeld via het BIOS). Wij hebben dat uiteraard nog even getest en merkten dat alles inderdaad veel minder soepel aanvoelt zodra de processor deze dubbelrol moet vervullen. In plaats van dat de data direct naar de gespecialiseerde kernen van de videokaart gaat, moet de processor nu zowel de algemene berekeningen als de visuele output verwerken.

Dat veroorzaakt een een hoop warmte in de behuizing en de ventilatoren van de CPU beginnen sneller te loeien om de extra last op te vangen. Het is al met al een onhandige route waarbij de dure videokaart onderin je kast simpelweg geen signaal doorgeeft aan je scherm.

©stas_malyarevsky

Hier moet je de HDMI-kabel dus níét in steken als je de beste prestaties wilt.

Aansluiting heeft wel degelijk een functie

Er zijn echter specifieke scenario's waarin deze aansluiting juist je beste vriend is, bijvoorbeeld tijdens het stellen van een diagnose als er iets opeens niet werkt. Als je pc bijvoorbeeld geen beeld geeft via de videokaart, is inpluggen op het moederbord de enige manier om te controleren of de rest van je systeem nog wel functioneert.

Ook voor een eenvoudige kantoormonitor, die alleen wordt gebruikt voor tekstverwerking en e-mail, volstaat de interne chip van de processor en is een dedicated videokaart niet eens nodig. Deze route bespaart energie en houdt de pc stiller, omdat de zware videokaart (als die er is) in een diepe slaapstand kan blijven. Voor een secundair scherm waarop je alleen statische informatie zoals een chatvenster of Spotify in beeld hebt, kan deze configuratie zelfs een slimme manier zijn om de hoofdvideokaart te ontlasten van onnodige basistaken.

Verlies grafische rekenkracht

Zodra je echter een zware taak start, zoals videobewerking of een moderne game, loopt de pc direct tegen een muur aan. De geïntegreerde graphics hebben namelijk geen eigen snel geheugen en snoepen zodoende rekenkracht van het werkgeheugen van je systeem. Je merkt dat aan haperende beelden, een lage framerate en textures die traag laden.

Zo kan het gebeuren dat een krachtige gaming-pc, die normaal gesproken honderd frames per seconde (100 fps) haalt, via de moederbordaansluiting terugvalt naar een onwerkbare diavoorstelling van minder dan 10 fps. De hardware is aanwezig, maar de snelweg naar het scherm is afgesloten, waardoor je in feite maar een fractie van de capaciteit krijgt waarvoor je hebt betaald.

Situaties waarin je deze aansluiting sowieso moet vermijden

Het aansluiten op het moederbord is een absolute dealbreaker voor iedereen die met visuele content werkt of veeleisende games speelt. Als je voor honderden euro's een videokaart hebt aangeschaft, is het een kostbare vergissing om de monitor ergens anders in te pluggen.

Ook bij het gebruik van een 4K-monitor kan de interne chip de verversingssnelheid vaak niet bijbenen, waardoor je naar een schokkerig beeld zit te kijken terwijl je hardware veel vloeiender kan presteren. Voor creatieve professionals die software gebruiken voor 3D-rendering is het gewoon onmogelijk om te werken; de software zal vaak zelfs een foutmelding geven omdat de benodigde grafische bibliotheken niet worden ondersteund door de standaard processor-chip.

De snelle poorten zitten meestal verder naar onderen en zijn doorgaans horizontaal gepositioneerd.

Zo vind je de juiste poort

Kijk eens goed naar de achterkant van je computerkast om te bepalen of je de volle snelheid benut. De aansluitingen van het moederbord staan altijd verticaal in een blok met andere poorten, zoals usb en ethernet. De aansluitingen van de videokaart zitten een stuk lager en staan horizontaal in een aparte sleuf. Zit je kabel in het bovenste blok, dan werk je op de 'reservemotor'.

Verplaats de kabel naar de horizontale poorten onderaan en je zult direct horen dat de pc anders reageert bij het opstarten. Soms moet je na deze wissel de pc even herstarten, zodat de drivers de nieuwe configuratie herkennen en de resolutie optimaal kunnen instellen voor jouw specifieke beeldscherm.

Klaar voor optimale prestaties?

Het aansluiten van een monitor op het moederbord in plaats van de videokaart zorgt ervoor dat de grafische rekenkracht van de pc onbenut blijft omdat het systeem terugvalt op de beperkte interne chip van de processor. Dat leidt tot een drastische afname in prestaties bij games en zware software, aangezien de gespecialiseerde hardware van de videokaart volledig wordt gepasseerd. Voor een optimale ervaring moet je de monitor altijd in de horizontale poorten van de videokaart prikken. Alleen in noodgevallen of bij eenvoudiger kantoortaken is de moederbordaansluiting een bruikbaar alternatief.