Haku blogikirjoituksista termillä
"arcade overdrive":

tiistai, 22. lokakuuta 2013

Tämä kuvapainotteinen tarina kertoo erään custom-kotelointivirityksen tarinan. Tarinan loppu ei välttämättä ole tässä tapauksessa se onnellisin, mutta niinkuin niin monessa muussakin asiassa ei se lopputulos ole tärkein vaan se matka jonka tekee sinne päästäkseen :)

Itse innoistuin ajatuksesta rakentaa retropelikoneen kotelo perinteisiin isoihin VHS-koteloihin. Tällä tavoin superhalvalla tehdyn paketin saisi vaikka kirja/videohyllyyn piiloon ja siihen saisi tyylikkäät kansipaperit tulostettua ja pujoteltua suoraan koteloiden muovitaskuihin. Suunnittelin vielä kotelon niin, että leikkaan ja liimaan kolmen kotelon kannet yhteen ja näin saan koteloon koneen lisäksi ohjaimet ja bluetooth-näppäimistön.


Ensin kävin videodivarista hakemassa kolme samanväristä isoa VHS-elokuvaa, nämä tuhoamista anovat kasetit maksoivat 1e/kpl. Mittasin kansien reunoista sopivan verran (alimpaan koteloon 5mm muita pienempi reikä, selitys myöhemmin tekstissä) ja sitten leikkeilin mattoveitsellä ja saksilla, huomaa että vain keskimmäisestä kannesta otettiin tietysti molemmat reunat pois ;)

Seuraavaksi suunnittelin laitteiston osille paikat, alimmaisen kotelon sisään piti saada mahtumaan RaspberryPi, usb-hubi sekä rca-liittimet (halusin koneesta pelikoneen mökille, matkatelkkariin yms, joten HDMI-oli pois laskuista tällä kertaa), jotta koteloni saisi analogisesti kytkettyä ilman kansien avaamista (tässä vaiheessa onnellisen lopun mahdollisuus jäi pois laskuista, mutta siitä lisää artikkelin lopussa). Ostin Bebekistä 3kpl RCA liittimen, pätkän stereopiuhaa sekä 3,5mm urosliittimen (hintaa näille tuli yhteensä 3e).


RCA-liittimelle piti mittailla paikka kotelon kylkeen siten, että kaikki piuhat mahtuisivat kääntymään ongelmitta. VHS-koteloon sai reiät porattua melko helposti, muovin kanssa on mukava askarrella ainakin niin kauan kun se halkeaa (onneksi ei isoja halkeamia tullut).

Kun koteloiden rakenteet oli kunnossa oli aika ottaa liima käteen ja yhdistää kannet yhdeksi upeaksi paketiksi.


Siitä vaan osat paikoilleen ja kansista alussa irtileikatuista palasista sai liiman kera hyvin rakenneltua korokkeita ja pidikkeitä osille. Kun kone on alimmassa lokerossa, päätin jo alkuvaiheessa leikata alimmaisen kotelon reiän 5mm joka reunasta pienemmäksi, jolloin sain käytettyä toisesta kotelosta leikattua palasta välikantena konetilan ja varastotilan välillä. Kun välikansi oli paikoillaan sai kahden kotelon kokoiseen varastoon 2kpl SNES-ohjaimia, BlueTooth-näppäimistön, verkkovirtamuuntajan ja rca-piuhan huolellisesti pakattuna mahtumaan.

Tein testejä rca-piuhalla ainoastaan puhelimeni kanssa, eli kytkin 3,5mm plugin Nokialaiseen ja soitin musiikkia ja totesin että omat lukiopohjalta tehdyt juotokset olivat toimivia. Myöhemmin selvisi että tämä ei ollut tarpeeksi pätevä testaustapa, mutta ennen kuin päästään loppuratkaisuun täytyy koteloon vielä saada tyylikkäät kannet.


Ensin suunniteltiin ja toteutettiin kannen keskeiset grafiikat 3d-/kuvankäsittelyohjelmistoilla, tämän jälkeen googletettiin hyviä pelikuvia (nämähän olisi tosi-retro-mies kaapannut itse pelitilanteista, mutta enpä saanut aikaiseksi opetella tätä (ehkä opettelen ja kirjoitan siitä myöhemmin blogin)). Sen jälkeen vetävä takakansiteksti ja logot yms. Mitat on tietysti tärkeä saada oikein, joten huolellisuutta siinä. Sitten tulostin laulamaan ja kannet koteloon.

Lopputuloksena tyylikäs ja toimiva paketti. Niin, toimiva pakettina, mutta pelikoneena ei niinkään. Kolvaamani RCA-potikka nimittäin toimi hyvin puhelimessa, jossa on ilmeisesti parempi signaalien esivahvistus kuin Raspberryssä, sillä en koskaan saanut RCA-liittimistä kuvaa kuulumaan tai ääntä näkymään (en omista sähkömittauslaitteita, mutta tämänlaisen diagnoosin tein päättelemällä). Tämän johdosta aina pelatessa koneen piti olla auki ja pienen pelihetken jälkeen koko sisältö oli usein sekaisin lattialla/pöydällä ja piuhat solmussa. Pian totesin että toimivinta tässä paketissa oli se, että pelaamisen jälkeen sai pakattua kaikki osat yksiin kansiin ja piilotettua näkyvistä.

Silti, kuten alussa jo totesin oli kotelon rakentaminen hauskaa puuhaa ja suosittelen sitä kaikille kenellä ei ole Raspberrylleen mitään koteloa. Kehittäkää erilaisista purkeista/koteloista omannäköisenne paketti ja postatkaa vaikka kuva Arcade Overdriven Facebook-seinälle. Mutta jos aiotte RCA-liittimiä koteloihinne kiinnittää niin varmistakaa ensin jokin keino vahvistaa Raspberryn lähettämiä signaaleja :)

Kirjoittanut: klo    0 kommenttia

keskiviikko, 9. lokakuuta 2013

Pimamen rinnalla on hyvä käsitellä toinen retropelaajan RaspberryPi-vaihtoehto. Graafisen superhienon käyttöliittymän ja selkeiden sisäisten menujen vuoksi käyttömukavuudeltaan loistava ChameleonPi jäi ainakin allekirjoittaneelle PImamen korvaajaksi pysyvästi. Ehkä päätökseen vaikutti käyttöliittymän kuvat emuloitavista koneista ? hieno fiilis ?nähdä? millä pelaa. ChameleonPi:n viralliset nettisivut täällä. Havainnollinen YouTube video täällä.

MITÄ TARVITAAN

RaspberryPi on näennäisesti halpa hankinta. Viidenkympin hintaan se on helppo hankinta varmastikin kaikille. Se kuitenkin tarvitsee rinnalleen jonkin verran lisätarvikkeita ? jos näitä ei entuudestaan ole, saattaa hinta nousta helposti kokonaisuudessa jopa pariin sataan euroon. Seuraavat tarvikkeet ovat kuitenkin välttämättömiä ChameleonPi:n kanssa:
  • USB-hiiri (langaton on helpoin)
  • USB-näppäimistö (langaton on helpoin)
  • USB-hub (lisävirralla, on myös hyvä, jos hubi pystyy antamaan virran Pi:lle)
  • MicroUSB-virtalähde (ei välttämätön, jos virran saa hubista)
  • USB-ohjaimet (2 kpl, alkuun riittää yksikin)

Omassa kokoonpanossa on seuraavat lisälaitteet, joista kaikki voin vahvistaa toimiviksi:
  • Rapoo E2700 - langaton USB hiiri- + USB mininäppisyhdistelmä, todellä näppärä laite
  • D-LINK H7 USB hub, johon kytketään kaikki laitteet ja joka antaa virran myös RPi:lle
  • 2 kpl Retronicdesignin joystick USB-konvertteri - täydellinen pelaajan valinta, jossa ei lainkaan lagia! Pelituntuma on kuin aidoilla yksiköillä! Ehdottomasti suositeltava hankinta joystick-pelaajille!
  • 2 kpl QuickShot II Turbo-joystickia

ALOITUS

