viernes, 8 de septiembre de 2006

Vicio en Linux: GameBoy Advance

Este es el primero de varios artículos dedicados al software lúdico, no sólo para Linux, si no también para Windows, aunque para diferenciarlos pondré el sistema operativo sobre el cual trabajar. Rescataré del baúl de los recuerdos muchos juegos antiguos, y cómo volver a jugar con ellos a pesar de utilizar otra máquina y otro sistema.

En esta ocasión lo haremos con las consolas Nintendo Gameboy Advance bajo un sistema operativo Linux. Para empezar, comentar que da igual qué distribución y qué escritorio de Linux se trate, siempre y cuando tenga X11 funcionando. En mi caso, he utilizado OpenSuse 10.1 con KDE, pero, como he dicho antes, no importa si utilizas RedHat, Ubuntu o Mandriva, o si utilizas Gnome o KDE.

El emulador utilizado es VisualBoy Advance, que puede emular esta maravillosa consola tanto en Windows, como en Linux, como en BeOS, como en MacOS X.

Para acceder a la página oficial de VisualBoy Advance, hacer click en el siguiente enlace:

http://vba.ngemu.com/

A continuación, hacer click en el enlace Downloads. Aparecerá las distintas versiones de este emulador para cada una de las plataformas.


En nuestro caso, buscaremos la versión más reciente para Linux (en nuestro caso, la versión 1.7.1. para Linux - SDL - glibc22), y hacemos click en el enlace correspondiente Download. Nos redirigirá al site SourceForge, que es un repositorio internacional de proyectos con licencia de software libre, como es VisualBoy Advance. Elegimos el mirror que más nos interese y descargamos el fichero comprimido. En nuestro caso, se llamará VisualBoyAdvance-1.7.1-SDL-linux-glibc22.tar.gz

Una vez descargado descomprimimos este archivo (desde Konqueror o Nautilus se puede hacer con el botón derecho + Extraer) en un directorio. En dicho directorio se encontrarán los siguientes archivos: COPYING, NEWS, README, VisualBoyAdvance y VisualBoyAdvance.cfg.

Ahora nos resta solamente descargar cualquier juego de las múltiples páginas web dedicadas a proporcionar ROMs para la GBA (GameBoy Advance), descomprimirlos, y copiar el archivo .gba al mismo directorio donde se descomprimió VisualBoy Advance. Como consejo, recomiendo crear aqui dentro una carpeta llamada ROMS, y depositar aquí los juegos.

Una vez tenemos VisualBoy Advance y algún juego, acceder mediante la consola a este directorio, y ejecutar el juego mediante:

$ ./VisualBoyAdvance [-opciones] ruta/nombrejuego.gba


Las opciones disponibles son:

options:
-1 , --video-1x 1x
-2 , --video-2x 2x
-3 , --video-3x 3x
-4 , --video 4x 4x
-F , --fullscreen Full screen
-G , --gdb=PROTOCOL GNU Remote Stub mode:
tcp - use TCP at port 55555
tcp:PORT - use TCP at port PORT
pipe - use pipe transport
-N , --no-debug Don't parse debug information
-S , --flash-size=SIZE Set the Flash size
--flash-64k 0 - 64K Flash
--flash-128k 1 - 128K Flash
-T , --throttle=THROTTLE Set the desired throttle (5...1000)
-Y , --yuv=TYPE Use YUV overlay for drawing:
0 - YV12
1 - UYVY
2 - YVYU
3 - YUY2
4 - IYUV
-b , --bios=BIOS Use given bios file
-c, --config=FILE Read the given configuration file
-d , --debug Enter debugger
-f , --filter=FILTER Select filter:
--filter-normal 0 - normal mode
--filter-tv-mode 1 - TV Mode
--filter-2xsai 2 - 2xSaI
--filter-super-2xsai 3 - Super 2xSaI
--filter-super-eagle 4 - Super Eagle
--filter-pixelate 5 - Pixelate
--filter-motion-blur 6 - Motion Blur
--filter-advmame 7 - AdvanceMAME Scale2x
--filter-simple2x 8 - Simple2x
--filter-bilinear 9 - Bilinear
--filter-bilinear+ 10 - Bilinear Plus
--filter-scanlines 11 - Scanlines
--filter-hq2x 12 - hq2x
--filter-lq2x 13 - lq2x
-h , --help Print this help
-i , --ips=PATCH Apply given IPS patch
-p , --profile=[HERTZ] Enable profiling
-s , --frameskip=FRAMESKIP Set frame skip (0...9)
-t , --save-type=TYPE Set the available save type
--save-auto 0 - Automatic (EEPROM, SRAM, FLASH)
--save-eeprom 1 - EEPROM
--save-sram 2 - SRAM
--save-flash 3 - FLASH
--save-sensor 4 - EEPROM+Sensor
--save-none 5 - NONE
-v , --verbose=VERBOSE Set verbose logging (trace.log)
1 - SWI
2 - Unaligned memory access
4 - Illegal memory write
8 - Illegal memory read
16 - DMA 0
32 - DMA 1
64 - DMA 2
128 - DMA 3
256 - Undefined instruction
512 - AGBPrint messages

Long options only:
--agb-print Enable AGBPrint support
--auto-frameskip Enable auto frameskipping
--ifb-none No interframe blending
--ifb-motion-blur Interframe motion blur
--ifb-smart Smart interframe blending
--no-agb-print Disable AGBPrint support
--no-auto-frameskip Disable auto frameskipping
--no-ips Do not apply IPS patch
--no-mmx Disable MMX support
--no-pause-when-inactive Don't pause when inactive
--no-rtc Disable RTC support
--no-show-speed Don't show emulation speed
--no-throttle Disable thrrotle
--pause-when-inactive Pause when inactive
--rtc Enable RTC support
--show-speed-normal Show emulation speed
--show-speed-detailed Show detailed speed data


Un ejemplo sería:

./VisualBoyAdvance -2 --throttle=500 roms/cars.gba


El parámetro
-2
se refiere al tamaño de la pantalla, en este caso, el doble del tamaño real (ver capturas).

El parámetro
--throttle=500
se refiere a la aceleración o velocidad a la que se ejecuta el juego. El valor es un número entre 5 y 1000, y dependerá de la velocidad de tu máquina.

Las teclas usuales son:


Intro Tecla "Start"
Z Tecla "A" del pad
X Tecla "B" del pad
Esc Salir del juego y del emulador


Espero que paséis horas de diversión con este fantástico emulador y los cientos de juegos que existen para esta maravillosa consola.



Enlaces

Página oficial de VisualBoy Advance: http://vba.ngemu.com/

Páginas de Juegos

PD Roms
Zona Emu
Emulanium