New Update: July 11th Please Read:
The GTK GUI has been recompiled and re-adjusted to run on the N900 by javispedro, and he has kindly added it to the repos. There are several issues with it... however for basic tasks it is stable enough. If you have stability issues with this version, you can still run it from the command line as before... just add a --nogui to the line. It is running the same version I have had posted in this thread as they are both simply ports of the current version being worked on for the Pandora.
Note: This is a development application and neither myself, javis... or the homeless guy on the corner... is responsible if you break your phone. That aside we'll be happy to help if something does happen.
The original intention of this thread was a guide to getting a command line, older, version of the emulator running on the N900... but is now obsolete... so I have reworked it with optimized settings and configuration files to enable faster emulation and better default controls. This should add support for the PS3 controller, as well as rudimentary explanation for getting Accelerometer gameplay (very fun with F-Zero X or Mario Kart 64... and do-able with Super Mario 64 and other RPGs :P)
I
did not design any part of this emulator, all development is being done for the Pandora, only thing that has been changed is slight modifications to the GUI along with a recompile to run under Maemo by
javispedro. Once again... me nothing... Pandora everything... javispedro recompile with GUI. Do not bother to report bugs here unless you are certain they are Maemo specific... and if you don't bother to read these first 2 pages do not bother to post as I will no longer be answering stupid questions.
If you are updating to this version from my old command line versions, please issue the following in xterminal before installing:
Code:
# This will also remove saves and screenshots, please read below if you want to save them.
rm -R .mupen64plus
To keep save states:
Code:
cp -R .mupen64plus/save .
rm -R .mupen64plus
mv save .mupen64plus/
http://www.youtube.com/watch?v=eEDi0hHKxf8
http://i2.ytimg.com/vi/eEDi0hHKxf8/hqdefault.jpg
On to the optimized settings and configs.
Currently, I've added settings for exiting the emulator with Q, enabled frameskip, disabled framebuffer and increased the resolution (This removes jagged edges and fixes a lot of issues with 2D images). I've also got my own keyboard configuration with keys already mapped for both keyboard and PS3 controller.
To install my config files, you can either install mupen64plus from Extras-Devel before or after these steps... it really shouldn't matter.
Now download the following file from the phone and save to your main directory:
Custom Config
Open up a terminal and issue the following:
Code:
mkdir .mupen64plus (If you haven't run mupen64plus GUI yet)
cd .mupen64plus
tar zxf /home/user/MyDocs/customconfig.tar.gz
Your done! Start the emulator.
Keyboard map is below:
z = R
x = A
c = B
v = L
Space = Z
Enter = Start
Arrow Keys = Dpad
IJKL = Joystick
TFGH = C buttons
q = Quit the emulator
p = Pause the emulator
Also of note:
Frameskip is set to 2.
Framebuffer is disabled and resolution is 800x480
Memory Pak is enabled
Audio is disabled as it sounds terrible.
__________________________________________________ ___
For PS3 Sixaxis Support
Simply open the Input Settings (After syncing the PS3 controller as per Smoku's instruction) and tap the bar at the top of the screen (It'll say Keyboard or None) until PS3 Controller shows up.
http://i26.tinypic.com/15x89u.jpg
The issue at the moment is this may make ugly things happen as Smoku's application also causes the buttons on the controller to emulator Key Presses, this can be resolved as follows (need rootsh installed):
Code:
root
cd /usr/share/hal/fdi/policy/20thirdparty/
mv 20-x11-sony-sixaxis.fdi 20-x11-sony-sixaxis.fdi.bak
Note that this will stop keyboard buttons working for the PS3 controller, to change it back just do the reverse:
Code:
# To change back to work with other programs
root
cd /usr/share/hal/fdi/policy/20thirdparty/
mv 20-x11-sony-sixaxis.fdi.bak 20-x11-sony-sixaxis.fdi
I'd generally recommend against changing individual buttons in this release as the input plugin detects the first button push when trying... and with the sensitivity of accelerometer, it will detect the "joystick" moving first every time... and you will end up with axis' assigned to buttons: This becomes even more difficult given the way to erase this is to press a button that is not available on the N900 keyboard (delete).
For multiple controller support a very nice guide has been written up here thanks to jschan:
http://talk.maemo.org/showpost.php?p...&postcount=811
Key Map:
Left Joystick = Joystick
Dpad = Dpad
Right Joystick = C Buttons
X = A
[] = B
O = C Down
/\ = C Left
Start = Start
L1 = Z
R1 = R
R2 = L
________________________________________________
To get accelerometer support
Install Accelemymote from extras-devel repository. Once installed, restart the phone. Open Accelemymote from the menu and then start mupen64plus. In the Input Settings configuration you'll need to tap the Keyboard button at the top (it may say None as well.. its at the top, dead-center of the screen) until Accelemymote shows up (See the image above for PS3 instruction..
This now means the joystick input will be accepted from the accelerometer.
I'd generally recommend against changing individual buttons in this release as the input plugin detects the first button push when trying... and with the sensitivity of accelerometer, it will detect the "joystick" moving first every time... and you will end up with axis' assigned to buttons: This becomes even more difficult given the way to erase this is to press a button that is not available on the N900 keyboard (delete).
http://www.youtube.com/watch?v=DKtUY-PPJEs
http://i1.ytimg.com/vi/DKtUY-PPJEs/hqdefault.jpg
TROUBLESHOOT
Some additions of my own:
- I receive XXXX error
If you recieve unresolvable errors: Read what they tell you and think. If that still doesn't work, uninstall and reinstall with the following commands (rootsh is needed):
Code:
root
dpkg --purge mupen64plus-arm-gui mupen64plus-arm mupen64plus-arm-gles2n64
apt-get install mupen64plus-arm-gui mupen64plus-arm mupen64plus-arm-gles2n64
- SIGSEV type error:
Close the GUI and re-open. If this does not fix it either your ROM is corrupted (grab a new one from elsewhere) or the game simply does not run.