User Tools

Site Tools


doc:appunti:hardware:raspberrypi_mame_console

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:hardware:raspberrypi_mame_console [2020/01/27 15:29] – [Console Mame con Raspberry Pi] niccolodoc:appunti:hardware:raspberrypi_mame_console [2020/02/07 17:00] (current) – [File di configurazione] niccolo
Line 1: Line 1:
-====== Console Mame con Raspberry Pi ======+====== Console MAME con Raspberry Pi ======
  
-{{.:raspberrypi:console_mame.jpg?direct&400 |Console Mame}}+[{{.:raspberrypi:console_mame.jpg?direct&400 |Il pannello di controllo della console MAME}}]
 Come costruire una console per il **[[wpit>Retrogaming|retrogaming]]** utilizzando un **[[wp>Raspberry Pi]]** e gli emulatori open source più famosi, come **[[wpit>MAME]]** e **FinalBurn Alpha**. Come costruire una console per il **[[wpit>Retrogaming|retrogaming]]** utilizzando un **[[wp>Raspberry Pi]]** e gli emulatori open source più famosi, come **[[wpit>MAME]]** e **FinalBurn Alpha**.
  
Line 8: Line 8:
 Il lavoro necessario ha riguardato la **costruzione del pannello**, il **cablaggio** dei joystick e dei pulsanti, la **configurazione** dell'interfaccia Mini-PAC, la scelta e la **configurazione degli emulatori** fra quelli disponibili, la **configurazione di Emulation Station** per l'interfaccia di presentazione e avvio dei giochi. Infine la **selezione delle ROM** più interessanti e giocabili nonché alcune configurazioni ad-hoc richieste da qualche ROM. Il lavoro necessario ha riguardato la **costruzione del pannello**, il **cablaggio** dei joystick e dei pulsanti, la **configurazione** dell'interfaccia Mini-PAC, la scelta e la **configurazione degli emulatori** fra quelli disponibili, la **configurazione di Emulation Station** per l'interfaccia di presentazione e avvio dei giochi. Infine la **selezione delle ROM** più interessanti e giocabili nonché alcune configurazioni ad-hoc richieste da qualche ROM.
  
-Queste le componenti hardware e software utilizzate FIXME (indicare le versioni e una descrizione):+Queste le componenti hardware e software utilizzate:
  
   * **Raspberry Pi 2 Model B** - CPU 900MHz quad-core ARMv7-A Cortex-A7, 1 Gb RAM.   * **Raspberry Pi 2 Model B** - CPU 900MHz quad-core ARMv7-A Cortex-A7, 1 Gb RAM.
-  * **Interfaccia Mini-PAC** +  * **Mini-PAC Standard** - Interfaccia USB, simula una tastiera e può collegare fino a 32 input digitali (pulsanti o joystick). 
-  * **Retropie** - This is the distribution which includes all the software pieces required for retrogaming (except the ROMs). It is based on Raspbian Wheezy 7.8. +  * **Retropie 3.0** - È la distribuzione che include tutte le componenti software necessarie per il retrogaming (ad eccezione delle ROM), è basata su Raspbian Wheezy 7.8. 
-    * **Emulation Station v2.0.1A** +    * **Emulation Station v2.0.1A** - È l'interfaccia che consente di scegliere il gioco da eseguire mostrando le miniature e la descrizione. 
-    * **AdvanceMAME 1.2** - Basato su MAME 0.106, supporta circa 6100 giochi. +    * **AdvanceMAME 1.2** - Emulatore basato su MAME 0.106, supporta circa 6100 giochi. 
-    * **MAME4ALL Pi** - Basato MAME 0.37b5, supporta circa 2200 giochi. +    * **MAME4ALL Pi** - Emulatore basato MAME 0.37b5, supporta circa 2200 giochi. 
-    * **PiFBA** +    * **PiFBA** - Emulatore di giochi Neo-Geo basato su FinalBurn Alpha 0.2.96.71. 
-    * **SNES** +    * **SNES** - Emulatore Super Nintendo LibRetro Snes9X (lr-snes9x-next). Basato su Snes9X 1.52+ con ottimizzazioni e supporto LibRetro. 
-    * **SCUMM** +    * **SCUMM** - Emulatore di giochi ScummVM versione 1.7.0 (2014-07-21). 
-  * **ROM**+    * **RetroArch** - Libreria LibRetro che dovrebbe consentire di configurare gli input (tasti e joystick) una volta sola per tutti gli emulatori. Purtroppo l'adozione da parte dei vari emulatori è ancora scarsa, infatti l'abbiamo usata solo per configurare l'emulatore SNES. 
 +  * **ROM** - Ci siamo procurati una collezione di ROM per MAME **versione 0.106 o superiore**, quindi con **Clrmamepro** abbiamo preparato le ROM esattamente come richiesto dalla due implementazioni di MAME: versione 0.106 e 0.37b5.
 ===== Il Pannello di Controllo ===== ===== Il Pannello di Controllo =====
  
