PDA

View Full Version : Snes Super Nintendo Emulator on 770


ArnimS
2007-04-10, 07:40
Well i spent all night on it, but finally figured out how to build snes9x for the nokia 770.

It's still pretty far from done - haven't gotten sound working yet.

But check this out -
http://home.arcor.de/arnim.sauerbier/770_snes9x_pacman.jpg

That's the welcome screen from the public domain pacman game hosted at zophars doman. Running at 2x doubled (software, not xsp) mode.

And what's that at the bottom? Yes it's not a photoshop. It's 60 fps!!! (edit) That intro page is running smoothly (20+ fps), but the fps display appears to be calculating incorrectly. In particular some other games are poking along at only a few fps. Much testing (tasting) is needed. :)

Rocketman
2007-04-10, 07:50
Pity Nokia never included some buttons on the right side of the device. I've always felt Nokia overlooked the 770/N800's potential as a gaming platform. The N800 in particular has a lot of blank bezel space on the right side.

konttori
2007-04-10, 09:06
So,... Will e.g. super mario run at 20 fps? Also, would it make sense to keep to a bit lower rez and put the four buttons on the left side of the screen?

ArnimS
2007-04-10, 09:17
So far average fps with 2x scaling has been around 8-10 fps.

(edit) Testing with freeware roms from:

http://www.zophar.net/roms.phtml?op=show&type=snes

Columns is playable, of course it doesn't need fast animation.

GeeZuZz
2007-04-10, 16:31
This looks really great. :)

It's funny though, how hard it is to emulate - the SNES had a 3.7Mhz CPU if i'm not wrong :P

ArnimS
2007-04-10, 18:25
This looks really great. :)

It's funny though, how hard it is to emulate - the SNES had a 3.7Mhz CPU if i'm not wrong :P

You're right that the CPU isn't very fast, but SNES emulators have to emulate a system, not just one cpu.

SNES Hardware Specs
CPU Type: 65816 16-bit: 2.68 / 3.58 Mhz
16-bit Picture Processing Unit
MEMORY RAM: 1 Mbit (128 Kbyte)
Video RAM: 0.5 Mbit (64 Kbyte)
Cart Size's: 2 Mbit - 48 Mbit
DISPLAY Max Resolution: 512 x 448 pixels
Colors: 32,768 colors Max Colors at Once: 256
Max Sprite Size: 64 x 64 pixels
Max Sprites: 128 sprites
SOUND Sound Chip: 8-bit Sony SPC700, Sound Channels: 8
FEATURES Mode 7
2 Controller ports

The speed of emulated games is vastly different depending how they make use of the PPU (Picture Processing Unit). In the screenshot above the background to the title screen is scrolling absolutely smoothly (maybe 30+ fps) but other apps that make heavier use of the PPU run 3-5 times slower.

torx
2007-05-26, 02:24
I am really lookin forwrd to this but until the speed increases, it's gonna be another visualboyadvance.

konttori
2007-05-26, 08:35
Speed increase is entirely doable. It's probably just the need for people to have incentive to make such performance improvements. I think that ArnimS should make a deb of the snes emulator and patch up a python (or c) front end to it quickly. When I tested it, it was completely playable for the game I tried it on.

OTOH: The dpad in n800 is so bad that you can't use it in any games anyway (no, not even in rpgs, unless you want to have a cramp in your hand in 20 minutes). I do appreciate the fact that Nokia is deliberately trying to focus this thing as a web pad, but come on, as there is a dpad anyway, they might just as well make it a good one.

OTOH: If you have a BT keyboard, playing emus should rock!

ArnimS
2007-05-28, 13:35
Hi konttori,

you're absolutely right about the dpad. As many others have observed it is just not good for extended use or fast input.

I find Snes9x too slow for most games and without sound, It's not enjoyable anyway. There are other SNES emulators from the gp2x world (http://wiki.gp2x.org/wiki/Software_Directory) that should be truly playable on 770 and 800, but they are not a simple compile and build.

vims
2007-06-20, 12:54
Any news?

I've recently bought Controllers for my old SNES on Ebay and play Super Mario World all day.
It would be VERY cool to take it with me on my 770. ;)

bac522
2007-06-20, 13:15
Pity Nokia never included some buttons on the right side of the device. I've always felt Nokia overlooked the 770/N800's potential as a gaming platform. The N800 in particular has a lot of blank bezel space on the right side.

It baffles me when people make this statement. The product is specifically designed for use with the internet hence the moniker "IT". Why add unnecessary cost and support issues with supporting games when Sony and Nintendo already do that quite well...

Don't get me wrong, its great to see people developing platforms that can run games when I can't connect to the internet, but overall it was never meant to be a gaming platform.

ArnimS
2007-06-23, 13:21
Adding two buttons on the right hand side of the device and using a slightly different dpad design would not have significantly impacted cost.

It is true that the target application was for an internet tablet. However, the device is a *computer*; a von-neumann machine. Given the decent speed and an excellent screen, there's no technical reason why it couldn't also have been designed to adequately accomodate games.

Computer enthusiasts will always react negatively to design decisions that arbitrarily constrain usability.

---
(edit) As Tak has shown with FCEU, adding touchscreen buttons to the right hand side is a workable solution. I'm close to finishing this mod for UQM, but it handles input in a confusing way. Please see the DrPocketSnes thread in the Developers section if you can help port applications. That emulator should be able to run SNES games with sound at playable framerates. // cheers

buchinho
2007-08-04, 09:22
any news on the snes front? Did you make a package ready for the 770 to check it out?

fredoll
2007-08-04, 11:46
I recall seeing a bluetooth gamepad for use with phones ... yes it's here : http://shop.brando.com.hk/prod_detail.php?prod_id=01384&dept_id=058&cat_id=303
Did anyone tried it with the IT ?
I suppose it could enhance greatly the gameplay ?
Fred

konttori
2007-08-05, 19:15
I would recommend testing also using direction pad on the right in the screen. a screen based dpad can detect middle directions as well and it should be possible (although not easy) to make a virtual dpad that is really easy to use. Jut put your finger on the screen and the system should be able to detect small pressure changes to up, down, left, right and middle directions. Might be worth a look / test.

ArnimS
2007-08-08, 04:28
I would recommend testing also using direction pad on the right in the screen. a screen based dpad can detect middle directions as well and it should be possible (although not easy) to make a virtual dpad that is really easy to use. Jut put your finger on the screen and the system should be able to detect small pressure changes to up, down, left, right and middle directions. Might be worth a look / test.

Interesting idea, but user will have no tactile feedback about where on screen the center of the virtual dpad is, so it would have to work like a touchpad. Constant contact and movement would indicate a direction press, but for how long? As long as movement lasts? Or after directional threshold is exceeded and until thumb is released?\

It might be possible but implementation is not simple.

konttori
2007-08-09, 07:02
it would have to give the user a visible clue on the detection. And yes, it would have to record the 'centerpoint' at the time of the finger down event. Then the finger should be kept pressed. There should be a button area which would make the initial record. It would work as long as user keeps pressing finger to that direction. When the centerpoint (or centerpoint + threshold) is reached, the system would deduce that user is not pressing to any direction and thus no keys should be activated.

iball
2007-08-09, 07:11
Hmm...the iPhone hackers have already made an NES emulator for it and it uses a virtual controller so in theory it's possible on the N800 as well.
Of course, in theory I should be a billionaire.

3xternal
2008-03-19, 07:16
How do I go about installing this? I know there is no sound, but playing Secret of Mana has me psyched!

unique311
2008-03-19, 07:23
Just get wiimote and do a search for cwiid.
using my wiimote with a couple of emulators.
works really great.

3xternal
2008-03-19, 12:59
unique, I was talking about arnim's SNES9x. (thanks anyway!)

svs57
2008-04-04, 16:27
Sorry for stupid question:
How start snes9x in full screen mode?
I see only small game image in left upper coner of window.

