Me vienen a la cabeza títulos como Asteroids, Space Invaders, Galaga, Pacman, Moon Cresta, R-Type, Commando, Green Beret, Tetris, Golden Axe, Altered Beast, Outrun, Ghost'n'Goblins, Bomb Jack, Street Fighter, Double Dragon, Donkey Kong, Metal Slug, 1942... La lista parece interminable, y los recuerdos y experiencias afloran como un incansable manantial.
Podemos revivir todos aquellos juegos gracias al emulador de MAME (Multi Arcade Machine Emulator), el cual está disponible de forma gratuita para Windows, MacOS y Linux, en la siguiente URL: http://www.mame.net
Instalación de MAME
En este artículo explicaré cómo instalar el emulador de MAME en Linux, más concretamente para distribuciones basadas en Ubuntu.
Para ello, abriremos la consola de comandos y ejecutaremos el siguiente comando:
sudo apt-get install mame mame-extra mame-tools mess gnome-video-arcade
Recomiendo también instalar la librería SDL (Simple Directmedia Library, https://wiki.libsdl.org/FrontPage), una librería especial multiplataforma diseñado para proveer una capa para acceso a audio, teclado, joystick y hardware via OpenGL y Direct3D, y es utilizada por emuladores de juegos:
sudo apt-get install libsdl2-dev libsdl-ttf2.0-dev
La interfaz de usuario no es muy atractiva que digamos, por lo que ejecutaremos el siguiente comando:
sudo ln -s /usr/share/games/mame /usr/share/games/xmame
Otra interfaz alternativa es ejecutar directamente Gnome Video Arcade desde la consola:
gnome-video-arcade
La primera vez tardará bastante, pues creará una base de datos con todos los juegos instalados, y analizará cada uno de ellos en búsqueda de problemas.
Cuando instales nuevos juegos, puedes reconstruir la base de datos mediante el siguiente comando:
gnome-video-arcade -b
Nota: Si tienes problemas al instalar los paquetes, posiblemente necesitarás configurar previamente los repositorios:
sudo add-apt-repository ppa:c.falco/mame
Configuración previa
Antes de empezar, hemos de crear el directorio de configuración y generar el archivo de configuración mame.ini mediante estos comandos (atención al punto previo a "mame"):
mkdir $HOME/.mame
cd $HOME/.mame
mame -cc
Si editamos el fichero mame.ini veremos una línea con el parámetro rompath, el cual, por defecto, apunta a las siguientes rutas:
/usr/local/share/games/mame/roms;/usr/share/games/mame/roms
Este parámetro indica al emulador de MAME dónde se encuentran los juegos (o ROMS). Podemos dejar estas rutas, pero prefiero una ruta más fácil de recordar, por lo que la he cambiado por:
rompath $HOME/mame/roms
Guardo los cambios realizados y creo dicha ruta con los siguientes comandos:
mkdir $HOME/mame
mkdir $HOME/mame/roms
Por último, en el directorio $HOME/.mame deben existir las siguientes carpetas (si no existen, hay que crearlas):
- cfg
- comments
- diff
- inp
- memcard
- nvram
- roms
- snap
- sta
Configurar el joystick o el gamepad
Si vas a utilizar un joystick o un gamepad para disfrutar de tus juegos, será conveniente saber como instalar el joystick en Linux.El comando lsusb de Linux listará los dispositivos conectados a los puertos USB, para detectar si el joystick o el gamepad está conectado y reconocido.
Con el siguiente comando:
ls -l /dev/input | grep js
Mostrará, de forma secuencial, las conexiones de joystick. Así, el primer joystick será js0, el segundo joystick será js1, y así, sucesivamente.
Si no lo detecta, necesitaremos la herramienta joystick.
En Debian/Ubuntu/Linux Mint:
sudo apt-get install joystick
En Fedora:
su -c 'yum install joystick'
Para que los juegos puedan calibrar el joystick o gamepad, será preciso que configuremos el dispositivo en el directorio correspondiete, para que tenga todos los permisos de escritura y lectura:
sudo chmod 666 /dev/input/js0
sudo chmod 666 /dev/input/js1
Instalar las BIOS de MAME
De fábrica, el emulador de MAME posee un conjunto básico de BIOS, por lo que muchos juegos no funcionarán, y aparecerá un mensaje que vuelve loco a más de uno:The selected machine is missing one or more required ROM or CHD images. Please select a different machine
Hay que recordar que cada máquina era de un fabricante y tenía su propia BIOS. A veces, había juegos con BIOS específicas y requerían de otros sets.
Podemos conocer la lista de BIOS necesarias en la siguiente URL:
http://www.mamedb.com/category/BIOS
Name | Year | Manufacturer | File | Category | Score | |
Acclaim PSX | 1995 | Acclaim | acpsx | BIOS | 7.51 | |
Arcadia System BIOS | 1988 | Arcadia Systems | ar_bios | BIOS | 7.50 | |
Atari PSX | 1996 | Atari | atpsx | BIOS | 3.29 | |
Atlus PSX | 1996 | Atlus | atluspsx | BIOS | 4.08 | |
Baby Phoenix/GV System | 1995 | Konami | konamigv | BIOS | 8.00 | |
Crystal System BIOS | 2001 | BrezzaSoft | crysbios | BIOS | 7.11 | |
DECO Cassette System | 1981 | Data East Corporation | decocass | BIOS | 7.00 | |
Hyper NeoGeo 64 Bios | 1997 | SNK | hng64 | BIOS | 6.95 | |
Max-A-Flex | 1984 | Exidy | maxaflex | BIOS | 7.60 | |
Mega Play BIOS | 1993 | Sega | megaplay | BIOS | 6.62 | |
Mega-Tech | 1989 | Sega | megatech | BIOS | 6.57 | |
Multi Amenity Cassette System BIOS | 1995 | I'Max | macsbios | BIOS | 8.00 | |
Neo-Geo | 1990 | SNK | neogeo | BIOS | 6.83 | |
Nintendo Super System BIOS | 1969 | Nintendo | nss | BIOS | 7.45 | |
PGM (Polygame Master) System BIOS | 1997 | IGS | pgm | BIOS | 7.57 | |
PlayChoice-10 BIOS | 1986 | Nintendo of America | playch10 | BIOS | 6.50 | |
PS Arcade 95 | 1997 | Eighting / Raizing | psarc95 | BIOS | 7.00 | |
ST-V Bios | 1996 | Sega | stvbios | BIOS | 7.26 | |
Super Kaneko Nova System BIOS | 1996 | Kaneko | skns | BIOS | 7.75 | |
System GX | 1994 | Konami | konamigx | BIOS | 5.00 |
Name | Year | Manufacturer | File | Category | Score | |
Taito FX1 | 1995 | Taito | taitofx1 | BIOS | 7.36 | |
Taito GNET | 1997 | Taito | taitogn | BIOS | 8.20 | |
TPS | 1997 | Tecmo | tps | BIOS | 6.45 | |
ZN1 | 1995 | Capcom | cpzn1 | BIOS | 7.90 | |
ZN2 | 1997 | Capcom | cpzn2 | BIOS | 9.00 |
Y descargar las BIOS buscando entre las ROMS de Emuparadise:
http://www.emuparadise.me/M.A.M.E._-_Multiple_Arcade_Machine_Emulator_ROMs/7
También podemos buscar las BIOS necesarias y descargarlas individualmente (vienen empaquetadas y comprimidas en archivos ZIP):
http://www.emulab.it/test/index-bios.php?t=1&order=2&dir=ASC
También lo puedes encontrar aquí:
http://www.emuline.org/topic/692-all-bios-mame
Pero es recomendable buscar una BIOS pack, en el que tendrás todas las BIOS en un único archivo comprimido. En esta URL puedes descargarte la BIOS pack:
http://www.planetemu.net/roms/mame-bios-pack
Una vez descargado, hay que descomprimir el archivo. Aparecerán todas las BIOS estándar disponibles, cada una en un fichero ZIP.
El siguiente paso será copiar todos esos archivos al directorio configurado para las ROMs (en mi caso en $HOME/mame/roms).
IMPORTANTE: Para asegurar el máximo éxito en la ejecución de los juegos, asegúrate que las BIOS son las más actuales. La versión de la BIOS pack debería coincidir con la última versión (o la más aproximada) a la versión del emulador de MAME (ver en la página oficial de MAME). La última versión en Septiembre de 2016 es la v0.178).
Descargar e instalar los juegos
Ahora viene la parte interesante: los juegos.Los juegos para las máquinas recreativas estaban encapsulados en chips de memoria no volátil, es decir, que ya estaban grabados y eran imborrables y no reutilizables. Estos chips eran memorias de sólo acceso, o ROMs. Hay multitud de sitios en los cuales descargar juegos para la MAME. He aquí algunos de ellos:
Emuparadise: http://www.emuparadise.me/M.A.M.E._-_Multiple_Arcade_Machine_Emulator_ROMs/7
Free ROMS: http://www.freeroms.com/mame.htm
Cool ROM: http://coolrom.com/roms/mame
ROM World: http://www.rom-world.com/dl.php?name=MAME
Planet Emu: http://www.planetemu.net/roms/mame-roms
Particularmente, prefiero Emuparadise. Además de tener una colección muy completa, posee una gran información sobre cada ROM, en donde podemos conocer qué BIOS pack mínima es necesaria y qué otras BIOS o CHDs son necesarios para que el juego funcione.
Por ejemplo, si buscamos el juego Ghost'n Goblins (seleccionando la letra 'G' en la parte superior), al bajar hasta la sección "Direct Download Links", además de tener el enlace a la ROM, debajo de éste encontraremos que necesita de una ROM "padre" (o parent ROM) llamada "Ghost'n Goblins (World? set 1)". Sin esta ROM, el juego no funcionará, con el consabido mensaje.
Archivos CHD
Los juegos arcade más modernos, a partir de los años 90, necesitaban muchos más datos para funcionar, y para ello, utilizaban unidades de disco duro, disco láser o CD ROMs. En MAME, Estos juegos necesitan estas unidades comprimidas en archivos CHD, como el Street Figher III.
Para instalar un archivo CHD y poder disfrutar de tu juego, además de la ROM zipeada e instalada en tu directorio ROMS, necesitarás el archivo CHD. Este archivo suele estar zipeado, pero tendrás de descomprimirlo y obtener así el archivo CHD. Una vez obtenido, tendrás que copiarlo en una carpeta con el mismo nombre que el juego, la cual debe estar dentro del directorio ROMS. Así, por ejemplo, en el juego de Street Fighter III, la ROM principal se llama sfiii y el archivo es sfiii.zip. Este archivo se copia a la carpeta ROMS. Este juego posee dos archivos CHD (sf3000.chd y cap-sf-3.chd). Ambos archivos se deben copiar a la carpeta sfiii dentro de la carpeta ROMS.
En Emuparadise, las ROMs de los juegos suelen incluir también los enlaces a sus archivos CHD correspondientes. No obstante, en DOPEROMS podrás encontrar los CHDs que puedas necesitar. El enlace es el siguiente: http://www.doperoms.com/roms/Mame_Chd/S.html
¿Por qué no funcionan algunas ROMS de MAME?
Tranquilo, no eres el único al que le pasa. Intentas lanzar un juego y MAME te dice que faltan algunos ficheros, que el juego no funciona al 100%, que falta alguna ROM...
Intentaré explicar por qué pasa.
Una de las razones es por el cambio de releases de MAME. Si te fijas en Emuparadise, el enlace de descarga de cada ROM viene acompañada de la release o versión de MAME a partir de la cual funciona.
Algunos juegos requieren de su propia BIOS. Esto lo encontrarás en juegos de Neo-Geo, Playchoice-10, Convertible Video System, Deco Cassette, MegaTech, MegaPlay, ST-V Titan u otros. De las BIOS ya hablamos al principio, y se instalan como si fueran ROMs de juegos.
Otra razón es que algunos juegos requieren de CHDs. Como se comentó anteriormente, un CHD es un dispositivo de almacenamiento adicional (disco duro, CDROM, Laser Disc) que necesita el juego. El contenido de este dispositivo es comprimido en un archivo especial llamado CHD, y debe incluirse en el directorio de juego correspodiente.
Algunos juegos son clones de juegos originales, o bien versiones alternativas de dichos juegos. Estos juegos se solapan y modifican propiedades tales como fechas de copyright, bootlegs, etc. Para conocer los juegos clonados, puedes ejecutar desde la consola el comando mame -listclones
De un juego pueden aparecer multitud de versiones. Tanto las versiones como algunos juegos clonados necesitan de una ROM padre (parent ROM), la cual debe estar alojada en el directorio ROMS para que puedan funcionar.
Podemos comprobar si una ROM es correcta mediante el siguiente comando:
mame -verifyroms
Por ejemplo, para verificar el juego Combat School, utilizaremos:
mame -verifyroms combatsc
Si encontrase algún problema, informaría sobre el mismo, indicando qué archivo/s está/n generando dicho problema.
Consejos para descargar ROMs
EmuParadise es una gran base de datos que incluye ROMs de diversas máquinas, en diferentes idiomas y las diferentes versiones que éstas lanzaron. He aquí algunos consejos para no volvernos locos:1) Evitar aquellas ROMs que no vienen acompañadas de una screenshot (pantallazo)
2) Evitar aquellas ROMs que son de máquinas lúdicas, propias de casinos o casas de apuestas. Las reconocderás rápidamente por que, además de venir sin screenshot, en el nombre, entre paréntesis, indican que máquina es. He aquí algunas de ellas: Scorpion, Bellfruit, Maygay, Ace, Empire, Mazooma. Casino, Barcrest, Mdm, Vivid. JPM, SYSTEM5, Bwb, Crystal, Impulse, EPOCH...
3) Evitar aquellas ROMs que sean de máquinas de Pinball. Se reconocen rápidamente porque en la Screenshot aparecerá el texto Pinball.
4) ROMs que funcionan en un alto porcentaje: las de NeoGeo y Deco Cassete (no olvidar tener estas BIOS instaladas), las de Taito
5) Entre varias ROMs, buscar la versión más alta o bien la ROM padre
6) Fijarse bien si necesita de otras ROMs o de CHDs. En tal caso, descargar también éstas
7) Hay muchos clones de juegos originales. Desde luego, si utilizas solamente el original, te evitarás tener varios juegos clonados, a no ser que el clon sea algo diferente del original y te guste.
8) Entre varios lenguajes, te recomiendo descargar la inglesa (US o USA) o la internacional (World)
9) Los ROMs de tipo "bootleg" son ediciones no autorizadas que se hacen pasar como originales. Por tanto, puedes ahorrarte esta descarga