Differences between revisions 1 and 10 (spanning 9 versions)
Revision 1 as of 2014-11-20 18:54:10
Size: 8488
Editor: asbesto
Comment:
Revision 10 as of 2017-08-29 14:55:13
Size: 8694
Editor: asbesto
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
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
Realizzazione di una mini console per giochi emulati MAME, a 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/


== Note tecniche RetroPie ==
Line 22: Line 15:
h3. /etc/profile

 per decidere cosa far partire:

<pre>
 * /etc/profile

qui dentro, per decidere cosa far partire:

{{{
Line 31: Line 24:
</pre>

h3. /home/pi/asteroida

per far partire mame:

<pre>
}}}

 * /home/pi/asteroida

serve a far partire mame con asteroid:

{{{
Line 40: Line 33:
</pre>

h3. /home/pi/nessa

per far partire gioco NES / installazione super mario clouds

<pre>
}}}

 * /home/pi/nessa

serve a far partire gioco NES / installazione super mario clouds

{{{
Line 49: Line 42:
</pre>

h3. VICE Emulatore C64 per giochi Pontaccio
}}}

== VICE Emulatore C64 per giochi Pontaccio ==
Line 55: Line 48:
* prima installi il pacchetto vice da retropie_packages.sh
* poi installi i BINARI (opzione 1) da retropie_setup.sh
 * prima installi il pacchetto vice da retropie_packages.sh
 * poi installi i BINARI (opzione 1) da retropie_setup.sh
Line 62: Line 55:
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

@
=== ti da' segmentation fault? ===

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

=== 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 ;)

=== Lanciare emulatore COMMODORE 64 su raspberry ===

{{{
Line 75: Line 68:
@

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

=== file di autoavvio pontaccio, da lanciare dentro /etc/profile ===
Line 81: Line 74:
<pre> {{{
Line 139: Line 132:

</pre>


h2. Joypad USB con piu' di sei tasti

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

BRUTALE, ma fa.

==
Joypad USB con piu' di sei tasti ==

Problema: http://blog.petrockblock.com/forums/topic/mame4all-pi-with-ps3-controller/#post-7163
Line 149: Line 142:
<pre>
{{{
Line 172: Line 164:
</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
}}}


===
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 ==
Line 182: Line 175:
h3. Il programmino === Il programmino ===
Line 186: Line 179:
<pre> {{{
Line 207: Line 200:
</pre>

h3. Configurazione per udev di merda
}}}

Schema dei collegamenti:

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

=== Configurazione per udev di merda ===
Line 213: Line 210:
<pre> {{{
Line 215: Line 212:
</pre>

h3. start automatico del gestore dei tasti esterni
}}}

=== start automatico del gestore dei tasti esterni ===
Line 221: Line 218:
<pre> {{{
Line 223: Line 220:
</pre> }}}
Line 228: Line 225:
SONO CAZZI DI CHI LO FARA'

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


== Lasciare solo UN emulatore (mame) o disabilitarne alcuni dalla lista di emulationstation ==
Line 236: Line 233:
<pre> {{{
Line 243: Line 240:
</pre>

h2. Problema Bianco e Nero se connesso a tv
}}}

== Problema Bianco e Nero se connesso a tv/monitor ==
Line 248: Line 245:

== Allegati ==

 * http://zaverio.com/~asbesto/retrotasti.tar.gz
 * http://zaverio.com/~asbesto/gaming_gpio-rev2-new.png
 * http://zaverio.com/~asbesto/retrogame.c

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:

  • /etc/profile

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
  • /home/pi/asteroida

serve a far partire mame con asteroid:

/opt/retropie/emulators/mame4all-pi/mame asteroid
  • /home/pi/nessa

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:

  • 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.

ti da' segmentation fault?

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

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 ;)

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 2022-08-18 16:22:11 by asbesto)