AIR - Arcade Input Remapper

Problemi e soluzioni su configurazioni software, firmware
Avatar utente
XeviaN

Donatore
Newbie
Newbie
Messaggi: 41
Iscritto il: 18/12/2011, 23:24
Medaglie: 1
Città: Bologna
Località: Bologna
Grazie Inviati: 6 volte
Grazie Ricevuti: 8 volte

AIR - Arcade Input Remapper

Messaggio da XeviaN »

Ciao a tutti!

Faccio questo post spinto dal prode @MacGyver, dato che ho finito il cab (QUESTO).

Non potendo ovviamente implementare ogni tipo di input sulla plancia, ci sono alcune cose che vorrei risolvere però via software.

L'idea è quella che mano a mano che faccio cose, chi è interessato le può testare e dare feedback, e richiedere feature nuove, in modo da avere un programmino utile per tutti (che si chiamerà AIR - Arcade Input Remapper).

I punti chiave sono sostanzialmente due:

1) La gestione del cambio in OutRun (ed eventualmente altri giochi), dato che io per il cambio, in plancia, ho un joystick a due microswitch (su / giù), modalità non supportata dal MaMe

2) La gestione errata delle diagonali dei Joystick nei giochi che non accettano input a più di 4 direzioni


Partiamo dal punto 1.
Come saprete, OutRun ha una gestione del cambio on/off pilotata da un unico pulsante. Esiste un'altra modalità, descritta qui Shifter Toggler Disable che permette di settare il gioco in modo che il cambio rimanga in posizione HIGH fincheè si tiene premuto il tasto, e si sposti a LOW quando si rilascia il tasto.

Neanche questo aiuta nel mio caso, quindo ho fatto un programmino di test che funziona così:
- lo si lancia appena prima di lanciare il MaMe con OutRun, e lui rimane attivo in background
- prende in input (da riga di comando) tre tasti: due tasti sono quelli che avete mappato sul vostro cambio (su / giù), e il terzo tasto è il tasto "in output" che il programmino terrà premuto per simulare correttamente il funzionamento del cambio
- quando MaMe si chiude, si chiude anche il programmino

Quindi, le cose da fare sono:
1) Configurare OutRun come specificato nella pagina di documentazione sopra: si modifica il suo file outrun.cfg aggiungendo quel pamaretro, in modo che la marcia alta si attivi tenendo premuto il tasto (potete già fare questo settaggio e testarlo, prima di fare il resto)
2) Creare un file batch per lanciare outrun, che lancia prima il programmino e poi il mame con outrun
3) Associare il file batch ad outrun nel vostro launcher

Il mio file batch è questo, io lo uso con LaunchBox/BigBox:

Codice: Seleziona tutto

@echo off
start /min ./TheGearer/TheGearer.exe -pname=mame64 -mode=single -keyup=0xA0 -keydown=0x5A -outkey=0x20 -startpressed
start Mame64.exe -keyboardprovider dinput %1 %2 %3 %4 %5 %6 %7 %8 %9 
Vi spiego al volo i parametri, poi se avete domande chiedete qui.

TheGearer.exe è il nome temporaneo del programmino.

-pname="nomeprocesso" è un parametro che indica il nome del processo di MaMe. Nel mio caso è mame64. Se voi ne avete uno diverso (mame32 o altro), per scoprire il nome esatto, lanciate il vostro Mame e mentre è aperto aprite il task manager di windows, andate in Dettagli e lo trovate listato lì. Io nella lista ho mame64.exe quindi devo inserire mame64 (senza .exe).
processi.png
-mode=single è da lasciare così per ora

-keyup, -keydown: sono i codici dei due tasti che avete mappato sul vostro cambio (su / giù)
-outkey: è il codice del tasto che il programmino tiene premuto quando la marcia è in high. Questo deve essere un tasto diverso dai due precedenti, e lo dovete configurare in mame come tasto switch del camibio.

-startpressed lasciatelo così, non so se funzione e/o se fa danni togliendolo, poi ci guardo

La tabella dei codici da utilizzare la trovate qui: Keycodes

