Når du bruger en Raspberry Pi, bruger du sandsynligvis Raspberry Pi OS eller et andet Linux-baseret operativsystem. Uanset om det er Kodi eller en retro gaming suite, er der et underliggende Linux OS.
Emulering er særligt lusket her. Emulatorerne har brug for et operativsystem til at køre på, og næsten alle bruger en strippet version af Raspberry Pi OS eller en tidligere Raspbian-build.
Men hvad nu hvis det var muligt at køre emulatorer på Raspberry Pi uden et operativsystem. Nå, det er det. Her er alt, hvad du behøver at vide for at komme i gang med bare metal-emulering på Raspberry Pi.
Hvad er en emulator?
Internettet er fyldt med forklaringer på, hvad en emulator er (og hvad den ikke er). På det enkleste er en emulator software, der kører programmer skrevet til én platform på en anden. Så du kan for eksempel gerne løbe Android-software på Windows. Dette kræver en Android-emulator.
Mange forskellige emulatorer er tilgængelige. De fleste computere, konsoller og arkadesystemer kan emuleres på computere inklusive Raspberry Pi. Disse er tilgængelige i systemer som RetroPie, Recalbox og Lakka. Fælles for disse værktøjer er, at emulatorerne alle kører på Linux.
Det er let at forveksle emulering med virtuelle maskiner, men disse er faktisk ret forskellige, selvom slutresultatet kan se identisk ud for det utrænede øje.
Som en standardemulator kører en bare metal-emulator programmer beregnet til et system på et andet. Forskellen er, at der ikke er noget underliggende operativsystem; emulatoren kører på computerens "bare metal". I dette tilfælde ville computeren være en Raspberry Pi.
Normalt, når du bruger en emulator på en Raspberry Pi, deler den hardwareressourcer med Raspberry Pi OS (eller en retro-spilpakke). Dette betyder, at der er et operativsystem, det er indbygget i værktøjer, enhver anden kørende software, emulatoren og den emulerede software, der alle kæmper om processor, RAM, storage, endda porte.
Dette kan resultere i latens, hvilket bremser emuleringen.
Med en bare metal-emulator er latency minimal, da der ikke er noget operativsystem.
Adskillige bare metal-emulatorer er blevet udviklet til Raspberry Pi. Disse er hovedsageligt fra 8-bit computing-æraen.
Bare metal-emulatorer skal downloades og kopieres til et microSD-kort. Specifikke instruktioner for hvert værktøj kan findes i de tilsvarende downloadlinks. Bemærk, at Raspberry Pi i de fleste tilfælde simpelthen kan slukkes, mens du bruger en bare metal-emulator. Hot swapping USB-enheder understøttes normalt ikke, så tilslut enheder, før du tænder.
1. ZX Baremulator (ZX Spectrum Emulator)
Sinclair ZX Spectrum blev lanceret i 1982 og var i 10 år en vigtig drivkraft for den begyndende hjemmecomputer- og videospilindustri i Europa. Du kan selvfølgelig efterligne det på en Raspberry Pi og nyde bare metal-emulering med ZX Baremulator.
Denne software giver et par nyttige ekstra skærmbilleder. Den ene er en tastaturreference (ZX Spectrum havde mange kommandoer for hver tast), og den anden lader dig gennemse og vælge båndbilleder, der skal indlæses.
Lær mere i vores guide til opsætning af ZX Baremulator på en Raspberry Pi.
Hent:ZX Baremulator (Gratis)
2. Faux86 (8086 Classic PC Emulator)
Dette er en open source bar metal-emulator designet til at køre klassiske pc'er med CGA/EGA/VGA-skærme. Den vil efterligne 8086 og 80186 instruktionssæt og har pc-højttaler, Adlib og Soundblaster-emulering.
Kort sagt burde Faux86 køre alt, der er skrevet til en IBM-kompatibel pc op til midten af 1990'erne. Hvis det kører på MS-DOS, skal det køre på dette.
Bemærk, at Faux86 bare metal-emulatoren ikke understøtter stort lager. Udvikleren anbefaler: "brug et SD-kort med lille kapacitet og flash billedet som et 32 MB-kort."
Hent:Faux86 (Gratis)
Ligesom Sinclair ZX Spectrum var Dragon 32 en UK-bygget computer, samlet på fabrikker i Wales. (Interessant nok er mange Raspberry Pis også samlet i Wales).
En sjælden computer, der ikke havde rækkevidde af andre britiske computere, Dragon 32 (svarende til Tandy TRS-80 Color Computer) er ikke desto mindre et fascinerende valg til emulering. På trods af det navn på dets hardwarebrødre, spiller mange Dragon 32-spil dog i monokrom.
En enkelt tastaturkommando (F1) starter emulatorens ROM- og CAS-filhåndtering.
Hent:Dragon-32-Rpi-Bare-Metal (Gratis)
4. BMC64 (Commodore 64 Emulator)
Fans af Commodore 64 hjemmecomputeren er måske mere interesserede i BMC64. Denne Raspberry Pi bare metal-emulator giver dig mulighed for at køre Commodore 64, C128, Vic20, Plus/4 og PET-software og har en hurtig opstartstid.
Der er også understøttelse af kabelføring af C64 og Atari-kompatible joysticks til GPIO'en, og endda understøttelse af et ægte C64-tastatur. Det betyder, at skulle du have en C64 med et ødelagt bundkort, kan du erstatte det med en Raspberry Pi, der kører BMC64.
Bemærk, at BMC64 kun er kompatibel med Raspberry Pi 2, 3 og Zero modeller.
Hent: BMC64 (Gratis)
5. CS107E-GB-emulator (Nintendo Game Boy)
CS107E-GB-emulatoren er skabt af studerende til en computerklasse på Stanford og kører på en original Raspberry Pi (du får den sandsynligvis ikke til at køre på en Raspberry Pi 4).
Som GitHub README.md-filen siger:
"Den gode del ved GameBoy generelt er, at den ikke har nogen BIOS. Især hele et givet spil køres direkte fra op-koder fundet i spillets ROM, hvilket gør det til en interessant platform, der ikke kræver nogen proprietær software at efterligne."
Denne bare metal-emulator er en fantastisk illustration af den tid, indsats og forskning, der går med at udvikle disse projekter. Jeg anbefaler, at du tjekker noterne om dette projekt, inklusive tilskrivningerne.
Hent:CS107E-GB-emulator (Gratis)
Emulatorer er ikke den eneste bare metal-oplevelse på Raspberry Pi. En GitHub-søgning på "bar metal Raspberry Pi” afslører alle mulige projekter. Du kunne have en synthesizer, et grundlæggende operativsystem, endda spil, der kører direkte på computeren uden et Linux OS.
Uanset hvad er Raspberry Pi i stand til at køre software med eller uden det Debian-baserede Raspberry Pi OS. Hvis du ikke har kigget længere end det endnu, er tiden nu inde til virkelig at presse din Raspberry Pi.