Retrogaming III: Los emuladores

Seguro que ya lo cononoces el agregador de emuladores con más tirón del momento: Libretro o Retroarch. Pero lo que no conoces son algunos trusquis mal documentados que te permiten jugar bien y que te voy a contar aquí.

En este post haré una pequeña introducción a retroarch, instalación y lanzamiento de alguna rom que se vea mal.

Por si no lo conoces ...

... libretro es un lanzador de emuladores, que él denomina cores. Existen cores para Arcade, maquinitas, Gameboy, PlayStation, ... y todos ellos vienen instalados o son fácilmente descargables con Retroarch, que es otro proyecto que utiliza el api de libretro para hacer el frontend.

Su diseño modular en interfaz y cores nos permite poder instalar solo lo que necesitamos permitiéndonos utilizar hardware a medida. Actualmente el 90% de las soluciones de emulación funcionan con Retroarch.

Hace no mucho tiempo ...

... en nuestro planeta, si querías usar un juego primero tenías que elegir un emulador que pudiera emularla de entre todos los existentes, luego conocer los parámetros con los que lanzar el emulador y muchas veces el juego fallaba sin saber porqué.

Con retroarch tenemos un solo instalador para todos los emuladores existentes, una sola interfaz para lanzar los juegos y un procedimiento de instalación fácil y rápido.

Instalación

Primero ve a la y mira si tu consola está entre ellas. Si no aparece ahí puedes probar suerte directamente en la página de descargas.

Te recuerdo que en esta serie de posts no hablamos de PCs sino de PSP, PSVita, NDS y 3DS.

En esta parte doy por supuesto que tu consola ya está desbloqueada y conoces de forma básica su manejo. Si no lo está y no sabes como hacerlo te tendrás que esperar a que lo cuente en algún post de esta serie para que lo explique un poco así que ten paciencia y mientras tanto ¡no actualices el sistema de la consola!

Instalación en PSVita

Tenemos dos opciones de instalación: vía homebrew browser y vía descarga de la aplicación.

La instalación usando el Homebrew Browser dejó de funcionar en algún momento porque ahora es necesaria una copia manual de archivos después de instalar el paquete vpk y el Homebrew Browser solo instala paquetes.

En la página de descargas vemos dos archivos y nos tenemos que bajar los dos. Instalamos el vpk utilizando VitaShell.

Copiamos el contenido de Retroarch_data.7z en ux0:data/ para lo cual no recomiendo utilizar el servidor de ftp que viene con VitaShell porque aunque solo son 28mb, son miles de archivos que transmitidos por ftp pueden tardar horas en copiarse.

Y ya lo tenemos:

Instalación en PSP

Nos vamos a la página de descargas y nos bajamos el archivo para nuestra consola ... pero vemos que ocupa muy poco espacio, solo 4 megas y pico.

Esto se debe a que tiene muy poquitos cores y algunos de los que faltan son muy importantes, como el de MAME, pero eso ya lo hablaremos más adelante.

Para instalarlo copiamos el contenido del 7z al directorio PSP/GAME/RetroArch de la tarjeta y ya está instalado.

Instalación en Nintendo New 3ds

Como ya sabrás podemos utilizar homebrews en formato cia o 3dsx. Los .cia son instalables de 3ds que aparecerán en el menú con el resto de los juegos mientras los .3dsx son archivos que copiamos en el directorio sdmc:/3ds/ y que se podrán abrir usando "The homebrew launcher".

Si elegimos el formato 3dsx solo tenemos que copiar el contenido del archivo en la raíz de nuestra MicroSD o en sdmc:/3ds/ en caso de usar el servicio de FTP, cosa que no recomiendo porque nos podemos tirar horas para copiar todo.

Si elegiste la distribución 3dsx ¡ya está instalado! peeeeero me ha dado problemas que lo han hecho inusable asi que no lo recomiendo.

Si elegiste la distribución cia debes instalar todos los cia usando el FBI de la forma habitual.

En el caso de Nintendo, el resultado es un poco más sucio porque una vez instalado todo tendrás un icono por cada uno de los cores en el menú:

Se suponía que Retroarch te ocultaba la existencia de los cores pero este te los muestra todos en el menú principal. Yo los he puesto muy a la derecha para diferenciarlos del resto de programas.

Instalación en Nintendo DSi

La Nintendo DSi no está soportada por retroarch pero tiene emuladores por separado que ya veremos más adelante. No la subestimes por no poder usar Retroarch, aunque ya te adelanto que no es la mejor opcion.

Primeros pasos

La guía oficial es bastante explicativa.

Configuración de retroarch

Probablemente nunca tengas necesidad de tocar la configuración pero por si acaso en el repo de retroarch puedes encontrar lo necesario para saber donde tocar.

El fichero de configuración se encuentra en ux0:/data/retroarch/retroarch.cfg en el caso de la psvita o en sdmx:retroarch/retroarch.cfg en el caso de la 3ds.

En este archivo se guarda la configuración de retroarch y de los cores de retroarch a nivel general. Si ves que TODOS los juegos de GameBoy funcionan mejor con una configuración aquí es donde debes tocar.

Convenciones

Es muy importante conocer el nombre de los botones para poder entender cualquier guía así que memoriza estos nombres:

En las máquinas que solo tienen dos botones, como la GameBoy, los botones son el A y el B.

Funciones que debes habilitar

Antes de empezar a jugar debes tener activada la función que te permite congelar la partida y guardar el estado del emulador o realizar configuraciones específicas para ese juego.

Se configura en "Configuración | Input | Menu Toggle Gamepad Combo" con las teclas del pad derecha e izquierda.

En la PSVita se activa con L + R + Select + Start. Si tienes la 1000 te costará cogerle el trusqui a pulsar Select y Start a la vez pero yo ya lo hago sin problemas.

En la New 3ds yo he elegido L + R + Y + Down pero pulsando sobre la parte inferior de la pantalla táctil también sale.

Configuración avanzada

Esto no te va a hacer falta, pero por si te hace falta te pongo un par de casos de juegos cuya configuración he tenido que cambiar para que se vean bien.

Rotación de la pantalla y remapeo de teclas

Vamos con el pacman de Arcade donde al arrancar vemos que ¡está del revés!

Con el juego arrancado pulsamos el Menu Toggle Gamepad Combo y en la configuración elegimos la opción "Overrides":

Y guardamos las opciones para ese juego:

Esto nos creará un archivo de configuración para ese juego en la ruta_de_datos_retroarch/config/nombre_del_emulador/nombre_de_la_rom.cfg .

Configuramos las opciones:

video_rotation = 2
video_allow_rotate = true


y este será el resultado en el que rotamos 180 grados la pantalla:

Pero este juego esta pensado para una pantalla mas vertical asi que necesitamos cambiar la rotacion y el mapeo de teclas.
Rotamos la pantalla con esta configuracion:

video_rotation = 3
video_allow_rotate = true

Y para el mapeo de teclas, mientras estamos en el juego salimos al menu con el Menu Toggle Gamepad Combo, vamos a "Controls" y cambiamos el mapeo de teclado para que:
  • arriba -> izquierda
  • abajo -> derecha
  • izquierda -> abajo
  • derecha -> arriba

Luego guardamos los cambios, salimos, entramos y aqui esta:

Proporción de la pantalla

Pongamos por caso que arrancamos el Mario Bros y nos sale este churro:

Pero esperamos esta proporción:

Le damos a la combinación de teclas de arriba (Menu Toggle Gamepad Combo), elegimos la opción de sobreescribir las opciones para este juego y eso nos creará un archivo donde podemos personalizarlas, en el caso de la psvita, en ux0:data/retroarch/config/Game & Watch/Mario Bros. (Nintendo, Multi Screen).cfg.

Sabiendo que la pantalla de la psvita es de 960x544 configuramos estas opciones:

custom_viewport_width = 960
custom_viewport_height = 544


y el resultado es el siguiente:

Si queremos hacer zoom sobre una zona del juego no tenemos más que decirle que nuestra pantalla es más grande de lo que realmente es y que empiece a pintar en el vacío:

custom_viewport_width = 1200
custom_viewport_heigh = 680
custom_viewport_x = -115
custom_viewport_y = -100


Este es el resultado:

Conclusiones

Con Retroarch podrás tener todos los emuladores que quieras y aunque nunca vayas a tocar la configuración, puedes hacerlo para adaptarla a cualquier máquina existente en el mercado y poder enseñarle a tus hijos lo que eran juegos de verdad en una consola portátil: