Proiektua

HirikiMAME: DIY jolas-makina

Mini arcade makina sortzeko proiektua. Arquimañak eta Interzonasek Hirikilabsen 2013an egin ziren lantegietan sortutako hasierako diseinuak oinarritzat hartuta.

Taldea Katxarraroak

HirikiMAME: DIY jolas-makina

Raspberry Pi2 merkea da. Horregatik, fabrikazio digitaleko teknologiak erabilita, zure mini arcade jolas-makina propioa eraiki dezakezu, clickable esperientzia retro aparta bizitzeko.

Arquimañak eta Interzonasek Hirikilabsen 2013ko uztailaren 4an eta 5ean egin ziren lantegietan sortutako hasierako diseinuak oinarritzat hartuta (Raspberry Pi 1en B modeloa erabili zuten), mini arcade zoragarri bat sortzeko urratsez urratseko gida hau prestatu dugu.

Hemendik atera ditzakezu karkasa egiteko planoak, Arquimañaren diseinu-lanari esker. Diseinu hori gauzatzeko, laser bidez ebakitzeko makina edo zerbitzua beharko dituzu, eta horiek hiriko edozein markerspace, fablab edo fabstoretan aurki daitezke.

Pausuz pausu

Honako material hau beharko duzu zure jolas-makina sortu eta konfiguratzeko:

  • Elikatze-iturri duala 12v + 5v, (2A, gutxienez),
  • Mini usb kablea (ezker-angelua edo kablea eta egokigailua),
  • 1 x AV 3 bideo-kable konposatua, 5 mm, 3 RCAra,
  • Koloretako eme/eme zubiak,
  • Raspberry Pi 2 B+
  • Sanwa JLW-TM-8 joko-palanka (joko-palanka japoniarra)
  • 2 x classic Suzo-Happ jolas-botoi
  • 2 x botones de juego classic Suzo-Happ,
  • 3 x 12mm-ko maniobra-botoi gorriak,
  • Kotxerako 7”-ko TFT pantaila, VGA 800×480 sarrerarekin (horrek ere balio du)
  • 3 x 12mm-ko red momentary Normally Open pushbutton
  • Kotxerako 7”-ko TFT pantaila, 800×480 sarrerarekin (agian balioko du)
  • 10. klaseko MicroSD txartela eta irakurgailua (gutxienez 16 GB-koa, 32 GB-koa bada, hobeto)
  • 1,66 mm eta 9,5 mm-ko tutu termoerretraktila
  • M3 25 mm-ko buru konikoko torlojua . M3 azkoin karratua
  • M3 10 mm-ko zirrindolak
  • M5 5 mm-ko torlojuak
  • M5 azkoin karratua x1
  • M5 15 mm-ko zirrindolak
  • 40 mm belkro-zinta autoitsasgarri
  • Laser bidez ebakitako karkasa-piezak Gutxienez 4x600x400 mm-ko 2 egur-plaka kontratxapatu (LODIERA)
  • 0,5 mm-ko koloretako kableak
  • Zinta isolatzailea
  • Phillips bihurki txikia
  • Allen giltza-jokoa
  • Aliketak
  • Argiketari-artaziak
  • Multimetroa
  • Kableak zuritzeko kurrika
  • Soldagailua
  • Soldatzeko eztainua
  • Soldagailu-euskarria
  • HDMI pantaila eta konfigurazioa egiteko teklatua
  • Ethernet kablea, routerra eta Interneterako konexioa (wifi bidez ere egin daiteke)

Raspberry Pik 5 V-tan funtzionatzen du eta gure 7”-ko TFT pantailak, aldiz, 12-24 V-tan. Sistema sinplifikatu eta bi elikatze-sistema behar ez izateko, 5 V-12 V-ko elikagailu duala erabiliko dugu.

Lehenik, konektorea artaziekin moztu eta barruko kableak zurituko ditugu. Ikusiko dugu 3 kable daudela; normalean, horia, zuria eta beltza dira. Kolore ezberdinak konbinatuz lortuko dugu behar dugun tentsioa. Gure kasuan, jarraian datozen konbinazioak eginez lortuko dugu; dena den, zuk egiaztatu egin beharko duzu,badaezpazu. Horretarako, konektatu elikagailua sarera eta erabili multimetroa.

Beltza / lurra (positiboa) da. Beraz, horia eta beltza erabilita = 12 V

