Log in

View Full Version : The definitive guide to playing SNES games on Windows Mobile (and Symbian)


Menneisyys
05-10-2007, 11:36 AM
I’m very often asked about what emulator should be used under Windows Mobile to run Super Nintendo Entertainment System (SNES) (http://en.wikipedia.org/wiki/Snes) (a.k.a. Super Famicom / Super Comboy), a hugely successful home game console of the early nineties.

One of the reasons for this is the abundance of the current emulators. See for example the SNES section (http://emupage.pocketgamer.org/Consoles.html#sudo) on Michu’s famous EmuPage (http://emupage.pocketgamer.org/) - it lists seven titles and, with some (for example, the n0p port) of them, even additional ones. Another reason for this was the shortage of dependable, comparative information available:

there are no real up-to-date articles with REAL-WORLD compatibility information and really dependable and reliable comparison; for example, the only SNES-emulations-specific roundup of available emulators I could find, PDAGameGuide's Top SNES Emulator Downloads Guide For Your Pocket PC (http://www.pdagameguide.com/snes-emulator.html), is heavily outdated, only discusses two (very old and, today, in no way recommended) emulators and doesn't at all dive into subtleties like emulating sound or on-screen controls.
there are a lot of plain bad information floating around (for example, some people’s praising the absolutely useless Snes9xPPC (by pdafan) or Snes9xJ4u)
and even the above-linked WikiPedia article linking in the oldest and least capable SNES emulator version (the original port made by Scott Ramsby)

Finally, the Nominations Manager for Smartphone & Pocket PC magazine’s Best Software Awards 2007 (http://www.pocketpcmag.com/awards/main.asp), the guy responsible for nominations and (initially) deciding what should be nominated and what not, should show the entire Windows Mobile community he really knows what he does, doesn’t he? ;-)

Why should you bother?

It’s simple: if you’re into Japanese RPG’s like the early Final Fantasy (http://en.wikipedia.org/wiki/Final_Fantasy) series, Zelda (http://en.wikipedia.org/wiki/The_Legend_of_Zelda_%28series%29), Earthbound (http://en.wikipedia.org/wiki/EarthBound), Chrono Trigger (http://en.wikipedia.org/wiki/Chrono_Trigger), Super Metroid (http://en.wikipedia.org/wiki/Super_Metroid) and similar titles (there are a LOT of them), your best (and, in most of the cases, only) bet is SNES emulation to be able to play these titles.

Of course, there are some very good arcade / platformer games for the platform; for example, Firepower 2000, Donkey Kong Country or the Mega Man and R-Type series. In addition, you will want to check out for example the SNES implementation of the Super Mario series (there are several fan-created, free, public domain additions and fan versions like THESE (http://www.derok.net/emulation0/supermarioworld.html))– after all, it’s free (if you own the original SNES cartridge), and high-quality – in general, much better (because of the higher quality) than the GameBoy Color / Advance versions. However, let's not forget NeoGeo emulation (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1928&more=1&c=1&tb=1&pb=1) may offer even better arcade-quality platformer games (for example, Metal Slug) - that is, for REALLY nice action / platformer games, you may want to check out even stronger, but still properly emulated consoles / arcade machines like the NeoGeo.

What about the speed?

While many (see for example THIS (http://www.pocketgamer.org/showthread.php?s=&threadid=5427) PG thread) say low-resolution QVGA devices will ALWAYS be faster to emulate SNES than VGA, this is not necessarily the case. For example, the HTC Wizard runs ALL emulators REALLY slow even when overclocked to 273 MHz (and not using the touch screen – that is, it’s not the well-known 2.8” HTC bug (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1697&more=1&c=1&tb=1&pb=1) that is slowing down the emulation). For example, some HP iPAQ hx2490 users (another QVGA model) have also reported the same (http://www.aximsite.com/boards/showthread.php?t=151498). It should also be stressed that there aren’t that big differences between VGA devices than some people state.

For example, I have four VGA devices:

HTC Universal
WM5 (ROM version 2.01) HP iPAQ hx4700
WM2003SE Fujitsu-Siemens Pocket Loox 720 (without Picard’s GAPI hack)
WM5 (ROM version A12) Dell Axim x51v

All of them runs the test games (for example, Mario Kart) definitely faster (with n0p’s latest emulator version) than my HTC Wizard overclocked to 273 MHz (and not touching the touch screen), and, at least with the Pocket Loox 720 and the x51v, even faster than my 400 MHz HP iPAQ 2210 running WM2003. Yes, even the HTC Universal, which, in general, is pretty useless for action games / emulators.

This all means don’t believe people that state VGA (high-resolution) devices are bound to be useless and QVGA models bound to be great. That’s an oversimplification and, in most cases, not at all true.

Sound issues

Unfortunately, sound emulation is, in general, much worse with SNES than with CPS-1/2 (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1928&more=1&c=1&tb=1&pb=1), Sega Genesis (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1933&more=1&c=1&tb=1&pb=1) or even the, hardware-wise, much more advanced NeoGeo (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1928&more=1&c=1&tb=1&pb=1). When emulating the latter, if your device doesn’t have the necessary “juice”, all you will get is choppy sound (with only some games; for example, the Metal Slug series on NeoGeo. The vast majority of games will run with excellent sound – even NeoGeo ones).

With SNES emulation, the situation is much worse. While some games (for example, Super Ghouls and Ghosts) are reported not to have this issue, other games (for example, Final Fantasy II) will always exhibit absolutely messed-up music (see for example mrfalcon’s post in this PG thread (http://www.pocketgamer.org/showthread.php?s=&threadid=5427&perpage=12&&pagenumber=3)).

If you still want sound emulation, make absolutely sure you disable automatic frame skipping (http://www.winmobiletech.com/052007SNESEmus/AutoFrameSkip.bmp.png) and set frame skips to a wired-in value of 1 instead of the default 5 (http://www.winmobiletech.com/052007SNESEmus/AutoFrameSkip2.bmp.png). Then, after enabling sound (and sound synching as can be seen in here (http://www.winmobiletech.com/052007SNESEmus/SoundEnableAndSync.bmp.png) (note that you may also want to enable stereo mode if you uses headphones / external stereo speakers; just switch it off if you find it further decreasing the emulation speed. I didn’t; therefore, I’ve left it as stereo. You may also want to play with the other parameters)), the sound / music will become far more consistent and enjoyable.

The frame drop option “1” tells the emulator to drop (not render) every other frame. That is, the, by default, frame rate of 60 will be forced to become 30. This will help a lot in almost every respect, even at an expense of some (almost invisible) jerkiness increase.

The available emulators

OK, let’s see what we have and what you should use.

First, let me point out that there are two main groups of (current) SNES emulators.

One of the groups has numerous emulators. They’re all common in that they all are based on Scott Ramsby’s initial, old PocketSNES, either adding some additional functionality (for example, on-screen buttons) to it, bugfixing it (for example, making it VGA-compliant) or recompiling / updating it, using a newer version of the underlying Snes9x (http://en.wikipedia.org/wiki/Snes9x) engine. As far as usage is concerned, these emulators are very similar. I’ll explain the differences in the GUI (particularly with Tala’s OpenGL ES version).

The second "group" only contains one (up-to-date) emulator: MorphGear.

Let's see the first group first.

n0p’s PocketSNES ports (http://n0p.tonych.info/?PocketSNES)

http://www.winmobiletech.com/052007SNESEmus/n0pMain.bmp.png

n0p is pretty famous for his emulator ports. I've already reviewed his Genesis Plus in my Sega Genesis / Mega Drive (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1933&more=1&c=1&tb=1&pb=1#more1933) article. With SNES emulation, he has also come up with something really top quality.

This (these) are the emulator(s) you MUST check out unless you have a Dell Axim x50v / x51v (then, Tala's emulator is the one to get first).

There are three emulators on n0p's homepage: a WM5 / VGA, a generic and an ARM one. There isn't much difference between these emulators: for example, if you have a non-VGA, XScale-based Windows Mobile device (even a WM5+ one), you can use any of the three versions. If you have a VGA device, you MUST download the latest, WM5 + VGA version. Note that it'll also run on previous-generation (WM2003SE) VGA models too, as is also explained for example in my AximSite-frontpaged review HERE (http://www.aximsite.com/boards/showthread.php?t=147444).

This emulator excels in full-screen stretching capabilities and on-screen tap areas. Mostly because of these that it should be preferred over the other titles.

Tala’s OpenGL ES PocketSNES version (http://www.pocketgamer.org/sys/files/PocketSNES.zip)

http://www.winmobiletech.com/052007SNESEmus/TalaMain.bmp.png

The above-introduced and, in general, most recommended n0p emulator doesn't use OpenGL ES in Dell Axim x50v / x51v's to make the graphics less pixelizated. For the latter, you must get the specific OpenGL ES version by Tala (also see the dedicated thread HERE (http://www.aximsite.com/boards/showthread.php?t=64704) and HERE (http://www.pocketgamer.org/showthread.php?s=&threadid=5427)).

It, being not pixelizated at all, is much easier on eyes and also supports on-screen buttons. As opposed to n0p's version, there can be only two of them at one time; they, however, can be freely assigned to any of the eight original buttons of the SNES controller (while the four on-screen buttons / tap areas of n0p's version is hardwired to A, B, X and Y). In addition, you can also configure Tala's version to treat one key as an autofire one. This is pretty unlike "traditional" autofire solutions because it'll keep autofiring even without your having to hold down the given (screen) button. This can prove really useful on devices like the HTC-manufactured Pocket PC Phone Edition models with a 2.8" screen because they all exhibit touchscreen CPU overburdening problems and, therefore, hopefully n0p will also implement this functionality on his ports.

Masterall’s PocketSNES port (http://www.modaco.com/index.php?showtopic=237589)

Masterall is the author of the BEST NeoGeo / CPS-1/2 emulator, FinalBurn Alpha (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1928&more=1&c=1&tb=1&pb=1) and the BEST Sega Mega Drive / Genesis emulator, PicroDrive (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1933&more=1&c=1&tb=1&pb=1).

Unfortunately, his PocketSNES update has nothing to write home about, except for being based on the latest, 1.43 version of the Snes9x engine, which means compatibility with some titles 1.39, on which both Tala's and n0p's above-introduced emulators are based on, was still incompatible with (see the compatibility information for individual titles below). It has no goodies like on-screen keys. You may only want to check it out if you have a Microsoft Smartphone (Windows Mobile 6 Standard Edition) and the other Microsoft Smartphone solutions (see the Additional Links section for more info) are insufficient for your needs.

PocketSNES/03 (http://www.geocities.jp/emu193/snes.html) Preview 4

This title is also based on the latest, 1.43 version of the Snes9x engine. Unfortunately, it has no other goodies - it's, otherwise, almost the exact recompilation (with fixed VGA support) of the original Scott Ramsby PocketSNES.

The second group, as has been pointed out, contains one title,

MorphGear (http://www.spicypixel.com/xwiki/bin/view/MorphGear/WebHome)

with the SNES9x plug-in (the CAB can be downloaded from HERE (http://www.spicypixel.com/download/release/snes9x/SNES9xPPC2003.ARM.zip), in addition to that of MorphGear (http://www.spicypixel.com/download/release/morphgear/MorphGearPPC2003.ARM.zip). Install the latter first and, then, the former).

It's way better than some other MorphGear modules and is highly recommended. It's certainly a bit slower than the above-introduced PocketSNES modules, but exhibits a definitely higher compatibility ratio. Therefore, I really recommend installing it on your Windows Mobile device, even if as a second emulators, the main still being either n0p's or (depending on whether you have a Dell Axim x50v / x51v or not) Tala's enhanced PocketSNES versions.

Note that all the reviewed emulators are free (including the SNES module of MorphGear).

Finally, let's talk about the non-recommended titles too.

Scott Ramsby's PocketSNES (http://paqpark.nuclearfallout.net/projects/pocketsnes.php) 1.12.200

As has already been pointed out, this is the base of all current enhanced ports. It's not really worth checking it out – n0p’s version (or that of Tala is you have OpenGL ES support) is much more up to date & featureful (on-screen buttons, VGA support).

Snes9xJ4u (http://holybell.to/high/snes9xj4u.html) (its old URL (http://verdandi.to/cee4u/) isn’t accessible any more)

The GUI of this app is entirely in Japanese and is WindowsCE-friendly, meaning a non-native Windows Mobile GUI. It was last modified on 2004/08/05. It, basically, works the same way as PocketSNES but the menus are pretty different. You can, however, easily guess what the menu items are for; except for Options / B (the bottom-most menu item). There, the bottom-most checkbox enables, while disabling bringing up the menu with on-screen controls, is related to D-pad. I couldn't find out the way it's controlled - it's absolutely irregular. The topmost checkbox seems to be doing nothing; the middle one enables the above-explained screen "control" but doesn't disable pausing the game & bringing up the menu by clicking anywhere else than the lower left part of the screen. I couldn't find out how landscape should be used instead of the default Portrait - it's possible it's not supported at all.

pdafan’s Snes9xPPC (http://tokyo.cool.ne.jp/pdafan/) ver0.41

While this emulator is based on the Snes9x 1.43 core and is pretty new (last modified: 2006.2.24), it's definitely slow (MUCH slower than any other tested emulators!) on all the devices, both QVGA and VGA, I’ve tested it on. Avoid it.

Getting games and storing them on the mobile device in an efficient way

In here, I don't give you URL's to ROM files as it'd be illegal (without being sure you DO own the original cartridges of all games you do want to play). However, the Internet, particularly Google, has a lot of related information on how these ROM's can be acquired. That is, Google will be your friend. Note that you'll need to read THIS article (http://hotrockspspguide.tripod.com/psp/snes.html) for more info on ROM file naming conventions (what for example the exclamation marks, numbers and letters mean after the ROM file names).

After you've acquired your ROM images (as .ZIP or .7z files - the latter is very common with archives having more than one image - for example, different release versions, languages of the same game are often packed with 7z to GREATLY, in cases, with orders of magnitude (!) decrease the archive's size), decompress them if your emulator doesn't support ZIP archives - for example, of the three most recommended emulators, MorphGear doesn't support ZIP files as can also be seen in the "Compression support" row of the Comparison and game compatibility chart (http://www.winmobiletech.com/052007SNESEmus/table.html). Then, transfer them to your mobile device. Please consult the "Files" section in the first part of the Comparison and game compatibility chart (http://www.winmobiletech.com/052007SNESEmus/table.html) for more information on whether a given emulator has its own file open dialog. If it doesn't (as is the case with Tala's app), you will need to either install Mad Programmer's File Dialog Changer (FDC), as is explained in my Sierra interpreter review & tutorial (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1926&more=1&c=1&tb=1&pb=1). Or, alternatively, store your (if the emulator allows for compression, ZIP'ed) ROM files in a direct subdirectory of your storage card. Otherwise, you can store them anywhere.

Also note that, if you do plan to very often load new ROM's in your emulator, you will want to thoroughly check out the "Remembers last position (with Mad programmer's FDC - that is, when NOT using the standard file dialog)" row in the same section. You will want a solution that always takes you back to the last-used directory so that you don't need to manually switch directories, which can be pretty tedious.

Unfortunately, as can be seen in the chart, n0p's (internally Mad Programmer's FDC-based) solution always starts from the home directory of the app and doesn't remember the last directory you've loaded your files from. Therefore, to make things as fast as possible, consider storing your ZIP archives right in the home directory or n0p's port (that is, in the same directory where you've decompressed n0p's emulator to).

Tala's port (the preferable emulator for Dell Axim x50v / x51v users) always starts from \My Documents, in the built-in storage, if you do install Mad Programmer's FDC. Therefore, if you don't want to move your ROM files in the main storage (because it's already full and/or you'd like to keep your ROM files on a card) but still need quick image switching capabilities, consider disabling FDC or adding Tala's emulator to the exception list of FDC and just stick with the standard file selector dialog of the operating system and just put yuour ROM's in a direct subdirectory of the root of your memory card so that they are displayed at once without your having to manually change directories.

Installation, configuration, running games

All the reviewed emulators can co-exist without problems - this means you can keep any of them on your Windows Mobile (as long as they're compatible - for example, it's pretty useless to keep the OpenGLES (Tala) version of PocketSNES on your mobile if it's not a 2700G-based Dell Axim). Actually, except for MorphGear, they don't even need to be installed: you only transfer the EXE file you dowload off the Web to your mobile device and start it in there. (With the addition that Masterall also requires Tillansoft's tGetFile and n0p's distribution has some other files in the ZIP file you'll also need to transfer to the same directory on your mobile.)

After starting the emulators, starting a game is pretty straightforward: you go to Tools / Load ROM (in all PocketSNES-derivatives) and click a ROM after finding it. After this, the game is started and can be controlled with the D-pad and hardware buttons of your device.

Buttons

The standard button assignment can be changed in Options / Buttons…; this is particularly important on WM devices with few buttons (like the HP iPAQ 2210) because the, by default, eight non-directional buttons (one of them, Start, being assigned to Action - that is, the center of the D-pad or, if present, the jog dial) needs to be assigned to 4, 5 or 6 buttons, depending on the particular WM model. Therefore, you may want to change your button assignment configuration regularly on devices having too few buttons.

To configure your button assignment, just go to the above-mentioned Options / Buttons…, click a SNES controller button (A, B, X, Y, L, R etc) on the screen and press the hardware button you'd like to assign to it.

Note that on devices with double button functionality (HTC Wizard, Fujitsu-Siemens Pocket Loox 720), in general, you can assign a functionality to the long-pressed state as well (of most buttons). This isn't the case with the WM5-upgraded and, therefore, double button functionality-enabled HP iPAQ hx4700.

You can also make use of the WM5 hardware soft keys (when available).

Finally, if you have a Windows Mobile phone, you can also utilize its red and green phone buttons.

Display

The emulators use the Portrait orientation by default, which may not be the best solution because it leaves a lot of screen estate unused (and, what is more, on-screen buttons / tap areas are far more awkward to use in this state, if not downright impossible, as is the case with the Tala OpenGL ES-enabled version). Therefore, you will want to switch the game display to Landscape mode. You can do this in Options / Display…, by clicking in either Landscape Left (Stretched) if you're right-handed or Landscape Right (Stretched) if you're left-handed. Stretched means the app (if it's capable of doing so - many, for example, PocketSNES/03, don't) will try to fill in the entire screen.

Note that if you run Tala's version, you will need to use the system-level orientation change support instead of this menu. That is, with the Tala version, leave the default "Portrait" mode in Options / Display… always intact - as opposed to all the other emulators.

Note that, as far as on-screen buttons are concerned, with n0p's ports, they are correctly relocated in the lot less widely used left-handed Landscape mode; Tala's version doesn't support this. This is certainly bad news for left-handed Dell Axim x50v/ x51v users.

It's also in Options / Display… that you will want to disable Auto Frame Skip and use a value of 1 (or, if your PDA or the emulation is particularly slow, 2 or even higher) to drop frames in order to provide a consistent, jerkiness-free emulation and, what is even more important, sound (if you enable it at all).

SNES emulation on other platforms

Desktop operating systems

Here are three, excellent emulators for desktop OS'es:
Snes9x (http://en.wikipedia.org/wiki/Snes9x)
ZSNES (http://en.wikipedia.org/wiki/ZSNES)
bsnes (http://en.wikipedia.org/wiki/Bsnes)

Please check out the above links for more information.

Symbian

I've also tested the Symbian SNES emulator, vSun Plus 1.0 (http://www.vampent.com/vsun.htm) (and its ancestor, the still sound-enabled vSun 1.1) on my Nokia N-Gage. Note that the N-Gage is a very old (2003) phone and only has a 104MHz ARM9 CPU and some 3 Mbyte of free RAM. This is why most games run pretty slow (but some of them are still playable) and sound emulation (with vSun 1.1) results in unbelievably bad results. If they start at all, that is - it's only with ROM images smaller than 3 Mbytes that they are loaded at all.

Note that, with newer, faster Symbian devices with much more RAM, these games (can) become very nice (and 3+ Mbyte cartridges also loadable). Therefore, if you, say, have a Nokia N93 or N95, make sure you download vSun Plus 1.0 (or even the earlier, less compatible but sound-enabled vSun 1.1 to check out whether the sound emulation is OK on your model).

What I've provided here is more of compliance information to see how vSun Plus compares to the Windows Mobile emulators because many state vSun Plus is superior to WM titles (see for example THIS (http://www.howardforums.com/showthread.php?t=1157824)). As can be seen, Windows mobile has nothing to be ashamed of - in general, WM-based emulators are more compatible with the tested titles than vSun.

Also see this (http://www.allaboutsymbian.com/forum/showthread.php?t=15890) for more info on generic Symbian emulators.

Comparison and game compatibility chart

It's available HERE (http://www.winmobiletech.com/052007SNESEmus/table.html). The first section discusses generic questions like on-screen buttons, operating system / device compatibility, support for ZIP archives etc and, based on this article (and my past, emulation-related ones), is pretty easy to understand; the second has a LONG list of the best, most popular SNES titles and their compatibility with the three most recommended PPC emulators (Tala, n0p, MorphGear) and, as far as the Symbian S60 operating system is concerned, vSun Plus; in addition, I've now and then tested the other emulators with these games too. In order to help authors/developers to fix problems (or, for people that really want to see a given title indeed doesn't run) with a particular non-working title, I've also provided links to the non-working games (but only them! I haven't linked in working games. Sorry, I won't breach the (C) laws.)

Recommended links

My other game emulator reviews in the Games section (http://www.pocketpcmag.com/blogs/index.php?blog=3&cat=36) of the Smartphone & Pocket PC Magazine's Expert Blog (http://www.pocketpcmag.com/blogs). I plan to cover / discuss ALL emulators available for Windows Mobile and have already published some of these articles. Do make sure you follow / read this articles - nowhere else will you find a better source of emulation-related information, I'm pretty sure.

Additional links

Note that these threads / articles may have outdated or plain bad info. You should NOT believe anything in them that is in strong contrast with the information in the above article. You, however, may want to give them a read.

PDAGameGuide's Top SNES Emulator Downloads Guide For Your Pocket PC (http://www.pdagameguide.com/snes-emulator.html)
n0p's PocketSnes vs Tals's OpenGL-ES PocketSnes vs... (http://www.aximsite.com/boards/showthread.php?t=149044)
How to do SNES games (http://www.aximsite.com/boards/showthread.php?t=110637)
SNES Emulation on Pocket PC (http://www.devhood.com/messages/message_view-2.aspx?thread_id=11262&current=last)
How is game playing? (http://forum.brighthand.com/showthread.php?t=190828)
hx2750 with morphgear (http://www.mobilitysite.com/forums/ipaq-hx2xxx-series/14367-hx2750-morphgear.html)
MorphGear 2.0 Review (http://www.pocketpclouisville.com/reviews/MorphGear_review.htm)
Good news, MorphGear now can run on Smartphone 2003! (http://www.modaco.com/index.php?s=79d2d3abf72cb3112985b7764866b40c&showtopic=252290&pid=807331&st=0&#entry807331)
working smartphone snes emulator(s)! and avalon5's new smartsnes (http://www.modaco.com/working-smartphone-snes-emulators-and-avalon5and39s-new-smartsnes-t243520.html)

Menneisyys
11-27-2007, 01:56 PM
UPDATE (11/28/2007): Masterall has recently released an updated (1.53) version of his emulator (http://www.modaco.com/content-page/237589/PocketSNES-1-53/page/320/).