Når du bruker en Raspberry Pi, bruker du sannsynligvis Raspberry Pi OS eller et annet Linux-basert operativsystem. Enten det er Kodi, eller en retro gaming suite, er det et underliggende Linux OS.
Emulering er spesielt snikende her. Emulatorene trenger et operativsystem å kjøre på, og nesten alle bruker en nedstrippet versjon av Raspberry Pi OS eller en tidligere Raspbian-bygg.
Men hva om det var mulig å kjøre emulatorer på Raspberry Pi uten operativsystem. Vel, det er det. Her er alt du trenger å vite for å komme i gang med bare metal-emulering på Raspberry Pi.
Hva er en emulator?
Internett er fullt av forklaringer på hva en emulator er (og hva den ikke er). På det enkleste er en emulator programvare som kjører programmer skrevet for en plattform på en annen. Så det kan for eksempel være lurt å løpe Android-programvare på Windows. Dette krever en Android-emulator.
Mange forskjellige emulatorer er tilgjengelige. De fleste datamaskiner, konsoller og arkadesystemer kan emuleres på datamaskiner inkludert Raspberry Pi. Disse er tilgjengelige i systemer som RetroPie, Recalbox og Lakka. Felles for disse verktøyene er at emulatorene alle kjører på Linux.
Det er lett å forveksle emulering med virtuelle maskiner, men disse er faktisk ganske forskjellige, selv om sluttresultatet kan virke identisk med det utrente øyet.
Som en standard emulator, kjører en bare metal-emulator programmer beregnet for ett system på et annet. Forskjellen er at det ikke er noe underliggende operativsystem; emulatoren kjører på "bare metall" på datamaskinen. I dette tilfellet vil datamaskinen være en Raspberry Pi.
Vanligvis når du bruker en emulator på en Raspberry Pi, deler den maskinvareressurser med Raspberry Pi OS (eller en retro-spillpakke). Dette betyr at det er et operativsystem, det er innebygde verktøy, all annen kjørende programvare, emulatoren og den emulerte programvaren som kjemper om prosessor, RAM, lagring, til og med porter.
Dette kan resultere i ventetid, og redusere emuleringen.
Med en bare metal-emulator er ventetiden minimal siden det ikke er noe operativsystem.
Flere bare metal-emulatorer er utviklet for Raspberry Pi. Disse er i stor grad fra 8-bits datatid.
Bare metal-emulatorer bør lastes ned og kopieres til et microSD-kort. Spesifikke instruksjoner for hvert verktøy finner du i de tilhørende nedlastingslenkene. Merk at i de fleste tilfeller kan Raspberry Pi ganske enkelt slås av mens du bruker en bart metall-emulator. Hot-swap-USB-enheter støttes vanligvis ikke, så koble til enheter før du slår på.
1. ZX Baremulator (ZX Spectrum Emulator)
Sinclair ZX Spectrum ble lansert i 1982 og var en nøkkeldriver for den gryende hjemmedata- og videospillindustrien i Europa i 10 år. Du kan selvfølgelig emulere det på en Raspberry Pi, og nyte bare metall-emulering med ZX Baremulator.
Denne programvaren gir et par nyttige tilleggsskjermer. Den ene er en tastaturreferanse (ZX Spectrum hadde mange kommandoer for hver tast) og den andre lar deg bla gjennom og velge båndbilder som skal lastes.
Lær mer i vår guide til sette opp ZX Baremulator på en Raspberry Pi.
Nedlasting:ZX Baremulator (Gratis)
2. Faux86 (8086 Classic PC Emulator)
Dette er en åpen kildekode-emulator av bare metall designet for å kjøre klassiske PC-er med CGA/EGA/VGA-skjermer. Den vil emulere 8086 og 80186 instruksjonssett, og har PC-høyttaler, Adlib og Soundblaster-emulering.
Kort sagt, Faux86 skulle kjøre alt skrevet for en IBM-kompatibel PC frem til midten av 1990-tallet. Hvis den kjører på MS-DOS, bør den kjøres på denne.
Legg merke til at Faux86 bare metal-emulatoren ikke har støtte for stor lagring. Utvikleren anbefaler: "bruk et SD-kort med liten kapasitet og flash bildet som et 32 MB-kort."
Nedlasting:Faux86 (Gratis)
I likhet med Sinclair ZX Spectrum, var Dragon 32 en datamaskin bygget i Storbritannia, satt sammen i fabrikker i Wales. (Interessant nok er mange Raspberry Pis også satt sammen i Wales).
En sjelden datamaskin som ikke hadde rekkevidden til andre britiske datamaskiner, Dragon 32 (lik Tandy TRS-80 Color Computer) er likevel et fascinerende valg for emulering. Til tross for det navnet på maskinvarebrødrene, spilles mange Dragon 32-spill i monokrom.
En enkelt tastaturkommando (F1) starter emulatorens ROM- og CAS-filbehandling.
Nedlasting:Dragon-32-Rpi-Bare-Metal (Gratis)
4. BMC64 (Commodore 64 Emulator)
Fans av Commodore 64 hjemmedatamaskinen kan være mer interessert i BMC64. Denne Raspberry Pi bare metal-emulatoren lar deg kjøre Commodore 64, C128, Vic20, Plus/4 og PET-programvare, og har en rask oppstartstid.
Det er også støtte for ledning av C64 og Atari-kompatible joysticks til GPIO, og til og med støtte for et ekte C64-tastatur. Dette betyr at skulle du ha en C64 med et ødelagt hovedkort, kan du erstatte det med en Raspberry Pi som kjører BMC64.
Merk at BMC64 kun er kompatibel med Raspberry Pi 2, 3 og Zero-modeller.
Nedlasting: BMC64 (Gratis)
5. CS107E-GB-emulator (Nintendo Game Boy)
CS107E-GB-emulatoren er laget av studenter for en dataklasse på Stanford, og kjører på en original Raspberry Pi (du vil sannsynligvis ikke få den til å kjøre på en Raspberry Pi 4).
Som GitHub README.md-filen sier:
"Den fine delen med GameBoy generelt er at den ikke har noe BIOS. Spesielt kjøres hele et gitt spill direkte fra op-koder som finnes i spillets ROM, noe som gjør det til en interessant plattform som ikke krever proprietær programvare for å emulere."
Denne bare metal-emulatoren er en flott illustrasjon av tiden, innsatsen og forskningen som går med til å utvikle disse prosjektene. Jeg anbefaler at du sjekker notatene om dette prosjektet, inkludert attribusjonene.
Nedlasting:CS107E-GB-emulator (Gratis)
Emulatorer er ikke den eneste bare metal-opplevelsen på Raspberry Pi. Et GitHub-søk på "bart metall Raspberry Pi” avslører alle slags prosjekter. Du kan ha en synthesizer, et grunnleggende operativsystem, til og med spill som kjører direkte på datamaskinen uten et Linux OS.
Uansett er Raspberry Pi i stand til å kjøre programvare med eller uten Debian-baserte Raspberry Pi OS. Hvis du ikke har sett lenger enn det ennå, er det nå på tide å virkelig presse Raspberry Pi.