New Versions of Fastest, WM5-compliant, Pocket Internet Explorer applet plugin-enabled Java Virtual Machine, CrEme, out!
By Werner Ruotsalainen, Submitted Tuesday, March 14, 2006
I've reported today of the new Mysaifu version. After having published the article, I've noticed that NSICom has released two, brand new versions of their CrEme JVM â€“ now, with WM5 compliance. CrEme is the fastest Java Virtual Machine (JVM) out with moderate system requirements and is, therefore, really worth checking out, particularly if you want to use the great bandwidth reduction tool Toonel or Java applets in Internet Explorer Mobile. The previous versions of CrEme didn't work at all under WM5; they complained about not being able to load gfw/gfwconf and immediately exit. Fortunately, that's no longer the case â€“ the new versions are WM5-compliant and work just great! No article from me without thorough compliance testing. Let's see right away how the new version behaves in the most important usage areas of Pocket PC JVM's! Toonel compliance Toonel is, in addition to OnSpeed, a must for anyone that uses a restricted connection. Click for screenshot All long test pages (incl. Yahoo Mail) arrived OK. It seems the "long-pages-don't-arrive-correctly-over-Toonel" bug is a no-issue in the new, already WM5-compliant CrEme version. An example screenshot of the Toonel summary screen is here. Please also read this for more information on configuring/using the latest version of Toonel. PIE plug-ins As I've reported over a month ago, up to until now, only the old, not-available/supported-any-more Jeode offered a working Internet Explorer Mobile (IEM) plug-in under WM5. (Under previous operating system versions, the IEM plug-ins earlier versions of CrEme worked, of course, great.) This has now changed: the plug-in works just great. Some example screenshots: Rubik Cube (see http://www.javaonthebrain.com/java/rubik/) Iceblox (see http://www.javaonthebrain.com/java/iceblox/ ) (note that this game requires a built-in keyboard to operate â€“ doesn't seem to work with the SIP one) Wyvern (and graphics) compliance Graphics and GUI component (menus etc) rendering has always been one of the weakest point of CrEme. Unfortunately, nothing has changed in the new version. I've thoroughly tested it with Wyvern, the multiplayer Java game. It behaves exactly like before â€“ it just can't render the main menu (and the context menus), making the game just unplayable. MIDP compliance Tested with Mobile GMaps and some games. The excellent Intent Midlet Manager (the midlet environment coming with HTC PPC PE PDA's) displays this (with the MSN Maps) and this â€“ that is, it works just great. CrEme 4.1, on the other hand, is still useless when it comes to midlet support. It is still unable to access anything off the Internet; this is why it doesn't display anything here. This also means no networking-dependent midlets will run â€“ no Opera Mini, no IRC midlet clients, nothing. You will be able to run non-network-dependent apps â€“ at a very bad quality, though. This screenshot is made of SpruceMan, for example (links: JAR and JAD). Needless to say, all these disconnected minigames run far better in the intent manager (or, for that matter, even in the not any more recommended IBM J9). Also note that while you must pass CrEme a JAD file (and not a Midlet JAR, as opposed to the intent JVM), the JAR file isn't fetched from the Net but must be present in the classpath (for example, the same directory as in the JAD file). Otherwise, you'll get ClassNotFoundExceptions. Minor problems like not making use of the WM5 hardware buttons are problematic too. All in all, there's (still) no point in trying to run midlets in the new version of CrEme. An example command-line link file of passing the mgmaps.jad file in the root directory to CrEme: 255#"\Storage Card\Windows\Creme\bin\CrEme.exe" -Ob -classpath \ -mv mgmaps.jad (Note that, under WM5, CrEme installs itself to \Windows\CrEme\ on storage cards.) Pitfalls When you give it a command-line classpath setting, you can't provide paths (for example, ones that include "Storage Card") with spaces in them enclosed in between quotes ("). You must use single quotes (') instead. This is different from the approach of all the other apps under Windows Mobile. By the way, you can also put your JAR files into [\Storage Card\]Windows\CrEme\lib. Then, you won't need to pass any classpath parameter to the CrEme runtime â€“ it'll find all your jar files automatically. All in all - Pros
- Speed â€“ clearly the fastest JVM for the PPC
- Indeed compatible with WM5, unlike previous the versions
- PIE plug-in
- No networking problems under WM5 with Toonel â€“ everything is working just great!
- No pre-WM2003 versions any more, which is a pity because even the latest betas supported both PPC2k (including non-ARM CPU's) and PPC2k2.
- Still uses its own, largely incompatible graphics library. This means for example Wyvern is still incompatible! Switching to Personal Java (-pjava) (also read my other remark on the missing PVMclasses.zip!), Tiny AWT (-tiny) or the full-screen mode (-ntb) won't help.
- The system path "blind" overwrite bug is still not fixed (as can also be seen in this and this screenshot) â€“ it must be manually fixed by the user before any kind of a soft reset to avoid problems! Please read for example this thread (alternatives: MobilitySite, AximSite, PPC Magazine, FirstLoox, PPCT) on the bug and the fix. (Search for "[HKEY_LOCAL_MACHINE\Loader]" inside the page to find it quick.)
- No OK/minimize button in system-level, maximized frames opened ; you'll need to use a task switcher to minimize/close the current one. (A usable solution to this is using the full screen mode with the -ntb command-line switch. Then, you still won't be able to minimize them but at least move to somewhere else.)
- The Personal Java class library, PVMclasses.zip, is no longer shipped with neither versions. It can, however, be found in the previous versions (if you still have them) of both 4.1 and 3.27; that is, 4.00b8 and 3.26. If you just transfer the previous PVMclasses.zip file to the new version (you can also put it in the storage card, not necessarily in the main storage, despite what the User's Guide ( c:\Program Files\NSIcom\CrE-ME V4.10\Documentation\CrE-ME V4.10 UsersGuide.htm on the desktop) says), it'll work.