konttori
2008-05-04, 17:02
wiicontrol supports the snes emu pretty nicely:
http://konttoristhoughts.blogspot.com/2008/05/wiicontrol-for-nokia-n810-n800.html

valia
2008-05-10, 13:23
I have an N800. Is there a download link for the SNES emulator for it? Also, where do I find the games? It would be great to play a Mario type game. I do not have any controllers or a bluetooth keyboard, so it would have to be a game that I could play solely on the N800.

Thank You!

Thesandlord
2008-05-11, 01:05
@valia: I don't THINK that there is a way to play on the N800 without a keyboard or wii remote. This is because there are no touch buttons. If you still want to try it, Snes9x has been out on Arnim's website for a LONG time, along with a lot of other great softs.

Ok, This is the "easy" way to do it. There are a lot of much simpler ways to do this via xTerm, but if you can do that, you don't need this guide.

1) install becomeroot or easyroot (now recommend rootsh)

2) install emelfm2 -->emelfm2 download and tips http://www.internettablettalk.com/forums/showthread.php?t=18462

3) Download the snes9x from http://pupnik.de/snes9x_15_pupnik.tgz (do this on the tablet)

4) Save the file to you memory card ( anywhere is fine, but for the sake of the tutorial, we will be using the internal slot)

5) Open xTerm, type in "sudo gainroot" for becomeroot (without quotes) or "root" for easyroot (without quotes).

6) type "emelfm2" (without quotes)

7) WARNING: you are running as root, which means you can $@^& up your system if you do somthing wrong ( Don't worry to much though)

8) Now, on the emelfm2 window, navigate to /media/mmc2/ (internal card) or /media/mmc1/ (external card) or /home/user/MyDocs/ (System memory)

9) Double click the snes9x_15_pupnik.tgz file that you downloaded. It should have extracted snes9x and snes9x_opt2

10) Now open up a new xTerm, and type "sudo gainroot" or "root" (without quotes) and "chmod a=rwx /media/mmc2/snes9x" and "chmod a=rwx /media/mmc2/snes9x_opt2" (without quotes on both) You may have to change the path if you downloaded it to a different place. EDIT: Try moving it to /usr/bin/ FIRST

11) Open up emelfm2 again ( like steps 5 and 6), or use the old one (must have root power) (lol, root power ftw)

12) move both of the files to /usr/bin/ (you could also use xTerm for this)

13) You now have a working snes EMULATOR!!!!! But its only command line.....

14) BUT DON'T FEAR! I made a GUI a long time ago because I was sick of the command line!

15) Check this out ---> http://www.internettablettalk.com/forums/showthread.php?t=6954&page=3

16) Scroll down to my post, and download the PySnes.txt attachment

17) Rename the PySnes.txt to PySnes.tar (no, im not gonna re-upload as zip or rar, though someone else can). Then double click the file to extract the pysnes and PySnes.desktop

18) Using the same method to move files, move PySnes.desktop to /usr/share/applications/hildon/ and pysnes to /usr/bin/

18.5) Ok, looks like you have to do this extra step in Xterm:

type: chmod a=rwx /usr/bin/pysnes

and maybe

type: chmod a=rwx /usr/share/applications/hildon/PySnes.desktop

19) Ok, if all went well, you should have a new program in your "extras" folder.

20) Wow, this took 20 steps.... not that easy I guess. You are DONE!!!

With this GUI, you can run the game in small screen or full screen. If you have trouble selecting files because you have to navigate a lot of directories, thats probably because the path is hard-coded to where my files are. You can change this, but I really think it makes no difference...

Enjoy!

konttori
2008-05-12, 12:05
Perhaps someone could package snes and put it to garage.

3xternal
2008-05-13, 17:29
I can inly get the GUI to work by running ut from xterm, the shortcut does't work. Also, what about a control scheme for the N800?

Please help.

Thesandlord
2008-05-18, 03:45
no control scheme for the n800, because its not mapped to touch buttons oir hard buttons. If you have n800, you have 4 choices -> USB/Bluetooth keyboard -> Wii Remote -> xkbd (lol, that would be funny) -> Synergy or x11vnc. If someone could please package this into a .deb and start a garage project, that would be nice! As far as I know, there is no work being done on the Snes emulators, its pretty much dead unless some skilled programmer can finish it. I'm just a lowly moder....

3xternal, are you sure? When you run the GUI on xterm, are you root? Does the GUI work with normal user? You hight have to chmod it, if you did not, thats the only thing I can think of.

gadgetgeek
2008-10-14, 16:19
There was a link for a snex9x deb on planet maemo some time ago. recently I reflashed my os and the file was corrupt. I followed the instruction on how to run snes on the n8xx and everything went well until it was time to open the rom file. I then went through trial and error until I FINALLY GOT IT! You need a file directory on your mmc that is snesg. put your rom files with the extention .smc in them. There are numerous sites to download these roms. if there are any spaces in the file or letter that are in parenthesis, delete the parenthesis and letter that was in it. In the end you should have a new rom file that has no spaces (make sure to extract the rom first). Open pysnes, select and search for rom file, check open in full screen, start game and BAM! You now have a close to full speed snes. you still need a keyboard (BT or Hardware) to play the games.

basketcase_2004
2008-11-28, 15:04
hi, i have followed the instructions to install this and its all fine and dandy until i try and start game. and nothing happens. tried loads to get it to work but no use. any advice?

gadgetgeek
2008-11-29, 23:03
make sure the rom ends in .smc. try a simple rom and make sure to delete all spaces, parenthesis, etc. For example; Al Unser Jr's pro racing (U).smc would look like this after file rename...AlUnserJrsproracing.smc. If you change the file name it will load. Good luck and happy gaming

eliagp
2008-11-30, 00:05
where can I find this deb? does it work on Diablo?

Thesandlord
2008-11-30, 03:24
Its not a deb... Its just a tar file.

I don't know how to make a deb. :) :)

Please follow my steps in the last page. Its not that complicated...

I think it works on Diablo, but have not tested it on latest SSU.

eliagp
2008-12-02, 02:41
Ok, i went step by step, i think.
I got the pysnes in the menu and it opens. I selected a couple of games, chrono trigger and simant, and tried to open them, but nothing happened. I runned pysnes from terminal and i get the error sh: permission denied snes9x opt2

Any tips?

Thesandlord
2008-12-02, 03:34
Ok, I might have messed up on a step. It looks like FAT does not use file permissions!

So, first move snes9x and opt2 to bin, THEN chmod them!

10) Now open up a new xTerm, and type "sudo gainroot" or "root" (without quotes) and "chmod a=rwx /media/mmc2/snes9x" and "chmod a=rwx /media/mmc2/snes9x_opt2" (without quotes on both) You may have to change the path if you downloaded it to a different place.

Oh, and everything is as root...

Please. Please, can someone make a 100% working snes emulator. Please?

eliagp
2008-12-02, 12:17
ok, its working. thank you so much. i did, however chmod in usr bin, it makes more sense since there is where the files are. I havent had much luck with fullscreen or saving state. fullscreen refuses to work and saving state collapses the tablet, closing every non-nokia app I have open, and sometimes collapsing pysnes. other than that the two games I tried are working fine.

OID
2009-01-22, 16:49
I make simple skin for Xoo, now playing snes9x on my n800 very nice and without keys problem. http://073.wen.ru/images/snes9xoo.jpg But no sound :-(

stacia
2009-02-14, 04:24
Can someone explain what the DrPocketSnes thing is all about? On the website for snes9x it says that it's been discontinued for that software, but it doesn't seem to be compiled for Maemo.

Thesandlord
2009-02-14, 04:40
Its all dead. Snes9x and DrPocketSnes.

Now, OID, what is Xoo, and how do I get it...?????? :) :) :) :)

Bundyo
2009-02-14, 07:52
Xoo is a graphical wrapper around Xnest.

http://labs.o-hand.com/xoo/