Montando una consola Retro con una Raspberry Pi

Montando una consola Retro con una Raspberry Pi

11/26/2016 0 Por viperEF

No hace mucho publicamos un articulo sobre como montar una consola Retro usando nuestras RB y la distribución RetroCal , hoy el articulo versa sobre lo mismo pero usando RetroPi, disfrutarlo.

¿Qué pensarías si descubrieras que es posible crear tu propia consola retro para disfrutar de juegos clásicos de consolas como NES, Mega Drive, Super Nintendo, Gameboy, PSP, Nintendo 64, PC (MSDOS) y un largo etcétera, simplemente con unos 70 euros(aproximadamente)?

Con la salida de la famosa Mini NES de Nintendo, muchos han visto de cerca la posibilidad de tener una miniconsola retro en casa, adaptada a los nuevos tiempos, sin necesidad de manipular antiguos cartuchos, adaptadores de euroconector o mandos estropeados que hoy en día son difíciles o caros de conseguir.

Sin embargo, aunque la Mini NES está genial y han hecho un gran trabajo con ella y tiene un precio super ajustado (60 euros), tiene una desventaja principal: sólo cuenta con 30 juegos (no ampliables) y, obviamente, son juegos exclusivos de la consola NES.

En el siguiente artículo vamos a ver, paso a paso, como montar una mini consola similar a la Mini NES Classic, pero a nuestro gusto, con la posibilidad de emular una larga lista de consolas, utilizando una Raspberry Pi, un ordenador de bajo consumo y bajo coste, y gran cantidad de software libre, por un precio de unos 70 euros como mínimo.

Las características más interesantes de nuestra Raspberry Pi (aunque no las únicas) serán las siguientes:

  • Emular juegos de múltiples consolas: NES, SNES, Gameboy, MegaDrive, PSX, PSP, N64…
  • Emular juegos «retro» de PC/MSDOS: DOSBox, ScummVM, ResidualVM, etc.
  • Utilizarla de Media Center para reproducir películas, series, música, emisoras de radio…
  • Actualizable con capacidad de añadir futuras mejoras (e incluso overclockeable).
  • Basado en GNU/Linux, por lo que puede usarse a modo de servidor, PC o sistema ligero.
  • Posibilidad de jugar online con otros jugadores de Raspberry Pi (o emuladores en PC).
  • Mecanismo de «retrologros» similar a los utilizados en Steam.
  • Posibilidad de cargar shaders o filtros para emular efectos visuales o pantallas CRT.
  • Posibilidad de instalar ports de juegos de otras plataformas trasladadas a RPi.

1. ¿Qué juegos/consolas puedo emular?

Como sistema de emulación utilizaremos RetroPie funcionando bajo un sistema GNU/Linux, más concretamente Debian (Jessie). Aunque no es el único sistema de emulación, ya que existen otros como PiPlay, Ignition o RecalBox, RetroPie me ha parecido la opción más potente y madura.

RetroPie viene preparado con una larga lista de emuladores ya preparados y configurados para utilizar. Sólo hay que copiar las roms (juegos) en su carpeta respectiva en /home/pi/RetroPie/roms (o simplemente copiarlas en una memoria USB o pendrive y RetroPie se encargará de copiarlas). Entre las consolas que soporta RetroPie se encuentran las siguientes (existen más, he puesto sólo las más populares):

Consola Año Carpeta Extensión de juego soportada (rom)
NES 1985 nes .zip .nes .smc .sfc .fig .swc .mgd
Master System 1987 mastersystem .sms
Mega Drive 1988 megadrive .smd .bin .md .iso
Gameboy 1989 gb .gb
Game Gear 1990 gamegear .gg
Neo Geo 1990 neogeo .zip
MAME arcade .zip
Sega CD 1991 segacd .cue .iso
Super Nintendo 1991 snes .zip .smc .sfc .fig .swc
Sega 32X 1994 sega32x .32x .smd .bin .md
Sega Saturn 1994 saturn .bin .iso .mdf
PlayStation 1 1994 psx .cue .cbn .img .iso .m3u .mdf pbp .toc .z .znx
Nintendo 64 1996 n64 .z64 .n64 .v64
Gameboy Color 1998 gbc .gbc
Dreamcast 1998 dreamcast .cdi .gdi
Gameboy Advance 2001 gba .gba
PSP 2004 psp .cso .iso .pbp
Nintendo DS ** 2004 nds .nds .bin

** Emulador experimental

Además, también es capaz de emular (entre otras) las siguientes consolas o sistemas más clásicos, incluyendo soporte para juegos o programas de MSDOS mediante emuladores como DOSBox o ScummVM:

Consola/Sistema Año Carpeta Extensión soportada
Atari 2600 1977 atari2600 .bin .a26 .rom
Amiga 1980 amiga .adf
ZX Spectrum 1982 zxspectrum .sna .szx .z80 .tap .tzx .gz .udi .mgt .img .trd .scl.dsk
Commodore 64 1982 c64 .crt .d64 .g64 .t64 .tap .x64
MSX 1983 msx .rom .mx1 .mx2 .col .dsk
Amstrad CPC 1984 amstradcpc .dsk .cpc
PC (MSDOS) pc .com .sh .bat .exe

Por si fuera poco, existe una serie de ports para Raspberry Pi (de los que hablaremos más tarde), que no son más que juegos adaptados a esta plataforma, que podemos instalar y utilizar libremente.

Tienes la lista completa de consolas y sistemas soportados en RetroPie: Supported Systems.

2.¿Qué necesito para montar mi mini consola?

Para montar la consola retro, en primer lugar necesitaremos una serie de componentes de hardware. Dependiendo de nuestro objetivo, podremos reducir costes y conseguir una consola más barata o no escatimar en gastos y conseguir mejores prestaciones y rendimiento. El precio estimado se encuentra en torno a los 70 euros, aunque puede variar ligeramente.

En algunos casos podría interesar adquirir un kit completo CanaKit que incorpora varios componentes (no todos) en un solo pack. Sin embargo, yo he preferido adquirirlos por separado para seleccionar concretamente el que más me interesa en cada caso.

Los componentes necesarios serían los siguientes (detallo sus características más adelante):

  • Placa base Raspberry Pi 3 B (~40€)
  • Fuente de alimentación para la Raspberry Pi 3 B (~9€)
  • Tarjeta microSD para el sistema y almacenamiento (~10€)
  • Cable HDMI para conectar a TV/Monitor (~4€)
  • Mando USB (~3€)
  • Carcasa de Raspberry Pi (~3-50€ según el modelo)

2.1 Placa Raspberry Pi

Como punto de partida comenzaremos con una placa Raspberry Pi, que será el motor de nuestro invento. Existen varias versiones, a diferentes precios cada una. Dependiendo de cuál sea nuestro objetivo nos puede interesar más una u otra. Por ejemplo, si sólo queremos emular consolas muy antiguas (commodore 64, zx spectrum, atari o NES) no necesitaremos una placa de última generación. Ahora, si queremos emular juegos de Nintendo 64, se recomienda utilizar el último modelo, que es más potente.

Las características generales de las últimas versiones de cada modelo son las siguientes:

Modelo Año Procesador Núcleos Red Bluetooth RAM USB Precio
RPi 1 B+ JUL/2014 0.7 GHz (32 bits) 1 No No 512MB 4xUSB2.0 ~25€
RPi 2 B FEB/2015 0.9 GHz (32 bits) 4 RJ45 No 1 GB 4xUSB2.0 ~35€
RPi 3 B FEB/2016 1.2 GHz (64 bits) 4 RJ45, WiFi BT4.1, BLE 1 GB 4xUSB2.0 ~40€
RPiZero MAY/2016 1 GHz (32 bits) 1 No No 512MB 1xMicroUSB ~5€

Salvo casos muy concretos, recomiendo encarecidamente adquirir la Raspberry Pi 3 B, ya que es más potente y tiene mejores prestaciones respecto a versiones anteriores. Algunos emuladores pueden no funcionar en versiones previas a este modelo.

2.2 Fuente de alimentación

Para alimentar la Raspberry Pi 3 B se recomienda utilizar la fuente de alimentación oficial, que tiene una salida de 5.1V a 2.5A. De esta forma nos aseguramos que suministramos la alimentación necesaria para que funcione correctamente y no tenga problemas de energía.

Un detalle importante es que, aunque Retropie tiene una opción para apagar la consola, esta no se queda desconectada al 100% en ningún momento, ya que carece de botón de apagado de serie. Esto se puede solucionar comprando un Pi Power Switch o si nos llevamos bien con la electrónica, añadir el botón nosotros mismos. Si optamos por esta opción, recuerda que la caja tiene que encajar con el botón añadido.

Si no queremos complicarnos, otra forma más sencilla de solucionarlo (barata y simple), es conectar la Raspberry a una regleta con un interruptor de apagado.

2.3 Tarjeta MicroSD de almacenamiento

Nuestra Raspberry Pi no llevará disco duro, sino una tarjeta MicroSD (como la de los móviles) donde tendrá instalado el sistema operativo, el software y utilizaremos de almacenamiento para nuestros archivos. Al comprarla, te recomiendo fijarte en los siguientes aspectos:

  • Capacidad: Mínimo recomendable: 16GB. Yo opté por una de 64GB, me sobra más de la mitad de espacio pero estoy preparado para el futuro. 🙂
  • Tipo: Puedes encontrar tarjetas SDXC, SDHC o SDSC. Esto simplemente indica la generación de tarjeta respecto a su capacidad. La primera es SD Extreme Capacity(32GB-2TB), la segunda SD High Capacity (2GB-32GB) y la última SD Standard Capacity (menos de 2GB). Evitar las del último tipo, ya que 2GB es muy poco espacio.
  • Velocidad: Mínimo recomendable: Clase 6 (6MB/s). En mi caso, compré una de Clase 10 (10MB/s). Indica la velocidad de transmisión mínima de datos y puede aparecer con diferentes nomenclaturas: dentro de una C con el número 10, dentro de una U con el número 1 o a la derecha de una V con el número 10.
  • Marca: Normalmente no importa demasiado, pero aconsejo marcas conocidas como SanDisk o similares para no tener problemas de compatibilidad. Lo mejor es comprobar si figura en la lista de tarjetas MicroSD soportadas por Raspberry Pi para curarnos en salud. Como máximo aparece una tarjeta de hasta 512GB / Clase 10 (Sandisk), por lo que hay buen soporte.

2.4 Cable HDMI

El cable HDMI necesario para conectar a la televisión es un cable macho-macho estándar HDMI 1.3. No hay mucho que decir en este apartado, asegúrate de la longitud de cable que necesitas para conectar la consola con el televisor y no quedarte corto.

La Raspberry Pi también ofrece la posibilidad de conectar mediante un puerto RCA (audio y video compuesto) en el caso que no dispongamos de HDMI, pero recomiendo utilizar siempre que sea posible usar este último.

2.5 Mandos USB (Gamepads)

RetroPie incorpora un amplio soporte para prácticamente casi cualquier tipo de mando (gamepad) que funcione a través de USB. Por ejemplo, mandos de consolas como XBOX360, PS3, PS4, N64, Ouya, Wiimotes o mandos Bluetooth, entre otros.

En nuestro caso, para que haga juego con la retroconsola que es, una buena opción podría ser comprar uno de los mandos USB de NES o los mandos USB de SNES, que cuestan 2,59€ cada uno. Pero ten muy en cuenta las limitaciones de cada mando dependiendo de la consola que vayas a emular. Por ejemplo, el mando de NES sólo tiene 2 botones de acción (A, B), 2 botones generales (start, select) y la cruceta, mientras que el mando de SNES tiene 4 botones de acción (A, B, X, Y), 2 botones generales (start, select), 2 gatillos (izquierda, derecha) y la cruceta.

Antes de comprar un mando, echa un vistazo esta guía donde muestran los botones de cada mando y cuál se ajusta más a tu caso. Los mandos 8bitdo suelen ser una opción que une diseño, mandos inalámbricos y mejoras. Además, también podemos usar nuestro smartphone como mando utilizando MobileGamePad.

2.6 Caja o carcasa para Raspberry Pi

Por último, nos queda uno de los aspectos menos funcionales pero más importantes si quieres que tu consola luzca como una auténtica retroconsola. Este es uno de los aspectos que más puede encarecer el precio de la consola, dependiendo de la opción que elijas.

La primera opción (y la más económica) es elegir una caja o carcasa para Raspberry Pi genérica, que ya viene preparada y lista para la placa, pero que no destaca especialmente en diseño. Podemos encontrar desde cajas de plástico (~1,5€) o estuches transparente(~2,5€), hasta cajas con kits de refrigeración (~5€) o cajas oficiales (~9€).

La segunda opción (y normalmente más cara) es utilizar una impresora 3D para imprimir una caja con algún motivo especial. Por ejemplo, yo he utilizado el modelo BabyNES Raspberry Pi B+ case de jrebeiro, por lo compacta y simple que es, pero puedes encontrar muchísimos modelos 3D en Thingiverse, listos para descargar e imprimir como Mini NES Raspberry Pi Case de daftmike o Raspberry Pi B+ Mini Classic NES case de ferreusveritas, más parecidas a la Mini NES Classic, u otras como la MiniSNES Raspberry Pi 2/3 Case de AndrewBougie (orientadas al aspecto y diseño de la SNES).

La impresión 3D de una caja de este tipo, puede variar mucho, oscilando entre precios de entre 15-50€, dependiendo de la calidad, el tamaño o la cantidad y tipo de material utilizado. Quizás, una buena opción es mandar a pedir el modelo BabyNES por ebay (~21€), pudiendo elegir el color y con tornillos de la caja incluidos.

3. Instalación de la mini consola

Una vez tenemos todo el hardware necesario, debemos comenzar con el software. Para utilizar Raspberry Pi debemos instalar un sistema operativo. El sistema oficial es Raspbian(basado en Debian) aunque tenemos varias opciones alternativas para descargar, entre las que se encuentran Ubuntu o Windows 10 IoT entre otros.

En nuestro caso, descargaremos una de las imágenes prediseñadas de RetroPie, que actualmente incorporan dos: una versión para Raspberry Pi Zero / Raspberry Pi 1 y otra versión para Raspberry Pi 2 / Raspberry Pi 3. Ambas están ya instaladas sobre una Raspbian y nos ahorraremos tener que hacerlo por separado.

Introducimos la tarjeta MicroSD en el lector de tarjetas de nuestro PC, descomprimimos la imagen descargada y cargamos el archivo .img con el programa Win32DiskImager o UnetBootin (si utilizas Mac puedes utilizar ApplePi Baker). Eso construirá nuestro sistema a partir de la imagen en la unidad que seleccionemos (ojo, asegurate de que sea la de la tarjeta MicroSD de la Raspberry, no sea que formatees un disco tuyo).

Una vez terminado el proceso, simplemente extraemos la tarjeta MicroSD y la introducimos en la ranura de la Raspberry Pi. Conectamos los mandos, el cable HDMI y encendemos la consola enchufando el cable de alimentación. También podemos conectar un teclado para que nos sea más cómodo en los primeros pasos de configuración.

Truco: Si desconocemos que versión de Raspberry tenemos, en el proceso de arranque, veremos que nos aparece el logo de raspberry en una esquina de la pantalla. Si nos aparecen 4 frambuesas, se trata de una Raspberry Pi 2/3, si aparece sólo una, se trata de una Raspberry Pi 0/1.

Al arrancar por primera vez, nos aparecerá una pantalla similar a la siguiente imagen. Se trata del asistente de configuración del mando o gamepad. Simplemente mantenemos un botón del gamepad pulsado y podremos configurar los botones cuál asistente de calibración de la época.

Date cuenta que nos preguntará para configurar tanto la cruceta normal como los sticks/joystick analógico. En el caso de que el mando no disponga de algún botón, mantendremos pulsado un botón y el asistente saltará al siguiente. Una vez configurado, no nos preguntará más. Si queremos volver a configurarlo, podremos hacerlo desde el menú en la opción configure input.

4. Instalando juegos (roms) en nuestra Raspberry Pi

Obviamente, el paso más importante para jugar es copiar los juegos a la MicroSD de la Raspberry Pi. Sin embargo, como la tarjeta alberga un sistema GNU/Linux, Windows no es capaz de leerla y no sirve copiar los juegos directamente desde nuestro lector de tarjetas del PC (salvo que usemos GNU/Linux).

Sin embargo, Retropie viene ya preparado y tiene 3 formas de copiar los juegos a nuestra consola, sin siquiera tener que apagar la consola:

Método 1: Conectando nuestro PC y la Raspberry Pi mediante WiFi o cable a la misma red. Bastaría con escribir \\retropie en un explorador de archivos o buscar un equipo llamado Retropie en la red de nuestro PC.

Método 2: Con una unidad USB. Podemos copiar los juegos en una unidad USB y posteriormente conectarla a la Raspberry Pi. RetroPie copiará los juegos en la unidad MicroSD de la Raspberry Pi. Ojo, hay que colocar los juegos en determinadas carpetas (ver más abajo).

Método 3: A través de SSH o SFTP con un programa como FileZilla. Recuerda que por defecto, el nombre de usuario es pi y la contraseña raspberry.

Los juegos se copiarán en la carpeta /home/pi/RetroPie/roms/?/, donde ? es el nombre de la carpeta del emulador en cuestión (tienes los nombres en la tabla de la parte superior de este artículo, junto a los formatos de roms soportados). Por ejemplo, para copiar un juego de Master System, debe estar dentro de la carpeta mastersystem y el juego en el formato .sms.

Recuerda que en Internet hay muchos sitios de descarga donde puedes encontrar roms, sin embargo, debes tener el juego original para que todo esto sea legal 😉

5. EmulationStation: Panel de selección de juegos

RetroPie incorpora EmulationStation instalado de serie. Se trata de un panel visual (con soporte para temas o skins de apariencia) que nos permite ver los emuladores disponibles en el sistema, y una vez seleccionamos uno, nos muestra sus respectivos juegos disponible, permitiendo seleccionar el que deseamos con nuestro mando o teclado, de una forma muy sencilla.

Truco: Una vez arrancamos un juego (botón A), para salir de él y volver al menú de EmulationStation simplemente pulsamos START+SELECT.

En un principio, EmulationStation nos mostrará sólo el menú RetroPie, donde se encuentran todas las opciones de configuración del sistema (audio, bluetooth, temas, wifi, etc…). Sin embargo, desde que instalemos varios juegos como indicamos en el apartado anterior, nos comenzarán a aparecer nuevas consolas/emuladores en la primera lista que nos aparece.

EmulationStation viene con el tema Carbon instalado por defecto, pero existen múltiples temas para cambiar su apariencia. Para instalarlos, vamos al menú RetroPie / ES Themes. Nos aparecerá una pantalla de configuración azul, donde podemos previsualizar, descargar e instalar temas adicionales a través de Internet de forma automática.

Nota: Si aún no estás conectado a Internet, sólo necesitas conectar un cable RJ45 (modo más directo y rápido) o conectar la Raspberry Pi a tu WiFi, accediendo al menú Retropie / WiFi / Connecto to WiFi y seleccionando el nombre (ESSID) de tu red y escribiendo la contraseña (necesitarás un teclado USB).

Una vez instalados los temas, salimos del menú de configuración y en el panel de EmulationStation pulsamos START y seleccionamos las opciones UI SETTINGS / THEME SET (abajo del todo). Ahí podremos seleccionar el tema a utilizar. Carbon, pixel, eudora, turtle-pi y canela son los temas recomendados que mejor soporte tienen y más probados están.

Sin embargo, existen múltiples temas para EmulationStation. Otros temas como simple, tronkyfran, clean-look o metapixel también están muy bien, pero pueden experimentar un problema en el que se queda la pantalla blanca si tienes una lista con más de 10 emuladores. Esto ocurre porque está limitada para usar como máximo 256MB de RAM y estos temas utilizan más gráficos. Se puede solucionar desde el menú Memory split de las opciones avanzadas de Raspi-config, aumentando ese límite por encima de 256MB.

Al igual que podemos cambiar el tema de EmulationStation, podemos elegir la opción RetroPie / Splash Screen (pantalla de inicio) para seleccionar una pantalla inicial (o incluso un video MP4 inicial, unos 5-10 seg). Es posible instalar el paquete retropie-splashscreens-extra que incorpora múltiples imágenes para utilizar a modo de imagen de arranque.

6. Scrapper: Organizando tus juegos

Una de las partes más pesadas de toda colección, es mantenerla organizada y bien detallada para que nos sea sencillo acceder o buscar en ella. Para facilitar esta tarea, EmulationStation incorpora un «scraper» que examina la colección de juegos que tenemos y, basándose en el nombre de archivo del juego, busca en Internet información sobre el mismo, para añadir información a su base de datos y mostrarla cuando seleccionas los juegos.

De esta forma, no sólo veríamos el título del juego, sino información sobre el mismo como el autor, distribuidora, género, número de jugadores, descripción o valoración del juego. Incluso se descargará la carátula para mostrarla a la hora de seleccionar en el listado de juegos (dependiendo del tema).

La información se descarga de The Archive o desde The Games DB, a elección del usuario en su panel de control, pulsando START / Scraper en el menú principal. Si buscas algo más potente y profesional, te recomiendo este excelente artículo: Guide: Organizing retrogaming emulation.

7. Configuración / actualización

RetroPie también tiene automatizado todo el proceso de actualización y configuración del sistema. Dentro del menú RetroPie de EmulationStation, podemos encontrar dos zonas principales de configuración: raspi-config, para configuración interna de la Raspberry Pi, y RetroPie Setup, donde hay una serie de scripts para automatizar procesos de configuración.

En la primera de ellas, raspi-config podemos encontrar opciones especiales, como configurar el proceso de arranque de la raspberry, cambiar el password, el idioma del sistema operativo o algunas opciones avanzadas como overclocking de Raspberry Pi.

En la segunda, RetroPie Setup hay varios scripts para automatizar el proceso de actualización del sistema o de RetroPie, de modo que el usuario no tenga que iniciar un proceso de terminal más complejo, sino que pueda hacerlo desde un menú, pulsando un botón del gamepad.

Desde esta serie de menús de actualización, se puede observar que podemos instalar paquetes adicionales que no vienen instalados por defecto. Raspberry Pi incluye numerosos emuladores (incluso varios por consola) y muchos de estos paquetes están agrupados en cuatro bloques principales:

  • Paquetes core: El núcleo de RetroPie (necesario para funcionar), que incluye:
    • EmulationStation: El mencionado panel visual de emuladores y juegos.
    • RetroArch: Colección de emuladores con técnicas avanzadas (ver más adelante).
    • RunCommand: Sistema para personalizar menús de RetroPie.
    • RetroPie. El núcleo de la consola con todas las funciones base de RetroPie.
  • Paquetes main: Una colección de diferentes emuladores, junto al sistema de splash screen de RetroPie. Vienen instalados de serie.
  • Paquetes optional: Una serie de emuladores alternativos u opcionales, que no vienen instalados por defecto. También incluye motores y una serie de ports adicionales, de los que hablaremos más tarde.
  • Paquetes driver: Paquetes necesarios para la detección de mandos o controles especiales. Con xpad suele ser suficiente para los mandos más comunes, pero admite instalar muchos otros.
  • Paquetes experimental: Paquetes o emuladores experimentales que están en fase temprana de desarrollo y aún no se aconseja para su uso regular (residualVM, oricutron, minecraft, emulationstation-kids, etc…).

Habrás observado, que al abrir un juego en nuestra consola, nos aparece un mensaje de texto (bastante feo) que nos avisa que se está cargando el emulador y el juego. RunCommand entra en acción si pulsamos un botón del mando mientras aparece esta pantalla y nos permite modificar el emulador que vamos a utilizar (nos mostrará una lista de los que están disponibles para ese juego), así como otras opciones.

Dos opciones interesantes pueden ser configurarlo para que en lugar de esta ventana de texto, se nos muestre un splashscreen o la portada del juego que se está cargando, o simplemente desactivar ese menú editando el archivo /opt/retropie/configs/all/runcommand.cfg desde una terminal, estableciendo disable_menu a 1 (ver siguiente sección).

8. Acceder vía SSH a la Raspberry Pi

Ten en cuenta que la Raspberry Pi 3 B no es más que un pequeño ordenador funcionando bajo un sistema en GNU/Linux (una versión para Raspberry Pi de Debian). Si lo tenemos conectado a nuestra red, podemos simplemente conectarnos a través de SSH y acceder a una terminal del sistema donde podremos realizar todo tipo de operaciones o configuraciones.

Para conectarnos a ella, simplemente tenemos que utilizar un cliente SSH y conectar a la IP de la Raspberry. Puedes saber cuál tiene, accediendo al menú RetroPie / Show IP en el listado de consolas del panel de EmulationStation. Recuerda que el nombre de usuario es pi, mientras que la contraseña por defecto es raspberry.

Al conectar, nos mostrará una pantalla como la siguiente, donde podremos ver detalles técnicos del sistema, como la versión del kernel, el porcentaje de uso de la tarjeta MicroSD, el tiempo que lleva encendido (uptime), la memoria RAM libre o la temperatura actual, entre otras cosas.

Podemos utilizar apt-get para actualizar el sistema (es lo que hacen los scripts de configuración de RetroPie Setup) o instalar algún software específico o incluso usarlo de servidor. También podemos usar git para clonar repositorios e instalarlos en nuestro sistema. Algunos interesantes (iré actualizando la lista, si conoces alguno puedes añadirlo en los comentarios):

  • Raspi2PNG: Software para hacer capturas de pantalla.
  • Scraper: Scraper para obtener información sobre los juegos (carátulas, info, etc…) desde una terminal.

Sería conveniente tener algún editor de texto de terminal instalado como vim o nano y conocer un poco de la terminal de GNU/Linux, para así disponer de un poco más de soltura al conectarte a través de SSH.

9. Partidas guardadas

Casi la gran mayoría de los emuladores de RetroPie soportan RetroArch (emuladores que comienzan por lr-), que permite guardar la partida de los juegos que lo admitan en un archivo .srm con el mismo nombre del juego al hacer un cierre limpio con START+SELECTal salir de un juego.

Sin embargo, se puede activar una funcionalidad de autoguardado de partidas, para que se guarden las partidas cada x segundos. Para ello, se puede hacer desde el menú de configuración de RetroArch o desde una terminal, editando el archivo /opt/retropie/configs/all/retroarch.cfg y descomentando la línea que pone autosave_interval y estableciéndolo al número de segundos (por ejemplo, 60) en los que hará el autoguardado.

También se puede configurar para que cargue las partidas guardadas automáticamente (savestate_auto_save), se guarden en una ruta específica, o colocar atajos de teclado para guardar/cargar una partida, que luego se pueden mapear a un botón del gamepad para configurarlo.

10. Jugar por Internet con otra mini consola

Al tener una Raspberry Pi conectada a Internet, existe la posibilidad de jugar partidas online con otros usuarios que tengan la consola Raspberry Pi (o RetroArch para Windows, por ejemplo) y el mismo juego. Para ello, hay que cumplir los siguientes puntos:

  1. Sólo se puede jugar con un emulador soportado por RetroArch (los que empiezan por lr-).
  2. Ambos jugadores deben tener la misma versión de RetroArch.
  3. Ambos jugadores deben tener el mismo emulador.
  4. Ambos jugadores deben tener exactamente la misma ROM (juego).
  5. Obviamente, el juego debe permitir jugar, como mínimo, con 2 players.

Para jugar utilizaremos el modelo cliente-servidor, por lo que uno de los jugadores debe ser el servidor (host) y los demás clientes (clients) que se conectan al servidor. Cada jugador debe configurar la sección RetroPie / RetroArch Net Play y colocar sus datos correspondientes:

El jugador que actúa de servidor, debe tener en cuenta que los demás jugadores se conectarán a él y debe tener el puerto específicado abierto en su router (o configurado con UPnP). En la parte superior, en Internal IP aparece la IP de red local y en External IPaparece la IP que tienes en Internet. Establece un nick o apodo (por defecto, aparece RetroPie), y por último, dale a tus amigos la IP externa y el puerto.

Los jugadores que actúen como clientes, deben colocar la IP y el puerto del jugador servidor (para conectarse a él), así como cambiar el nick y establecer spectator mode a OFF, ya que sino sólo verían la partida pero no podrían jugar.

Si no consigues hacer funcionar el sistema online con estas indicaciones, tienes más información en RetroArch Netplay.

11. RetroAchievements (Retrologros)

RetroArch incorpora un sistema denominado RetroAchievements, que es algo así como «RetroLogros». Se trata de un mecanismo de logros para retroconsolas, donde podemos ver un panel de logros, muy similar al de Steam o de Xbox, con los logros conseguidos del juego actual, así como una pantalla que muestra el logro desbloqueado al conseguirlo, que también pueden consultarse en la web de RetroAchievements.

