All about Safe Mode – the definitive tutorial - General Topics

You’ve installed a new application and, now, can’t boot in your Pocket PC? Ever wondered how you can boot into a Safe Mode similar to the desktop Windows Safe Mode to disable all third-party applications and services? Read this!
1. A quick (executive) summary
If you don’t want to read the article in its entirety (I DO recommend the latter – it contains a LOT of never-before-published tips and plain English explanations of what is happening behind the scenes!), here’s what you should do:
depending on your preferences, get either Spb Pocket Plus or iLauncher, install it
if you encounter boot-in problems (the device wouldn’t boot after installing a new application and resetting the device), make sure you quickly (in less than one minute after the first reset attempt) reset the device so that the Safe Mode boot message is triggered and displayed
when the above-mentioned message is displayed, tap the screen area; Spb Pocket Plus / iLauncher will boot in Safe Mode
now, simply go to Settings/System/Remove Programs and remove the application
finally, click the “Reset” button on Spb Pocket Plus / iLauncher. It’ll reboot in the standard (non-safe) mode – now, without the offending application.
1.1 Non-bootable Pocket PC’s?
However much the Windows Mobile operating system is much safer than many desktop operating systems, there may be cases when things just go wrong and you just won’t be able to boot in: after resetting the device, it will just hang at the boot splash screen.
This is particularly true of cases when you install new software. There are some well-known software products (or unlucky combinations of them) that are bound to cause sometimes severe, reset-time problems. Just two of the well known “dangerous” cases:
some old(er) ThinkOutside StowAway drivers (for example, version 4.3) installed on some specific Pocket PC models (for example, the Fujitsu-Siemens Pocket Loox 720): after the (self)-reset upon installation, the device, in general (particularly if you don’t enable Bluetooth before starting the install), most probably just hangs and not even subsequent resets help in most cases.
trying to install the two great Pocket Internet Explorer / Internet Explorer Mobile plug-ins MultiIE and PIEPlus on the same time (not all the time, mostly when it’s not a clean device). In these cases, if you’re unlucky enough, the device is rendered unbootable and you will need to do a hard reset if there are no other chances to make it work again. (Note that alone these plug-ins cause no problems at all. Also note that this is the case with all the versions I’ve tested – even the latest ones.)
In this article, I explain how, with which applications you can fight all these problems. First, I provide a generic overview of the booting sequence of the Windows Mobile operating system so that you know where things can go wrong. Note that you don’t need to understand it: if you don’t, it’s no problem, you will still understand the rest of this article. However, it casts light on a lot of issues discussed in the article and, therefore, is highly recommended.
2. The booting sequence
In this section, I explain the sequence the Windows Mobile operating system executes software during booting in. Software also means third-party software – that is, software like the above-mentioned MultiIE, PIEPlus or the StowAway unified driver. Note that I don’t explain how system software is booted in as it’s irrelevant in this case: I only pay attention to explaining how third-party software is executed. Again, it’s user-installed third-party software that causes unbootability problems.
2.1 HKEY_LOCAL_MACHINE\ init\
The first place Windows Mobile can run into user-installed software is the executable list stored in the Registry, under the HKEY_LOCAL_MACHINE\ init key. (I’ll also refer to HKEY_LOCAL_MACHINE as HKLM.)
This list (to put it simply) contains values named LaunchX with the value of an EXE file contained in \Windows. The name, LaunchX, ends in a number (here, denoted by an X); in general, it’s between 1 and 80…90 and can take any value in between. The smaller the number, the more early the execution of the given application. For example, if, say, the systems executable gwes.exe is Launch30 and, say, the third-party executable SafeMode.exe is Launch49, then, you can be sure it’s gwes.exe that executes first and only after this follows the execution of SafeMode.exe.
2.1.1 HKEY_CLASSES_ROOT\CLSID DLL’s
In this section, not only direct execution is possible: it’s also now that the (executable), in the HKEY_CLASSES_ROOT\CLSID (I’ll also refer to HKEY_CLASSES_ROOT as HKCR) section registered DLL files are (indirectly) executed. For example, both MultiIE and PIEPlus (as far as the current versions are concerned; older versions still used the “traditional” \Windows\ Startup directory to start them) are initialized this way.
This also means you can only avoid problems caused by DLL’s listed under HKEY_CLASSES_ROOT\CLSID if you use a Safe Mode application that is loaded before the latter DLL’s are loaded. Only Safe Mode applications that are loaded in the first stage (that is, from HKEY_LOCAL_MACHINE\ init) are capable of this – in our case, Spb Pocket Plus only.
2.1.1.1 Third-party Software Input Panels
Third-party Software Input Panels (SIPs for short) may also cause lock-up problems. Therefore, it may also be advantageous for a Safe Mode application to disable all the non-standard SIP’s to allow for booting in the device. SIP’s are also stored under HKEY_CLASSES_ROOT\CLSID and are a special class of executables.
2.2 HKEY_LOCAL_MACHINE\ Services
After the HKEY_LOCAL_MACHINE\ init executable files and the HKEY_CLASSES_ROOT\CLSID DLL’s have been loaded / initialized, the operating system loads the services listed in HKEY_LOCAL_MACHINE\ Services, also in the Registry.
In addition to systems applications and services (for example, the OBEX driver), many Today plug-ins (for example, two of the reviewed Safe Mode applications, the non-Safe Mode related services of Spb Pocket Plus etc) and drivers (for example, the ThinkOutside drivers) register themselves in there. Therefore, it’s essential to have a Safe Mode application that is able to disable at least third-party applications in this section. Fortunately, all the available Safe Mode applications are capable of this, unlike with stopping the execution of the above-discussed executable third-party apps.
2.3 \Windows\ Startup
The most widely known place that contain autostart applications is the \Windows\ Startup directory in the file system. Not the Registry: it’s the only stage of loading third-party applications that they are directly stored in the file system. Many (much more than in the first three cases) applications are started from here (for example, the StowAway auto-starting configuration dialog after the install). Therefore, it’s essential for a Safe Mode application to disable all the applications that are stored or linked from \Windows\ Startup.
2.4 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Today
Finally, the Today plug-ins are loaded. Their list is stored in the Registry, under the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Today key.
2.5 A quick note on the DB_notify_events database
Note that the “NOTIFICATION_EVENT_WAKEUP”, that is, the “The device woke up” event (which is sent via CeEventHasOccurred) is only sent when the device is powered up, NOT after a soft reset (there is no “callback after a soft reset” notification in WindowsCE as can also be seen in here).
This means Safe Mode applications need not disable any kind of events in DB_notify_events. (See Why ActiveSync- or Remove Programs-based uninstalling may not be sufficient? for more information on this database if interested. Note that as of version 2.0+ and 4.1+ (respectively), Skype and eWallet no longer register themselves in DB_notify_events.)
3. How do Safe Mode software products work?
3.1 Invocation, auto-timing
They are in common in that they ask the user whether he or she wants to boot into “safe mode”. To do this, the latter needs to either tap the screen (in a given region) or press a given hardware button (with one of the applications, mCube, this can be even configured; with the two other applications, only the Action button can be used for this.)
Two of the Safe Mode applications also offer a really decent feature: timing features. This mean they only present a “do you want to boot into safe mode” message if the last reset was less than one (with Spb Pocket Plus) or two (with iLauncher) minutes ago. Particularly with Spb Pocket Plus, where displaying the dialog may, on some (not all!) Pocket PC models, mean a six-seven-second long additional pause in the booting sequence, this is a big advantage over the “message is always displayed” case.
In most cases, using the timing feature will prove really useful. After all, if you have boot-time incompatibility problems, you are likely to reset your device quickly one after another. Even with the slowest-to-boot WM5 devices, this may mean consequent resets in under one minute. While Safe Mode apps operated in this mode won’t display the switch message (and won’t actively listen to the user input) during the first reset, they will do so upon encountering the second if it’s done really soon (as you would do when struggling with un-bootability problems).
3.2 Renaming / moving files and/or Registry keys/values
When the user instructs the given Safe Mode application to boot into Safe Mode, it, after doing some housekeeping (of which I’ll elaborate in this very section), it restarts (soft resets) the device again – now, already in Safe Mode.
To understand what happens during this is actually very easy and logical, particularly if you look at what two (mCube, iLauncher) of the three Safe Mode applications do. That is, they just move away the links/ executables from \Windows\ Startup to another directory in the file system and modify the Registry (SIP’s, Today plug-ins and HKLM\ Services) so that the system won’t be able to access these. Then, they just reboot the PC and let it just boot in as if it booted normally – now, without additional SIP’s, Today plug-ins, \Windows\ Startup applications and HKLM\ Services; that is, the potentional harmdoers. This means it’s only with very few cases that the device remains unbootable (again, the MultiIE + PIEPlus (HKCR/CLSID) case, where only Spb Pocket Plus is usable).
As soon as you’ve finished fixing the problems (for example, with the StowAway drivers, just manually starting the Bluetooth unit of your Pocket PC and, then, manually starting the StowAway application – this will fix everything), you just instruct these applications (by clicking their Reset buttons or other, designated screen areas) to move back all the links and executables to \Windows\ Startup in the file system and restore all the original registry values / keys from the backup (which you may already have modified) and just restart the machine.
Note that if you don’t use the Reset facility of the Safe Mode applications but directly reset the PDA (you shouldn’t do this, but, as is explained here, it won’t cause problems), they will notice (during the next reboot) this and will restore them. Notice that, in this case, you may end up having to re-reset the device again. (I’ve also thoroughly tested and elaborated in the comparison chart on this.)
Using a backup copy of these settings also means you should NEVER uninstall iLauncher or mCube while it’s in Safe mode; it’ll never restore your “unsafe” SIP / \Windows\ Startup files/ Today / HKLM\ Services settings and you’ll end up having to restore them yourself by hand, which isn’t easy for a newbie.
Note that Spb Pocket Plus, as opposed to the two other applications, does not rename / move files / registry values around. It uses much more sophisticated techniques to avoid loading unneeded, third-party boot-time stuff. This also means you don’t need to know how it modifies these values in order to be able to manually clean them up.
3.3 Cleaning up the device
Now that we know where the most “problematic” references are stored, let us have a look at whether these applications have built-in support to access these areas or you’ll need an external registry editor and a file explorer to make the cleanup.
One of the applications, mCube, contains a GUI that lists all these areas (except for HKLM\ init and non-SIP HKCR\CLSID stuff). That is, with it, you can use its (excellent) GUI to review all the potentially dangerous links or registry entries and can even delete them by hand.
Of course, the Settings/System/Remove Programs is the best way to do this, particularly with Registry entries. Note that, however, as mCube and iLauncer will copy back a saved file system/registry snapshot when you instruct them to reboot, some dead links may remain if you use Remove Programs. In this respect, Spb Pocket Plus’ backup-less solution is the best: Remove Programs will directly remove all the associated links / references and, consequently, you won’t run into ‘dangling link’ problems after a reboot.
The two other applications don’t offer any GUI like that of mCube. However, as most problems can (and, because of the high number of inter-related files and Registry entries, should) be fixed by simply using Settings/System/Remove Programs, this isn’t a problem.
4. Safe Mode software
4.1 Spb Pocket Plus
(tested, current version: 3.1.2)
{
"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"
}
As far as Safe Mode functionality is concerned, this application is definitely the best. It’s better than the mCube app in that it’s also WM5-compatible. It’s also excellent in that it’s able to avoid loading HKCR\ CLSID classes (unlike the other two alternates): for example, this is why it’s the only application that offers MultiIE + PIEPlus clash-resolving capabilities.
Note that it doesn’t have full HKLM\ init filtering capabilities (I’ve tested this pretty thoroughly): if a misbehaving third-party program registers itself in HKLM\ init, not even Spb Pocket Plus will be able to boot in. Fortunately, very few applications register themselves in there and their number is constantly decreasing, particularly because of my article published a year ago on the matter (alternates: MobilitySite, AximSite, PPC Magazine, FirstLoox, BrightHand). For example, the latest version(2.98 and 1.65, respectively) of neither XCPUScalar nor Mad Programmer’s ForceHiRes register themselves in this section any more (but in the “traditional” \Windows\ Startup instead). (Note that, consequently, I needed to use version 1.51 of ForceHiRes, which still does this, in my current tests to find out more about real HKEY_LOCAL_MACHINE\ init protection.)
This application has some disadvantages too. The most important is, as opposed to the two other apps, is the slightly increased boot time on some (not all!) Pocket PC models. On the WM2003SE F-S Pocket Loox 720, for example, the boot-in time is extended by six to seven seconds with always-on Safe Mode boot-time prompt; that is, if it is configured to actively ask the user whether the latter wants to switch to safe mode. By default (if you use the timer-dependent, default mode), there will be no additional waiting – that is, it’s highly preferable to use Spb Pocket Plus’ default Safe Mode setting, which only offers the (and, therefore, incurs the 6-7-second penalty) user the possibility of rebooting into Safe Mode if the last soft reset was less than a minute ago.
Note that there are no delay problems on some other devices; for example, the Dell Axim x51v . With ROM version A12, it boots in about 32 seconds, with both Safe Mode prompt disabled and enabled. That is, you will want to measure the boot time of the application on your particular PPC model to see whether you want to enable the always-on prompt or leave it at the default, timer-only mode to speed up the booting process.
It has no GUI to edit the contents of \Window\Startup or the Registry. However, this isn’t a big problem as in most cases you’ll just uninstall the misbehaving program, where the backup-less architecture of Spb Pocket Plus will really pay off in having no further problems of dangling, “dead” links.
4.2 iLauncher
(tested, current version: 3.0)
The brand new version of SBSH’s excellent Today launcher iLauncher also has support for Safe Mode.
Its Safe Mode capabilities are pretty good but, unfortunately, not as good as that of Spb Pocket Plus (read: there is no HKCR\ CLSID protection). However, it's still a good choice, particularly if you, generally, prefer it as a complete Today launcher and task manager solution to Spb Pocket Plus. I'll publish a complete comparison of the two applications in this respect later.
4.3 mCube's SafeMode
(tested, current version: 1.02. Note that mCube’s site is down for maintenance; it’s available here)
This free and, unfortunately, WM2003(SE)-only application was the first on the Pocket PC to deliver real Safe Mode.
In some respects, it’s certainly better than the two alternates (most importantly, the price (free), the GUI, the ability to assign any hardware button to it etc). It, however, is clearly worse than Spb Pocket Plus as far as HKCR\CLSID DLL file loading is concerned (and, of course, it isn’t WM5-compliant).
Therefore, while its price can’t be beaten, I recommend both Spb Pocket Plus and iLauncher over it – particularly for WM5 users.
5. The comparison chart is HERE (click the link to see the chart!)
5.1 Explanation for the chart
There isn’t much to explain here as the contents of this chart should already be clear if you understand Chapter 2 of the article.
6. Verdict
If you want to have the absolutely best solution, go for Spb’s Safe Mode. It, being loaded on the first real occasion, offers far better protection against bad-behaving programs than the other solutions.
If you don't want / need protection against misbehaving, HKCR \ CLSID-registered applications and/or would prefer iLauncher's capabilities over those of Spb Pocket Plus, go for the former - it's a very good application too and, as has already been pointed out, there are very few HKCR \ CLSID-based, "problematic" applications.

Hi Menneisyys,
Thanks for the great in-depth report. Your comments are always very valuable and useful to me in improving the software.
Although clearly there is plenty of room for improvement with iLauncher's safe mode, I'd like to point out two factual errors:
1) iLauncher safe mode can be engaged when tapping on the Action button (center of the D-Pad) when the prompt is displayed.
2) iLauncher safe mode does disable services. However, it will allow services to run that were installed prior to installing iLauncher.
Again, thank you for your great analysis. As always I take this as a challenge to improve.
-Jason-

Thanks for the comments!
JasonLP said:
1) iLauncher safe mode can be engaged when tapping on the Action button (center of the D-Pad) when the prompt is displayed.
Click to expand...
Click to collapse
Thanks, fixed this in the chart.
JasonLP said:
2) iLauncher safe mode does disable services. However, it will allow services to run that were installed prior to installing iLauncher.
Click to expand...
Click to collapse
Yeah, you're right. I've tested services' disabling with the Battery bar previously installed; this is why I've missed this (wouldn't have thought it only disables services installed only later). Will fix this mistake ASAP and accordingly rewrite the article.

Article greatly updated, thanks to JasonLP.

Thanks for the review Also, I'd like to mention my website is back up - SafeMode is also available there.
Cheers,
monocube

Great news!

Perfect!
Congratulations...

4/5 imo.
nothin new.

Hi,
I just dont really understand.
You said about "un-bootable" PPC, what does it means?
For example: I installed BADAPP.EXE and after that I did a soft-reset (boot?). Then the PPC is not started (unbootable).
Is this the situation?
If it is not started anymore, how can I fix the problem by using those 3 apps (mcube, pp+, ilauncher) ?
Or I guess I understood incorrectly?

gogol said:
Hi,
I just dont really understand.
You said about "un-bootable" PPC, what does it means?
For example: I installed BADAPP.EXE and after that I did a soft-reset (boot?). Then the PPC is not started (unbootable).
Is this the situation?
If it is not started anymore, how can I fix the problem by using those 3 apps (mcube, pp+, ilauncher) ?
Or I guess I understood incorrectly?
Click to expand...
Click to collapse
After bad installation Windows can hang on after the second splashscreen (experienced that several times). Safe mode can help in such cases (tried iLauncher safe mode) though I prefer regular backups and conservative approach to installation of unknown applications.

nothin said:
4/5 imo.
nothin new.
Click to expand...
Click to collapse
And what about safe mode 2? Somebody has tested it?
I like that it¡s a standalone app for this purpose.
http://www.monocube.com/content/view/20/36

nothin said:
4/5 imo.
nothin new.
Click to expand...
Click to collapse
Unfortunately, I don't have the time to keep all my Bibles updated with links pointing to my newer articles / roundups.
I've also reviewed the Safe Mode apps / additions released since the release (and also posted here at the General forum) - it's just that I ddidn'thave the time to post a UPDATE post in this thread.

rodalfa said:
And what about safe mode 2? Somebody has tested it?
I like that it¡s a standalone app for this purpose.
http://www.monocube.com/content/view/20/36
Click to expand...
Click to collapse
Yup, tested and reviewed in a newer article; liked it.

Related

REVIEW: Teksoft's brand new Pocket PC utility suite Smart Bar

Teksoft, developer of the excellent BlueMusic application (see for example this article & the links), has just come out with a brand new suite, Smart Bar, of system management applications. I decided to give it a try as it’s a pretty capable suite of utilities with some really excellent modules.
{
"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"
}
They even promise an application capable of recording both (!) parties in a phone conversation (so far, this has been impossible with all Pocket PC Phone Edition devices of both HTC and ASUSTeK (Fujitsu-Siemens T8x0)); I think it’ll work by directly “tapping into” the Bluetooth unit as can be seen for example in here.
Availability, price
The suite is available here. To review the (pretty good and recommended) manual, visit this link. There is a(n unfortunately, pretty restricted) trial version too.
The “price” of the suite is 200 credits; that is, between 20 and 25 euros (depending on the amount of money you transfer to your online credit account). The registration is a one-device only (that is, CPU ID- and not PPC owner name-based); licenses can be transferred to other devices in case of a device change (for example, when the previous one bites the dust and gets exchanged).
Install
Use smartbar_setup.exe for pre-WM5 and the CAB files for WM5; see install.en.txt for the latter case.
Compatibility
It’s stated to be compatible with strictly QVGA devices with at least the WM2003 operating system. (I’ve also tested it on Pocket PC 2002; it indeed doesn’t work.)
You can, of course, try to install it on VGA devices, but I don’t think you should give it a go. I’ve tested it on three different VGA devices (Dell Axim x51v A12, WM5 iPAQ hx4700 2.01, WM2003SE Pocket Loox 720). On the hx4700, the PowerPlugin Today screen plug-in was absolutely useless; on the two other devices, it was shown, but not anything else. On the Dell Axim x51v, I’ve received frequent gwes.exe crashes after a reboot, because of which I had to entirely disable PowerPlugin.
Of the PowerPlugin, few features were accessible on these VGA devices; in the following chart, I’ve summarized all this (note that it also contains HTC Wizard-related info):
Note that, as far as the Wizard is concerned, I’ve listed two ROM’s: the O2 2.21.4.1 WWE (3/9/0) ROM and the “cooked”, widely known AKU3.2 one by KTamas / bepe. This means there are differences between different ROM versions / builds – all icons may work with your particular ROM version. The developer has promised they would test the suite with other ROM versions.
As can clearly be seen, the majority of the features PowerPlugin has can’t be used - not even on the QVGA HTC Wizard (with some ROM versions).
One of the central features of the application, Smartbar, wasn’t accessible either on any of my VGA devices. Self-standing apps like the screen capture, the network troubleshooter and the task manager applications, however, did work on VGA devices.
Also, it’s very important that you BACKUP (see the Backup Bible if you’re unsure) your device before installing the application. My absolutely clean, freshly hard reset WM2003 HP iPAQ 2210, after the install, couldn’t boot in at all and I ended up having to hard reset the PDA (I’ve tested this two times). I haven’t tried to boot into Safe Mode (read this roundup & tutorial if interested in Safe Mode on the Pocket PC); it may have helped .
Today plug-in (PowerPlugin)
It’s a simple plug-in with shortcuts to en/disable wireless units, suspend the device, show whether it's connected to the Net (IMHO, this is pretty useless on a WM2003+ device - after all, the Connectivity icon is always visible on the taskbar) and a backlight slider. It doesn’t contain for example battery or memory meters, unlike most other Today launchers (please see this iLauncher review and the links to earlier reviews to find out what a decent Today launcher should offer.)
Unfortunately, the majority of the functionality it’s supposed to offer didn’t work on my test devices. For example, as far as en/disabling wireless functionality is concerned, it was only on the x51v that it was able to both en- and disable Wi-Fi; on the Wizard, it was only able to enable it and on the PL720, wasn’t able to do anything. As far as Bluetooth is concerned, it didn’t work on any of my test devices in any direction. The backlight slider only worked on the PL720. (See the chart at the top, in the Compatibility section for more info.) The only exception is the HTC Wizard with the O2 ROM, where everything worked. (Again, more information on the compliance with other HTC Wizard ROM versions will be published / announced later.)
Also note that, while it has, in addition to the backlight slider, a backlight icon. It, now, doesn’t do anything. Hope the Teksoft folks wire it to the backlight / brightness applet of the device as is the case with all the other, similar Today plug-ins.
Task manager
This is one of the best features of the suite.
Pretty cool. Better than the built-in task manager: it lists the memory used, whether it’s a windowed app/process and if yes, is it visible; the title and the window class name. However, it doesn’t display other advanced & useful stuff like CPU usage and has no “Stop all processes”. Also, it’s not possible to “hide” system processes either – that is, for a newbie, this task manager can prove pretty dangerous.
Ultra Keyboard
This is probably the most unique feature of this suite: it allows for controlling some functionality using the keyboard. The most important of this is text insert macroing capabilities, which has always been missing from Pocket PC’s (except for some, not very capable Software Input Panels (SIP's) like Resco Keyboard Pro and Biomobility’s CopyText Pro; also see this thread for more info if interested).
When you use text insert macroing and assign a macro to, say, the series of characters “bye”, Smart Bar will constantly monitor the keys you press on the built-in (or external) keyboard of your PDA and when it sees the keys b, y and e pressed in order, it’ll delete back the three characters and insert the replacement text.
It's really cool but, unfortunately, only works with built-in keyboards or external ones (like those of desktop-based PDA controllers; see this roundup for more information on them.) Even in this case it can prove useful - most built-in thumb boards are pretty awkward to enter text on them.
You can initiate the following functionality from the keyboard: Replace with phrase; Execute a file; Turn device off; Reset device; Call number and Screen Capture. Note that if your keyboard has a different layout than your current ROM language, the default layout will be used. For example, if you have a German MDA Vario (= HTC Wizard) with English ROM but use the keyboard in German mode so that you find all keys at once, you will need to enter ‘bze’ instead of ‘bye’ for the ‘bye’ script to be executed. Also, note that not even in this case will everything execute – that is, try not to use anything that have relocated letters.
In my tests, all these functions worked OK.
Smartbar
This is a shortcut bar at the bottom of the Today screen for accessing active apps (closing / activating them) and activating other built-in apps (and the Desktop mode) of the Smart Bar suite. Unfortunately, task control-wise, it is probably the worst module in the entire suite; hope this will be greatly enhanced in subsequent releases.
Compared to (better) task managers like iLauncher, Magic Button or Spb Pocket Plus, its disadvantages are as follows:
It can only be accessed on the Today screen, not on the taskbar (and / or the Close / Minimize icon itself)
It supports no mass operations like “close all but this one”, “close all”, unlike with Magic Button or the built-in iTask of Compaq / HP iPAQ’s
It doesn’t override the Minimize / Close (x) icon
Hope these disadvantages will be soon be fixed and the task management functionalities of the application greatly enhanced.
Note that while it doesn’t have explicit scrolling icons / menus (unlike Magic Button as can be seen in here but NOT iLauncher 3, which is suffering from the complete lack of scrollbars as can be seen in this and this screenshots), you can scroll the active task icon list if there are more than five (Portrait) / seven (Landscape) of them.
I’ve also tested the CPU usage of smart.exe to see whether it causes any CPU load, particularly with more than a handful programs active. (For example, Magic Button causes a constant CPU usage of about 1-3% all the time.) The results are acceptable and not much worse than those of Magic Button:
Desktop
Yes, a WisBar Advance Desktop (WAD) clone! It’s in no way so advanced as WAD; still, if you like these kinds of applications, you may find the one in Smart Bar suitable.
Screen capture
Smart bar also contains built-in screen capturing capabilities. Please see the Screen Capture Bible for more information; in the following pros/cons list, I build on the information and explanations of that guide.
Compared to other screen capturer applications,
Pros
Uses a 3-second delay by default; that is, it can be used to make menu screenshots (without using the periodic screenshot capabilities)
Able to capture images periodically (albeit with some limitations, particularly when it comes to the frequency of taking shots). Note that it’s the “Stop interval” drop-down list that lets you fine-tune the interval it’ll take screenshots (between 10 seconds and 10 minutes as can be seen here and here)
If you use it on a device with a built-in thumb/keyboard and you enable screen capturing through Ultra Keyboard, you will be able to capture almost any game screen any time (!) by just entering the Ultra Keyboard shortcut (“CAP” by default). In this respect, the suite is unbeatable and unrivalled.
Periodic screenshot capturing is fast and, therefore, gaming-friendly (unlike, say, BeniSoft ScreenShotCE)
Both BMP and JPG output; the latter with settable quality
Can save files to anywhere, not just the main storage
Can capture images, in addition to the original (100%) size, at double and triple (200% / 300%) size – very useful on QVGA devices to avoid further enlargement and unique among all the screen capturer applications
Landscape & VGA compliant even in SE VGA mode
Cons
Multishot (periodic) capabilities are a bit limited – you can’t instruct the app to make shots less frequently than every two second
While the screenshot utility is a self-standing app, it cannot be invoked from a custom-written nScriptm script to fine-tune periodic screenshot making parameters
(Trial version useless: it inserts a message in the captured images)
All in all, the screenshot capabilities of the app are excellent, especially when you take the price of the suite into account and the only problem with this module are the too frequent screenshots in auto mode. Also, as has already been pointed out, the ability to make hardware keyboard-based screenshots of games is unbeatable and unique.
Network Tools
The suite also contains a simple (it’s in no way as advanced as, say, vxUtil) network troubleshooting utility, Network Tools.
It’s able to ping and traceroute to find out possible networking problems. It also uses DNS lookups; that is, if you for example enter www.yahoo.com, the contents of the input field will revert to 209.73.186.238 (or something very similar, with a different ending), showing the IP address of the given computer (it doesn’t do the reverse).
It also exports the traceroute results to a file. (Note that I didn’t have a “real” wireless connection during the tests and the utility had problems accessing the net via USB (in both WM5 AKU2+ networking modes); I could only access the desktop computer my PDA was hooked up to; this is why there is only one entry in the tracelog.)
It’s pretty cool to have if you don’t happen to have Windows Mobile Network Analyzer PowerToy or vxUtil around.
Verdict
This app is certainly promising. Hope subsequent builds / versions will fix the issues / implement the missing functionality (most importantly, overridden Close / Minimize button) I’ve elaborated on. Then, I’ll recommend it heartily, without conditions. Now, in the present state, I do recommend it too – but conditionally.
First, the bad. It does have compatibility issues. If it does work on your PDA model, it won’t likely to support all the features of the Today plug-in (PowerPlugin) and has no for example storage meters. Also, the task management functionalities / program shutdown capabilities of Smartbar are certainly inferior to most similar apps like iLauncher, Magic Button or Spb Pocket Plus. I find this the biggest stumbling block of the application.
Second, the good. It’s, as an all-in-one application, is really good. That is, if you don’t want to struggle with installing many applications (say, WAD + Magic Button + some advanced (!) screenshot app + vxUtil) to achieve the same (or even better! See for example the screenshot utility) functionality (without keyboard macros, of course), give it a go. Also, if you need keyboard macroing (again, it won’t work with on-screen keyboards, only hardware ones!), this is the application to go.
The same stands for taking screenshots: this application clearly excels in this area (except for the too frequent screenshot taking in repetitive mode – hope the developer fixes this too), particularly when it comes to making screenshots of anything (most importantly, games) that inhibits hardware button access and, therefore, renders hotkey-based screen grabbing impossible. Then, Ultra Keyboard’s excellent keyboard-based shortcuts will prove highly useful.
All in all, if you still don’t have any application to implement the above-listed functionalities or, for example, losing the excellent task management functionalities of other task managers isn’t a problem, definitely give it a go. Remember, however, that
do NOT get it if you are a VGA user; wait for the soon-to-be-released VGA-specific / compliant version
do backup your device before installing or, at least, make sure you have an active Safe Mode application

Emulating Texas Instruments’ calculators under Windows Mobile

Many of you may have already heard of Texas Instruments’ excellent calculators; most importantly, the (currently) top-of-the line TI-89/92 and, for high school students, the most recommended TI-84 series.
These calculators can be much more powerful than native Windows Mobile calculators
They are free (as opposed to some commercial Windows Mobile calculators), assuming, of course, you have the original device
while there are some excellent unit conversion apps for Windows Mobile (for example, Burr Oak Software's Conversions In Hand, Fann Software's ConverterCE Pro or TranCreative's MxConverter Comprehensive Edition for Pocket PC), the built-in unit conversion capabilities of these calculators are excellent (example screenshot HERE (accessible after pressing 2nd + 3 on a TI-89) and HERE)
may already be well-known to you if you’ve actively been using them in real life (no need to learn the interface of a new calculator software – you can just go on with your already well-known one)
have GREAT third-party software add-on support (as far as the newer models, manufactured in the last 14-15 years, are concerned)
{
"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"
}
This means it might be far more advantageous to check them out instead of trying to find a native Windows Mobile implementation. In this review, I scrutinize all the available solutions, going back in time. That is, at first, I review the most up-to-date emulators and, then, go back in time to discuss emulators of other (less powerful / capable) calculators. This means the first part of the review will be of interest to anyone wanting to get some decent calculator software or just doesn’t want to keep her or his calculator around when the Windows Mobile handheld is capable of doing (almost) the same. Latter chapters of this roundup will mostly please people like me – that is, classic for example LED calculators, which have long been dwarfed with more recent models.
Please also consult the linked-in Wiki pages on the original calculators themselves. Here, I will only elaborate on stuff directly connected to Windows Mobile-based emulation and the like – that is, stuff completely missing from the original Wiki articles. You may also want to follow ticalc.org’s calculator pages.
Before embarking on listing the available (with special emphasis on current) models, let me point out that higher model / series number doesn’t correspond to being newer. That is, for example, the TI-84 series, while considerably newer than the TI-89 series, have a lower number. Also worth mentioning is the fact that TI has several (graphing) models, all targeted to different market segment. For example, a high school student doesn’t necessarily need derivation / integration capabilities (dunno if high schools in the States do teach these subjects for regular high school students – here in Europe, these are only taught in specialized high schools) – it’d be an overkill for her or him to pay extra for a calculator that offers these advanced capabilities. That is, instead of the most advanced (and expensive) TI-89/92/V200 series, a high school student will most probably want to get a cheaper TI-84 Plus (SE) (or, if she or he is cost conscious, their direct, compatible predecessor, the TI-83 (Plus)).
Let me also mention that this tutorial is
the first in the row of my forthcoming series on Windows Mobile calculators. In the following installment, I’ll discuss the emulators existing for HP’s calculators and, then, the native calculator programs
as usual, widely needed. The official manual of the best desktop Windows emulator, VTI, is very hard for a beginner to understand, and the same stands for the official TI-89 manual. In addition, the Windows Mobile version has absolutely no documentation / tips / descriptions of in what way it’s different from the desktop version. That is, this tutorial is undoubtedly the best tutorial available for TI-89 newbies wanting to get up to speed as soon as possible without having to read hundreds of TI-89 manual pages.
So, the current (and future) TI calculator models are as follows. (Note that the Comparison & Feature Chart also has a quick summary of these devices, along with a lot of information.) Also note that, in general, TI uses the “Plus” to refer to the second edition of a given model (except for the TI-84 Plus, which doesn’t have a non-Plus device). “Silver Edition” (abbreviated as SE; not to be mistaken for “Second Edition”!) and “Titanium” generally refers to the third (and, therefore, most advanced) model in a given series. That is, always try to get a SE / Titanium model if possible.
1.1 TI-Nspire
This model hasn’t been released yet; therefore, no emulators exist (let alone Windows Mobile ones).
1.2 TI-84 Plus (Silver Edition)
These two, pretty new (released in 2004) and, according to the poll HERE, most popular TI series high school calculator (in the poll, the TI-89 was placed second; don't forget, though, that the TI-84 series is aimed at high school students, while the TI-89's are aimed at more serious university students or graduated folks) models (the enhanced versions of the TI-83 Plus (Silver Edition)) are still not emulated under WM (or, for that matter, the desktop Windows) either. Not that it’d be a problem – after all, these models don’t have any advanced functionality compared to their predecessor (the TI-83 Plus), “only” a faster CP and more RAM / ROM.
1.3 Voyage 200 (also V200 and Voyage 200 PLT)
No emulators exist for WM.
1.4 TI-89 and TI-92 series
These are, after the TI-84 series, the most widely sold TI calculators. Again, don't forget that this series is the way to go (and NOT the more widely sold TI-84 series!) if you want something above the high school level. Do read the related Wiki / ticalc pages.
1.5 TI-86
This calculator (released in 1997) is partially compatible with the TI-85 (which it replaced) and is also supported by VirtualTI-89Pocket.
1.6 TI-83, Plus and Plus Silver Edition
Two of these calculators, the TI-83 and the TI-83 Plus (released in 1996 and 1999, respectively) are supported under WM; the latest (2001) model, Plus Silver Edition (which has nine times the available Flash ROM and over twice the processing speed of the Plus), isn’t.
The changes between TI-83 and the TI-83 Plus were pretty big; for example, the latter already allowed for ROM updates.
1.8 TI-85 (and THIS)
This model has been replaced by TI-86.
2.1 Getting calculator ROM’s
Both the desktop and the Windows Mobile-based emulators require the original ROM of your calculator(s) to be present. It’s easily extractable using the desktop-based ROM extraction tools (it’s also built-in into VTI, the most important desktop-based emulator). However, if you DO have the original device, you may want to choose downloading the original ROM’s right from the homepage of TI itself.
You will most probably need the TI-89 ROM download (currently, it’s “TI-89 Operating System v2.09”; click the Download icon on the center right). It’s also linked from HERE. Just put the resulting os.89u file in the home directory of your desktop / Windows Mobile version. That is, with the desktop version, just copy it into the directory you’ve uncompressed the emulator to; with the Windows Mobile version, you’ll need to copy it to <storage card name>\Program Files\VTI Pocket Emulator.
You can access the majority of the other, compatible ROM’s on TI’s other pages (see the related row in the Comparison Chart) if you really need compliance with those older and/or less capable models (if not, just stick with the 89 – it’s the best, still supported model). If you need one of the TI-82, 83 and 86 ROM’s, you can also get them from other pages; for example TheOldComputer.com’s ROM download page. Note that you will NOT want to use the TI-85 ROM in there – it won’t work (not that it would be a problem: the TI-85 is superseded by the supported & compatible TI-86). M.E.S.S., another desktop emulator for (along with several other models) the TI-81, 85 and 86 isn’t able to use this ROM either. Also note that the TI-99 also listed in the TI section is NOT a calculator ROM but that of a very old home computer, the TI-99/4A.
All ROM files must be copied to the home directory of the emulator; with both the desktop-based and the mobile one. With the TheOldComputer.com package, you’ll, naturally, need to decompress them first.
Note that you won’t need for example the TI-84 Plus ROM (also linked from the ticalc.org TI-84 Plus page) because not even the desktop VTI support the new 84 (Plus). The same stands for the latest 89-series model, the TI-89 Titanium: its ROM doesn’t work under any emulators either (it’s identified as TI-92+ by both the desktop and the WM emulator and is refused to be loaded). Finally, other current models aren’t supported either.
2.2 Emulation on Desktop Windows
You MUST learn how the emulator must be used under the desktop Windows operating system if you will ever want to import any third-party application into your Windows Mobile-based emulator or want to export your own programs typed (tapped) directly into the emulator in easily maintainable, direct exports.
The best emulator available for the desktop is Rusty Wagner’s free Virtual TI v2.5 beta 5 (linked from the main page HERE; alternate download HERE), which is compatible with TI-82, 83, 83 Plus, 85, 86 and 89.
(Note that you won’t want to download the Virtual TI-89/92(+) Emulator v1.01 Beta (it doesn't find the ROM image in the same directory) or the Virtual TI v3.0 Alpha, unless you want a TI-73 / TI-83 Plus emulator only.)
Just download the ZIP file and, after copying one (or more) ROM files in the same directory (if you don’t want to use the app to extract a ROM image from your connected calculator), start vti.exe.
A calculator image will come up (showing the face of a TI emulator, depending on the available ROM images in the home directory). If it’s the wrong emulator (you’d like to emulate another calculator by changing the ROM image) either press F12 or right-click the image and select Set calculator / ROM version as can be seen in this screenshot.
A dialog box will be shown, showing what ROM versions are available. Just select the one you’d like to use (for example, in this screenshot, I’ve selected the TI-89) and click OK.
After changing the ROM, the skin will immediately change and the calculator boot in as can be seen in here. You will want to raise the (virtual) contrast by repeatedly clicking the
("diamond") button and, then, clicking the + button. To make this faster, use the Ctrl key (it’s a shortcut for the diamond key) on your desktop keyboard while depressing + (or -, if you want to decrease the contrast) on your keyboard. BTW, the diamond key will always result in invoking the functionality printed in green on top of most buttons. The yellow 2nd button,
, (also in the top left) will do the same, but with the yellow labels (second functionality) printed on top of most buttons (note that the desktop PC keyboard uses the Alt shortcut for the 2nd button).
Now, you can start to do some serious work. If you already know how to operate a TI-89 (from now on, I only show how it can be operated; other models are, fortunately, pretty similar in operation), then, you will only need information on how files / programs can be transferred between the operating system and the emulator itself. If you’re a newbie, on the other hand, you may want to download the official TI-89/92 manual / guidebook from HERE. It’s certainly a good read, but may be a little too much for a newbie, particularly because it discusses two series at once. Therefore, for basic tasks like program transfer and starting, you may want to prefer my tutorial below, particularly because, of course, it doesn’t discuss emulation-related questions at all. (Needless to say, the documentation coming with VTI is pretty useless for a newbie. The Windows Mobile port is even worse: it has absolutely no Windows Mobile-related documentation. That is, you won’t be able to learn anywhere – except for my current article – how you can import third-party / external programs to it.)
First, let’s see how file transfer is done from the desktop PC to the emulator.
2.2.1 Desktop PC -> emulator file transfer
First, let’s get some for example games so that we can indeed try to operate the emulator! (Note that getting and deploying productivity apps – for example, math functions – is done exactly the same way. In here, I’ve chosen games to show you how excellent gaming platform these calculators are with the right coding.)
For example, download Earth Mission HERE. It’s a really nice, very fast action platformer game. After downloading, decompress earth89.zip. It’ll contain two files of interest, earth.89y and earth.89z (in addition to the French language readme file, lisez-moi.txt). Highlight them in either Windows Explorer or, for example, Total Commander and drag-and-drop them on the calculator image (make sure the virtual TI-89 is switched on - you can't transfer anything to switched-off emulator images).
During this, you shouldn’t be presented a Transfer error dialog box; if you are (most importantly because you’re run out of the, when nothing is installed in the RAM, 192 kbytes of RAM), just click Cancel and read on to find out how you can check the free RAM memory of your emulated calculator and how it can be increased.
Now, press 2nd (again, on the PC keyboard, the Alt shortcut key) and - buttons (that is, invoke VAR-LINK). You’ll see the following:
http://www.winmobiletech.com/062007TICalculators/varlink1.png
Now, let’s create a so-called “folder” (they’re just like a directory in the file system) in order to separate the game from other apps / games you’ll later upload to avoid name clashes / much better separation.
2.2.2 Creating / using folders
Using folders is particularly useful because most third-party apps, particularly games, contain several executable and/or data files, which makes browsing them REALLY hard. When correctly separated into folders, managing / browsing them becomes far easier – as with directories in a file system. (Note that only top-level directories are allowed – not nested ones! That is, you can’t, for example, create a Games main folder and, for example, an Asteroids subfolder inside it.)
To do this, still in this, VAR-LINK mode, click the F1 button (or, of course, on the keyboard) and select 5: Create Folder.
http://www.winmobiletech.com/062007TICalculators/varlinkCrFolder.png
Enter some meaningful name for the new folder; for example, earthmis:
http://www.winmobiletech.com/062007TICalculators/varlinkCrFolder2.png
Press (click – it’s at the bottom right) Enter two times. The new folder will be created as can be seen in here.
Now, select the new files you want to move to the new folder. To do this, press (click at the top, under the screen or press the hardware key on your keyboard) F5 (All) to bring up the selection menu. Here, just select 1:Select all. All the files will be marked in the non-collapsed folders. The results will be the following:
http://www.winmobiletech.com/062007TICalculators/varlinkCrFolder5.png
Now, press F1 (Manage) and select Move. You’ll need to decide which folder to move the selected files to; as you have only one folder (in addition to MAIN), you can just choose the default (earthmis). (If you will have more than one potential target folders, you’ll be able to select them right here.)
Now, you’ll be taken back to the file list view:
http://www.winmobiletech.com/062007TICalculators/varlinkCrFolder7.png
As can be seen, the two files have been copied to the new folder.
When copied into separate folders, you must use the folder name as the prefix when starting a given program in these folders as in foldername\appname(). This will be auto-generated for you when, after doing the above tests (but NOT making the new folder the default one – this will be explained later), you press Enter on the executable file of the two (earth.ASM):
http://www.winmobiletech.com/062007TICalculators/varlinkCrFolder8.png
In this screenshot, as can be seen, the name of the executable program (earth) has been prefixed by earthmis, using the backslash character to separate the two names. To try to run the game, you can just supply the closing parenthesis and pressing Enter. Then, you’ll be presented the “earthpgm not found” error message as can be seen in here.
This is because the main executable, earth, is trying to find the related resource files in the MAIN folder (in here, there is the executable ASM file (earth.89z – note the z at the end! Z, in most cases, states for assembly programs) and one data file (earth.89y – note the y, which, mostly, states for data files). This will be a problem with ALL third-party applications / games depending on other resource files.
To combat the problem, you will need to use the setFold (folderName) command (cd (Change Directory) under MS-DOS / Windows), where folderName, as you may have already guessed, will be earthmis in our case:
http://www.winmobiletech.com/062007TICalculators/varlinkCrFolder10.png
Press Enter two times; the result of this will be changing to the new folder:
http://www.winmobiletech.com/062007TICalculators/varlinkCrFolder11.png
Now, you can reissue the earthmis\earth() command above (you can even leave the foldername and just use earth()) and the game will now start. (Note that you’ll need to start the game and control jumping with the 2nd button in the game; not, say, Enter. This is pretty understandable if you take into account that this button is pretty much in the same line as the D-pad, unlike Enter.).
There is another very important thing you MUST master: copying the files off the RAM to the flash ROM.
2.2.3 Using the built-in flash ROM to store programs / data
As with all mobile platforms, dynamic memory (RAM) is very scarce and really precious. There is only 192 kbytes of RAM in the TI-89, which fills in REALLY fast, particularly if you (try to) run games. (If you encounter problems when you try to run something, it will most likely be caused by the shortage of RAM). Therefore, you MUST master backing up your files to the built-in flash ROM of your device. There is much more flash ROM than RAM.
To do this, go back to the already-known VAR-LINK mode, select the files in RAM to be moved to flash (in the F5: All menu), press F1:Manage and select 8:Archive variable:
http://www.winmobiletech.com/062007TICalculators/desktopVITArchiveVriable1.png
The filenames will, now, be prefixed with the http://www.winmobiletech.com/062007TICalculators/desktopVITArchiveVriable3.png icon, which means the files are no longer in RAM:
http://www.winmobiletech.com/062007TICalculators/desktopVITArchiveVriable2.png
You can easily check whether the transfer to the flash ROM has indeed succeeded. To do this, you’ll need to use the memory applet – another very important applet you need to master with all programmable calculators so that you can see how much dynamic (program) / static (flash ROM storage) memory you still have.
2.2.4 Checking the available RAM / flash ROM size
To do this, just press 2nd + 6 (MEM). In there, look for the two numbers at the bottom right (the cursor is just below them):
http://www.winmobiletech.com/062007TICalculators/desktopVTImemsize.png
The “RAM free 195852” means you have the full (factory) available RAM at your disposal; the “Flash ROM free 631482” means some 20k of files are already in the flash ROM of the device (that is, in this case, the emulator).
Finally, let me elaborate on how you can export files from the desktop emulator to the file system of your desktop computer. If you, for example, write a program in the emulator (see Chapter 17: Programming in the official manual on how programs need to be entered in the emulator) and save it as, say, omaapp2 (as can be seen in here), you’ll need to select F3:Link and, then, 1: Send. The desktop Windows OS will present a file save dialog, where you can rename the file before saving and also select its target directory):
http://www.winmobiletech.com/062007TICalculators/desktopVTISaveProgs3.png
(Note the ‘p’ in the .89p extension. As opposed to assembly programs, which end up in z, BASIC programs created using the built-in program editor end in p. Also note that the different file extensions are also listed HERE and HERE.)
2.2.5 Other apps / games to try
As far as games are concerned, you can also give a try to Aspirin v3.0 (a small but pretty nice and indeed addictive game), CalcRogue (an interesting RPG; remember to transfer ONLY the contents of the binTI89 to the calculator, without the contents of the Titanium subdirectory), Calcwars (also see Advance Wars for the Game Boy Advance; must be started with ttstart("cwdata")) etc. There are TONS of other games in the Games subcategories of the TI-89 archive of ticalc.org (for example, here’re the assembly language (meaning fast) ones and here’re the BASIC ones (slower).
The same stands for applications / math libraries. There’re virtually thousands of such apps for example here (assembly math) and here (BASIC math). If you have the time, I REALLY recommend looking around in all the subfolders of the ticalc.org TI-89 library - it’s really worth it! There’re even (simple) Java Virtual Machines for the calculators - let alone goodies like Telnet apps or (Lynx-like) Web browsers.
In addition, you’ll want to take a look at CalcG.org. Much as, in general, it has fewer titles, it has some really interesting goodies (and an online forum – ticalc.org’s mail list archives are currently down); for example, this StarCraft article (unfortunately, without any downloads).
Finally, there are some (very few) official Flash programs on TI’s pages themselves.
Now that you know how to use the desktop version, let’s move on to the mobile port.
2.3 The Windows Mobile port
2.3.1 Getting and installing the mobile version
The mobile version, VTI Pocket Emulator v2.4, which, more or less, is a direct port of Rusty Wagner’s original on the desktop, is ported by Daniel Galano (see his personal page HERE) to Windows Mobile and is accessible HERE.
Installing it is pretty straightforward: decompress the ZIP archive and start the only EXE file inside. It’ll install the emulator through ActiveSync. As with the desktop version, you’ll need to copy the ROM(s) of the calculator(s) you’d like to use to the home directory of the emulator.
Having a dedicated installer, you can start the emulator right from the Programs, by clicking the VTI Pocket Emulator icon.
Note that you won’t want to use it in Landscape (there wouldn’t be much point in doing so as, for example, you can’t use slide-out / clamshell key/thumboards anyway) because of the major GUI bitmap problems (tested on ALL my test device, VGA and QVGA, old and new - behaved the same).
Swapping ROM’s can be done in File / Select ROM as can be seen in here. Upon swapping a ROM, the corresponding skin will also be auto-loaded as can be seen in here. (Note that skins except for that of the TI-89 are all pretty blurred.)
2.3.2 Differences between the desktop and the mobile version; problems with the latter; tips
There are some major differences between the original and the ported version. They are as follows:
The mobile version can’t load external files and can’t save programs you enter yourself / variables you’d like to be saved. This means the only way to transfer programs / data in either direction is using the <romname>.sav files (for example, with the official TI-89 upgrade ROM, os.sav) it automatically saves its state to upon exiting and restoring the state upon restarting / reloading a given ROM BIOS. That is, you WILL need to use the desktop version to transfer external apps to state saves.
Because the aspect ratio of the original calculator might be around 10:3 as opposed to the 4:3 aspect ratio of (most) Windows Mobile devices, the original button layout isn’t preserved – the uppermost three row buttons are relocated to the right of the screen, which can be pretty annoying if you’re got used to the original button layout.
It’s FAR slower than the desktop emulator, even on very fast WM devices. That is, it’s completely useless for gaming. For “traditional” uses, however, it may be OK (albeit, for example, graphing functions are REALLY slow – even the most simple ones. Just try entering graph sin(x) on a mobile device and see how slow graphing is – it’s decidedly faster on desktop devices).
Unfortunately, Windows Mobile hardware buttons can’t be used to speed up input (see the way the Alt / Ctrl keys are used on the desktop emulator to dramatically speed up invoking second/third functionality). However, built-in keyboards / the D-pad work on most devices. An exception is the HTC Universal, where attempts to use external / internal keyboards resulted in an almost immediate address error / privilege violation error. With the HTC Wizard (which also has a built-in thumbboard), I’ve encountered no similar problems. As far as the D-pad support is concerned, it’s only with the Dell Axim x51v (A12 ROM) that the D-pad didn’t work and trying to use it resulted in an immediate crash. With most (all?) of my other test devices, D-pad worked OK.
In addition to the problems outlined above, you MUST refrain from entering any data at a fast pace on the native GUI of the emulator, especially on (comparatively) slower devices. If you enter data too fast, the last entered button will be endlessly repeated upon subsequent key presses as if the last key were stuck. This (and the fact that you will need to slow down the pace you enter your data) can be pretty annoying.
2.3.3 Transferring files from / to the desktop version
As has already been pointed out, unlike on the desktop, it’s not possible to directly import an external program (data file) into the emulator, and you can’t export anything either. For example, if you select F3 / 1:Send in VAR-LINK (the way of directly exporting files / data to the file system in the target desktop), the mobile version just hangs. However, this isn’t really a problem if you do have the desktop version of the emulator on your desktop computer.
Then, all you need to do is making sure you do save the internal state of the calculator when exiting (that is, after right-clicking the skin, select the Exit and save internal state when exiting the emulator) and, then, just copy the newly created .sav state file to the Windows Mobile handheld. It’ll make use of it without any problems.
The same states for file transfers in the opposite direction. While the WM version doesn’t support selecting between exiting with and without state saving, when you exit the program, it does save the state. That is, if you need to export a program you’ve written / dataset you’ve created on your WM-based emulator, just copy over the .sav state file from the home directory of the emulator to your desktop emulator, and use the latter to export the file / data to the local file system as a non-sav, self-standing file.
All in all, if you need to import any kind of file into the mobile version, you must do this in the dekstop version and just pass on the state save (os.sav with the official TI-89 ROM) file to the mobile version.
2.4 The feature / comparison chart
As usual, I’ve created a feature / comparison chart so that you’ll have an easier time checking whether a given model is emulated under the desktop / mobile Windows, what hardware features (most importantly, screen and RAM/ROM size) it has, whether it supports CAS, where its ROM BIOS can be downloaded from etc. It’s available HERE. Don’t forget to check it out!
Note that the chart doesn’t include discontinued / superseded models: the TI-92 (1995; replaced by the TI-92 Plus (and later the Voyage 200), TI-80 (1995; replaced the much superior TI-73 and is, due to its proprietary CPU, is NOT emulated by any emulators), TI-85 (1992; replaced the superior and backwards compatible (!) TI-86), TI-81 (1990; replaced by all newer models; few additional apps because the programs needed to be entered by hand – this calculator had no linking capabilities).
Also note that TI’s official comparison chart only lists the four most current models (TI-83 Plus, TI-84 Plus, TI-84 Plus Silver Edition, TI-89 Titanium), unlike my chart.
3. What other TI emulators are available?
Not many: only the old TI-59 is emulated, which will be only of interest to retro freaks. Yeah, I loved the TI-59 back in the early 1980’s (before getting the Sharp PC-1500, which did blow out everything out of water) but, now, it’s really-really worse than any of the current TI graphing calculators.
The Windows Mobile emulator is available HERE. It, as with Daniel Galano / Rusty Wagner’s TI-8x emulator, uses a desktop installer. Note that the installer puts the direct link to the executable (when installed to the main storage, \Program Files\alainza\ TI59ce\ TI59ce.exe) to the Games folder of the traditional Programs.
Note that, much as Michu’s excellent Emupage lists MBA-Calc by Odyssey Computing, Inc. as a TI BAII PLUS emulator, it isn’t one. Odyssey Computing has two business (non-graphing) calculator titles for the desktop and handheld Windows; the newer and much more recommended BizCalc and the older MBA-Calc. These are NOT emulators.
Finally, still speaking of Michu’s Emupage, it lists another Windows Mobile version, “PocketPC v2.5 (with SkinEditor)”. It’s nothing else than the desktop VTI – that is, don’t run to download it.
4. Other links of interest
Long VTI Pocket Emulator v2.4-related comments thread at ticalc.org
FreewarePPC’s and PocketPCFreewares’ comments. Note that you will want to take PocketPCFreewares’ original comments with a HUGE pile of salt as they refer to a very old version, v2.4Beta, released early 2004. Also, some of the user comments at FreewarePPC are pretty misleading – do NOT necessarily believe what you read there!
TI-89, TI-89 Titanium, TI-92+ and Voyage 200 FAQ ("Can I run this game on my calculator even though it was written for a different calculator? What is AMS (Advanced Mathematical Software)? Can I play TI-89 games on my TI-89 Titanium?")
Poll: Favorite Calculator (1st: TI-84+ (SE); 2nd: TI-89 (Ti))
All the desktop emulator software
Great write up and I will try some of the others later, for now I must admit to being that "retro freak" you mention - I miss my TI-59 since the battery pack died and the home made one fried the main board, shame as it was a great device, I will have some fun trying this out later, I still have the original program listings I created when at collage 20+ years ago - thanks for the heads up - Mike
Wow, another excellent article. I popped my cherry on a TI-82. Still have my beautiful black beast somewhere in a draw
V
Buttons Misaligned-Fixed
After some farting around, I finally got this to run on my Rhodium (Tilt2), but the buttons were not aligned properly. I correctly assumed that it was a problem with the way that my phone scaled the bitmaps that it uses to skin the emulator. I am attaching the resized the skins, but I only have a ROM for the TI89 so I have not tested the others. I suspect that the resized skins would work on all WVGA (800x480) devices. I have no idea how to create a cab file, but it should be very easy for anyone to install these. All you need to do is replace the skins on your device with the ones below. The skins should be located in \Program Files\TI Pocket Emulator\Skins. Note: If you have installed the application on a storage card, you will find the "Program Files" folder on the card.

Emulating HP’s calculators on Windows Mobile

Hewlett-Packard’s calculator series, while in no way as popular or standardized as the emulators of Texas Instruments (please see THIS for the one and only COMPLETE overview of emulating the latter calculators on Windows Mobile), indeed have their place under the sun. What is more, they have way better emulators under Windows Mobile that TI.
Note that, as with the above-linked TI article, you may want to read this roundup and actively follow the for example Wiki links. Higher-end HP calculators (as with those of TI) can easily be better than any native calculator and/or unit converter on Windows Mobile (WM for short), let them be traditional touchscreen-enabled Pocket PC's (Windows Mobile 6 Professional / Classic models) or no-touchscreen Smartphones (Windows Mobile 6 Standard) devices. Furthermore, which should also be taken into account, the majority of these emulators can freely be used (as opposed to mostly commercial native WM calculators) – with the highest-end HP models even when you don’t actively own the original calculator. I provide you with all the necessary manual links so that you can easily find out more information on a given model – that is, you don’t even need to own the (original) manuals. Hats off to HP (as opposed to TI) for being so generous and providing the ROM image of their best calculators and allowing for using them even if you don’t own the original calculator!
As usual with most of my roundups, you simply won't find a better, more thorough source of the subject. This is particularly true of my first-hand information on MS Smartphone (Windows Mobile 6 Standard) compliance. That is, if you're lucky enough to have a newer, high-resolution (QVGA) Smartphone and look for a decent calculator compatible with your device, make sure you read this article - you won't find "hacking" tips like these anywhere else.
Let’s start with the most popular 48/49 series, which many consider even better than the top-of-the-line Texas Instruments calculator series, the TI-89.
1. Emulating HP-38G/39/40G/48GX/48SX/49G
The HP-48 and HP-49 series are no doubt the best calculators ever manufactured by HP. They are not only graphing calculators, but also support CAS (read THIS for more info on this very subject). Should you want, in addition to, say, the Wiki pages, a guide to the different models and their target audience, also check out hpcalc.org’s Calculator Buying Guide.
Also note that, in 2000, HP ACO allowed the use of the HP38, 39, 40, 48, 49 ROM's even if you're not an owner of this calculator type (see for example THIS for references); that is, you are free to use this emulator even if you don’t have the original calculator(s). This is great news, particularly given that the manuals of the calculators are also available online.
Fortunately, the Pocket PC emulation of all these models is very strong (no bugs, hi-res VGA support, object export/import supported on Windows Mobile too etc.), as opposed to that of TI calculators.
1.1 Download, installation, configuration
First, you must download and install the original Emu48CE (alternate download HERE; homepage HERE. Here, click Emu48CE on the left and, then, Downloads at the top.) Emu48 is THE emulator for these models. It’s so good some have even tried to sell it on Handango (needless to say, it’s free).
Make sure you install all the ROM’s you want to use on the when prompted as, by default, it only installs the 39G ROM’s as can be seen in HERE. Note that you MUST untick the “Install Emu48 on PDA (required)” checkbox as can be seen in here (it also shows I’ve enabled installing all the other ROM’s). (If you forget to untick this checkbox, don’t try to click the newly created GNU Emu48CE icon in Start/Programs. Instead, just go to Start/Settings/System, click Remove Programs and select "GNU Emu48CE V1.23". Click Remove and, then, Yes.)
Note that the ROM files are installed by separate CAB installers; therefore, you won’t want to automatically dismiss the “Please check your mobile device screen” dialog of the desktop ActiveSync installer before the installation of each module is finished to avoid messed-up installment (for example, ROM images installed to the built-in storage instead of the storage card because the default setting under WM5+ is the latter).
Now, go to the Christoph Giesselink’s (the leader of the emulation project) homepage HERE. You’ll need to download at least (two if you have a QVGA device) two files:
E48MB113 (should the direct link be broken, just go back to the homepage and look for something like “The executable package of Emu48 v1.13 for Pocket PC 2002, Windows Mobile 2003 (SE) and 5.0 (ARM platform).”, where 1.13 will be increased.
the ZIP file linked at the end of the description of the same program (“Already patched KML files (from Emu48CE without bitmaps) can be found here.”)
Decompress the contents of both ZIP files. Copy the decompressed files to the home directory of the emulator (it’s \Program Files\Emu48 when installed to the main storage – note that you will want to prefer installing the emulator to storage cards on models with little built-in storage because the ROM images take up a lot of memory). Make sure you overwrite ALL the original KML files!
Now, on a file explorer tool (for example, the built-in File Explorer) go to the same director right on your handheld and tap the just, manually transferred Emu48.ARM.CAB. This will create a new, Emu48 icon in Start/Programs (with WM5+ devices; with pre-WM5 ones, it’ll be right in the Start menu) – you can tap it right away.
Upon starting the emulator (or, when you choose File / New), you’ll be offered the choice of selecting a new so-called 'KML script'. I’ll elaborate on these scripts a bit more later; now, suffice it to say that they tell Emu48 which ROM to load and what keyboard bitmap to use. Note that the default files are optimized for QVGA (I’ll elaborate on VGA issues later) and most of the titles also contain the emulated model version; that is, it’ll be pretty easy to select one. (Of course, you can always experiment with the alternatives as the more popular and recent calculator models (48/49) have more than one KML file, all with different layout. That is, do experiment with them - it's certainly worth it.)
Let’s assume you want to emulate the 49G; therefore, let’s select one of the alternatives, “HP49G for Emu48”:
{
"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"
}
Now, click the OK button at the top right of the dialog (to the left of the X button). If nothing seems to happen, repeat this. You’ll be presented the results of the script compilation; if everything is OK, you’ll also see no error messages at the bottom of the scrollable text area and another OK button. The GUI loads and you can start working right away.
The KML script compilation process may encounter problems, particularly if you download additional KML scripts. You will want to do the latter to, for example, have a high-resolution VGA button layout on your VGA handheld, not just a low-resolution, ugly, blocky QVGA one. The two most common errors are the lack of the ROM file to load and the lack of the keyboard bitmap files:
When the ROM is missing, you will get the error message “This KML Script doesn't specify the ROM to use, or the ROM could not be loaded.”. If you don’t want to do some blind guesswork, just look into the associated KML file (with “HP49G for Emu48”, it’s in the file hp49.kml – just look for the “Title” at the top of each KML file to quickly find the associated source file) and look for the section defining the ROM; that is, the Rom parameter in the Global group at the top:
This states that, for the KML file to work, it needs a "ROM.49G" file in the same directory. Look around for the file – for example, reinstall it using the Emu48CE installer.
Missing bitmap files, for example, the lack of a “hp49.bmp.png” file in the home directory of Emu48, will result in receiving the compile error “Cannot Load Bitmap hp49.BMP” Fixing this problem, in general, only involves reinstallation and/or Googling for the given BMP layout file.
Finally, you may also encounter warnings (NOT fatal errors! That is, the compilation succeeds!) like “Patch BEEP.49G is Wrong or Missing”. These warnings can safely be ignored as these beep files only add beeping capability to the emulator – something you don’t necessarily want. If you DO need these files, however, you may find them all in the official, free HP SDK (details HERE, should the direct link refuse working) and copy emu\beep.48 / emu\BEEP.49G to the home directory of the emulator. Note that, alternatively, you can also find these beep files in the additional VGA skins, explained in the following section.
1.2 Additional KML files (a must for VGA users!)
The default keyboard skins coming with Emu48CE are QVGA only. If you have a VGA device, you’ll need to download the following skins:
Wombat3 for 48 SX and GX
HP49VGA for 49g
Just unZIP these files and transfer all the KML and bitmap files to the home directory of the emulator. After this, upon selecting a new KML file, you’ll also be shown these files as can be seen in HERE (Beemer’s 49G skin) and HERE (the Wombat3 GX skin). In action, they are indeed very cool as can be seen for example in HERE and HERE. Much prettier than low-res QVGA skins, aren’t they?
Note that if you don’t like the original (white) Wombat3 48GX script, you can also give a try to the dark, much more "natural" Juan Pardo scripts HERE. It’s not only more “natural”, but also contains some new, useful buttons in the upper left area of the screen. Example screenshot HERE.
There are several Landscape skins too (unfortunately, not in VGA – that is, for example HTC Universal / Athena users are left in cold. By default, the VGA skins aren’t Landscape-compliant.)
1.3 Usage
After all the hurdles of the installation (and, if you’re a VGA user, the additional installation of VGA skins), you can rejoice: the rest is much easier and there are no known problems with the emulator running on a Pocket PC (WM Classic / Professional), unlike with the TI emulator.
If, on the other hand, you only have a MS Smartphone, don’t expect much: while (after manually extracting and installing the files) the emulator itself starts, you can’t go any further from the KML selector screen (tested on the QVGA HTC Vox in both orientation modes; screenshot HERE and HERE).
The emulators can be used in exactly the same way as the original calculator. The only difference is the lack of the “physical” expansion like SD cards / connectivity. However, there is connectivity emulation in the emulator.
1.3.1 What if you don’t know the original calculators?
The documentation / manuals of all these models are available online. See the following links:
49G+ / 48II docs
It’s also linked from this generic page, with manuals of previous models too (note that the HP39 link doesn’t work; use the one HERE instead). I especially recommend the HP48 manual HERE if you’d like to more closely learn more about the system. Note that, however, you don’t necessarily need to read it; my tutorial will be sufficient to get you started and even load third party apps into the emulator. Only check it out if you really want to learn more about these excellent calculators.
1.3.2 Uploading third-party software in the emulator
Get the software title, start the emulator, make sure it doesn’t do anything and, in the desktop version grab the binary distribution (it’s, in most cases, ends in .lib file) to the emulator image. In the Windows Mobile version, select Edit / Load Object and select the file. Note that as, on Windows Mobile, Emu48 uses the system-level, default file dialog box, you may want to put your files in either \My Documents or in the root / the first subdirectory of your storage cards in order to be seen. Alternatively, you may want to install Mad Programmer’s free, excellent File Dialog Changer as is explained in for example HERE. In here, I’ll go on with showing you desktop Windows screenshots; after loading an object, it must be saved into the local memory using exactly the same steps as on the desktop Windows.
In this example, I show how the single PSYCH13.lib file of the HP-48GX version of Psychro needs to be deployed.
To make absolutely sure a given program file can be deployed in the emulator with simple (object) drag and drop, look into the beginning of the file. If it is indeed binary and starts with HPHP as for example in this example:
then, it’s compatible with this transfer model. (Otherwise, for other types of resources like additional GIF files with, say, games like the 48 port of Prince of Persia, you must use the MUCH more complicated terminal emulation. I don’t elaborate on the latter as most math libraries – the files that you most probably want to run, as opposed to games – come as standard LIB files deployable this way.)
After dragging, you’ll see something like THIS.
Now, you will need to store the uploaded program in one of the so-called “ports”. It’s how HP refers to different memory types. Port 2 is, for example, the emulated SD cards in the 49G+ (and the 50G), the highest-end 49-series model(s). With other devices, only port 0 and 1 are accessible; of the two, you’ll want to use the latter.
To do this, just press 1 and, then, STO (the second button in the second row on the 48GX). The stack list will be cleared, showing the object was indeed saved.
Now, switch off the device (the green button and ON; both are at the bottom right) and, then, again on (the lower left ON button). Press the green button again and, then, 2 (LIBRARY). You should see the title “PSYCH” in the title area at the bottom (also see where the mouse cursor stands in the screenshot!). You can click it (two times) to start it (screenshot of the running app HERE).
You can add a lot of other apps in the same way: when no program runs, just drag-and-drop the program, click 1 and STO, switch off and on the machine and voila: the new program is ready to run and listed in the Library section, next to earlier deployed libraries (screenshot of running HERE).
1.3.3 Downloading additional software
The best source of additional software is the archives of hpcalc.org. See THIS for HP48 and THIS for HP49 software.
Just an example of some famous libraries directly deployable on a 48 (from the Symblic Math category)
Erable 3.024
ALG48 4.2
In addition, there are other pages to acquire software from; for example, that of Savage Transcendental Studios. This page contains some additional database / Japanese studying 48GX/49G(+) apps. Some of them are simple libraries (for example, the 48G version of Kana Tutor and Psychro), which can be loaded straight into the desktop emulator via simple drag-and-dropping and, to the Windows Mobile one, by simple object importing. These programs are also accompanied with PDF files explaining how this needs to be done.
2. HP-41; dedicated website
There is only one, free emulator to emulate these old, alphanumeric calculators, eV41. It’s currently at version 0.93 and it’s highly unlikely it’ll be developed further (it was last modified over five years ago). Not that it’d be THAT important: for example, it supports loading user code even in current form.
Note that in order to access the WM version, you’ll need to register yourself! Also note that this distro also contains the desktop Windows emulator.
Fortunately, using this emulator is pretty straightforward and there are no known problems / bugs running it on any platform, except for the lack of Landscape (don’t try relying on scrolling because, as with the TI emulator, it’ll result in bitmap problems as can be seen in HERE) and Smartphone (a “hacked” version of ev41 doesn’t find some DLL) support.
3. HP17B/17BII/19BII/27S/28S/42S: emu42
(current desktop and Pocket PC version: 1.09 and 1.08, respectively; note that the page at hp42s.com lists OLD versions. HERE is the manual.)
As with later calculators (the above-introduced emu48 and the HP38/39/40/48/49), there is an all-in-one emulator for the HP 17B, 17BII, 27S, 28S (1988, semi-graphical: 137*32), 42s (weaker Wiki page HERE; released in 1989; still WAY worse than the TI-89 – for example, no real graphing).
It uses exactly the same approach to KML files / skinning as emu48; that is, if you do read the emu48-related first chapter, then, you won’t have problems deploying for example new, additional skins from the homepage (for example, the VGA 42S skin, SKN42SMV - since version 1.02, it also supports VGA resolution). Fortunately, as opposed to Emu48, it requires no tricks when installing – no need to manually copying KML files etc.
Note that, unlike with Emu48CE, you must download the ROM’s from your calculators manually – they aren’t available on the Web (don’t even try to run a Web search for the ROM names in the KML files.) If this is a problem and you need to emulate the 42s, I have some great news for you: there is another 42s emulator, Free42, which does not require a ROM image.
4. HP42s: Free42 1.4.36.
As has already been mentioned, as opposed to Emu42 discussed in the previous chapter, this emulator does not require a ROM image and may be used even if you aren’t a rightful owner of the original emulator.
There are two versions of the emulator: decimal and binary. The latter is much faster but, because of the internal representation differences, may not work with some legacy applications. If this is not a problem, install the binary version (copy and execute it there to install). Also see the section “What's the deal with the "Decimal" and "Binary"?” in the README.txt coming enclosed in the ZIP archive. The two versions can co-exist without problems on the same machine and, therefore, you can always go back to the decimal version, should a given application refuse running.
(the same with the “realistic” skin, which is pretty blurred because of the low resolution)
Note that, as with the ROM’s, the original, official manual of the 42s isn’t available on the Web either (as opposed to the 39G/40G (CAS)/41C/48G/49G+ series with manuals online); however, there’s an unofficial ‘fan’ manual HERE. The latter manual is very easy to understand – actually, I’ve found it much easier to comprehend than HP’s official manual.
Compatibility-wise, you can use the numeric keys of devices with built-in keyboard. It’s not compatible with the Landscape mode. It’s capable of importing / exporting programs. And, finally, good news for QVGA Smartphone users: if you copy the executable file(s) (after manually extracting it/them from the CAB file(s)) to your phone, it’ll run flawlessly. The numeric (phone) keys will work OK; for the rest of the keys to access, you’ll need a cursor emulator like SPHelper. Example screenshot or it, running on my HTC Vox / s710 (the cursor is that of SPHelper):
Of course, this only applies to QVGA Smartphones - traditional (176*220) models will only show part of the skin and are, consequently, useless.
5. HP-16C
This calculator, mainly meant for computer programmers needing for example binary / hexa conversions, was manufactured between 1982 and 1989. Also see THIS for an intro to this model. It only has one emulator, CP16 (direct download links HERE); the current version is 0.326.
Installing and using this emulator is pretty easy: you download the above-linked ZIP file, extract cp16_ppc.exe from it, transfer it to your Windows Mobile device and start it from File Explorer (you can, of course, put a link to it into \Windows\Start Menu\Programs).
Compatibility-wise, it’s not Smartphone-compliant. It has built-in support for Landscape (View / Landscape); for it to work, you must start the calculator in Portrait mode because the emulator only rotates the GUI for itself, not on the OS level. This also means you won’t be able to use it in left-handed Landscape mode (the native mode for the Universal, Wizard, TyTN / Hermes and all other Pocket PC’s with a slide-out keyboard) unless you use a third-party hack to rotate the Portrait screen with 180 degrees before starting.
6. HP-10B Plus (business), HP-12C (financial; is still being manufactured (since 1981)) and HP-15C (advanced scientific)
I elaborate on these three calculator models in the same chapter because they are emulated by very similar, commercial emulators by Lygea Calculators. They are self-standing applications meaning you won't need to hunt for / download ROM images.
These emulators are as follows:
Pocket 10B SE Business Calculator 2.0; ($19.95) (WM6 VGA screenshot)
Pocket 12C SE Financial Calculator 1.61; $23.95 (WM6 VGA screenshot)
Pocket 15C SE Scientific Calculator 1.22; $20.95; WM6 VGA screenshot:
Using and the compatibility / features of these three emulators are pretty similar. For example, all of them support the Landscape orientation (example of the 10B emulator HERE) and use hi-res on VGA devices and, generally, look “cool”.
Note that all these emulators store their resolution-dependent resource DLL’s into \Windows, which isn’t the best news for users of some non-native WM5 models updated to WM5; for example, the HP iPAQ hx4700. Unfortunately, relocating these files to the app’s home directory won’t work (haven’t tested the same with relocating to another directory on the System Path - it might work).
Smartphone compliance-wise, the hacked (EXE + DLL’s in \Windows) version, unfortunately, doesn’t display the three bottom icons for going further (and clicking around won’t help either). That is, while you can enter the reg. number (with a cursor emulator like SPHelper), you just can’t go further. This means no (hackable) Smartphone compliance.
6.1 Pocket BizCalc by Odyssey Computing, Inc. 4.0.09
The 12C is also emulated by Pocket BizCalc by Odyssey Computing, Inc. It’s pretty OK and considerably cheaper ($14.95) (but much uglier, non-Landscape-compliant and not making advantage of hi-res resolutions) than the Lygea emulator.
Note that Michu’s Emupage only lists the H/PC and the Palm-size PC versions. You won’t want to get any of them: the H/PC version has major screen rendering problems (for example, the original LCD screen is invisible; see THIS and THIS if interested) and the latter is MIPS / SH3-only; that is, it won’t work on ARM devices, meaning any PPC2k2+ Pocket PC’s manufactured in the last 5-6 years.
Also see HPC:Factor’s review HERE if interested.
Smartphone compatbility-wise, after manually extracting and transferring the pbizcalc.exe file to the QVGA smartphone, it’s more or less usable. However, the right and the bottom side of the GUI will be hidden. This, unfortunately, means the multiply, addition, substraction, division and addition operations (along with some more advanced memory operations) won’t be available to “click” via a cursor emulator like SPHelper. (Screenshot HERE)
7. HP-10B II (Business; Wiki stub)
A similar (but definitely weaker – see below!) calculator, Moravia Advanced Financial Calculator 1.0 (direct Emupage download link; can’t be found on PenReader’s homepage any more), is available (but, given that PenReader doesn’t seem to support it any more, it’s rather dubious whether it’s worth paying for).
As can be seen, this calculator is definitely inferior to the original one – just compare the functionality it offers to that of the original (see the buttons in the screenshot above and those of the originals at the MyCalcDB page. It’s not a 10B emulator either (see the original page HERE).
Smartphone compliance-wise, if you extract the one and only EXE file from the original CAB file, it’ll run flawlessly on QVGA models in Portrait mode as can be seen in the following screenshot (just press the Action button when you’re shown the license agreement to get rid of it):
Unfortunately, you must use a cursor emulator even for inputting numbers – the numeric keys won’t work. And, of course, don’t expect compatibility with traditional 176*220 Smartphones either because of the skin size (screenshot).
8. What next?
This is the second instalment in my thorough article series on Windows Mobile calculators, the one on Texas Instruments calculators being the first. I'll soon publish the third instalment on native (non-emulator) Windows Mobile titles. Stay tuned
9. Other discussions of HP emulators
Some links for readers wanting to know what others think about the emulators.
Hp 48g/48g+/48gx/49g/49g+/49gx
Tutorial: HP48G calculator on your Axim.
Emu98CE; also quickly elaborates on emulating other HP models
Engineering Software
HP48 Emulator with 2003?
Cool! HP48GX Emulater
RPN Calculator (also discusses other, earlier HP models)
Need a recommendation for a calculator (mostly on other, non-HP models)
Graphing calculator - advice?? (mostly on TI’s calculators)
good scientific calculator... (generic)
Graphing Calculator for Axim? (generic)
Calculator Software
Math apps! (Calc. Emulators, Plotting, Physics, etc.) - PLease! (generic; note that the VGA 49 link doesn’t work any more)
Calculators (general; mostly about TI)

(MY) MAJOR BREAKTHROUGH: now, you can use Opera Mini as the system-level Web browser!

Note that the execution has taken on a whole new life with new people continuing the development. As there’re new versions arriving almost every day, I can’t keep up with editing the thread starter posts to reflect the latest state of the development. Therefore, you will want to
1. start with the last posts in this thread, particularly looking for my, JZ SmartMort’s and badbob001's posts and announcements.
2. go to http://forum.xda-developers.com/showthread.php?t=382043 for JZ SmartMort’s similarly named, excellent app.
3. badbob's thread is at http://forum.xda-developers.com/showthread.php?t=384271 - you'll want to visit it too
The original, now-outdated article follows:
You, hopefully, already know Opera Mini 4, which, currently, I recommend the most for all Windows Mobile users as the primary browser. It’s especially useful if you are on either a slow (say, GPRS) or expensive (non-flat rate) data plan and/or you also use Opera on the desktop and, therefore, can make use of the excellent, remote (!) favorite synchronization offered by Opera Link.
So far, it was impossible to quickly invoke Opera Mini from any mailer applications by just clicking / activating Web links in them. This was a major stumbling block for many, which is quite understandable. Yes, it’s a major pain in the back to having to rely on Internet Explorer (Opera Mobile, Netfront etc.) for displaying the given Web page - instead of the much faster / cheaper / prettier Opera Mini.
Of course, Pocket PC (using the new terminology, Windows Mobile 6 Professional / Classic) users have always had an escape route. They still could highlight the link and, then, copy it to the clipboard. After that, they could still invoke Opera Mini, go to Menu / Enter Address and paste the URL there. (Assuming, of course, they use a copy/paste-capable MIDlet Manager. The outdated and, unless you have specific needs or an old operating system, in no way recommended TAO isn’t one of them; the recommended Jbed is.) An example of highlighting a link and copying to the clipboard is depicted in the following screenshot:
{
"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"
}
This, however, resulted in multiple screen taps and has never been so simple as just clicking a link in the mail body and let the system invoke the browser and pass the link to it.
And, of course, the above-explained way of copying URL’s to Opera Mini doesn’t work with touchscreen-less MS Smartphone (in the new terminology, Windows Mobile 6 Standard) models. Not even with external Copy/Paste tools like VITO’s excellent, free CopyPaste.
Because of the acuteness of the problem, I’ve thought very hard on solving the problem and making Opera Mini (OM for short) a browser that doesn’t suffer from this problem. And, during a lengthy swimming & sauna session, it occurred to me how it can be solved. Yeah, it’s mostly during swimming that I get the best, most revolutionary ideas
First, the pros and the cons so that you can see what you can expect of my solution.
Pros
Fully Seamless integration into Messaging (or any other mailer app), Notes, Word Mobile, PDF readers, MobiPocket (or any other text processing / viewing app) etc under ALL Windows Mobile / Pocket PC operating systems before Windows Mobile 6, on both the Pocket PC and Smartphone platforms
While it’s not compatible with WM6 Smartphones (WM6 Standard devices), on WM6 Pocket PC’s, you can still pretty easily invoke OM and pass the given URL to it.
It’s free and pretty easy to set up
Cons
It isn’t compatible with WM6 Smartphones like the HTC Vox (s710) or the HTC Wings (s730). Sorry.
With WM6 Pocket PC’s (unlike previous OS version), some additional manual work is needed, compared to the pre-WM6 cases. That is, just clicking the link won’t suffice.
It will NOT work on local HTM(L) files on your device – that is, not external links. That is, you won’t be able to render a local HTML file if you click it from File Explorer. However, as it’s mostly remote links that you’ll want to view, not local files, this isn’t that big a problem.
Again, let’s emphasize it again:
with WM6 PPC’s (unlike with pre-WM6 ones), you must copy the URL to the clipboard and only after this click the link!
It does NOT work with touchscreen-less WM6 Smartphones (WM6 Standard devices)! That’s because of the operating system’s inability for any kind of copy/paste operation.
Installation, usage
download and install MortScript if you haven’t already done so. Make sure you install it in the main memory (unless you’re ready to modify the scripts I’ve provided).
download THIS file
depending on your operating system version, go to either the WM5 or WM6 directory of the ZIP file downloaded in the previous step. Note that if you’re still using a pre-WM5 operating system, you’ll need the WM5 version.
transfer OMInvokeAndPasteScript.mscr to \Program Files\MortScript on your device
import the registry file into the Registry (WM5: OMInvokeAndPaste.reg; WM6: OMWM6DefBrowser.reg). if you do this on a MS Smartphone, make sure it is application unlocked. I’ve published several articles on (the absolutely legal) app unlock; see for example THIS
If you absolutely don’t know how the Registry import file needs to be imported, do either of the following:
either get (and, even better, purchase - they DO deserve it as it’s a REALLY excellent app) SOTI’s Pocket Controller. Install it, connect to your device, click the Registry icon. Then, select Edit / Import in the new remote Registry Editor window. Search for the registry file and import it.
or, get Resco Explorer. Install it on your mobile device; make sure you don’t disable the Registry editor install. Start the latter and, then, just exit it – this makes sure .REG files become associated with the Registry editor. Now, after you’ve transferred the REG file to your handset, just click it from inside File Explorer. Voila: it gets imported into the local Registry.
That’s all – from now on, clicking links in mails, documents etc. should fire up OM and pass the URL.
How you can (and when you must) modify OMInvokeAndPasteScript.mscr ?
The majority of the application logic is, in both the WM5 and WM6 versions, in OMInvokeAndPasteScript.mscr. Therefore, you’ll need to modify it in the following cases:
first, the most important instruction you’ll need to modify is the second row Run("\Windows\jbed.exe", "-run sX_"), where X is either 0 or 1 (I’ve set it to 0 in the WM5 and to 1 in the WM6 script).
As is explained in my earlier Opera Mini & Jbed-tutorial and posts (see for example THIS) , along with other people (see for example THIS), X stands for as how manieth OM was deployed under Jbed.
also note that, if you have to use a pre-WM5 operating system, it’s here that you need to define your TAO / IMB J9 links. Please consult the related section in the MIDlet Bible for more info on how these links need to be created.
Just remember the following: the Run() function requires two parameters, both enclosed in “’s. First is the executable; the second is the passed parameters. The latter string, of course, can (and with both IBM J9 and TAO, will) consist of several parameters.
the script is geared towards Opera Mini 4 users. Under Opera Mini 3 (or previous versions), the initial two SendLeftSoft calls will NOT result in the “Enter address” dialog coming up. With Opera Mini 3, therefore, you will need to change the second SendLeftSoft to SendCR as follows:
#SetClipText(url)
Run("\Windows\jbed.exe", "-run s0_")
Sleep(6000)
SendLeftSoft
Sleep(400)
SendCR
Note that the above code snippet has SetClipText(url) commented out (note the # at the beginning of the row). This is only needed under WM6; under previous operating systems, you MUST NOT comment it out.
finally, you can fine-tune the parameters of Sleep() in the code so that OM is still reliably invoked. With the code above, for example, I let MortScript wait for 6 seconds (6000 milliseconds) before starting to emulating left softkey presses.
Quick explanation for the different behavior under WM6 (only for geeks / hackers / programmers!)
Under WM6, invoking the default Web browser isn’t any more done the same way as under previous operating systems. There, the contents of HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\ Shell\Rai\ : DEFBROWSER\1 tell the system what to invoke. Here, unfortunately, it’s impossible to define additional command-line parameters. Parameters DO get passed (in the background), but you can’t name them. MortScript, however, relies on the latter – that is, named parameters referable under their name, NOT their index.
Under pre-WM6 operating systems, it was easy to name the parameters you passed to programs as can clearly be seen in the WM5-specific Registry import file, which just overwrites the old value of HKEY_CLASSES_ROOT\ http\Shell\Open\ Command:
@="\"\\Program Files\\MortScript\\MortScript.exe\" \"\\Program Files\\MortScript\\OMInvokeAndPasteScript.mscr\" url=\"%1\""
Here, I’ve named the parameter “url”. This is why the first row in the MortScript file is as follows:
SetClipText(url)
This just instructs MortScript to copy the contents of the “var” variable (which, now, comes from the “outside” of the script) to the clipboard so that, later, it can be pasted back to the URL input field.
Feel free to quickly scrutinize the two, WM6- and pre-WM6-specific Registry import files so that you can see this for yourself.
Currently, I don’t know a way of naming parameters under WM6. Of course, when I come up with a solution, I let you all know.
Awesome.
Thanks for this breakthrough.
I shall test it tonight when I get home and report back my success.
UPDATE (11/29/2007): thanks to badbob001 on my blog, now, as opposed to the initial case, WM6 devices (both Pocket PC's and Smartphones) are FULLY supported!!!!!!!
This all means there is no longer a difference between how WM6 and pre-WM6 operating systems behave. You only need to make sure to get the right .MSCR and Registry import files from the already-updated ZIP file, depending on your operating system version. That is, for WM6, get the files from the WM6 subdirectory, for pre-WM6 operating systems, from the WM5 one. And, of course, modify the scripts if Opera Mini isn't deployed as the first app under Jbed, the, by default, supported (and highly recommended) MIDlet manager.
Again: Under WM6, manual link copying to the clipboard is no longer needed and, again, it works 100% on WM6 Smartphones as well!
(note that now that WM6 is fully supported, I haven’t edited the original article; its WM6-related parts are now outdated. Again, WM6 is fully supported now and there's no difference between the usability on pre-WM6 and the WM6 platforms any more.)
Moved to this post, as I noticed that one is for Smartphones, while I am on WM6 Pro.
So as I was saying:
Yes, you are right. I have deleted the string mentioning s0_ all together, and it does work without it. So, what you think.
Basically, here is what I tried:
Code:
If (ProcExists("jbed.exe"))
Run("\Storage Card\Program Files\Jbed\jbed.exe")
sleepmessage(2, "Please Wait...")
Else
Run("\Storage Card\Program Files\Jbed\jbed.exe")
sleepmessage(10, "Please Wait...")
EndIf
SendLeftSoft
Sleep(100)
SendLeftSoft
Sleep(100)
SendEnd
SendHome( "",0,1 )
Sleep(100)
url = substr(url,2)
SetClipText(url)
SendCtrlKey( "V" )
Sleep(100)
SendLeftSoft
What it does with that 10 seconds command is that, it launches Jbed, waits 10 seconds at the menu option (where there is a list of Midelets installed, in my case for now only Opera), and then only launches OM, and again there is no auto address input. So increasing seconds doesn;t give me anything. What can be the problem?
And what about handling of links in apps such as Spb Insight ... I haven't tried clicking links in any other 3rd party app, but perhaps the result will be same, i.e. not launching the OM but going straight to PocketIE.
UPDATE (12/04/2007): Major WM6-related updates have taken place in the meantime.
In the meantime, my blog reader badbob001 has refined the script. Now, if you click a link, you’ll be presented a choice list, where you can select whether to pass the given URL to Internet Explorer Mobile, Opera Mini, just copy to the clipboard or just cancel the operation. This will help you in selecting the right browser if you (still) plan to use IEM (or other native Web browsers like Opera Mobile, Netfront or Minimo).
Cool, eh?
Remember that you don’t need to deploy this script if you don’t need this kind of functionality but always want to be redirected right to Opera Mini. Therefore, I’ve also included the older version of this script in the ZIP file. It’s in the NoBrowserSelectionDialog subfolder. Note that this script has also been updated a bit: it checks for Jbed already running; if it is, then, it doesn’t wait that much. Again, thanks for badbob001 for refining and performance-tuning my initial script.
Note that the usual stuff applies: if the script doesn’t invoke Opera Mini but invokes something else, edit both occurrences of s0 and appropriately change 0 to a greater number.
Finally, note that, these updates & bugfixs being all WM6-related, I haven't edited the old, WM5-related, working MortScript file. If you need some speedup and/or dynamic, runtime selection of the browser you'd like to use, you'll want to copy either of the two new MortScript files - it'll work.
2. Upon HowardForums forum member volwrath’s bug report, I’ve enhanced the Registry import file to support invoking Opera Mini from all applications, not only Messaging and Notes. I wouldn't have thought WM6 is so half-baked (that is, half of the apps still depend on the pre-WM6 (that is, the HKCR/http/Open/Command) way of invocation). That is, the WM6 Registry import script has also been enhanced (basically, I've just added the contents of the old WM5-related Registry import file to it), not only the MortScript file.
Note that reading local files will still default to the system-level browser as I haven’t redefined the default application for opening .htm(l) files. That is, by default, Internet Explorer Mobile will open these.
Again and again, it can’t be stressed enough how much these hacks enhance the usability of Opera Mini under Windows Mobile! I really recommend giving Opera Mini a try – you certainly won’t regret it!
Gr8 ... tnx to all mind tanks and coders .... great, simply great. Hope with this, and my mobile, HTC P3300, being hard reseted, and OM being the first JApplet installed on main memory I will have no further probs
BTW, just wanted to know. Once I have .reg file registered in registry, and suppose I want to return back to factory settings, what will be the simplest procedure.
EazyVG said:
Gr8 ... tnx to all mind tanks and coders .... great, simply great. Hope with this, and my mobile, HTC P3300, being hard reseted, and OM being the first JApplet installed on main memory I will have no further probs
BTW, just wanted to know. Once I have .reg file registered in registry, and suppose I want to return back to factory settings, what will be the simplest procedure.
Click to expand...
Click to collapse
Just export the two reg keys as they were BEFORE your importing the regifile.
Should you no longer have them, let me know and I create it for you when I have some time.
Gr8 Breakthrough
Thanks Menneisyys and badbob001 ..... you the king of the hill.
On my HTC P3300 running WM6, Claudyfs Jbed 1.2, now all is working exceptionally well. Now with the updated script and reg tweak even the links embedded in 3rd party apps (such as the one I mentioned, Spb Insight) the OM get's launched and the browser shows the web site without any delays. The only thing I changed was the Sleep string from 6 to 4.
I can't thank you guys enough ... definitely MAJOR BREAKTHROUGH
Please Help!
I have done everything as mentioned. It comes up with the options - I select OM - It loads OM - that's it!
Nothing loads but when I go to Pocket Word and paste the info, it is in the clipboard.
What do I need to do to get the info from the clipboard into OM?
Otherwise, great app!
cbus said:
I have done everything as mentioned. It comes up with the options - I select OM - It loads OM - that's it!
Nothing loads but when I go to Pocket Word and paste the info, it is in the clipboard.
What do I need to do to get the info from the clipboard into OM?
Otherwise, great app!
Click to expand...
Click to collapse
Also - If I have OM running then click on link, it opens up ie and exits OM and IE?????
Any thoughts?
Ok - I read thru the middle of your info. I am running wm6 pro on sprint touch.
I put the # in front of setcliptext(url)
and put in SendCR instead of the second SendLeftSoft
What happens is I get OM to load and it opens a url but it is not the url I selected. It is from a previous clipboard item. I will continue to play with it.
any thoughts would be appreciated!
Update!
Ok - Got it working!
For those of you having similar issues, here is what I did.
I am running OM 4.0.9751
I took the # symbol off the front and that fixed the clipboard issue.
I did however leave the second SendCr and that did the trick.
So it looks like this:
SendLeftSoft
Sleep100
SendCR
Sleep100
I was under the impression that with OM 4.0 that I didn't need the sendcr command.
Please let me know if this is correct?
Still Exiting
So everything works fine - the only problem is that if OM is running in background, then it will go to OM then to IE then it says in ie "shut down Opera Mini?" Then it shuts down.
Any ideas?
made a fix for the exiting problem
I changed the mortscript to the following and that fixed the exiting issue however I am sure there is an easier way.
if (substr(url,1,1) eq " ")
url = substr(url,2)
EndIf
list[1] = "Open in Opera Mini"
list[2] = "Open in Pocket IE"
list[3] = "Copy to clipboard"
list[4] = "Cancel"
Choice("With this link...", url, list)
Case(1)
Call OpenOM
Case(2)
Run("\Windows\iexplore.exe", url)
Case(3)
SetClipText(url)
Case(0,4)
Exit
EndChoice
Sub OpenOM
If (ProcExists("jbed.exe"))
Run("\Windows\jbed.exe", "-run s2_")
sleep(2000)
SendRightSoft
sleep(2000)
Else
Run("\Windows\jbed.exe", "-run s2_")
sleep(6000)
EndIf
SendLeftSoft
Sleep(100)
SendCR
Sleep(100)
SetClipText(url)
SendEnd
SendHome("",0,1 )
Sleep(100)
SendCtrlKey("V")
Sleep(100)
SendLeftSoft
EndSub
Hope this helps!
Please let me know if there is an easier way.
UPDATE (12/12/2007): upon the problem reports of several Smartphone users (see the posts for example HERE), I’ve released a slightly modified version of the script that, instead of pasting, uses keyboard emulation. This makes it possible to use the script on some Smartphones that are incompatible with pasting.
The script is available HERE. Remember to remove the SP.2 extension before deploying it. Note that, again, it's ONLY meant for Smartphone users that previous script versions didn't work with!!!
Note that while it works on for example the I3 Beta of WM6 of the Samsung BJ, it doesn’t do the same on the (original) WM5 version of the same device or the HTC Vox (s710). It seems it’s impossible to support these devices with the current MortScript version. I'll also try to reimplement the script in nScriptm (another, less widely used scripting language / interpreter) - hope it is able to paste / send characters to these, still incompatible MS Smartphone models.
CABs Ready!!!
I made 3 cabs for easy installation of this hack.
What it does:1. Installs MortScript (Default to Internal Memory, because of links and shortcuts)
2. Installs script to Windows dir and imports Reg values (to be independant of MortScript folder)
3. Creates a shortcut for OperaMini in the programs folder!
These CABs are for ARM processors and for Pocket PC only - not smartphones.
All you need to do is install.
Have fun.
P.S: I need a confirmation that the WM5 cab works.
shlomki said:
I made 3 cabs for easy installation of this hack.
What it does:1. Installs MortScript (Default to Internal Memory, because of links and shortcuts)
2. Installs script to Windows dir and imports Reg values (to be independant of MortScript folder)
3. Creates a shortcut for OperaMini in the programs folder!
These CABs are for ARM processors and for Pocket PC only - not smartphones.
All you need to do is install.
Have fun.
P.S: I need a confirmation that the WM5 cab works.
Click to expand...
Click to collapse
You're great; I'll frontpage this!
UPDATE (12/15/2007): XDA-Devs forum member shlomki has just released the different hacks in CAB format so that they’re very easy to install. They’re available HERE. Comments are welcome. (Note that, due to lack of time, I haven’t checked them.)
Awesome - tested the WM6 without Selection Dialog and it works like a charm! Thanks for this breakthrough indeed!!!

Opera Mini 4.1 beta released - TONS of goodies like page saving!

The new 4.1 beta of Opera Mini has just been released with TONS of new features. Get it at http://www.operamini.com/beta/ . Features include:
* Download and upload files directly in Opera Mini (wowz! UPLOAD!)
* Save pages for offline browsing (another WOWZ!)
* Autocompletion when entering addresses directly
* Find in page (WOOOOOOWZ!)
* Increased server speed during the last months
* Signed versions of Opera Mini (good news too)
Don't forget to download the latest, 3.1 version of Jbed (reviewed & linked to HERE at the bottom.)
(BTW, some of you have asked what I've been working on because I've been quite quiet. I'm
working on my Digital TV Bible, after having read dozens of related books and tons of online documents (I'll post a detailed review of them too)
I need to do some real work too
I'll make another W3C conference speech this month (on multiplatform mobile browsers) and need to update my related Windows Mobile / Symbian / BlackBerry stuff
All in all, I've been pretty busy
Opera Mini 4.1: FULL multiplatform tutorial & review
I don’t need to introduce Opera Mini for any serious mobile device user – it’s been one of the best browsers ever since the release of version 4.0 with all its goodies like favorite synchronization and full layout mode, the latter being excellent on (W)VGA Pocket PC’s and high-resolution Symbian devices like the Nokia E90. Note that I’ve written a review & full comparison to other browsers HERE – please DO read it if you don’t know what Opera Mini is or how it compares to other browsers, in which cases you might want to prefer it to native, fully-fledged browsers like Opera Mobile. Also, make sure you read my two Web Browsing Bibles, linked from the OM4 article, for additional info & comparisons. Finally, note that the linked article only discusses version 4.0; 4.1 is even better and more featureful.
The just-released 4.1 beta takes things even further and implements a lot of long asked-for functionalities. It’s REALLY worth upgrading; note that it can coexist with older versions (including 4.0) on the same handset. That is, if you, for some reason, find it useless, you can easily switch back to the older version without having to reinstall / reconfigure anything.
1.1 Availability; which version to go for?
Navigate to http://mini.opera.com/beta either with your phone’s WAP browser or, if you have Opera on your desktop, with it:
http://www.winmobiletech.com/042008OM41/OM41DownloadPage.png
(mobile browser)
http://www.winmobiletech.com/042008OM41/OM41DesktopOperaDL.png
(Opera on the desktop)
and select any of the upper three links. On the next screen,
http://www.winmobiletech.com/042008OM41/OM41Deploy1.png
just press the left softkey (Continue); then, unless you want to put it in a self-created category, just click OK while it’s on root:
http://www.winmobiletech.com/042008OM41/OM41Deploy2.png
On the following dialog,
http://www.winmobiletech.com/042008OM41/OM41Deploy3.png
just press OK; do the same on the one that follows:
http://www.winmobiletech.com/042008OM41/OM41Deploy4.png
The file will be compiled and you can start it right away by answering Yes on the final screen:
http://www.winmobiletech.com/042008OM41/OM41Deploy6.png
After this, everything is done in the already-known way: accepting the license, pressing buttons for generating a pseudo-random sentence etc.
Note that the 4.1 beta page linked from operamini.com, http://www.operamini.com/beta/, doesn’t contain the signed versions, only the unsigned ones. Therefore, if you only have Mozilla Firefox or Internet Explorer on your desktop, make sure you download the file from inside your Web browser on your handheld. The only exception is BlackBerry, where there isn’t a separate version on the only-handheld or desktop Opera page; then, you can safely download the ZIP file from http://www.operamini.com/beta/ with any desktop browser and use the BB Desktop Manager to quickly install it on your BlackBerry.
If you have a Windows Mobile device with Jbed 3.1, any of the signed versions will do. Note that some people state you need to go for the all-certificate version; that’s not true with Jbed 3.1. Make sure you DO download a signed version and not the unsigned one so that you can easily (without any hacking) can get rid of the security prompts.
Note that, should you still not have Jbed 3.1, read the second section of THIS for more info & the download links.
1.2 What’s new?
1.2.1 Custom text input field
With the new URL input field, address autocompletion works just great:
http://www.winmobiletech.com/042008OM41/OM41AddressAutocomplete.png
Note that
1, unlike with Opera Mobile 9.5 (and just like any other browser, including pre-9.5 versions of Opera Mobile), the titles of these pages aren’t displayed, only the URL’s
2, copy / paste doesn’t work. If you do need it (and you do have a compatible JVM – it’s only the non-recommended TAO that isn’t), you’ll need to switch to the regular, native JVM URL editor by pressing Delete (right softkey, shouldn’t you have a device with a built-in hardware back key like MS Smartphones) once and, then, go down to highlight "Insert Symbol":
http://www.winmobiletech.com/042008OM41/om4insertsymblhighlight.png
Then, just press Action on it to get into the traditional URL input field, with the traditional menus.
3, textual input may be problematic on keyboards with combined numeric and alphabetical keys; for example, on the HTC Vox. In there, the numeric keys will always be considered as keypad numeric buttons; that is, they’ll input a for 1, d for button 2 etc. However, as they’re treated EXACTLY the same way as keypad buttons, you can still input any character or (with long-pressing) number with them. You’ll need to know the latter for numeric input with devices that have a separate numeric row (like the HTC Universal).
4, the Input Address field being new also results in the old system-level browser invocation script not working any more. To fix this,
either switch off the new direct input by just unticking the, by default, enabled "Direct address input" checkbox in Tools / Settings:
http://www.winmobiletech.com/042008OM41/OM41disabledirinut.png
or, alternatively, go for a modification of the current script version available HERE. (Incidentally, note that, now, there’s a full C++ implementation of the invocation script HERE. It’s still not compatible with 4.1 unless you untick "Direct address input" as explained above.)
1.2.2 Signing
First in Opera Mini’s lifetime, it comes signed. What does this mean? When deployed under a capable, compatible JVM (for example, Jbed 3.1), it’ll, upon trying to access the Net / the local file system for saving pages / downloading / uploading files, it’ll prompt you for permission:
http://www.winmobiletech.com/042008OM41/OM41PermissPrompt1.png
(reading the file system)
http://www.winmobiletech.com/042008OM41/OM41PermissPrompt1W.png
(writing the file system)
In there, you’ll notice a (compared to the unsigned case) new "always, don’t ask again" menu item (I’ve highlighted it in the following screenshot):
http://www.winmobiletech.com/042008OM41/OM41PermissPrompt2.png
Make sure you do select this before pressing OK. This will make sure you won’t ever need to answer this question any more.
Upon trying to saving pages, it even prompts you to switch to the signed version, should you still have a non-signed one:
http://www.winmobiletech.com/042008OM41/OM41PromptForSignedVersion.png
The link indeed takes you to a tutorial:
http://www.winmobiletech.com/042008OM41/OM41PromptForSignedVersion2.png
http://www.winmobiletech.com/042008OM41/OM41PromptForSignedVersion3.png
http://www.winmobiletech.com/042008OM41/OM41PromptForSignedVersion4.png
(as can clearly be seen, there is not a single word on Windows Mobile. Note that the tutorial is also directly available HERE)
1.2.3 Page Saving
The new page saving feature allows for saving the current page, along with all its resources (images), to a file. The file is in the native (condensed HTML in textual mode + JPEG images) format of Opera Mini currently not readable by other applications. Should you still need some of the contents for copy/paste operations, you can still directly copy from the file with a text viewer. This also means this also allows for some kind of rudimentary copy/paste functionality if you use an external file viewer like that of Resco File Explorer. Then, based on the (latest) timestamp of the saved page (the saved pages have cryptic filenames; however, you can easily recognize them based both of their timestamp in the file system and their header, which contains the title of the page), you view it and look for the info you wanted to copy to clipboard (and, from there, to, say, Notes or Word Mobile). As you can see, it’s in no way so easy than, say, copying and straightforward than copying the full / the visible textual contents of the page into a text input field, where a user could already highlight anything and copy to the clipboard (unless she uses TAO Intent), though. Hope the Opera coders also implement this, otherwise, very simple-to-code feature.
Note that the page saving target dialog is only displayed once (upon the first page saving attempt) and is pretty much far away from being pretty and/or intuitional (and, of course, it has missing functionality present in, say, the standard OS file save dialog like creating subdirectories) but it still does the job. Just select the directory you’d like to save your pages to. Again, remember this can’t be changed later so select a directory with sufficiently large free storage.
First, you’ll need to select the storage type you’d like to save your pages to. In the following screenshot, I’ve selected Storage Card:
http://www.winmobiletech.com/042008OM41/OM41SaveTarget1.png
After pressing Action, you’ll be shown the directories in there. You can select any of them (and, then, iteratively, any of its subdirectories etc.). Just press Select (left softkey) on the directory you’d like to save your stuff in. For example, in the following screenshot, I’ve stayed on Storage Card when pressing the key; this means it’ll store the pages in the root of the card:
http://www.winmobiletech.com/042008OM41/OM41SaveTarget2.png
(note that, as the storage card roots can only have up to 128 files, this isn’t the best thing to do unless you’re absolutely sure you only want to save some pages.)
Finally, you’ll be prompted a "Page saved." message:
http://www.winmobiletech.com/042008OM41/OM41SaveTarget3.png
Get rid of it with the Action button.
After this, all the saved pages will be listed in Tools / Saved Pages (and the latest three on the startpage):
http://www.winmobiletech.com/042008OM41/OM41StartpageSavedPageList.png
A VGA screenshot with more than one saved page:
http://www.winmobiletech.com/042008OM41/OM41ListOfSavedPages.png
http://www.winmobiletech.com/042008OM41/OM41ListOfSavedPagesVGA.png
1.2.4 Finding text in pages
Tools / Find in page implements something I’ve been asking for years: in-page text search. It not only iterates over all the occurrences of the searched-for word (see the "Next" left softkey), but also conveniently highlights all the occurrences. In the following screenshot, you can see the results of searching for the word "Opera" in the Opera Mini forums:
http://www.winmobiletech.com/042008OM41/41FindInPagesOpera.png
1.2.5 In-app file up/download
A lot of users have been asking the Opera folks for allowing for in-browser download and, even more importantly, upload.
1.2.5.1 Download
In-browser downloading, for Windows Mobile users, isn’t that important. It’s probably mostly MS Smartphone users that will find this useful because, as has also been explained in my MS Smartphone Web Browsing Bible (see section 1.1.1 Fixing the binary file download problem), the built-in Internet Explorer Mobile only downloads certain types of files. For Symbian users with, say, a Nokia N95 with a pre-20 firmware version, it’s more so because Symbian often killed Opera Mini when loading up Nokia Web for handling the download. This isn’t an issue with the new firmware version any more, of course – neither is with N95 8GB, N95-3, N82 or the soon-to-come, new, DVB-H enabled N-series models.)
Note that, while file system access is supported in the latest and most recommended Jbed 3.1, this isn’t necessarily the case with other MIDlet Managers. Therefore, you’re strongly recommended to upgrade to Jbed 3.1.
The new in-Opera download looks like this:
http://www.winmobiletech.com/042008OM41/MP3Download1.png
If you select Save As, you’ll be presented the usual file selector; here, I instruct it to save the contents on the storage card:
http://www.winmobiletech.com/042008OM41/MP3Download2.png
Then, the download will start:
http://www.winmobiletech.com/042008OM41/MP3Download3.png
If, instead of Save As, you select Open:
http://www.winmobiletech.com/042008OM41/MP3Download4.png
you’ll be taken to IE:
http://www.winmobiletech.com/042008OM41/MP3Download5.png
which downloads the file:
http://www.winmobiletech.com/042008OM41/MP3Download6.png
Unfortunately, if you go for in-process download, you can’t do anything else during downloading – as is the case with regular page loading. That is, you end up staring at the download screen. If you absolutely hate this and/or the download takes too much time (for example, during fetching a looooooong MP3), go for downloading within Internet Explorer Mobile and switching back to Opera Mini for browsing. You can safely do this: IEM will just download the file in the background without problems. (Unless, of course, you haven’t registered the file type with the system. Then, you’ll need to stick strictly with the built-in downloader of OM4.1.)
1.2.5.2 Upload
With Jukka "Yucca" Korpela’s excellent article & tester suite File input (or "upload") in HTML forms:
http://www.winmobiletech.com/042008OM41/FileUpload2.png
Then, the usual Opera file handler will be shown (not that of the OS). Let’s upload some text file:
http://www.winmobiletech.com/042008OM41/FileUpload3.png
http://www.winmobiletech.com/042008OM41/FileUpload4.png
and the results are as expected:
http://www.winmobiletech.com/042008OM41/FileUpload5.png
(note that it the (later?) 4.0 series it is rendered as can be seen in HERE but, of course, the "Choose" file chooser couldn’t be activated)
In this regard, Opera Mini (along with the commercial (!) Opera Mobile and [the, currently, severely crippled Technical Preview] NetFront) is the only browser to support file upload on the MS Smartphone platform. Let me point out that the built-in Internet Explorer Mobile (still) doesn’t support upload.
2. What’s still missing / problematic?
Now, in addition to direct copy/paste of textual contents, I only miss navigating (switching back) to any already-downloaded page while loading a new one. You can only navigate on the current page while fetching a new page but can’t use, say, #5 to quickly bring up the list of currently open pages and quickly switch to another page. There isn’t a "download page in background" feature either, which would be able for allowing this. This can be a nuisance, particularly on inherently sloooooooooow platforms like the current crop of BlackBerries.
Also, on Pocket PC devices with a built-in keyboard could benefit from some similar keyboard layout than on BlackBerries. On the latter, you can use the (wide and easy-to-reach) Space button to scroll a page down. I wish you could do the same on Windows Mobile devices. (In there, you still must use the "8" button, which is pretty much out of reach in two-hand, "bedtime" operation.)
The problem of "flashing", non-displayed pictures, particularly with pages heavily loaded with them, is still present.
Finally, the lack of italic support is (still) a big pain in the back. I don’t understand why the Opera folks don’t implement this (must be related to the additional storage the custom, smallest character set would require with added italic support, I don’t know – if that’s the problem, at least non-smallest characters should have this support) – after all, ALL major KVM’s do support rendering text in italics. (See my related tests in my MIDlet Bible.)
3. BlackBerry
The BlackBerry version doesn’t support signed versions; that is, as has already been pointed out, you MUST go with the unsigned one. I haven’t encountered any problems with it; page saving / loading, the new address autocomplete etc. all worked just great. I haven’t encountered the common bug with all OM 4.0 versions: that is, the BlackBerry (at least my T-Mo branded 8800) completely locking up upon loading pages. However, this doesn’t mean these bugs have been fixed: I "only" played with the new version on my BB for two or three hours and the aforementioned bug only turns up, say, once a day or two days, assuming actively using OM for at least 2-3 hours a day.
4. Symbian
I’ve also (quickly) tested the new (unsigned) version on my Nokia N95 v20. I haven’t really run into problems so far; neither have my fellow N95 users in the Opera Mini forum. I’ll later report on whether Opera Mini 4.1 still exhibits the well-known, but, fortunately, pretty rare problem of completely locking up the handset, which, as with the BlackBerry, can only be fixed by removing and reinserting the battery.
UPDATE (later the same day):
1. MoDaCo frontpage
2. note that the above-recommended Jbed 3.1 is NOT compatible with WM5 (or with even older operating system versions), only WM6. If you're still on WM5, use the old, "Cloudyfa" 2.1 version instead; or look around at XDA-Devs, where, according to THIS post, the 20080222 version of 3.1 is WM5-compatible.
i don't like the fact that opera mini is java.. which requires to launch java first before launching opera...that only makes the browser startup slower.. i can get to a website much faster with PIE because it launches faster.. sure it has a bunch of cool features but i guess im the only one that dislikes the fact that it's java emulated..
i'll wait for the REAL mobile opera version.
wow this new version of opera mini is great. i love the url input method. file download works great too. works perfectly on the kaiser. in fact im writting from it right now. go opera!
one thing-- the shortcuts method cooked up in the midlet bible doesnt work anymore. ill look into this at a later date. could be as simple as removing the old opera mini.
tft said:
i don't like the fact that opera mini is java.. which requires to launch java first before launching opera...that only makes the browser startup slower.. i can get to a website much faster with PIE because it launches faster.. sure it has a bunch of cool features but i guess im the only one that dislikes the fact that it's java emulated..
i'll wait for the REAL mobile opera version.
Click to expand...
Click to collapse
Read my 4.0 review - there, I've elaborated on crating shortcuts to OM so that you can avoid having to start up Jbed first.
UPDATE (04/05/2008):
1. I’ve tested the above (in the previous update) mentioned Jbed Java 3.1 20080222 (available HERE; mirrored HERE for your convenience). It runs flawlessly under WM5 (not only WM6). It supports 3D (tested with Need for speed carbon and Night Fever; neither of them run under the non-3D-capable Cloudyfa 2.1), (as usual, excellent) sound. It can’t be directly installed onto a storage card, however. (As with some older versions, it’s possible it can be hacked there, though, with some manual file copying and registry / start menu link rewriting – I haven’t tested this.)
I’ve also thoroughly tested JBed_20071119.3.1_3dMod_HeapSizeFix_v2_wm6(lovetz1) linked from THIS MoDaCo thread. As a plus, it can be directly installed on a storage card, as opposed to the version above. It, however, doesn’t support sound at all. Otherwise, it seems it’s pretty much the same as the version above – except for WM5-compliance: I haven’t tested the WM5-compliant subversion. I’d stick with the 20080222 (the first) version unless you really need every single byte in your built-in storage.
Note that neither version was able to run the s60v3 (Nokia) version of Command & Conquer 3: Tiberium Wars, the latest-and-greatest real-time strategy from EA Mobile – upon loading the mission (and displaying the progress bar), it just locks up. (Needless to say, it’s working flawlessly on the Nokia N95 v20). It seems no Jbed version is compatible with this excellent game.
2. XDA-Devs user JZ SmartMort has released a very promising title making Opera Mini the system-level browser much simpler and offering a LOT of additional functionality. See his thread HERE. Note that he also posted a somewhat shorter post HERE (in THIS thread, should you also want to read the possible, future discussion of his app).
I've installed 4.1 and it looks great, However, a few points are anoying me.
When I start Opera and I type a new adres, the foll msg apear
"Untrusted application Opera Mini 4.1 wants to send or receive information from.... This will use airtime. Do you allow net access?"
Then the options to choose are:
o Yes, but ask me next time
o Yes, but ask me next session
There is no option: o Yes, dont ask me again ??
When I recall a saved page, I get the next msg "Untrusted application Opera Mini 4.1 wants to read data located on this device or removabl emedia. Do you allow read user data?
The only options are Yes or No. In the security option of Opera, there are settings about reading data. But there are only 2 options
o Ask
o Never allow
Also here, I miss the option: o Dont ask me again !
The next thing is the text input field. I have a HTC tytn (virtual and real keyboard). When I switch the option 'direct addres input' tot ON, I can only type the input via the real keyboard and not via the virtual keyboard (its dissapears).
If I can fix those items, I would be very happy.
I have reinstalled the same file and now the first 2 points are working fine !!
Leaves me to solve the text input field and the virtual keyboard...
UPDATE (04/06/2008): I have some very good news for you all.
1. Several of my readers have asked (see for example THIS) whether it’s possible to change the page save directory in Opera Mini 4.1 after you’ve set it first. Contrary to the popular belief (you must reinstall it from scratch), it’s actually very easy to do this:
a. if you have originally selected a removable storage card as the target media, you only need to remove it before trying to save any page on it. Then, you’ll be prompted an error message and, on the next page saving attempt, you’ll be offered the chance of setting the new save directory. That is, if you’ve originally given Opera Mini a storage card, you can change the save path without any need for hexediting files.
b. if you have provided it with a movable / deletable directory in the built-in storage (or, for that matter, on the storage card), just move (cut / paste) the entire directory somewhere else on your device – or on your storage card. That is, if you’ve given \My Documents to it, just cut it with the built-in File Explorer and paste it to in any other subdirectory. (Of course, you’ll need to paste the directory back once you’re ready with the – failed – page saving attempt if it’s a directory used by other apps too – like \My Documents.)
3, if, for some reason, neither of the above-listed ways works, you’ll need to do some hexediting. To do this, search for the in the name of the directory in the \Windows\appdb\s?__d?.db files with, say, Total Commander (Alt-F7) on the desktop Windows and just change this occurrence to another directory with a hexeditor. An example showing changing \My Documents to \Storage Card with a hexeditor:
{
"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"
}
Again, it’ll be FAR easier to temporarily remove / move the directory than hexediting – only do the latter if you simply can’t (temporarily) delete the directory because you’ve given it, say, \Windows or some other, undeletable directory.
2. the native C++ version of the invocation script has been updated to be compliant with 4.1. In addition, badbob001 has updated his MortScript to be compatible with 4.1 and he is also doing automatic (!!!) descriptor parsing & discovery to automatically find the current position of the OM deployment (just like the JZ SmartMort's brand new script I've reported on above), which, so far, needed to be done (once) by hand. See his updated script HERE. Both advancements are discussed HERE, starting with page 10 (post #91).
Menneisyys said:
2. the native C++ version of the invocation script has been updated to be compliant with 4.1. In addition, badbob001 has updated his MortScript to be compatible with 4.1 and he is also doing automatic (!!!) descriptor parsing & discovery to automatically find the current position of the OM deployment (just like the JZ SmartMort's brand new script I've reported on above), which, so far, needed to be done (once) by hand. See his updated script HERE. Both advancements are discussed HERE, starting with page 10 (post #91).
Click to expand...
Click to collapse
I am not sure if I understand this correctly. Does this make mi device able to use the virtual keyboard, even if the direct adres input is selected or does it has nothing to do with it?
Quatz said:
I am not sure if I understand this correctly. Does this make mi device able to use the virtual keyboard, even if the direct adres input is selected or does it has nothing to do with it?
Click to expand...
Click to collapse
You mean the SIP? You can always assign it to a HW button so that, upon a keypress, it's briught up. If this is what you meant.
Read my Button Bible for more info.
Menneisyys said:
You mean the SIP? You can always assign it to a HW button so that, upon a keypress, it's briught up. If this is what you meant.
Read my Button Bible for more info.
Click to expand...
Click to collapse
Sorry, dont know the term SIP!
Where to find this Bible?
Quatz said:
Sorry, dont know the term SIP!
Where to find this Bible?
Click to expand...
Click to collapse
A SIP is a software (on-screen) keyboard. SIP stands for 'Soft Input Panel'.
The Button Bible.
http://forum.xda-developers.com/showthread.php?t=337602
(Google search: "xda dev button bible".)
Thanks, this helps a lot.
I have installed HBsettup and indeed, now I can toggle the SIP on and off when i use Direct Address input.
I am very happy now with Opera Mini !!
having issues with setting up the shortcut to start OM
I have as follows:
"\windows\jbed.exe" -run s1_
OM is the only midlet installed.
also there are NO .jar files in the /windows/appDB/ folder
thanks
EDIT:
did a quick reset and everthings working excellent
Hey thanks for the share. Its really good, I am waiting for the stable version.
Apart from the intense marketing campaign of the moderator posting this thread, can someone give a brief comparison between this Opera Mini and the other Opera ("Opera Mobile"?) that runs on WM5/WM6? I don't get why I would want to run a java, stripped down browser when I can run Opera Mobile. Is it that Mini is intended for phones that can't run the full version, or should Mini be considered as a replacement for the other Operas that run on PDA phones (touchscreen phone/PDAs that run WM5/6).
Ideally an impartial perspective that isn't 5 posts long would be great

Categories

Resources