gimco's tech disorder


Oct 27 2016
5 minutos de lectura

Retropie: Crea tu retroconsola

Hace unos meses Nintendo anunciaba una nueva consola destinada a tocar la fibra sensible de todos los ochenteros que hemos tenido la suerte de haber conocido la maravillosa generación de consolas Atari/MasterSystem/Nes/MegaDrive/SuperNintendo. Se trata de la Nintendo Classic Mini una réplica en miniatura de la NES con una selección de 30 juegos, simples, espartanos, pero super adictivos.

No tengo la menor duda de que será un superventas estas navidades. Aunque podríamos señalar dos inconvenientes: Solo permiten dos jugadores y los juegos son exclusivamente los 30 elegidos.

Para resolver estos inconvenientes siempre podemos crear nuestra propio sistema de emulación, algo pequeñito del estilo de la Nintendo Classic Mini, algo sencillo, para enchufar y jugar. Y nada como una RaspberryPi para ajustarse a estos requisitos.

Raspberry

De los modelos de Raspberry mas actuales que podemos elegir, tenemos la Raspberry Pi Zero que es la mas pequeña y barata, pero que no dispone de WI-FI, ni Bluetooth, ni salida RCA/Euroconector, ni puertos USB “de los normales”. Aunque si eres manitas siempre puedes añadir una salida RCA, añadir un módulo wifi, y buscar algún HUB USB.

Y la opción mas recomendable y sencilla es usar la Raspberry Pi 3 Model B, que es mas cara, mas potente, tiene WI-FI, puerto ethernet, bluetooth, salida RCA y 4 puertos USB listos para usar. Solo necesitaremos un par de cosas mas:

Instalación

El siguiente paso sería instalar el software necesario. Tendremos que instalar un sistema operativo para Raspberry (cualquier de los muchos sabores de linux que hay), instalar y configurar cada uno de los emuladores con los que querríamos jugar (FCEUmm, Snes9x, DOSBox, ScummVM, Mupen, PPSSPP, y la lista sigue …), configurar los mandos USB que queramos utilizar. Pero, una vez que lo hayamos hecho, ¿como hacemos para elegir el emulador con el que queremos jugar cada vez? Necesitaríamos también un teclado y raton para poder iniciar cada emulador por separado, y poder cerrarlo y elegir el siguiente. Cada emulador tiene su propio interfaz, sus opciones de configuración, su proceso de mapeo de teclas y botones del mando, etc.

Afortunadamente existe un proyecto llamado libretro que simplifica este problema. Este proyecto implementa una librería que unifica el acceso a distintos emuladores, proporcionado un interfaz único para usarlos. Esto se traduce en que una aplicación que utilice libretro podrá ser capaz de iniciar cualquier juego de forma transparente al emulador que finalmente lo ejecute, lo que nos permitirá configurar y ejecutar las distintas plataformas de forma sencilla.

Ahora necesitaríamos una aplicación que nos facilite la gestión de las distintas roms, opciones de configuración y permite iniciar los distintos juegos de forma transparente al emulador sin necesidad de estar usando teclado y raton. Y EmulationStation es la aplicación perfecta para esto.

EmulationStation es la aplicación que querremos iniciar por defecto. Nos permite navegar entre las distintas plataformas de forma gráfica, seleccionar los juegos, descargarse metadatos para que aparezca la carátula, nombre, año, etc. Y nos permite por supuesto iniciar los juegos, configurar opciones globales, configura los mandos de forma global. Y todo esto con una usabilidad y experiencia de usuario digna de alabar. Chapó!

Retropie

Afortunadamente existe un proyecto que se ocupa de todo lo anterior. Retropie es un proyecto que se encarga de prepararnos una distribución Debian para Raspberry junto con libretro/retroarch, con todos los emuladores y con EmulationStation de inicio. ¡Así que todo se reduce a copiar la distribución de Retropie a nuestra microSD, y listo!

Los instrucciones de instalación son bien sencillas: descargar la imagen e instalarla en la microSD con Windows, Linux o Mac.

Una vez iniciemos nuestra Raspberry Pi con la microSD de Retropie nos aparecerá EmulatioStation. Cada vez se detecte un nuevo tipo de mando USB, tendremos que configurar los botones. Si el mando no dispone de alguno de los botones, dejaremos pulsado durante unos segundos cualquier botón ya mapeado anteriormente.

Entre las plataformas que muestra EulationStation veremos que existe una que es Retropie desde la que podremos iniciar distintos scripts de utilidades y configuración de Retropie. Uno de ellos nos permite configurar el WI-FI (necesitaremos enchufar un teclado momentáneamente) o consultar la IP actual.

Lo único que nos queda copiar nuestras roms en la correspondiente carpeta de la raspberry. Para eso tenemos varias opciones, copiarlas con scp (accediendo con el usuario pi y contraseña raspberry) o usando una memoria USB. Para ello retropie tiene configurado un mecanismos de sincronización con rsync. Solo creamos una carpeta retropie en la raíz de la memoria USB y la enchufamos a la raspberry. Tras unos segundos se habrá sincronizado la estructura de carpetas de roms que se utiliza. Ya podremos volver a enchufar el USB en un PC y copiar las roms que queramos en las carpetas correspondientes.

Así que solo nos queda disfrutar de divertidas tardes de juegos retro.

P.D.: Para salir de los juegos y volver a EmulationStation hay que pulsar SELECT + START. Si aparece un cuadrado multicolor en la esquina es porque el cargador no suministra suficiente potencia y deberíamos probar con otro.

Docker en máquinas de 32bits Clojure shebang