ARCADE FOREVER

[TUTORIAL] MapDevice: Ordena y estabiliza tus dispositivos de juego en MAME

« Older   Newer »
  Share  
view post Posted on 31/5/2021, 12:21     +1   +1   -1
Avatar

V.I.P.

Group:
Usuarios AFFA
Posts:
5,357
Reputation:
+502
Location:
Lorca (Murcia)

Status:


[TUTORIAL] MapDevice: Ordena y estabiliza tus dispositivos de juego en MAME



ÍNDICE
1.- INTRODUCCIÓN
2.- IDENTIFICA LOS DISPOSITIVOS DE ENTRADA
3.- REORDENA TUS DISPOSITIVOS

1.- INTRODUCCIÓN

Fuentes originales de la información recogida en este tutorial:
Documentación oficial en la web del proyecto MameDev
Videotutorial del canal Maverick's Arcade

Hace ya algún tiempo publiqué este tutorial: "Ordena y estabiliza las IDs de mandos en Windows (Tur-Game Controller Order)", donde explico cómo podemos estabilizar y ordenar las IDs de nuestros dispositivos de juego Xinput y Dinput mediante el programa Tur-Game Controller Order. De este modo el problema derivado de las IDs arbitrarias de Windows desaparece en todas aquellas aplicaciones y programas que hacen uso de ellas.

El emulador MAME, como la inmensa mayoría de juegos, emuladores y programas de Windows, utiliza por defecto las IDs proporcionadas por el SO, pero alternativamente también podemos ordenar internamente para dicho emulador los dispositivos de juego utilizando la función MapDevice de tal forma que obvie la ordenación que maneje Windows y Tur-Game Controller Order.

Y ahora es cuando os preguntaréis: si puedo ordenar mis dispositivos de juego con Tur-Game Controller Order para todos mis emuladores y juegos, incluido MAME, ¿qué sentido tiene hacerlo también dentro de nuestro emulador arcade favorito? Pues que la ventaja de la función MapDevice en MAME es que esta puede ordenar, no sólo los dispositivos Xinput y Dinput, sino también los RawInput. Eso significa que podremos ordenar también nuestras pistolas, Wiimotes y ratones dentro de MAME. Evidentemente si no vamos a jugar con pistolas, Wiimotes y/o ratones nos será suficiente con utilizar Tur-Game Controller Order para todo. Pero para todos aquellos que no tengan más emulador que MAME en su equipo y/o que necesiten ordenar también sus pistolas de juego y ratones dentro del mismo, os presento este tutorial para configurar correctamente la función MapDevice.

2.- IDENTIFICA LOS DISPOSITIVOS DE ENTRADA

Lo primero que tenemos que hacer es dirigirnos a la carpeta donde tengamos instalado nuestro emulador favorito y encontrar su ejecutable:

MAME-Map-Device-01a



Según la distribución que estemos utilizando este ejecutable se puede llamar "mame.exe", "mame64.exe" o de muchas otras formas. En mi caso podéis comprobar que es "mamearcade64.exe".

Ahora tenemos que hacer que MAME nos liste todos los dispositivos de entrada que detecta en nuestro equipo. Para ello, una vez localizada la ubicación y el nombre de nuestro ejecutable lanzaremos una ventana de comandos localizada en la misma carpeta del emulador. Comenzaremos escribiendo "cmd" en la misma barra de dirección de la carpeta que tenemos abierta:

MAME-Map-Device-02



y presionaremos la tecla "Enter" de nuestro teclado. Esto nos abrirá una ventana de secuencia de comandos ya ubicada en nuestro directorio destino:

MAME-Map-Device-03a



Para hacer que el emulador nos liste los dispositivos de entrada de nuestro equipo escribiremos una secuencia de comandos en la que indiquemos el nombre de nuestro ejecutable seguido de las instrucciones "-v > test.txt". En mi caso conreto sería:

CODE
mamearcade64.exe -v > test.txt


MAME-Map-Device-04a



Al presionar la tecla "Enter" se lanzará la ventana del emulador, del cual saldremos presionando en la opción "Salir":

MAME-Map-Device-05



Ahora en la carpeta encontraremos el archivo "test.txt" recién generado:

MAME-Map-Device-06a



Al abrirlo veremos que MAME nos habrá listado todos los dispositivos de entrada que reconoce, ordenados por número de orden e identificados por tipo e identificador:

MAME-Map-Device-07a



El problema aquí es reconocer el/los identificadores con los que son nombrados cada uno de nuestros dispositivos de juego. Para ello tendréis que hacer pruebas, comprobar el el administrador de dispositivos, conectar y desconectar dispositivos y ver cuales os aparecen de nuevo, etc. También dbéis tener en cuenta que en muchos casos un mismo dispositivo puede ser reconocido al mismo tiempo como teclado, ratón, pistola y/o mando de juego. En mi caso tengo conectados al ordenador una interfaz IPAC4, dos joysticks UltraStick 360 y dos pistolas Gun4IR. El IPAC4 es reconocido como entrada de teclado, ratón y pistola, los UltraStik como ratón, pistola y mando de juego y por último las pistolas Gun4IR son reconocidas como teclado, ratón, pistola y mando. Los identificadores son:

Teclados, ratones y pistolas:
(IPAC4) --------------> HID#VID_D209&PID_0430&MI_00#7&2240a5e&0&0000#{884b96c3-56ef-11d1-bc8c-00a0c91405dd}
(UltraStik 360 1) --> HID#VID_D209&PID_0511&MI_01#7&64df014&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd}
(UltraStik 360 2) --> HID#VID_D209&PID_0512&MI_01#7&12b789d&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd}
(Gun4IR 1) ---------> HID#VID_2341&PID_8042&MI_02&Col01#8&3a338b46&0&0000#{884b96c3-56ef-11d1-bc8c-00a0c91405dd}
(Gun4IR 2) ---------> HID#VID_2341&PID_8043&MI_02&Col03#8&7b5e89b&0&0002#{378de44c-56ef-11d1-bc8c-00a0c91405dd}

Mandos:
(UltraStik 360 1) --> Ultimarc Ultra-Stik Player 1 product_0511d209-0000-0000-0000-504944564944 instance_cd2a8930-ad61-11e8-8001-444553540000
(UltraStik 360 2) --> Ultimarc Ultra-Stik Player 2 product_0512d209-0000-0000-0000-504944564944 instance_cd35d3d0-ad61-11e8-800e-444553540000
(Gun4IR 1) ---------> GUN4IR Pro Micro P1 product_80422341-0000-0000-0000-504944564944 instance_738758b0-9470-11eb-8001-444553540000
(Gun4IR 2) ---------> GUN4IR Pro Micro P2 product_80432341-0000-0000-0000-504944564944 instance_f489d4a0-94e4-11eb-8001-444553540000

Como norma general TODOS los dispositivos de entrada que funcionan como ratones también son reconocidos como pistolas.

Por supuesto tengo también un teclado y un ratón, y otros dispositivos que reconocidos por MAME como entradas de teclado. Pero no me interesan o no los uso para jugar con MAME, por eso no los he identificado en el listado. Debéis tener en cuenta que sólo tenéis que ordenar los dispositivos que vayáis a utilizar, el resto podéis obiarlos. Y los teclados ni eso, podéis utilizarlos sin ordenar.

3.- REORDENA TUS DISPOSITIVOS

Ahora que ya tenemos los identificadores de nuestros dispositivos de entrada es cuando podemos proceder a ordenarlos. Para ello nos dirigiremos al archivo de configuración de nuestro emulador "mame.ini" que se encuentra en la carpeta raíz:

MAME-Map-Device-01b



Y abrirlo para editarlo. En la sección CORE SEARCH PATH OPTIONS definiremos la carpeta donde guardaremos el archivo con el/los perfiles de ordenación de dispositivos. Por defecto estos se almacenan en la carpeta "ctrl" de la raiz del emulador, ahí está bien, pero podemos cambiar la ubicación si así lo deseamos:

CODE
ctrlrpath                 ctrlr


Lo siguiente será definir en la sección CORE INPUT OPTIONS el nombre del archivo con el que guardaremos el perfil de ordenación. En mi caso lo voy a llamar "ctrlr_default":

CODE
ctrlr                     ctrlr_default


Con esto ya habremos terminado con el archivo de configuración de MAME. P.D. recordad que si tenéis varios archivos de configuración de MAME (por sistema, juego, etc.) tendréis que repetir el proceso con cada uno de ellos.

Ahora nos dirigiremos a la carpeta donde le hemos indicado a "mame.ini" que almacenaremos el/los perfiles de ordenación:

MAME-Map-Device-01c



Y crearemos un nuevo archivo con el block de notas, renombrándolo con el mismo nombre que hayamos indicado en "mame.ini" y con extensión ".cfg":

MAME-Map-Device-09a



Ahora es cuando podemos proceder a aditarlo y crear nuestro perfil de ordenación. La instrucción general que debemos utilizar es:

CODE
<mapdevice device="identificador del dispositivo" controller="nueva ordenación" />


teniendo en cuenta que debemos indicar el tipo de dispositivo al dar la nueva ordenación:

KEYCODE_ Seguido de un número reordena el teclado al ID indicado
MOUSECODE_ Seguido de un número reordena el ratón al ID indicado
GUNCODE_ Seguido de un número reordena la pistola al ID indicado
JOYCODE_ Seguido de un número reordena el mando al ID indicado

