View source for Gnuboy

From Openmoko

Jump to: navigation, search

You do not have permission to edit this page, for the following reasons:

  • The action you have requested is limited to users in the group: Administrators.
  • You must confirm your email address before editing pages. Please set and validate your email address through your user preferences.

You can view and copy the source of this page:

Return to Gnuboy.

Personal tools

Gnuboy.png Gnuboy

An emulator for the handheld gaming all-time bestseller.

Package: no package yet
Tested on: Om 2008.8

Source Code released:

New Version Made by rohezal

There is a new version, with a high (but not very noteable) frameskip. At runs a very decent speed, almost full speed. Sound works and touchscreen works. Its avaible for the gamerunner distro and needs SDL 1.2,. SOmetimes it hangs but when you press the A Button (right upper corner in gamerunner) it will work flawlessly. Sometimes small sound skips appear but then don't appear often.

Install Instructions: copy the content of gnuboy.tar to /usr/games/installed/ copy the content of gnuboy.png to /usr/games/menu/icons/ overwrite wmdrawerrc to menu/wmdrawer/wmdrawerrc copy the content of removethis.gnuboy.tar (.gnuboy folder) to /home/root/.gnuboy/ make a symlink to the gnuboy.rc config file (which should be located in /home/root/.gnuboy/) in /usr/games/installed/gnuboy/

cd /usr/games/installed/gnuboy/ ln -s /home/root/.gnuboy/gnuboy.rc gnuboy.rc

file gnuboy.rc should display: gnuboy.rc: symbolic link to `/home/root/.gnuboy/gnuboy.rc'


What works

When removing the illume keyboard and installing the matchbox-keyboard (See also: Switching_Keyboards) it's possible to use the matchbox keyboard as input method (tested only on 2007.2, please verify). You need to create a ~/.matchbox/keyboard.xml file:

mkdir /home/root/.matchbox
cp /usr/share/matchbox-keyboard/keyboard.xml ~/.matchbox/

PieterC created a profile to this file to change the layout to a game-boy lay-out (browsing the layouts can easily be done by pushing the > butten in the left bottom corner): add this to ~/.matchbox/keyboard.xml:

<layout id="GameBoy">
<space width="500"/>
<key>  <default display="b" action="s"/> </key> 
<key> <default display="a" action="d" /> </key> 
<space width="300"/>
<key> <default display="↑" action="up" /> </key>
<space width="4000" extended="true" />
<key> <default display=">" action="modifier:layout"/> </key>
<key fill="true"><default display="start" action="return"/> </key>
<key> <default display="slt" action="space" /> </key> 
<space width="500" extended="true"/> 
<key> <default display="←" action="left" />  </key>
<key> <default display="↓" action="down" /> </key>
<key> <default display="→" action="right" /> </key>

After untarring gnuboy to the openmoko, you can launch your favorite rom-file by running

./sdlgnuboy --fullscreen=0 --scale=2 pg.gbc

Some work has to be done...

Using the matchbox keyboard is clearly only a temporary solution: we need an input method that works out of the box. Since it uses sdl, we can check out the code of duke3d and simply port it into the put_events() function in the main.c. Some of us tried yet to implement this but no one succeeded to implement it, due to this[1] issue.

When trying to implement the touchscreen as an input device for gnuboy, we won't be able to do multi touching (strike 2 buttons at a time). Since this is mandatory to some games (mostly fighting games) on the gameboy (color), we micht not use the touchscreen for all events. I propose to use the accelerometers as up down left & right, and use the touchscreen as A, B, start & select.

External links that might be interesting

[2] - SDL touchscreen issue

[3] - the source of gnuboy as released in 2001 by Laguna

[4] - sourcecode of duke3d, to steal code from...