Zuria eta beltza erabilita = % V

Ondoren, USB kablea moztuko dugu. 20 cm egon behar dira micro USB konektorearen eta ebakidura-puntuaren artean. Gero, kablea artaziekin zurituko dugu berriz ere. Barruko kableak ere zurituko ditugu, baina kableak zuritzeko gailua erabilita. Hiru kable ikusiko ditugu: berdea, beltza eta gorria. Berdea alde batera utz daiteke (datuen kablea da). Behar ditugun 5 V-ak lortzeko, tutu termoerretraktila sartuko dugu kableetako bakoitzean. Ondoren, elikatze-kableetara soldatuko ditugu, lehen aipatu bezala. Hau da:

USB kable gorria → elikatze-kable zuria

USB kable beltza → elikatze-kable beltza

Azkenik, TFT pantailara soldatuko ditugu 12 V-ak. Pantaila mota horietan 3 kable egon ohi dira: gorria, beltza eta urdina. Kable urdina ez dugu beharko, eta hortaz, moztu egingo dugu. Jarraian, beste bi kableak zuritu, tutu termoerretraktilean sartu eta soldatu egingo ditugu, honela:

TFT kable gorria → elikatze-kable horia

TFT kable beltza → elikatze-kable beltza

Ondoren, zinta isolatzaile bidez elkartuko ditugu tutu termoerretraktil guztiak. Ez deskonektatu soldagailua, hurrengo urratserako ere beharko dugu eta!

Orain karkasaren aurrealdea prestatuko dugu. Horretarako, joko-palanka edo joysticka eta botoiak muntatuko ditugu, behar den bezala soldatuta.

Joko-palankarako, 25 mm-ko buru konikoko M3 torlojuak, azkoinak eta zirrindolak erabiliko ditugu. Torlojutu egingo ditugu torlojuaren buru konikoa egurraren barruan geratu eta gainazala erabat lau geratu arte.

Gero, sakagailuak (handiak) eta menu-botoiak (gorri koloreko txikiak) gehituko ditugu. Horretarako, beren azkoin handiak erabiliko ditugu.

Behin hori eginda, konexio-kableak prestatuko ditugu. Eme-eme zubiak hartu, bitan banatu eta zuritu egingo ditugu. Ondoren, koloretako kableen 25 cm moztu, tutu termoerretraktilean sartu eta batera soldatuko ditugu. 11 kable beharko ditugu jokalari bakoitzeko:

  • 2 beltz
  • 4 hori
  • 3 gorri
  • 1 berde
  • 1 urdina

Kableetako bakoitza NO (normally open) pinetara soldatuko dugu, jarraian datorren eskema adierazita dagoen bezala. Horrez gain, GND konexio arruntak egingo ditugu botoi guztietan eta joko-palankan. Erraza da eskemari jarraitzen badiogu!

Hau da atalik ziragarriena, orain doituko baitugu gure Raspberry Pi-a jolas-makina bihurtzeko.

Raspberry Pi kreditu-txartel baten tamainako ordenagailu merkea da. Ordenagailu- edo telebista-monitore batera konektatzen da, eta teklatu eta sagu estandarrak darabiltza. Aukera asko ematen dituen gailu bat da: horri esker, adin guztietako pertsonek esploratu dezakete konputazioa, baita Scratch eta Phyton lengoaiak erabiliz programatzen ikasi ere. Mahai gaineko ordenagailu baten funtzio berberak dauzka: Interneten nabigatzea, bereizmen handiko bideoak erreproduzitzea, kalkulu-orriekin lan egitea, testu-prozesagailuak erabiltzea eta jolasean ibiltzea.

Kasu honetan, Raspi aukera bikaina da; izan ere, tamaina txikia du, elektrizitate gutxi kontsumitzen du eta bateragarria da arcade jolas-simulatzaileekin.

2 modu daude sistema instalatzeko. Hemen, modurik errazena azalduko dugu (instalatzea eta jolastea), baina badago modu aurreratu bat ere. Kasu honetan, prozesua urratsez urrats egingo dugu makina martxan jartzeko (eta nola funtzionatzen duen ikasteko).

  • Modu erraza

Hirikimame_vXX.XX.img azken disko-irudia deskargatuko dugu lehenik, eta gero honako urrats hauek jarraituko ditugu gure microSD txartelean kopiatzeko/grabatzeko. Hori egin ondoren, hurrengo urratsera joan gaitezke.

  • Modu aurreratua

