Guide
(Foto: Shutterstock)

Slik laget vi vår egen hjemmesnekrede arkademaskin

Med knøttemaskinen Raspberry Pi 2 gikk det lekende lett.

Hei, dette er en Ekstra-sak som noen har delt med deg.

Lyst til å lese mer? Få fri tilgang, ny og bedre forside og annonsefritt nettsted for kun 49,- i måneden.
Prøv én måned gratis Les mer om Tek Ekstra

Har du drømt om å ha din egen arkademaskin fra 80-tallet stående i stua? Nå kan du bygge din egen kopi for en «slikk og ingenting». Knøttemaskinen Raspberry Pi gjør det nemlig svært enkelt å lage en arkademaskin. 

Raspberry Pi er en liten datamaskin på størrelse med et bankkort, med USB-tilkoblinger og utgang for både skjerm og lyd. Det som er ekstra interessant med Raspberry Pi – sett bort ifra den lille størrelsen – er at den billigste modellen bare koster i underkant av 300 kroner. Dette gjør at man kan bruke den til forskjellige hobbyprosjekter uten at det koster skjorta.

Nylig ble Raspberry Pi 2 sluppet på markedet, med lovnader om at den skulle være seks ganger raskere enn forgjengeren. Vi testet ytelsen til Raspberry Pi 2 for noen måneder siden, og idag skal vi bygge vår egen arkademaskin rundt denne. Vi skal lage den ved å gjenbruke gamle deler vi har liggende så godt det lar seg gjøre. For å få til dette trenger vi en PC-skjerm, noen sponplater til å lage kabinett, en joystick og noen trykknapper.

Hvordan bygge en arkademaskin?

Raspberry Pi 2, en liten datamaskin på størrelse med et bankkort.
Raspberry Pi 2, en liten datamaskin på størrelse med et bankkort. Foto: Raspberry Pi

For å lage en arkademaskin av Raspberry Pi trenger vi å installere en emulator for de spillmaskinene vi vil spille. En emulator er et program som oppfører seg som om det skulle være en annen maskin – som for eksempel en GameBoy – og gjør at vi kan spille GameBoy-spill på Raspberry Pi-en. Det første vi skal gjøre er derfor å installere en emulator for de spillene vi vil spille på arkademaskinen vår.

Vi vil at dette skal se ut som en arkademaskin fra 80-tallet. Derfor skal vi bygge et kabinett som er inspirert av disse maskinene. Men det skal også være enkelt å bygge, slik at vi kan klare å bygge det på egenhånd. Vi har noen gamle sponplater liggende i kjelleren som vi har lyst til å bruke som materiale. Til kabinettet trenger vi også en joystick og noen knapper i samme retrostil. Det er viktig at joysticken er solid og kan tåle tøff håndtering av engasjerte spillere.

Vi har delt denne guiden inn i tre deler:

  1. Oppsett av programvare på Raspberry Pi
  2. Tilkobling av joystick og knapper
  3. Bygging av kabinett

Takk til Digital Impuls for lån av Raspberry Pi 2.

For å kunne spille gamle spill på arkademaskinen vår, trenger vi å installere en eller flere emulatorer, avhengig av hvilke spill vi vil spille. Så det første vi gjorde var å undersøke litt rundt mulige løsninger for programvare. Her fant vi mange forskjellig løsninger, blant annet Chameleon, PiPlay og RetroPie.

Etter å ha kikket på litt forskjellige prosjekter, bestemte vi oss for å bruke RetroPie fordi det virket som et enkelt system å både installere og bruke. RetroPie er et operativsystem basert på Raspbian, som har mange av de mest populære emulatorene installert. I tillegg er det laget slik at når man starter opp Raspberry Pi-en, så starter man opp rett inn i et system hvor man kan velge hvilken emulator man vil bruke.

Installere RetroPie

Å installere et operativsystem på Raspberry Pi gjøres ved å kopiere hele operativsystemet inn på et minnekort, og sette minnekortet inn i Raspberry Pi-en. Du kan derfor ha flere forskjellige minnekort med forskjellige operativsystemer som du bytter imellom, dersom du vil bruke Raspberry Pi-en til forskjellige formål. 

Vi starter med å laste ned RetroPie fra denne nettsiden:

http://blog.petrockblock.com/retropie/

Når vi laster ned RetroPie, får vi en såkalt image-fil. Dette er en fil som inneholder alt som trengs for å kjøre operativsystemet. Denne filen må vi kopiere over til minnekortet vårt. Vi trenger derfor å bruke en datamaskin med minnekortleser.

Men å kopiere en image-fil til et minnekort er ikke det samme som å kopiere over vanlige filer. Grunnen til dette er at vi vil at Raspberry Pi skal kunne starte direkte fra minnekortet. For å få til dette må minnekortet gjøres om til en oppstartsdisk. Du kan få til dette på flere forskjellige måter, og metoden avhenger av om du bruker Windows, Linux eller Mac.

Etter å ha kikket på litt forskjellige prosjekter, bestemte vi oss for å bruke RetroPie fordi det virket som et enkelt system å både installere og bruke

Dette kan for noen virke litt avansert og skummelt, men heldigvis finnes det en veldig god beskrivelse av nøyaktig hvordan man gjør dette – steg for steg – for både Windows, Mac og Linux her:

http://www.raspberrypi.org/documentation/installation/installing-images/

Etter å ha fulgt fremgangsmåten over, satte vi inn minnekortet i Rapsberry Pi-en vår og startet opp. Etter noen sekunder, startet emulator-systemet automatisk. Her får vi muligheten til å velge mellom noen få forskjellige emulatorer. Men ingen spill følger med, bare emulatorene. Mange av emulatorene er heller ikke synlige, dette er fordi vi ikke har lagt inn noen spill til dem. Når vi legger inn spill til en emulator, vil denne dukke opp på skjermen.

«Read-Only Memory»

Spillene til de gamle konsollene kalles ofte «ROM» på dataspråket. Ordet «ROM» er en forkortelse for «Read-Only Memory». På de gamle konsollene var ofte spillene lagret på en kassett som bare kunne leses fra, derav «Read-Only Memory» eller «ROM». Så for å finne spill til en Commodore 64, kan du taste inn for eksempel «commodore 64 roms» i Google. Det finnes veldig mange nettsider hvor du kan laste ned de gamle spillene, så her er det bare å Google seg frem til det man leter etter. Men husk at det ikke nødvendigvis er lov å laste ned spill fra nettet, så det er ditt ansvar å passe på at det du laster ned er lovlig. 

Det finnes måter å ta sikkerhetskopier av gamle spill på, slik at du kan overføre dem til et egnet medium og bruke dem på annet utstyr enn det originale.

Superenkelt grensesnitt for å installere spill

Super Mario World kjører på Raspberry Pi.
Super Mario World kjører på Raspberry Pi. Foto: Øyvind N. Dahl

For å komme videre trenger vi å installere spillene på Raspberry Pi-en vår. Dette viste seg å være overraskende enkelt. 

For å installere spill, har RetroPie nemlig en veldig nyttig funksjon: Når du kobler Raspberry Pi-en din til nettverket, deles en mappe automatisk. Inne i denne mappen ligger det flere undermapper. Hver av disse undermappene representerer en emulator. For eksempel ligger det en mappe som heter «c64» der – dette er en mappe hvor du legger spill som skal kjøres på «Commodore 64»-emulatoren.

Dermed kan du enkelt overføre et spill fra PC-en din over til riktig mappe på Raspberry Pi. Når du legger til et spill i en mappe, vil denne emulatoren dukke opp automatisk neste gang du starter opp systemet. Dette gjør det veldig enkelt å installere nye spill.

Oppsett av WiFi

Det neste vi gjør er derfor å sette opp WiFi på Raspberry Pi, slik at vi enkelt kan installere nye spill. Raspberry Pi har ikke innebygget WiFi, så vi bruker en ekstern WiFi USB-dongle. Denne setter vi opp ganske kjapt ved å følge instruksjonene på websidene til Raspberry Pi:

http://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md

Oppkoblingen til WiFi-nettverket går smertefritt – og uten å gjøre noe som helst annet, dukker det opp en delt mappe som er tilgjengelig fra alle andre PC-er som er tilkoblet det samme nettverket. 

Det blir ikke en ordentlig arkademaskin uten en god gammeldags joystick og noen store runde knapper. Dette er lett å få tak i på nettet for eksempel på Ebay eller DealExtreme, og koster rundt 15 til 20 Euro. Vi bestilte vår joystick med 6 knapper til 22 Euro pluss frakt fra en tysk Ebay-selger.

Enkel og solid joystick

Joysticken er helt enkel, og føles veldig solid. Den består av 4 brytere som trykkes inn når vi dytter spaken til en av sidene. Så det er altså en bryter for «Opp», en for «Ned», en for «Høyre» og en for «Venstre». Dytter vi for eksempel spaken opp på skrå mot høyre, vil både «Opp»-bryteren og «Høyre»-bryteren trykkes inn. De 6 runde knappene våre er også bare helt enkle brytere.

Joystick og knapper i retrostil.
Joystick og knapper i retrostil. Foto: Øyvind N. Dahl

Totalt har vi altså 10 brytere som vi må koble til Raspberry Pi. Det er mulig å bestille en USB-tilkobling som gjør det lettere å koble til joysticken og knappene – men vi bestemmer oss for å gjøre det selv ved å koble bryterne til GPIO-pinnene på Raspberry Pi. GPIO står for «General Purpose Input/Output» og er pinner man kan bruke til å koble til hva som helst, for eksempel en joystick. 

På bryterne for knappene våre, er det to tilkoblinger. Vi kobler den ene fra hver av bryterne til jord, og den andre til hver sin GPIO-pinne. På bryterne for joysticken er det tre tilkoblinger, men vi kan ut ifra tegningen på selve bryteren finne ut hvilke to vi skal bruke.

Tilkobling av joystick og knapper.
Tilkobling av joystick og knapper. Foto: Øyvind N. Dahl

Når bryteren trykkes inn, så blir GPIO-pinnen koblet til jord. Dermed kan man bruke et program på Raspberry Pi-en til å sjekke om en GPIO-pinne er koblet til jord eller ikke, og på denne måten avgjøre om bryteren er trykket ned. Når maskinen registrerer at en bryter er trykket, kan den simulere at en tast på tastaturet blir trykket. For eksempel, dersom «Opp»-bryteren på joysticken kobles opp imot piltasten «Opp» på tastaturet, så vil det å dytte spaken oppover gi samme resultatet som om vi brukte piltasten på tastaturet.

For å få til dette i praksis, fulgte vi denne tutorialen:

https://learn.adafruit.com/retro-gaming-with-raspberry-pi/buttons

GPIO-tilkobling for joystick og knapper.
GPIO-tilkobling for joystick og knapper. Foto: Øyvind N. Dahl

Selve tilkoblingen mellom brytere og GPIO-pinnene lagde vi ved å lodde opp en stripe med kontakter for å plugge inn i Raspberry Pi-en. Fra kontaktene loddet vi opp ledninger som gikk videre til bryterne. Her er det smart å bruke myke ledninger istedetfor stive, slik at de ikke brekker av når de bøyes.

Noe av det mest utfordrende med dette prosjektet var å få til et kabinett med et retro-utseende. Det finnes mange ferdiglagde sett du kan kjøpe, men vi ønsket å bygge kabinettet selv ved hjelp av noen litt slitne, gamle sponplater vi hadde liggende i kjelleren. For å gjøre arkademaskinen vår portabel, valgte vi å gå for en mindre versjon til å sette på et bord, istedetfor en i full høyde.

Kabinett i papp

Etter å ha lest litt på nettet om erfaringene til andre som har bygget sitt eget kabinett, forstod vi at det ville være smart å starte med å bygge kabinettet i papp – før vi skjærte til sponplatene våre. PC-skjermen vår hadde allerede en fin vinkel og høyde på skjermen, så vi bestemte oss for å bygge kabinettet rundt skjermen. Vi kuttet til pappen slik at vi fikk en arkademaskin-look ved å se på bilder av hvordan andre hadde gjort det. Til slutt endte vi med et enkelt utseende som vi var fornøyd med.

Vi tok papplatene vi hadde kuttet, og brukte som mal til å skjære sponplatene. For å gjøre kuttearbeidet av sponplatene enklere, så delte vi opp i deler slik at vi bare hadde behov for rette kutt. Dette gjorde at vi måtte dele inn sideplatene i tre deler og lappet de sammen i etterkant. Selv om det gjorde at skjærearbeidet ble forenklet, så førte det også til at vi måtte bruke en del tid på å lappe sammen delene.

Kabinettet begynner å ta form.
Kabinettet begynner å ta form. Foto: Øyvind N. Dahl

For å lage panelet med joystick og knapper trenger vi hull til å montere alt i. Vi målte opp passende avstand og borret hull. Det kan være en god ide å montere knappene nærme hverandre, ellers må du sprike veldig med fingrene når du skal spille et spill hvor du bruker alle seks.

Til sist laget vi rammen rundt skjermen. Istedetfor å lage dette i en del, så bygde vi en ramme ved å sette sammen 4 deler rundt skjermen. Vi strippet skjermen vår for plast og stativ, og festet skjermen til selve rammen med skruer. Så festet vi sammen alle delene til kabinettet med lim og skruer.  

Med et ferdig kabinett og en Raspberry Pi med fungerende programvare, gjenstod det bare å koble sammen alle delene. Skjermen vår var en gammel skjerm som ikke hadde HDMI inngang, bare VGA og DVI. Derfor brukte vi en HDMI til DVI overgang kjøpt på DealExtreme til rundt tre dollar.

Joysticken koblet vi opp ved hjelp av den hjemmelagde overgangen vår. Her er det viktig å holde styr på pinnene på Raspberry Pi-en. Ved første forsøk satte vi på tilkoblingen feil vei og opplevde masse rare problemer som for eksempel at Raspberry Pi-en restartet når vi rørte på joysticken.

Det ferdige resultatet

For å få til dette prosjektet brukte vi følgende deler:

  • Raspberry Pi 2 utlånt av Digital Impuls
  • USB WiFi dongle
  • Gammel dataskjerm
  • HDMI til DVI overgang
  • Joystick + 6 knapper kjøpt på Ebay
  • Gamle sponplater

Og når alt var tilkoblet kunne vi til slutt koble til strømmen. Emulatorsystemet startet automatisk opp, joysticken fungerte, og vi kunne endelig spille gamle klassikere på vår hjemmelagde arkademaskin!

Den ferdige arkademaskinen.
Den ferdige arkademaskinen. Foto: Øyvind N. Dahl 
Lykkelig arkademaskinspiller.
Lykkelig arkademaskinspiller. Foto: Øyvind N. Dahl 

Dersom du ønsker å komme igang å bygge dine egne prosjekter med Raspberry Pi, kan lese vår guide «Kom igang med knøttemaskinen Raspberry Pi »

Gå til side

Kommentarer (15)

Her er noen av sakene du kan lese på Ekstra i dag:

Til toppen