Line 192: Line 193:
 ===== Interfaccia Mini-PAC ===== ===== Interfaccia Mini-PAC =====
  
-L'interfaccia [[https://www.ultimarc.com/minipac.html|Mini-PAC]] ha un connettore a pettine da 40 poli al quale si possono collegare pulsanti e joystick. Si collega all'host tramite porta USB ed emula una tastiera senza alcun limite di tasti premuti contemporaneamente.+L'interfaccia [[https://www.ultimarc.com/control-interfaces/mini-pac-en/|Mini-PAC]] ha un connettore a pettine da 40 poli al quale si possono collegare pulsanti e joystick. Si collega all'host tramite porta USB ed emula una tastiera senza alcun limite di tasti premuti contemporaneamente.
  
 La [[https://www.ultimarc.com/ipac2.html|mappatura dei tasti predefinita]] è adatta all'emulatore MAME (qui una {{.:raspberrypi:mini-pac_keycode-table.pdf|versione PDF}}), ma con il software opportuno è possibile riprogrammarla. La [[https://www.ultimarc.com/ipac2.html|mappatura dei tasti predefinita]] è adatta all'emulatore MAME (qui una {{.:raspberrypi:mini-pac_keycode-table.pdf|versione PDF}}), ma con il software opportuno è possibile riprogrammarla.
Line 441: Line 442:
 ^ lr-pocketsnes    | ^ lr-pocketsnes    |
  
-L'emulatore predefinito viene configurato in **''/opt/retropie/configs/snes/emulators.cfg''**. Per la configurazione dei controlli (tasti, joystick, ecc.) vedere [[#Configurazione di RetroArch]]. Il file con le impostazioni è **''/opt/retropie/configs/all/retroarch.cfg''**.+L'emulatore predefinito viene configurato in **''/opt/retropie/configs/snes/emulators.cfg''**. 
 + 
 +==== File di configurazione ==== 
 + 
 +Per la configurazione dei controlli (tasti, joystick, ecc.) vedere [[#Configurazione di RetroArch]]. Il file con le impostazioni è **/opt/retropie/configs/all/retroarch.cfg**. In particolare si è personalizzato quanto segue (per avere più o meno lo stesso comportamento dell'emulatore MAME): 
 + 
 +<file> 
 +input_exit_emulator = escape 
 +input_pause_toggle = p 
 +input_reset = nul 
 +input_menu_toggle = f1 
 +input_enable_hotkey = nul 
 +</file> 
 + 
 +Inoltre si sono disabilitati i due seguenti comandi che altrimenti erano mappati su **left** e **right**: 
 + 
 +<file> 
 +input_state_slot_increase = nul 
 +input_state_slot_decrease = nul 
 +</file> 
 + 
 +Infatti muovendo il joystick a destra o a sinistra compariva un messaggio in sovraimpressione con la dicitura **Save slot: N** dove N è un numero. In quel modo si selezionava uno degli //slot// per il salvataggio del gioco, ma questa azione non è prevista con il nostro pannello di controllo (eventualmente si possono associare altri tasti presenti sulla tastiera). Se si vuole invece disattivare del tutto i messaggi in sovraimpressione si deve impostare **video_font_enable = false**.
  
 ==== Menu dell'emulatore  ==== ==== Menu dell'emulatore  ====
Line 447: Line 469:
 Conviene mappare l'azione **input_menu_toggle = f1** (oppure tab) in **/opt/retropie/configs/all/retroarch.cfg**, in modo da poter accedere al menu dell'emulatore solo con una tastiera collegata. Per salvare una schermata del gioco (**screenshot**): //Quick Menu// > //Take Screenshot//. L'emulatore salverà lo screenshot nella directory **/home/pi/RetroPie/roms/snes/** con un nome del tipo **RetroArch-0105-095130.png**. Conviene mappare l'azione **input_menu_toggle = f1** (oppure tab) in **/opt/retropie/configs/all/retroarch.cfg**, in modo da poter accedere al menu dell'emulatore solo con una tastiera collegata. Per salvare una schermata del gioco (**screenshot**): //Quick Menu// > //Take Screenshot//. L'emulatore salverà lo screenshot nella directory **/home/pi/RetroPie/roms/snes/** con un nome del tipo **RetroArch-0105-095130.png**.
  
 +Se dal menu dell'emulatore si sceglie di salvare la configurazione corrente, viene creato il file **/opt/retropie/configs/snes/snes9x_next_libretro.cfg**. Tali impostazioni sono specifiche per l'emulatore **lr-snes9x-next** e vengono applicate dopo quelle indicate in **/opt/retropie/configs/all/retroarch.cfg**.
 ===== ScummVM ===== ===== ScummVM =====
  
doc/appunti/hardware/raspberrypi_mame_console.1580135362.txt.gz · Last modified: 2020/01/27 15:29 by niccolo