Avaa tiedosto

RETROPIE-PROJEKTI
Emulointiaseman konfigurointi ja
käyttöönotto
Eero Räsänen
Opinnäytetyö
Toukokuu 2015
Tietotekniikka
Tietoliikennetekniikka ja
tietoverkot
TIIVISTELMÄ
Tampereen ammattikorkeakoulu
Tietotekniikan koulutusohjelma
Tietoliikennetekniikka ja tietoverkot
EERO RÄSÄNEN
RetroPie-projekti
Emulointiaseman konfigurointi ja käyttöönotto
Opinnäytetyö 68 sivua, joista liitteitä 6 sivua
Toukokuu 2015
Opinnäytetyön aiheena oli tutustua Raspberry Pi:lle tehtyyn RetroPie-projektiin, sekä sen
konfigurointiin ja käyttöönottoon. Työssä esitellään itse RetroPie-projekti, sen
toteuttamiseen tarvittavat ohjelmat ja laitteet, sekä kerrotaan "How to" -näkökulmasta
projektin toteuttaminen. Projektia voidaan muokata haluamalla tavalla, mutta tähän on
sisällytetty oma näkemykseni parhaasta mahdollisesta RetroPie-projektista ja sen
sisällöstä.
RetroPie-projekti mahdollistaa helpon tavan asentaa yli 30 erilaista emulaattoria
Raspberry Pi:n sisälle. Projekti käyttää EmulationStationia graafisena front-endinä, ja
RetroPie Setup -skriptiä back-endinä tarvittavien Rasbian-pakettien asentamiseen. Tämä
on yksi suosituimmista Raspberry Pi:lle toteutetuista projekteista, jolla pääsee nauttimaan
nostalgisesta retropelaamisesta.
Opinnäytetyön ohjeet RetroPie-projektin toteuttamisesta sopivat hyvin tavalliselle
Raspberry Pi -pohjasta kiinnostuneelle henkilölle, jolla ei ole juurikaan aikaisempaa
Linux-osaamista. Työ sisältää välttämättömimmät konfiguraatiot, jotta RetroPie saadaan
toimimaan tavallisen videopelikonsolin tavoin. Lisäksi työssä on lisäominaisuutena
Kodin asentaminen RetroPiehin, tällä tavoin projektin viihdeominaisuudet
monipuolistuvat pelkän pelaamisen ulkopuolelle.
Asiasanat: projekti konfigurointi käyttöönotto retropelaaminen linux
ABSTRACT
Tampere University of Applied Sciences
Degree Programme in ICT Engineering
Telecommunication and Networks
EERO RÄSÄNEN
The RetroPie Project
Configuration and Commissioning of the Emulator Station
Bachelor's thesis 68 pages, appendices 6 pages
May 2015
The purpose of thesis was to explore project called RetroPie that was made to Raspberry
Pi and orientate about its configuration and deployment. The thesis presents RetroPie
project itself, necessaries of its implementation programs and devices as well as making
project in "How to" perspective. The project can be modified as desired by, but this the
best possible RetroPie project in my point of view.
The RetroPie project provides an easy way to install more than 30 different emulators
inside Raspberry Pi. The project uses EmulationStation as a graphical front-end and
includes back-end called RetroPie Setup Script which is essential for installing Rasbianpackages. This is one of the most popular projects implemented for Raspberry Pi where
you can enjoy the feeling of nostalgic retrogaming.
The instructions of thesis are well-suited for a person who is interested in Raspberry Pi
as a development basis and which doesn't have much earlier Linux expertise. The work
part contains the most essential configurations in order to make the RetroPie project to
work like a normal video game console. In addition this part includes the Kodi installation
as an additional feature to the project in order to provide more diversified entertainment
features.
Key words: project configuration introduction retrogaming linux
4
SISÄLLYS
1 JOHDANTO ...................................................................................................... 8
2 RETROPIE-PROJEKTI .................................................................................. 10
2.1 RetroPie-projektin sisältö ........................................................................ 10
2.2 RetroPie Setup -skripti ............................................................................. 11
2.3 Emulaattorit ............................................................................................. 12
2.4 RetroArch ja Libretro API ....................................................................... 14
2.5 Rasbian-käyttöjärjestelmä pohjana .......................................................... 14
2.6 Kodi-mediasoitin ..................................................................................... 15
2.7 Samba Sharing -tiedostojen jako ............................................................. 16
2.8 USB Daemon -työkalu ............................................................................. 17
3 OHJELMISTOT JA LAITTEET..................................................................... 18
3.1 Ohjelmistot............................................................................................... 18
3.1.1 RetroPie 2.6 Raspberry Pi 2 .......................................................... 18
3.1.2 SD Formatter ................................................................................. 18
3.1.3 Win32 Disk Imager ....................................................................... 19
3.1.4 7-Zip .............................................................................................. 19
3.1.5 FileZilla ......................................................................................... 19
3.1.6 PuTTY ........................................................................................... 19
3.1.7 Notepad++ ..................................................................................... 20
3.2 Laitteet ja välineet .................................................................................... 20
3.2.1 Raspberry Pi 2 ............................................................................... 20
3.2.2 MicroSD-muistikortti .................................................................... 21
3.2.3 ZyXEL-reititin............................................................................... 21
3.2.4 SNES-ohjaimet.............................................................................. 22
3.2.5 Langattomat Xbox 360 -ohjaimet ................................................. 22
3.2.6 Langaton vastaanotin .................................................................... 23
3.2.7 Muut tarvikkeet ............................................................................. 23
4 RETROPIEN ASENNUS................................................................................ 24
4.1 MicroSD-muistikortin alustaminen ......................................................... 24
4.2 RetroPien kirjoittaminen muistikortille ................................................... 25
4.3 Yhteyden muodostaminen ....................................................................... 26
4.4 RetroPien esiasetukset ............................................................................. 28
4.4.1 Tiedostojärjestelmän laajentaminen .............................................. 30
4.4.2 Ylikellottaminen............................................................................ 30
4.4.3 Kuva- ja ääniasetukset................................................................... 31
4.4.4 Muistin jako .................................................................................. 33
5
5 KÄYTTÖLIITTYMÄN MUOKKAUS .......................................................... 34
5.1 Ylimääräisten emulaattoreiden poistaminen ............................................ 34
5.2 Gameboy Advance BIOS -tiedosto.......................................................... 35
5.3 ROMien lataaminen ................................................................................. 36
5.4 Pelien dokumentointi ............................................................................... 37
5.5 Kodi-mediasoittimen asentaminen .......................................................... 40
6 OHJAINTEN KONFIGUROINTI .................................................................. 44
6.1 SNES-ohjainten konfiguraatiot ................................................................ 45
6.2 Langattomien Xbox 360 -ohjainten konfiguraatiot ................................. 49
6.3 Kodi-ohjainten konfiguraatiot.................................................................. 52
6.4 Ohjainten testaus ...................................................................................... 54
6.4.1 RetroPie-päävalikon testi .............................................................. 54
6.4.2 SNES-ohjain testi .......................................................................... 55
6.4.3 Xbox 360 -ohjain testi ................................................................... 56
6.4.4 Kodi-ohjain testi ............................................................................ 57
7 POHDINTA ..................................................................................................... 58
LÄHTEET ............................................................................................................. 59
LIITTEET ............................................................................................................. 62
6
ERITYISSANASTO
API
Ohjelmointirajapinta, jonka mukaan eri ohjelmat voivat tehdä
pyyntöjä ja vaihtaa tietoja eli keskustella keskenään.
Back-end
Sovellus tai ohjelma, joka hoitaa laskentaa tai muuta ylläpitoa.
Palvelee välillisesti front-endiä.
Bugi
Tietokoneohjelman lähdekoodissa oleva virhe, joka aiheuttaa
ongelmia ohjelman toimintaan tai kaataa sen kokonaan.
Debian
Vapaa käyttöjärjestelmä, joka perustuu Linux-ytimeen.
Direct3D
Graafisen sovellusohjelmoinnin rajapinta (API).
Front-end
Käyttöliittymä, johon käyttäjä on suoraan yhteydessä.
Yhdistää käyttäjän back-endiin.
FTP
Tiedostonsiirtomenetelmä kahden tietokoneen välillä.
GPIO-nasta
Yleiskäyttöinen portti mikro-ohjaimissa ja
mikroprosessoreissa.
Komentorivi
Graafisen käyttöliittymän vastakohta, järjestää käyttäjän ja
tietokoneen välisen kommunikoinnin.
Linux
Tietokoneen käyttöjärjestelmän alin osa eli
käyttöjärjestelmäydin, joka mahdollistaa kaikkien muiden
tietokoneen ohjelmien toiminnan.
OpenGL
Laitteistoriippumaton
ohjelmointirajapinta
tietokonegrafiikan tuottamiseen.
interaktiivisen
7
Pingaaminen
Ping-työkalua hyödynnetään kokeilemaan määrätyn laitteen
saavutettavuutta.
Plug-In
Liitännäinen on tietokoneohjelma, joka toimii
vuorovaikutuksessa isäntäsovellukseen.
Retropelikonsoli
Pelikonsoli, jolla voidaan pelata vanhoja tietokone-, video- ja
kolikkopelejä 1970-luvulta 2000-luvulle saakka.
Skripti
Komentosarja; ajon aikana tulkattava lyhyt tietokoneen
ohjelma, joka on automatisoitu ja toimii ilman varsinaisia
ohjelmointikieliä.
USB
Sarjaväyläarkkitehtuuri oheislaitteiden
liittämiseksi
tietokoneeseen.
Verkkoprotokolla
Yhteyskäytäntö tai standardi, joka määrittelee ja mahdollistaa
laitteiden ja ohjelmien väliset yhteydet tietoverkkojen kautta.
8
1
JOHDANTO
Opinnäytetyön aiheeni on RetroPie-projekti. Löysin aiheen etsiessäni internetistä erilaisia
mielenkiintoisia toteutuksia Raspberry Pi:lle. Tietokoneilla ja konsoleilla pelaaminen on
ollut minulle aina hyvin läheinen harrastus, joten kiinnostuin heti projektista, jolla
mikrotietokoneen voisi muuttaa kehittyneeksi retropelikonsoliksi.
Raspberry Pi on luottokortin kokoinen tietokone Linux-käyttöjärjestelmällä, joka
julkaistiin ja tuli myyntiin helmikuussa 2012. Se on erittäin innovatiivinen laite, jonka
voittoa tavoittelemattoman kehittäjäjärjestön tarkoituksena on edistää tietokonealan ja
koodaamisen opiskelua, ymmärrystä ja oppimista (Cellan-Jones, Rory 2011). Laitteen
hyöty-
ja
etulyöntiasema
kehityspohjana
muodostuu
sen
monipuolisista
mahdollisuuksista, sillä se on edullinen, pienikokoinen ja sen mitätön sähkönkulutus
tekee siitä ekologisen. Näiden ominaisuuksien vuoksi Raspberry Pi soveltuu moneen
erikoiskäyttöön joihin perinteiset pöytäkoneet ja kannettavat tietokoneet eivät sovellu
(Jari Sarja 2013). Laitteelle on jo kehitetty lukemattomia ohjelmistoja, laboratoriotöitä ja
elektronisia sovelluksia. Se saavutti nopeasti suuren suosion eri tietotekniikan alojen
ihmisten keskuudessa ympäri maailmaa.
Vuosien mittaan Raspberry Pi:stä on julkaistu erilaisia entistä tehokkaampia malleja,
kuten B ja B+, jotka sisältävät enemmän prosessointitehoa, muistia ja lisää liitäntä
paikkoja. Helmikuussa 2015 Raspberry Pi:stä julkaistiin kokonaan uusi versio nimeltä
Raspberry Pi 2. Se mukailee ulkoasultaan ja liitettävyyksiltään aikaisempaa mallia B+,
mutta sisältää jopa kuusi kertaa enemmän tehoa (Leo Kelion 2015). Tämä mahdollistaa
raskaampien ja kehittyneempien sovellusten toteuttamisen Raspberry Pi:llä, kuten itse
RetroPie-projekti.
Työn tavoitteena oli asentaa, konfiguroida ja käyttöönottaa Raspberry Pi:lle kehitetty
RetroPie-projekti. RetroPie-projekti sai alkunsa ideasta, että Raspberry Pi:n voisi jollain
tavalla muuttaa kokonaisvaltaiseksi retropelikonsoliksi. Modernin retropelikonsolin etu
vanhoihin konsoleihin verrattuna on muokattavuus, esimerkiksi käyttöliittymän ja
kontrollien osalta. Sen lisäksi kehittyneemmät komponentit tarjoavat enemmän tehoa
pelien
prosessointiin,
ja
kasvaneet
muistimäärät
mahdollistavat
konsolisukupolvien pelien sisällyttämisen yhteen tietokoneeseen.
monien
eri
9
Opinnäytetyössäni esitellään kaikki tarvittavat laitteet ja ohjelmat RetroPie-projektin
toteuttamiseen Raspberry Pi:lle. Toteuttamiseen sisältyy projektin käyttöliittymän
muokkaaminen selkeämmäksi ja helppokäyttöisemmäksi. Ohjainten konfigurointi, jossa
luodaan kahdet eri ohjainasetelmat eri emulaattoreille. Lisäksi asennetaan Kodimediasoitin RetroPien sisälle. Työn tavoitteena on luoda ideaalinen ja monikäyttöinen
retropelikonsoli.
10
2
RETROPIE-PROJEKTI
Raspberry Pi:n käyttäjät ovat luoneet uskomattomia projekteja mikrotietokoneen avulla.
Edullista tietokonetta on käytetty pyörittämään erilaisia automaatiokoneita, palvelimia,
mediakeskuksia ja monia tee-se-itse-projekteja. Yksi hienoimmista Raspberry Pi:lle
toteutetuista
töistä
on
RetroPie-projekti.
Se
muuttaa
mikrotietokoneesi
retropelikonsoliksi, jolla voidaan pelata tuttuja klassikkopelejä kuten esimerkiksi Super
Mario Bros, Space Invaders, Sonic The Hedgehog ja monia muita. Tässä kappaleessa
esitellään tarkemmin, mikä Retropie-projekti on ja mitä se pitää sisällään.
2.1
RetroPie-projektin sisältö
RetroPie-projekti on kokoelma emulaattoreita, joiden avulla Raspberry Pi voidaan
muuttaa moderniksi retropelikonsoliksi. RetroPien etuna vanhoihin konsoleihin on sen
tietokonepohja, jonka puolesta konsoli on räätälöitävissä esimerkiksi ohjaimien ja
graafisen käyttöliittymän kannalta. Lisäksi yhden konsolin pelivalikoiman sijaan
RetroPiehin voidaan sisällyttää monien konsolisukupolvien kaikki pelit ilman, että
tarvitsee huolehtia aluekoodauksista. Kehittynyt tietokone mahdollistaa myös pelien
paremman toimivuuden mm. lyhentäen latausaikoja sekä parantaen ruudunpäivitystä.
Projekti käyttää Rasbian-käyttöjärjestelmää pohjana, johon on integroitu suuri määrä
emulaattoreita
monenlaisilta
vuosikymmeniltä.
Graafiseksi
tietokonejärjestelmiltä
käyttöliittymäksi
ja
ja
pelikonsoleilta
front-endiksi
on
viime
valittu
EmulationStation, jota voidaan tarvittaessa muokata haluamalla tavalla. Back-end toiminnasta huolehtii RetroPie Setup -skripti, jolla on myös helppo asentaa tarvittavia
lisäosia ja ajureita (Petrockblock 2015). Nämä kaikki tekevät RetroPie-projektista
ainutlaatuisen, toimivan ja muokattavan kokonaisuuden.
RetroPie asennetaan levynnäköistiedostona SD-muistikortille. Tiedosto sisältää kaikkien
emulointijärjestelmien asennukset ja toiminnot, jotka tukevat RetroPie Setup -skriptiä. Se
myös sisältää tyylikkään ja selkeän graafisen käyttöliittymän pelien dokumentointiin ja
selailuun, joka käynnistyy automaattisesti Rasbian-komentoriviltä. Paketissa on valmiiksi
asennettu muutamia esikonfiguroituja ohjainasetuksia ja aloitusruutu. Molempia voidaan
muokata tarvittaessa haluamalla tavalla. Lisäksi tiedostoon sisältyy Samba Shares -
11
tiedostojen jako, sekä USB daemon -työkalu helpottamaan ja tukemaan ROMien
siirtämistä (Petroblock 2015).
2.2
RetroPie Setup -skripti
RetroPie Setup -skripti on keskeinen osa ohjelmiston asennusta ja komponenttien
konfigurointia, se on ikään kuin valmis kirjasto sisältäen emulaattoriytimiä,
käyttöliittymäkomponentteja ja muita ajureita. RetroPie Setup -skripti sisältyy RetroPielevynnäköistiedostoon, mikä asennetaan SD-muistikortille.
RetroPie Setup -skriptin avulla voidaan asentaa ajureita ja emulaattoreita, muokata
graafista käyttöliittymää ja muita retropelikonsolin komponentteja. Teknisesti se on vain
skripti, joka koostuu muutamasta tuhannesta rivistä koodia, joita ajetaan komentoriviltä
tai yksinkertaisen graafisen valikon kautta (Kuva 1). Github-niminen internetsivusto
hallinnoi lähteitä asennuksille ja päivityksille, se myös vastaa palautteesta, yhteistyöstä
ja virheraportoinnista (Petroblock 2015).
KUVA 1. RetroPie Setup -skriptin graafinen valikko
12
2.3
Emulaattorit
Emulaattori on tietokoneelle tehty ohjelma tai laitteistolaajennus. Se mahdollistaa
ohjelmien ja pelien käytön
sekä pelaamisen muunlaisella tietokoneella tai
käyttöjärjestelmällä, kuin mille ne on alun perin tarkoitettu (Kuva 2). Nykyiset
emulaattorit ovat erittäin kehittyneitä ja pääosin ohjelmallisia. Ne pystyvät emuloimaan
kokonaisia tietokonelaitteita suorittimineen, näytönohjaimineen ja muine osineen
(Wikipedia 2015a). Suosituimpia emulaattoreita ovat klassisia kotitietokoneita ja
pelikonsoleita emuloivat ohjelmat, joita RetroPie-projektikin sisältää.
Pelit ovat emulaattoreissa ROM-tiedostomuodoissa. ROM on tietokonetiedosto, joka
sisältää täydellisen luetun kopion muistisirusta, kuten videopelikasetista, tietokonepelin
laiteohjelmistosta tai arcadepelin emolevystä. ROM luodaan lukemalla kasettipohjaisen
pelin muistisiru ja teettäen siitä digitaalinen tiedosto (Wikipedia 2015b). Eri konsolien
ROM-tiedostot ovat erityyppisiä. Esimerkiksi Super Nintendon ROMit ovat SMCpäätteisiä ja Playstationin ISO-päätteisiä tiedostoja. Pelikonsoliemulaattorit joita
RetroPie sisältää, lukevat ROM-tiedostoja ja emuloivat ne toimiviksi peleiksi.
KUVA 2. NES-pelikonsolin emulointi Windows-käyttöjärjestelmässä
(Emulator-zone 2015)
Emuloinnilla voidaan digitaalisesti säilyttää vanhentuneita järjestelmiä. Emulointi
keskittyy uudelleen luomaan alkuperäisen tietokoneen tai konsolin ympäristön
(Koninklijke Bibliotheek 2007). Sillä pyritään jäljittelemään alkuperäistä laitteistoa ja sen
ohjelmistoa, sekä uudelleen luomaan se nykyisen laitteiston sisällä (tässä tapauksessa
13
RetroPiessa). Emulaattorin avulla käyttäjä voi esimerkiksi pelata mitä tahansa peliä, mitä
alkuperäiselläkin konsolilla tai tietokoneella pystyy.
Pelikonsolien emuloinnilla saavutetaan usein parempi graafinen suorituskyky kuin
alkuperäisellä laitteistolla ja mahdollisia uusia lisäominaisuuksia. Monet alkuperäisen
laitteiston tai ohjelmiston epämukavuudet ja huonot ominaisuudet voidaan korjata uutta
alustaa käytettäessä (Muira, Gregory 2007). Tärkein syy emulointiin pelien tapauksessa
on kuitenkin se, että voidaan pelata lopetettujen konsoleiden pelejä. Emulaattoreiden ja
ROMien saatavuus on parempi verrattuna vanhojen pelikonsoleiden ja pelien hankintaan
(Muira, Gregory 2007). Jos emulaattorin kehittämiseen tarvittavia kuluja ei oteta
huomioon, niin yleensä emuloimalla saadaan tulos saavutettua edullisemmin, kuin
hankittaessa alkuperäinen laite (Granger, Stewart 2008). Lisäksi liitäntä ongelmat
häipyvät, kun voidaan käyttää moderneja liitännäisiä uusilla laitteilla (Van der Hoeven,
Jeffrey, Bram Lohman, Remco Verdegem 2007).
RetroPie-projekti sisältää lähes kaikki pelihistorian suosituimpien pelikonsoleiden ja
tietokoneiden emulaattorit. Liitteenä olevasta emulaattorilistasta nähdään, että osa
konsoleista on ns. virtuaalikonsoleita, joten niitä ei ole fyysisesti olemassa, vaan ne ovat
harrastelijoiden koodaamia emulaattorikokoelmia vanhoista konsoleista. Lisäksi
RetroPien emulointikohteisiin lukeutuu itse tietokoneet, käsi-, video- ja pelihallien
arcade-konsolit. Emulaattoreita löytyy jokaiselle konsolille ja joillekin jopa monia
vaihtoehtoja, kuten Super Nintendo -tapauksessa (PocketSNES, SNES9X ja PiSNES).
Monen eri emulaattorin käyttö mahdollistaa paremman toimivuuden, esimerkiksi 3Dgraafiset pelit voivat pyöriä toisella emulaattorilla paremmin ja 2D-graafiset toisella.
Opinnäytetyön lopullinen RetroPie sisältää vain osan liitteenä olevista emulaattoreista.
Näin saadaan hieman emulaattorialuetta rajattua, ja taattua parempi toimivuus peleille.
On helpompi keskittyä vain tärkeimpiin ja olennaisimpiin emulaattoreihin, jotta saadaan
koko laite toimimaan nopeammin, ja vältytään ylimääräisiltä bugeilta. Työssä on käytössä
vain seuraavien konsoleiden emulaattorit: GameBoy, GameBoy Advance, GameBoy
Color, Playstation 1, Nintendo, Super Nintendo ja Nintendo 64.
14
2.4
RetroArch ja Libretro API
Liitteenä
olevasta
emulaattorilistasta
nähdään
monen
emulaattorin
sisältyvän
RetroArchiin. RetroArch on avoimen lähdekoodin monialustainen edustaohjelma
Libretro API:lle. RetroArch on suunniteltu olemaan nopea ja kevyt monijärjestelmäinen
emulaattori. Se on saatavilla Windowsille, OS X:lle, Androidille, Blackberry 10:lle,
Raspberry Pi:lle, Playstation 3:lle, Xbox:lle, Xbox 360:lle, Gamecubelle, Nintendo Wiille
ja Playstation Portablelle (Emulation-general 2015).
RetroArch sisältyy Libretro APIin. Libretro on yksinkertainen API, joka mahdollistaa
pelien ja emulaattoreiden pyörittämisen. Se on koodiltaan yksinkertainen, mutta silti
erittäin tehokas. Libretro APIa käyttävä ohjelma kääntyy yhdeksi kirjastotiedostoksi
nimeltään ”Libretro Core”. RetroPien front-end tukee Libretro APIa, ja voi tällöin ladata
sen sisältämän kirjaston ja suorittaa sovelluksia. Front-end on vastuussa kaikista
toteuttamiseen liittyvistä yksityiskohdista, kuten videosta, audiosta ja sisääntulosta.
Libretro-ydin on vastuussa tarjoamaan ainoastaan pääohjelman (Libretro 2015). Libretroytimen ansiosta ei tarvitse erikseen huolehtia Direct3D- ja OpenGL-videoajureiden
asennuksista, ja mahdollisista sisääntulo- ja ääni-APIen tuesta eri ohjaimille (Libretro
2015).
2.5
Rasbian-käyttöjärjestelmä pohjana
Rasbian on vapaa käyttöjärjestelmä, joka perustuu Rasperry Pi:lle optimoituun Debianiin.
Käyttöjärjestelmä koostuu joukosta perus- ja apuohjelmia, jotka saavat Raspberry Pi:n
toimimaan normaalin Windows-käyttöjärjestelmällä varustetun tietokoneen tavoin.
Rasbian tarjoaa kuitenkin enemmän kuin tavallinen käyttöjärjestelmä, nimittäin sille on
luotu yli 35000 valmiiksi niputettua Rasbian-pakettia, jotka ovat tarvittaessa mahdollisia
asentaa vain muutamalla klikkauksella tai komentorivikäskyllä (Rasbian 2015).
Alkuperäinen Raspberry Pi:lle optimoitu Rasbian valmistui kesäkuussa 2012. Rasbianin
kehitys on kuitenkin edelleen aktiivista, ja uusia versioita sekä päivityksiä, jotka
parantavat laitteiston vakautta ja suorituskykyä, julkaistaan jatkuvasti (Rasbian 2015).
15
RetroPie ei ole erillinen käyttöjärjestelmä, vaan se on ohjelma, mikä toimii Rasbianin
päällä. Se käyttää Rasbianin komentoriviä sekä konfiguraatioita Rasbian-pakettien ja
binäärien lataamiseen. Toisin sanoen RetroPie-levynnäköistiedosto sisältää Rasbiankäyttöjärjestelmän,
johon
on
esiasennettu
RetroPie.
Sen
sisältämä
Rasbian-
käyttöjärjestelmä on kuitenkin erittäin karsittu alkuperäiseen versioonsa nähden. Tämä
sen vuoksi, että itse RetroPie saadaan toimimaan nopeammin, kun monia Rasbianin
toiminnallisuuksia on rajattu pois.
Opinnäytetyössä tarvitaan Rasbian-komentoriviä asennus- ja konfigurointivaiheissa.
Lisäksi monien Rasbian-pakettien lataaminen on projektin puolesta välttämätöntä.
2.6
Kodi-mediasoitin
Kodi oli alun perin avoimenlähdekoodin omaava mediasoitin Xbox-pelikonsolille (Kodi
2015). Nykyään se on tarjolla useille eri käyttöjärjestelmille ja laitealustoille. Sen avulla
käyttäjät voivat toistaa ja katsella videoita, musiikkia tai vaikkapa podcasteja internetistä
(Kuva 3). Myös kaikkien yleisimpien digitaalisten mediatiedostojen toistaminen onnistuu
joko paikallisesta, tai verkon ylitse sijaitsevalta tallennusvälineeltä. Nykyään Kodi tukee
erilaisia plug-insseja, jotka mahdollistavat online-sisällön käytön, kuten Spotify,
Grooveshark ja Pandora Radio (Kaushik Patowary 2009).
Kodi on saavuttanut suositun aseman etenkin Rasperry Pi:n käyttäjien keskuudessa. Se
on vaihtoehtoinen valinta Windows Media Centerin tilalle PC-käyttöön. Kuitenkin
Rasperry Pi:n tapauksessa Media Center ei toimi kovin ideaalisesti, joten Kodista on
tullut yleisin mediantoistotapa Raspberry Pi -ympäristössä. Kodi on yleinen valinta
mediantoistoksi myös älytelevisioissa, digisovittimissa, hotellitelevisioissa ja muissa
verkkoon kytketyissä mediasoittimissa. Sen avoin lähdekoodi, cross-platform -toiminta
ja C++ koodikielellä kirjoitettu pohja tekevät siitä ohjelman, jota voidaan käyttää
melkeinpä missä tahansa laitteessa (Kevin Andersson 2009).
16
KUVA 3. Kodin päävalikko
Kodi-mediasoitin asennetaan opinnäytetyössä RetroPien sisälle. Siihen pääsee käsiksi
helposti omasta käynnistysruudustaan RetroPien päävalikossa. Lisäksi sille luodaan omat
ohjainkonfiguraatiot, niin että Kodia voidaan käyttää Xbox-ohjaimella hiiren ja
näppäimistön sijaan. Kodiin ja sen muihin asetuksiin sekä ominaisuuksiin ei perehdytä
opinnäytetyössä sen enempää. Se lisätään kuitenkin osaksi tätä projektia, koska Kodi
mahdollistaa RetroPien käyttämisen muihinkin viihdemahdollisuuksiin, kuin pelkästään
pelien pelaamiseen.
2.7
Samba Sharing -tiedostojen jako
Samba on ilmainen uudelleen suunniteltu ohjelmisto käyttäen SMB- ja CIFSverkkoprotokollia. Ohjelmiston perusidea on saada Microsoftin verkkojärjestelmä
toimimaan muissakin kuin Windows-ympäristöissä. Ohjelma tarjoaa Windowsverkkojen
palvelut
ja
yhteensopivuuden
niiden
kanssa
Unix-tyylisille
käyttöjärjestelmille, kuten Linuxille, Solarikselle ja tässä yhteydessä Rasbianille
(Andrew Tridgell 2002).
Samba Sharing mahdollistaa RetroPie-projektille samanlaiset tiedostojen jako, siirto ja
kopiointi toteutukset, kuin missä tahansa Windows pohjaisessa käyttöjärjestelmässä.
17
Tämän ansiosta RetroPien tiedostoja voidaan siirtää helposti kansiosta toiseen Windowsympäristössä (Kuva 4).
KUVA 4. Samba Sharing tarjoaa Windows-tyyliset tiedostojen jaot.
2.8
USB Daemon -työkalu
USB Daemon -työkalua käytetään USB-laitteiden jakamiseen verkon ylitse. Työkalun
avulla voidaan käyttää USB-laitteita, jotka sijaitsevat fyysisesti muualla. Tulostimet,
skannerit ja muistitikulle tallennetut tiedostot voidaan jakaa ja käyttää etänä (Alexandru
Pintilie 2014). RetroPiella tätä työkalua käytetään lähinnä USB-ajureiden liitännän
tunnistamiseen, ja sitä kautta tiedostojen siirtämiseen, mutta joissain tapauksissa siitä voi
olla muutakin hyötyä. Tämän kaltainen tapaus on esimerkiksi, jos tyhjiä USB paikkoa ei
ole Raspberry Pi:ssä enää jäljellä.
18
3
OHJELMISTOT JA LAITTEET
Kappaleessa 3 esitellään tarvittavat ohjelmistot ja laitteet, mitä käytetään RetroPieprojektin toteuttamiseen. Jokaisesta ohjelmasta on kerrottu lyhyesti, mitä sillä yleisesti
voidaan tehdä ja mikä on sen tehtävä projektissa. Jälkimmäisessä osassa esitellään
käytetyt laitteet ja kaapelit. Kuvat käytetyistä välineistä löytyvät liitteestä nimeltä laitteet
ja välineet.
3.1
Ohjelmistot
Tämä kappale sisältää RetroPie-projektin toteuttamiseen tarvitut ohjelmat. Jotkin
ohjelmat voidaan korvata tarvittaessa vaihtoehtoisella ohjelmalla. Seuraavat ohjelmat
ovat kaikki ladattavissa ilmaiseksi internetistä.
3.1.1
RetroPie 2.6 Raspberry Pi 2
Kaikkein olennaisin eli RetroPie-projektin levynnäköistiedosto. Opinnäytetyössä
käytetään Raspberry Pi 2:lle tarkoitettua RetroPien 2.6 versiota, joka oli opinnäytetön
aikaan uusin mahdollinen versio. Oikealle alustalle tarkoitettu versio varmistaa, että
ohjelmisto ja Raspberry Pi:n komponenttipuoli ovat yhteensopivia. RetroPie 2.6 projektin SD-kortin levynnäköistiedosto voidaan ladata internetistä osoitteesta
http://blog.petrockblock.com/retropie/retropie-downloads/.
3.1.2
SD Formatter
SD Formatterilla voidaan alustaa kaikkia SD-muistikortteja. Se mahdollistaa nopean ja
helpon tavan päästä käsiksi SD-, SDHC- ja SDXC-muistikorttien täysiin ominaisuuksiin
(SDcard Formatter 2014). On suositeltavaa käyttää erillistä alustusohjelmaa sen sijaan,
että käyttäisi käyttöjärjestelmän mukana tulleita alustustyökaluja. Muistikortin
suorituskyky saattaa laskea alle optimoidun taso, jos käytetään yleisiä käyttöjärjestelmän
työkaluja. Opinnäytetyössä SD Formatterilla alustetaan muistikortti valmiiksi RetroPielevynnäköistiedostoa varten. SD Formatter -ohjelma voidaan ladata internetistä
osoitteesta www.sdcard.org.
19
3.1.3
Win32 Disk Imager
Ohjelma on suunniteltu kirjoittamaan levynnäköistiedostoja siirrettäville laitteille tai
varmuuskopioimaan irrotettava laite tiedostoksi. Se on erittäin hyödyllinen sulautettujen
kehitykseen eli erilaisille ARM-pohjaisille kehitysprojekteille kuten Android ja Ubuntu.
Win32 Disk Imageria käytetään lähes jokaisessa Raspberry Pi -projektissa, kuten tässäkin
opinnäytetyössä, jossa täytyy kirjoittaa levynnäköistiedosto muistikortille. Win32 Disk
Imager voidaan ladata internetistä osoitteesta www.sourceforge.net.
3.1.4
7-Zip
7-Zip on tiedostonpakkaus- ja arkistointiohjelma Windowsille. 7-Zip toimii joko
komentoriviohjelmana, tai käyttäen sen graafista käyttöliittymää. Se on avoimen
lähdekoodin kilpailija suljetun lähdekoodin WinRARille ja WinZipille (7-zip 2015). 7Zip tukee monia erilaisia tiedostonpakkausformaatteja, mutta oletuksena se käyttää omaa
7z-formaattiaan. Opinnäytetyössä 7-Zip:iä tarvitaan purkamaan internetistä ladattuja
tiedostoja, kuten esimerkiksi RetroPie-projektin levynnäköistiedosto.
3.1.5
FileZilla
FileZilla on ilmainen alustariippumaton FTP:tä tukeva tiedonsiirto-ohjelma, joka koostuu
FileZilla Clientistä ja FileZilla Serveristä (Wiki FileZilla 2009). Ohjelmaa voidaan
käyttää hyödyksi kansioissa navigointiin RetroPie-projektissa. Se mahdollistaa helpon
tavan siirtää, ladata, poistaa ja editoida tiedostoja tietokoneen kautta RetroPiessa.
Ohjelmalla on mahdollista myös siirtää monia tiedostoja samaan aikaan helpottaen ja
nopeuttaen asennusprosessia.
3.1.6
PuTTY
PuTTY on Telnet- ja SSH-asiakasohjelma ja pääte-emulaattori. Sen suosituin
käyttökohde
on
Windows-käyttöjärjestelmien
SSH-palvelimien
käyttäminen.
Useimmista ohjelmista poiketen PuTTY toimii pelkällä exe-tiedostolla ilman erillistä
asennusta, jolloin se on helposti haettavissa pikaista käyttöä varten. PuTTY on vapaa
avoimen lähdekoodin ohjelmisto, josta on nykyään saatavissa versiot myös Linuxille,
Unixeille, Symbian OS:lle ja Windows Mobilelle (Simon Tatham 2015).
20
Opinnäytetyössä PuTTYä käytetään muodostamaan SSH-yhteys tietokoneesta Raspberry
Pi:hin, jotta päästään käsiksi komentoriviin. "SSH-yhteyden (Secure Shell) perusidea on,
että sen avulla voidaan muodostaa kahden koneen välille turvallinen ja salattu
verkkoyhteys, vaikka koneet olisivat epäturvallisissa verkoissa missä tahansa päin
maapalloa. Näistä koneista toinen on aina palvelin ja toinen asiakas. Kun yhteys koneiden
välille halutaan muodostaa, asiakas ottaa aina yhteyden palvelimelle." (Wikibooks 2010)
3.1.7
Notepad++
Notepad++ on lähdekoodin muokkausohjelma, jolla voidaan myös korvata tietokoneen
tavallinen muistio. Se tukee muutamia koodikieliä ja pyörii tavallisella Windows
käyttöjärjestelmällä. Notepad++ perustuu vapaaseen Scintilla-komponenttin, jolla
voidaan muokata erilaisia koodikieliä. Ohjelma on kirjoitettu C++ -kielellä, joka takaa
koodin nopean kääntämisen ja vähäiset tehovaatimukset tietokoneelta (Don Ho 2015).
Opinnäytetyössä Notepadia käytetään ohjainkonfiguraatiotiedostojen lukemiseen ja
muokkaamiseen.
3.2
Laitteet ja välineet
Tämä kappale sisältää RetroPie-projektin toteuttamiseen tarvitut laitteet ja välineet.
Reititin ja muistikortti voivat olla muiden valmistajien merkkisiä. Ohjaimien suositellaan
olevan mahdollisimman samankaltaisia kuin opinnäytetyössä käytetyt. Esimerkiksi niin
että langattomat ohjaimet sekä vastaanotin ovat molemmat virallisia Microsoftin
valmistamia laitteita.
3.2.1
Raspberry Pi 2
Raspberry Pi 2 on entisestään paranneltu versio suositusta yhden piirilevyn tietokoneesta.
Alkuperäiseen Raspberry Pi:hin verrattuna tämä uusi malli on saanut 512 Mt:tä lisää
muistia, sekä pyörii neljällä 900 MHz Cortex-A7 -ytimisellä prosessorilla yhden 700
MHz prosessorin sijaan. Liitäntäpaikkojen määrää on nostettu, GPIO nastoja on 40
alkuperäisen 26 nastan sijasta ja USB-portteja on neljä kappaletta kahden sijaan (Petrus
21
Laine 2015). Muulla tavalla Raspberry Pi 2 -malli muistuttaa pitkälti aikaisempaa B+
mallia.
Uuden mallin prosessori on suorituskyvyltään noin kuusinkertainen entiseen nähden
(Petrus Laine 2015). Lisätty laskenta- ja suoritusteho mahdollistavat entistä raskaampien
sovellusten ja muiden teknisten toteutuksien käytön. RetroPie-projektissa Raspberry Pi
2:sen tehollinen ero aikaisempiin malleihin on huomattava. Uudella mallilla voidaan
emuloida pelejä huomattavasti paremmalla ruudunpäivityksellä. Aikaisemmalla mallilla
uudempien konsoleiden 3D-grafiikalla varustetut pelit emuloituivat heikosti, ja huono
ruudunpäivitys teki niiden pelaamisen hankalaksi.
3.2.2
MicroSD-muistikortti
Raspberry Pi 2 -malli käyttää muistinaan MicroSD-mallista muistikorttia. MicroSD on
SD-korttiperheen pienin mahdollinen korttityyppi tällä hetkellä. Työssä käytetty kortti on
kooltaan 16 GB. RetroPie-projektin vähimmäistilavaatimus muistikortilta on 4 GB, mutta
suositellaan 8 GB:tä. Käytetyn muistikortin nopeusluokka on Class 10 eli 10 Mt/s, luokka
määritellään minimi kirjoitusnopeudella. Class 10 on tällä hetkellä nopein luokka. Useilla
sovelluksilla
ja
laitteilla
on
oikein
toimiakseen
asetettu
minimivaatimukset
tallennusmedialle. Tyypillinen esimerkki vaativammasta sovelluksesta on HDvideokuvaus, joka useimmiten vaatii vähintään Class 6 -luokan kortin virheettömään
toimintaan (SDcard 2014). RetroPie-projekti ei aseta nopeusluokitukselle vaatimuksia,
mutta paremman kirjoitusnopeuden omaava kortti säästää aikaa ROMien lataamisessa
muistikortille.
3.2.3
ZyXEL-reititin
Internet- ja lähiverkkoyhteyksien muodostamiseen käytetään ZyXelin NBG-418N v2 mallista laajakaistareititintä. Siitä löytyy kaikki tarvittavat ominaisuudet, mitä
normaalilta nykyaikaiselta reitittimeltä voidaan odottaa, kuten 4-porttinen kytkin, NATosoitteenmuunnos ja Wifi-tukiasema. Laitteesta löytyy kolme erilaista toimintatilaa:
Tukiasema, reititin ja toistin (Verkkokauppa.com 2015).
Työssä laitetta käytetään reititin toimintatilassa. Yhteydet on muodostettu niin, että
internet tulee TOASnet-verkosta taloon, josta se kulkee ethernet-kaapelilla ZyXEL-
22
reitittimeen, ja reititin jakaa internetin sekä tietokoneelle että RetroPielle. Näin saadaan
muodostettua samalla lähiverkkoyhteys tietokoneen ja RetroPien välille, jolloin voidaan
hallita Raspberry Pi:tä helposti tietokonetta käyttäen.
3.2.4
SNES-ohjaimet
Suurin osa emuloitavista peleistä on niin vanhoja, ettei niiden pelaamiseen vaadita kovin
erikoista ohjainta. Tässä RetroPie-projektissa toteutetaan ohjainkonfiguraatiot niin, että
vanhoja 2D-pelejä pelataan yhdellä tai kahdella SNES-ohjaimella. Super Nintendo tyyppisessä ohjaimessa on ristiohjain, 8 painiketta ja vanhan esikuvansa kaltainen
tuntuma ja muotoilu. Ohjaimissa on alkuperäisen Nintendo-liitännän sijaan tavallinen
USB-liitin, jolla ne saadaan kytkettyä RetroPiehin. Ohjain on näppäimiensä puolesta
ideaalinen valinta retropelejen pelaamiseen. Samalla muotoilunsa ansiosta se tuo
emulaattori- ja arcadepeleihin nostalgista syvyyttä ja tunnelmaa.
3.2.5
Langattomat Xbox 360 -ohjaimet
3D-grafiikoilla varustettujen uudempien pelien pelaaminen on mukavampaa käyttäen
ohjaimia, joissa on analogiset tatit ristiohjaimen sijasta. Playstation 1 - ja Nintendo 64 pelikonsolit myös tukevat yli kahden pelaajan moninpelejä, jolloin tarvitaan enemmän
ohjaimia. Moninpelejä pelatessa, kun käytetään langattomia ohjaimia, niin säästytään
johtojen aiheuttamista ongelmista. Xbox 360 -ohjaimessa on 10 metrin kantama, ja se
käyttää integroitua 2,4 gigahertsin langatonta tekniikkaa. Virta tulee kahdesta AAparistosta tai ohjaimen ladattavasta akusta. Ohjain sisältää 11 digitaalista näppäintä, kaksi
analogista liipaisinta, kaksi analogista tattia ja digitaalisen ristiohjaimen. Kaikki kuusi
analogista painiketta ohjaimessa omaavat 256 eri herkkyystasoa (Puolenkuunpelit 2007).
Opinnäytetyössä näitä ohjaimia käytetään yhteensä neljää kappaletta, ja ne yhdistetään
RetroPiehin langattoman vastaanottimen avulla, josta kerrotaan lisää seuraavassa
kappaleessa.
23
3.2.6
Langaton vastaanotin
Langattomat Xbox 360 -ohjaimet vaativat toimiakseen vastaanottimen. Vastaanotin
liitetään USB-liitännällä RetroPiehin. Vastaantottimessa on samankaltainen sync-painike
taajuuksien etsimiseen kuin langattomissa ohjaimissa, jolla saadaan laitteet yhdistettyä
keskenään. Laitteella voidaan liittää maksimissaan neljä langatonta ohjainta, joka
tarvittava määrä projektia varten (Xbox 2015).
3.2.7
Muut tarvikkeet
Raspberry Pi:lle suositellaan 1.8 ampeerin micro-USB virtalähdettä. Modernien
älypuhelimien laturit ovat 1.2 ampeeria, mikä ei riitä RetroPielle, varsinkaan jos kaikki
kuusi ohjainta ovat kiinni porteissaan. Työssä on käytetty 2.1 ampeerin micro-USB
virtalähdettä.
Internet- ja lähiverkkoyhteyksien muodostamiseen tarvitaan tavallisia RJ-45 ethernet parikaapeleita. Näitä tarvitaan yhteensä kolme kappaletta, jotka tulevat seinästä tulevan
internetin ja reitittimen välille, tietokoneen ja reitittimen välille, sekä itse Raspberry Pi:n
ja reitittimen välille.
Projektissa käytetään HDMI-kaapelia (High Definition Multimedia Interface), joka
tarkoitettu on kuvan ja monikanavaäänen siirtämiseen digitaalisten näyttölaitteiden
kanssa. HDMI-standardi tukee yleisimpiä resoluutioita: 480i:tä, 576i:tä, 720p:tä, 1080i:tä
ja 1080p:tä. HDMI-liitäntä löytyy valmiiksi Raspberry Pi:n piirilevystä, tätä liitäntää
käytetään myös esimerkiksi televisioissa, DVD-soittimissa, pelikonsoleissa, tietokoneen
näytönohjaimissa ja vahvistimissa (Hdmi 2007). HDMI-kaapeli tulee tässä työssä
television ja RetroPien välille.
24
4
RETROPIEN ASENNUS
Kappaleessa 4 tarkastellaan yksitellen kaikki esivalmisteluun ja asentamiseen liittyvät
asiat. Oletetaan, että edellä mainitut ohjelmat on jo ladattu ja asennettu tietokoneelle
valmiiksi.
4.1
MicroSD-muistikortin alustaminen
Alustaminen toteutetaan käyttäen SD Formatter -ohjelmaa. Ohjelma on toiminnaltaan
yksinkertainen. Se tyhjentää muistikortin kaikesta sisällöstä, sekä alustaa sen valmiiksi
seuraavaa käyttöä varten. Pöytätietokoneessani ei ole muistikortinlukijaa, joten tämä
osuus suoritetaan kannettavalla tietokoneellani. Kannettavassa tietokoneessa on vain SDmuistikortin lukupaikka, joten täytyy käyttää korttiadapteria, että saadaan microSDmuistikortti kannettavaan kiinni.
KUVA 5. SD Formatterin käyttöliittymä
Kuvassa 5 nähdään SD Formatterin käyttöliittymä. Huomataan, että vaikka muistikortti
on täysin käyttämätön, niin se näyttää tilakseen vain 57 MB. Tämä johtuu siitä, että
muistikorttia ei ole vielä alustettu, joten sen koko tilaa ei ole vielä vapautettu
käytettäväksi. Alustusasetuksista valittiin nopea alustus (Quick Format), sillä se suorittaa
kaiken tarvittavan RetroPie-projektia varten. Alustuskoon säätö (Format Size
25
Adjustment) jätetään pois, koska halutaan muistikortti alustaa kokonaan. Alustamisen
jälkeen huomataan muutos muistikortin tilamäärässä. Nyt ohjelma näyttää sen tilaksi 14,8
GB:tä. Vaikka muistikortti on 16 GB:n luokkaa, niin se ei kuitenkaan koskaan saavuta
tätä kokoa. Kaikilla muistikorteilla osa tilasta varataan tiedostojaon hallintaan, sekä
"ylimääräiseksi" hallintamuistiksi. Tällä tavoin saadaan pidettyä muistikortti toimivana,
vaikka se täyttyisikin täyteen tilaansa (Udi Tirosh 2013).
4.2
RetroPien kirjoittaminen muistikortille
RetroPien kirjoittamiseen käytetään Win32 Disk Imageria. Tämä ohjelma kirjoittaa
RetroPie-projektin muistikortille, jonka jälkeen projekti on valmis käytettäväksi. Tässä
osuudessa käytetään vielä kannettavaa tietokonetta, koska muistikortin täytyy olla
liitettynä tietokoneeseen, jolla ohjelma on asennettuna.
RetroPie-levynnäköistiedosto on pakatussa muodossa, kun sen lataa petRockBlocksivuilta. Tiedosto täytyy purkaa, ennen kuin se voidaan kirjoittaa muistikortille.
Purkamiseen käytetään 7-Zip -ohjelmaa (Kuva 6).
KUVA 6. RetroPie-levynnäköistiedoston purkaminen
Win32 Disk Imager -ohjelmalla etsitään RetroPie-levynnäköistiedosto tietokoneelta, ja
aloitetaan sen kirjoittaminen (Write) muistikortille (Kuva 7).
26
KUVA 7. RetroPie-levynnäköistiedoston kirjoittaminen muistikortille
4.3
Yhteyden muodostaminen
Seuraavaksi muodostetaan yhteys tietokoneen, RetroPien ja internetin välille. Seinästä
tuleva internet-yhteys yhdistetään reitittimen WAN-porttiin. WAN-porttiin liitetään
kaapeli, kun halutaan jakaa muista porteista internet-yhteys muihin koneisiin. Tietokone
liitetään ethernet-kaapelilla reitittimen porttiin 1 ja RetroPie porttiin 2 (Kuva 8).
KUVA 8. Yhteyden muodostaminen
27
Selvitetään RetroPien ip-osoite lähiverkossa, jotta saadaan muodostettua yhteys PuTTYohjelmalla. Tämä tapahtuu helpoiten pingaamalla RetroPieta käyttäen tietokoneen
komentoriviä (Kuva 9). Tiedetään, että konfiguroimaton RetroPie löytyy lähiverkosta
nimellä RETROPIE (Github 2015). Tätä tietoa hyödyntäen pingataan suoraan RetroPieta
komennolla:
1)
ping RETROPIE
KUVA 9. Pingaaminen käyttäen komentoriviä
Kuvasta 9 nähdään, että 192.168.1.3 on RetroPien ip-osoite (eri verkoissa osoite ei ole
sama). Seuraavaksi avataan PuTTY-ohjelma, jotta päästään muodostamaan SSH-yhteys
RetroPiehin (Kuva 10).
28
KUVA 10. PuTTYn asetukset yhteyden muodostamiseen
PuTTYssä kirjoitetaan Host Name -kenttään RetroPien ip-osoite. Porttinumeroksi
valitaan 22 ja yhteystyypiksi SSH. Portti 22 on SSH-yhteyksille määritetty vakioportti.
Kuvassa 10 nähdään PuTTYn asetuksen yhteyden muodostamiseen.
4.4
RetroPien esiasetukset
Kirjautuessa RetroPiehin laite pyytää käyttäjätunnusta ja salasanaa. Rasbiankäyttöjärjestelmässä on oletuksena asetettu käyttäjätunnus pi ja salasana raspberry
(Raspberry Pi Foundation 2012). Seuraavaksi päivitetään Raspberry Pi:n komentoriviltä
pakettiluettelot ja itse Rasbian-paketit (Kuva 11).
Update-komennolla ladataan pakettiluetteloiden arkistot, ja päivitetään ne hankkimaan
jatkossa uusimpia Rasbian-paketteja.
2)
sudo apt-get update
29
Upgrade-komennolla haetaan jo valmiiksi olevista paketeista uusimmat versiot ja
päivitetään ne.
3)
sudo apt-get upgrade
Autoremove on kätevä työkalu. Sitä käytetään poistamaan paketteja, jotka asentuvat
automaattisesti muiden pakettien mukana, ja joita ei enää tarvita asentamisen jälkeen.
4)
sudo apt-get autoremove
Seuraavaksi avataan Raspberry Pi:n konfigurointityökalu, jotta päästään käsiksi
mikrotietokoneen asetuksiin. Seuraavalla komennolla päästään kyseiseen työkaluun:
5)
sudo raspi-config
KUVA 11. Rasbian-komentorivi
30
4.4.1
Tiedostojärjestelmän laajentaminen
Raspberry Pi Sofware Configuration -työkalulla on graafinen käyttöliittymä (Kuva 12),
jossa aloitetaan tiedostojärjestelmän laajentamisesta. Uudesta näkymästä valitaan
ensimmäinen valinta eli expand filesystem. Tiedostojärjestelmän laajennus takaa sen, että
kaikki mahdollinen SD-muistikortin tila on käytössä Raspberry Pi:lle asennetulle
käyttöjärjestelmälle (Alex Bradbury 2015).
KUVA 12. Rasbian-ohjelmiston hallintatyökalu
Laajentaminen tulee käytäntöön vasta laitteen uudelleenkäynnistämisen yhteydessä, joten
voidaan jatkaa seuraavaan vaiheeseen käynnistämättä laitetta uudelleen.
4.4.2
Ylikellottaminen
Ylikellotus ei ole pakollista, mutta erittäin suositeltavaa, jos halutaan emuloida
raskaammilla grafiikoilla varustettuja pelejä. "Ylikellottaminen tarkoittaa tietokoneen
komponentin tai komponenttien käyttämistä suuremmalla kellotaajuudella, kuin sen
valmistaja on tarkoittanut. Tämä parantaa suorituskykyä, mutta saattaa heikentää
tietokoneen vakautta, nostaa kellotettujen komponenttien lämpötilaa ja virrankulutusta,
sekä yleensä lopettaa takuun." (Wikipedia 2014). Kellottaminen onnistuu Raspberry
31
Pi:llä ohjelmiston hallintatyökalun kautta käyttäen valmiita ylikellotusasetuksia (Kuva
13). Ylikellottaminen löytyy työkalun valinnasta 7. Ylikellotuksen esiasetuksista valitaan
Pi2, joka on kevytmuotoinen ylikellotus tarkoitettu nimenomaan Raspberry Pi 2:lle.
Asetus nostaa prosessorin kellotaajuutta 300 MHz:llä, ytimen kellotaajuutta 250 MHz:llä
ja muistikortin RAM-muistin kellotaajuutta 100 MHz:llä, sekä lisää jännitettä kahdella
voltilla normaaliin asetuksiin nähden.
KUVA 13. Raspberry Pi 2:sen ylikellottaminen
Ylikellotus tulee käytäntöön vasta laitteen uudelleenkäynnistämisen yhteydessä, joten
voidaan jatkaa seuraavaan vaiheeseen uudelleenkäynnistämättä.
4.4.3
Kuva- ja ääniasetukset
RetroPie ei välttämättä toimi täysin ideaalisesti kuvan ja äänen osalta. Seuraavatkaan
asetukset eivät takaa täydellistä toimivuutta kaikkien näyttöjen ja kaiuttimien kanssa,
mutta ne korjaavat yleisimmät ongelmat näiden suhteen. Valitaan konfigurointi työkalu
näkymästä valinta 8 eli lisäasetukset.
Avautuvasta valikosta valitaan ensimmäinen vaihtoehto nimeltä Overscan (Kuva 14), ja
asetetaan se pois päältä eli disabled. Overscania käytettiin vanhemman mallisilla
32
televisioilla, koska niillä oli tuotetun kuvan koossa merkittäviä vaihteluita. Tästä syystä
asetettiin kuvan reunoille musta reunus, jotta osa kuvasta ei kadonnut kuvakoon
muuttuessa. Modernit televisiot ja monitorit eivät kuitenkaan tarvitse tätä mustaa
reunusta, koska ne skaalaavat kuvaa automaattisesti. Jotkin mallit eivät edes salli
Overscan-asetusta. Uusilla näytöillä ja televisioilla saattaa esiintyä mustia laatikoita
ympäri näyttöä, jos Overscan on sallittu. Tämä aiheutuu siitä syystä, että musta reunus
yrittää tasoittua näytöllä väkisin (Alex Bradbury 2015).
KUVA 14. Raspberry Pi Sofware Configuration -työkalun lisäasetukset
Overscanin lisäksi äänentoistossa esiintyvät häiriöt voivat aiheuttaa ongelmia. Ääni
saattaa ”rätistä”, varsinkin korkeiden äänien kohdalla. Tämä johtuu todennäköisimmin
siitä, että Raspberry Pi:ssä on kaksi äänen ulostuloasetusta: HDMI ja 3.5 mm
kuulokeliitäntä. Jos on valittuna väärä ulostulo, niin ääni voi vääristyä tai jäädä pois
kokonaan. Opinnäytetyössä käytetään HDMI-asetusta, sillä RetroPie on liitettynä
TV:seen HDMI:n kautta. Tällöin ääni kulkee tätä samaa reittiä käyttäen TV:n kaiuttimia.
Valitaan lisäasetuksista valinta 9 eli Audio, ja tämän jälkeen avautuvasta valikosta asetus
”Force HDMI”.
33
4.4.4
Muistin jako
Kuvassa 14 nähdään lisäasetuksissa valinta 3 Memory Split eli muistin jako. Muistin
jaolla voidaan määrittää kuinka paljon RAM-muistia on GPU:lla (Graphics Processor
Unit) käytössään, ja kuinka paljon jätetään itse käynnissä oleville ohjelmille. Mitä
enemmän RAMia on varattu GPU:lle, niin sitä intensiivisempää grafiikkaprosessointia
voidaan pyörittää. Toisaalta mitä enemmän RAMia jätetään ohjelmille, niin sitä
sulavammin ne toimivat. Ei ole olemassa "oikeata" vastausta muistin jaolle, mutta etenkin
3D-pelit vaativat asettamaan GPU-muistin korkeaksi. Työssä muistin jako asetetaan
arvoon 384 (Kuva 15), koska sillä saadaan graafisesti vaativammatkin pelit pyörimään,
niin että laite kuitenkin toimii sujuvasti.
.
´
KUVA 15. Muistin jaon asettaminen
34
5
KÄYTTÖLIITTYMÄN MUOKKAUS
Kappaleessa 5 poistetaan RetroPiesta ylimääräisiä ja ladataan tarvittavia emulaattoreita.
Siirretään ROM-tiedostot RetroPielle, ja lisätään peleille dokumentointi valikossa
selaamisen helpottamiseksi. Lopuksi asennetaan Kodi-mediasoitin RetroPien sisälle ja
luodaan sille oma valinta päävalikkoon.
5.1
Ylimääräisten emulaattoreiden poistaminen
RetroPie
sisältää
Opinnäytetyössä
valmiiksi
valtavan
kuitenkin
määrän
rajataan
eri
konsoleiden
emulaattorialuetta,
emulaattoreita.
sillä
sopivien
ohjainkonfiguraatioiden asettaminen kaikille emulaattoreille olisi pitkä prosessi.
Poistetaan ylimääräiset emulaattorit ja niiden konfiguraatiotiedostot RetroPielta. Tällä
tavoin säästetään tilaa muistikortilta. Lisäksi tämä vähentää tiedostojen määrää, mitä
Raspberry Pi:n täytyy ladata käynnistyksessä ja suorittaessaan muita toimintoja.
Otetaan RetroPiehin yhteys PuTTYä käyttäen, jotta päästään komentoriville. Alkuun
poistetaan
ylimääräisten
emulaattoreiden
konfiguraatiotiedostot.
Ne
sijaitsevat
seuraavassa hakemistossa:
6)
/opt/retropie/configs
Poistetaan seuraavalla komennolla emulaattoreiden konfiguraatiotiedostot:
7)
sudo rm -R
/opt/retropie/configs/{atari2600,atarilynx,c64,doom,fba,mame,mastersyste
m,mastersystem-genesis,msx,pcengine,quake,vectrex}
Tämän jälkeen poistetaan itse emulaattorit, jotka löytyvät hakemistosta:
8)
/opt/retropie/emulators
35
Poistetaan seuraavalla komennolla ylimääräiset emulaattorit:
9)
sudo rm -R
/opt/retropie/emulators/{advmame,atari800,basilisk,cpc,dgen,dosbox,fbzx,
gngeopi,hatari,jzintv,linapple,mame4all,mupen64plus,osmose,pifba,pisnes
,scummvm,snes9x,uae4all,vice}
5.2
Gameboy Advance BIOS -tiedosto
Jokainen emulaattori vaatii toimiakseen BIOS-tiedoston, joka täytyy olla sijoitettuna
oikeaan kansioon, jotta emulaattori toimisi virheittä. BIOS (Basic Input-Output System)
on ohjelma, joka lataa käyttöjärjestelmän keskusmuistiin ja käynnistää sen, kun kyseistä
järjestelmää tarvitaan. RetroPien tapauksessa jokainen emulaattori on ikään kuin erilainen
käyttöjärjestelmä, joka vaatii sille oikean BIOS-tiedoston toimiakseen.
RetroPie sisältää valmiiksi suurimman osan tarvittavista BIOS-tiedostoista, jotta
emulaattorit toimisivat virheittä. Joissain tapauksissa on kuitenkin jätetty BIOS-tiedosto
pois, koska ei ole löydetty tarpeeksi stabiilia versiota, että sen voisi sisällyttää RetroPieprojektiin valmiiksi. Opinnäytetyössä käytettävistä emulaattoreista Gameboy Advencelta
puuttuu BIOS-tiedosto, joten se täytyy erikseen ladata.
Olen testannut muutamia erilaisia Gameboy Advancen BIOS-tiedostoja ja valinnut niistä
toimivimman. Tiedosto ladataan RetroPielle dropboxiani käyttäen. Se täytyy sijoittaa
seuraavaan hakemistoon:
10)
/opt/retropie/emulators/gpsp
Tämä on Gameboy Advance -emulaattorin kansio. Tiedosto ladataan dropboxista
käyttäen wget-komentoa. Wget on ohjelma, joka ajetaan Rasbian-komentoriviltä ja sillä
voidaan hakea tiedostoja palvelimilta. Hakemiseen se käyttää HTTP-, HTTPS- ja FTPprotokollia (Wikipedia 2015c). BIOS-tiedosto ladataan dropboxiltani seuraavalla
komennolla:
36
11)
sudo wget -P /opt/retropie/emulators/gpsp
https://www.dropbox.com/s/72zehagfvlddo1b/gba_bios.bin
Vaihtoehtoisesti ei tarvitse käyttää juuri tätä BIOSia. RetroPie kuitenkin vaatii
BIOSien tiedostopäätteeksi .bin ja tiedostonimen oikeaksi, esimerkiksi GBAemulaattorin BIOSin täytyy olla nimeltään gba_bios.
5.3
ROMien lataaminen
Oletetaan, että ROMit löytyvät tietokoneelta valmiiksi. Ensiksi avataan FileZilla-ohjelma
ja sieltä sivustonhallintapaneeli. Isäntä kenttään syötetään RetroPien ip-osoite (selvitettiin
jo aiemmin), ja protokollaksi valitaan SSH-tiedostonsiirto. Alemmasta kentästä
kirjautumistyypiksi valitaan normaali, ja käyttäjänimeksi sekä salasanaksi syötetään
Raspberry Pi:n oletukset (Kuva 16).
KUVA 16. FileZillan sivustonhallintapaneeli
37
Nyt on muodostettu SSH-yhteys RetroPiehin Filezillan avulla. Tämän jälkeen voidaan
helposti siirtää ROMit RetroPiehin (Kuva 17). Seuraavaksi avataan vasemmalle
paikalliselle puolelle tietokoneen kansio, johon ROMit on sijoitettu. Oikealle palvelimen
puolelle (RetroPien sisältö) avataan seuraava osoite:
12)
/home/pi/RetroPie/roms
Tästä hakemistosta löytyy kaikkien konsoleiden ROM-kansiot, joista emulaattorit
hakevat itselleen ROM-tiedostot. Kansioiden nimet ovat lyhenteitä, esimerkiksi psx
tarkoittaa Playstation 1 -pelikonsolia ja gbc Game Boy Color -käsikonsolia.
KUVA 17. ROMien siirtäminen RetroPiehin
5.4
Pelien dokumentointi
Pelejä on helpompi selata RetroPiessa, jos ne on dokumentoitu oikein ja asiallisesti.
Normaalisti RetroPie näyttää vain nimilistana jokaiselle pelialustalle löytyvät ROM-pelit.
Jos kuitenkin käytetään ES-scaperiä, niin saadaan haettua peleille muutakin informaatiota
valikkoon kuin pelkkä pelin nimi.
ES-scraper on Python-koodikielellä kirjoitettu skripti, joka käyttää dataa eri internetlähetistä (thegamessdb.net ja archieve.vg) ja kerää ne XLM-tiedostoksi, jota
EmulationStation
(front-end)
voi
lukea
(ES-Scraper
2015).
ES-scraper
etsii
dokumentaatiot lähteistä pelien nimen perusteella, ja hakee niille mm. pelikannen kuvan,
arvosanan, julkaisupäivämäärän ja lyhyen kuvauksen. Skripti toimii niin, että se
38
tarkastelee ROM-tiedostojen lähdehakemistot ja etsii niille mahdollisia laajennuksia. Kun
se löytää netistä sopivan otsikon, joka vastaa jonkin ROM-tiedoston kanssa, niin se
poistaa otsikosta muut turhat merkit ja kirjaimet ja lataa kyseiselle pelille dokumentaatiot
(Kuva 18). ES-scraper kokoaa löytämistään tiedoista gamelist.xml -tiedostoa, johon on
tallennettu kaikki data pelien dokumentoinnista.
Otetaan ensin yhteys PuTTYä käytten RetroPiehin, jotta päästään komentoriville. ESscaperin käyttöä varten asennetaan itsenäinen skripti, joka muuttaa pelien kansikuva koot
sopiviksi. Skripti haetaan seuraavalla komennolla:
13)
sudo apt-get install python-imaging
Tämän jälkeen ladataan itse scraper-tiedosto, joka suorittaa ROM-tiedostojen ja internetin
välisten tietokantojen vertailun. Seuraavalla komennolla ladataan scraper-tiedosto:
14)
go get github.com/sselph/scraper
Seuraavaksi puretaan kyseinen tiedosto käytettäväksi:
15)
go build github.com/sselph/scraper
Tämän jälkeen navigoidaan komentoriviä käyttäen oikea kansio RetroPiessa. Esimerkiksi
jos halutaan etsiä dokumentaatiot Super Nintendo Entertainment System -peleille, niin
navigoidaan seuraavaan kansioon:
16)
/home/pi/RetroPie/roms/snes
Komentoriviä käyttäen kyseiseen kansioon päästään komennolla:
17)
cd RetroPie/roms/snes
Kun kansioon on navigoitu, niin voidaan aloittaa scraperin toiminta. Scraperin ajamisessa
suositellaan käyttämään thumb only -lisäkomentoa. Tämä muuttaa pelin kansikuvadatan
hakemista niin, että kannesta tallennetaan vain pienikokoinen kuva täysikokoisen sijaan.
Thumb only -lisäkomennon käyttäminen vähentää latausaikoja pelivalikoita selatessa.
39
Seuraavalla komennolla haetaan sen hetkisen hakemiston sisältämien ROMien
dokumentaatiot:
18)
scraper -thumb_only
KUVA 18. ES-scaper hakee peleille dokumentaatiota.
Kuvassa 19 nähdään Playstation 1 -emulaattorin pelivalikoima ilman ES-scraperin
ajamista. Peleistä ei näy muuta tietoa kuin nimi, joka saattaa olla väärä (Spyro 2), tai
nimessä voi esiintyä kummallisia merkkejä.
KUVA 19. Emulaattorin pelivalikko ilman ES-scraperin ajamista
40
Kuvassa 20 huomataan positiivinen muutos pelivalikossa, kun ES-scaper on ajettu.
Dokumentaatiosta nähdään kyseisen pelin kansikuva, keskimääräinen käyttäjien antama
arvosana, julkaisupäivä, tuottaja, julkaisija, tyylilaji, pelaajien määrä, viimeksi pelattu,
pelikertojen määrä ja pelin kuvaus. Lisäksi pelien nimet on korjattu oikein (Spyro 2).
Dokumentoitua valikkoa on huomattavasti mukavampi selata, ja siitä voidaan helposti
tarkistaa esimerkiksi moninpelimahdollisuus.
KUVA 20. Emulaattorin pelivalikko ES-scraperin ajamisen jälkeen
5.5
Kodi-mediasoittimen asentaminen
Tässä kappaleessa asennetaan Kodi-mediasoitin RetroPien sisälle, niin että luodaan sille
muokattu käynnistysruutu päävalikkoon. Alkuun navigoidaan RetroPien Setup -skriptiin,
josta Kodi voidaan asentaa. RetroPien Setup -skripti löytyy hakemistosta:
19)
/home/pi/RetroPie-Setup
Sinne navigoidaan PuTTYä käyttäen seuraavasti:
20)
cd /home/pi/RetroPie-Setup
41
Tästä kansiosta löytyy retropie_setup.sh -tiedosto, joka ajetaan käskyllä:
21)
sudo ./retropie_setup.sh
Graafisesta valikosta valitaan valinta 4 eli Experimental packages. Sen sisältä löytyy
valinta 254, jolla Kodin asentaminen käynnistyy. Kodi asennetaan Rasbian-kirjaston
paketteja käyttäen (Kuva 21).
KUVA 21. Kodin asentaminen Rasbian-paketeilla.
Kodin asentamisen jälkeen luodaan sille RetroPien päävalikkoon käynnistysruutunsa,
jotta ohjelma voidaan käynnistää helposti. EmulationStationin teemat löytyvät
seuraavasta hakemistosta:
22)
/etc/emulationstation/themes/simple
Kyseiseen hakemistoon luodaan uusi teemakansio Kodia varten:
23)
sudo mkdir /etc/emulationstation/themes/simple/kodi
42
Seuraavaksi haetaan internetistä Kodin tekijöiden luoma tiedosto, joka sisältää kuvat
päävalikkoa varten, teema- ja käynnistystiedostot, sekä ohjainkonfiguraatioita. Tiedosto
sijaitsee osoitteessa:
24)
https://mega.co.nz/#!sZNGxRiZ!FVxrNU2RoFZmipecYbgrj0hQmEijnGs
QX_1YhdAqrWs
Puretaan ladattu kodi-pi.zip -niminen tiedosto 7-Zip -ohjelmaa käyttäen. Haetaan sen
sisältä art-kansio ja theme-tiedosto, jotka siirretään RetroPiehin FileZillaa käyttäen.
Siirrettävä hakemisto on sama, joka luotiin aikeisemmassa kohdassa:
25)
/etc/emulationstation/themes/simple/kodi
Tämän jälkeen palataan takaisin PuTTYyn. Seuraavaksi avataan emulationstationkansiosta järjestelmälistauksen konfigurointitiedosto. Tiedosto aukeaa komennolla:
26)
sudo nano /etc/emulationstation/es_systems.cfg
Tämä tiedosto hallinnoi kaikki päävalikon sisältämät emulaattorit, niiden hakemistot ja
tiedostopäätteet. Kuvassa 22 on kahden eri emulaatiojärjestelmän listaukset kyseisessä
tiedostossa.
KUVA 22. Järjestelmälistaus päävalikkoa varten
43
Kodia varten lisätään tiedostoon seuraavanlainen järjestelmä ja sille parametrit, jotta Kodi
saadaan lisättyä päävalikkoon:
27)
<system>
<fullname>Kodi</fullname>
<name>kodi</name>
<path>~/RetroPie/roms/kodi</path>
<extension>.sh .SH</extension>
<command>%ROM%</command>
<platform>kodi</platform>
<theme>kodi</theme>
</system>
Nyt Kodille löytyy oma käynnistysruutunsa RetroPien päävalikosta. Sillä on oma
graafinen logo ja tausta muiden pelikonsoliemulaattoreiden tavoin (Kuva 23).
KUVA 23. Kodin käynnistysruutu RetroPien päävalikossa
44
6
OHJAINTEN KONFIGUROINTI
RetroPien päävalikossa toimivat melkein kaikki mahdolliset USB-ohjaimet suoraan
kytkemisen jälkeen ilman erillistä konfigurointia. Sen sijaan emulaattoreiden kanssa
täytyy asetuksia muuttaa, ja keksiä sopivat ohjainratkaisut eri konsolialustoille.
Konsoleiden välinen ohjainongelma on se, että niiden ohjaimissa on eri määrä
painikkeita, jonka vuoksi toisessa ohjaimessa esimerkiksi painikkeen "A" sisääntulo voi
olla eri paikassa kuin toisessa. Lisäksi ohjaimien ominaisuudet voivat olla erilaiset
(ristinäppäimet verrattuna analogisiin tatteihin).
Ohjaimet konfiguroidaan käytetyille emulaattoreille siten, että 1 - 2 SNES-ohjainta
käytetään Gameboy, Gameboy Color, Gameboy Advance, Nintendo ja Super Nintendon
pelaamiseen. Näiden pelikonsolien alkuperäiset ohjaimet sisältävät vähemmän näppäimiä
ja toimivat hyvin ristiohjauksella, sekä niiden maksimi pelaajamäärä on kaksi. Nintendo
64 - ja Playstation 1 -emulaattoreita pelataan 1 - 4 Xboxin ohjaimella. Näiden konsolien
alkuperäiset ohjaimet tukevat analogisia tatteja, ja suurin osa niiden peleistä on 3Dgraafisia, joissa ristiohjaimella liikkuminen on hankalaa. Lisäksi ne tukevat yli kahden
pelaajan moninpelejä, jonka vuoksi tarvitaan enemmän ohjaimia.
RetroPien ohjainkonfiguraatiot sijaitsevat hakemistossa:
28)
/opt/retropie/configs
Kyseisessä hakemistossa on jokaiselle emulaattorille oma kansionsa, jossa sijaitsee niiden
retroarch.cfg -nimiset ohjainkonfiguraatiotiedostot. Hakemistossa on myös yhteinen
kansio "All". Yhteinen kansio toimii siten, että jos jollekin emulaattorille ei ole erikseen
määritelty konfiguraatioasetuksia, niin se käyttää All-kansion asetuksia oletuksinaan.
45
6.1
SNES-ohjainten konfiguraatiot
SNES-ohjaimet ovat yksinkertaisia USB-ohjaimia. RetroPiesta löytyy valmiiksi ajuri 12
painikkeen USB-ohjaimelle, joten konfigurointi voidaan aloittaa ilman ajureiden
lataamista.
Ensimmäiseksi katkaistaan virrat Raspberry Pi:stä ja kytketään siihen toinen SNESohjaimista. Sen jälkeen voidaan käynnistää laite uudelleen ja ottaa yhteys PuTTYllä.
Navigoidaan komentorivillä seuraavaan hakemistoon:
29)
/opt/retropie/emulators/retroarch/
Käyttäen komentoa:
30)
cd opt/retropie/emulators/retroarch/
Kansiosta löytyy tiedosto nimeltä retroarch-joyconfig, jolla konfiguroidaan painikkeet
ohjainta käyttäen. Ohjelma aukeaa komennolla:
31)
sudo ./retroarch-joyconfig –j 0 >> /opt/retropie/configs/all/retroarch.cfg
Edellinen komento tarkoittaa sitä, että ajetaan painikkeiden kyselyohjelma ohjainportissa
numero 0, ja tallennetaan nuolten näyttämään tiedostoon. SNES-ohjainten konfiguraatiot
tallennetaan
suoraan
All-kansioon,
koska
muulloin
täytyisi
käydä
kaikkien
emulaattoreiden kanssa konfigurointi erikseen läpi.
Huom! Jos virheilmoitus ”Couldn’t open joystick #0” ilmenee, niin vaihda edellisen
komennon numero 0 joko 1, 2, tai 3:seen. Virhe aiheutuu siitä, että ohjain on kytketty eri
USB-porttin, kuin mitä ohjelma yrittää hakea.
Ohjelman auettua seurataan näytölle ilmestyviä ohjeita ja painetaan ohjaimen painikkeita
ohjeen mukaan (Kuva 24). SNES-ohjaimessa on vähemmän painikkeita, kuin mitä
ohjelma kysyy (R2, L2, R3, L3 ja analogiset tatit puuttuvat). Siksi valitaan valepainike
(tässä työssä vasen liipaisin L1), jolla ohitetaan painikkeet, joita ei ole käytetyssä
ohjaimessa.
46
KUVA 24. Painikkeiden kyselyohjelma
Kyselyn loputtua käynnistetään RetroPie uudelleen seuraavalla komennolla:
32)
sudo reboot
Avataan FileZilla, jotta voidaan muokata tallennettua konfiguraatiotiedostoa. Muokattava
tiedosto nimeltä retroarch.cfg löytyy hakemistosta:
33)
/opt/retropie/configs/all
Tiedosto avataan ladatulla Notepadilla, jotta sen muokkaaminen onnistuu helposti.
Avatun tiedoston lopusta löytyy kuvassa 25 näkyvä osio, josta muokataan ylimääräiset
osuudet pois.
47
KUVA 25. SNES-ohjaimen sisääntulot
SNES-ohjaimen tapauksessa rivin 759 jälkeen voidaan poistaa loput koodit. Näitä
painikkeita ei kyseisestä ohjaimesta löydy, joten niissä on käytetty valepainiketta, minkä
vuoksi niiden sisääntulovalinta näyttää samaa (4). Nyt on määritetty ohjainkonfiguraatiot
ensimmäisen pelaajan ohjaimelle, seuraavaksi määritetään toinen pelaaja.
Poistamisen jälkeen kopioidaan loput koodit ja liitetään me jäljelle jääneen koodin
perään. Muokataan jälkimmäisestä koodista kaikilta riveiltä pelaaja ykkösen tilalle
pelaaja kaksi. Esimerkkinä "Y" näppäimen sisääntulo:
34)
input_player1_y_btn = "3" --> input_player2_y_btn = "3"
48
Lisäksi muutetaan toisen pelaajan ohjaimen porttipaikka. Ensimmäisellä pelaajalla ohjain
on portissa "0", toisella pelaajalla täytyy valita portiksi seuraava vapaa paikka eli "1".
Koodia muutetaan seuraavasti:
35)
input_player2_joypad_index = "0" --> input_player2_joypad_index = "1"
KUVA 26. SNES-ohjainten valmis koodi
Tallennetaan tiedosto ja SNES-ohjainten konfigurointi on valmis. Jatkossa täytyy muistaa
mihin USB-portteihin SNES-ohjaimet on liitetty, ettei vahingossa liitä Xbox-ohjainten
vastaanotinta väärään porttiin.
49
6.2
Langattomien Xbox 360 -ohjainten konfiguraatiot
Langallisten Xbox 360 -ohjainten ajurit löytyvät RetroPiesta jo valmiiksi. Ne ovat
yhteensopivia langattomien ohjainten kanssa, joten ajureita ei tarvitse asennella.
Vastaanottimen ajurit sen sijaan haetaan erikseen. Vastaanottimelle löytyy valmiit
Rasbian-paketit internetistä, jotka haetaan RetroPien Setup -skriptin avulla. Skriptiin
päästään PuTTYllä samalla tavalla, kuin tehtiin kappaleessa 5.5.
Avautuvasta valikosta valitaan "Setup", ja sen sisältä Install Xbox 360 Wireless Receiver
Driver -valinta. Kun RetroPie on saanut ajurit asennettua, niin käynnistetään laite
uudelleen komennolla:
36)
sudo reboot
Kiinnitetään tässä vaiheessa kolmanteen USB-porttiin langaton vastaanotin (annetaan
SNES-ohjaimien olla porteissa 1 ja 2). Tämän jälkeen navigoidaan retroarch-kansioon ja
käynnistetään retroarch-joyconfig -niminen tiedosto. Tiedosto avataan samalla
komennolla, mutta konfiguraatioiden tallennuspaikkaa muutetaan. Tällä kertaa
konfiguraatiotiedostot tallennetaan seuraaviin hakemistoihin:
37)
/opt/retropie/configs/n64/
38)
/opt/retropie/configs/psx/
Näin aukeavat eri ohjainkonfiguraatiot Nintendo 64 - ja Playstation 1 -emulaattoreiden
käynnistyessä. Avataan retroarch-joyconfig tiedosto seuraavalla komennolla:
39)
sudo ./retroarch-joyconfig –j 2 >> /opt/retropie/configs/n64/retroarch.cfg
Numero 2 määrittää, että luetaan porttia 3 (0 on portti yksi ja 1 on portti 2). Tällä kertaa
ei tarvitse erikseen määritellä konfiguraatiotiedostoon portin paikkaa, koska kaikki neljä
ohjainta sijaitsevat samassa vastaanottimen portissa. Ohjelma käy nyt läpi kaikki
painikkeet, jotka Xbox 360 -ohjain kattaa, joten valepainiketta ei tarvita. Käynnistetään
RetroPie uudelleen konfiguraatioiden päivittämiseksi.
50
Avataan FileZilla ja navigoidaan seuraavaan hakemistoon:
40)
/opt/retropie/configs/n64/
Muokataan FileZillan avulla retroarcj.cfg-tiedostoa käyttäen Notepadia. Tiedoston
lopusta löytyy taas ohjelman tallentamat sisääntulopainallukset. Nyt ei tarvitse poistaa
mitään, koska kaikkia kysyttyjä painikkeita tarvitaan. Kopioidaan kaikki tallennettu ja
liitetään ne loppuun neljään kertaan, sillä käytetään neljää ohjainta. Tällä kertaa ohjaimen
porttipaikka pysyy samana kaikille neljälle ohjaimelle, koska vastaanotin vie vain yhden
USB-portin. Muutetaan vain pelaajien numerot ykkösestä neloseen eri sarakkeissa.
Valmiin koodin jokaiselle kyseiselle pelaajalle tulisi näyttää samalta kuin kuvissa 27 30.
KUVA 27. Ensimmäisen Xbox-ohjaimen valmis koodi
51
KUVA 28. Toisen Xbox-ohjaimen valmis koodi
KUVA 29. Kolmannen Xbox-ohjaimen valmis koodi
52
KUVA 30. Neljännen Xbox-ohjaimen valmis koodi
Tallennetaan tiedosto ja langattomien Xbox 360 ohjainten konfigurointi on valmis.
Jatkossa täytyy muistaa mihin USB-porttiin vastaanottimen liittää, ettei vahingossa liitä
vastaanotinta SNES-ohjainten paikalle.
6.3
Kodi-ohjainten konfiguraatiot
Normaalisti Kodi toimii hiiri ja näppäimistö yhdistelmällä. RetroPiesta halutaan
kuitenkin tehdä käytännöllinen retropelikonsoli, jonka käyttöön ei tarvita muuta kuin
peliohjaimet normaalin videopelikonsolin tapaan. Tämän takia luodaan muutamia uusia
asetuksia, jotta Kodia voidaan hallita langattomilla Xbox 360 -ohjaimilla.
Ohjainten konfiguroimisessa tarvitaan Kodin asentamisessa ladattua tiedostoa nimeltä
kodi-pi, se sisältää tarvittavia ohjainkonfiguraatio- ja käynnistystiedostoja.
53
Alkuun luodaan uusi kansio nimeltä "kodi" RetroPien roms-hakemistoon. Kansio luodaan
FileZillaa käyttäen seuraavaan hakemistoon:
41)
/home/pi/RetroPie/roms
Avataan luotu kansio ja siirretään sinne FileZillan avulla kodi-pi:stä löytyvä tiedosto
nimeltä kodi.sh. Tämä on skriptitiedosto, joka käynnistyy samalla kun päävalikosta
avataan Kodi. Skriptiä tarvitaan, että Xbox-ohjaimen ajurit toimisivat myös Kodin sisällä,
koska näitä ajureita ei normaalisti ole tarkoitettu muulle kuin emulaattoreille.
Seuraavaksi navigoidaan FileZillassa seuraavaan hakemistoon:
42)
/home/pi
Siirretään tähän kansioon kodi-pi:stä löytyvä kodi.ini-konfiguraatiotiedosto. Kodi.ini
sisältää Xbox-ohjaimelle asetetut konfiguraatiot.
Avataan tämän jälkeen ini.d-kansio, joka löytyy hakemistosta:
43)
/etc/ini.d
Siirretään sinne xboxdrv-niminen konfiguraatiotiedosto kodi-pi:stä FileZillaa käyttäen.
RetroPien ini.d-kansiossa sijaitsee ajureiden konfiguraatiotiedostoja. Ne määräävät
milloin ajureita käytetään ja milloin ne ovat pois käytöstä. Tämä kyseinen tiedosto ohjaa
langattomien Xbox 360 -ohjainten ajureiden käyttöä.
Tässä vaiheessa täytyy päivittää uudelleen Xbox-ohjainten ajuri, jotta se löytää uuden
konfiguraatiotiedoston. Päivitys tapahtuu seuraavalla komennolla:
44)
sudo update-rc.d xboxdrv start
Lopuksi valitaan käytettävien ohjainten määrä Kodissa. Käytännössä yksikin ohjain
riittää sovelluksen käyttämiseen, mutta koska tässä työssä käytämme maksimissaan
neljää langatonta Xboxin ohjainta, niin valitsemme maksimimäärän. Siirretään xboxdrv-
54
wireless -niminen konfiguraatiotiedosto kodi-pi:stä RetroPiehin FileZillan avulla.
Tiedosto siirretään seuraavaan hakemistoon:
45)
/etc/default/xboxdrv
Kyseisessä kansiossa sijaitsee Xbox-ohjaimen ajurille tehdyt lisäasetukset, jotka ajetaan
tarvittaessa. Käytönnössä tämä konfiguraatiotiedosto erottelee eri ohjaimet toisistaan,
niin että kaikkia neljää ohjainta voidaan käyttää Kodin sisällä samaan aikaan. Siirretty
tiedosto avataan esimerkiksi Notepadia käyttäen ja koodin alusta muokataan käytettävien
ohjainten määrä oikeaksi:
46)
# How many Controllers? (support up to 4 Controllers)
CONTROLLER_NUM=4
6.4
Ohjainten testaus
Tässä kappaleessa testataan kaikkia edellä asetettuja ohjainkonfiguraatioita. Testejä
suoritetaan yhteensä neljä kappaletta: RetroPien päävalikolle, SNES-ohjaimille,
langattomille Xbox 360 -ohjaimille ja Xbox 360 -ohjaimille Kodi-ympäristössä.
Jokaisesta testauksesta löytyy lyhyt kommentointi ja kuva kyseisestä tilanteesta.
6.4.1
RetroPie-päävalikon testi
Kaikkien ohjainten toimivuutta testattiin RetroPien päävalikossa. Ohjaimet toimivat
kaikki yhtä aikaa moitteettomasti ilman virheitä (Kuva 31). Lisäksi tässä testissä todettiin
RetroPien tunnistavan kaikki ohjaimet oikeilla asetuksilla uudelleen käynnistämisen
yhteydessä ja liitäntöjen irrottamisen jälkeen.
55
KUVA 31. RetroPie-päävalikon testi
6.4.2
SNES-ohjain testi
SNES-ohjaimia testattiin Super Nintendo -emulaattorin pelillä nimeltä Super Mario Kart.
Pelissä oli mukana kaksi pelaajaa (Kuva 32). Ohjainkonfiguraatiot toimivat juuri niin
kuin ne asetettiin, ilman virheitä ja viivettä.
KUVA 32. SNES-ohjain testi
56
6.4.3
Xbox 360 -ohjain testi
Langattomia Xbox 360 -ohjaimia testattiin Playstation 1 -emulaattorin pelillä nimeltä
Crash Bash. Pelissä oli mukana neljä pelaajaa (Kuva 32). Ohjainkonfiguraatiot toimivat
juuri niin kuin ne asetettiin, ilman virheitä ja viivettä. Langattomat ohjaimet eivät
myöskään kadottaneet signaalia kertaakaan n. 30 minuutin pelisession aikana.
KUVA 33. Xbox 360 -ohjain testi
57
6.4.4
Kodi-ohjain testi
Langattomia Xbox 360 -ohjaimia testattiin Kodi-mediasoittimen sisällä. Kaikkia neljää
ohjainta testattiin samaan aikaan. Ohjaimilla päästiin kulkemaan valikoissa sujuvasti,
ilman virheitä ja viivettä. Langattomat ohjaimet eivät myöskään kadottaneet signaalia
kertaakaan n. 10 minuutin testaamisen aikana.
KUVA 34. Kodi-ohjain testi
58
7
POHDINTA
Pidin RetroPie-projektin työstämistä hyvin mielenkiintoisena. Olen aina halunnut
rakentaa oman pelikonsolin ja lopulta sain sen toteutettua. Vaikka RetroPie onkin pitkälti
jo valmiiksi rakennettu, niin sitä kuitenkin voidaan muokata lähes rajattomasti
haluamallaan tavalla. Opinnäytetyössä toteutin RetroPien juuri sillä tavalla, kuin itse näen
projektin parhaana, eli poistin ylimääräisiä osia ja lisäsin muita hyödyllisiä mm. Kodimediasoittimen. Todellisuudessa olen muokannut omaa RetroPietani paljon enemmän,
mutta liiallisen pituuden takia jätin vähemmän tärkeät muokkaukset mainitsematta.
RetroPie-projekti on kehittynyt nopeaa vauhtia. Raspberry Pi 2:sen julkaisu sai aikaan
nopean harppauksen RetroPien kehityksessä. Tämä johtuu ilmeisimminkin siitä, että
Raspberry 1 on tehoiltaan hieman riittämätön hyvän emulointituloksen aikaansaamiseksi.
Aloitin projektin helmikuussa 2015 ja silloinen uusin versio RetroPiesta oli 2.1. Projektin
valmiiksi saatuani uudempia versioita oli keretty julkaista jo 6 kappaletta ja senhetkinen
uusin versio oli 3.0 beta. Työn aikana päivitin projektini versiota moneen otteeseen, ja
tämä aiheutti ongelmia, koska hakemistot ja muut asetukset muuttuvat hieman eri
versioiden välillä.
RetroPien jatkuva kehitys on avannut projektin muillekin, kuin Linux-pohjan osaaville
henkilöille. Jokaisen version jälkeen itse tehtävä konfigurointi ja asetusten säätäminen
vähenee, ja RetroPie muuttuu enemmän ja enemmän valmiiksi kokonaisuudeksi.
Uudemmat versiot sisältävät enemmän valmiiksi asennettuja ajureita ja asetuksia
käytetyimmille ohjaimille. Lisäksi parissa viimeisimmässä versiossa monia asetuksia on
liitetty suoraan graafiseen käyttöliittymään, jotta ei tarvitsisi lähteä muokkaamaan
asetuksia komentorivin kautta.
RetroPien valtava suosion kasvu on johtanut siihen, että monia emulaattoreita kehitetään
jo pelkästään RetroPieta varten. Kun suosio vielä kasvaa, niin uskon että jossain vaiheessa
aloitetaan jo täysin lisensoitujen emulaattoreiden kehitys RetroPielle. Tällä hetkellä
tekijänoikeudet ovat ongelma emulaattoreiden ja ROM-tiedostojen kanssa, mutta kun
pelistudiot huomaavat paremmin RetroPien menestyksen, niin ehkä tulevaisuudessa
voidaan nähdä jopa jotain yhteystyötä pelifirmojen ja RetroPie-kehittäjien välillä.
59
LÄHTEET
Alex Bradbury 2015. Raspi-Config. 2015. Luettu 3.5.2015.
https://www.raspberrypi.org/documentation/configuration/raspi-config.md
Alexandru Pintilie 2014. DAEMON Tools USB. 28.11.2014. Luettu 11.3.2015.
http://www.softpedia.com/get/CD-DVD-Tools/Virtual-CD-DVD-Rom/DAEMONTools-USB.shtml
Andrew Tridgell 2002. 10 years of Samba!. 1.2002. Luettu 10.3.2015.
https://www.samba.org/samba/docs/10years.html
Cellan-Jones, Rory. 2011. A 15 pound computer to inspire young programmers.
5.6.2014. Luettu 20.2.2015.
http://www.bbc.co.uk/blogs/thereporters/rorycellanjones/2011/05/a_15_computer_to_in
spire_young.html
Don Ho 2015. About Notepad++. 2015. Luettu 22.4.2015.
https://notepad-plus-plus.org/
Emulation-general 2015. RetroArch. 2015. Luettu 4.3.2015.
http://emulation-general.wikia.com/wiki/RetroArch
Emulator-zone 2015.
http://www.emulator-zone.com/doc.php/nes/fceux.html
ES-Scraper 2015. ES scraper. 22.4.2015. Luettu 6.5.2015.
https://github.com/petrockblog/RetroPie-Setup/wiki/ES-scraper
Github 2015. Getting Started. 20.4.2015. Luettu 1.5.2015
https://github.com/petrockblog/RetroPie-Setup/wiki
Granger, Stewart 2008. Emulation as a Digital Preservation Strategy. 29.8.2008. Luettu
3.3.2015. D-Lib aikakauslehti nro. 6 sivu 19.
HDMI 2007. FAQ. 2007. Luettu 27.5.2015.
http://www.hdmi.org/learningcenter/faq.aspx
Igor Pavlov 2015. 7-Zip. 2015. Luettu 14.3.2015.
http://www.7-zip.org/
Jari Sarja. 2013. Raspberry Pi: Käyttöönotto ja sovellustestaus. 4.2013. Luettu
21.2.2015.
http://publications.theseus.fi/bitstream/handle/10024/61574/Sarja_Jari.pdf
Kaushik Patowary 2009. "XBMC is the best media center application. Period.".
28.8.2009. Luettu 8.3.2015.
http://www.instantfundas.com/2009/08/xbmc-is-best-media-center-application.html
Kevin Andersson 2009. Thinking inside the box. 7.9.2009. Luettu 9.3.2015.
http://www.theguardian.com/technology/2009/oct/07/boxee-web-video-software
60
Kodi 2015. About Kodi. 2015. Luettu 7.3.2015.
http://kodi.tv/about/
Koninklijke Bibliotheek 2007. What is emulation?. 11.12.2007. Luettu 1.3.2015.
http://www.kb.nl/hrd/dd/dd_projecten/projecten_emulatiewatis-en.html
Leo Kelion. 2015. Raspberry Pi 2 unveiled with faster processor and more memory.
2.2.2015. Luettu 22.2.2015.
http://www.bbc.com/news/technology-31088908
Libretro 2015. Libretro. 2014. Luettu 5.3.2015.
http://www.libretro.com/
Muira, Gregory 2007. Pushing the Boundaries of Traditional Heritage Policy:
maintaining long-term access to multimedia content. 8.2007. Luettu 2.3.2015. IFLA
aikakauslehti nro. 33 sivut 323-326.
Petrockblock 2015. The RetroPie Project. 2015. Luettu 23.2.2015.
http://blog.petrockblock.com/retropie/
Petrus Laine 2015. Raspberry 2 julki, mukana tuki Windows 10:lle. 2.2.2015. Luettu
21.4.2015
http://muropaketti.com/raspberry-pi-2-julki-mukana-tuki-windows-10lle
Puolenkuunpelit 2007. Xbox 360 langaton ohjain. 15.8.2007. Luettu 25.4.2015.
http://www.puolenkuunpelit.com/kauppa/product_info.php?products_id=20794
Rasbian 2015. Welcome to Rasbian. 2015. Luettu 6.3.2015.
http://www.raspbian.org/
Raspberry Pi Foundation 2012. Quick Start Guide. 2012. Luettu 2.5.2015
https://www.raspberrypi.org/help/quick-start-guide/
SDcard 2014. Speed Class. 2014. Luettu 23.4.2015.
https://www.sdcard.org/developers/overview/speed_class/index.html
SDcard Formatter 2014. SD Formatter 4.0 for SD/SDHC/SDXC. 2014. Luettu
12.3.2015.
https://www.sdcard.org/downloads/formatter_4/
Simon Tatham 2015. PuTTY: A Free Telnet/SSH Client. 19.4.2015. Luettu 20.4.2015.
http://www.chiark.greenend.org.uk/~sgtatham/putty/
Udi Tirosh 2013. Memory cards have "less space" than advertised, here is why.
10.9.2013. Luettu 28.4.2015.
http://www.diyphotography.net/memory-cards-have-less-space-advertised-here-why/
Van der Hoeven, Jeffrey, Bram Lohman, Remco Verdegem 2007. Emulation for Digital
Preservation in Practice: The Results. 2.2.2007. Luettu 4.3.2015. The International
Journal of Digital Curation sivut 123-132.
61
Verkkokauppa 2015. ZyXEL NBG-418N v2 3-in-1 -WiFi-reititin. 2015. Luettu
24.4.2014.
http://www.verkkokauppa.com/fi/product/26882/dvgmq/ZyXEL-NBG-418N-v2-3-in-1WiFi-reititin
Wikibooks 2010. SSH. 5.2.2010. Luettu 20.4.2015.
http://fi.wikibooks.org/wiki/SSH
Wikipedia 2014. Ylikellottaminen. 29.9.2014. Luettu 4.5.2015.
http://fi.wikipedia.org/wiki/Ylikellottaminen
Wikipedia 2015a. Emulaattori. 9.4.2013. Luettu 24.2.2015.
http://fi.wikipedia.org/wiki/Emulaattori
Wikipedia 2015b. ROM image. 10.4.2015. Luettu 25.2.2015.
http://en.wikipedia.org/wiki/ROM_image
Wikipedia 2015c. Wget. 26.4.2015. Luettu 5.5.2015
http://en.wikipedia.org/wiki/Wget
Wiki FileZilla 2009. FileZilla Wiki. 6.11.2009. Luettu 15.3.2015.
http://fi.wikipedia.org/wiki/FileZilla
Xbox 2015. Xbox 360 Wireless Gaming Receiver for Windows -vastaanotin. 2015.
Luettu 26.4.2015.
https://support.xbox.com/fi-FI/xbox-on-other-devices/windows/xbox-360-wirelessgaming-receiver-windows
62
8
LIITTEET
Liite 1. Emulaattorilista
Liite 2. Laitteet ja välineet
63
Julkaisuvuosi
Kuva
Nimi
Tyyppi
Emulaattori
1977
Atari 2600
Pelikonsoli
Stella (RetroArch)
1977
Apple 2
Tietokone
LinApple
1979
Atari 800
Tietokone
Atari 800
1979
Intellivision
Pelikonsoli
jzintv
1979
Z-machine
Virtuaalikonsoli
Frotz
1981
IBM PC
Tietokone
rpix86
1982
Commodore C 64
Tietokone
Vice
1982
Vectrex
Pelikonsoli
Vecx (RetroArch)
1982
ZX Spectrum
Tietokone
Fuse FBZX
64
1983
MSX
Tietokone
OpenMSX
1983
Nintendo
Pelikonsoli
FCEUMM
Entertainment
(RetroArch)
System
1984
Apple Macintosh
Tietokone
Basiliks 2
1984
Amstrad CPC
Tietokone
CPC4Rpi
1985
Commodore
Tietokone
UAE4ALL
Amiga
1985
Atari ST
Tietokone
Hatari
1985
Sega Master
Pelikonsoli
Picodrive
System
1985
Sega System 16
(RetroArch)
Arcade-
Final Burn Alpha
pelikonsoli
1987
TurboGrafx-16
Pelikonsoli
Mednafen
(RetroArch)
65
1988
Sega Genesis
Pelikonsoli
Picodrive
(RetroArch)
1988
CP System
Arcade-
Final Burn Alpha
pelikonsoli
1989
Atari Lynx
Käsikonsoli
Handy (RetroArch)
1989
Game Boy
Käsikonsoli
Gambatte
(RetroArch)
1990
Sega Game Gear
Käsikonsoli
Osmose
1990
Neo Geo
Arcade-
Final Burn Alpha
pelikonsoli
1990
1991
Super Nintendo
Pelikonsoli
PocketSNES
Entertainment
(RetroArch),
System
SNES9X, PiSNES
Sega CD
Pelikonsoli
Picodrive
(RetroArch)
1993
CP System 2
Arcadepelikonsoli
Final Burn Alpha
66
1994
Sega 32X
Pelikonsoli
Picodrive
(RetroArch)
1994
Sony Playstation
Pelikonsoli
PCSX Rearmed
(RetroArch)
1996
CP System 3
Arcade-
Final Burn
pelikonsoli
1996
Nintendo 64
Pelikonsoli
Mupen64plus,
Mupen64pluslibetro
1998
Game Boy Color
Käsikonsoli
Gambatte
(RetroArch)
2001
Game Boy
Käsikonsoli
GPSP
Virtuaalikonsoli
ScummVM
Advance
2001
ScummVM
http://blog.petrockblock.com/retropie/arcade-systems-game-consoles-and-homecomputers-in-retropie/
67
Raspberry Pi 2, Zyxel-reititin, MicroSD-muistikortti ja Pi:n suojakotelo
2 kpl SNES-ohjaimia, 4 kpl langattomia Xbox 360 -ohjaimia ja Xbox 360 langaton USB
vastaanotin
68
Micro-USB -virtajohto, 3 kpl RJ-45-ethernet -kaapeleita, HDMI-kaapeli ja Zyxelreitittimen virtajohto