-GUIDA- MAME Stabilità dei controller

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

-GUIDA- MAME Stabilità dei controller

Messaggio da emme1 »

-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, 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 nella directory del mame
Immagine
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, 15:04, modificato 3 volte in totale.



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

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da xbrunox »

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

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

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da emme1 »

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
Super Arcader
Super Arcader
Messaggi: 554
Iscritto il: 01/11/2016, 11:43
Medaglie: 3
Reputation: 108
Località: Treviso
:
Medaglia di bronzo Medaglia di legno

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da emme1 »

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: 4945
Iscritto il: 04/05/2016, 16:00
Medaglie: 40
Reputation: 991
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 »

@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])

Avatar utente
adolfo69
Super Arcader
Super Arcader
Messaggi: 608
Iscritto il: 11/12/2015, 8:42
Reputation: 78
Località: Napoli
Nazione: Italiana

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da adolfo69 »

Ciao Emme, grazie a questo link suggerito da bandito, ho riscoperto quest'articolo che ricordo di aver già letto tanto tempo fa ma che era sparito dalla mia mente. Grazie alla tua esperienza credi sia possibile settare 5 joystick come fossero solo 2? È possibile assegnare la stessa funzione a 2 o più controller?
Grazie

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

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da emme1 »

Ciao, non ho una risposta certa, ma penso che questo metodo dia solo un un nome univoco ad una periferica specifica.
Quindi al P1 corrisponde al device x il P2 corrisponde a quello y e così via.
Quello che puoi fare secondo me è comunque di mappare i device seguendo la guida, poi manualmente provare ad impostare dal mame (premendo il tasto tab) più di un tasto per lo stesso input.

Magari prima di fare l'operazione con tutti e 5 i joystic, prova con due

Inviato dal mio Redmi Note 5 utilizzando Tapatalk


Avatar utente
adolfo69
Super Arcader
Super Arcader
Messaggi: 608
Iscritto il: 11/12/2015, 8:42
Reputation: 78
Località: Napoli
Nazione: Italiana

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da adolfo69 »

ciao, ho provato a seguire la tua guida ed ho inserito uno x volta i joystick andandomi a segnare di volta in volta i valori nel file joycode_id.cfg ottenendo il seguente risultato:
<?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_d30f11f0-ba8f-11e8-8001-444553540000" controller="JOYCODE_1" />
<mapdevice device="instance_cba88170-2791-11e9-8001-444553540000" controller="JOYCODE_2" />
<mapdevice device="instance_295208e0-04e7-11ea-8001-444553540000" controller="JOYCODE_3" />
<mapdevice device="instance_b374d950-07a1-11ea-8001-444553540000" controller="JOYCODE_4" />
</input>
</system>
</mameconfig>

ho salvato e poi ho modificato il file mame.ini presente sia nella cartella ini dell mame sia nella sua root inserendo la stringa:

ctrlr joycode_id

ma, lanciando il mame, ottengo
Fatal error: Could not load controller file joycode_id.cfg

dove sbaglio?

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

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da emme1 »

Strano...
Sei sicuro di non aver messo l'estensione .cfg nella stringa del mame.ini?
Prova a tirare via l'estensione al nome se c'è

Inviato dal mio Redmi Note 5 utilizzando Tapatalk


Avatar utente
adolfo69
Super Arcader
Super Arcader
Messaggi: 608
Iscritto il: 11/12/2015, 8:42
Reputation: 78
Località: Napoli
Nazione: Italiana

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da adolfo69 »

ciao, non ho messo l'estensione al nome, mi sono limitato a scrivere solo joycode_id
sento di essere vicino al traguardo ma se non risolvo con i controller non posso terminare i collegamenti

Provato adesso con il pc desktop ma stesso risultato

Attempting to parse: joycode_id.cfg
Fatal error: Could not load controller file joycode_id.cfg

Questo il cfg che ho creato

<?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_45647e20-ec88-11e6-8001-444553540000" controller="JOYCODE_1" />
<mapdevice device="instance_86587890-009a-11ea-8001-444553540000" controller="JOYCODE_2" />
</input>
</system>
</mameconfig>

io mi sono limitato solo a sostituire i valori 'instance_86587890-009a-11ea-8001-444553540000' nella stringa da te portata ad esempio, puoi verificare l'effettiva funzionalità? magari sulle nuove versioni del mame è cambiato qualcosa… io cmq l'ho provato sia sul mame 201 presente sul cab sia sulla 215 del desktop.

Avatar utente
adolfo69
Super Arcader
Super Arcader
Messaggi: 608
Iscritto il: 11/12/2015, 8:42
Reputation: 78
Località: Napoli
Nazione: Italiana

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da adolfo69 »

ho risolto a furia di tentativi, manca l'ultimo passaggio nella guida… il file .cfg creato va poi copiato nella cartella ctrl del mame x questo non lo trovava!
Manca ora di saltare l'ultimo ostacolo… assegnare ad player 3 gli stessi comandi del Player 1 così come il p4 = p2.
Anche andando nel menu del mame rispettivamente in player command 3 e 4 come faccio ad associare i comandi?

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

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da emme1 »

Cavolo, scusa non ho potuto aiutarti perché sono fuori...
Mi fa piacere che hai risolto, in effetti manca quel paesaggio, chiedo venia, lo vado subito ad integrare sulla guida, grazie!

Inviato dal mio Redmi Note 5 utilizzando Tapatalk




Avatar utente
adolfo69
Super Arcader
Super Arcader
Messaggi: 608
Iscritto il: 11/12/2015, 8:42
Reputation: 78
Località: Napoli
Nazione: Italiana

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da adolfo69 »

Grazie a te che ho fatto un'altro passo verso il traguardo. Mi manca l'ultimo... associare player1=player 3 e player 2=player 4
Ultima modifica di adolfo69 il 16/11/2019, 10:59, modificato 1 volta in totale.

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

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da emme1 »

adolfo69 ha scritto:Grazie a te che ho fatto un'altro passo verso il traguardo. Mi manca l'ultimo... associare player1=player 2 e player 3=player 4
I comandi credo che tu li debba dare premendo il tasto Tab mentre mame fa funzionare un gioco a caso.
Puoi assegnare più di un pulsante per ogni comando sia per il P1 che per il P2.
Ad esempio, premi invio pigi il primo pulsante sul primo controller.
invio di nuovo sullo stesso controllo e premi lo stesso pulsante del secondo controller e così via...
Immagine

Inviato dal mio Redmi Note 5 utilizzando Tapatalk


Avatar utente
adolfo69
Super Arcader
Super Arcader
Messaggi: 608
Iscritto il: 11/12/2015, 8:42
Reputation: 78
Località: Napoli
Nazione: Italiana

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da adolfo69 »

purtroppo così non funziona, ho assegnato al player 3 button 1 joy 3 pulsante 0 or joy 1 pulsante 0 ma non accade nulla, x avere un effetto devo sempre e cmq premere il tasto del joy 1
Ho provato anche a creare, x poi modificare il file default.cfg ma stessa cosa, a questo punto non so neanche se concettualmente sia possibile fare una cosa del genere... ci vorrebbe un membro del mame x dare una risposta esaustiva mi sa...

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

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da emme1 »

Peccato..
Concettualmente a me sembrava il sistema di procedere, magari mame non è stato pensato per gestire le periferiche in questo modo.

Inviato dal mio Redmi Note 5 utilizzando Tapatalk


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

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da emme1 »

Forse la soluzione meno complicata è l'acquisto di un paio di zero dealy e sdoppiare i fili che raggiungeranno i relativi pulsanti e Joy sui 4 lati della tua creatura

Inviato dal mio Redmi Note 5 utilizzando Tapatalk


Avatar utente
alucard
Gamer
Gamer
Messaggi: 189
Iscritto il: 10/05/2019, 18:14
Reputation: 28
Località: Ceprano

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da alucard »

Per la problematica segnalata nel topic, potrebbe essere utile anche DevReorder https://github.com/briankendall/devreorder

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

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da emme1 »

Da una lettura veloce sembra che faccia cosa della guida, con la variante di poter personalizzare l'identità dei controller per ogni gioco.
Potrebbe funzionare in effetti

Inviato dal mio Redmi Note 5 utilizzando Tapatalk


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

Re: -GUIDA- MAME Stabilità dei controller

Messaggio da emme1 »

Da una lettura veloce sembra che faccia cosa della guida, con la variante di poter personalizzare l'identità dei controller per ogni gioco.
Potrebbe funzionare in effetti

Inviato dal mio Redmi Note 5 utilizzando Tapatalk