Piplay irudia deskargatu eta gure micro SD txartelean grabatu/kopiatuko dugu, honela:

Sartu microUSBa raspi-an.

Konektatu teklatua, Ethernet kablea eta HDMI pantaila gure Raspberry pi-ra eta konektatu korrontera. Itxaron piplay-ren hasierako pantaila agertu arte. Behin hor sartuta, Raspberry pi-ren konfiguratzailera joango gara, Raspi Config izen-aukeran. Bestela, sakatu ESC eta idatzi terminalean bertan (adi: teklatuaren hizkuntza-konfigurazioak zuzena izan behar du).

# sudo raspi-config

Konfigurazio-menu horretan, hainbat urrats egin beharko dituzu. (Menuetan barna mugitzeko teklatuko norabide-teklak erabiliko ditugu. Aukera bat hautatzeko, enter sakatuko dugu. Irteteko, ESC sakatuko dugu, eta Finish botoira jauzi egiteko, aldiz, TAB.)

1 Expand Filesystem = ezinbestekoa da hau egitea. Piplay gure SD txartelaren 2 GB ari da erabiltzen, gutxi gorabehera, une honetan. Hortaz, fitxategi-sistema hedatuko dugu gainerako espazioa jolasak eta konfigurazioak instalatzeko erabiltze aldera. Eragiketa ordenagailua berrabiarazten dugunean gauzatuko da)

2 Change user and password = gure makina sarbide ireki edo publikoko toki batean utziko badugu, gomendagarria da aukera hau aldatzea. Ez baldin bada toki publiko batean egongo, hobe da pasahitza ez aldatzea, oso maiz ahazten baitzaizkigu.

4 Internationalisation options -> change timezone = gure ordutegia aukeratuko dugu, Interneteko deskargekin arazorik egon ez dadin.

4 Internationalisation options -> change keyboard layout = gure teklatu-geruza propioa hautatuko dugu. Normalean, “generic-key pc”k ondo funtzionatzen du.

7 Overclock = Pi2 aukera hautatuko dugu. Normalean, nahikoa izaten da arcade motako jolas guztietarako. Playstationen jolasak erabiltzeko asmoa badugu, maila handiagoa izan dezake. OSO GARRANTZITSUA da horrekin zer lortuko dugun ulertzea; beraz, hona hemen aintzat hartu beharreko arrisku batzuk:

Bizitza erabilgarria murriztea – osagaiek lehenago egin dezakete huts

Beroa sortzea – abiadura handiagoan lan eginda, tenperatura handiagoa sortzen da (gomendatzen da bero-disipadoreak erabiltzea).

Fitxategiak kaltetzea – ikusi da optimizatu gabeko overclocking doikuntzetan, kaltetu egiten direla fitxategiak.

Berma galtzea – tentsioa indarrez handitzen bada, bermea galdu egiten da.

Dagoeneko, gure raspi-a prest dago itzaltzeko eta berrabiarazteko.

Esan bezala, Raspberry Pi monitore edo telebista batera konekta daitekeen kreditu txartel baten tamainako ordenagailua da, eta, gainera, proiektu honetarako plaka bikaina izatea egiten duten ezaugarri batzuk ditu. Hain zuzen, plakan integratutako ordenagailu horrek GPIO (general purposa input and output) bat dauka. Pin txiki horiek kanpoko gailuekin komunikatzea beharrezkoa den edozein helburutarako erabil daitezke, adibidez, sentsoreekin, botoiekin eta eragingailuekin komunikatzeko. Raspberry Pi 2k 40 pineko burua du, eta honako irteera edo pinout hauek ditu:

Instalatu berri dugun jolas-makinak teklatu estandar batekin jolasteko aukera ematen du; hortaz, irteera (pinout) horien bidez konektatuko ditugu gure botoiak eta joko-palankak, teklatuko pultsazioak simulatzeko. Hori lortzeko, oso shell script onak daude, adibidez: adafruit retrogame. Dena den, guk mholgatem-en daemon gpioneer programa erabiliko dugu; sinplea eta intuitiboa da.