De esta forma si un dispositivo es reconocido al mismo tiempo como pistola y como mando de juego deberemos reordenarlo de ambas formas, si así nos interesa.

También tenemos que saber que al nombrar cada dispositivo por su identificador no podemos escribir directamente el carácter "&" ya que es un carácter especial que se utiliza para dar instrucciones, así que en su lugar deberemos escribir el siguiente código: "&".

Como es más ilustrativa una imagen que un montón de palabras os dejo un pantallazo de como tengo yo estructurado mi perfil de ordenaci´ón:

MAME-Map-Device-10



Como podéis apreciar sólo he ordenado las pistolas (GUNCODE_) y los mandos de juego (JOYCODE_) que me han interesado: los que utilizo. Ahora para comprobar que todo esté correcto y que la función MapDevice esté funcionando como debe sólo tendremos que volver a sacar la ventana de comandos y lanzar nuestra secuencia de instrucciones:

CODE
mamearcade64.exe -v > test.txt


Con esto se nos volverá a generar el archivo de texto "test.txt" y al abrirlo veremos que en la parte inferior ahora nos aparecerán unas líneas nuevas con el texto "Input: Remmaped" indicándonos los dispositivos y su nuevo ID:

MAME-Map-Device-11a



Edited by Pegafun - 26/1/2022, 12:50
 
Web  Top
view post Posted on 31/5/2021, 14:09     +1   -1
Avatar

V.I.P.

Group:
Usuarios AFFA
Posts:
4,465
Reputation:
+299
Location:
Barcelona

Status:


Buen tuto. Me lo miro con mas tranquilidad mas tarde
 
Top
view post Posted on 31/5/2021, 17:09     +1   -1
Avatar

Arcade Workshop

Group:
Usuarios AFFA
Posts:
15,225
Reputation:
+674
Location:
Córdoba

Status:


Es que este tío no se puede aguantar, hay que perdonarle todo, la verdad :)
 
Top
view post Posted on 31/5/2021, 17:21     +1   -1
Avatar

V.I.P.

Group:
Usuarios AFFA
Posts:
4,465
Reputation:
+299
Location:
Barcelona

Status:


Es verdad. El tio no para ni para dormir....
 
Top
view post Posted on 31/5/2021, 22:05     +1   -1
Avatar

V.I.P.

Group:
Usuarios AFFA
Posts:
5,357
Reputation:
+502
Location:
Lorca (Murcia)

Status:


Muchas gracias salaos! ;)
 
Web  Top
view post Posted on 1/6/2021, 05:54     +1   -1
Avatar

NOVEL

Group:
Member
Posts:
59
Reputation:
0

Status:


Un crack Pegafun
 
Top
view post Posted on 16/12/2021, 20:45     +1   -1
Avatar

V.I.P.

Group:
Usuarios AFFA
Posts:
238
Reputation:
+3
Location:
Sevilla

Status:


Muchísimas gracias, Pegafun!! Esto tenía que estar entre las primeras cosas que debemos aprender sobre MAME. Si supieras las de miles de veces que he redefinido controles en mame. jajajaja 1000 GRACIAS!!
 
Top
view post Posted on 16/12/2021, 20:48     +1   -1
Avatar

Arcade Workshop

Group:
Usuarios AFFA
Posts:
15,225
Reputation:
+674
Location:
Córdoba

Status:


QUOTE (albertodelsur @ 16/12/2021, 20:45) 
Muchísimas gracias, Pegafun!! Esto tenía que estar entre las primeras cosas que debemos aprender sobre MAME. Si supieras las de miles de veces que he redefinido controles en mame. jajajaja 1000 GRACIAS!!

He leído @albertodelsur y poco más y me da un patatus
Un abrazo.
 
Top
view post Posted on 17/12/2021, 13:53     +1   -1
Avatar

V.I.P.

Group:
Usuarios AFFA
Posts:
5,357
Reputation:
+502
Location:
Lorca (Murcia)

Status:


QUOTE (albertodelsur @ 16/12/2021, 20:45) 
Muchísimas gracias, Pegafun!! Esto tenía que estar entre las primeras cosas que debemos aprender sobre MAME. Si supieras las de miles de veces que he redefinido controles en mame. jajajaja 1000 GRACIAS!!

No hay de qué, me alegro que te fuese de ayuda.

QUOTE (Xtob @ 16/12/2021, 20:48) 
He leído @albertodelsur y poco más y me da un patatus

El tutorial es muy útil si tienes dispositivos de juego que andes conectando y desconectando. Imprescindible si juegas juegos de pistola para poder tenerlas configuradas, tanto ellas como los mandos del CPO, si no las tienes fijadas y siempre conectadas al PC. Porque cada vez que una pistola se conecta y desconecta puede cambiar el orden de todos los controles.
 
Web  Top
8 replies since 31/5/2021, 12:21   1108 views
  Share