-GUIDA- MAME Stabilità dei controller

Area dedicata alle guide tecniche,consigli e suggerimenti.
Rispondi
Avatar utente
emme1
Arcader
Arcader
Messaggi: 480
Iscritto il: 01/11/2016, 11:43
Medaglie: 3
Reputation: 101
Località: Treviso
:
Medaglia di bronzo Medaglia di legno

-GUIDA- MAME Stabilità dei controller

Messaggio da emme1 » 15/06/2019, 15:04

-GUIDA- MAME Stabilità dei controller
Buongiorno cari amici di Arcademania!
Ho sempre avuto problemi nel riconoscimento dei controller da parte di mame.
Non perchè non siano visti, ma può succedere che l'emulatore (non per colpa sua) inverta i joystick P1 e P2, costringendo ogni volta a rimappare.
Questa procedura di remapping, va a rubare parte del già breve tempo che ho per giocare ed è una vera seccatura.
In pratica da quel che ho capito, Windows (ecco il vero colpevole) carica all'avvio l'ordine delle periferiche a radom senza dare una priorità logica. [ranting3.gif] [ranting3.gif]
A nulla è mai servito disinstallere le periferiche, riavviare windows e attacare i controller con un ordine.
Al successivo riavvio se si è fortunati il problema si risolve per ricomparire successivamente. [wallbash.gif]

E' stata implementata su mame 0.205 la mappatura per l'identità dei controller che appunto consente di dire a mame quale controller corrisponda al PLAYER-1 e quale al PLAYER-2 e non solo! [yahoooooo.gif] [yahoooooo.gif]

In pratica basterà creare un file all'nterno della cartella ctrlr con una serie di semplici righe che permetta l'identificazione.

La procedura originale spiegata qui https://docs.mamedev.org/advanced/devicemap.html ma per me che non sono ferratissimo nell'argomento [help2.gif] , è stato un po difficile capire cosa fare di preciso perchè non è dettagliata e da per scontato dei passaggi che sono fondamentali per la riuscita. [scratch_one-s_head.gif]
Così dopo vari tentativi, ci sono riuscito e ho deciso di fare questa guida.

1- Procurarsi mame 0.205 o superiore ed installarlo.
2- Aprire il prompt di dos e recarsi sulla cartella dove si trova l'eseguibile del mame (mame.exe)
3- Avviare il mame in verbose mode digitando mame.exe -v Da qui è possibile vedere l'identità di ogni singola periferica che interessa mame quali mouse, joystick, mouse, lightgun ecc...
Qui l'esempio del mio risultato
Spoiler:

Codice: Seleziona tutto

Input: Adding keyboard #0: HID Keyboard Device (device id: \\?\HID#VID_1631&PID_5002&MI_00#8&b39fb4a&0&0000#{884b96c3-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding keyboard #1: HID Keyboard Device (device id: \\?\HID#VID_1997&PID_2433&MI_00#7&32e47141&0&0000#{884b96c3-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding keyboard #2: HID Keyboard Device (device id: \\?\HID#vmultia&Col07#1&4784345&0&0006#{884b96c3-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding mouse #0: HID-compliant mouse (device id: \\?\HID#vmultia&Col03#1&4784345&0&0002#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding mouse #1: HID-compliant mouse (device id: \\?\HID#vmultia&Col04#1&4784345&0&0003#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding mouse #2: HID-compliant mouse (device id: \\?\HID#VID_1997&PID_2433&MI_01&Col01#7&f0d337f&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding mouse #3: HID-compliant mouse (device id: \\?\HID#VID_046D&PID_C016#7&6b76c9&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding lightgun #0: HID-compliant mouse (device id: \\?\HID#vmultia&Col03#1&4784345&0&0002#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding lightgun #1: HID-compliant mouse (device id: \\?\HID#vmultia&Col04#1&4784345&0&0003#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding lightgun #2: HID-compliant mouse (device id: \\?\HID#VID_1997&PID_2433&MI_01&Col01#7&f0d337f&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding lightgun #3: HID-compliant mouse (device id: \\?\HID#VID_046D&PID_C016#7&6b76c9&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding joystick #0: Generic   USB  Joystick   (device id: Generic   USB  Joystick   product_00060079-0000-0000-0000-504944564944 instance_73099f50-65d5-11e8-8004-444553540000)
Input: Adding joystick #1: Generic   USB  Joystick   (device id: Generic   USB  Joystick   product_00060079-0000-0000-0000-504944564944 instance_07a715e0-e13f-11e8-8001-444553540000)
Input: Adding joystick #2: vmultia HID (device id: vmultia HID product_ba1c001f-0000-0000-0000-504944564944 instance_ca8a22e0-2551-11e9-8001-444553540000)
4 -Una volta trovate le periferiche da mappare, create col notepad un file di testo all'inteno della cartella ctrlr e nominatelo come volete, ad esempio controller_id.cfg.
Mame attribuisce una classe per ogni periferica di gioco, avremo quindi ad esempio JOYCODE per il joystick, MOUSECODE per il mouse, GUNCODE per le lightgun.
Nel mio caso, dovendo sistemare l'odine di P1 e p2 ho inserito nel file di testo le seguenti righe
Spoiler:

Codice: Seleziona tutto

<?xml version="1.0"?>
<!-- This file is autogenerated; comments and unknown tags will be stripped -->
<mameconfig version="10">
<system name="default">
<input>
<mapdevice device="instance_07a715e0-e13f-11e8-8001-444553540000" controller="JOYCODE_1" />
<mapdevice device="instance_73099f50-65d5-11e8-8004-444553540000" controller="JOYCODE_2" />
      </input>
   </system>
</mameconfig>
Se avete altri joystick basterà aggiungere altre periferiche in questo modo
Spoiler:

Codice: Seleziona tutto

<mapdevice device="ID PERIFERICA" controller="JOYCODE_3" />
<mapdevice device="ID PERIFERICA" controller="JOYCODE_4" />
<mapdevice device="ID PERIFERICA" controller="JOYCODE_N....." />

Una volta fatte le opportune modifiche, satevate il file controller_id.cfg

Vi posto anche l'esempio fatto nella guida originale (link sopra) cercando di far capire meglio il concetto di come funziona il meccanismo
Spoiler:

Codice: Seleziona tutto

<mameconfig version=”10”>
<system name=”default”>
<input>
<mapdevice device=”VID_D209&amp;PID_1601” controller=”GUNCODE_1” />
<mapdevice device=”VID_D209&amp;PID_1602” controller=”GUNCODE_2” />
<mapdevice device=”XInput Player 1” controller=”JOYCODE_1” />
<mapdevice device=”XInput Player 2” controller=”JOYCODE_2” />

<port type=”P1_JOYSTICK_UP”>
<newseq type=”standard”>
JOYCODE_1_YAXIS_UP_SWITCH OR KEYCODE_8PAD
</newseq>
</port>
....
5 - Alla fine entrate nella cartella ini presente nella directory del mame e aprite con il notepad il file mame.ini
6- recatevi su

Codice: Seleziona tutto

#
# CORE INPUT OPTIONS
#
e alla voce ctrlr scivete il nome corrispondente al vostro file - in questo caso controller_id
in questo modo
Spoiler:

Codice: Seleziona tutto

#
# CORE INPUT OPTIONS
#
coin_lockout              1
ctrlr                     controller_id
mouse                     0
joystick                  1
lightgun                  0
multikeyboard             0
E salvate.

Se avete eseguito correttamente la guida dovrebbe funzionare alla grande, potrete sempre giocare senza perdere tempo inutile.

Non sono un guru, per cui se gli esperti notassero delle inesattezze sono pregati di correggermi, ogni suggerimento è ben accetto.
Ultima modifica di emme1 il 15/06/2019, 23:19, modificato 1 volta in totale.



xbrunox
Super Arcader
Super Arcader
Messaggi: 725
Iscritto il: 17/08/2017, 19:13
Reputation: 193
Località: Castellanza

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da xbrunox » 15/06/2019, 19:04

Bella spiega emme! Ma il file controller credo sia molto più datato della versione 205.

Avatar utente
emme1
Arcader
Arcader
Messaggi: 480
Iscritto il: 01/11/2016, 11:43
Medaglie: 3
Reputation: 101
Località: Treviso
:
Medaglia di bronzo Medaglia di legno

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da emme1 » 15/06/2019, 19:18

Cavoli allora ho scoperto l'acqua calda! Non lo sapevo, leggendo qua e là ho visto che con la 0.178 qualcuno aveva problemi per cui trovando la guida su mamedev ho supposto che fosse ben implementata dalla 0.205.
Avevo la versione 0.184 ed ho scaricato l'ultima.. penso che non la cambierò.

Sai per caso da quale versione è compatibile? Così modifico la guida.


Inviato dal mio Redmi Note 5 utilizzando Tapatalk


Avatar utente
emme1
Arcader
Arcader
Messaggi: 480
Iscritto il: 01/11/2016, 11:43
Medaglie: 3
Reputation: 101
Località: Treviso
:
Medaglia di bronzo Medaglia di legno

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da emme1 » 15/06/2019, 19:27

Ecco mi sono accorto che forse sto argomento andava aperto nella sezione guide... Va bhé se un moderatore passasse di qua, se non è la sez giusta, lo sposti pure!

Inviato dal mio Redmi Note 5 utilizzando Tapatalk


Avatar utente
saturnshadow
Arcade Maniac
Arcade Maniac
Messaggi: 4463
Iscritto il: 04/05/2016, 16:00
Medaglie: 38
Reputation: 921
Località: Pesaro/Bologna
Nazione: Italy
:
Medaglia d'oro Medaglia d'argento Medaglia di bronzo Medaglia di legno

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da saturnshadow » 15/06/2019, 22:12

@emme1 poteva essere anche dalla prima versione ma le uniche guide inutili sono quelle non scritte [icon_wink.gif] (e anche quelle dei paraguru sbagliate, ma è un'altra storia [on_eek.gif])

Rispondi