From WebOS Internals
Jump to navigation Jump to search

NOTE: As of 2009/09/17, Directfb 1.2, SDL 1.2, and FCEUX 2.1.1 have ipks that can be installed using Preware! PuffTheMagic 16:09, 17 September 2009 (UTC)

Nintendo emulation is now possible without having to run "Classic" for WebOS. Simply compile FCEUltra from within a Debian chroot.



1. Type the following in a Debian chroot, as root:

apt-get update
apt-get install bzip2 gcc g++ scons libsdl1.2-dev libsdl1.2debian-esd liblua5.1-dev zlib1g-dev zenity

2. Download the source.

wget " Code/2.1.2 src/fceux-2.1.2.src.tar.bz2"

3. Extract the bz2 using bunzip2, then extract the tar by typing the following:

bunzip2 fceux-2.1.2.src.tar.bz2
tar xvf fceux-2.1.2.src.tar

4. Switch to the source path:

cd /fceu

5. Compile the program from source by typing the following:

scons install

When done compiling, the program is copied to /usr/local/bin. When you first load the application, a configuration directory is created in your $HOME path. Modify this file as needed. Using the instructions here, install and configure directfb. Some program specific notes about the directfbrc config file:

scaled=320x480  #Insert this line to run games at full screen at the sacrifice of framerate.

6. Run the following command:

export SDL_VIDEODRIVER='directfb'

7. Run the following command to configure the key mappings:

fceux --inputcfg gamepad /usr/games/<insert favorite nes.rom>

8. Outside the Debian chroot, type the following command to shutdown the LunaSysMgr:

/sbin/initctl stop LunaSysMgr #NOTE: THIS WILL KILL THE WEBOS GUI.

9. Play your favorite games by typing the following command:

fceux --sound 0 --bpp 8 --frameskip 2 /usr/games/<insert favorite nes.rom>

10. When finished playing, you can re-enable the LunaSysMgr by typing the following outside the Debian chroot:

/sbin/initctl start LunaSysMgr

Launching 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. To exit games when playing like this, press the orange button to return to normal WebOS function.

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". The workarounds are to tap the screen periodically before the screen turns off, use the "disable screen timer" functionality in the Webos app "Mytether"a, or use the "More Standby Times" patch that can also be applied using Preware (original patch notes available here.

Notes on playability

Works with most games. Some things that might help with speed: