Mamestation

Pagina da formattare, abbiate pazienza. ;)

h1. Insert Coin

h2. MAME Station

Realizzare una mini console per giochi emulati MAME scopo esposizione o autofinanziamento utilizzando Raspberry PI, joystick e tasti

* Punto di partenza: https://learn.adafruit.com/retro-gaming-with-raspberry-pi/overview * Distro provata: RetroPie http://blog.petrockblock.com/retropie/

h2. Note tecniche RetroPie

File di config utili:

h3. /etc/profile

<pre> #[ -n "${SSH_CONNECTION}" ] || emulationstation # lancia la stazione con tutti gli emulatori x giocare #[ -n "${SSH_CONNECTION}" ] || /home/pi/asteroida # lancia asteroids come gioco mame [ -n "${SSH_CONNECTION}" ] || /home/pi/nessa # lancia super mario clouds #[ -n "${SSH_CONNECTION}" ] II /home/pi/ponta # lancia emulatore giochi pontaccio </pre>

h3. /home/pi/asteroida

per far partire mame:

<pre> #!/bin/bash /opt/retropie/emulators/mame4all-pi/mame asteroid </pre>

h3. /home/pi/nessa

per far partire gioco NES / installazione super mario clouds

<pre> #!/bin/bash /opt/retropie/emulators/RetroArch/installdir/bin/retroarch -L /opt/retropie/emulatorcores/fceu-next/fceumm-code/fceumm_libretro.so --config /opt/retropie/configs/all/retroarch.cfg --appendconfig /opt/retropie/configs/nes/retroarch.cfg /home/pi/RetroPie/roms/nes/SuperMarioClouds.nes </pre>

h3. VICE Emulatore C64 per giochi Pontaccio

da dentro Retropie-setup:

* prima installi il pacchetto vice da retropie_packages.sh * poi installi i BINARI (opzione 1) da retropie_setup.sh

cosi' ti trovi l'emulatore che funziona ma va lanciato a mano:

Il menu di gestione dell'emulatore si apre con F12. da qui gli dici di emulare un mouse, e magicamente il cursore sparisce (!!!). Poi devi dargli save configuration.

h4. segmentation fault?

devi lanciarlo con opzione -sdlbitdepth 16 altrimenti con 32 si incazza e segfaulta. ;)

h4. Preparazione giochi

* Attacca il tape all'emulatore da menu (Attach tape) clickando sul loader del gioco, cosi lui carica e lancia * Appena lanciato crea snapshot sotto forma di file .vsf ;)

h4. Lanciare emulatore COMMODORE 64 su raspberry

@ /opt/retropie/emulators/vice-2.4/installdir/bin/x64 -sdlbitdepth 16 -1 /home/pi/pontaccio/superg4/SUPERG_4.tap -autostart /home/pi/pontaccio/superg4/mani.vsf @

h4. file di autoavvio pontaccio, da lanciare dentro /etc/profile

Si chiama "ponta" e sta in /home/pi/

<pre> #!/bin/bash # # asbesto 11/8/2014 aklab #

ritardo=5m comando="/opt/retropie/emulators/vice-2.4/installdir/bin/x64" opzione="-sdlbitdepth 16" nascondi=" 1>/dev/null 2>/dev/null &" # nastro1="/home/pi/pontaccio/superg1/superg1.tap" snapshot11="/home/pi/pontaccio/superg1/cactus.vsf" snapshot12="/home/pi/pontaccio/superg1/flags.vsf" snapshot13="/home/pi/pontaccio/superg1/lifts.vsf" # nastro2="/home/pi/pontaccio/superg4/superg4.tap" snapshot21="/home/pi/pontaccio/superg4/alfabetopazzo.vsf" snapshot22="/home/pi/pontaccio/superg4/ammazzamedia.vsf" snapshot23="/home/pi/pontaccio/superg4/compleanno.vsf" snapshot24="/home/pi/pontaccio/superg4/mani.vsf" # nastro3="/home/pi/pontaccio/superg5/superg5.tap" # snapshot31="/home/pi/pontaccio/superg5/jessica.vsf" snapshot32="/home/pi/pontaccio/superg5/superg.vsf" # sleppa="sleep 2m"

$comando $opzione -1 $nastro1 -autostart $snapshot11 & $sleppa ; killall x64 $comando $opzione -1 $nastro1 -autostart $snapshot12 & $sleppa ; killall x64 $comando $opzione -1 $nastro1 -autostart $snapshot13 & $sleppa ; killall x64

$comando $opzione -1 $nastro2 -autostart $snapshot21 & $sleppa ; killall x64 $comando $opzione -1 $nastro2 -autostart $snapshot22 & $sleppa ; killall x64 $comando $opzione -1 $nastro2 -autostart $snapshot23 & $sleppa ; killall x64 $comando $opzione -1 $nastro2 -autostart $snapshot24 & $sleppa ; killall x64

$comando $opzione -1 $nastro3 -autostart $snapshot31 & $sleppa ; killall x64 $comando $opzione -1 $nastro3 -autostart $snapshot32 & $sleppa ; killall x64

sleep 10 /home/pi/ponta

#/opt/retropie/emulators/vice-2.4/installdir/bin/x64 -sdlbitdepth 16 \ #-1 /home/pi/pontaccio/superg4/SUPERG_4.tap \ #-autostart /home/pi/pontaccio/superg4/mani.vsf &

</pre>

h2. Joypad USB con piu' di sei tasti

Problema: http://blog.petrockblock.com/forums/topic/mame4all-pi-with-ps3-controller/#post-7163

MAME va ricompilato:

<pre>

There was a issue raised at mame4all-pi repository that resolved the problem. Apparently there is code that rejects controllers with more than 6 axes. Here is what I did. In a terminal, type

sudo nano home/pi/RetroPie/emulators/mame4all-pi/src/rpi/minimal.cpp

Comment out lines 168 to 174 so it appears as below. // if (SDL_JoystickNumAxes(myjoy) > 6) // { // SDL_JoystickClose(myjoy); // myjoy=0; // logerror("Error detected invalid joystick/keyboard\n"); // break; // }

Save and exit.

Next you need to recompile the code so type in the terminal.

cd home/pi/RetroPie/emulators/mame4all-pi/ make

Reboot and your PS3 controller should now work. </pre>

h2. Configurazione Joypad

Per configurare il joypad devi farlo sia dai menu di emulationstation, sia da MAME premendo TAB. e' un dito in culo ma poi funziona tutto, compresi insert coin e 1 player start.

h2. Emulazione tastiera tramite contatti GPIO su raspberry

Serve per avere dei pulsanti esterni che corrispondono a tasti sulla tastiera, senza doverne collegare o modificare una.

h3. Il programmino

E' retrogame.c in allegato che si trova in fondo alla pagina nel pacchetto retrotasti.tar.gz. Li i tasti sono programmati cosi:

<pre>

</pre>

h3. Configurazione per udev di merda

Va creato il file /etc/udev/rules.d/10-retrogame.rules con dentro:

<pre> SUBSYSTEM=="input", ATTRS{name}=="retrogame", ENV{ID_INPUT_KEYBOARD}="1" </pre>

h3. start automatico del gestore dei tasti esterni

retrogame eseguibile va compilato ("make retrogame" da dentro la cartella del pacchetto retrotasti.tar.gz), poi va lanciato in automatico aggiungendo a /etc/rc.local, prima di "exit 0", la seguente riga:

<pre> /home/pi/Adafruit-Retrogame/retrogame & </pre>

basta riavviare e tutto deve funzionare a dovere.

I tasti configurati in retrogame.c sono 1, 5, control sinistro, alt sinistro, spazio, esc, e le 4 freccette. Questi tasti vanno configurati a loro volta dentro MAME e dentro, eventualmente, gli altri emulatori. SONO CAZZI DI CHI LO FARA'

h2. Lasciare solo UN emulatore (mame) o disabilitarne alcuni dalla lista di emulationstation

si deve editare es_systems.cfg che sta in /etc/emulationstation/ CANCELLANDO (non commentando!) quelli non voluti.

Prima fatti una copia di sicurezza! :)

<pre> root@raspberrypi:/etc/emulationstation# ls -la total 64 drwxr-xr-x 3 root root 4096 Aug 14 10:16 . drwxr-xr-x 101 root root 4096 Aug 14 09:57 .. -rwxr-xr-x 1 root root 15279 Aug 14 10:16 es_systems.cfg -rw-r--r-- 1 root root 16420 Aug 14 10:14 es_systems.cfg.originale </pre>

h2. Problema Bianco e Nero se connesso a tv

Succede perche' va a 60 Hz anziche' 50. C'e' un settaggio da toccare in /boot/config.txt, e' abbastanza intuitivo, riguarda PAL.


CategoryMuseo