Mamestation

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

Note tecniche RetroPie

File di config utili:

qui dentro, per decidere cosa far partire:

#[ -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

serve a far partire mame con asteroid:

/opt/retropie/emulators/mame4all-pi/mame asteroid

serve a far partire gioco NES / installazione super mario clouds

/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

VICE Emulatore C64 per giochi Pontaccio

da dentro Retropie-setup:

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.

ti da' segmentation fault?

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

Preparazione giochi

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 

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

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

#
# 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 &

BRUTALE, ma fa.

Joypad USB con piu' di sei tasti

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

MAME va ricompilato:

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.

Configurazione Joypad

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

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.

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:

   ioStandard[] = {
        // This pin/key table is used when the PiTFT isn't found
        // (using HDMI or composite instead), as with our original
        // retro gaming guide.
        // Input   Output (from /usr/include/linux/input.h)
        // usiamo i gpio in sequenza numerica, non a cazzo. 
        // codice colori come le resistenze. 
        //  GND cavetto NERO. 
        {   2,     KEY_LEFT     },   //  marrone Joystick (4 pins)
        {   3,     KEY_RIGHT    },   //  rosso
        {   4,     KEY_DOWN     },   //  arancio
        {   7,     KEY_UP       },   //  giallo
        {   8,     KEY_LEFTCTRL },   //  verde A/Fire/jump/primary
        {   9,     KEY_LEFTALT  },   //  blu B/Bomb/secondary
        {  10,     KEY_SPACE    },   //  viola C/SPACE/BUTTON 3 
        {  11,     KEY_1        },   //  grigio START joy START 
        {  17,     KEY_5        },   //  bianco COIN 
        {  18,     KEY_ESC      },   //  altro nero, joy SELECT 
        // For credit/start/etc., use USB keyboard or add more buttons.
        {  -1,     -1           } }; // END OF LIST, DO NOT CHANGE

Schema dei collegamenti:

http://zaverio.com/~asbesto/gaming_gpio-rev2-new.png

Configurazione per udev di merda

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

SUBSYSTEM=="input", ATTRS{name}=="retrogame", ENV{ID_INPUT_KEYBOARD}="1"

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:

/home/pi/Adafruit-Retrogame/retrogame &

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.

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! :)

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

Problema Bianco e Nero se connesso a tv/monitor

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

Allegati


CategoryMuseo

Museo/Mamestation (last edited 2017-08-29 14:55:13 by asbesto)