ChameleonPi:n sivuilla on ohjeet käyttöön ja aloittamiseen, mutta käydään tässä läpi suomeksi kevyt ohjeistus muutamine ongelmanratkaisuineen. ChameleonPi:n käyttöjärjestelmä kirjoitetaan SD-kortille samoin, kuin muissakin RPi käyttiksissäkin. Tarkemmin kortin kirjoittamisesta tässä blogikirjoituksessa. Windows-puolella Win32DiskImager on toiminut itselläni parhaiten. Mac puolella terminaalin komentorivit toimivat yhtä hyvin ? vaikkakin kirjoituksen hitaus on ilman edistymisindikaattoria aika tuskaista.

Kun SD-kortti on valmiina, käynnistetään RPi. Kun käyttis on pienen odottelun jälkeen ladannut (kyllä, käynnistys on huomattavasti pidempi kuin Pimamessa) ja ruudulla näkyy Spectrumin kuva, on syytä tehdä kortin sekä RPi:n ?modaukset?. Nämä toiminnot pitää tehdä vain kerran.

Päävalikossa painetaan O-kirjainta ? ChameleonPi:n menuvalikko avautuu. Valitse ?RESIZE ROMS PARTITION?. ChameleonPi laajentaa tällöin SD-kortin koko kapasiteetin pelien käyttöön.

Sitten on vuorossa muistin asetukset. Valitse ADVANCED SETTINGS > MEMORY SPLIT. Täältä asetetaan muistin määräksi 256MB. HUOM! Asetusta voit vaihtaa kokeilusi perusteella - itse olen huomannut, että ChameleonPi:llä pelaaminen toimii parhaiten kun muistin jakaa suorittimelle maksimiarvolla.

Tämän jälkeen asetetaan ylikellotus, minkä ainakin osa graafisemmista MAME-peleistä vaatii. Valitse samasta menusta RASPBIAN CONFIG ? ChameleonPi siirtyy RaspberryPi:n asetusvalikkoon. Valitse OVERCLOCKING. HUOM! TURBO on aivan liian kova ylikellotus ? ChameleonPi on tällä kellotuksella nurin jatkuvasti ja harvoin edes latautuu. Valinta HIGH sen sijaan toimii hyvin. Jos nyt kuitenkin valitsit Turbon ja startti näyttää mustaa ruutua, ei hätää. Raspberry Pi:n ohjein pidä startissa SHIFT-näppäin pohjassa, ja pääset säätämään uudelleen asetusta. Jos tämä ei auta, on asennus korruptoitunut ja uusi asennus on välttämätön. Mikäli ylikellotus ei riitä, suosittelen rinnakkaiskorttia, jossa Pimame ja MAME-pelit ? sen ylikellotuskesto on parempi.

PELAAMISEN ALOITTAMINEN

Tämän jälkeen on vuorossa pelien, eli ROMien lisääminen. HUOM! Tämä blogikirjoitus on kirjoitettu siltä pohjalta, että ROMit ovat laillisesta lähteestä eivätkä riko tekijänoikeuslakia!MACilla SD-kortilla näkyy ROMS-kansio (laajentamisen jäljeen folderin nimi voi olla myös NO NAME ? eli nimetön partitio), jolloin pelit voi pudotella kansioon ilman erillisiä toimenpiteitä. Windowsilla joutuu käyttämään etä- tai FTP-yhteyttä, joka tietysti on RPi:n ominaisuus. Ohjeet tähän siirtoon löytyvät ChameleonPi:n kotisivulta.

KÄYTTÖ

ChameleonPi:n käyttö on todella helppoa. Sivuttaisvalinnoilla valitaan käytettävä emulointialusta ja enterillä startataan. Voiko helpompaa olla? Ei. Tämä onkin ChameleonPi:n hienous ? emulaattorit toimivat upeasti ja käyttöliittymä on selkeä ja hienon näköinen. Fiilis on kuin pelaisi ?oikealla? pelikoneella. Jokainen emulaattori on toki omanlaisensa ja asetuksia kannattaa tehdä etenkin ohjaimien osalta. Vaikka ohjeet ohjainkonfigurointiin ovat hieman kiven alla, ei kannata lannistua... Jokaiseen emulaattoriin löytyy netistä ohjeistus, kun aluksi tutustuu mitä emulaattoreita ChameleonPi käyttää (tässä lista käytetyistä emulaattoreista).
Kun pelaaminen lopetetaan, kannattaa tehdä sammutus hallitusti. Poistu emulaattorista ChameleonPi:n päävalikkoon ja paina Q-kirjainta (Quit). Tämän jälkeen odottele, kunnes ruudulta ei enää näy mitään ja kytke virta pois. Tällä toiminnalla pidät kortin asennuksen hyvässä vedossa - ja vältyt ärsyttäviltä bugituksilta ja asennuskorruptiolta.

CHAMELEONPI JA COMMODORE 64 - PROJEKTIN LÄHEMPI TARKASTELU

Usein preferenssi retropelaamiselle on se lapsuudesta tuttu pelikone. Omassa tapauksessani se on 80-luvun legendaarinen Commodore 64, jonka pelaamiselle on uhrattu satoja tunteja... Ja uhrataan edelleen! Halusin rakentaa RaspberryPistä "kannettavan" C64-systeemin, jossa on kaikki pelaamisen kannalta olennainen valmiina kannettavaksi oluenhuuruisiin peli-iltoihin. Ohessa muutama kuva projekstista:

Kaikki on paketoituna pieneen Curverin työkalupakkiin, jossa on myös USB-virralla (välissä 150OHM resistori) toimiva punainen led virtaindikaattorina. Samaan pakettiin tuli myös tehtyä muutama tarra - selkeämmin nostamaan halvan kotelon profiilia.

Kokonaisuus on juuri niin kotikutoinen, kuin voisi kuvitellakin, mutta ainakin omasta mielestäni tässä yhdistyy onnistuneen projektin kaksi aspektia: toiminnallisuus ja... No... Ei siitä hienoa saa silmälle vaikka kuinka yrittäisi itseään huijata. Kompakti paketti se on ainakin - saa nopeasti piilotettua.

ChameleonPi:n asetusten lisäksi C64-emulaattoriin tarvitaan muutama muutos, jotka tarvitsee tehdä vain kerran. Tärkeimpänä lienee ohjainten asetus. F12 avaa Vice-emulaattorin päämenun. Valitaan MACHINE SETTINGS >JOYSTICK SETTINGS. Asetetaan JOYSTICK DEVICE IN PORT 1 & 2 arvoiksi Joystick. Tämän jälkeen tehdään JOYSTICK 1 & 2 MAPPING. Asetusten tekeminen on helppoa - valitaan joystickeista up, down, left, right ja fire. Tämä toistetaan molemmilla ohjainporteilla. Sitten asetus tallennetaan. Siirrytään oikealla nuolinäppäimellä päävalikossa kohtaan SETTINGS MANAGEMENT > SAVE JOYSTICK MAP. Se on siinä.

Tämän jälkeen on hyvä säätää hieman C64-ominaisuuksia. Päävalikosta siirrytään jälleen MACHINE SETTINGS > MODEL SETTINGS. Itselläni on käytössä uusimman C64C:n emulointi, eli C64C PAL ja SID-settinginä (ääniasetus) MOS-piirin 8580 RESID + DIGIBOOST-asetus. Tämän jälkeen jälleen siirrytään SETTINGS MANAGEMENTiin ja valitaan SAVE CURRENT SETTINGS. Se on siinä! Kannattaa tehdä tässä vaiheessa emulaattorin hallittu sammutus, eli päävalikosta QUIT EMULATOR - ja käynnistää se tämän jälkeen uudelleen. Kaiken pitäisi toimia nyt defaultina sillä kokoonpanolla mikä sinulla on käytössäsi - ilman lagia tai pätkimisiä!

Pelit ladataan valitsemalla AUTOSTART IMAGE, jonka jälkeen - jos olet laittanut ROMit oikeaan kasioon - pelit valitaan lataamastasi kansiorakenteesta. Pelit latautuvat nopeasti ja VICE emuloi Commodore 64:ää todella hyvin!

HUOMAUTUS! Joskus emulaattori ei tunnista käynistyttyään ohjaimia - tämä ratkeaa sulkemalla emulaattori ja käynnistämällä se uudelleen! Tätä käy harvoin. Ohjainten löydyttyä ne eivät enää "putoa" pois, vaan toimivat koko pelisession ajan. Ilmeisesti kyseessä ChameleonPi:n "ominaisuus", josta kuitenkin laitoin s-postia tekijätiimille. Lupasivat selvittää asiaa.

LOPUKSI

