Difference between revisions of "Nintendo"

From WebOS Internals
Jump to navigation Jump to search
m
 
(24 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
[[Image:Nintendo.png|right]]
 
[[Image:Nintendo.png|right]]
  
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! [[User:PuffTheMagic|PuffTheMagic]] 16:09, 17 September 2009 (UTC)
+
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! [[User:PuffTheMagic|PuffTheMagic]] 16:09, 17 September 2009 (UTC)
  
Nintendo emulation is now possible without having to run "Classic" for WebOS. Simply compile [http://fceux.com/web/htdocs/download.php FCEUltra] from within a Debian chroot.
+
Nintendo emulation is now possible without having to run "Classic" for WebOS. Simply compile [http://fceux.com/web/download.html FCEUltra] from within a Debian chroot.
  
= Demos=
+
= Demos =
 
* [http://www.youtube.com/watch?v=lYxAEEHsmeE Video of game being played]
 
* [http://www.youtube.com/watch?v=lYxAEEHsmeE Video of game being played]
 +
* [http://www.youtube.com/watch?v=agBx8PHzW-k Video of games being played. Launched from Webos]
 
* [http://i40.tinypic.com/157fc45.png Unmodified version of image @ right]
 
* [http://i40.tinypic.com/157fc45.png Unmodified version of image @ right]
* [http://www.bestessays.ca/custom_research_paper.php research paper]
 
  
= Installation=
+
== Installation ==
  
 
1. Type the following in a [[Debian]] chroot, as root:
 
1. Type the following in a [[Debian]] chroot, as root:
 +
<pre><nowiki>
 +
apt-get update
 +
apt-get install bzip2 gcc g++ scons libsdl1.2-dev libsdl1.2debian-esd liblua5.1-dev zlib1g-dev zenity
 +
</nowiki></pre>
  
 +
2. Download the source.
 
<pre><nowiki>
 
<pre><nowiki>
apt-get install bzip2 gcc g++ scons libsdl1.2-dev libsdl1.2debian-esd liblua5.1-dev zlib1g-dev zenity
+
wget "http://softlayer.dl.sourceforge.net/project/fceultra/Source Code/2.1.2 src/fceux-2.1.2.src.tar.bz2"
 
</nowiki></pre>
 
</nowiki></pre>
  
2. Extract the bz2 using bunzip2, then extract the tar by typing the following:
+
3. Extract the bz2 using bunzip2, then extract the tar by typing the following:
  
 
<pre><nowiki>
 
<pre><nowiki>
bunzip2 fceux-2.1.0a.src.tar.bz2
+
bunzip2 fceux-2.1.2.src.tar.bz2
tar xvf fceux-2.1.0a.src.tar
+
tar xvf fceux-2.1.2.src.tar
 
</nowiki></pre>
 
</nowiki></pre>
  
3. Switch to the source path:
+
4. Switch to the source path:
  
 
<pre><nowiki>
 
<pre><nowiki>
Line 31: Line 36:
 
</nowiki></pre>
 
</nowiki></pre>
  
4. Compile the program from source by typing the following:
+
5. Compile the program from source by typing the following:
  
 
<pre><nowiki>
 
<pre><nowiki>
Line 38: Line 43:
  
 
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.
 
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.
5. Using the instructions [[directfb | here]], install and configure directfb.
+
Using the instructions [[directfb | here]], install and configure directfb. Some program specific notes about the directfbrc config file:
 
 
Add autoflip-window to the directfbrc file, so it looks like the following:
 
  
 
<pre><nowiki>
 
<pre><nowiki>
 
mode=320x480
 
mode=320x480
scaled=320x480
+
scaled=320x480 #Insert this line to run games at full screen at the sacrifice of framerate.
 
primary-layer=00
 
primary-layer=00
 
pixelformat=ARGB
 
pixelformat=ARGB
Line 51: Line 54:
 
bg-color=00000000
 
bg-color=00000000
 
hardware
 
hardware
autoflip-window
 
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 75: Line 77:
  
 
<pre><nowiki>
 
<pre><nowiki>
fceux --sound 0 --bpp 8 /usr/games/<insert favorite nes.rom>
+
fceux --sound 0 --bpp 8 --frameskip 2 /usr/games/<insert favorite nes.rom>
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 83: Line 85:
 
/sbin/initctl start LunaSysMgr
 
/sbin/initctl start LunaSysMgr
 
</nowiki></pre>
 
</nowiki></pre>
 +
 +
== Launching from within WebOS ==
 +
 +
The emulator can be launched from the Mojo WebOS [[Application:Terminal|Terminal]] app, which can be downloaded from [[Preware|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|Preware]] (original patch notes [[Patch_webOS_Changing_the_"Turn_off_after_X"_time| available here]].
 +
 +
== Notes on playability ==
 +
 +
Works with most games. Some things that might help with speed:
 +
 +
* Overclock your Pre. Use at your own risk. See [[Patch_webOS_CPU_Frequency_or_Voltage_Scaling]].
 +
* Experiment with different <code>--frameskip</code> values.
 +
* Comment out or remove the <code>scaled=</code> line in directfbrc.

Latest revision as of 12:27, 4 September 2011

Nintendo.png

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.

Demos

Installation

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 "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:

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:

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:

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: