Sneak peek: my forthcoming Midlet Manager Bible - General Topics

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.

Related

REVIEW: Mauro Rilla releases MR SpaceBR1, a space shooter

Mauro Rilla is a well-known Visual Basic.NET developer. He has released many .NET CF-based applications / games so far. His latest title, MR SpaceBR1, is a space shooter.
As I have very bad experience with .NET CF-based action games (see for example IBE Group’s uselessly slow Star Invader), I really wanted to see how this game performs.
Unfortunately, there isn’t much to write home about; all comparable space scroller shooter titles (except for, naturally, Star Invader) are much better (see their list in the Star Invader review).
Availability
The game’s main homepage is here. It costs $9.99 / 9.99e and has a one-day trial version.
Control
It’s D-pad only – no stylus control is possible. Only the worst space shooters do this.
Compatibility
It runs on few of my Pocket PC’s. First, it doesn’t seem to support pre-WM5 OS’es at all (the homepage also states it’s WM5+ only); it complains about the inability to initialize D3D on both my iPAQ 2210 and PL720. Interestingly, the same happened on the, otherwise, as compatible listed, WM5 HTC Wizard. (I’ve tested the title with CF2 SP1)
As far as my other Pocket PC’s are concerned, it was uselessly slow on my WM5 Hx4700 and ran pretty OK on my Dell Axim x51v.
Verdict
While the speed of the title was tolerable on the x51v, the lack of stylus-based control (and the pretty high price and limited device compliance, taking the price and much superior quality / controllability / compatibility of the alternatives into account) is pretty much a showstopper. Not at all recommended - there are LOADS of much superior shooters.

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.

New version of great gaming console emulator SmartGear (soon) out!

It’s pretty much unnecessary to introduce SmartGear for any Windows Mobile game / emulator freak. It’s a MUST for ALL MS Smartphone (both 176*220 and QVGA) AND QVGA Pocket PC users – it’s WAY faster than any other emulator on low-speed devices and has few bugs (most importantly, speed issues on (W)VGA Pocket PC’s and lack of Genesis / Sega Megadrive sound emulation), as is also pointed out in several of my previous articles.
Thanks to the courtesy of the developer, Larry Bank, I had the chance to “test drive” the new version, which will be released VERY soon. Now that he has modified the code so that audio emulation takes precedence over video emulation (even at the expense of, on VGA devices, excess dropped frames), you’ll very rarely (if ever) hear sound problems any more if you use the default frame dropping configuration. That is, you make sure both the “Throttle farmerate” and the “Skip every other frame” checkboxes are both checked in. Note that I had slight problems with the sound in GBC emulation (with 1062 - Wendy - Every Witch Way (USA)(Menace)) – I don’t know if other GBC titles exhibit the same behavior.
Now that sound emulation gets absolute preference, you’ll see MASSIVE frame drops on (W)VGA Pocket PC’s if you enable sound (and, even without sound, the frame rate is definitely inferior to that of the top emulators of the given gaming platform). My recommendation is, therefore, that you do NOT use this emulator if and only if you have a (W)VGA Pocket PC. If you, on the other hand, have either any MS Smartphone (no touch screen devices) OR a QVGA Pocket PC, you MUST check out SmartGear – you’ll simply love it, it’s, thanks to having partially been programmed in assembly, WAY faster and battery-friendlier than any other emulator currently available.
Don’t forget, however, that this emulator still doesn’t have support for Genesis / Sega Megadrive sound emulation and on-screen tap / button areas, which are important for many Pocket PC users. However, as you’re entitled to lifetime upgrades if you purchase a license, I still recommend purchasing this emulator, even if these are a problem for you and/or even if you have a (W)VGA Pocket PC. After all, it’s pretty cheap and BitBank Software is well-known for their constantly upgrading their products – I’m pretty sure these bugs / problems will soon be fixed and, hopefully, on-screen tap zones will also be added.
look forward to this

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)
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.

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