Para activarlo, sólo hay que crearse una cuenta en RetroAchievements.org y colocar nuestros datos (cheevos_username, cheevos_password) en el archivo /opt/retropie/configs/all/retroarch.cfg y activarlo (cheevos_enable = true). De momento, este sistema de logros es compatible sólo con algunos emuladores de NES, SNES, MegaDrive, GameBoy, GameBoy Color y GameBoy Advanced.

12. Cargar shaders para emular televisores CRT

Otra de las ventajas de utilizar emuladores compatibles con Retroarch es que podemos cargar ciertos shaders para modificar la apariencia de nuestros juegos y emular algunos aspectos típicos de los antiguos televisores o monitores CRT, lo que aumentará notablemente la nostalgia al jugar.

Por ejemplo, añadir efectos de scanlines (líneas horizontales visibles en monitores CRT), [blooms/glows](https://en.wikipedia.org/wiki/Bloom_(shader_effect%29) (efectos de luz intensa), emulación de la curvatura de una pantalla CRT o suavizado de píxeles para simular trazados redibujados.

Por aquí tienen algunos ejemplos más de los shaders incluidos en el repositorio de shaders de libretro, con algunas imágenes de ejemplo de como quedaría el resultado final. Estos detalles pueden modificarse y cargarse desde el menú Retropie / Configuration Editor, en la parte de cargar shaders.

13. Emulación de MSDOS (PC)

Como hemos comentado más atrás, es posible instalar en Raspberry Pi el famoso emulador DOSBox mediante el cuál se pueden emular juegos antiguos de MSDOS y adaptarlos a esta consola. De esta forma, ampliamos muchísimo el catálogo de juegos a utilizar en ella.

La mayoría de los juegos de MSDOS están orientados a funcionar con teclado, sin embargo, DOSBox tiene un sistema para mapear mandos o controles y poder utilizar los juegos de forma cómoda con un joystick o gamepad.

Además, también tenemos el emulador ScummVM y Adventure Game Studio, aunque como estos emuladores están más orientados a aventuras gráficas, lo más cómodo sería enchufar un ratón y utilizarlo a modo de mini PC.

14. Retro Media Center con Kodi (antes XMBC)

Aunque no viene instalado por defecto, si accedemos a los paquetes opcionales de RetroPie (ver punto 7), nos encontraremos con uno llamado Kodi (antiguamente llamado XBMC). Se trata de un software media center muy maduro que permite reproducir videos, música, fotos e incluso catalogarlos para mostrarlos de forma sencilla e intuitiva.

Con este sistema (que una vez instalado se encuentra en el apartado Ports del que hablaremos en el siguiente punto) podremos utilizar nuestra retroconsola para ver películas, series o escuchar música cómodamente desde la consola.

Kodi dispone de múltiples addons para todo tipo de funciones, desde ver videos de Youtube o Vimeo hasta consultar el tiempo, pasando por instalar juegos o emisoras de radio para escuchar.

15. Ports

Por último, y no por ello menos importante, RetroPie engloba dentro de Ports un listado de juegos y programas de otras plataformas que han sido trasladados a Raspberry Pi. En ella nos podemos encontrar grandes juegos como Cave Story (Doukutsu Monogatari), un juego gratuito de plataformas pixel art (2004) que destaca por lo bonito y cuidado en todos sus aspectos.

También puedes encontrar ports de famosos shooters como Eduke32 (Duke Nukem 3D), ZDOOM (DOOM), Tyrquake (QUAKE), Wolfenstein3D, o una divertidísima versión multijugador de Super Mario, llamada Super Mario War (SMW).

Dentro del apartado experimental nos encontramos ports de Baldur’s Gate, Minecraft, OpenTansportTycoonDeluxe, Prince of Persia, SuperTux WarCraft o StarCraft, Micropolis o Lincity (la versión original de Simcity), Commander Keen o incluso Zelda Engine, un emulador de los juegos hechos con el motor open source Solarus.

Los juegos hechos con GameMaker también pueden funcionar bajo Raspberry Pi, muestra de ello es que podemos descargar e instalar las versiones para Raspberry de They need to be fed (Jesse Venbrux), Super Crate Box (Vlambeer) o Maldita Castilla (Locomalito) desde YoyoGames.