Mel mio caso ho usato 0xA0 (tasto left shift) e 0x5A (tasto z) perchè quando muovo il mio joystick up/down, la mia IPAC preme i tasti SHIFT o Z.
Poi ho messo 0x20 (tasto barra spaziatrice) e l'ho configurato dentro ad outrun come tasto di cambio marcia.

Nota: il mame è lanciato con parametro -keyboardprovider dinput perchè altrimenti non riesco a fargli leggere i tasti che "premo" virtualmente. Quel parametro gli fa usare DirectInput al posto della lettura raw del device hw.

Qui trovate il programmillo: TheGearer

Esempio di come fare un primo test di massima:
- configurare outrun e testare che il vostro tasto di switch del cambio funzioni nella modalità "tengo premuto". Nota: il tasto non deve essere uno dei due tasti del cambio, ma un altro completamente diverso.
- cercare i codici dei vostri tasti nella tabella, e segnarseli
- aprire un prompt dei comandi, lanciare il programmino con i parametri giusti dei vostri tasti. Il programma partirà e rimarrà aperto
- lanciate Mame da riga di comando così: mame64.exe -keyboardprovider dinput outrun
A questo punto il cambio dovrebbe andare (ahahahahha, non andrà mai alla prima!).

Occhio che quando chiudete Mame si chiude anche il programmino, quindi va rilanciato.

Se funziona, potete fare un batch come indicato sopra, modificando i path in base a dove avete le cose e in base a come funziona il vostro launcher.

Ovviamente questa non è neanche una versione beta, è una roba buttata lì. Mano a mano lo miglioriamo :D
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
XeviaN
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 4847
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 17 volte
Grazie Ricevuti: 272 volte

Re: AIR - Arcade Input Remapper

Messaggio da Gothrek »

per il punto 2 nessuna soluzione mi ha veramente soddisfatto, quindi ho montato un joy in più a 4 vie solo per quei giochi che ne hanno bisogno.
Avatar utente
MacGyver

Donatore
God of Arcade
God of Arcade
Messaggi: 2679
Iscritto il: 01/09/2015, 13:28
Medaglie: 1
Città: Torino
Località: Pinerolo
Grazie Inviati: 60 volte
Grazie Ricevuti: 83 volte

Re: AIR - Arcade Input Remapper

Messaggio da MacGyver »

Ottima guida, appena ho un attimo di tempo la metto in pratica e ti aggiorno.

Grazie @XeviaN .

Nel frattempo, mi sono portato avanti con questa :
https://www.arcadeitalia.net/viewtopic.php?f=29&t=34525

Sara' un' accoppiata vincente <-shake2->
Avatar utente
XeviaN

Donatore
Newbie
Newbie
Messaggi: 41
Iscritto il: 18/12/2011, 23:24
Medaglie: 1
Città: Bologna
Località: Bologna
Grazie Inviati: 6 volte
Grazie Ricevuti: 8 volte

Re: AIR - Arcade Input Remapper

Messaggio da XeviaN »

MacGyver ha scritto: 02/01/2021, 16:38 Nel frattempo, mi sono portato avanti con questa :
https://www.arcadeitalia.net/viewtopic.php?f=29&t=34525
Sara' un' accoppiata vincente <-shake2->
Fighissimoooo devo provare <-w00t-anim->
XeviaN
Avatar utente
MacGyver

Donatore
God of Arcade
God of Arcade
Messaggi: 2679
Iscritto il: 01/09/2015, 13:28
Medaglie: 1
Città: Torino
Località: Pinerolo
Grazie Inviati: 60 volte
Grazie Ricevuti: 83 volte

Re: AIR - Arcade Input Remapper

Messaggio da MacGyver »

Posso confermare che il programma funziona perfettamente, faccio quindi i complimenti allo sviluppatore per questa innovazione strepitosa.

Sostituendo i parametri indicati nella guida e cambiando i percorsi, la leva cambio risponde ottimamente.

Unica pecca, lanciando il programma da Maximus Arcade, i comandi tastiera, molte delle volte nn rispondono e impallano il F.E.

@XeviaN ,sta' cercando di risolvere il problema.
Rispondi

Torna a “Miscellanea software”