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
Last revisionBoth sides next revision
doc:appunti:hardware:raspberrypi_mame_console [2020/01/27 14:29] – [Console Mame con Raspberry Pi] niccolodoc:appunti:hardware:raspberrypi_mame_console [2020/02/07 15:59] – [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.txt · Last modified: 2020/02/07 16:00 by niccolo