RG350 xMAME
xMAME es un port para UNIX del conocido multiemulador de máquinas arcade MAME. Vamos a ver cómo instalarlo y configurarlo en la consola RG350.
Instalación¶
El OPK que utilizaremos para instalarlo es sólo eso, un instalador. Una vez que la instalación haya terminado podremos borrarlo. El proceso es el siguiente:
- Bajar éste OPK
-
Copiarlo a una de las dos rutas que explora GMenu2X para mostrar los lanzadores, es decir:
- Tarjeta interna:
/media/data/apps
- Tarjeta externa:
/media/sdcard/apps
- Tarjeta interna:
-
Localizar el lanzador del instalador en GMenu2X:
-
Abrir el instalador. Se nos preguntará si queremos instalar xMAME en la tarjeta interna o la externa. La selección de uno u otro destino se hace pulsando izquierda o derecha:
-
Confirmamos la instalación con
Start
o cancelamos conSelect
. Al pulsarStart
veremos una pantalla de texto durante un minuto aproximadamente (el error que se ve al principio en realidad no es del instalador sino un resíduo del log de GMenu2X). Al finalizar la instalación aparece brevemente un mensaje que nos indica que podemos borrar el instalador: -
Al regresar a GMenu2X ya deberíamos ver el nuevo icono lanzador:
Configuración¶
Si tratamos de abrir xMAME recien instalado, se cerrará mostrando brevemente un mensaje de error:
Como vemos se queja de que no encuentra ROMs. xMAME tiene un comportamiento particular. Para empezar, en su versión 1.3, incluye tres versiones distintas de romsets:
- 0.37b16, también conocido como 0.52
- 0.69
- 0.84
Cada uno de estos romsets apuntan a un directorio diferente:
- 0.52 =>
/media/data/local/share/xmame/xmame52/roms
- 0.69 =>
/media/data/local/share/xmame/xmame69/roms
- 0.84 =>
/media/data/local/share/xmame/xmame84/roms
Nota
Las rutas anteriores corresponden a cuando la instalación ha sido hecha sobre la tarjeta interna. En caso de hacerlo sobre la externa la ruta base es /media/sdcard/apps/xmame
Es aquí donde debemos colocar al menos una ROM para que el programa se mantenga abierto y nos muestre su frontend:
Gestión unificada de ROMs
Existe una forma de evitar tener que triplicar las ROMs entre los tres directorios y es sustituirlos por tres enlaces simbólicos hacia una única ruta. Esto lo podemos lograr ejecutando los siguientes comandos por consola (por SSH por ejemplo). La ruta utilizada deberá existir previamente (/media/data/roms/ARCADE/
en el ejemplo):
# rm -rf /media/data/local/share/xmame/xmame52/roms
# rm -rf /media/data/local/share/xmame/xmame69/roms
# rm -rf /media/data/local/share/xmame/xmame84/roms
# ln -s /media/data/roms/ARCADE/ /media/data/local/share/xmame/xmame52/roms
# ln -s /media/data/roms/ARCADE/ /media/data/local/share/xmame/xmame69/roms
# ln -s /media/data/roms/ARCADE/ /media/data/local/share/xmame/xmame84/roms
Previews¶
Como la mayoría de emuladores, xMAME soporta un sistema de previsualización de las ROMs para ayudar a identificar los juegos en el listado. Las imágenes tienen que colocarse en el directorio /media/data/local/share/xmame/resource/snap
y llamarse igual que las ROMs excepto por la extensión .png
. Por ejemplo para previsualizar la ROM /media/data/local/share/xmame/xmame52/roms/bombjack.zip
tendrá que existir el fichero /media/data/local/share/xmame/resource/snap/bombjack.png
. Si es así, en el listado de ROMs veremos lo siguiente:
En realidad puede haber más de una imagen por ROM. Se puede poner una secuencia de imágenes que aparecerán en sucesión en el frontend (cada 3 ó 4 segundos aproximadamente). Los nombres de las imágenes deben ser como cuando la imagen es única, es decir con el mismo nombre de la ROM, más un número correlativo de dos cifras empezando por 00
. Por ejemplo, para el caso de la ROM comentada antes, una serie de 5 imágenes se conseguiría con los ficheros: bombjack.png
, bombjack00.png
, bombjack01.png
, bombjack02.png
y bombjack03.png
. No es casualidad que el directorio donde se almacenan los snapshots o pantallazos del juego (se hacen con la combinación de teclas Start + Abajo
), terminen en el mismo directorio de las previews, y que los nombres de estos pantallazos vayan incorporando esta numeración sucesivamente. De esta forma, cada pantallazo que hagamos se incorporará a la secuencia de previews.
Previews compatibles con GMenu2X
Como siempre nos interesa hacer compatible este sistema de previews con el propio de GMenu2X para así evitar tener las imágenes duplicadas en dos rutas distintas. Vamos a partir de la situación en la que hemos unificado la ruta de las ROMs del truco anterior, es decir que los tres directorios correspondientes a los tres romsets apuntan a /media/data/roms/ARCADE/
. En este caso el directorio de previews debería ser: /media/data/roms/ARCADE/.previews/
. Para convertir este directorio en el que utiliza xMAME, de nuevo haremos un parche en el sistema de ficheros con un enlace simbólico:
# rm -rf /media/data/local/share/xmame/resource/snap
# ln -s /media/data/roms/ARCADE/.previews/ /media/data/local/share/xmame/resource/snap
Como recopilar todas las previews de las ROMs es una tarea inabarcable manualmente, podemos como siempre utilizar un scraper, o bajar un lote preparado ya por alguien como éste.
Integración en frontends¶
Para que un emulador sea integrado correctamente en un frontend como EmulationStation, PyMenu o SimpleMenu necesitamos que el emulador pueda ser ejecutado por linea de comando y que acepte como argumentos la ruta de la ROM a emular. En el caso de xMAME hay tres ejecutables que se pueden invocar de esta forma, uno por cada versión de romset. Los ejecutables son los siguientes:
/media/data/local/share/xmame/xmame52/xmame.SDL.52
/media/data/local/share/xmame/xmame69/xmame.SDL.69
/media/data/local/share/xmame/xmame84/xmame.SDL.84
En frontends que sólo admitan un ejecutable como EmulationStation no tendremos más remedio que elegir uno de los tres (lo más lógico es escoger el romset 84). En frontends como PyMenu o SimpleMenu podemos indicar los tres ejecutables para seleccionarlos luego antes de lanzar la ROM. Por ejemplo en SimpleMenu tendríamos:
[MAME]
execs = /media/data/local/share/xmame/xmame52/xmame.SDL.52,/media/data/local/share/xmame/xmame69/xmame.SDL.69,/media/data/local/share/xmame/xmame84/xmame.SDL.84
romDirs = /media/data/roms/ARCADE/,/media/sdcard/roms/ARCADE/
romExts = .zip
aliasFile = /media/home/.simplemenu/alias.txt
onlyFileNamesNoPathOrExtension = yes
Controles¶
A continuación se muestra una recopilación de controles de xMAME:
Control | Situación | Función |
---|---|---|
Arriba / Abajo |
En frontend | Seleccionar ROM una a una |
Izquierda / Derecha |
En frontend | Seleccionar ROM página a página |
Select |
En frontend | Salir |
Start |
En frontend | Refresca lista de ROMs |
L1 |
En frontend | Cambia el filtro de ROMs entre Available Game , Available Clones , Favourites y All Games |
R1 |
En frontend | Cambia entre las versiones de xMAME: 0.52 , 0.69 y 0.84 |
A |
En frontend | Arranca un juego y selección de opciones |
Y |
En frontend | Añade/quita de favoritos |
Select + R1 |
En juego | Insertar moneda |
Select + L1 |
En juego | Comenzar 1P |
Select + L1 + R1 |
En juego | Salir |
L1 + R1 |
En juego | Pausa |
Start + R1 |
En juego | Mostrar FPS |
Start + L1 |
En juego | Menú de configuración |
Start + Abajo |
En juego | Hacer captura de pantalla (se almacena en /media/data/local/share/xmame/xmameVV/snap ) |
Start + Izquierda |
En juego | Guardar state. Luego seleccionar casilla de guardado (por letras, hay 29) y pulsar A |
Start + Derecha |
En juego | Recuperar state. Luego seleccionar casilla donde se guardó y pulsar A |