NOTE: As of 2009/9/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.
- Video of game being played
- Video of games being played. Launched from Webos
- Unmodified version of image @ right
1. Type the following in a Debian chroot, as root:
apt-get install bzip2 gcc g++ scons libsdl1.2-dev libsdl1.2debian-esd liblua5.1-dev zlib1g-dev zenity
2. Download the source.
wget "http://softlayer.dl.sourceforge.net/project/fceultra/Source 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:
5. Compile the program from source by typing the following:
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:
mode=320x480 scaled=320x480 #Insert this line to run games at full screen at the sacrifice of framerate. primary-layer=00 pixelformat=ARGB no-vt no-cursor bg-color=00000000 hardware
6. Run the following command:
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'. 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"a, or use the "More Standby Times" patch that can also be applied using Preware (original patch notes available here.
notes on speed
Some things that might help with speed and playability:
- Overclock your pre. See Patch_webOS_CPU_Frequency_or_Voltage_Scaling
- Experiment with different --frameskip values
- disable scaling in directfbrc