The Definitive Guide to Running 3D-enabled Java MIDlets on Windows Mobile - General Topics

I’ve started working on my MIDlet Bible, the premiere and definitive resource of everything related to running the, particularly on “dumb” mobile platforms, hugely popular Java programs called “MIDlets”. Currently, the project is on hold because I’m still waiting for some MIDlet Manager developers to answer my mails so that I can, for example, can directly recommend where to download / purchase MIDlet Managers from. (If you’re one of them and we used to be in correspondence but you haven’t heard anything from me, please check your spamfilter – it might have caught my mail(s).)
Several people have been looking for running 3D-based games on Windows Mobile. As this part of my forthcoming MIDlet Bible is pretty much self-contained, doesn’t really depend on the rest of the Bible and can, therefore, be separately published, I’ve decided to take the plunge and publish it right now, before coming out with the “full” MIDlet Bible.
1.1 Is it worth bothering at all? Isn’t Java, particularly 3D games, slow?
You may have heard a lot of people despising Java because of its “sluggishness”. This is not really a case, particularly with the highly optimized Java environments, that is, MIDlet Managers (also abbreviated as KVM’s; some people also refer to them as JVM’s, using the well-known desktop/server mnemonic) of today. You will be REALLY astonished: current KVM’s can produce at least as quick 3D speed as highly optimized, native Windows Mobile games written in C(++).
You don’t believe me, do you? Neither would I have before embarking on some serious 3D MIDlet testing (and, of course, I also know most, if not all, native racing games for Windows Mobile like the palm of my hand).
Well, just give some of the tested racing games (for example, 3D High Speed, 3D Andreotti Racing, 3D Fast or Furious Fugitive) a try and you’ll see this for yourself. Compare them to the current native 3D titles. These Java programs are blazingly fast even on VGA devices and even on, otherwise, graphically, pretty sluggish models like the HTC Universal – while still rendering high-resolution (not plain pixel doubled) graphics. Yes, I told you, many Java titles just rock on Windows Mobile – if you’re into games and, particularly, racing games, you WILL want to give these programs a try.
Speed issues aside, price is another factor. Java MIDlets games, in general, way cheaper than native Windows Mobile games – several high-quality Java games cost no more than $5, while native WM games, generally, start at $10. In cases, you are allowed to even buy a MIDlet for all your phones and, then, you can put it on any number of your dumb & smartphones and Windows Mobile handhelds. Think of it: you buy a high-quality MIDlet game for, say, $5, and, then, deploy it on the phones of your wife / husband / children in addition to your WM phone so that they can also kill some time playing it. You won’t ever have problems explaining to your wife why you’ve spent a single penny on a game ;-) Yeah, being multiplatform (meaning a single Java MIDlet can run on a vast number of mobile phone platforms, even cheap dumb phones) has definite advantages.
This, of course, doesn’t mean you shouldn’t purchase Windows Mobile games, not in the least. The Windows Mobile market being tiny (orders of magnitude smaller than that of desktop Windows or, even, yes, Java MIDlets) developer community (and, consequently, the future of the entire platform) does need your software purchases too. It’s just good to know you can play a lot of cheap and, in cases, really high-quality games you may not have been aware of.
2. Available, 3D-capable KVM’s
In this roundup, I mostly concentrate on playing games with three-dimensional (3D) graphics. There is a separate standard (JSR 184, also known as M3G) that most 3D (but not all!) games rely on. This means that, in order to be able to play these games, the KVM must support JSR 184. There are, currently, two KVM’s that, currently, do this: Jblend by Aplix (coming with the Samsung BlackJack MS Smartphone and some, outside Japan, not widely used Pocket PC phones like the Sharp W-ZERO3), the 11.x series of TAO Intent MIDlet Manager coming with several Pocket PC’s (note that the current TAO Intent version shipping with current (!)Smartphone ROM’s, for example, the German ROM with the HTC Vox, still contain a 10.x-series, non-3D-capable TAO Intent version).
However, as there are some 3D titles that don’t use the specific features of JSR 184, there may be cases you can use non- JSR 184-compliant KVM’s to run these games. Without doubt the best of these non-M3G-compatible KVM’s is Esmertec’s Jbed, the successor of Jeodek of the same company, which ships with many current, WM6 Pocket PC’s and Smartphones (for example, the HTC Vox / s710). It’s Jbed that you will always want to prefer when playing, especially because of its unique full screen and music emulation capabilities and speed.
Now, let’s take a look at all these three KVM’s.
2.1 Aplix Jblend
This KVM is compatible with everything Windows Mobile 5+ with a phone inside: that is, all WM5+ Pocket PC Phone Edition (Windows Mobile Professional) and Smartphone (Windows Mobile Standard) devices. This, unfortunately, also means it’s NOT compatible with non-Phone Edition (that is, Windows Mobile Classic) Pocket PC’s.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
It has excellent M3G support and has no problems (as opposed to the TAO Intent MIDlet manager, introduced below) with WM5 softkeys either. It also has some other goodies; for example, by default, it stores all the deployed (installed) MIDlets under its home directory, unlike Jbed, the other excellent KVM. This has particular advantages on storage-constrained devices, particularly, low(er)-end Smartphones like the HTC s310 / Oxygene, which, by default, only has some 12M of built-in storage free. As a modern, decent (3D) game can easily take up 300-1000 kbytes, you will fill in your built-in storage very quickly if you use a KVM storing its deployed MIDlets there.
Its only downside is, in addition to not being compatible with non-phone-enabled devices, is the very bad sound and non-existing music emulation. In this respect, the two other alternatives (particularly Jbed) is WAY better.
It’s available for download HERE (direct download link to CAB file). Just download the CAB file and install it and, after that, you can just click on any JAR files copied to your Windows Mobile device, it’ll deploy them (just press the left softkey two times to let it go on). Again, unless you have plenty of built-in storage memory and/or you only plan to install a handful of games, you’ll want to install it on a storage card so that the deployed games (and other MIDlets) don’t take up any central storage.
2.1.1 JBlendFullScreen
Note that there is another version of Jblend circulating on the Net; a much older and non-M3G-capable one called “JBlendFullScreen”. Its only advantage over the Jblend version I’ve linked in is that it uses the full screen (no taskbar will be visible at the top), which is of BIG help when you run strictly 240*320 (QVGA) MIDlets displaying important information (status row or even softkey titles) in the bottom-most 10-15 pixel rows otherwise hidden.
2.1.2 Consequences of not being full-screen
Several games suffer from the recent Jblend version’s not being full-screen; for example, the QVGA version of the pretty good, Russian-language Wolf3D clone "3D Bunker" and "3D Storm", 3D Burnout, 3D Formula Racing, 3D Covert Ops etc. Hopefully community hackers will soon come up with a decent solution for this problem. If you do suffer from this problem, in the meantime, either give a try to the old JBlendFullScreen (it MIGHT run the game if it isn’t strictly M3G-based) or, even better, Jbed. Alternatively, you might want to use a version of the MIDlet, when available, meant for devices with smaller screen. Most MIDlets have several different versions for different screen sizes; 176*208 (old(er) Symbian S60), 176*220 (non-QVGA MS Smartphone) and QVGA (newer / better Symbian S60 and Windows Mobile) being the most widely used and available.
2.1.3 Java heap size setting
Finally, note that, unlike most other KVM’s, you can set the memory given to Jblend in the registry ( [HKEY_CURRENT_USER\Software\JBlend\JavaHeapSize; which is 0x00400000 by default; that is, 4 Mbytes, which is already pretty high, compared to most other KVM’s (except for Jbed; more on this question in the forthcoming MIDlet Bible). Setting it to a much higher value, 12M, didn’t help with the non-working games I’ve retested.)

2.2 TAO Intent MIDlet manager
Another M3G-capable KVM is the TAO Intent MIDlet manager, of which I’ve already published a lengthy tutorial HERE. You’ll want to download the latest, 11.1.7.1036 version (direct CAB link), unless you have a non-Phone Edition Pocket PC, in which case you’ll want to get version 1023 (direct CAB link). Finally, if you have a Smartphone, you’ll want to forget it altogether as it’s only the non-M3G-compliant 10.1.x series that is compatible with the “dumber” platform.
As with Jblend (and, for that matter, Jbed, to be introduced below), it’s simple to install: just get the CAB file and install it. As with Jblend (and unlike Jbed), if you install it on a storage card, it’ll also deploy the MIDlets on the card to save built-in storage memory. That is, make sure you install it on a storage card if you have little built-in storage left.
Unfortunately, the TAO Intent MIDlet manager is, gaming-wise, pretty bad and you’ll only want to use it in few cases (most importantly, when you only have a non-phone-enabled Pocket PC). For one, it has pretty bad music emulation. While it’s certainly better than that of Jblend (the latter has no music emulation at all), it’s WAY worse than that of Jbed. What is even worse, it doesn’t support softkeys in most games (and many applications as is the case with, say, Teashark reviewed HERE), which means you just won’t be able to run these games if they do depend on softkeys (and most do – very few games can be played / menus can be navigated without them).
2.3 Esmertec Jbed
This MIDlet Manager doesn’t directly support the M3G library. However, as it’s without doubt the best KVM out there right now, particularly music emulation and WM5 softkey-compliance-wise, it’s still worth mentioning it in here. The reason for this is pretty simple: some of the popular 3D titles aren’t strictly M3G-based (that is, based on JSR 184). These titles may run under Jbed as well, which means, in general, superior music and/or sound and, sometimes, speed compared to Jblend and, on top of all this, softkey support, compared to TAO Intent.
While there’re some purchasable Jbed distributions at Handango, I don’t know whether they’re updated at all (their last-updated field are all 2005) and, despite my several mails sent to my Esmertec contact, in the last month I haven’t received a definite answer to this question. Therefore, for the time being, you’ll want to use an OEM version of Jbed version 20070802.2.1 available HERE. Unfortunately, this version is pretty buggy. Should you want to use it for other purposes (most importantly, for Opera Mini 4 beta 2, by far the best MIDlet-based Web Browser and one of the best Web browsers even on Windows Mobile), be aware of that it doesn’t support for example cookie handling, unlike previous, but not any more working versions. This, however, won’t have any affect on running games, where it’s really excellent at.
Jbed is, just like Jblend, compatible with both WM5+ Pocket PC Phone Edition and Smartphones. It is NOT compatible with regular Pocket PC’s without a built-in phone. Sorry. Hope as soon as the Esmertec folks contact me back, I’ll be able to provide more info on which Handango Jbed distributions support non-phone Pocket PC’s.
2.4 Co-existing on the same Windows Mobile devices
All these KVM’s (and, for that matter, additional ones like IBM J9, Esmertec Jeodek etc.) can co-exist on the same Windows Mobile device – they won’t have any influence on the other MIDlet managers. The only restriction will be that, should you click a JAD or a JAD file on either the Web or the local file system, the last-installed KVM will be invoked and it will deploy the given MIDlet.
However, you can easily remake a given KVM the default KVM to be invoked when clicking JAD / JAR files. No, you don’t even need to reinstall the given KVM – you will only need to import a given Registry import file, which changes the JAD / JAR file associations. I’ll provide these files in the final version of the Bible.
In the meantime, keep the following in mind: if you download the JAR file of all MIDlets you’d like to use (you do NOT need the JAD files!), you can easily deploy them under any KVM’s.
Fortunately, this is pretty easy in two of the three KVM’s (in addition to the, in this respect, inferior Jblend, it’s only with the, here, not discussed IBM J9 that it’s a pain in the back to deploy a MIDlet to if you don’t have set up the file associations or they’re pointing to another KVM: in there, you must enter the full path and name of the JAR file by hand and can’t even use any file system browser tool). The Jbed and TAO KVM’s have a “deploy local files” option; you go there; in there, you are listed the JAR files in the file system. Your only task is selecting the one to deploy and all is done – after this, you will only need to let the KVM deploy the stuff (answer Yes to the security questions and, with Jbed, to the question of the target folder). These menus are as follows:
Jbed: Menu / Install / Local Files (another screenshot of the list and the desployment / optimization process)
TAO Intent: Menu / Install / Local (a list of the MIDlets found, just click the one you’d like to deploy). Note that it’ll only find JAR files residing in the root directory of your storage card(s), NOT in subdirectories, unlike Jbed.
The fact that Jblend doesn't have file browing capabilities also means that, should you want to keep all the three KVM’s on your phone, you’ll want to install Jblend last so that its file associations remain the default.
3. Compatibility info & chart
I've made some VERY thorough tests with ALL the 3D games available HERE. Feel free to give these titles a try. You only need to download the JAR files off the Web site; don’t bother with JAD files. Note that you won’t be able to access the page with the standard desktop Internet Explorer (as is also pointed out in my Windows Mobile Web Browser Bible) because it isn’t WAP-compliant. Therefore, if you do access it on the desktop (in order to download the JAR files to your desktop and, then, transfer these JAR files onto your Windows Mobile handheld in order to deploy them), make sure you use either Opera or Mozilla to access these pages.
You will find the compatibility results in the chart available HERE. Sorry for not including it in here – it’s way too big and, after all, it’s only an additional click away. I’ve tested the latest, above-linked versions of Jblend, TAO Intent and Jbed. With Jblend and Jbed, I’ve run the tests with the HTC Vox (s710) Smartphone (I’ve chosen a Smartphone because of the directly and easily accessible dialpad on the front). For the (few) TAO Intent tests, I had to use a WM6 VGA HTC Universal because 1, it also has numeric hardware keys so I could still test controllability via dialpad (numeric) keys 2, it’s a Pocket PC, and the 11.1.x, that is, M3G-compliant series of TAO Intent only supports Pocket PC’s.
3.1 Dynamic screen stretching
Note that I’ve tested ALL the games compatible with Jblend that dynamically use (stretch) the full available screen estate on the WM6 VGA HTC Universal Pocket PC as well. I’ve done this STRICTLY in Portrait mode (in Landscape, there were graphics problems with Jblend). The aim of this was to find out whether the given games are able to adapt to HUGE screens like those of VGA devices. As can clearly be seen, while all dynamic stretching-capable games were able to dynamically adapt to QVGA screens (from inherently smaller screen sizes), the situation was quite different with four times bigger (VGA) screens. Note that this isn’t a problem with the Universal itself but with the given titles’ inability to dynamically stretch themselves onto “huge” VGA screens. That is, they won’t run on other VGA Pocket PC’s either, let alone Pocket PC’s with even bigger screens (for example, the WVGA (800*480) Toshiba G900 or the, hopefully, forthcoming HTC Omni).

With titles that don’t run (right) on the Universal, I’ve also repeated the tests on the WM5 QVGA HTC Wizard Pocket PC to find out whether it was a VGA-related problem or a generic Pocket PC incompatibility. As can clearly be seen, these were all VGA-related problems and not because of the different (Smartphone vs PPC) platform: all the (dynamically adopting) titles that had (severe) problems on VGA devices ran flawlessly on the QVGA Wizard.
Also note that I’ve only tested the Jblend compatibility of dynamically stretching titles. Games that turned out to be of “dumb” static ones will run on any large-screen Pocket PC’s – confined to the boundaries of their original, hard-wired screen estate. This means all the other “static”, for example, 176*208 or 176*220 titles are supported and playable on VGA devices too.
4. Additional sources of information
JSR 184 (M3G) - everything you will need to know about 3D in MIDlets (mostly meant for programmers and/or advanced users)

UPDATE (10/11/2007):
Thanks to XDA-Dev forum member niala6433 (see THIS thread), my attention was brought to a M3G-capable Jeodek version (20060421-95649). It seems to be a bit faster than Jblend and is compatible with both Pocket PC’s and (at least Portrait) types of (touchscreen-less) MS Smartphones (I’ve thoroughly tested it on the QVGA HTC Vox (s710) and the 176*220 HTC Oxygen (s310)) with some disadvantages on the latter (namely, the constant visibility of the bottom bar). As it’s a comparatively old and quite restricted build of Jeodek, you will ONLY want to use it to run 3D games otherwise not (sufficiently well) running under Jbed, which, currently, doesn’t support 3D but support real full screen mode on both platforms, has, generally, superior speed and the best sound / music emulation. For everything else, you’ll want to use the other, much more optimal solutions.
(Deep 3D on a QVGA HTC Wizard Pocket PC PE)
(Absolute Lightup Deluxe on a VGA HTC Universal Pocket PC PE)
(Absolute Lightup Deluxe on a 176*220 Smartphone; the “Start / Call history” softkeys are both from the Today screen)
Getting, installing
It’s available HERE for download. Installing it is pretty simple: just unRAR jeodek.exe and jeodek.exe.0409.mui to anywhere on your handheld (storage cards preferred because, then, it’ll also store the deployed MIDlets there, not taking up any built-in storage memory). Copy the \lnk\Esm3D.lnk to \Windows\Start Menu\Programs on Pocket PC’s (or \Windows\Start Menu\ on a Smartphone; you can, of course, use subfolders) and, finally, import \fileassoc\ Jeodek3DStoragecard.reg into the Registry so that the file associations are right, should you want to deploy MIDlets from the outside of the MIDlet manager. (This isn’t essential as Jeodek has built-in support for searching for MIDlets in the file system.) Note that you’ll want to change all occurrences of “esm3d” in the Registry import file, should your files be somewhere else than \Storage Card\esm3d. Also note that, should you want to deploy MIDlets using this file association, Jeodek must already be running.
Finally, note that you do NOT need to install an “official” Jeodek / Jbed on your handheld before intsalling the hack. You can, but don't need to. Simply doing what I’ve explained suffices.
Problems
On the Smartphone, the bottom bar of the previous screen will always be visible. This means games specially designed for the given screen resolution (320*240 or 176*220) will be severely cut off, as can be seen in the following two screenshot pairs:
(QVGA Smartphone)
versus
http://www.winmobiletech.com/092007MidletBible/Jeodek3DBottomBarTooPPC.png
(VGA Pocket PC)
See the difference? Not only the softkey titles have been cut off with the Smartphone version, but even the bottom part of the text bubble. A solution to this, should you still want to play these kinds of strictly 320*240 titles on your QVGA Smartphone but can't because of the lacking screen content, is looking for a, say, 176*220 version of the same MIDlet. (And, the same stands for the case of playing on a 176*220 Smartphone. Then, your best bet is looking for a 176*208 (Nokia S60) version instead.)
Worthy for Opera Mini and the Gmail MIDlet?
While the network access works and there’re no security problems or other bugs either (unlike with Jblend), you won’t really want to use it because of the lack of full screen support as can be seen in HERE. In this respect, later Jeodek versions (no command bar at the bottom on Smartphones) were better, let alone Jbed (real fullscreen).
Speed
niala6433 has reported in his post (see thread above) that, in benchmarks, this Jeodek version produced slightly better 3D results than Jblend. This is definitely good news.
Verdict
You should keep this KVM on your handheld too, should you run into a strictly M3G-dependent, working title not usable (or, not fast enough) under Jblend or TAO, the two other, M3G-compliant MIDlet managers.

works great

UPDATE (10/19/2007):
I’ve greatly enhanced the 3D compatibility chart with
the games linked from THIS post (three of them, EA Sports’ Fight Night Round 3 (V 4.6.0), THQ’s Juiced 2 and Falcon Mobile’s Bimmer Street Racing 3D are really kick-ass)
I’ve continued adding compatibility info with other really nice titles like Red Pyramid’s Hummer Jump And Race, I-play's Fast and the Furious: Fugitive, Digital Chocolate's Mini Golf Magic (also see THIS), EA’s Need for Speed Carbon (Xbox 360 review HERE), 3D Night Fever, 3D Rally Evolution, i-Play’s The Fast And Furious Tokyo, 3D Tron 2.0 and Gameloft's Turbo Jet Ski 3D, just to name a few.
what is more, now that I also have a Nokia N95, I’ve tested ALL the games on it too, mainly to see whether it’s compatible with (far) more titles than the Windows Mobile KVM’s (the answer is, unfortunately, no – while it does run a bit more titles, it’s in no way compatible with all older titles) and whether the 3D hardware acceleration support really increases speed.
Unfortunately, as it seems, the hardware 3D acceleration doesn’t help the speed of emulation much. Based on the JBenchmark synthetic tests, one would expect a speed increase of about an order of magnitude. The reality, however, is different: in general, games where 3D hardware acceleration works at all run on the 330 MHz TI OMAP-based Nokia N95 only run two to three times faster than on a TI OMAP-based HTC Vox clocked at the default 200 MHz. I’ll continue doing some extensive tests to find out why the results are, indeed, below expectations and why the JBenchmark synthetic tests show much better results than the real-world games really show.
I really plan to publish the Bible this weekend or early next week. I think I will be able to do so.
In the meantime, don’t forget to check out the main chart of the Bible, which has been constantly evolving in the meantime and contains a lot of tricks (for example, “how can I increase the heap memory available in Jblend? How can I make Esmertec’s MIDlet managers, TAO Intent and Jblend run on non-phone Pocket PC’s? Why I should refrain from using the latest Gmail MIDlet (I really recommend THIS MoDaCo thread, particularly my posts there, for more info on it) "on TAO / Esmertec Jeodek, and where can I download the older, 1.1.1 version?” etc.) It also has all the download links and, again, as with all my other charts, answers to ALL the question you will EVER want to ask about these applications.

Vote to Sticky!
Wow!! Lots of information! Thank you!
I honestly can say this post should be stickied.

DIE_HARD said:
Wow!! Lots of information! Thank you!
I honestly can say this post should be stickied.
Click to expand...
Click to collapse
Thanks!
It's, currently, sticky in the Smartphone general forum, until I publish the full MIDlet Bible (in the next 2-3-4 days). Then, finally, I'll make sure I put all my similar articles in the Wiki.

The next part of the series has just been published: TUTORIAL: Control issues of Java MIDlets – all secrets of button handling
It’s cross-posted to PPCT, AximSite, XDA-Developers - 1, XDA-Developers - 2, XDA-Developers - 3, FirstLoox, BrightHand, HowardForums, SPT, MoDaCo, PocketGamer.org, PocketGaming.de.

what can i do about some missing libs?
javax.microedition.io.connector.bluetooth.client?

iassael said:
what can i do about some missing libs?
javax.microedition.io.connector.bluetooth.client?
Click to expand...
Click to collapse
Not much. So far, noone has managed to "hack" BT support on the WM KVM's. See my related links in the final MIDlet Bible.

im new to this. apologies if this is the wrong forum.
i managed to get opera browser to run off my p3600i using the Esmertec's Java Midlet Manager. the one that came with the phone just hung on opera.. but this other loads it up fine.
im trying to get medal of honor working, and i keep getting an error saying
The MIDlet could not be instantiated:
java.lang.noclassdeffounderror
what does this mean, i got no idea.
cheers aron.

aron_abu said:
im new to this. apologies if this is the wrong forum.
i managed to get opera browser to run off my p3600i using the Esmertec's Java Midlet Manager. the one that came with the phone just hung on opera.. but this other loads it up fine.
im trying to get medal of honor working, and i keep getting an error saying
The MIDlet could not be instantiated:
java.lang.noclassdeffounderror
what does this mean, i got no idea.
cheers aron.
Click to expand...
Click to collapse
1, welcome to xda-dev
2, the answer, as with most my articles & related questions, can be found in the Compatibility Chart of my article, in the "!3D_Medal_Of_Honor_Airborne.jar" row. (Use Ctrl-F to quickly find it.) That is, it's impossible to make it work under Windows Mobile.

ahh ok, thanks...
thats a shame it dosent work.
cheers aron.

Related

The Guide to Emulating NeoGeo and CPS:a must if you’re into quality&FREE arcade games

The Guide to Emulating NeoGeo and CPS:a must if you’re into quality&FREE arcade games
You may have already heard of NeoGeo and the Capcom Play Systems They’re excellent 2D arcade consoles – much better than most other 2D ones. Some of the titles released for these consoles are still much better than anything comparable on Windows Mobile. Therefore, if you’re into platformer or fighter games, you MUST check out the emulators running them.
(Speaking of the the Capcom Play System, it's abbreviated as CPS and should not to be mistaken for Capcom CPS Changer. There have been three major revision of them, CPS-1, CPS-2 and CPS-3 . The latter doesn’t have many games and isn’t supported on Windows Mobile).
Up until recently, it has been pretty impossible to emulate these platforms under Windows Mobile (WM for short). If you read the only related (and highly outdated) article at pdagameguide.com, dated back to 2003, you’ll see emulating NeoGeo was pretty much impossible then – all you could do is running NeoGeo Pocket Color games, which, being made for a not very powerful handheld platform, aren’t as sophisticated as desktop NeoGeo titles and should, therefore, not be preferred over the desktop versions. (Let alone their emulators being pretty outdated and incapable; for example, NeoPocott v0.38b R1 (also see THIS) hasn’t received any update for over six years!)
Pretty recently, well-known Windows Mobile coder Masterall has released the WM port of FinalBurn Alpha, the first emulator for WM that does deliver excellent emulation capabilities and SUPERIOR speed. And it’s free – as with the ROM images themselves. Finally, in addition to emulating NeoGeo and CPS-1/2, it’s also capable of running Toaplan and Cave games.
Masterall also has some other ports he can be VERY proud of. Picodrive, for example, is the best Genesis (Sega Mega Drive) emulator I've ever seen (I’ll elaborate on Genesis emulation in a later article). He’s also the author of pocketGBAdvance, a GBA emulator, of which he’s promising a usable version very soon.
All in all, he’s pretty much comparable to the other “big” names of emulator porters like n0p (Genesis Plus/Pocket PC, PocketSNES, DOSBox and Stratagus), PocketInsanity (PocketUAE) or Sunbug.net (PocketGBA).
In addition to the related pdagameguide.com article being completely outdated, I’ve decided to write an all-in-one guide on these questions because the related information currently available is very hard to digest for a non-professional Windows Mobile geek. Hope this guide will help a LOT.
Why do I recommend this emulator and these games? Why should you bother?
Because
the emulator runs just GREAT on most current hardware, even with sound
even the most CPU-intensive games run OK (with enabled sound!) on the (for gaming) best, fastest current handhelds (Dell Axim x51v, for example)
the games are available for free
many of the games are MUCH better than anything else (comparable, in the same genre) on Windows Mobile. Very few native Windows Mobile games (for example SKY FORCE Reloaded is the only comparable title, as far as, say, 1942 clones are concerned)
if you do follow this guide, you can run these games REALLY easily - I've tried to explain it really clearly how the emulator must be configured, where to download games from, what games to get and so on
Difference between NeoGeo and the two CPS versions
Unfortunately, the NeoGeo emulation (as of the recent, 0.008 build is concerned) is certainly less featureful than that of emulating CPS games. Therefore, you will always want to check out whether a particular title is available as a CPS game and if and only if it isn’t switch to the NeoGeo version. Note that the developer has been promising fixing these problems very soon.
The problems with the NeoGeo emulation are as follows:
with NeoGeo games, it’s not possible to save / load game states, unlike with CPS games. This is a big problem if you would like to continue your game after exiting FinalBurn
auto fire doesn’t work with them either (while it worked with all CPS games I’ve tested)
Getting, installing
Get the latest version in the first post of the the official FinalBurn thread at Modaco – it’ll always have the latest version (you will need to register your nick in there).
That there are four RAR files there. One is named FinalBurn.rar. This is the WM executable. The other three contain the desktop Windows version of the emulator, are named fbauds.part01.rar … fbauds.part03.rar and should only be got if you will need to create cache files of the titles you’d like to play. Use WinRAR.
Note that the latter emulator does differ from the official desktop Windows version of FinalBurn Alpha downloadable here. The latter is far newer (and is, therefore, preferred to the version available at Modaco) but doesn’t support creating cache files. That is, do download the fbauds.partX.rar’s too. (And, again, you may also want to download the official desktop Windows version of FinalBurn Alpha here, should you want to play the titles on your desktop computer.)
To play NeoGeo games in the emulator, you will also need to acquire the ROM BIOS file, Neogeo.zip (you won’t need to do this if you ONLY want to play CPS games!). This ZIP is different for the desktop Windows version (downloadable here; also see THIS) and for the WM version (accessible here). Put the ZIP file (do NOT decompress it!) in the ROMs subdirectory of FileBurn (with the desktop version, you can also put it in the home directory where the main executable EXE file resides – it’ll find it. The WM version won’t), which is auto-created upon the first execution of the emulator (see later).
Finally, for the desktop version, you will also need kailleraclient.dll. It’s for example available in the official desktop FinalBurn Alpha distribution - just download the ZIP file and it’ll be right in it. You won’t even need to start the main executable, fba.exe. Or, alternatively, get it HERE as a separate download. Again, this only applies to the desktop version – with the WM version, all you will need to do is getting Neogeo.zip and copying it to the ROMs directory. Note that you may also need to download and install the free DirectX 9.
Game ROM’s you download must be put under the ROMs dir as ZIP files (that is, you don’t need to decompress them). This directory will be automatically created when you start the executable on both the desktop (fba.exe with the official FinalBurn version, fbaud.exe with the cache-generating debug version) and mobile (FinalBurn.exe) Windows.
Getting games (ROM images)
Probably the best ROM source is emuparadise.org, where you can download a lot of games from. The games there are all in a format compatible with the emulator. Note that this doesn’t necessarily mean ALL the available titles are indeed compatible: it’s only with CPS games that they are. There are still a lot of NeoGeo games that are just plain incompatible (and aren’t even listed by FinalBurn as compatible). Nevertheless, the ones that are recognized are, in general, really worth playing.
CPS-1 ROMs should be here (but seems to be empty now); CPS2 here. Finally, NeoGeo ROM’s are here.
Keep in mind the following while downloading files from emuparadise.org:
you can only download one ROM image at a time. emuparadise.org, in addition to checking the same browser instance, also check for the same IP. That is, you can’t fool the server into thinking it’s serving another completely independent user when you leech images from IE and Firefox at the same time.
don’t use Internet Explorer to download images because it’ll very often time out. Prefer Firefox (Mozilla) – it has never timed out on me, as opposed to (the latest version of) Internet Explorer.
There are a LOT of very cool games in there; games that are MUCH better than most (or, with horizontal scrollers, ANY) comparable, native titles on Windows Mobile. There is nothing on Windows Mobile comparable to, say, Metal Slug. Yes, FirePower-onrush uses a lot of textures / graphics from Metal Slug (see Sponge’s comments HERE, after my review, for more info on this) but is still WAY worse.
I’ve also tested many titles under the emulator, in the next subsection, I list and elaborate on them.
NeoGeo titles, links & compatibility reports
Captain Tomaday: works great (kids’ vertical scroller)
Ghost Pilots: great, even at 44 kHz (let alone 8!) (vertical scroller)
NAM – 1975: Operation Wolf clone: works great, even at 44 kHz, highly recommended if you like
Metal Slug 2: One of the BEST! A MUST!
Metal Slug 3 : in order to run this title on anything with less than 128M RAM, you will also need to download the non-encrypted version in addition to the default one. Make sure you run the latter on devices with free RAM less than 40 Mbytes.
Metal Slug X: Great game, working also great
Samurai Shodown: works great, even at 44 kHz
King of the Monsters: OK, even at 44k
A list of, as of the current version, some non-recognized games:
Metal Slug 1
The Last Blade
Blazing Star
Metal Slug 4
(both versions of PocketCultMAME recognize them but can’t run. The desktop MAME runs them all. The desktop FinalBurn Alpha doesn't.)
As of now, it’s pretty futile to try to download these games. The situation may change in the future, though: FinalBurn Alpha is constantly been updated to support as many NeoGeo games as possible.
CPS-2 titles, links & compatibility reports
1944: a really good 1942 clone! A must have!
19xx: another excellent 1942 clone, works great even at 44kHz! Another must have!
Alien vs Predator: fighting, not that good IMHO
Armored Warriors : not very good either
Battle Circuit: side scroller, not very interesting
Dimahoo: too, another good 1942 clone (not as good as 1944 / 19xx though)
Eco Fighters: side scroller, not very interesting; you still might want to give it a try
Night Warriors: typical Street Fighter clone
All these games run flawlessly, mostly with 44 kHz sound, on the x51v – and even on the HTC Wizard (with, particularly with 19xx, 8 kHz sound). The 520 MHz WM5 VGA HTC Universal is pretty bad (very slow) for emulation, so is the 624 MHz WM5 (2.01) VGA HP iPAQ hx4700 (which is only a tad better and DOES require and external BT game pad because of the completely gaming-unfriendly touchpad). The WM2003SE VGA Fujitsu-Siemens Pocket Loox 720 is acceptable (but, of course, visibly / audibly worse than the x51v), so is the WM2003 QVGA HP iPAQ 2210.
Also note that FinalBurn Alpha supports (almost) all CPS games, unlike with the case of NeoGeo.
Using the emulator I – starting games
The desktop and the WM versions of the emulator are, fortunately, pretty similar. This means if you learn how, for example, the ROM selection screen works, what the main directories of the emulator are etc. in the desktop version, you will also be able to utilize this knowledge under WM.
Starting the emulator is pretty easy: just start the main executable file (after decompressing it anywhere (under Windows Mobile, preferably to a memory card because it’ll look for the ROM images in a subdirectory) and, with the debug desktop version, also adding kailleraclient.dll): fba.exe with the official desktop FinalBurn version, fbaud.exe with the cache-generating debug desktop version and FinalBurn.exe on the Pocket PC.
When first run, the executable file will also create the necessary directory structure, including the ROMs subdirectory. You can start putting your ROM games in there (and, of course, Neogeo.zip containing the NeoGeo BIOS if you do want to play NeoGeo games). Under WM, you’ll be presented the following screen:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Here, go to File / Load Rom. It’ll present a long list of all games compatible with FinalBurn. You don’t necessarily want to see this list but only the accessible AND compatible games; therefore, you will need to tick in the “Show Only Available” checkbox at the top. Now, the listing will become far more manageable as it will only list the games that you can run:
By single-clicking an item in here, the emulator starts it after creating a so-called ‘cache file’ as can be seen in here.
Creating cache files can be a real nuisance. If you do this on your handheld, it may take quite a time (1-2 minutes at most; if it takes more time, you can be pretty sure your handheld has crashed and needs to be reset). Furthermore, with ZIP files exceeding 50-60 Mbytes (for example, the excellent platformer Metal Slug 3, which is a whopping 79Mbytes), all your dynamic RAM memory (independent of the available free memory on your storage card or internal storage) will be all quietly consumed and the handheld will either crash (as is pretty common with WM5+ in these cases) or just display it has run out of memory (with WM2003(SE)).
Therefore, if you do encounter such situations, you will want to create the cache images on the desktop Windows, using the above-introduced debug cache-creator version of FinalBurn Alpha. To do this, just start fbaud.exe (after copying neogeo.zip and the ROM image ZIP of the to-be-converted game to the ROMs subdirectory), go to Game / Load Game (F6), select the game you’d like to convert (screenshot here; I’ve also made sure to hide non-available titles by ticking in “Show Available Only” (see the mouse cursor) and click OK. The cache file will be created and named exactly the same as with the ROM ZIP file name – with the extension “cache”. That is, for example, if you create a cache file of the unencrypted Metal Slug 3 (mslug3n.zip), the related cache file will be named mslug3n.cache. It’ll be put in the “cache” subdirectory of the desktop emulator. Make sure you copy this file to the memory card, in the same ‘cache’ directory. It’s also here that other cache files are stored.
By the way, don’t forget to delete partially created cache files from this directory (that is, files that weren’t finished because of the dynamic RAM memory or the storage card getting full). Messed up cache files are the main reason for messed-up graphics in the emulator.
Now, after having created the cache file, the game will start. You will, however, need to do some additional configuration to be actually able to play games. This will be needed to done only once – fortunately, the configuration options you make will be stored in the cfg directory. BTW, these files are all human-readable and editable; they contain the game-specific button settings. That is, the ones you’ll always need to set up.
The first step in making the games playable, after loading them, is setting up the hardware buttons.
Using the emulator II – setting up the buttons
After you’ve loaded a ROM image (and clicked the screen so that the execution stops and the menu is displayed), you must go to Options / Keys. It’s there that you must assign hardware buttons to functionality.
Doing this is pretty simple: you click an on-screen button and, then, press the hardware button you’d like it to be assigned to. For example, click the Coin and, after this, click a button you’d like to use to simulate feeding money into the arcade machine (the first step in starting a game; after this, you’ll also need to press the Start button). You will also need to assign the A, B, C and, with NeoGeo, D hardware buttons too. (These will have different functionality: for example, in Metal Slug, firing, jumping and throwing a grenade. Button D isn’t used.) Note that the emulator also supports WM5 hardware soft keys as can also be seen in the screenshot below (C and D buttons). If your mobile has a built-in keyboard, you can also use most (not only alphanumeric) keys on it.
You will also need to set up the D-pad directions; always treat the D-pad in Portrait mode, even if the game itself is in Landscape.
You can also tick in the “Enable Auto-Fire” checkbox if you want auto fire; remember, however, that it, currently, only works with CPS games, NOT with NeoGeo ones, unfortunately.
A typical screenshot of setting up the hardware buttons is as follows:
Finally, keep in mind that you can only set up the buttons for Player 1 in here. Should you also want to set up the Player 2 buttons, you will need to edit the game configuration file in the cfg subdirectory.
Using the emulator III – setting up the on-screen keys
If you have a mobile device with a touch screen (that is, not a plain MS Smartphone / WM6 Standard model) AND your device isn’t a 2.8” HTC model (HTC Wizard, Trinity etc.), you will also find on-screen buttons REALLY useful.
In Options / Screenpad, you WILL want to tick in “Enable Screen Keypad”.
I recommend staying with Mode 1 (emulating fire buttons on the screen) – Mode 2 emulates the D-pad in there. Click OK.
Note that
these settings are NOT game-specific (unlike assigning buttons); you’ll only need to set it once; preferably right after the first execution of the emulator.
as has been pointed out, you won’t necessarily want to use on-screen buttons on HTC’s new WM5+ devices having the standard 2.8” QVGA screens. These devices, unfortunately, all exhibit a VERY bad digitizer bug explained for example HERE. This means if you constantly tap and hold the screen (for example, to activate auto fire with CPS games), the CPU will need to spend a lot of time on serving this and the emulation speed will drop considerably, which will be very annoying particularly if you enable sounds. That is, if you do need auto fire, then, use a hardware button instead of the screen with these models.
Using the emulator IV – setting up the sound
Finally, particularly on slower models or with CPU-intensive games like all parts of Metal Slug, you will want to make sure the sampling rate is either set to the minimal 8 kHz or the sound is completely disabled.
Go to Options / Sound and set the sampling rate accordingly. If the sound is unbearable even at the minimal, lowest-quality 8 kHz, disable it completely. Otherwise, with non-CPU-intensive games and/or on, for gaming, very fast handhelds (like the Dell Axim x51v), you will want to turn it up to 22 or even 44 kHz as can be seen in here.
Note that you’ll need to reload the actual ROM image for these changes to be heard.
Fortunately, most games will work with enabled sound even on slow(er) models like the HTC Wizard (overclocked to 260/273 MHz). You will only encounter sound choppiness with very few titles; most importantly, with Metal Slugs, which do have a choppy sound even at the lowest-quality (8 kHz) setting on even the Dell Axim x51v running at 624 MHz.
Using the emulator V – setting up the orientation
If the game you’d like to play uses Landscape (only few titles like, for example, 19xx, use Portrait), you’ll want to know the emulator uses Landscape Right by default. If you’re right-handed (and, therefore, want the D-pad on the left of the screen), you’ll want to switch this to “Landscape Left” in Options / Display.
Using the emulator VI – resuming the game; suspension concerns
Now that you’ve set up everything, you can run the game. If it’s NOT a NeoGeo game, you can save / load the state any time you want, using any file name (that is, you can have any number of states for any games).
Note that the emulator is prone to crash if you suspend (and, then, resume) a game while it’s running off a storage card. To combat this problem, you will ALWAYS want to pause the game first and only then suspend the machine and only resume the game 3-4 seconds after powering up the handheld again. During these 3-4 seconds, the handheld will have sufficient time to recreate the storage card file handles.
This helped me a lot. If you, however, still encounter crashes after this (which can be a REAL pain in the back, particularly if you’re well into a game like Metal Slugs and don’t want to replay the first few maps), copy the entire directory structure to the main storage, where storage card handle invalidation isn’t a problem.
As both ROM images and, particularly, cache files can take up pretty much memory, the latter is really only usable on devices with 256+ Mbyte built-in storage (like the Dell Axim x51v). Most current devices with 128M built-in Flash ROM can only have few (if any) games in the main storage.
Note that you can pause the game by tapping the screen. If you have enabled on-screen buttons, in an inactive area; if you haven’t, anywhere.
Saving / restoring game state
You can also save / restore the game state (after you’ve loaded the particular ROM).
As the emulator uses the standard operating system-level file access dialog, it’ll
list all the files under My Documents, the root of storage card(s) and one subdirectory under them
only lets for saving to these locations.
In the official FinalBurn thread at Modaco many people recommend Tillanosoft’s tGetFile to fix this problem. I don’t, because it’s a commercial application. Use Mad Programmer’s free (!) File Dialog Changer instead. Its installation is explained in HERE.
Note that, again, this only works with CPS games, NOT NeoGeo ones! This may change in the near future.
What about MAME ports, you may ask
You must have heard of MAME, the well-known emulator project, of which PocketCultMAME is probably the best port (also see this PG thread), also offering a lot of features (feature-wise, it’s excellent).
While, on a sufficiently fast desktop computer, the NeoGeo emulation of MAME isn’t worse than that of FinalBurn, under Windows Mobile, the situation is completely different.
Unlike with the desktop MAME (which can be pretty hard for a newbie to use without a front-end), the Windows Mobile port, PocketCultMAME is pretty easy to use. After decompressing the distribution file (and, with the 0.5 preview, also overwriting one of the EXE files with the separately downloadable NeoGeo update), copying your ROM ZIP’s to the ROMs subdirectory and starting PCMAME.exe (with 0.5, PocketCultMAME.exe), it lists the available titles.
Too bad its NeoGeo compatibility is really bad. For example, the latest version, 0.5WIP (with, of course, the NeoGeo update patch) couldn’t run any of the NeoGeo games I’ve thrown it at (without converting them to another format). It’s only the NAM-1975 title screen that it gets to – but, after you insert the virtual coin and start the game, it exits, as with all the other tested titles. The old version, 0.4a, is similarly incompatible.
In the Modaco thread, some people have also reported being able to run Golden Axe under PocketCultMAME. However, the speed was clearly inferior to that of FinalBurn Alpha – that is, it’s just not worth the effort.
That is, for the time being, you will want to forget (current) MAME ports entirely – if you need NeoGeo or CPS games under Windows Mobile, the only way to go is FinalBurn Alpha. The only real utility of it is the broader compatibility of the desktop MAME with existing NeoGeo titles – for example, it was able to play Metal Slug 1, unlike with (both the desktop and the mobile version of) FinalBurn Alpha. I’ll report on updates / enhancements / optimizations to PocketCultMAME. In the meantime, stick with FinalBurn Alpha on your Windows Mobile handheld.
(Note that FinalBurn also runs on the MS Smartphone platform!)
thank you so much for this great guide. i was playing metal slug on FPSEce, but i think it might run much faster on an NeoGeo emulator than a play station emulator especially that i have k-jam (wizard). i was overclocking to 260 without the boost. i think i must try it with the boost even if i get only 1 extra FPS it is still worth it. thanks again mate.
i too tried some of the demo games on FPSEce, couldnt be bothered to get my disks and rip them... though might do it later my biggest problem is the controls, the i300 has some extra buttons that could be used, i seen some articles about maping but they all have to do with reg edit, i wish for a program to capture or remap to run as some kind of plugin, to use ALL the buttons, all but the on/off reset cause that would suck heh, but the call, win key and the ok/close buttons are all a must IMO, even the volume button can be used, for buttons such as select/menu/start etc...
FPSEce ran ok with the demo, but without proper controls not that playable, the fps was decent too, with this cpu, im just wondering if these emu's will utilize any other co processors... such as most have them im sure... how else are we able to play/record in mpeg4 and the such
thanks for showing that emu here. its one of best emus available, just try blazing star to get image of what masterall have done for emu fanatics.
+1 for you, too.
emu fanatic..
btw, isn't it sad, that i STILL cant have snes emu with sound on wizard? i've checked every that exist.
Alien vs Predator: fighting, not that good IMHO
Armored Warriors : not very good either
Battle Circuit: side scroller, not very interesting
Click to expand...
Click to collapse
...BLASPHEMY. <_<
Then again, playing 'em on your PPC is probably pretty awkward, without a BT gamepad.
In any case, I love this emulator, and I'm waiting patiently for Ninja Masters to be loadable.
(I need to get a better unit than the Atom. Sheez.)

The only REAL guide to emulating TurboGrafx-16 (PC-Engine) in Windows Mobile

NEC’s TurboGrafx-16 (also known as the PC Engine) is a well-known and, at least in Japan, hugely successful fourth generation (8/16-bit combo) gaming console.
It was released (October 30, 1987) about a year before Sega Mega Drive (Genesis) (October 29, 1988) and three years before Super Nintendo Entertainment System (SNES) (November 21, 1990), the, technically, directly comparable, other fourth generation consoles. This means it was probably the first real competitor to NES having decidedly better hardware capabilities (for example, MUCH better and stereo sound), even if you take the custom chips (“mappers”) of the latter into account. This also means emulating a TurboGrafx-16 game may result in a much better experience than a NES game - TurboGrafx-16 games have generally MUCH better sound and somewhat better graphics than NES ones.
It also had several quality titles; most importantly, the three-part Bonk series: Bonk’s Adventure, Bonk's Revenge (which was only ported to the GameBoy, unlike the first part; the latter had an Amiga and a NES port too. Note that the Amiga port is a free, official download, along with Katakis and R-Type) and, finally, Bonk's Big Adventure. These games are of pretty much the same quality as the Sonic series on the Genesis and the Mario series on the Nintendo consoles. Also see The Bonk Compendium for more info on these three titles. I've also taken a shot of a related article from the 07/1992 issue of German games magazine Power Play:
There are some other, remarkable games on the platform. For example, because of the hardware superiority to the other consoles (but not the Commodore Amiga!) of the time, its Turrican port was excellent and is well worth playing even now (if you don’t have the Genesis version or can’t play it). Also see THIS and THIS for a complete list of TurboGrafx-16 games.
Fortunately, there are some usable emulators for Windows Mobile capable of emulating TurboGrafx-16. Read on to find out what they are and how they compare.
Why should you bother?
While the currently available emulators are in no way up to par with, say, the emulators of NeoGeo, Genesis, SNES or NES (see my earlier roundups of ALL these platforms), you may still have a good time playing these old TurboGrafx-16 titles. Again, don't forget that, technically, these games are pretty good, particularly if you also listen to game music / digitized sounds. NES games had (unless they used some custom sound chips, "mappers", as is explained in my previous, NES-related roundup), in general, very simple in-game music; TurboGrafx-16 games, generally, are much better in this respect. That is, if you, for example, have a game in NES and TurboGrafx-16 formats only, you may want to prefer the latter because of the better music / sounds / graphics.
Current Windows Mobile devices run the currently available emulators without problems; this even applies to devices equipped with the "slow", 195 MHz TI OMAP CPU if you overclock them to 260-273 MHz (unless you use SmartGear, which makes it possible to avoid overclocking).
Why a full roundup?
As with my previous emulation-related articles (see the reader feedback (also at AximSite and at PocketGamer.org, the leading Windows Mobile gaming site, where the SNES roundup has also made its way to the frontpage) I’ve received to my, say, SNES emulation article), it was because of many reasons that made me publish this roundup:
There are absolutely no comparative, let alone up-to-date roundups on emulating this platform.
There are a LOT of apps to choose from (see Michu's related, excellent link / archive repository HERE), which really makes a newbie cry, given that there has been almost no comparative information on these titles on the Internet.
Users’ reports you can run into in different Windows Mobile forums are really unreliable. So are the advertisements of some software developers ;-) (never EVER believe any advertisement without reading an unbiased expert’s report / evaluation!)
Finally, the generic games (which I and Allen Gall have cleaned up last year - after that, we haven't received any criticism) and, particularly, the Emulators category received so much negative criticism (see for example THIS and THIS) before my starting to completely update & rework the annual Best Software Awards at Smartphone & Pocket PC Magazine that I found it absolutely necessary, now that I’ve been appointed the Awards Nomination Manager, to, finally, show the whole world the right person (someone that REALLY knows what he’s doing and REALLY knows everything about the available software titles for Windows Mobile) was chosen for this task .
Getting ROM's
As usual, I am not allowed to give you direct links. If you, however, know what Google is, you already know what you should do ;-) Of course, you must own the original cartridge of all games you download.
After you've downloaded your ROM files, transfer them to your mobile, after unZIPping, if the particular emulator doesn't support archived images. (See the File handling: ZIP row in the Comparison Chart).
Please also see the remarks on Mad Programmer's File Dialog Changer for more information on where the ROM files should be placed on a storage card or the internal memory.
Available Emulators I - Recommended ones
1. MorphGear 2.4.0.9
MorphGear is a multi-purpose emulator for Windows Mobile. While, in general, it's a bit (or, as far as SmartGear is concerned, a lot) slower than the other, recommended emulators, it's pretty good in the following respects:
it supports Landscape
it has no known MAJOR bugs, unlike, say, PocketEngine (under WM2003+) and XPCE (sound desynchronization)
it is free.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Unfortunately, in addition to speed issues (which, again, ONLY affect slower devices - all games run flawlessly on my 624 MHz Dell Axim x51v under MorphGear), it's the only emulator NOT to support stereo sound with TurboGrafx-16 games (all the other games have stereo sound; most games are stereo and MUCH more fun with stereo enabled). This is another problem with the emulator. Hope it will be fixed some time - it can't be THAT complicated.
Getting and installing MorphGear is easy: download THIS (main program) and THIS (TurboGrafx-16 module) CAB files; unzip them, transfer them to your PDA and click them for installing. Then, click the new MorphGear icon in the Programs / Games group. Click the
icon in order to select a ROM to load. After this, the game will start (if it’s compatible).
Note that, if you transfer your ROM images compressed with ZIP, you will explicitly need to switch to displaying ZIP files in the file dialog box.
2. SmartGear 0.12
SmartGear, introduced in the NES article, is a REALLY- REALLY fast emulator - WAY faster than any of its alternatives. Unfortunately, this comes at a price: it's incompatible with many titles the other emulators are compatible with. In addition, it's a commercial application - but, taken the speed and the number of systems it emulates into account, it's still a excellent tradeoff. Finally, it's useless on high-resolution ((W)VGA) devices.
However, if you have a slow(er) Windows Mobile device and / or you don't want to / can't overclock it, SmartGear will become a very nice alternative to anything else. Also, it’s the only alternative when you want to play all the available Bonk titles. The same stands for underclocking your otherwise very fast and responsive (say, 624 MHz Xscale-equipped) mobile to save (considerable) battery life. Sticking with current Xscale-equipped devices, at 208 MHz, the emulation still works flawlessly (unlike with any of the other titles).
Please read the NES roundup for more info on using and configuring both MorphGear and SmartGear. Note that, as far as the former is concerned, the module name is "HuGo (TurboGrafx-16)" - look for this one when you change its settings:
3. PocketEngine 1.0 beta 1
This free and, unfortunately, long abandoned emulator would be excellent because of the Landscape support and sufficiently large on-screen tap areas (in Landscape) - the two main advantages of this title.
Unfortunately, it's plain incompatible with all operating systems starting with WM2003 (including, therefore, WM2003, WM2003SE, WM5 and WM6 and only excluding PPC2k and PPC2k2). Pressing Button 1, which is used to pause the emulation of the current title and bring up the menu completely crashes all (more) recent operating systems. However, if you do learn to live with the bug (for example, you don't want to frequently change the game you play and resetting the device after finishing playing isn't a problem), you may find this title excellent because of the above-mentioned landscape and screen tap zone support. It's also compatible with VGA devices (unlike SmartGear) and has no sound problems (unlike XPCE ver0.22).
The other major problem with the title is the lack of save loading/saving support, as opposed to (almost) all the other titles.
The menus of this title are really simple, unlike most of the alternates (1 2 3 4).
Available Emulators II - Non-recommended ones
XPCE ver0.22
This title wouldn't be THAT bad - if it had decent sound support. Unfortunately, it doesn't have - it has awfully desynched sound makes this a bad choice – unless you are ready to play without sound.
To find out how bad the sound support in this emulator is, listen to the music of any game having a, say, rhythmical music (for example, the in-game music of Bomberman '94). You'll see the emulator completely messes up the rhythm of the track. Unfortunately, disabling auto frameskip (the trick that helps with many SNES emulators upon encountering the same problem) doesn't help either.
bfEngine v0.1b
This title is REALLY bad. It has a very low compatibility ratio. And, if is compatible with something, it’s way too fast - unless you enable Throttle in the settings (see the link for other settings capabilities). Finally, it has no sound support at all. Absolutely not recommended.
TGEmuCE
(the homepage of the developer doesn’t list it; neither does its Download section)
This is another title you'll want to avoid. It's VERY slow and the frameskip parameter (Option / Misc) doesn't help this at all (I bet it doesn't even try to read this value under Windows Mobile - the app is a native WindowsCE application). What is more, the settings you (manually and VERY awkwardly – examples: 1 2 3) enter in the configuration dialogs don't stick - they're all forgotten upon restating the emulator. All in all, it's in NO way recommended.
Finally,
YameCE 0.38g
(the old homepage doesn’t work any more)
This emulator was supposed to be a direct port of the, on desktop Windows, (some 8-9 year ago) well-known, (then) pretty good and compatible multi-console Yame emulator.
Unfortunately, the project was discontinued back in 2002 and, now, it's REALLY hard to get hold of the emulator - except for Michu's homepage (ARM download HERE), you can get it nowhere else.
Unfortunately, the currently available only version (the latest one), 0.38g, doesn’t support TurboGrafx-16 on Windows Mobile models with ARM CPU’s - that is, ALL Windows Mobile devices starting with the Pocket PC 2002 operating systems. This is caused by, as is stated by many, a compiler problem. Previous versions (0.38f, 0.38e etc.) did still support TurboGrafx-16 but these versions are, unfortunately, nowhere to be acquired.
If YOU have them (preferably 0.38f) somewhere lying around, PLEASE let me or Michu know so that we can make it online! It'd be REALY worth making it public again because the Yame emulation core has better compatibility ratio than other cores currently used in Windows Mobile emulators. For example, it's the only emulator to correctly (without major bitmap problems) run Street Fighter II Champion Edition and Shinobi.
It's only on VERY old MIPS devices that you can have TurboGrafx-16 emulation (the MIPS build doesn't lack TurboGrafx-16 support as can be seen in, for example, THIS screenshot taken on my E-125). For this to happen, however, you must have a Casio Cassipeia E-750 overclocked to 280 MHz so that you can have usable emulation speed. On a 150 MHz E-125, emulation is uselessly slow even with the sound disabled. See the Bible of Windows Mobile Games – Part I for more information on MIPS devices.
Also see THIS, THIS and THIS for more info on the lacking TurboGrafx-16 support of version 0.38g.
Emulators for the desktop Windows
You may also want to know how you can run TurboGrafx-16 games on your desktop computer. As the related Wiki article is just a list and doesn’t contain any evaluation / recommendation / comparison of the available desktop emulators, I've decided to review and compare them too.
The four recommended titles (Ootake 1.03, Xe (Build: Nov 1 2006), Magic Engine v1.0.0 pr10 and Yame 0.38) are elaborated on and linked in (with several screenshots) from the Comparison Chart. In here, I only list and quickly elaborate on the desktop emulators that I do NOT recommend.
Hu-Go: couldn’t start it (even when installing GTK). BTW, this is what the MorphGear module is based on.
The in 1999 discontinued xpce v0.11a crashes upon trying to load anything.
Mednafen: doesn’t start on my XP desktop.
PC2E: as can be seen in here, the emulator is no longer available for download
The comparison & compatibility chart
It's HERE. DO CHECK IT OUT, it contains a LOT of additional information best elaborated on in tabular format!
As with all my previous emulation-related articles, I've made a LOT of real-world compatibility tests with both the freely and legally downloadable Chris Covell's Creations and commercial games.
As can be seen, current emulators, except for the non-VGA-compliant SmartGear, can't run all parts of the Bonk series (only the second one - except for MorphGear, which crashes on the first in-game screen).
None of them (except for the, currently, as of 0.38g, MIPS-only YameCE) is able to correctly render the bitmaps in Street Fighter II Champion Edition and Shinobi either.
As the current desktop emulators - even free, open source ones - have no problems running these programs (see the compatibility info in the chart), someone (Masterall?) may REALLY want to consider porting a CURRENT emulator core to Windows Mobile with all he necessary goodies (stereo sound, Landscape support and on-screen tap areas) so that all (including all the Bonk) games become playable.
Recommended links
Chris Covell's Creations - free graphical demos. Note that they won’t really do what they are supposed to on the Pocket PC!
Michu’s related link collection
My other game emulator reviews in the Games section of the Smartphone & Pocket PC Magazine's Expert Blog. 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 these articles - nowhere else will you find a better source of emulation-related information, I'm absolutely sure.
UPDATE (05/28/2007): New, 0.24 version of excellent multiplatform gaming console emulator SmartGear out! It is definitely an enhanced version with a lot of new functionality (lowered CPU usage (no need to underclock your device to conserve battery life), configurable rapid fire, working Landscape support with NES emulation, in-game menus now accessible, screen size settings, new, even more effective “quick and dirty” rendering mode) and fixes some problems. Unfortunately, it still has the same, not very good game compliance ratio and still doesn’t support high-res VGA devices.
See THIS for more info. Note that I will NOT edit the original article below to reflect the changes – after reading the original article, move on to reading the changes so that you’ll see what has been changed.
UPDATE (05/25/2007): getting the Sticky status, along with ALL my other emulation-related tutorials & roundups, in the Emulators forum of one of the most active Windows Mobile forums, AximSite. By no other than Michu, the manager of the well-known Emupage! This certainly shows – along with the other for example PocketGamer.org and YAMM frontpages – these tutorials & roundups are simply the best.

Emulating home computers on Windows Mobile Part IV - Commodore 64

The Commodore 64 (C64) is the most successful home computer ever manufactured. This also shows in the number of the software products (mainly games) released for the system.
Fortunately, Windows Mobile, both the traditional Pocket PC and the touch screen-less Smartphone version, has pretty good Commodore 64 emulators.
In this roundup, I elaborate on them all on both platforms. I also present a small gift to the entire QVGA (320*240) MS Smartphone community: a C64 emulator, hacked by me, which does make use of the entire QVGA screen, as opposed to the pre-hacked state. And, of course, the roundup itself is also a nice present: as with all my other emulation-related articles, nowhere else will you find a better, more thorough article on all these subjects, I think
1.1 Is Windows Mobile-based C64 emulation worth the trouble at all?
As opposed to, say, emulating the Amstrad CPC or the Commodore Amiga, the answer is YES, for two reasons.
First, the device has a plethora of good (!) games. While the same games typically exist on other platforms (back in the eighties, games were released for several computer and/on gaming console platforms at the same time), the C64 had a more game-friendly hardware when compared to most home computers (and even some dedicated gaming consoles) of that time.
This means for example the C64 version of the classic game "Uridium" is orders of magnitude better than, for example, the very slow and in no way spectacular (not even mentioning its also sub-par sound / music) ZX Spectrum version. With other games, the differences may not be so apparent (after all, Uridium used the superfast character mode on the C64, unlike on the ZX Spectrum, where it needed to do some heavy bitmap moving), but, generally, if you can, say, only choose from a ZX Spectrum, an Apple II, an Amstrad CPC and a C64 port, check out the latter first for the best possible graphics / sound. (The only exception is the high-resolution mode of the Amstrad CPC, which results in particularly text-based adventures' delivering a much better gaming experience. Unfortunately, as PocketCaprice doesn't support the high-resolution mode on VGA devices, this advantage is non-existing on our mobile platform.)
Second, as opposed to emulating the Amiga, Windows Mobile-based C64 emulators have no speed problems at all - not even on very slow handhelds. While it's impossible to play most Amiga games on even the fastest Windows Mobile devices without stuttering sound, C64 games run on even on lowest-end, 7-year-old models without problems. This also includes today's TI OMAP-based models, of course.
Supporting low-end hardware, fortunately, also means support for even low-end, low-resolution (176*220) MS Smartphones. As the Smartphone platform has way fewer games than its big brother, the Pocket PC, emulation becomes even more important. While, fortunately, there are some really excellent gaming console emulators for MS Smartphones (even 176*220 ones) - for example, Masterall's emulator masterpieces and SmartGear, home computers are generally not emulated on the platform (that is, there are no for example Atari ST or Amiga emulators for the MS Smartphone). The lack of (home computer) emulators and native games makes it very important for any MS Smartphone user to have access to a plethora of C64 games, which are, with many titles, perfectly emulated even on low-end, cheap mobiles.
1.1.1 When to stick to emulating another platform?
Of course, not all titles should be played in a C64 emulator. For example, when a particular title also exist for the Nintendo NES, the SNES, NEC’s TurboGrafx-16 (PC Engine), the Sega Master System (SMS), Genesis / Mega Drive or Game Gear, going for these emulators may turn out to be a better choice. (Please do click the links for the complete rundown of the Windows Mobile emulation possibilities. Also make sure you follow the other, for example Amiga / Atari ST / Amstrad CPC / IBM PC links to emulating home computers.) With the exception of SNES, the emulators of these systems are also very low-end handheld-friendly and the games, in general, are at least as good as on the C64.
This is particularly important when you don't want to shell out any money for the emulators - the free C64 emulators are WAY worse than many console emulators, compatibility- and controllability-wise. For example, the best free C64 emulator, PocketHobbit, doesn't support redefining fire buttons (let alone providing rapid/auto- or screentap-based firing) and defaults to application buttons traditionally found next to the D-pad. This means you can only play games heavily relying on both the D-pad and the fire button in the not most ideal Portrait orientation. As opposed to this restriction, most of the above-linked, free (!) console emulators either support touchscreen-based firing or, at least, button redefining capabilities so that you can assign the fire functionality to a button much easier accessible with the right hand (assuming you're right-handed and use your left hand to control the D-pad) when in Landscape orientation.
Of course, these issues don't exist with PocketCommodore64, but, as opposed to almost all of the recommended gaming console emulators (even including the otherwise commercial SmartGear, which is freely registered for users that do provide feedback on compatibility issues), it's commercial.
That is, in general, if you plan to play a given title but would like to get the best gaming experience, go to Wikipedia, look up the given title and check out what other platforms it has been ported to (it’s listed in the text box on the right, in the “Platform(s)” row). In general, you can safely ignore the Acorn Electron, Amstrad CPC, Apple II, BBC Micro, ZX Spectrum and the Commodore Amiga (as long as you want sound) computers. If there is an Atari ST port (another, more advanced home computer with excellent Windows Mobile emulation capabilities), you may want to check it out; as is the case with the NES, SNES, SMS, PC Engine, Genesis and, in cases (only as a last resort – the Game Gear has a low-resolution screen, which you may not particularly like), the Game Gear ports. Most of these games / ROM's are available on the Web. In my past articles, I've explained how you can find these titles and what you will need to play them on your Windows Mobile device.
The same stands for games that have a native Windows Mobile interpreter; for example, Magnetic Scrolls or Lucasarts titles.
Finally, the case is the same with titles that are plain incompatible with the C64 emulators available on Windows Mobile. There are only few of them (and this number will decrease even further when the brand new & completely redesigned version of PocketCommodore64 is released); still, it's good to keep in mind that, with most games, you have alternative platforms like SMS well emulated under Windows Mobile.
An example of titles that belong to this ("you need to find an alternative platform because current C64 emulators are plain incompatible with the title") category is the well-known, famous Impossible Mission. While some people (including the developer of PocketCommodore64) had success with emulating this title on Windows Mobile, I haven't managed to do so, not even after testing four different, independent versions (using the traditional parlance, "cracks") of the original game and, of course, actively trying to make the emulators run in NTSC mode. (The original Impossible Mission, along with some cracked versions, are NTSC.) With this title, the only way of playing turned out to be emulating SMS with, say, SmartGear.
The SMS version of Impossible Mission is of even better quality than the C64 one, with all the goodies like digitized sound. Not so with the ZX Spectrum and the Amstrad CPC versions - they not only lack digitized sound, but are also uglier and have less sophisticated graphics - that is, as has already been pointed out, should be avoided.
1.2 Downloading C64 games / apps / demos off the Web
All emulators are common in that they, generally, read standardized file formats. If you're new to C64 emulation, you need to know about .d64 disk images, .t64 tape images and, finally, directly exported .prg files. (There are some more obscure file formats as well, for example, the cartridge formats.) A decent emulator should handle at least the first, D64, as the vast majority of the titles are in this format. D64 is exclusively used to store the data / dependent / overlay files of programs not available in a one-file (.PRG) version and, generally, can't be converted into a non-D64 format (back in the Golden Age of the C64, when disk drives were really expensive and a lot of C64 users just couldn't afford them, it required a lot of work from crackers to make an initially disk-only application fit into the cassette format, preferably contained in one-file); this means the lack of D64 support means you won't be able to play games arriving exclusively as D64 and containing more than one files.
There are several tools to convert between the different file formats (for example, to extract individual files from a D64 file); I'll elaborate on D64 Editor later.
As long as you don't want to transfer your own disks into files on your PC or Windows Mobile device (which requires a genuine 1541 drive hooked up to a PC and accessed via Star Commander), you can download almost all titles off the Web. One of the best sources to download C64 games / software is the Blast! archive. As it contains some 340 disk images, you will want to consult the alphabetical list of all games to quickly find which image contains the game you’re looking for.
1.3 Using the emulators
After you've downloaded the games you'd like to play and installed the emulator, start the latter. Copy the games to your Windows Mobile device. Check the "ZIP support?" row in the Feature & Comparison Chart (from now on: Chart) to see whether you need to uncompress the ZIP files; if the particular emulator doesn't support compressed ZIP files, then, do this before the transfer. In general, only PocketCommodore64 supports ZIP'ed archives and even it has some restrictions; namely, you can't select individual files inside a ZIP'ed D64 disk image. That is, if you want to do this (and you WILL want it with, say, the Blast! disk images for the incompatibility reasons outlined above), you will need to unZIP these (and ONLY these - for example, d64 files downloaded from HERE can all be auto-started and, therefore, you will not need to go into them from the file manager to select the program to run) d64 files even when played with PocketCommodore64.
If the emulator uses the standard file selector dialog box on Windows Mobile (see the "File dialog box?" row in the Chart), then, you will need to put the files in either in \My Documents or a subfolder of it in the main storage or, with pre-WM5 devices, on the storage card. With a WM5 (or later) device, with a storage card, the files MUST be put in either the root of the card or a direct subfolder of it. Keep this in mind if you don't see the files you've transferred to your PDA, accessed from an emulator relying on the standard file dialog box (that is, PocketHobbit and ComeBack64ce - PocketCommodore64 (Pocket PC) and PocketHobbitSP2003 (Smarthone) both use their own file dialog box). Also, you may want to install a file dialog box replacement like Mad Programmer's File Dialog Changer in order to be able to navigate to any directory. Please see my earlier articles on how it should be installed and used.
After transferring the disk / tape images / programs to your handheld, you will need to instruct the emulator to load and, then, execute then.
1.3.1 Loading programs into the emulators
In general, there are two ways of loading a program. The first is just attaching a disk image to a virtual drive (like inserting a disk in a physical drive but not doing anything else) and, later, manually loading a file from there by issuing
either the load"*",8[,1] command, which loads the first program on the disk. With games occupying at least an entire disk, it'll load the game itself; with disk images with more than one program, only the first. This means you will NOT want to use this approach when you want to start a program not being the first in a disk image.
or, the load"<programname>",8[,1] command, which lets for selecting and loading any program, not just the first.
The second is a one-step approach, which not only attaches a virtual image to an emulator, but also loads a program from there. This is what the "Autoload File" functionality in PocketCommodore64 (the only Windows Mobile app capable of this) stands for.
In PocketCommodore64, if you double-click a disk image (it may even be compressed; that is, ZIP'ed), it will be assigned to virtual drive 8 (the default) and the first program will be autoloaded.
Note that the other two D64-capable emulators (PocketHobbit (Pocket PC) and PocketHobbitSP2003 (Smarthone)) only allow for attaching disk images and, then, with a separate (!), predefined command / menu item, loading the first program. While this still doesn't involve having to entering the full load"*",8[,1] command on the on-screen keyboard (with PocketHobbitSP2003, the phone's phonepad or, when existing, the full keyboard), it certainly involves (much) more screen taps / menu navigation.
For example, with PocketHobbit (the free Hobbit port for the Pocket PC), you first click a disk drive icon, select "Insert disk…", select the disk image to be attached to the selected virtual drive and, then, click the disk icon again and select "Load and execute first program". Note that, despite what the title states, it will NOT execute the program - you will still need to manually enter 'run' to do this.
With PocketHobbitSP2003 (the Smartphone Hobbit port), the situation is even worse: first, you press the left soft key to bring up the file selector / disk image attach screen; you select an image using the up/down arrows, Action, Options / Go Up and, finally, Open (left softkey) and also pressing OK on the next notification box (titled as "Error" - it's an information box, NOT reporting any error! Unfortunately, using error notifications instead of simple info boxes are VERY misleading for the uninitiated). Now that the image is attached, you will need to load the first program by pressing the right softkey, going up (with several Up presses) to the LOAD"*",8,1 button and pressing Action on it, which will load (but, as with PocketHobbit, still NOT execute!) the program into memory. Finally, to run it, you will need to go back to the text entry dialog (right softkey) and enter 'run' on either the phone dialpad (fortunately, here, the English T9 will work just fine) or the built-in full keyboard if present. Unfortunately, there's no shorthand RUN button.
See how much easier the PocketCommodore64 approach is?
And that's not all: should you need a quick way to execute a non-first program in a disk image file, PocketCommodore64 also allows for this. Just expand the tree represented by a disk image (by clicking the + sign in front of it) and double-click the program name - still in the "Autoload File" mode. (Note that you can NOT expand ZIP'ed disk images, as has already been pointed out. This, I think, is a bug.) This kind of functionality is (also) severely missing from the other two Pocket PC-based emulators.
1.3.2 Other features / settings
1.3.2.1 Turbo mode
Almost all emulators allow for a "turbo" mode in addition to the "100% speed" one. The former will allow for, on current, fast Windows Mobile devices, much (400-500% of the original C64 speed) faster program execution.
Enabling turbo mode also greatly speeds up disk emulation with the free PocketHobbit. However, it also results in most importantly character input problems: with enabled turbo mode (which is, with PocketHobbit, is the default), you won't even be able to enter 'run' because of the doubled characters. That is, should you go with PocketHobbit (you shouldn't - PocketCommodore64 is WAY better and, IMHO, certainly worth its price; you should go with PocketHobbit only if you really can't shell out money for the former), you will find yourself always switching between the two modes. Fortunately, it's pretty easy to switch - just click the standing / running icons in the lower right corner.
Again, as has been pointed out, you will need to enable Turbo mode with PocketHobbit - otherwise, disk operations (loading programs) will be way too slow. Fortunately, this isn't the case with any other emulators: you can always keep them in the "throttled", "100% original speed" state without sacrificing disk loading speed.
1.3.2.2 Buttons
Better emulators (on Windows Mobile, PocketCommodore64 only) also let for redefining buttons. This is essential when playing in landscape orientation and you plan to use a hardware button far away from the D-pad to avoid cramped hands & awkward handling. Too bad neither PocketHobbit nor ComeBack64ce support this, which, as has already been pointed out, makes them a bad candidate for playing in Landscape orientation.
Good news for Smartphone users: PocketHobbitSP2003, as opposed to the Pocket PC port, makes use of the "Volume up" button as another, alternate fire button, in addition to the * on the keypad. This will be especially handy on models that have easily accessible volume keys (for example, the HTC Oxygene / s310), as opposed to models with recessed, very-hard-to-press keys (for example, the currently best MS Smartphone, the HTC Vox / s710).
1.3.2.3 Changing orientation
In the default Portrait mode, only part of the entire screen estate is used as the original C64 uses a Landscape 320*200 screen (meaning 8:5 aspect ratio). This not only means suboptimal screen estate utilization (which can be an issue particularly with devices that have smaller, say, 2…2.8" screens), but also image resizing / downscaling issues.
First, some words on how you can switch to the Landscape mode. It's very easy with ComeBack64ce - you just click the screen and it rotates. With PocketHobbit, it’s also pretty easy (click the screen icon (the leftmost one at the bottom) and select either of the Landscape modes from the menu). With PocketHobbitSP2003, you need to press button 4 to do the same.
With PocketCommodore64, it's a bit more complicated: you first need to assign a button to the "Display toggle" functionality and, then, by pressing the just-assigned button, you can iterate through the available screen modes, including the Landscape ones.
To assign "Display toggle", click the Settings icon (it's under "Autoload file"); then, click Setup Controls (it's under the two joystick assignment checkboxes in the upper left corner) and, finally, click "Display toggle". Now, press the button you'd like to assign this functionality to (even the screen will do - if you don't want to use the touch screen as the fire button). After this, you can start changing orientations by keeping pressing the just-assigned key (or the touch screen).
1.3.2.4 Using different screen rendition modes; image downscaling issues
It’s not only the orientation that has a direct effect on the screen estate usage, but also whether borders are displayed and whether the emulator is VGA-aware when running on a VGA device.
First, some math. The full size of the original C64 screen, with borders, is 384 * 272 pixels; while, without borders, it’s 320 * 200. As the resolution of the (Windows Mobile) QVGA screen is 320*240 pixels, you can only display the picture (without the mostly useless borders) of the original C64 without having to drop some pixel columns (and, consequently, rows, if you plan to keep the 8:5 aspect ratio) if you use landscape orientation AND you don’t display any borders.
Landscape mode done this way is supported by all free Pocket PC clients: PocketHobbit, ComeBack64ce and PocketCommodore64 running on a QVGA device. These three all completely ignore the borders and only display the active screen area. In general, this is the best approach because, as has already been mentioned, displaying the border would mean an original horizontal resolution higher than the physical (horizontal) resolution of the QVGA screen; that is, some pixel columns (and rows) would be needed to be thrown away. Example screenshots of PocketCommodore64 (again, running on a QVGA device): 1 2; the latter in the second Landscape mode, without on-screen controls.
PocketCommodore64, when running on a VGA (640 *480) device, behaves differently. As PocketCommodore64 is VGA-aware and it does make advantage of the high resolution of the screen (it’s the only c64 emulator to do so), it is also displaying the borders around the active area so that you can see what the (few) programs (mostly intros and demos) that do use the border do.
Again, as VGA devices have plenty of additional pixels, this doesn’t result in noticeable distortion caused by completely thrown-away pixel rows / columns. Actually, exactly the opposite is happening. That is, because, in VGA mode, PocketCommodore64 needs to stretch 384 columns (and 272 rows) to completely fill in the 640 * 400 (without the on-screen controls, 640 * 480) available screen estate, some pixel rows / columns must be rendered twice. This also means there will be some kind of distortion, but it’s just a bit ugly because of the doubled lines / rows. Column / row doubling is still WAY better than completely throwing away information (that is, not rendering certain pixel columns / rows). The latter results in definite information loss and, in extreme cases (as with downsizing the original 320*200 screen to 176*125 to fit the screen of a low-resolution MS Smartphone in Portrait mode, which means having to drop almost every second rows / columns. The latter results in severely reduced and, at times, plain unreadable text as can be seen for example in THIS screenshot), almost fully unreadable characters.
As opposed to the Landscape mode (where, again, no row / column dropping takes place), in Portrait mode, as you need to force 320 columns in a screen that, physically, has 240 columns only, you already need to throw away every fourth column. If you do stick to the original 8:5 aspect ratio of the C64, then, you also need to drop 50 rows as well, further reducing readability.
As the latter (dropping rows) isn’t really necessary (as there will be a lot of screen estate unused even when you use really big on-screen keyboards / controllers), some emulators don’t necessarily stick to the 8:5 aspect ratio but, instead, render all the original 200 pixel rows. This means they don’t drop a single row, only columns.
In this respect, there are two kinds of emulators. PocketCommodore64 (related screenshot HERE) and ComeBack64ce (screenshot HERE) use the latter, much better and more preferable approach, while PocketHobbit does drop some rows. While the latter “only” drops 30 rows (that is, it doesn’t technically adhere to the 8:5 aspect ratio either), the results are still way worse than with the former two emulators (as can be seen in the screenshot, for example the center line of E’s is completely thrown away. Let me point out that characters in the character ROM of the C64, generally, only contain single rows; this is why they can be made unreadable so easily even with moderate pixel row dropping).
In addition to the default mode, in Portrait mode on QVGA devices, PocketCommodore64 is able to iterate over four different screen configurations so that you can find your favorite (most probably, you’ll prefer the default first). On VGA devices, on the other hand, the four Portrait modes are the same; for example, the only way to get completely rid of the (horizontal) borders is to manually configuring the fourth screen mode (the user mode) by passing the coordinates to display should be using the (default) 32,36,352,236 coordinates as is explained in the sixth chapter (Advanced Features) of the official document, under the 10th bullet. This, however doesn’t seem to work on VGA devices – it must be a VGA-related bug.
1.3.2.5 Joysticks
The C64 has two joystick ports. Most single-player C64 games used the joystick in Port 2. However, you may need a joystick in Port 1 with some games / intros. It's worth knowing what the implications are and how joysticks are emulated.
First, the tested emulators vastly differ in what joystick port is, by default, emulated by the D-pad and the fire button. You can find this information in the "What is D-pad (with desktop emulators, cursor block) by default assigned to?" row of the Chart. As can clearly be seen, PocketCommodore64 assigns both of them. This is probably the best approach as you will rarely need to manually reconfigure what joystick port is being emulated. However, it may result in, with some games, funny results; for example, with the well-known two-player classic Wizard of Wor. When played with the default settings, both players are activated; this means if you press Up on the D-pad, both players' sprites will move up. This is not necessarily what you want; therefore, in these cases, you will want to disable one of the two joystick assignments.
PocketHobbit, as opposed to the rest of the emulators, emulates Port 1 by default. Again, this port is used by far fewer games than Port 2 and, therefore, you will often need to switch over to the latter. Fortunately, doing this is very easy: just click the joystick icon on the main emulation screen and select Joystick 2 in the menu.
Both ComeBack64ce and PocketHobbitSP2003 emulate Port 2 by default; with the latter, you can swap between the two with the phonepad button 5.
Still speaking of the ability to emulate both joysticks at the same time, in the "Can D-pad (on desktop: cursor block) be assigned to both joysticks at the same time to reduce time in finding out how you can go on with a given game / cracker intro? " row, I've explained whether this is doable. As can be seen, only PocketCommodore64 and PocketHobbit are capable of this.
I also listed whether a given emulator supports rapid- and autofire. Unfortunately, only PocketCommodore64 is capable of doing this. You can enable these separately with the lowermost four checkboxes in the Settings / Setup Controls dialog.
Let me quickly explain the difference between the two modes. Rapid fire is only activated when and while you do press the fire button (or the screen, if the fire functionality is assigned to the screen). Auto fire is, on the other hand, always active, no matter whether you press the fire button or not. It's game dependent which one you want to prefer; with shoot'em ups like Katakis where you will always want fire, you'll want to prefer autofire; with games like Wizard of Wor, where autofire greatly slows down the movement when firing at a wall nearby, rapid fire only, if at all.
Finally, I've also elaborated on whether the buttons (most importantly, the fire button - after all, I don't think you will want to use something different than the D-pad to emulate the four (eight) directions of the joystick) of the joystick can be reassigned. As can clearly be seen, only PocketCommodore64, the best C64 emulator allows for this - the other don't. I've also listed the default fire button for all the emulators; as can clearly be seen, PocketHobbit's approach (Button 1 + 3/4) is clearly the worst, while that (the volume up, on the upper left side of the phone, can also be used as a fire button, which is the best solution for landscape playing) of PocketHobbitSP2003 is pretty good, even if you can't actively redefine buttons.
2. Windows Mobile Professional / Classic (Pocket PC) emulators
2. 1. PocketCommodore64 (current version: v2.52)
Without doubt the best, most featureful & compatible C64 emulator is the commercial PocketCommodore64. It has (almost) all the best and whistles a gamer would ever need; for example, touch screen used as fire button, freely redefinable control keys (including fire), rapid and auto fire, a plethora of different screen modes (including total screen off for simple music playback), stereo (!) sound, support for both NTSC and PAL modes, support for VGA Pocket PC's etc.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
It's way better than any other C64 emulator on Windows Mobile and has a very high compatibility rate with games.
It’s constantly improved; the developers are already working on the new, even more compatible and advanced 3.x series. It’s still not known when it’s released; now, there already are internal alpha test builds.
Unfortunately, currently PocketCommodore64 has no MS Smartphone-compatible versions. Some time in the past, there was a beta for low-res Smartphones, but it was never released outside of a few beta testers. The screen limitation was the biggest hurdle, but the poor CPU performance and system interruptions were also factors in not releasing it. As most issues should be negated in the newest Smartphones (particularly now that QVGA models, like the HTC Vox / S710, are becoming more and more common), hope there will also be a Smartphone version too – even as early as the forthcoming 3.0 version.
The only problem with the emulator (in addition to the high CPU usage) is the lack of multiplayer capabilities, which, on the desktop CCS64, is already implemented. Bluetooth local multiplayer was originally promised, but the limitations, that is, the packet speed problems, forced it to be dropped on initial release. Now, it exists only as an Easter egg, but I don’t know how it can be activated (I’ve tried to click everywhere in the GUI to find “hidden” icons / buttons).
Unfortunately, the above-mentioned Bluetooth multiplayer incompatibility, during betatests of multiplayer-enabled PocketCommodore64 versions, was not a question of transmission rate. This means for example Enhanced Data Rate (EDR) Bluetooth, as opposed to earlier non-EDR versions, won’t help. It seems to be an issue of interval between Tx packets supported by the hardware and operating systems. Only emulation, not typical games, would be affected by this limitation, which is why there are commercial games with this feature, but few emulators. The developer has, however, promised to look into the possible solutions again for version 3.0.
A review; another one at AximSite; AximSite thread.
In the previous sections, I’ve already compared the capabilities & features of this emulator to the other (free) C64 emulators; in here, I won’t go on with this. Also consult the Chart for more comparative info.
Note that the emulator has a pretty extensive manual. It's pretty much usable and up-to-date. Note that it refers to a slightly older, 2.0 version and some things have changed in the meantime; most importantly, there is no longer a separate "accurate timing" version.
2.2 PocketHobbit 1.0
This free emulator, based on well-known multiplatform C64 emulator Frodo is a typical example of “you get what you pay for”. While it has some advantages (for example, the much lower CPU usage, the somewhat better scene demo compliance and, of course, the transparent keyboard in Landscape mode also visible in the screenshot below - see n0p’s excellent DOSBox port for something similar) over PocketCommodore64, in general, it’s way worse. It’s slower (at the same clock speed / frameskip settings), not VGA-aware (which will especially be a problem in Portrait mode, where it, unlike the two other C64 emulators, doesn’t “cheat” using 200 rows – see the example screenshots in the Chart demonstrating this), it doesn’t allow for joystick fire button reassignment etc.
All in all, it’s, while having certain strengths, a mediocre title. You should only check it out if you are absolutely sure you can’t purchase PocketCommodore64 and/or need to watch some demos, which might be more compatible with this title and/or absolutely need a title that doesn't force you to underclock your Pocket PC to save battery life.
2.3 ComeBack64ce 0.5
(note that zimmers.net only has an even older 1999 version HERE; THIS page too has an outdated version)
This is the worst c64 emulator for Windows Mobile. It’s really lacking features and the compatibility issues (it’s not at all compatible with VGA devices and, what is more, it’s also completely lacking WM5+ support) are a showstopper for many current Windows Mobile users.
The worst limitation, in addition to the inability to run on WM5+ and/or VGA devices, is the lack of floppy emulation. Therefore, if, for some reason, you still want to use it, you need to know how you can extract individual .PRG (executable program) files from a d64 disk image. Get D64 Editor; that is, THIS file (also linked from HERE), unzip it, and start setup\SETUP.EXE. After installing, start it (ignore the font error messages), drag a d64 image on it, select the program to export, right click it and select File Export. Select a target directory; the file will be exported as an <originalfilename>.PRG file, which can already be read by ComeBack64ce.
Probably the only plus of this emulator is the clever Portrait mode: it, by not sticking to the 8:5 aspect ratio but displaying all the default 200 rows (as opposed to 150), avoids having to drop 50 horizontal pixel lines and, this way, presents a much better rendition in Portrait mode than the other free emulator, PocketHobbit. Otherwise, it’s clearly worse than even PocketHobbit, let alone PocketCommodore64.
3. Windows Mobile Standard (MS Smartphone) emulators
Unfortunately, none of the Pocket PC emulators can be hacked into Smartphone. See the “MS Smartphone compliance?” row in the Chart for more info on my hacking attempts.
There is only one native C64 emulator for the MS Smartphone, PocketHobbitSP2003. Fortunately, it’s pretty nice.
3.1 PocketHobbitSP2003 Alpha 11
This emulator works flawlessly on both low(er)-end, 176*220 Smartphones and high(er)-end QVGA ones. Note that if you plan to use the latter, you will need to “hack” the main executable of the emulator as described in HERE. Should you be afraid of this, I’ve made the hacked, high-resolution emulator HERE. That is, if you have a QVGA Portrait device like the HTC Vox, get THIS instead of the official version.
If you’ve used to the Pocket PC version, you’ll find the usage of this emulator a bit strange at first. Fortunately, after a bit getting used to, it will turn out to be REALLY easy-to-use. If you are unsure about getting started with loading programs off D64 / T64 files, just make sure you read my mini-tutorial in section “1.3.1 Loading programs into the emulators”.
It runs pretty well even on low-end, “slow”, 201 MHz TI OMAP-based Smartphones. I’ve tested it on the 176*220 HTC Oxygen / s310 and the QVGA HTC Vox / s710 (with the hacked QVGA version on the latter). Worked flawlessly; highly recommended.
4. Desktop emus
Finally, I’ve also included two desktop C64 emulators in the Chart so that you can see what the differences are between Windows Mobile and desktop emulators. I also provide some tangible information on the compatibility rate of these emulators, should you want to get the most compatible emulator for your desktop Windows computer.
Note that there are (were) several other emulator projects; for example, JaC64 1.0 (a brand new, 1.0 version of this Java-based emulator has just been released); Frodo 4.1b (download HERE and NOT at the original link!), Comeback64 b4 (no longer existing at the original page; desktop Windows version HERE); Hoxs64 v1.0.4.22 (a new, actively developed project with a current, 7 June 2007 version), Miha Peternel’s long-abandoned C64S and, finally, ED64, a Pascal-based “toy” emulator.
4.1 CCS64 3.2
This commercial emulator is no doubt the BEST emulator, compatibility-wise. It is not only able to run many new, high quality C64 demos, but also a lot of other, otherwise “problematic” titles (for example, the Blast! loader) the other desktop C64 emulator, VICE, isn’t capable of running.
What is more, the 3.x series even supports Internet multiplay, of which I’ve also made some screenshots (of the client joining a game 1 2). Of the multiplayer mode, should you be interested in playing, for example, Archon, Archon II (Adept), International Karate or Wizard of Wor through the Internet, there are some additional tutorials and forums; for example, this German language, OLD (beta-stage) tutorial and this official CCS64 subforum.
4.2 VICE 1.21
This emulator is the most known, free C64 emulator, boasting several ports.
While it does have its advantages (most importantly, being free and having considerably less CPU usage than CCS64), it’s clearly less compatible. This means you shouldn’t use it as the first alternative to watch demos – use CCS64 for the latter. The same stands for “tricky” stuff VICE is unable to run, while CSS64 still is.
5. The comparison & feature chart
It’s HERE. DO CLICK THE LINK!
As I’ve already explained most of the rows and tests I’ve elaborated on in the chart, I don’t think further explanation is necessary.
It’s very important that you thoroughly scrutinize the chart and do check out the screenshots – they really make my point much straighter. Needless to say, as with all my other comparison / feature charts, there are a lot of mini-tutorials & additional explanations & tips in there. You DO lose a LOT if you don’t spend at least some minutes scrutinizing it.
Note that with some games (for example, Impossible Mission and Guild of Thieves), I’ve tested more than one versions (“cracks”) to find out which versions are playable. You may also want to look for cracker notes / nicks in either the directory list of the disk or the cracker intro starting the game to safely identify the given version, should you run into a non-working title.
Also, I’ve tested the ten most popular C64 demos, mostly to find out what demos can be run under Windows Mobile. As can clearly be seen, most demos just won’t work – the one that did start under PocketCommodore64 did crash later. In this regard, PocketHobbit behaved a bit better. This, however, doesn’t mean PocketCommodore64 is bad, not in the least – demos are VERY hard to correctly emulate. No wonder not even the best desktop emulator, CSS64 can’t run some of them. Needless to say, VICE is considerably worse in this respect than CSS64.
It's very important to point out that the Blast! disks all have a main menu on them, which is incompatible with most emulators out there (except for the desktop-based CCS64). This means you will NOT want to play the games on these disk images with the traditional load"*",8 command, which loads the menu, letting the user select the game to play. Except for the desktop Windows-only CCS64, this won't work. The solution to this problem is looking up the number of the game you plan to play in the loader once (in an emulator compatible with at least the main menu - the desktop-based and, as opposed to the commercial CCS64, free VICE is one of them) and loading the individual title using the load"X",8 command, where X should be the number of the game to be loaded. With the games I've tested of the Blast! collection, in the comparison & feature chart, I've also stated this number with each tested game so that you don't need to look them up yourself.
In addition to the Blast! Collection, there are a lot of other pages to download games from. You'll want to prefer them when, for example, you look for some strictly disk-based (non-one-file) games - with them, the Blast! version (if it does contain the given game at all - it's mostly with one-file games that the Blast! collection excels at), generally, is inferior to disk images found elsewhere.
You may also find some games at this generic desktop emulator overview, which has some gaming-related pages & downloads.
As far as demos are concerned, c64.ch will be your best friend. It contains all the remarkable C64 demos. While most emulators (particularly on Windows Mobile; in there, the, in this regard, most compatible emulator is PocketHobbit) will have a hard time running them, if you do find a compatible emulator (which, in most cases, means the desktop-based CCS64 - it's the most demo-friendly emulator available), they may be well worth checking if you want to see what the C64 is really capable of and why even today there are some people developing demos for it.
You don't even know HOW USEFUL this one was.
Thank you very much.
<<warhawk title music>>
btw...
shame, theres no atarixl/xe emu, that allows to change joy settings
version 3.0 of PocketCommodore64 has just been released. It's REALLY cool and HIGHLY recommended for both PPC and Smartphone users. See my complete review at http://forum.xda-developers.com/showthread.php?p=2288477

Sneak peek: my forthcoming Midlet Manager Bible

I've been working on a FULL roundup of ALL midlet managers available today.
In addition to thoroughly comparing the current midlet managers to each other, I'll also publish really thorough, reliable and never-before-published, tips, tricks, benchmark and compatibility results. You'll LOVE them.
Currently, the backbone of the roundup, the charts, are (more or less) ready. Feel free to comment on them. They are as follows:
Features, some tricks, standards compliance reports
Game compatibility reports
jBenchmark Benchmark Results
Note that the charts don't elaborate on the following midlet managers:
NSICom CrE-ME: this manager is still (as of version 4.12) pretty weak (MIDP 1-only, really low resolution, problems with connecting to the Net etc.). This means it, in most cases, should not be used. Strange the developers still call it "the world's most reliable J2ME/CDC Java Virtual Machine technology for Embedded platforms". While CrE-ME is without doubt the BEST JVM out there right now for running individual applications / applets (which are vastly different from midlets), its Midlet support is really bad.
Coretek Delta Java Manager: this is only slightly better than NSICom's above-mentioned CrE-ME. While it's compatible with quite a few games, it has severe problems; most importantly, its utilized screen estate is tied to 176*220. This means you won't be able to run your midlets using the real, full screen estate of your QVGA / VGA / WVGA Pocket PC's or Smartphones.
Mitac JVM: an old (2003), another pretty bad and not recommended midlet manager.

The Definitive Guide to Running 3D-enabled Java MIDlets on Windows Mobile

I’ve started working on my MIDlet Bible, the premiere and definitive resource of everything related to running the, particularly on “dumb” mobile platforms, hugely popular Java programs called “MIDlets”. Currently, the project is on hold because I’m still waiting for some MIDlet Manager developers to answer my mails so that I can, for example, can directly recommend where to download / purchase MIDlet Managers from. (If you’re one of them and we used to be in correspondence but you haven’t heard anything from me, please check your spamfilter – it might have caught my mail(s).)
Several people have been looking for running 3D-based games on Windows Mobile. As this part of my forthcoming MIDlet Bible is pretty much self-contained, doesn’t really depend on the rest of the Bible and can, therefore, be separately published, I’ve decided to take the plunge and publish it right now, before coming out with the “full” MIDlet Bible.
1.1 Is it worth bothering at all? Isn’t Java, particularly 3D games, slow?
You may have heard a lot of people despising Java because of its “sluggishness”. This is not really a case, particularly with the highly optimized Java environments, that is, MIDlet Managers (also abbreviated as KVM’s; some people also refer to them as JVM’s, using the well-known desktop/server mnemonic) of today. You will be REALLY astonished: current KVM’s can produce at least as quick 3D speed as highly optimized, native Windows Mobile games written in C(++).
You don’t believe me, do you? Neither would I have before embarking on some serious 3D MIDlet testing (and, of course, I also know most, if not all, native racing games for Windows Mobile like the palm of my hand).
Well, just give some of the tested racing games (for example, 3D High Speed, 3D Andreotti Racing, 3D Fast or Furious Fugitive) a try and you’ll see this for yourself. Compare them to the current native 3D titles. These Java programs are blazingly fast even on VGA devices and even on, otherwise, graphically, pretty sluggish models like the HTC Universal – while still rendering high-resolution (not plain pixel doubled) graphics. Yes, I told you, many Java titles just rock on Windows Mobile – if you’re into games and, particularly, racing games, you WILL want to give these programs a try.
Speed issues aside, price is another factor. Java MIDlets games, in general, way cheaper than native Windows Mobile games – several high-quality Java games cost no more than $5, while native WM games, generally, start at $10. In cases, you are allowed to even buy a MIDlet for all your phones and, then, you can put it on any number of your dumb & smartphones and Windows Mobile handhelds. Think of it: you buy a high-quality MIDlet game for, say, $5, and, then, deploy it on the phones of your wife / husband / children in addition to your WM phone so that they can also kill some time playing it. You won’t ever have problems explaining to your wife why you’ve spent a single penny on a game ;-) Yeah, being multiplatform (meaning a single Java MIDlet can run on a vast number of mobile phone platforms, even cheap dumb phones) has definite advantages.
This, of course, doesn’t mean you shouldn’t purchase Windows Mobile games, not in the least. The Windows Mobile market being tiny (orders of magnitude smaller than that of desktop Windows or, even, yes, Java MIDlets) developer community (and, consequently, the future of the entire platform) does need your software purchases too. It’s just good to know you can play a lot of cheap and, in cases, really high-quality games you may not have been aware of.
2. Available, 3D-capable KVM’s
In this roundup, I mostly concentrate on playing games with three-dimensional (3D) graphics. There is a separate standard (JSR 184, also known as M3G) that most 3D (but not all!) games rely on. This means that, in order to be able to play these games, the KVM must support JSR 184. There are, currently, two KVM’s that, currently, do this: Jblend by Aplix (coming with the Samsung BlackJack MS Smartphone and some, outside Japan, not widely used Pocket PC phones like the Sharp W-ZERO3), the 11.x series of TAO Intent MIDlet Manager coming with several Pocket PC’s (note that the current TAO Intent version shipping with current (!)Smartphone ROM’s, for example, the German ROM with the HTC Vox, still contain a 10.x-series, non-3D-capable TAO Intent version).
However, as there are some 3D titles that don’t use the specific features of JSR 184, there may be cases you can use non- JSR 184-compliant KVM’s to run these games. Without doubt the best of these non-M3G-compatible KVM’s is Esmertec’s Jbed, the successor of Jeodek of the same company, which ships with many current, WM6 Pocket PC’s and Smartphones (for example, the HTC Vox / s710). It’s Jbed that you will always want to prefer when playing, especially because of its unique full screen and music emulation capabilities and speed.
Now, let’s take a look at all these three KVM’s.
2.1 Aplix Jblend
This KVM is compatible with everything Windows Mobile 5+ with a phone inside: that is, all WM5+ Pocket PC Phone Edition (Windows Mobile Professional) and Smartphone (Windows Mobile Standard) devices. This, unfortunately, also means it’s NOT compatible with non-Phone Edition (that is, Windows Mobile Classic) Pocket PC’s.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
It has excellent M3G support and has no problems (as opposed to the TAO Intent MIDlet manager, introduced below) with WM5 softkeys either. It also has some other goodies; for example, by default, it stores all the deployed (installed) MIDlets under its home directory, unlike Jbed, the other excellent KVM. This has particular advantages on storage-constrained devices, particularly, low(er)-end Smartphones like the HTC s310 / Oxygene, which, by default, only has some 12M of built-in storage free. As a modern, decent (3D) game can easily take up 300-1000 kbytes, you will fill in your built-in storage very quickly if you use a KVM storing its deployed MIDlets there.
Its only downside is, in addition to not being compatible with non-phone-enabled devices, is the very bad sound and non-existing music emulation. In this respect, the two other alternatives (particularly Jbed) is WAY better.
It’s available for download HERE (direct download link to CAB file). Just download the CAB file and install it and, after that, you can just click on any JAR files copied to your Windows Mobile device, it’ll deploy them (just press the left softkey two times to let it go on). Again, unless you have plenty of built-in storage memory and/or you only plan to install a handful of games, you’ll want to install it on a storage card so that the deployed games (and other MIDlets) don’t take up any central storage.
2.1.1 JBlendFullScreen
Note that there is another version of Jblend circulating on the Net; a much older and non-M3G-capable one called “JBlendFullScreen”. Its only advantage over the Jblend version I’ve linked in is that it uses the full screen (no taskbar will be visible at the top), which is of BIG help when you run strictly 240*320 (QVGA) MIDlets displaying important information (status row or even softkey titles) in the bottom-most 10-15 pixel rows otherwise hidden.
2.1.2 Consequences of not being full-screen
Several games suffer from the recent Jblend version’s not being full-screen; for example, the QVGA version of the pretty good, Russian-language Wolf3D clone "3D Bunker" and "3D Storm", 3D Burnout, 3D Formula Racing, 3D Covert Ops etc. Hopefully community hackers will soon come up with a decent solution for this problem. If you do suffer from this problem, in the meantime, either give a try to the old JBlendFullScreen (it MIGHT run the game if it isn’t strictly M3G-based) or, even better, Jbed. Alternatively, you might want to use a version of the MIDlet, when available, meant for devices with smaller screen. Most MIDlets have several different versions for different screen sizes; 176*208 (old(er) Symbian S60), 176*220 (non-QVGA MS Smartphone) and QVGA (newer / better Symbian S60 and Windows Mobile) being the most widely used and available.
2.1.3 Java heap size setting
Finally, note that, unlike most other KVM’s, you can set the memory given to Jblend in the registry ( [HKEY_CURRENT_USER\Software\JBlend\JavaHeapSize; which is 0x00400000 by default; that is, 4 Mbytes, which is already pretty high, compared to most other KVM’s (except for Jbed; more on this question in the forthcoming MIDlet Bible). Setting it to a much higher value, 12M, didn’t help with the non-working games I’ve retested.)
2.2 TAO Intent MIDlet manager
Another M3G-capable KVM is the TAO Intent MIDlet manager, of which I’ve already published a lengthy tutorial HERE. You’ll want to download the latest, 11.1.7.1036 version (direct CAB link), unless you have a non-Phone Edition Pocket PC, in which case you’ll want to get version 1023 (direct CAB link). Finally, if you have a Smartphone, you’ll want to forget it altogether as it’s only the non-M3G-compliant 10.1.x series that is compatible with the “dumber” platform.
As with Jblend (and, for that matter, Jbed, to be introduced below), it’s simple to install: just get the CAB file and install it. As with Jblend (and unlike Jbed), if you install it on a storage card, it’ll also deploy the MIDlets on the card to save built-in storage memory. That is, make sure you install it on a storage card if you have little built-in storage left.
Unfortunately, the TAO Intent MIDlet manager is, gaming-wise, pretty bad and you’ll only want to use it in few cases (most importantly, when you only have a non-phone-enabled Pocket PC). For one, it has pretty bad music emulation. While it’s certainly better than that of Jblend (the latter has no music emulation at all), it’s WAY worse than that of Jbed. What is even worse, it doesn’t support softkeys in most games (and many applications as is the case with, say, Teashark reviewed HERE), which means you just won’t be able to run these games if they do depend on softkeys (and most do – very few games can be played / menus can be navigated without them).
2.3 Esmertec Jbed
This MIDlet Manager doesn’t directly support the M3G library. However, as it’s without doubt the best KVM out there right now, particularly music emulation and WM5 softkey-compliance-wise, it’s still worth mentioning it in here. The reason for this is pretty simple: some of the popular 3D titles aren’t strictly M3G-based (that is, based on JSR 184). These titles may run under Jbed as well, which means, in general, superior music and/or sound and, sometimes, speed compared to Jblend and, on top of all this, softkey support, compared to TAO Intent.
While there’re some purchasable Jbed distributions at Handango, I don’t know whether they’re updated at all (their last-updated field are all 2005) and, despite my several mails sent to my Esmertec contact, in the last month I haven’t received a definite answer to this question. Therefore, for the time being, you’ll want to use an OEM version of Jbed version 20070802.2.1 available HERE. Unfortunately, this version is pretty buggy. Should you want to use it for other purposes (most importantly, for Opera Mini 4 beta 2, by far the best MIDlet-based Web Browser and one of the best Web browsers even on Windows Mobile), be aware of that it doesn’t support for example cookie handling, unlike previous, but not any more working versions. This, however, won’t have any affect on running games, where it’s really excellent at.
Jbed is, just like Jblend, compatible with both WM5+ Pocket PC Phone Edition and Smartphones. It is NOT compatible with regular Pocket PC’s without a built-in phone. Sorry. Hope as soon as the Esmertec folks contact me back, I’ll be able to provide more info on which Handango Jbed distributions support non-phone Pocket PC’s.
2.4 Co-existing on the same Windows Mobile devices
All these KVM’s (and, for that matter, additional ones like IBM J9, Esmertec Jeodek etc.) can co-exist on the same Windows Mobile device – they won’t have any influence on the other MIDlet managers. The only restriction will be that, should you click a JAD or a JAD file on either the Web or the local file system, the last-installed KVM will be invoked and it will deploy the given MIDlet.
However, you can easily remake a given KVM the default KVM to be invoked when clicking JAD / JAR files. No, you don’t even need to reinstall the given KVM – you will only need to import a given Registry import file, which changes the JAD / JAR file associations. I’ll provide these files in the final version of the Bible.
In the meantime, keep the following in mind: if you download the JAR file of all MIDlets you’d like to use (you do NOT need the JAD files!), you can easily deploy them under any KVM’s.
Fortunately, this is pretty easy in two of the three KVM’s (in addition to the, in this respect, inferior Jblend, it’s only with the, here, not discussed IBM J9 that it’s a pain in the back to deploy a MIDlet to if you don’t have set up the file associations or they’re pointing to another KVM: in there, you must enter the full path and name of the JAR file by hand and can’t even use any file system browser tool). The Jbed and TAO KVM’s have a “deploy local files” option; you go there; in there, you are listed the JAR files in the file system. Your only task is selecting the one to deploy and all is done – after this, you will only need to let the KVM deploy the stuff (answer Yes to the security questions and, with Jbed, to the question of the target folder). These menus are as follows:
Jbed: Menu / Install / Local Files (another screenshot of the list and the desployment / optimization process)
TAO Intent: Menu / Install / Local (a list of the MIDlets found, just click the one you’d like to deploy). Note that it’ll only find JAR files residing in the root directory of your storage card(s), NOT in subdirectories, unlike Jbed.
The fact that Jblend doesn't have file browing capabilities also means that, should you want to keep all the three KVM’s on your phone, you’ll want to install Jblend last so that its file associations remain the default.
3. Compatibility info & chart
I've made some VERY thorough tests with ALL the 3D games available HERE. Feel free to give these titles a try. You only need to download the JAR files off the Web site; don’t bother with JAD files. Note that you won’t be able to access the page with the standard desktop Internet Explorer (as is also pointed out in my Windows Mobile Web Browser Bible) because it isn’t WAP-compliant. Therefore, if you do access it on the desktop (in order to download the JAR files to your desktop and, then, transfer these JAR files onto your Windows Mobile handheld in order to deploy them), make sure you use either Opera or Mozilla to access these pages.
You will find the compatibility results in the chart available HERE. Sorry for not including it in here – it’s way too big and, after all, it’s only an additional click away. I’ve tested the latest, above-linked versions of Jblend, TAO Intent and Jbed. With Jblend and Jbed, I’ve run the tests with the HTC Vox (s710) Smartphone (I’ve chosen a Smartphone because of the directly and easily accessible dialpad on the front). For the (few) TAO Intent tests, I had to use a WM6 VGA HTC Universal because 1, it also has numeric hardware keys so I could still test controllability via dialpad (numeric) keys 2, it’s a Pocket PC, and the 11.1.x, that is, M3G-compliant series of TAO Intent only supports Pocket PC’s.
3.1 Dynamic screen stretching
Note that I’ve tested ALL the games compatible with Jblend that dynamically use (stretch) the full available screen estate on the WM6 VGA HTC Universal Pocket PC as well. I’ve done this STRICTLY in Portrait mode (in Landscape, there were graphics problems with Jblend). The aim of this was to find out whether the given games are able to adapt to HUGE screens like those of VGA devices. As can clearly be seen, while all dynamic stretching-capable games were able to dynamically adapt to QVGA screens (from inherently smaller screen sizes), the situation was quite different with four times bigger (VGA) screens. Note that this isn’t a problem with the Universal itself but with the given titles’ inability to dynamically stretch themselves onto “huge” VGA screens. That is, they won’t run on other VGA Pocket PC’s either, let alone Pocket PC’s with even bigger screens (for example, the WVGA (800*480) Toshiba G900 or the, hopefully, forthcoming HTC Omni).
With titles that don’t run (right) on the Universal, I’ve also repeated the tests on the WM5 QVGA HTC Wizard Pocket PC to find out whether it was a VGA-related problem or a generic Pocket PC incompatibility. As can clearly be seen, these were all VGA-related problems and not because of the different (Smartphone vs PPC) platform: all the (dynamically adopting) titles that had (severe) problems on VGA devices ran flawlessly on the QVGA Wizard.
Also note that I’ve only tested the Jblend compatibility of dynamically stretching titles. Games that turned out to be of “dumb” static ones will run on any large-screen Pocket PC’s – confined to the boundaries of their original, hard-wired screen estate. This means all the other “static”, for example, 176*208 or 176*220 titles are supported and playable on VGA devices too.
4. Additional sources of information
JSR 184 (M3G) - everything you will need to know about 3D in MIDlets (mostly meant for programmers and/or advanced users)
Ignore this
UPDATE (10/11/2007):
Thanks to XDA-Dev forum member niala6433 (see THIS thread), my attention was brought to a M3G-capable Jeodek version (20060421-95649). It seems to be a bit faster than Jblend and is compatible with both Pocket PC’s and (at least Portrait) types of (touchscreen-less) MS Smartphones (I’ve thoroughly tested it on the QVGA HTC Vox (s710) and the 176*220 HTC Oxygen (s310)) with some disadvantages on the latter (namely, the constant visibility of the bottom bar). As it’s a comparatively old and quite restricted build of Jeodek, you will ONLY want to use it to run 3D games otherwise not (sufficiently well) running under Jbed, which, currently, doesn’t support 3D but support real full screen mode on both platforms, has, generally, superior speed and the best sound / music emulation. For everything else, you’ll want to use the other, much more optimal solutions.
(Deep 3D on a QVGA HTC Wizard Pocket PC PE)
(Absolute Lightup Deluxe on a VGA HTC Universal Pocket PC PE)
(Absolute Lightup Deluxe on a 176*220 Smartphone; the “Start / Call history” softkeys are both from the Today screen)
Getting, installing
It’s available HERE for download. Installing it is pretty simple: just unRAR jeodek.exe and jeodek.exe.0409.mui to anywhere on your handheld (storage cards preferred because, then, it’ll also store the deployed MIDlets there, not taking up any built-in storage memory). Copy the \lnk\Esm3D.lnk to \Windows\Start Menu\Programs on Pocket PC’s (or \Windows\Start Menu\ on a Smartphone; you can, of course, use subfolders) and, finally, import \fileassoc\ Jeodek3DStoragecard.reg into the Registry so that the file associations are right, should you want to deploy MIDlets from the outside of the MIDlet manager. (This isn’t essential as Jeodek has built-in support for searching for MIDlets in the file system.) Note that you’ll want to change all occurrences of “esm3d” in the Registry import file, should your files be somewhere else than \Storage Card\esm3d. Also note that, should you want to deploy MIDlets using this file association, Jeodek must already be running.
Finally, note that you do NOT need to install an “official” Jeodek / Jbed on your handheld before intsalling the hack. You can, but don't need to. Simply doing what I’ve explained suffices.
Problems
On the Smartphone, the bottom bar of the previous screen will always be visible. This means games specially designed for the given screen resolution (320*240 or 176*220) will be severely cut off, as can be seen in the following two screenshot pairs:
(QVGA Smartphone)
versus
http://www.winmobiletech.com/092007MidletBible/Jeodek3DBottomBarTooPPC.png
(VGA Pocket PC)
See the difference? Not only the softkey titles have been cut off with the Smartphone version, but even the bottom part of the text bubble. A solution to this, should you still want to play these kinds of strictly 320*240 titles on your QVGA Smartphone but can't because of the lacking screen content, is looking for a, say, 176*220 version of the same MIDlet. (And, the same stands for the case of playing on a 176*220 Smartphone. Then, your best bet is looking for a 176*208 (Nokia S60) version instead.)
Worthy for Opera Mini and the Gmail MIDlet?
While the network access works and there’re no security problems or other bugs either (unlike with Jblend), you won’t really want to use it because of the lack of full screen support as can be seen in HERE. In this respect, later Jeodek versions (no command bar at the bottom on Smartphones) were better, let alone Jbed (real fullscreen).
Speed
niala6433 has reported in his post (see thread above) that, in benchmarks, this Jeodek version produced slightly better 3D results than Jblend. This is definitely good news.
Verdict
You should keep this KVM on your handheld too, should you run into a strictly M3G-dependent, working title not usable (or, not fast enough) under Jblend or TAO, the two other, M3G-compliant MIDlet managers.
UPDATE (10/19/2007):
I’ve greatly enhanced the 3D compatibility chart with
the games linked from THIS post (three of them, EA Sports’ Fight Night Round 3 (V 4.6.0), THQ’s Juiced 2 and Falcon Mobile’s Bimmer Street Racing 3D are really kick-ass)
I’ve continued adding compatibility info with other really nice titles like Red Pyramid’s Hummer Jump And Race, I-play's Fast and the Furious: Fugitive, Digital Chocolate's Mini Golf Magic (also see THIS), EA’s Need for Speed Carbon (Xbox 360 review HERE), 3D Night Fever, 3D Rally Evolution, i-Play’s The Fast And Furious Tokyo, 3D Tron 2.0 and Gameloft's Turbo Jet Ski 3D, just to name a few.
what is more, now that I also have a Nokia N95, I’ve tested ALL the games on it too, mainly to see whether it’s compatible with (far) more titles than the Windows Mobile KVM’s (the answer is, unfortunately, no – while it does run a bit more titles, it’s in no way compatible with all older titles) and whether the 3D hardware acceleration support really increases speed.
Unfortunately, as it seems, the hardware 3D acceleration doesn’t help the speed of emulation much. Based on the JBenchmark synthetic tests, one would expect a speed increase of about an order of magnitude. The reality, however, is different: in general, games where 3D hardware acceleration works at all run on the 330 MHz TI OMAP-based Nokia N95 only run two to three times faster than on a TI OMAP-based HTC Vox clocked at the default 200 MHz. I’ll continue doing some extensive tests to find out why the results are, indeed, below expectations and why the JBenchmark synthetic tests show much better results than the real-world games really show.
I really plan to publish the Bible this weekend or early next week. I think I will be able to do so.
In the meantime, don’t forget to check out the main chart of the Bible, which has been constantly evolving in the meantime and contains a lot of tricks (for example, “how can I increase the heap memory available in Jblend? How can I make Esmertec’s MIDlet managers, TAO Intent and Jblend run on non-phone Pocket PC’s? Why I should refrain from using the latest Gmail MIDlet (I really recommend THIS MoDaCo thread, particularly my posts there, for more info on it) "on TAO / Esmertec Jeodek, and where can I download the older, 1.1.1 version?” etc.) It also has all the download links and, again, as with all my other charts, answers to ALL the question you will EVER want to ask about these applications.
The next part of the series has just been published: TUTORIAL: Control issues of Java MIDlets – all secrets of button handling
It’s cross-posted to PPCT, AximSite, XDA-Developers - 1, XDA-Developers - 2, XDA-Developers - 3, FirstLoox, BrightHand, HowardForums, SPT, MoDaCo, PocketGamer.org, PocketGaming.de.
the link is down for the download

Categories

Resources