Application:Gnuboy

From WebOS Internals
Jump to navigation Jump to search

Setup:

1. Setup Debian.

2. Setup DirectFB.

Some program specific notes about the directfbrc config file:

mode=320x480
primary-layer=00
pixelformat=RGB16  #This needs to be changed from ARGB to RGB16 for accurate gameboy color emulation.
no-vt
no-cursor
bg-color=00000000
hardware

3. Run, outside the chroot:

<source lang="text">/sbin/initctl stop LunaSysMgr #NOTE: THIS WILL KILL THE GUI</source> 4. Run, inside the debian chroot: <source lang="text"> apt-get install -y gnuboy-sdl </source>

Run:

Get into the Debian chroot: <source lang="text"> export SDL_VIDEODRIVER="directfb" export SDL_NOMOUSE=1 sdlgnuboy --scale=2 --density=2 --bind q quit --bind u +up --bind h +left --bind k +right --bind j +down YOURROMFILE.GB </source>

Notes

  • You will have to unzip your gameboy rom in order to work with gnuboy
  • Mappings for the gameboy start and select buttons are not specified in the program launch parameters, but the defaults are enter for start and space for select.
  • If sound is not working for you, try installing the package 'libsdl1.2debian-all' in your debian chroot. To disable sound in the emu, add --sound=0 as a launch parameter.
  • Playability in this emulator is excellent. Gameboy and Gameboy Color games run at full speed.


Launching gnuboy from within Webos

The emulator can be launched from the Mojo Webos Terminal app, which can be downloaded from Preware. The emulator even works with Luna on, meaning you can launch it from the Webos Terminal, and receive calls even when playing a game. However, with Luna on, the Webos gui functions will turn off the screen and go into sleep mode after a period of time, which causes the emulator to crash. This period of time is defined in the Webos 'Screen & Lock' application under 'Turn Off After'. A workaround is to either tap the screen periodically before the screen turns off, use the "disable screen timer" functionality in the Webos app "Mytether", or find some way to set the 'Turn Off After' parameter in 'Screen & Lock' to a higher option than those listed.

Scripts for quick launch

make a script to launch debian, and call it debian.sh. <source lang="text"> mount -o loop /media/internal/debsmall.img /media/cf mount --bind /dev /media/cf/dev mount -t devpts none /media/cf/dev/pts mount -t proc none /media/cf/proc /usr/sbin/chroot /media/cf #Just that easy! </source> then do the command: <source lang="text"> chmod 755 ./debian.sh </source>

then make a script to run the gameboy emulator. call it gameboy.sh <source lang="text"> export ROM=$1 export SDL_VIDEODRIVER="directfb" export SDL_NOMOUSE=1 sdlgnuboy --scale=2 --density=2 --bind q quit --bind u +up --bind h +left --bind k +right --bind j +down $ROM </source> do command: <source lang="text"> chmod 755 ./gameboy.sh </source>

and now you can run gameboy games by running two lines.

1. go to debian script directory <source lang="text"> ./debian.sh </source> 2. go to gameboy script directory, with roms in that directory <source lang="text"> ./gameboy.sh YOURROMFILE.GBC </source>

Video

Video on Viddler

Video on Youtube