Autor Tema: [TUTORIAL] MapDevice: Ordena y estabiliza tus dispositivos de juego en MAME  (Leído 1381 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Pegafun

  • VIP
  • *
  • Mensajes: 183
  • Gracias 17
  • Ciudad: Lorca
  • Pais: España
  • Iniciales nick: PGF
Advertisement
[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:


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:


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


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:

Código: [Seleccionar]
mamearcade64.exe -v > test.txt

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


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


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:


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:


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:

Código: [Seleccionar]
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":

Código: [Seleccionar]
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:


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":


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

Código: [Seleccionar]
<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: "&amp;".

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:


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:

Código: [Seleccionar]
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:

« Última modificación: Enero 26, 2022, 12:45:28 pm por Pegafun »



Desconectado empardopo

  • Admin
  • *
  • Mensajes: 21714
  • Gracias 761
  • Espero mejorar al KungFu Master!
    • Mi canal de Youtube
  • Ciudad: Norte de África
  • Pais: Escoña
  • Iniciales nick: EPP
Re: [TUTORIAL] MapDevice: Ordena y estabiliza tus dispositivos de juego en MAME
« Respuesta #1 en: Junio 01, 2021, 09:58:49 am »
Gracias compi, habrá que echarle un vistazo detenidamente!

Desconectado Pegafun

  • VIP
  • *
  • Mensajes: 183
  • Gracias 17
  • Ciudad: Lorca
  • Pais: España
  • Iniciales nick: PGF
Re: [TUTORIAL] MapDevice: Ordena y estabiliza tus dispositivos de juego en MAME
« Respuesta #2 en: Junio 02, 2021, 04:46:43 pm »
Gracias compi, habrá que echarle un vistazo detenidamente!

No hay de qué, sólo espero que os sea útil a los que tengáis dispositivos que conectéis/desconectéis.

Desconectado empardopo

  • Admin
  • *
  • Mensajes: 21714
  • Gracias 761
  • Espero mejorar al KungFu Master!
    • Mi canal de Youtube
  • Ciudad: Norte de África
  • Pais: Escoña
  • Iniciales nick: EPP
Re: [TUTORIAL] MapDevice: Ordena y estabiliza tus dispositivos de juego en MAME
« Respuesta #3 en: Junio 03, 2021, 09:19:52 am »
Gracias compi, habrá que echarle un vistazo detenidamente!

No hay de qué, sólo espero que os sea útil a los que tengáis dispositivos que conectéis/desconectéis.

Nuevamente muchas gracias por compartir en el foro! :-)

Desconectado Zael

  • VIP
  • *
  • Mensajes: 1793
  • Gracias 9
    • Ancient Bits
  • Iniciales nick: ZAE
Re: [TUTORIAL] MapDevice: Ordena y estabiliza tus dispositivos de juego en MAME
« Respuesta #4 en: Junio 03, 2021, 11:22:20 pm »

Yo precisamente tenía un problema con los mandos USB y MAME. Jugaba, los configuraba y todo perfecto. Al día siguiente iba a jugar y no lo reconocía. Desconecto y conecto y lo vuelve a reconocer. Era totalmente arbitrario.

Hará 2 ó 3 meses restauré una copia limpia de Windows y ya lo reconoce siempre. Yo creo que el que haya varios emuladores o programas que usen esos dispositivos USB cambia las IDs o configuraciones.

Si me vuelve a pasar, Dios no lo quiera, tiraré mano de este y el anterior tutorial. Gracias!






 


* Recopilatorio Retos: Desde el 1 hasta .....  Autor: montypepa Foro: Competiciones y concursos 28/04/2024 (20:49)
* Retro 320 - Wizard of wor  Autor: Zael Foro: Competiciones y concursos 28/04/2024 (20:26)
* Aprende a hacerte un PORTABLE de tu juego arcade favorito  Autor: jose365 Foro: Records y wolfmame 28/04/2024 (16:28)
* Info sobre MARP  Autor: Zael Foro: Records y wolfmame 28/04/2024 (16:08)
* Salón Recreativo #55 (27-04-2024 / 26-05-2024)  Autor: Zael Foro: Salón Recreativo FaseBonus 28/04/2024 (15:53)
* [Recomendacion] Series para ver  Autor: arquillos Foro: Offtopic 25/04/2024 (19:51)
* Screenshot de empardopo  Autor: empardopo Foro: Otros programas 24/04/2024 (19:42)
* Homenaje a Locomalito  Autor: empardopo Foro: Otros programas 24/04/2024 (19:37)
* Concurso Bytemaniacos 2025  Autor: empardopo Foro: Creación de juegos 23/04/2024 (21:46)
* La inteligencia artificial ha llegado a la música  Autor: empardopo Foro: Offtopic 23/04/2024 (21:43)
* Retro Portable Maker ArcadeSpain (RPMA)  Autor: empardopo Foro: Otros programas 21/04/2024 (19:16)
* Van dos y se cae el del medio - Hilo de cachondeo general  Autor: empardopo Foro: Offtopic 21/04/2024 (18:47)
* ¿A qué estáis jugando ahora mismo?  Autor: joselopez Foro: Offtopic 19/04/2024 (00:02)
* Hacer fondos de pantalla con Excel para Spectrum  Autor: empardopo Foro: Creación de juegos 18/04/2024 (19:33)
* Salón Recreativo FaseBonus - Preparativos y Sugerencias  Autor: Zael Foro: Salón Recreativo FaseBonus 17/04/2024 (00:17)
* Retropixel 2024  Autor: Zael Foro: Eventos Arcades 14/04/2024 (12:24)
* [N3DS] Red Viper - Emulando Virtual Boy como Dios manda  Autor: Zael Foro: Noticias de emuladores 14/04/2024 (12:17)
* Ofertas Amazon  Autor: empardopo Foro: Offtopic 11/04/2024 (20:29)
* Restauración Terminator 2 + LightGun Gun4IR  Autor: HeroTonma Foro: Diario de construccion de tu arcade 04/04/2024 (14:18)
* Ojo con telegram  Autor: Zael Foro: Noticias 29/03/2024 (19:30)
* Patrocinador para el foro ArcadeSpain  Autor: Zael Foro: Noticias 24/03/2024 (21:01)
* Galería de fotos en ArcadeSpain - sube las fotos a nuestro servidor -  Autor: empardopo Foro: Noticias 24/03/2024 (16:49)
* Flipando con la desinformación en el caso del emulador Yuzu  Autor: Zael Foro: Offtopic 22/03/2024 (20:13)
* Salón Recreativo FaseBonus - Recopilatorio Salones  Autor: Zael Foro: Salón Recreativo FaseBonus 22/03/2024 (12:36)
* Mirad lo que acabo de recibir para mi Powkiddy A12... Os va a molar  Autor: Zael Foro: Powkiddy A12/A13 18/03/2024 (21:02)
* Ayuda, algún app para poner imagen a un mo3  Autor: gucaza Foro: Otros programas 16/03/2024 (06:03)
* Recta final de la maquina  Autor: beaches Foro: Attract Mode 12/03/2024 (00:22)
* Saludos desde Madrid   Autor: gabibb Foro: Presentate al Foro 11/03/2024 (19:52)
* Problema con placa zero delay..   Autor: catapum Foro: Seccion C.P. 07/03/2024 (11:46)
* Música y artistas aptos para nuestra jukebox  Autor: Zael Foro: Offtopic 03/03/2024 (20:47)

Countdown
Buscaunchollo.click