Wanneer u een Raspberry Pi gebruikt, gebruikt u waarschijnlijk Raspberry Pi OS of een ander op Linux gebaseerd besturingssysteem. Of het nu Kodi is of een retro-gamingsuite, er is een onderliggend Linux-besturingssysteem.
Emulatie is hier bijzonder stiekem. De emulators hebben een besturingssysteem nodig om op te draaien en gebruiken bijna allemaal een uitgeklede versie van Raspberry Pi OS of een eerdere Raspbian-build.
Maar wat als het mogelijk was om emulators op de Raspberry Pi uit te voeren zonder besturingssysteem? Wel het is. Hier is alles wat u moet weten om aan de slag te gaan met bare metal-emulatie op de Raspberry Pi.
Wat is een emulator?
Het internet staat vol met uitleg over wat een emulator is (en wat het niet is). Op zijn eenvoudigst is een emulator software die programma's uitvoert die voor het ene platform op het andere zijn geschreven. Dus misschien wil je bijvoorbeeld hardlopen
Android-software op Windows. Hiervoor is een Android-emulator vereist.Er zijn veel verschillende emulators beschikbaar. De meeste computers, consoles en arcadesystemen kunnen worden geëmuleerd op computers, waaronder de Raspberry Pi. Deze zijn beschikbaar in systemen zoals RetroPie, Recalbox en Lakka. Wat deze tools gemeen hebben, is dat de emulators allemaal op Linux draaien.
Het is gemakkelijk om emulatie te verwarren met virtuele machines, maar deze zijn in feite heel anders, hoewel het eindresultaat identiek kan lijken voor het ongetrainde oog.
Net als een standaardemulator voert een bare metal-emulator programma's uit die bedoeld zijn voor het ene systeem op het andere. Het verschil is dat er geen onderliggend besturingssysteem is; de emulator draait op het "bare metal" van de computer. In dit geval zou die computer een Raspberry Pi zijn.
Wanneer u een emulator op een Raspberry Pi gebruikt, deelt deze meestal hardwarebronnen met Raspberry Pi OS (of een retro-gamingsuite). Dit betekent dat er een besturingssysteem is, ingebouwde tools, andere actieve software, de emulator en de geëmuleerde software die allemaal strijden om processor, RAM, opslag en zelfs poorten.
Dit kan resulteren in latentie, waardoor de emulatie wordt vertraagd.
Met een bare metal-emulator is de latentie minimaal omdat er geen besturingssysteem is.
Er zijn verschillende bare metal-emulators ontwikkeld voor de Raspberry Pi. Deze komen grotendeels uit het 8-bit computertijdperk.
Bare metal-emulators moeten worden gedownload en gekopieerd naar een microSD-kaart. Specifieke instructies voor elke tool zijn te vinden in de bijbehorende downloadlinks. Merk op dat de Raspberry Pi in de meeste gevallen eenvoudig kan worden uitgeschakeld met behulp van een bare metal-emulator. Ook wordt het hot-swapping van USB-apparaten meestal niet ondersteund, dus sluit apparaten aan voordat u opstart.
1. ZX Baremulator (ZX Spectrum-emulator)
De Sinclair ZX Spectrum, gelanceerd in 1982, was gedurende 10 jaar een belangrijke aanjager van de ontluikende homecomputer- en videogame-industrie in Europa. Je kunt het natuurlijk emuleren op een Raspberry Pi en genieten van bare metal-emulatie met de ZX Baremulator.
Deze software biedt een aantal handige extra schermen. De ene is een toetsenbordreferentie (de ZX Spectrum had veel opdrachten voor elke toets) en de andere laat je bladeren en bandafbeeldingen selecteren om te laden.
Lees meer in onze gids voor ZX Baremulator instellen op een Raspberry Pi.
Downloaden:ZX Baremulator (Vrij)
2. Faux86 (8086 klassieke pc-emulator)
Dit is een open source bare metal-emulator die is ontworpen om klassieke pc's met CGA/EGA/VGA-schermen uit te voeren. Het emuleert 8086- en 80186-instructiesets en heeft pc-luidspreker-, Adlib- en Soundblaster-emulatie.
Kortom, Faux86 zou tot het midden van de jaren negentig alles moeten draaien dat is geschreven voor een IBM-compatibele pc. Als het op MS-DOS draait, zou het hierop moeten draaien.
Merk op dat de Faux86 bare metal-emulator geen ondersteuning biedt voor grote opslag. De ontwikkelaar raadt aan: "gebruik een SD-kaart met een kleine capaciteit en flash de afbeelding als een kaart van 32 MB."
Downloaden:nep86 (Vrij)
Net als de Sinclair ZX Spectrum was de Dragon 32 een in het VK gebouwde computer, geassembleerd in fabrieken in Wales. (Interessant is dat veel Raspberry Pi's ook in Wales worden geassembleerd).
Een zeldzame computer die niet het bereik had van andere Britse computers, de Dragon 32 (vergelijkbaar met de Tandy TRS-80 Color Computer) is niettemin een fascinerende keuze voor emulatie. Ondanks die naam van zijn hardwarebroeders spelen veel Dragon 32-games echter in zwart-wit.
Een enkele toetsenbordopdracht (F1) start de ROM- en CAS-bestandsbeheerder van de emulator.
Downloaden:Dragon-32-Rpi-Bare-Metal (Vrij)
4. BMC64 (Commodore 64-emulator)
Fans van de Commodore 64 homecomputer zijn misschien meer geïnteresseerd in BMC64. Met deze Raspberry Pi bare metal-emulator kun je Commodore 64-, C128-, Vic20-, Plus/4- en PET-software uitvoeren en heeft hij een snelle opstarttijd.
Er is ook ondersteuning voor het aansluiten van C64- en Atari-compatibele joysticks op de GPIO, en zelfs voor een echt C64-toetsenbord. Dit betekent dat als je een C64 hebt met een kapot moederbord, je deze kunt vervangen door een Raspberry Pi met BMC64.
Merk op dat BMC64 alleen compatibel is met Raspberry Pi 2-, 3- en Zero-modellen.
Downloaden: BMC64 (Vrij)
5. CS107E-GB-emulator (Nintendo Game Boy)
De CS107E-GB-emulator is gemaakt door studenten voor een computerles op Stanford en draait op een originele Raspberry Pi (je krijgt hem waarschijnlijk niet op een Raspberry Pi 4).
Zoals in het GitHub README.md-bestand staat:
“Het leuke aan de GameBoy in het algemeen is dat hij geen BIOS heeft. In het bijzonder wordt het geheel van een bepaalde game rechtstreeks uitgevoerd vanuit op-codes die in de ROM van de game zijn gevonden, wat het een interessant platform maakt dat geen propriëtaire software vereist om te emuleren.
Deze bare metal-emulator is een geweldige illustratie van de tijd, moeite en onderzoek die nodig zijn om deze projecten te ontwikkelen. Ik raad je aan de notities over dit project te bekijken, inclusief de toeschrijvingen.
Downloaden:CS107E-GB-emulator (Vrij)
Emulators zijn niet de enige bare metal-ervaring op de Raspberry Pi. Een GitHub-zoekopdracht van "kale metalen Raspberry Pi” onthult allerlei projecten. Je zou een synthesizer kunnen hebben, een basisbesturingssysteem, zelfs games die rechtstreeks op de computer kunnen worden uitgevoerd zonder een Linux-besturingssysteem.
Hoe het ook zij, de Raspberry Pi kan software draaien met of zonder het op Debian gebaseerde Raspberry Pi OS. Als je nog niet verder hebt gekeken, is dit het moment om je Raspberry Pi echt te pushen.