Emulador de Snes en GNU/Linux

Noviembre 20, 2008

Aquí va un “mini how-to” para instalar y configurar un emulador de la consola Super Nintendo (o Super Nes, o Super Famicom, o Super Ladrillo) en un sistema GNU/Linux de 32 ó 64 bits. Dedicado a los nostálgicos ;)

Actualmente existen unos cuantos emuladores para esta consola, pero de esos “cuantos” hay dos que destacan por su buen funcionamiento y su compatibilidad con la mayoría de los juegos. Estos son: Zsnes y Snes9X.

Personalmente creo que el Zsnes es más sencillo de manejar y de configurar que Snes9x, ya que viene con interfaz gráfica (GUI), mientras que el otro se utiliza desde la línea de comandos (aunque hay un GUI en GTK, que se puede instalar a parte). Por otra parte, Snes9x funciona tanto en sistemas de 32 bits como de 64 bits, mientras que Zsnes sólo está para los 32 bits, ya que parte del código fuente está escrito en ensamblador (de ahí que para compilarlo haga falta tener instalado ‘NASM‘).

Así que visto lo visto, y para que todo el mundo pueda disfrutar de los juegos, nos vamos a quedar con el Snes9x, sin GUI, que tampoco hace mucha falta. También vamos a ver como configurar un mando (Joystick o Gamepad) USB.

  • Para instalar el emulador simplemente nos vamos a la consola y escribimos:

# aptitude install snes9x-x

* Aptitude o el gestor de paquetes que más te guste, o que uses en tu distro.

  • Ahora para el mando instalamos lo siguiente:

# aptitude install joystick

* Esta es una utilidad para calibrar el Gamepad.

  • Conectamos el mando a un puerto USB y comprobamos si el sistema nos lo ha reconocido. Para eso escribimos:

# ls /dev/input/js*

* Cada vez que conectamos un dispositivo, se crea un fichero en la carpeta /dev/ (devices) o /dev/input/. Con la orden anterior listamos los dispositivos. En la imagen puedes ver lo que ocurre con el dispositivo conectado y desconectado.

Mando detectado / no detectado

detectado / no detectado

  • Ahora calibramos el mando:

# jscal /dev/input/js0

* jscal + la ruta del dispositivo. En la siguiente imagen se puede ver el calibrado de mi mando (un Genius “Maxfire”, de lo más baratero que hay). La línea “Joystick has 2 axes and 8 buttons” significa que el mando tiene un x-axis (horizontal) y un y-axis (vertical) o para que se entienda mejor, izquierda-derecha y arriba-abajo, además de 8 botones.

Calibrado

calibrado

  • Si queremos, también podemos hacer un test para ver si se ha calibrado bien:

# jstest /dev/input/js0

*Esto sirve para ver si funcionan ‘la cruz’ de dirección y los botones. Pulsamos Ctrl + C para salir del test.

  • Seguidamente hay que editar el fichero de configuración del emulador:

# nano /etc/snes9x/snes9x.conf

  • Bajamos hasta la sección [Unix] y añadimos:

EnableJoystick = TRUE
Joydev1 = /dev/input/js0

  • Guardamos el fichero y ya podemos probar un juego. Para esto utilizamos la orden:

# snes9x juego.smc

* juego.smc si estamos en el directorio donde está la ROM del juego. En caso contrario, la ruta completa.

Es posible que el emulador genere algún error relacionado con el modo a pantalla completa. La solución es abrir los juegos como usuario ‘normal’ (no como ‘root’), con lo que no tendremos permisos para ejecutar el emulador a pantalla, pero se nos abrirá una ventana que podremos cambiar de tamaño y maximizar.

Y ya está. Si todo ha salido bien…

sfalpha2

turnandburn

asterixyobelix


* Un tip: Para grabar partidas, usar ‘Shift + Tecla de función’ (f1, f2, etc…) y para cargar, sólo la tecla de función.
Bonus: http://www.romnation.net/srv/roms/snes204.html – Una página con gran cantidad de juegos para descargar.

Que lo disfrutéis :)

Heroes IV y Wine

Noviembre 10, 2008

De todos los juegos de estrategia a los que he jugado, sin duda mis favoritos son los de la saga “Heroes of Might and Magic”. Hace unos años compré el Heroes 4 (para mí, el mejor de la colección) en una oferta que incluía el juego y sus dos expansiones, todo en un DVD. Y como ya no uso Windows, he pensado que esta es la excusa perfecta para probar Wine.

Primero he visitado la página de Wine y he mirado en la lista de juegos soportados. Parece ser que a un usuario le había funcionado, así que he descargado la última versión estable siguiendo las instrucciones de descarga, y lo he instalado y configurado. Después he instalado del juego y… el resultado a la vista está:

heroes4_wine_1

heroes4_wine_2

Me encanta que los planes salgan bien :)