mandag den 22. juni 2015

Raspberry Pi 2 retro gaming projekt

Efter at havde set min bror og min far nørde med hver deres Raspberry Pi, med hver deres formål (robot / temperaturstyring), fik jeg selv lyst til at lege med sådan en. Dette skulle dog kombineres med noget, som faldt inden for mit interesseområde, og inden der gik lang tid, stødte jeg på hjemmesiden petRockblog, som omhandler PetroPie. Efter lidt tid, fik jeg overtalt min kære far, til at købe en Raspberry Pi 2 til sin kære søn.

MicroSD og Pi 2.
Det som i korte træk kendetegner en Raspberry Pi er, at der er tale om "en hel computer", på størrelse med et kreditkort, som samtidig tilbyder HDMI udgang, så denne kan bruge ens TV som skærm. Den første Pi model fra 2012, havde ingen RJ45 netværksport, og have kun 256MB RAM. Model 2 som jeg har erhvervet mig, har derimod netværksport og 1GB RAM. CPU´en er også blevet opgraderet ift. den første Pi, så alt i alt, er der tale om en ganske hæderlig lille maskine, som har en hel del kræfter.

For at kunne bruge Pi 2 maskinen, kræver det at man har et microSD hukommelseskort. Efter en tur i den lokale data butik og 115 kr. fattigere, havde jeg et 16GB Kingston microSD.

Herfra manglede jeg så også at forsyne min Pi 2 med noget strøm. Hvor den første Pi model ikke er så krævende, og er i stand til at køre ved hjælp af en standart mobiloplader med micro USB stik, trækker Pi 2 modellen dog mere strøm. Jeg valgte derfor at bestille en officiel Pi 2 strømforsyning hjem, som kan levere 2A. Denne var forholdsvis billig, og kostede cirka £6 - £7 + forsendelse. På den måde er jeg dog sikker på, at strømforsyningen kan levere nok ampere, også selvom jeg belaster alle 4 USB porte samtidig.

Afslutningsvis smuttede jeg en tur på Ebay, hvor jeg bestilte en "Kina USB controller" hjem. Denne controller er i bund og grund blot en ringe kopi af en SNES controller, med et USB stik for enden af ledningen. Set i forhold til, at disse kan købes hjem for cirka 20 kr. inklusiv fragt, er disse dog glimrende til prisen og formålet.

Med Pi 2, microSD kortet, USB controlleren og strømforsyningen på plads, var næste step så at få insalleret RetroPie på maskinen. RetroPie er en samling af mange stumper software, som alle har det samlede overordnede mål, at forvandle Raspberry Pi´en til en retrokonsol. RetroPie tager udgangspunkt i operativsytemet Raspbian, tilføjer en lang række emulatorer og bruger EmulationStation som front end.

Heldigvis er alt dette tilpas nemt at sætte op, og kræver ikke nogen dybere forståelse af at navigere rundt i linux. Jeg vil her beskrive konkret hvordan jeg gjorde.

Først satte jeg microSD kortet i en microSD adaptor, hvorefter jeg satte den i kortlæseren på min computer. Herfra downloadede jeg programmet SDFormatter, som jeg brugte til at formatere microSD kortet med, bare for en god ordens skyld. Herefter downloadede jeg "RetroPie SD-card Image for Raspberry Pi 2 Version 2.6", som er en samling af den software, som skal bruges til at køre hele RetroPie konceptet på Pi 2 maskinen. Filen som man downloder her, er en .img-fil, som er blevet komprimeret. Derfor downloade jeg WinRAR, som er glimrende til at udpakke komprimerede filer.

Efter at denne komprimerede imagefil var downloadet, og pakket ud ved hjælp af WinRAR, stod jeg tilbage med image filen: "retropie-rpi2.img".

Pi 2 snurrer derudaf!

Næste step blev så, at få image filen skrevet over på det nyformatterede microSD kort. Til dette formål brugte jeg Win32DiskImager. Efter cirka 10 minutter, havde programmet skrevet imagefilen over på microSD kortet, og jeg kunne nu unmounte microSD kortet fra min PC, og sætte det i min Pi 2.

EmulationStation tilbyder en overskuelig og flot brugerflade.

Med microSD kortet i min Pi 2, var det ellers blot at tilslutte HDMI kablet, og smide den anden ende i TV´et. Herfra tilsluttede jeg strømforsyningen, som automatisk tænder op i Pi 2 systemet, eftersom der ikke forefindes en tænd / sluk knap på systemet. Når maskinen er startet op, ender man i EmulationStation, som kører front end, og derfor fungerer som den grafiske brugerflade. Denne brugerflade er dejlig overskuelig, og genkender automatisk tastatur / USB gamepad når disse bliver tilsluttet, hvorefter man kan konfigurerer disse.

Diverse controllers / keyboard, m.m. er nemme at konfigurere.

Status var på dette tidspunkt, en velfungerende RetroPie, hvor jeg kunne navigere rundt i menuerne med gamepad / keyboard. Ligeledes ligger der under fanen "ports" et par spil, som man kan bruge til at teste opsætningen med.

Imponerende hvor mange kræfer, som gememr sig i en lille Pi 2!

I denne forbindelse blev jeg specielt imponeret over hvor godt Quake III bliver afviklet. Selvom frameraten er ustabil og der af og til forekommer slowdowns, så kører det glimrende, set i forhold til hvilken hardware som afvikler spillet! Ud fra dette vil jeg tro, at en Pi 2 vil være i stand til at afvikle spil til og med Dremcast´ish formåen.

Raptor afvikles fint i DosBox, som også er inkluderet i RetroPie - JA TAK!

Efter at havde lagt RetroPie over på microSD kortet, booter Pi 2 maskinen fint op og efterlader en overskuelig og brugervenlig brugerflade i EmulationStation. Herfra kan det dog svare sig at lave et par tweaks, for at få tingene til at gå op i en højere enhed. En del af disse tweaks bliver afviklet i rå linux, dog er der tale om ganske få kommandoer, som er forholdsvis nemme at blive guidet igennem. Foruden tweaks og opgraderinger, bruges den rå linux del også til, fx at fjerne ROMs eller rette i config-filer.

Den første ændring jeg udførte, omhandler den plads som er til rådighed på på microSD kortet. Når man lægger RetroPie over på, og afvikler dette i Pi 2 maskinen, er den fri plads på microSD kortet "låst". Denne plads er kritisk at få "frigivet", eftersom det er denne som skal bruges til at have alle ROMs liggende på. Måden hvorpå dette gøres, er ved at tilslutte et USB tastatur, hvorefter man trykker "F4". Dette gør, at man bliver smidt ud i den rå linux del, som grafisk minder en del om de glæde DOS dage. Herfra skriver man følgende kommando (uden anførselstegn): "sudo raspi-config", hvorefter man trykker enter. Dette åbner op for en konfigurationsmenu, hvor det første punkt omhandler "Expand the Filesystem", hvilket skal bruges til at frigive den resterende plads. Derudover er der en række andre tweaks, som bør udføres. En liste over disse kan findes her.



Jeg vil på et senere tidspunkt opdatere denne artikel med:

  • Hvilke opdateringer og konfigurationer jeg har udført, samt hvorfor.
  • Hvordan jeg flyttet ROMs over på min Pi 2.
  • Hvilke problemstillinger jeg er stødt på undervejs, samt løsninger.
  • Fremtidsplaner ift. fysisk finish.
  • Evt. spørgsmål som læsere af dette måtte have (smid en kommentar!)