Lehenik eta behin, atal guztiak konektatu behar ditugu. Gero, soldatu ditugun zubiak hartu eta GPIOko pinetara konektatuko ditugu, gida ezarritakoari jarraikiz (hori instalazioa “modu errazean” egingo dutenentzat da; “modu aurreratuan” instalatuko baduzu, nahieran konektatu ditzakezu, gero ikusiko duzu zergatik).

Aztertu arretaz joko-palankaren etengailuak eta konektatu joko-palanka norabide jakin batean mugitzean sakatuta dagoenarekin.

Lurreko kableak Raspberry Pi 2ren edozein pin groundera konektatu daitezke. Ez hori bakarrik, GND kable bakarra erabili daiteke etengailu guztietarako.

Gero, bideo-kable konposatua (RCA har gorria) 7”-ko TFT pantailaren AV sarrerako konektorera (2 RCA eme horietatik edozeinetara) konektatuko dugu. Jarraian, sartu aurretiaz grabatutako microUSBa, dagoeneko sartuta ez badago. Ondoren, konektatu elikatzea eta piztu pantaila. Raspi piztu egingo da.

Instalazioa modu aurreratuan egingo dutenentzat bakarrik:
(“modu errazean” egin duzuenok, hurrengo urratsera joan zaitezkete zuzenean, hau guk egin dizuegu eta😉).

Piplay-ren home pantaila agertzen denean, teklatua konektatu eta ESC sakatuko dugu terminalean barna nabigatzeko. Barruan gaudenean, hau sakatuko dugu:

# cd

# git https://github.com/HIRIKILABS-repo/gpioneer/gpioneer.git

# bash gpioneer/install.sh

Scripta abiarazi egingo da, eta phyton liburutegiak instalatuko ditu, daemon-ak funtzionatu dezan. Apur bat itxaron beharko dugu; gure Internet konexioa nolakoa den, 15 minutu arte beharko ditu instalazioa bukatzeko. Behin hori eginda, lehen aldiz konfiguratzeko eskatuko digu. Yes sakatu eta hasi egingo gara.

Script horren bidez, GPIOren pinak teklatuko pultsazio gisa mapeatuko ditugu. Horretarako, bi aldiz sakatuko dugu GORA, bi aldiz BEHERA, eta horrela behin eta berriz. 5 botoi eta 4 norabide ditugu, baina daemon honek jokalari bakoitzak 9 botoi ere izateko aukera emango digu; ondorioz, 6-7-8-9 botoietatik edozein sakatu dezakegu. Gero ezabatuko ditugu. Bigarren jokalaria konfiguratzeari EZ esango diogu, eta konfiguratzailea itxi egingo dugu. Jarraian, konfigurazio-scriptak berrabiarazi egingo du sistema. Piztu arte itxaron eta menuetan barna joko-palanka erabilita mugitzen saiatuko gara. Daemonak beti funtzionatuko du bigarren planoan =)

Joko-makina martxan dugula, laser bidez ebakitako karkasa zoragarria ixteko unea da.




















Piplay Rasperry Pi-ren jolaserako eta emulaziorako SE bat da, eta trinkotuta dator. Honako emulatzaile hauek dauzka:

  • MAME – AdvanceMAME & MAME4ALL*
  • CPS I / CPS II – Final Burn Alpha
  • Neo Geo – GNGeo
  • Playstation – pcsx-reARMed
  • Genesis – DGen
  • SNES – SNES9x
  • NES – AdvMESS
  • Gameboy – Gearboy
  • Gameboy Advance – GPSP
  • ScummVM
  • Atari 2600 – Stella
  • Cavestory – NXEngine
  • Commodore 64 – VICE

MAME emulatzaileak 10 GB behar ditu, eta, beraz, orain instalatuko dugu. 16 GB-eko SD txartel bat izatekotan, bete egingo da, beharbada; horregatik, 32 GB-eko edo gehiagoko SD txartela erabiltzea gomendatzen dugu.

Menuko “Install MAME” aukerara nabigatuko dugu, eta instalatu arte itxaron. Internet konexioak nahiko arina izan behar du; bestela, kafetxo bat hartu beharko dugu zain gauden bitartean.

ROMak gehitzea

Sistemako ROM guztiak /home/pi/roms/ direktorioan biltegiratu behar dira. PiMAMEk FTP zerbitzari bat eta jokoak igotzea errazten duen web-kargagailu bat ere baditu. Piplay team bizkor erabiltzen hasteko gida honetan jasotako urratsak jarrai ditzakezu. (Beste PC/MAC ordenagailu bat beharko dugu sare lokal berean).

Frontend webera sartzeko, Internetera konektatuta daukagun joko-makina piztu eta hasiera-orrian agertzen den IP helbidea (goian, eskuinean) web-nabigatzailean sartuko dugu.

Piplay eguneratzea

PiMAMEk eguneratze-fitxategi bat dakar, eta, beraz, egiaztatu dezakegu azken bertsioa erabiltzen ari garela.

  • Menu nagusiaren pantailan Exit (Return To Command Line) hautatuko dugu
  • Honako hau jarriko dugu komando-lerroan:

cd pimame_installer/. Gero, Enter sakatu.

  • Gero, honako hau sakatuko dugu: ./update.sh
  • Scripta gauzatuta dagoenean, makina berrabiarazi egin beharko dugu.
  • Horretarako sudo reboot idatzi eta Enter sakatuko dugu.
  • Dagoeneko instalatuta edukiko dugu PiMAMEren azken bertsioa.

Emulatzaileetan teklak/botoiak konfiguratzea.

ROM bat kargatu badugu, ikusiko dugu emulatzaile batzuek ez dutela gure kontrolekin ondo funtzionatzen. Emulatzaile bakoitzak bere kontrol-mapa propioak ditut; hortaz, emulatzaile bakoitzerako mapatzeak prestatu beharko ditugu, beren-beregi. Batzuetan, joko bakoitzak ere izan ditzake tekla-konfigurazio bereziak, eta, hortaz, banan-banan konfiguratu daitezke. Mapeatze hori egiteko, gure teklatua konektatu eta TAB sakatu behar dugu joko edo emulatzaile baten barruan gaudela, hurrengo menua ikusteko. “Input (general)” hautatuko dugu jolasten ari garen joko hori mapeatzeko. Gordeta geratuko da jokatzen dugun hurrengo aldirako.

Hasieratik joko/emulatzaile/rom berezi batekin abiaraztea

Honako hau idatziko dugu:

#sudo nano ~/.profile

Zehazki, honako lerro honen gainean:

python /home/pi/pimame_files/menu.pyBertan, hau jarriko dugu EMULATZAILE bat erabiltzeko:

/home/pi/emulators/mame4all-pi/mame
Bestela, lerro hau gehitu dezakegu ROM zehatz bat erabiltzeko:

/home/pi/emulators/mame4all-pi/mame romname
Dena den, ROM horrek direktorio egokian egon beharko du biltegiratuta.

* Adibide zehatz honetan, meme4all abiarazi eta menura eramango gaitu mametik ateratzen bagara.

Wifi konexioa Etherneten ordez

Gure makina konektatzeko modurik errazena beti izango da Ethernet erabiltzea. Dena den, dena delakoagatik ezin badugu modu horretan konektatu, beti dago aukera raspia wifi bidez konektatzeko. Piplayk aurreinstalatuta dauka wifi-konfiguratzaile bat; beraz, menuaren bidez iritsiko gara konfiguratzaile horretara. Bertan sartuko dugu gure wifi-konfigurazioa. (Teklatua beharko dugu terminalean idazteko)

GPIO arcade kontrolak editatzea

Instalazioa “modu aurreratuan” egin dutenek dauzkatenak baino botoi gehiago izango dituzte mapeatuta, ziurrenik. Konfigurazioa garbitu eta makinaren erabilera errazteko, gomendagarria da benetan ez ditugun botoiak ezabatzea. Daemon gpioneer-ek badu hori konfiguratzeko orrialde bat bere frontend webean.

Frontend webera sartzeko, Interneterako konexioa duen joko-makina piztu eta gure PC/MAC ordenagailuan makinaren hasierako pantailan agertuko den IP helbidea sartuko dugu (goian eskuinaldean agertuko da).

Jarraian ‘database admin->GPioneer’ atalean sartu eta erabiltzen ari ez garen botoi guztiak ezabatuko ditugu.

Halaber, konfigurazio-orrialde hori botoi bakoitzaren pinak aldatzeko, gure mapeatzeak eta konexio-zuhaitzak egiteko, botoiak gehitzeko eta sistemaren komandoetarako tekletan pultsazioak txertatzeko ere erabili daiteke. Scriptaren sortzaileak hobeto azaltzen du hori guztia jarraian datorren estekan.