Tällä hetkellä ei parempaa aidon C64.n korviketta ole. HDMI-kuva toistuu tarkkana ilman haamukuvia, mikä tekeekin laitteesta ehdottomasti hankkimisen arvoisen kaikille C64-diggareille! Joystick-adapterit tekevät laitteesta alkuperäisenveroisen myös pelituntumassa - saattaa olla, että tämä jää pysyvästi olohuoneeseen vanhan "klassikkokoneen" siirtyessä lasivitriiniin myöhempien polvien ihmeteltäviksi.

Kirjoittanut: klo    0 kommenttia

lauantai, 5. lokakuuta 2013

Heippa vaan lapsukaiset! Tänään pelaamme NES-emulaattorilla. NES, eli Nintendo Entertainment System ei varmasti esittelyjä kaipaa. Kyseessä on siis Nintendon 8-bittinen pelikonsoli, joka suvereenisti hallitsi konsolimaailmaa 1980-luvun puolivälistä aina 90-luvun alkupuolelle asti. "Nintsukan" laajasta pelikirjastosta löytyy teoksia jotka ovat muovanneet 80-luvun pentujen maailmankuvaa. Pelisarjat, kuten Super Mario, Zelda, Castlevania ja Megaman tai vaikkapa Contrat ja Metroidit ovat jättäneet sukupolveemme lähtemättömän jäljen!

PiMame emulaattoripakettiin sisältyy (versiosta 0.7.8 lähtien) NES-emulaattori AdvMess. Tämä kirjainyhdistelmä tulee sanoista AdvMenu ja MESS (Multi Emulator Super System). Sanahirviöden takana piilee MAME emulaattorisoftan sisarprojekti, jonka tarkoitus on arcade-pelien ohella simuloida myös kotikonsolijärjestelmiä. AdvMenu puolestaan on MESS/MAME -emulaattoreiden "Front end", tarkoittaen käytännössä valikkoa emulaattorin ROM-tiedostojen valintaan. Jos äskeinen meni ihan ohi ei se mitään, MAME:en palaamme vielä jatkossa.

Tässä blogauksessa oletetaan että PiMAMEn asennus -ohje on käyty läpi. Pelikokemus paranee huomattavasti mikäli sinulla on asiaan kuuluva usb-liittimeen kytkettävä nintendo-ohjain ja että olet suorittanut asennusohjeessa läpi käydyn joystickin asennuksen ja kalibroinnin.

Aloitetaan! Ensiksi kannattaa säätää config-filut kohdilleen. Config-tiedosto ohjaa emulaattorin toimintaa. Jokaiselle emulaattorille on oma config-tiedostonsa, joka on tekstitiedosto ja sitä voi muokata vaikkapa notepadilla. Voit siirtää config-tiedoston tietokoneellesi FTP-yhteydellä ja muokata tiedostoa koneellasi ja sen jälkeen siirtää config-tiedoston takaisin Raspberryyn FTP:llä. Voit toki myös muokata configgia suoraan raspberryssä käyttämällä esimerkiksi sudo nano -komentoa.

Voit skipata tämän ja seuraavan kappaleen mikäli et käytä joystickiä. Avataa tiedosto /home/pi/.advance/advmenu-mess.rc. Muokkaa rivi device_joystick none -> device_joystick raw tai device_joystick auto. Tämän asetuksen pitäisi tehdä pelivalikon joystickillä ohjattavaksi. asetus raw tai auto riippuen ohjaimesi yhteensopivuudesta. Kokeile. Tallenna tiedosto Raspberry PI:hisi ja korvaa sillä edellinen advmenu-mess.rc tiedosto.

Avaa tiedosto /home/pi/.advance/advmess.rc. Tämä tiedosto pitää sisällään asetukset siitä, miten NES-emulaattorimme toimii. Lähinnä tässä vaiheessa meitä kiinnostaa joystickin konfiguraatio, mikä löytyy aivan advmess.rc-tiedoston loppupäästä. Input_map -riveillä määritellään mikä kontrolli vastaa mitäkin nappulaa ohjaimessasi. Saadaksesi selvillä ohjaimesi näppäinkoodit, on sinun komentorivillä ajettava komento jstest /dev/input/js0 (lisätietoja asennusohjeessa). Kirjota ylös mikä koodi vastaa mitäkin näppäintä ohjaimessasi. Itselläni toimii hyvin seuraava konfiguraatio:
input_map[p1_button1] joystick_button[0,3]
input_map[p1_button2] joystick_button[0,2]
input_map[p1_start] joystick_button[0,9]
input_map[p1_select] joystick_button[0,8]
input_map[p1_button3] joystick_button[0,1]
input_map[p1_button4] joystick_button[0,0]


Esimerkissä siis määritellään esimerkiksi että p1_button1 = joystickissa nappi nro. 3. P1 siis tarkoittaa pelaaja 1:ä. Mikäli käytössä on useampia ohjaimia, on näppäimet määriteltävä jokaiselle ohjaimelle erikseen. Kokeilemalla saavutat parhaan tuloksen, älä menetä hermojasi vielä. Lisäksi kannattaa lisätä vielä seuraava rivi:
input_map[ui_cancel] joystick_button[0,4] joystick_button[0,5]

Tämä asetus lisää cancel-näppäimen joystickiin. Tässä tapauksessa se tehdään painamalla ohjaimeni kulmanäppäimiä yhtäaikaa. Kyllä, yhdelle toiminnolle voidaan määrittää useamman näppäimen painallus yhtäaikaa. Cancel-toimintoa ei jostain syystä ole oletuksena määritetlty configissa. Tämä toiminto vastaa siis ESCin painallusta pelin aikana, eli toisin sanoen voit lopettaa pelin ja palata pelivalikkoon käyttämättä näppäimistöä.

Toimivan emulaattorin lisäksi tarvitsemme myös pelejä, eli ROM:eja, joita voimme pelata emulaattorilla. Se mistä ROM:ja saa, ei kuulu tämän manuaalin eikä sivuston aihepiiriin. Huomautettava on tässä välissä, että vaikka ROM:eja netistä löytääkin helpolla, on suurin osa niistä edelleen tekijänoikeuden alaista materiaalia, vaikka pelin tuottanut yritys olisikin aikaa sitten kuopattu. Ohjeen tässä vaiheessa oletetaan että olet ladannut koneellesi ROM:meja, joista omistat alkuperäiset kappaleet.

Siirretään siis seuraavaksi ROM:it Raspberry Pi:hin. Ota FTP-yhteys PI:hin, valitse kansio /home/pi/roms/nes, siirrä tähän kansioon haluamasi ROM:it. Huomioi, että NES ROM:it tulee olla purettu pois zip- tai rar-paketistaan ja ROM:in pääte tulee olla .nes.

Käynnistetään NES! Laita virta PiMameen ja odota että päävalikko käynnistyy. Valitse consoles -valikko ja sieltä NES (AdvanceMESS). Eteesi avautuu lista ROMmeista, jotka olet Raspberryysi siirtäny. Valitse peli näppiksellä tai ohjaimellasi (ohjaimen pitäisi tässä vaiheessa toimia, mikäli olet noudattanyt tätä ohjetta ja kaikki on sujunut hyvin) ja paina enter tai ohjaimen nappulaa (oletusnäppäin vaihtelee ohjaimen mukaan, huom. että yksi napeista on ESC ja palaa siis emulaattorivalikkoon, mikäli näppäilet väärin).

Kun peli käynnistyy on toiminta tästä edespäin kutakuinkin samanlaista kuin pelaisit aidolla Nintendolla. ESC-näppäimellä pääset valikkoon, jossa voit poistua pelistä. F1 nappulasta näet näppäinkartan, joka ilmaisee mitä nappuloita painat. Se on hyvä tietää, mikäli joudut enemmänkin säätämään nappuloita ohjaimesta tai näppäimistöstä. Emulaattorissa on muitakin toimintoja, kuten ruudunpäivityksen nopeudensäätö, sekä pelitilanteen tallentaminen (SHIFT+F7) ja lataaminen (F7). Itse en ainakaan onnistunut pelitilanteen tallentamisella ja lataamisella muuta kuin sekoittamaan koko pelin. Kokeile itse.

"Kuka kiroo" tapasi äitini sysyä keittiöstä kun pienenä poikana pelejä tahkosimme pää punaisena. Joten muista, älä menetä hermojasi... kauheasti ;)


Kirjoittanut: klo    0 kommenttia