Desktop arcade – Osa 3: RetroPie
RetroPie on alun perin Raspberry Pi -korttikoneille tehty ohjelmisto retropelien pelaamiseen. Raspberry Pi:lle asennus on helpointa tehdä käyttämällä valmista levykuvaa. Vaihtoehtoisesti sen voi asentaa myös olemassa olevan Debian tai Ubuntu -pohjaisen Linux järjestelmän päälle.
Alkuperäinen suunnitelma oli käyttää vanhaa Raspberry Pi 3B+:aa tähän projektiin ja päivittää se mahdollisesti myöhemmin tehokkaampaan malliin. Suunnitelma kuitenkin muuttui kun huomasin myynti-ilmoituksen käytetystä Intel NUC -minitietokoneesta, joka olisi hinnaltaan samaa luokkaa kuin Raspberry Pi 4, mutta moninkertaisesti tehokkaampi.
Koneeseen asennettiin ensin Ubuntu Server ja sen päälle RetroPie erillisen asennus-skriptin avulla. Skripti huolehtii tarvittavien pakettien lataamisesta, kääntämisestä ja asentamisesta. Tähän operaatioon kannattaa varata laitteen tehosta ja nettiyhteyden nopeudesta riippuen aikaa. Asennuksen jälkeen EmulationStation -käyttöliittymä aukeaa ja pyytää heti ensimmäisen peliohjaimen määrittelyä.
RetroPien levykuvaa ei päivitetä kovinkaan usein. Asennushetkellä uusin versio 4.7.1 on yli vuoden vanha. Asennuksen jälkeen RetroPie kannattaakin päivittää asennuskriptin avulla. Asennuskriptin voi käynnistää komentoriviltä tai EmulationStationin valikoiden kautta.
ROM:ien asentaminen
Pelit eli ROM:t tallennetaan kunkin pelialustan mukaiseen alihakemistoon. Esimerkiksi NES-pelit tallennetaan ~/RetroPie/roms/nes -hakemistoon. Uudelleenkäynnistyksen jälkeen pelit näkyvät listana käyttöliittymässä.
Pelilistaan on mahdollista saada lisäinformaatiota kuten kuvaus pelistä, julkaisuvuosi, julkaisija, arvostelu sekä kansi-, pelikuva tai videoleike. Tätä varten ROM-hakemistosta on löydyttävä oikealla tavalla rakennettu gamelist.xml -tiedosto ja tarvittavat mediatiedostot.
Scraperin avulla lisätietojen tallennus saadaan automatisoitua. RetroPien käyttöliittymässä on valmiiksi oma scraper, jonka saa käynnistettyä painamalla Start -nappia ja valitsemalla Scraper. Scraper toimii välttävästi ja sitä voi käyttää yleisimpien pelien tietojen hakuun. Se ei kuitenkaan tunnista harvinaisempia pelejä tai tunnistaa tiedot väärin jolloin käyttäjä joutuu korjaamaan löydetyt tiedot. Se ei myöskään kirjoitushetkellä tue videoleikkeiden lataamista.
Vaihtoehtoinen Skyscraper on asennettavissa RetroPien optional -pakettien joukosta valikossa: RetroPie Setup > Manage packages > Manage optional packages > skyscraper. Asennuksen jälkeen Skyscraper on käytössä valikossa: RetroPie Setup > Configuration/Tools > skyscraper. Se hakee oletuksena tietonsa screenscraper.fr -tietokannasta. Tietokantaan on rekisteröidyttävä etukäteen ja tunnukset syötettävä Skyscraperin asetuksiin.
Kolmannessa kokeilemassani scraperissa, Skraper:ssa on graafinen käyttöliittymä. Se käyttää niinikään screenscraper.fr -tietokantaa.
Käyttöliittymän muokkaus
RetroPien käyttöliittymän kustomointiin on saatavilla useita erilaisia teemoja. Teemoja saa ladattua valikosta: RetroPie Setup > Configuration/Tools > esthemes. Tämän jälkeen teeman saa vaihdettua valikosta: Start > UI SETTINGS..
Teeman mukaiset pelien latauskuvat tylsien tekstilaatikoiden tilalle saa asentamalla launchingimages -lisäosan valikosta: Manage Packages > Manage experimental packages > launchingimages > Install from binary. Asennuksen jälkeen lisäosa löytyy valikosta: RetroPie-Setup > Configuration/Tools > launchingimages.
Jos käytössä on Raspberry Pi, voi pientä siistimistä käyttökokemukseen tehdä myös piilottamalla käynnistyksen yhteydessä liukuvärikuvan lisäämällä /boot/config.txt -tiedon loppuun rivin:
disable_splash=1
Vadelmalogon ja kursorin saa piiloon taas lisäämällä /boot/cmdline.txt -tiedostoon rivin:
logo.nologo vt.global_cursor_default=0
Kuvan skaalaus
Laitteessa on FullHD -näyttö eli sen tarkkuus on 1920×1080 ja kuvasuhde 16:9. Vanhat pelit sen sijaan on tehty huomattavasti matalemmalle tarkkuudelle. Esimerkiksi NES:n PAL tarkkuus on 256×240 ja kuvasuhde n. 11:8. Pikselit eivät siis ole edes neliöitä. Lopullinen kuvasuhde CRT-televisiossa kuitenkin oli käytännössä aina 4:3, johon lähdemateriaalin pikselit skaalattiin. Lähes jokaisessa konsolissa on eroja käytetyn resoluutin suhteen puhumattakaan DOS -peleistä.
Pelikuva täytyy siis skaalata isommaksi ja jonkinlaisia kompromisseja on tehtävä. Parhaan kuvanlaadun saa skaalaamalla alkuperäisen kuvan suurimmalla mahdollisella kokonaisluvulla (integer scaling, perfect pixel). Esimerkiksi NES:n kuvapikselit kerrotaan neljällä jolloin kuvan tarkkuus on 1024×960. Tämä tarkoittaa FullHD -näytöllä mustia palkkeja kuvan kaikille reunoille. Jos taas halutaan käyttää näytön koko tarkkuutta, skaalataan kuva lineaarisella interpoloinnilla, jolloin kuva pehmenee hieman.
RetroPie antaa pelien skaalauksien hallintaan hyvät mahdollisuudet järjestelmä- tai pelikohtaisesti. Skaalauksen lisäksi kuvaan on mahdollista lisätä erilaisia shadereitä autentisuuden lisäämiseksi. Esimerkiksi Scanlines ja CRT -shaderit saavat kuvan näyttämään samalta kuin vanhalla kuvaputkitelevisiolla.
Tylsät mustat letterbox-reunat voi halutessaan korvata laite- tai pelikohtaisella kehyksellä: The Bezel Project on tätä varten tehty työkalu, joka lataa kehyskuvat automaattisesti. Bezel Projectia käytettäessä täytyy huomioida että pelien ROM-tiedostot on nimettävä No-Intro -käytännön mukaisesti ja että toistaiseksi kehyksiä on tarjolla isolta osalta vain USA-alueen mukaan nimettyihin peleihin.
DosBox
DosBox on emulaattori DOS-ohjelmille. Virallisen version kehitys on kuitenkin ollut verrattain hidasta; olemassaolevia bugeja ei ole korjattu eikä uusia ominaisuuksia ole tullut. Onneksi DosBox:lle on lukuisia rinnakkaisprojekteja, joiden kehitys on nopeampaa. Tällainen on esimerkiksi pelaamiseen optimoitu DosBox Staging. Sen saa asennettua RetroPie-Setup skriptin experimental -pakettien joukosta (Manage Packages > Manage experimental packages > DosBox Staging). DosBox Staging mahdollistaa mm. Perfect Pixel -skaalauksen.
DosBox -pelit ovat tyypillisesti omissa hakemistoissaan. Jotta vältytään komentorivin käyttämiseltä, täytyy jokaiselle pelille tehdä oma käynnistytiedosto (.conf) ja tallentaa ne roms/pc-hakemistoon. Varsinaiset pelit voi tallentaa .games -alihakemistoon, jolloin pelihakemistoja ei näytetä käyttöliittymässä. Käynnistystiedoston lopussa on osio pelin käynnistyskomennoille:
[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
MOUNT c /home/pi/RetroPie/roms/pc/.games
C:
cd GAME
GAME.EXE
EXIT
Parempaa ääntä DosBoxin peleihin saa käyttämällä Gravis Ultrasound, FluidSynth (GM) tai MT32 -emulointia, mikäli peli näitä tukee. Näiden käyttö saattaa vaatia alkuperäisiä ajuritiedostoja sekä midisoitinkirjastoja, joita ei tule DosBoxin mukana. Kun jokaisella pelillä on oma .conf -tiedosto, voidaan jokaiselle pelille tehdä omat asetukset myös äänien suhteen. Mieleisten ääniasetusten löydyttyä kannattaa asetukset optimoida poistamalla käytöstä ylimääräiset emuloinnit kuten SoundBlaster kun GUS on käytössä tai toisinpäin.
[sblaster]
sbtype = none
oplmode = none
[gus]
gus = true
Muita hyödyllisiä vinkkejä:
- Dos4GW -muistilaajenninta käyttävät DOS-pelit saa nopeammaksi korvaamalla se uudemmalla DOS32/A:lla
- Mulle kuin peleille ja erillisille DOS-työkaluille kannattaa tehdä oma hakemisto
C64 Dreams
Vastikään 40 vuotta täyttäneen Commodore 64:n fanien kannattaa tutustua C64 Dreams -projektiin. Se sisältää valtavan määrän valikoituja pelejä ja C64 -ohjeismateriaalia kuten lehtiä ja demoja. Paketti on valmis Windowsissa toimivaa Launchbox:a myöten, mutta halutessaan pelit saa myös RetroPien käyttöön.
Lopputulos:
Projektin edelliset vaiheet: