UPDATE (06/18/2007): an updated version posted to http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2030&more=1&c=1&tb=1&pb=1 . Sorry, I don't repost it here: it'd take far too much time / energy to cut it into manageable, postable pieces. That is, the version below is the first, outdated one. Make sure you follow the link to the newer.
The Sinclair ZX Spectrum was a very popular home computer system in the eighties.
The history of the Spectrum didn't end at the official, 1990 discontinuation of the series. As with the Commodore 64 (see the review of all Windows Mobile-based C64 emulators HERE) , which still receives top-notch scene demos, the Spectrum had (and is still having!) a spectacular afterlife in the ex-Soviet states; most importantly, Belarus and Russia.
Particularly in Russia, there have been a plethora of self-manufactured ZX Spectrum-based home computers throughout the entire nineties, with a lot of fans and developers. This trend even continued to this century - currently, there is some hardware manufacturers still producing ZX Spectrum-based & compatible computers like the Pentagon and the ATM Turbo. While these models, in general, haven't really improved on the (gaming-wise, particularly weak) graphics subsystem of the original Spectrum (not taking the new low-res EGA-like mode into account), they come with plenty of memory (128k to 1M in general), good sound capabilities, IDE hard disk, CD-ROM, mouse etc.
Russia's leading role in the ZX Spectrum's surviving has also resulted in something else: a steady stream of software titles released for these ZX Spectrum-based computers. Just pay a visit to the Virtual TR-DOS main page (Wiki), which is the largest archive of the software ever released for these models. I especially recommend downloading the full app / games database (it's the Virtual TR-DOS Games & Press Base link on the main page) and browsing the database. Titles with the type "RU" are all genuine games developed by Russian developers. Titles with the type "D" are also interesting because they show what projects Russian developers have ever embarked on (but, then, either failed at or, at least, didn't deliver a final, fully working version). The dedicated demo download page is HERE. I've even posted some screenshots of a somewhat working (!) Civilization and Wolf3D-clone in the The Comparison & Feature Chart (“Chart” for short). You WILL want to check out these demos in a capable emulator (in either the desktop-based Unreal Speccy or its Windows Mobile version, UnrealSpeccyPPC) - they are really fun and clearly show these models (except for the really bad, one-colour graphics) are much-much better than anything imaginable on the original ZX Spectrum. You may also want to check out some scene demos (again, under a capable, compatible emulator); for example, the two ZX demos written by AND, author of UnrealSpeccyPPC. While, technically (mostly graphics-wise), these clones aren't as good as the Commodore 64, some demos (and genuine Russia-based) are really top-notch.
If, on the other hand, you "only" want to play old, original, commercial games written for the original ZX models and are not at all interested in advanced stuff like watching Russian demos written for somewhat more advanced Spectrum clones, you will also want to read on - you'll find all the answers in this article.
In this roundup, I present a full roundup of the Windows Mobile (both Pocket PC and MS Smartphone) emulators of the platform. As usual, I'm absolutely sure you won't find a better discussion of the subject anywhere else. And, in addition, I present you a lot of new and REALLY groundbreaking information never ever published in English - only in Russian (one of the several languages I have the honor to speak) and a very short news item in Czech. Yes, this is the FIRST roundup to report on the BEST ZX Spectrum emulator ever written, UnrealSpeccyPPC. You can be pretty much happy that I also speak Russian (along with a lot of other languages) – without my knowing the language, Windows Mobile users would have ended up being not reported on this really groundbreaking emulator, let alone being presented with a usable tutorial, which I also provide in here – probably not even in the future.
This roundup is somewhat different from the previous one discussing Commodore 64 emulators. The sole reason for this is very simple: of the five Pocket PC-capable Spectrum emulators, there is only one that should be preferred unless you need Portrait mode or an on-screen keyboard with all the original labels. With the C64 emulators, there were two strong Pocket PC contenders (PocketCommodore64 and PocketHobbit) and, of course, the Smartphone-based PocketHobbitSP2003. In the case of the Spectrum, fortunately, there is only one really recommended emulator, which greatly simplifies the discussion.
This means I put particular emphasis on the most recommended Pocket PC emulator, UnrealSpeccyPPC, unlike the other two non-disqualified titles (PocketClive and SpectrumAnyWhere), let alone the two titles (the comparatively new, but with the arrival of UnrealSpeccyPPC, already-outdated PocketSpeccy and the very old (the last version was released in 1999), Handheld PC-specific SinclairSpectrumEmulator), which I haven't included in the Chart . Of course, as far as the MS Smartphone platform is concerned, I also put particular emphasis on the most recommended MS Smartphone emulator, FuseSP. This, of course, doesn't mean I completely ignore the two non-disqualified Pocket PC-specific titles (PocketClive and SpectrumAnyWhere) either - I've very thoroughly compared them to the rest in the Chart . It's just that, in the textual tutorial below, I don't elaborate on how you can for example load programs. In the Chart, you'll find most of the needed information though.
First, let's elaborate on whether it's at all worth emulating ZX Spectrum (or, of course, one of its more advanced, Russian clones).
1.1 Is Windows Mobile-based Spectrum emulation worth the trouble at all?
While, technically, the ZX Spectrum has FAR inferior gaming capabilities compared to the most important, direct competitor of the model, the Commodore 64, in certain cases (not taking into the account of emulating post-Soviet games / hardware), it may still be worth preferring to emulate other platforms.
First, there are several games not released for other platforms or, when released at all, these titles are not possible to get. For example, should you want to play the classic game Pssst, you WILL need Spectrum emulation (unless you play the Flash remake). Also, there are some other well-known titles not existing on many other platforms; for example, Lords of Midnight and Doomdark's Revenge. These two, excellent titles only existed on two other platforms (C64 and the Amstrad CPC); therefore, should you be unable to find for example a copy of the C64 / CPC version, you may end up having to play the Spectrum one.
Furthermore, as opposed to, say, emulating the Amstrad CPC or the Commodore Amiga, the Spectrum is emulated without major glitches and on even very slow Pocket PC's and MS Smartphones. While it's impossible to play most Amiga games on even the fastest Windows Mobile devices without stuttering sound, ZX Spectrum games run on even on lowest-end, 7-year-old models without problems. This also includes today's TI OMAP-based Pocket PC and Smartphone models, of course.
Supporting low-end hardware, fortunately, also means support for even low-end, low-resolution (176*220) MS Smartphones. As the Smartphone platform has way fewer games than its big brother, the Pocket PC, emulation becomes even more important. While, fortunately, there are some really excellent gaming console emulators for MS Smartphones (even 176*220 ones) - for example, Masterall's emulator masterpieces and SmartGear, home computers are generally not emulated on the platform (that is, there are no for example Atari ST or Amiga emulators for the MS Smartphone). The lack of (home computer) emulators and native games makes it very important for any MS Smartphone user to have access to a plethora of ZX Spectrum games, which are, as has already been pointed out, perfectly emulated even on low-end, cheap mobiles.
1.1.1 When to stick to emulating another platform?
Of course, not all titles should be played in a Spectrum emulator. For example, when a particular title also exist for the Nintendo NES, the SNES, NEC’s TurboGrafx-16 (PC Engine), the Sega Master System (SMS), Genesis / Mega Drive or Game Gear, going for these emulators may turn out to be a better choice. (Please do click the links for the complete rundown of the Windows Mobile emulation possibilities. Also make sure you follow the other, for example Commodore 64 / Amiga / Atari ST / Amstrad CPC / IBM PC links to emulating home computers.) With the exception of SNES, the emulators of these systems are also very low-end handheld-friendly and the games, in general, are at least as good as on the Spectrum (and, in MOST cases, technically MUCH better, with much more advanced graphics and/or music).
As a rule of thumb, if you plan to play a given title but would like to get the best gaming experience, go to Wikipedia, look up the given title and check out what other platforms it has been ported to (it’s listed in the text box on the right, in the “Platform(s)” row). In general, you can safely ignore the Commodore Amiga (as long as you want sound) ports. If there is an Atari ST port (another, more advanced home computer with excellent Windows Mobile emulation capabilities), you may want to check it out; as is the case with most C64, NES, SNES, SMS, PC Engine, Genesis and Game Gear ports. Most of these games / ROM's are available on the Web. In my past articles, I've explained how you can find these titles and what you will need to play them on your Windows Mobile device.
The same stands for games that have a native Windows Mobile interpreter; for example, Magnetic Scrolls titles. Speaking of these excellent games, unfortunately, the ZX Spectrum versions have no pictures at all - as opposed to even the C64 version. Therefore, in no way should you use a Spectrum emulator to enjoy these games – unless you don’t need images, that is.
1.2 Downloading C64 games / apps / demos off the Web
All emulators are common in that they, generally, read standardized file formats. If you're new to Spectrum emulation, you need to know about tape and snapshot images (and, if you would like to access the mostly post-Soviet TR-DOS titles, disk files). All emulators handle both tape and snapshot formats; UnrealSpeccyPPC, THE most recommended emulator, also handles disk images.
The main source of original (non-post-Soviet) Spectrum games and other titles is worldofspectrum.org. It at least lists all the available games. Note that, should it not contain the tape images of a given title because of (C) reasons, you will need to Google around. It’s by doing the same that I've found a source of R-Type, for example. Also, the Virtual TR-DOS main page has almost all old titles; I'd, however, prefer worldofspectrum.org to it because it has a lot of other, great information (game manuals, links to original articles / tips), unless you look for something not available in the latter or, of course, post-Soviet titles.
(Note that, still speaking of worldofspectrum.org, it has a pretty good and up-to-date emulator lists, also with WinCE (PPC) and Smartphone sections. The former still doesn’t list UnrealSpeccyPPC.)
As far as scene demos are concerned, your best friend will be zxdemo.org. It contains a generic, international (not just post-Soviet) overview of the scene, albeit, sometimes, it also contains weird stuff like this article, which, it seems, mistakes Finland for a post-Soviet country ("Q. How active is the demo scene in the UK? A. Well, on the Spectrum there's just a few of us keeping it all together. Over here the Spectrum scene is more focused on the whole retro gaming thing. As far as the wider scene goes, there are a couple of groups, but we're not really as active as other places like Finland. It does make you wonder - do they teach kids C at kindergarten or something?" FYI: it's not for the ZX Spectrum demoscene that Finland is famous for. In this regard, the two ex-Soviet, Russian-speaking countries are WAY ahead of Finland.) The direct Spectrum demo / tune downloads are HERE.
1.3 Using the emulators
After you've downloaded the games you'd like to play (demos you want to watch etc.) and installed the emulator, start the latter. Note that as none of the current emulators support archived files, you will need to decompress the files before transferring them to your handheld.
The target directory is very important as it's only one title, the (otherwise) most recommended UnrealSpeccyPPC, that is capable of loading Spectrum titles from anywhere in the file system. This is particularly true when used together with Mad Programmer's File Dialog Changer in order to be able to navigate to any directory, and not just the root and the direct subfolders of the root, as is the case with WM5+. Please see my earlier articles on how FDC should be installed and used.
The other emulators (including the only one native MS Smartphone emulator, FuseSP) all require the files to be put in a specific directory so that the emulator can find them. They are, in all cases, either the home directory of the emulator or a subdirectory of it. This also means you MUST install the emulators on a storage card if you want to avoid your built-in storage to be overcrowded with Spectrum files.
Please see the "File dialog?" row in the Chart for more information on what these directories are.
1.3.1 Loading programs into the emulators
The two (main) types of available media also means vastly different methods of loading them.
1.3.1.1 Snapshot files
First, with "snapshot" files (files that, effectively, contain a full print of the memory & full state of a computer), you just click them and they're immediately (without having to wait anything) loaded.
The advantage of this approach is immediate loading. The disadvantage is the lack of boot screens (which you may want to see - at least once. Some of them, for example, that of Rainbow Islands, is pretty cool) and the comparatively big size (as the entire RAM is saved - even with programs that are way smaller in size).
You can recognize a snapshot file by its extension: SLT, SP, SNA or Z80; the latter two being the most common.
1.3.1.1.1 Snapshot file loading in UnrealSpeccyPPC
To load a snapshot file in UnrealSpeccyPPC (the recommended emulator for the Pocket PC), after starting the emulator, click the large Open File button at the top (screenshot here; note that, as with all my all screenshots, I traverse the focus to the button / GUI item you need to activate so that it is easily recognizable). Note that, after loading something, its label will change to the full path + file name of the currently attached file as can also be seen in HERE. After this, click the file to load and, then, click Start at the bottom left (later, when you exit back to this screen to, say, make some changes in the settings, this button will be renamed to Resume). The execution will immediately be transferred to the given title.
1.3.1.1.2 Snapshot file loading in FuseSP
Conversely, to do the same in FuseSP (the recommended emulator for the MS Smartphone), after loading the emulator, go to Menu (right softkey) / 1 Load Snapshot; in the Select Snapshot GUI list control, select the one you'd like to load (pressing Action will result in being presented a full, vertical list of all the available ones to greatly speed up the selection; just press the Action button again to select a title from this view.). Then, just press Done (left softkey); you'll be taken right into the emulator, running the just-loaded title.
1.3.1.2 Tape files
Loading tape files are a bit different because they, by default, aren't auto-started in the Pocket PC emulators (including UnrealSpeccyPPC); it's only on the MS Smartphone where they are auto-loaded by default (which can be disabled).
Tape files have the file extension TAP, TZX (and CSW with UnrealSpeccyPPC). Compared to snapshot images, they are, in cases, MUCH slower to load but more closely mimic the actual tape loading experience, with some emulators (UnrealSpeccyPPCis one of theml FuseSP isn't), even exactly the same visual (border coloring) and audio (beeps) effects. In addition, you'll always see the infamous loader (title) screens not possible with snapshot-based games.
1.3.1.2.1 Tape file loading in UnrealSpeccyPPC
To load a tape file in UnrealSpeccyPPC, do exactly the same as you did with loading the snapshot file: that is, click the large Open File button and select the file. Now, however, before clicking Start, make sure you set the drop-down menu between the Open File and the "Reset" button to BASIC 48 (if it's a program compatible with the 48k Spectrum and not requiring a Spectrum 128). After this, instead of the Start (Resume) button you used with the snapshot images, you will need to press Reset (so that the previous program, if present, is removed from the emulator).
Now, you'll be taken to the BASIC prompt of the emulator, which resets itself. After bringing up the on-screen keyboard (click the keyboard icon at the bottom right corner), just click "J". This will result in "LOAD" to be inserted in the command row. Now, press the somewhat smaller "S" in the lower right area of the on-screen keyboard (it, then, becomes red showing it’s in effect) and press " (Symbol Shifted character of the P key). Repeat the same so that you see the command
LOAD ""
on the screen. Now, press the Enter key - it's just under the already-used P key; it's denoted by a ^ character. The tape loading process will start.
Should you make an error during this, just click the small "c" in the lower left corner of the keyboard and, then, click '0' (zero). This will delete a character (or a full command) backwards. Remember to click "c" again if you want to delete more than one character.
1.3.1.2.1.1 Disk file loading in UnrealSpeccyPPC
Finally, loading disk files (in UnrealSpeccyPPC only) is even more different. Start with the usual Open File / selection screen and press Reset. (You will, as opposed to the Tape loading screen, NOT need to set the operating system to something else than TR-DOS!)
You'll be presented a directory list on a green background. Using the 6/7/8/9 buttons on the on-screen keyboard, position the mouse cursor on top of the item you'd like to load so that it is highlighted. (With most, say, Virtual TR-DOS or contemporary, post-Soviet disk images / demos / games, there's only programs in the image and, therefore, you'll only see one image in there.) After this, click 0 (fire) - the given program will be loaded and started.
1.3.1.2.2 Tape file loading in FuseSP
To load a tape file in FuseSP, in the “UI mode”, select Menu / 2 Load Tape and do the same as previously, with snapshot images – that is, select the file to load. Note that you should NOT untick the “Auto load” checkbox. Should you untick it, you would need to, after manually resetting the emulator (Menu / 6 Reset), manually enter LOAD””. This would be pretty problematic – if you don’t have a built-in full thumbboard, the only way of doing this is assigning all the used letters and signs (L, O, A, D, “) to a hardware / phonepad button, one by one and, then, pressing them. As is also pointed out elsewhere in this roundup, this is what makes it (almost) impossible to issue any long(er) custom commands in FuseSP.
1.3.2 Other features / settings
1.3.2.1 Turbo mode
UnrealSpeccyPPC allows for a "turbo" mode in addition to the "100% speed" one. The former will allow for, on current, fast Windows Mobile devices, much (in cases even 1500% of the original Spectrum speed) faster program execution.
Enabling turbo mode also greatly speeds up tape loading. However, it, as with the C64 emulator PocketHobbit, it also results in most importantly character input problems: with enabled turbo mode, you won't even be able to enter almost anything because of the doubled characters. Also, games will be unnecessarily fast.
This means you will only want to enable turbo mode during, say, lengthy tape loading sessions. To do this, just press Application button 4 on your Pocket PC. You will also see the FPS value, continuously displayed in the lower left corner of the screen, to be increased (and the sound muted).
1.3.2.2 Buttons
Better emulators also let for redefining buttons. This is essential when dealing with non-Kempston joystick emulation and on the MS Smartphone platform, where you need to assign original alphanumeric letters to the phonepad / control buttons of the device so that you can use the given letters / numbers at all (assuming your Smartphone doesn't have a built-in keyboard).
1.3.2.2.1 Buttons in UnrealSpeccyPPC
To make any (additional) button assignments in UnrealSpeccyPPC, as is also pointed out in the "Joystick: supported keyboard layouts " row of the Chart, you'll need to click Advanced Settings, tap-and-hold the functionality you’d like to assign and select Assign. (If you no longer need the previous assignment(s) of a button, just select Empty in the same menu.)
You can also manually edit the action_map.ini file in the home directory of the emulator. Make sure you convert the file back to the LF-only (Unix-style) format from the DOS/Windows-specific, CR+LF format, should you use a Windows-based editor also putting CR's at the end of each line. Note that it's quite unlikely you'll need to modify existing button assignments as the built-in, pre-defined ones cover most games.
1.3.2.2.2 Buttons in FuseSP
With the MS Smartphone-based FuseSP, the situation is wildly different. This emulator, unlike PocketHobbitSP2003 (the C64 emulator for the MS Smartphone), doesn't let for arbitrary character input. That is, unfortunately, unlike with PocketHobbitSP2003, you can't just use the phonepad in the traditional text input way.
While the default character mapping, that is, numerals (and the most widely used other control characters: Enter (Talk), Space (hang up)) are assigned to the phone buttons (including the volume up/down keys, the Power button and the two softbuttons), and these assignments generally work great in most games (where you need to use the numerals 1, 2, 3 etc. to select at least a joystick mode), you may need to assign other characters to a specific button so that you can enter other types of characters.
If you encounter situations like this, go to the main screen (by pressing the Back or the Home key while in the main emulation window; this is what the README.txt coming with the emulator calls "UI Mode", as opposed to the in-emulation "Spectrum mode"), invoke the main menu (right soft key), select "5 Define Keys", select a hardware button (for example, Left Softkey) to assign the given original key to, press the Action button to quickly bring up the selection list, select the new assigned key (for example, in here, “A”) and press Done (left softkey). The assignment will change.
Incidentally, this menu can seem a bit complicated at first because, in addition to the plain character assignment operations, it's also here that you can en/disable Kempston emulation (enabled by default) and mirror the D-pad directions to the phone keys so that you can not only control the game via the D-pad, but also with the phonepad buttons 2/8/4/6 for down / up / left / right. If you don't need the latter functionality (because you exclusively use the D-pad to control your player) but would prefer to be able to assign more functionalities / more original keys to the available (few) hardware buttons, you can safely untick the "Mirror Joystick on Keys" checkbox in here, which is enabled by default.)
Also, again, note that it's in here, at the top (with the "Kempston Joystick" checkbox, that you can disable the Kempston emulation. Should a given game not support Kempston, you'll need to untick this checkbox and, right below the checkbox, make sure you correctly assign the four directions (and the Action button) to real, original keys. These assignments, naturally, aren't editable while Kempston emulation is enabled (after all, Kempston isn't character input emulation-based). However, after disabling Kempston, you can freely edit them, should their default value (the traditional Sinclair interface) be useless.
Note that, fortunately, the key binding / assignment settings are separately saved for each game. This is highly useful because games tend to use different button assignments and continuously redefining them can prove really annoying.
Finally, note that, in FuseSP, you can explicitly (it’s disabled by default) enable the use of external, built-in key/thumbboard, as is the case with UnrealSpeccyPPC, where, in order to make built-in keyboards work, you must select the “Keyboard + cursor” control scheme in BUTTONS. To do this, go to Menu / 4 Options and tick “Device has full keyboard”. Note that it will NOT work correctly with the HTC Vox / S710 slide-out keyboard – the numerals will be used instead of the alphabetic keys, only letting some keys to be accessed. Users of non-sliding, Landscape keyboards, on the other hand, reported success with their keyboards.
1.3.2.3 Joysticks
Traditionally, the Spectrum had a wildly different approach to controlling games than the Commodore 64 or most other home computers designed & manufactured after 1982. The Spectrum not having a built-in joystick port, the user needs to use the keyboard for control. By default, the keys 5 (left), 6 (down),7 (up) and 8 (right) are used to direction control in many games (and, of course, in the BASIC too) and, in general, 0 to fire. You can control a lot of games with this scheme; for example, Harrier Attack! and Pssst, just to name a few.
However, this keyboard-based control was really awkward, which were helped in two ways.
First, other blocks of buttons, more closely representing the four directions and separated to the left and right sides of the keyboard, have been used by some games. The most important of these assignment is the QAOPM scheme, where Q is used for left, O for down, P for up, A for right. For firing, traditionally, two keys were used: either M or the space. Should you encounter a game supporting these buttons instead of the standard 5/6/7/8 ones, you will want to reassign the D-pad directions to use these buttons. Note that, with UnrealSpeccyPPC, where there are several pre-defined control schemes (and you can also create your own ones), you will only need to select the one you need in the BUTTONS tab in Advanced Options. If there's no pre-defined schema for a given game, you'll want to edit action_map.ini by conveniently copying an already-defined block of button assignments, giving it a meaningful name (in the first, preset= attribute) and make the necessary changes. After storing the file and restarting the emulator, the new schema will be visible and selectable. Alternatively, you can also do the same from inside the emulator – with somewhat more effort & clicks.
It's also very important to notice action_map.ini assigns the <AutoFire> functionality to the TSOFT1 button; that is, the left WM5+ softkey. As this button may be missing on some upgraded / native WM5 devices (for example, the Dell Axim x50/x51 series and the non-phone HP iPAQ's) and, of course, ALL devices prior to WM5, you will want to redefine it to use, say, the second application button (APP2).
The second, additional hardware-based approach, was adding joystick interfaces in the extension (interface) ports. These interfaces allowed for plugging in the, then, already (except for the IBM PC, which went its own, analogue controller way) industry-standard 9-pin digital joysticks pioneered by the hugely successful Atari 2600 gaming console.
Two main standards (meaning to different hardware joystick interfaces) exists: that of Kempston and Sinclair. The former doesn't map any keyboard buttons but use its own; the latter does button mapping (which is exactly the same as with the traditional key-based buttons, except for the direction "left", which is, instead of key 5, is mapped to key 9.
In general, hardware joystick-aware games support both joystick interfaces, except for the earliest ones, which may only support Kempston only (the earliest interface to hit the market – it was only later that Sinclair released a joystick-enabled interface, ZX Interface II, to the public). Make sure you look for joystick setup questions at the beginning of games so that you can select the most optimal solution not resulting in your having to switch joystick assignment schemes.
1.3.2.4 Changing screen orientation; image downscaling issues
As opposed to C64 emulators, all Pocket PC emulators have one wired-in (either Landscape or Portrait, but not both) screen orientation. It's only the Smartphone-based FuseSP that supports switching between the two orientations using either the # button (in "Spectrum" mode) or Menu / Options / Screen orientation.
In addition, as opposed to the Smartphone C64 emulator PocketHobbitSP2003, FuseSP supports full-screen stretching on QVGA devices in Portrait mode, which is really-really useful in making use of the entire screen estate. Make sure you look for the option "Stretched Portrait" in Menu / Options / Screen orientation (or, while pressing # to switch screen orientations / modes, select the one that fully stretches the image vertically).
Note that, in the default Portrait mode, as the width of the physical Pocket PC (or QVGA MS Smartphone) screen is 240 (with low-res MS Smartphone screens, 176) pixels, while the original screen width of the Spectrum is 256 pixels, shrinking (read: dropping some pixel columns) must be done to fit the original screen into the available screen estate. It's worth pointing out that PocketClive, the only Pocket PC-based emulator (not counting in the not recommended, Russian, TRD-only, GUI-less PocketSpeccy) to use the Portrait emulation, not only supports shrinking, but also, to avoid the (ugly) consequences of it (completely dropped columns)
Finally, it's worth pointing out that FuseSP applies a VERY clever method at dropping lines as it uses some interpolation to render the missing info of the dropped columns in the neighboring columns. This results in the vastly enhanced and eye-friendlies, albeit a bit blurry representation in QVGA mode. On 176*220 screens, of course, this can't really help the situation.
Now that we've quickly reviewed the issues common to Spectrum emulation on Windows Mobile, let's see what emulators there are and how they compare to each other. In the following two chapters, I introduce Pocket PC and MS Smartphone emulators.
2. Pocket PC (Windows Mobile 6 Professional / Classic) emulators
2.1 UnrealSpeccyPPC 1.02
This new, excellent and, outside the ex-Soviet region, absolutely unknown emulator is by far the best Spectrum emulator out there, a port of the also successful and excellent Unreal Speccy. It has all the goodies one would effect from a decent emulator: auto fire, huge and, particularly on VGA devices, (almost) transparent on-screen keyboard (on QVGA devices, the buttons are considerably larger as can be seen in HERE), support for all tape / snapshot and even disk formats.
{
"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"
}
The main discussion thread discussing this emulator is HERE (Babelfish "translation" HERE). There are some other threads at other sites; for example, THIS.
What is more, the CAB file can be installed on MS Smartphones too as can be seen in here:
(note that it was only to prove the emulator is running on a QVGA Smartphone that I’ve made the task bar displayed (via activating SPHelper). Otherwise, it’s hidden.)
While the Smartphone version is in no way flawless, you will certainly want to play a bit with it to find out its weaknesses / strengths.
2.2 PocketClive v2B
A famous (but long-abandoned) emulator is PocketClive.
The most important difference between PocketClive and the most recommended UnrealSpeccyPPC is that PocketClive uses the Portrait screen resolution and a full keyboard showing all the original labels. Unless you’re an experienced Spectrum user and you DO want to know how the BASIC commands can be accessed on the original Spectrum keyboard, you may want to give a try to this emulator. (Or, alternatively, PocketSpeccy, which uses exactly the same on-screen keyboard, but is capable of reading TR-DOS disks; that is, TRD files.)
As this emulator is NOT recommended (but not disqualified either), it’s in the Chart that you’ll find the most information on using this emulator, NOT in the first chapter (which only discusses the two recommended emulators suiting the needs of 96-97% of existing users: UnrealSpeccyPPC for the PPC and FuseSP for the Smartphone).
Not many English threads discuss this emulator. The ones that at least mention it are for example "i just played Simcity on my Be300" or THIS
and THIS AximSite threads, THIS PG, THIS (“Pocket Genesis”) and THIS (“Just Chattin' - What games are on your PPC right now? (omit none!)”) threads. In the Russian language area, the situation is MUCH better; see the following threads:
1
2
3
4
2.3 SpectrumAnyWhere 1.1
This is another also-run emulator without any really outstanding features. UnrealSpeccyPPC is orders of magnitude more featureful.
The most important fact you need to know about this emulator that it can not directly be installed on WM5+ devices. This, however, can easily be fixed with a quick hack I’ve described in the Chart. Also note that you will NOT want to use it on WM2003(SE) devices because of the on-screen keyboard coordinate offset problems.
Even fewer existing threads discuss this title; the only English thread I could find was just a mention at Xda-developers (“amiga emulator on your pocketpc”). In Russian, there aren’t many more threads either; in addition to the zx.pk.ru threads linked in the previous section, I also recommend THIS.
2.4 PocketSpeccy
This emulator is pretty new, but already discontinued emulator “only” supports ".trd" disk image files – that is, it can NOT be used with any “old”, “traditional” tape / snapshot files. It has absolutely no GUI: for example, it’s in the config.ini that you need to supply the disk to load (and all the other – not many!) parameters before starting the emulator. Pretty awkward, if you ask me.
As it’s now discontinued and superseded by UnrealSpeccyPPC, I do NOT recommend it and don’t even include in the Chart.
Should you still be interested in the emulator, check out THIS Russian language thread.
2.5 SinclairSpectrumEmulator 1.1
This Handheld PC-based emulator is really outdated (from year 1999) and is, therefore, in no way recommended. Get UnrealSpeccyPPC instead. There is just no point in bothering with it – unless you have a Handheld PC, that is. But, even then, you may want to prefer trying to hack UnrealSpeccyPPC to run on your H/PC (assuming it has an ARM(-compatible) CPU).
3. MS Smartphone (Windows Mobile 6 Standard) emulators
3.1 FuseSP 0.22
This is THE emulator you should try first if you have any MS Smartphone model. It’s pretty capable (except for the lack of direct, phonepad-based text input) and highly recommended.
Please consult Chapter 1 for usage tips and don’t forget to scrutinize the Chart for additional tips and tricks.
Related threads: “A few thoughts on useability”
FUSESP in QVGA Landscape 320*240......
ZX emulator FuseSP v0.12a with NumKeys support, I added support for number keys
3.2 PocketClive for SP 2B-0.2
Unfortunately, this emulator seems to be only running on the oldest, 2002 Smartphone version, but not on newer (SP2003+) ones. I was just unable to access any kind of menu on either my WM6 HTC Vox / s710 or WM5 HTC Oxygen / s310. That is, don’t bother.
4. The Comparison & Feature Chart
As with ALL my Comparison & Feature Charts, this one is a MUST to check out as it offers a great way of comparing the reviewed titles. It, as with my past charts, contains tons of screenshots (don’t forget to click the links), usage tips and mini-tutorials.
It’s available HERE.
The test / rows should be pretty much self-explanatory. If you at least superficially have read my past emulation-related articles (if you haven’t, do it NOW – they are just the best emulation-related articles, no wonder even Michu himself made them sticky in the official AximSite emulator forum, and many of them have also been frontpaged by several leading Windows Mobile-related sites.
That is, do yourself a favor – if you DO want to know EVERYTHING you can ever know of an emulator, do check out the chart!
Note that I haven’t listed some other, good, famous games for the Spectrum in the chart. They also run under both FuseSP and UnrealSpeccyPPC without problems.
Some examples (also see the “100 Best games” list; original version also HERE):
Deathchase
ALL OR NOTHING
STOP THE EXPRESS
HEAD OVER HEELS
THE SENTINEL
NEBULUS
Uridium
Impossible Mission
Turrican.
Article updated & cleaned up.
I`m looking for PocketCommodore64 or any other emulator that I can run on my navigation system with WinCE 6.0. Could anybody can help with working link?
Related
I’m very often asked about what emulator should be used under Windows Mobile to run Super Nintendo Entertainment System (SNES) (a.k.a. Super Famicom / Super Comboy), a hugely successful home game console of the early nineties.
One of the reasons for this is the abundance of the current emulators. See for example the SNES section on Michu’s famous EmuPage - it lists seven titles and, with some (for example, the n0p port) of them, even additional ones. Another reason for this was the shortage of dependable, comparative information available:
there are no real up-to-date articles with REAL-WORLD compatibility information and really dependable and reliable comparison; for example, the only SNES-emulations-specific roundup of available emulators I could find, PDAGameGuide's Top SNES Emulator Downloads Guide For Your Pocket PC, is heavily outdated, only discusses two (very old and, today, in no way recommended) emulators and doesn't at all dive into subtleties like emulating sound or on-screen controls.
there are a lot of plain bad information floating around (for example, some people’s praising the absolutely useless Snes9xPPC (by pdafan) or Snes9xJ4u)
and even the above-linked WikiPedia article linking in the oldest and least capable SNES emulator version (the original port made by Scott Ramsby)
Finally, the Nominations Manager for Smartphone & Pocket PC magazine’s Best Software Awards 2007, the guy responsible for nominations and (initially) deciding what should be nominated and what not, should show the entire Windows Mobile community he really knows what he does, doesn’t he? ;-)
Why should you bother?
It’s simple: if you’re into Japanese RPG’s like the early Final Fantasy series, Zelda, Earthbound, Chrono Trigger, Super Metroid and similar titles (there are a LOT of them), your best (and, in most of the cases, only) bet is SNES emulation to be able to play these titles.
Of course, there are some very good arcade / platformer games for the platform; for example, Firepower 2000, Donkey Kong Country or the Mega Man and R-Type series. In addition, you will want to check out for example the SNES implementation of the Super Mario series (there are several fan-created, free, public domain additions and fan versions like THESE)– after all, it’s free (if you own the original SNES cartridge), and high-quality – in general, much better (because of the higher quality) than the GameBoy Color / Advance versions. However, let's not forget NeoGeo emulation may offer even better arcade-quality platformer games (for example, Metal Slug) - that is, for REALLY nice action / platformer games, you may want to check out even stronger, but still properly emulated consoles / arcade machines like the NeoGeo.
What about the speed?
While many (see for example THIS PG thread) say low-resolution QVGA devices will ALWAYS be faster to emulate SNES than VGA, this is not necessarily the case. For example, the HTC Wizard runs ALL emulators REALLY slow even when overclocked to 273 MHz (and not using the touch screen – that is, it’s not the well-known 2.8” HTC bug that is slowing down the emulation). For example, some HP iPAQ hx2490 users (another QVGA model) have also reported the same. It should also be stressed that there aren’t that big differences between VGA devices than some people state.
For example, I have four VGA devices:
HTC Universal
WM5 (ROM version 2.01) HP iPAQ hx4700
WM2003SE Fujitsu-Siemens Pocket Loox 720 (without Picard’s GAPI hack)
WM5 (ROM version A12) Dell Axim x51v
All of them runs the test games (for example, Mario Kart) definitely faster (with n0p’s latest emulator version) than my HTC Wizard overclocked to 273 MHz (and not touching the touch screen), and, at least with the Pocket Loox 720 and the x51v, even faster than my 400 MHz HP iPAQ 2210 running WM2003. Yes, even the HTC Universal, which, in general, is pretty useless for action games / emulators.
This all means don’t believe people that state VGA (high-resolution) devices are bound to be useless and QVGA models bound to be great. That’s an oversimplification and, in most cases, not at all true.
Sound issues
Unfortunately, sound emulation is, in general, much worse with SNES than with CPS-1/2, Sega Genesis or even the, hardware-wise, much more advanced NeoGeo. When emulating the latter, if your device doesn’t have the necessary “juice”, all you will get is choppy sound (with only some games; for example, the Metal Slug series on NeoGeo. The vast majority of games will run with excellent sound – even NeoGeo ones).
With SNES emulation, the situation is much worse. While some games (for example, Super Ghouls and Ghosts) are reported not to have this issue, other games (for example, Final Fantasy II) will always exhibit absolutely messed-up music (see for example mrfalcon’s post in this PG thread).
If you still want sound emulation, make absolutely sure you disable automatic frame skipping and set frame skips to a wired-in value of 1 instead of the default 5. Then, after enabling sound (and sound synching as can be seen in here (note that you may also want to enable stereo mode if you uses headphones / external stereo speakers; just switch it off if you find it further decreasing the emulation speed. I didn’t; therefore, I’ve left it as stereo. You may also want to play with the other parameters)), the sound / music will become far more consistent and enjoyable.
The frame drop option “1” tells the emulator to drop (not render) every other frame. That is, the, by default, frame rate of 60 will be forced to become 30. This will help a lot in almost every respect, even at an expense of some (almost invisible) jerkiness increase.
The available emulators
OK, let’s see what we have and what you should use.
First, let me point out that there are two main groups of (current) SNES emulators.
One of the groups has numerous emulators. They’re all common in that they all are based on Scott Ramsby’s initial, old PocketSNES, either adding some additional functionality (for example, on-screen buttons) to it, bugfixing it (for example, making it VGA-compliant) or recompiling / updating it, using a newer version of the underlying Snes9x engine. As far as usage is concerned, these emulators are very similar. I’ll explain the differences in the GUI (particularly with Tala’s OpenGL ES version).
The second "group" only contains one (up-to-date) emulator: MorphGear.
Let's see the first group first.
n0p’s PocketSNES ports
{
"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"
}
n0p is pretty famous for his emulator ports. I've already reviewed his Genesis Plus in my Sega Genesis / Mega Drive article. With SNES emulation, he has also come up with something really top quality.
This (these) are the emulator(s) you MUST check out unless you have a Dell Axim x50v / x51v (then, Tala's emulator is the one to get first).
There are three emulators on n0p's homepage: a WM5 / VGA, a generic and an ARM one. There isn't much difference between these emulators: for example, if you have a non-VGA, XScale-based Windows Mobile device (even a WM5+ one), you can use any of the three versions. If you have a VGA device, you MUST download the latest, WM5 + VGA version. Note that it'll also run on previous-generation (WM2003SE) VGA models too, as is also explained for example in my AximSite-frontpaged review HERE.
This emulator excels in full-screen stretching capabilities and on-screen tap areas. Mostly because of these that it should be preferred over the other titles.
Tala’s OpenGL ES PocketSNES version
The above-introduced and, in general, most recommended n0p emulator doesn't use OpenGL ES in Dell Axim x50v / x51v's to make the graphics less pixelizated. For the latter, you must get the specific OpenGL ES version by Tala (also see the dedicated thread HERE and HERE).
It, being not pixelizated at all, is much easier on eyes and also supports on-screen buttons. As opposed to n0p's version, there can be only two of them at one time; they, however, can be freely assigned to any of the eight original buttons of the SNES controller (while the four on-screen buttons / tap areas of n0p's version is hardwired to A, B, X and Y). In addition, you can also configure Tala's version to treat one key as an autofire one. This is pretty unlike "traditional" autofire solutions because it'll keep autofiring even without your having to hold down the given (screen) button. This can prove really useful on devices like the HTC-manufactured Pocket PC Phone Edition models with a 2.8" screen because they all exhibit touchscreen CPU overburdening problems and, therefore, hopefully n0p will also implement this functionality on his ports.
Masterall’s PocketSNES port
Masterall is the author of the BEST NeoGeo / CPS-1/2 emulator, FinalBurn Alpha and the BEST Sega Mega Drive / Genesis emulator, PicroDrive.
Unfortunately, his PocketSNES update has nothing to write home about, except for being based on the latest, 1.43 version of the Snes9x engine, which means compatibility with some titles 1.39, on which both Tala's and n0p's above-introduced emulators are based on, was still incompatible with (see the compatibility information for individual titles below). It has no goodies like on-screen keys. You may only want to check it out if you have a Microsoft Smartphone (Windows Mobile 6 Standard Edition) and the other Microsoft Smartphone solutions (see the Additional Links section for more info) are insufficient for your needs.
PocketSNES/03 Preview 4
This title is also based on the latest, 1.43 version of the Snes9x engine. Unfortunately, it has no other goodies - it's, otherwise, almost the exact recompilation (with fixed VGA support) of the original Scott Ramsby PocketSNES.
The second group, as has been pointed out, contains one title,
MorphGear
with the SNES9x plug-in (the CAB can be downloaded from HERE, in addition to that of MorphGear. Install the latter first and, then, the former).
It's way better than some other MorphGear modules and is highly recommended. It's certainly a bit slower than the above-introduced PocketSNES modules, but exhibits a definitely higher compatibility ratio. Therefore, I really recommend installing it on your Windows Mobile device, even if as a second emulators, the main still being either n0p's or (depending on whether you have a Dell Axim x50v / x51v or not) Tala's enhanced PocketSNES versions.
Note that all the reviewed emulators are free (including the SNES module of MorphGear).
Finally, let's talk about the non-recommended titles too.
Scott Ramsby's PocketSNES 1.12.200
As has already been pointed out, this is the base of all current enhanced ports. It's not really worth checking it out – n0p’s version (or that of Tala is you have OpenGL ES support) is much more up to date & featureful (on-screen buttons, VGA support).
Snes9xJ4u (its old URL isn’t accessible any more)
The GUI of this app is entirely in Japanese and is WindowsCE-friendly, meaning a non-native Windows Mobile GUI. It was last modified on 2004/08/05. It, basically, works the same way as PocketSNES but the menus are pretty different. You can, however, easily guess what the menu items are for; except for Options / B (the bottom-most menu item). There, the bottom-most checkbox enables, while disabling bringing up the menu with on-screen controls, is related to D-pad. I couldn't find out the way it's controlled - it's absolutely irregular. The topmost checkbox seems to be doing nothing; the middle one enables the above-explained screen "control" but doesn't disable pausing the game & bringing up the menu by clicking anywhere else than the lower left part of the screen. I couldn't find out how landscape should be used instead of the default Portrait - it's possible it's not supported at all.
pdafan’s Snes9xPPC ver0.41
While this emulator is based on the Snes9x 1.43 core and is pretty new (last modified: 2006.2.24), it's definitely slow (MUCH slower than any other tested emulators!) on all the devices, both QVGA and VGA, I’ve tested it on. Avoid it.
Getting games and storing them on the mobile device in an efficient way
In here, I don't give you URL's to ROM files as it'd be illegal (without being sure you DO own the original cartridges of all games you do want to play). However, the Internet, particularly Google, has a lot of related information on how these ROM's can be acquired. That is, Google will be your friend. Note that you'll need to read THIS article for more info on ROM file naming conventions (what for example the exclamation marks, numbers and letters mean after the ROM file names).
After you've acquired your ROM images (as .ZIP or .7z files - the latter is very common with archives having more than one image - for example, different release versions, languages of the same game are often packed with 7z to GREATLY, in cases, with orders of magnitude (!) decrease the archive's size), decompress them if your emulator doesn't support ZIP archives - for example, of the three most recommended emulators, MorphGear doesn't support ZIP files as can also be seen in the "Compression support" row of the Comparison and game compatibility chart. Then, transfer them to your mobile device. Please consult the "Files" section in the first part of the Comparison and game compatibility chart for more information on whether a given emulator has its own file open dialog. If it doesn't (as is the case with Tala's app), you will need to either install Mad Programmer's File Dialog Changer (FDC), as is explained in my Sierra interpreter review & tutorial. Or, alternatively, store your (if the emulator allows for compression, ZIP'ed) ROM files in a direct subdirectory of your storage card. Otherwise, you can store them anywhere.
Also note that, if you do plan to very often load new ROM's in your emulator, you will want to thoroughly check out the "Remembers last position (with Mad programmer's FDC - that is, when NOT using the standard file dialog)" row in the same section. You will want a solution that always takes you back to the last-used directory so that you don't need to manually switch directories, which can be pretty tedious.
Unfortunately, as can be seen in the chart, n0p's (internally Mad Programmer's FDC-based) solution always starts from the home directory of the app and doesn't remember the last directory you've loaded your files from. Therefore, to make things as fast as possible, consider storing your ZIP archives right in the home directory or n0p's port (that is, in the same directory where you've decompressed n0p's emulator to).
Tala's port (the preferable emulator for Dell Axim x50v / x51v users) always starts from \My Documents, in the built-in storage, if you do install Mad Programmer's FDC. Therefore, if you don't want to move your ROM files in the main storage (because it's already full and/or you'd like to keep your ROM files on a card) but still need quick image switching capabilities, consider disabling FDC or adding Tala's emulator to the exception list of FDC and just stick with the standard file selector dialog of the operating system and just put yuour ROM's in a direct subdirectory of the root of your memory card so that they are displayed at once without your having to manually change directories.
Installation, configuration, running games
All the reviewed emulators can co-exist without problems - this means you can keep any of them on your Windows Mobile (as long as they're compatible - for example, it's pretty useless to keep the OpenGLES (Tala) version of PocketSNES on your mobile if it's not a 2700G-based Dell Axim). Actually, except for MorphGear, they don't even need to be installed: you only transfer the EXE file you dowload off the Web to your mobile device and start it in there. (With the addition that Masterall also requires Tillansoft's tGetFile and n0p's distribution has some other files in the ZIP file you'll also need to transfer to the same directory on your mobile.)
After starting the emulators, starting a game is pretty straightforward: you go to Tools / Load ROM (in all PocketSNES-derivatives) and click a ROM after finding it. After this, the game is started and can be controlled with the D-pad and hardware buttons of your device.
Buttons
The standard button assignment can be changed in Options / Buttons…; this is particularly important on WM devices with few buttons (like the HP iPAQ 2210) because the, by default, eight non-directional buttons (one of them, Start, being assigned to Action - that is, the center of the D-pad or, if present, the jog dial) needs to be assigned to 4, 5 or 6 buttons, depending on the particular WM model. Therefore, you may want to change your button assignment configuration regularly on devices having too few buttons.
To configure your button assignment, just go to the above-mentioned Options / Buttons…, click a SNES controller button (A, B, X, Y, L, R etc) on the screen and press the hardware button you'd like to assign to it.
Note that on devices with double button functionality (HTC Wizard, Fujitsu-Siemens Pocket Loox 720), in general, you can assign a functionality to the long-pressed state as well (of most buttons). This isn't the case with the WM5-upgraded and, therefore, double button functionality-enabled HP iPAQ hx4700.
You can also make use of the WM5 hardware soft keys (when available).
Finally, if you have a Windows Mobile phone, you can also utilize its red and green phone buttons.
Display
The emulators use the Portrait orientation by default, which may not be the best solution because it leaves a lot of screen estate unused (and, what is more, on-screen buttons / tap areas are far more awkward to use in this state, if not downright impossible, as is the case with the Tala OpenGL ES-enabled version). Therefore, you will want to switch the game display to Landscape mode. You can do this in Options / Display…, by clicking in either Landscape Left (Stretched) if you're right-handed or Landscape Right (Stretched) if you're left-handed. Stretched means the app (if it's capable of doing so - many, for example, PocketSNES/03, don't) will try to fill in the entire screen.
Note that if you run Tala's version, you will need to use the system-level orientation change support instead of this menu. That is, with the Tala version, leave the default "Portrait" mode in Options / Display… always intact - as opposed to all the other emulators.
Note that, as far as on-screen buttons are concerned, with n0p's ports, they are correctly relocated in the lot less widely used left-handed Landscape mode; Tala's version doesn't support this. This is certainly bad news for left-handed Dell Axim x50v/ x51v users.
It's also in Options / Display… that you will want to disable Auto Frame Skip and use a value of 1 (or, if your PDA or the emulation is particularly slow, 2 or even higher) to drop frames in order to provide a consistent, jerkiness-free emulation and, what is even more important, sound (if you enable it at all).
SNES emulation on other platforms
Desktop operating systems
Here are three, excellent emulators for desktop OS'es:
Snes9x
ZSNES
bsnes
Please check out the above links for more information.
Symbian
I've also tested the Symbian SNES emulator, vSun Plus 1.0 (and its ancestor, the still sound-enabled vSun 1.1) on my Nokia N-Gage. Note that the N-Gage is a very old (2003) phone and only has a 104MHz ARM9 CPU and some 3 Mbyte of free RAM. This is why most games run pretty slow (but some of them are still playable) and sound emulation (with vSun 1.1) results in unbelievably bad results. If they start at all, that is - it's only with ROM images smaller than 3 Mbytes that they are loaded at all.
Note that, with newer, faster Symbian devices with much more RAM, these games (can) become very nice (and 3+ Mbyte cartridges also loadable). Therefore, if you, say, have a Nokia N93 or N95, make sure you download vSun Plus 1.0 (or even the earlier, less compatible but sound-enabled vSun 1.1 to check out whether the sound emulation is OK on your model).
What I've provided here is more of compliance information to see how vSun Plus compares to the Windows Mobile emulators because many state vSun Plus is superior to WM titles (see for example THIS). As can be seen, Windows mobile has nothing to be ashamed of - in general, WM-based emulators are more compatible with the tested titles than vSun.
Also see this for more info on generic Symbian emulators.
Comparison and game compatibility chart
It's available HERE. The first section discusses generic questions like on-screen buttons, operating system / device compatibility, support for ZIP archives etc and, based on this article (and my past, emulation-related ones), is pretty easy to understand; the second has a LONG list of the best, most popular SNES titles and their compatibility with the three most recommended PPC emulators (Tala, n0p, MorphGear) and, as far as the Symbian S60 operating system is concerned, vSun Plus; in addition, I've now and then tested the other emulators with these games too. In order to help authors/developers to fix problems (or, for people that really want to see a given title indeed doesn't run) with a particular non-working title, I've also provided links to the non-working games (but only them! I haven't linked in working games. Sorry, I won't breach the (C) laws.)
Recommended links
My other game emulator reviews in the Games section of the Smartphone & Pocket PC Magazine's Expert Blog. I plan to cover / discuss ALL emulators available for Windows Mobile and have already published some of these articles. Do make sure you follow / read this articles - nowhere else will you find a better source of emulation-related information, I'm pretty sure.
Additional links
Note that these threads / articles may have outdated or plain bad info. You should NOT believe anything in them that is in strong contrast with the information in the above article. You, however, may want to give them a read.
PDAGameGuide's Top SNES Emulator Downloads Guide For Your Pocket PC
n0p's PocketSnes vs Tals's OpenGL-ES PocketSnes vs...
How to do SNES games
SNES Emulation on Pocket PC
How is game playing?
hx2750 with morphgear
MorphGear 2.0 Review
Good news, MorphGear now can run on Smartphone 2003!
working smartphone snes emulator(s)! and avalon5's new smartsnes
(Somewhat) Related comment on the Snes9xJ4u
Menneisyys said:
Snes9xJ4u (its old URL isn’t accessible any more)
The GUI of this app is entirely in Japanese and is WindowsCE-friendly, meaning a non-native Windows Mobile GUI. It was last modified on 2004/08/05. It, basically, works the same way as PocketSNES but the menus are pretty different. You can, however, easily guess what the menu items are for; except for Options / B (the bottom-most menu item). There, the bottom-most checkbox enables, while disabling bringing up the menu with on-screen controls, is related to D-pad. I couldn't find out the way it's controlled - it's absolutely irregular. The topmost checkbox seems to be doing nothing; the middle one enables the above-explained screen "control" but doesn't disable pausing the game & bringing up the menu by clicking anywhere else than the lower left part of the screen. I couldn't find out how landscape should be used instead of the default Portrait - it's possible it's not supported at all.
Click to expand...
Click to collapse
I have this emulator and use it occasionally. I actually got it from the Wizard section of this site about a year ago. I cannot find the thread now but if permitted I could re-post the app. It can easily be configured to English - the instructions were on the original thread, but they go:
HKLM\SOFTWARE\CEe4U\Snes9xJ4u\Language\ Change value from 0 (zero) to 1 (one) [OK]
The .exe runs as is, and requires no cab or pc installation. Create a short-cut and launch it, that's it! (oh, and then exit and perform the reg change above to get the english language - you can also configure the buttons).
I use a Wizard and some games run fine, but others are tricky to control and are slow. R-Type runs ok as does Mario. Overclock though.
There's no landscape support either. But you can use on screen controls if desired and this doesn't infringe upon the pittifully small screen (oh-did I not mention that). I did not find them as intuitive as using the d-pad.
I will attempt to find that link.
-edit- I have had no luck finding the original post. Maybe it has been deleted or maybe it was warez (although I think not).
decknologist said:
I have this emulator and use it occasionally. I actually got it from the Wizard section of this site about a year ago. I cannot find the thread now but if permitted I could re-post the app. It can easily be configured to English - the instructions were on the original thread, but they go:
HKLM\SOFTWARE\CEe4U\Snes9xJ4u\Language\ Change value from 0 (zero) to 1 (one) [OK]
The .exe runs as is, and requires no cab or pc installation. Create a short-cut and launch it, that's it! (oh, and then exit and perform the reg change above to get the english language - you can also configure the buttons).
I use a Wizard and some games run fine, but others are tricky to control and are slow. R-Type runs ok as does Mario. Overclock though.
There's no landscape support either. But you can use on screen controls if desired and this doesn't infringe upon the pittifully small screen (oh-did I not mention that). I did not find them as intuitive as using the d-pad.
I will attempt to find that link.
-edit- I have had no luck finding the original post. Maybe it has been deleted or maybe it was warez (although I think not).
Click to expand...
Click to collapse
Thanks for the tip; I'll link it in the update.
UPDATE (05/11/2007):
I haven’t listed YameCE, the very old, no longer supported GameBoy, PC Engine, NES and SNES emulator in the “Disqualified” section. Its SNES emulation useless: if it runs at all (for example, with Axelay or SF2 Ultra, as opposed to, for example, Super Mario World / Kart, Lufia and FirePower 2000), it's definitely slower than PocketSNES / MG. Its NES capabilities are pretty bad too, particularly under WM5+, where it crashes after a few minutes. In no way recommended.
You can make Snes9xJ4u English by changing HKLM\ SOFTWARE\ CEe4U\ Snes9xJ4u\ Language from 0 (zero) to 1 (one). (Thanks to XDA-Dev forum member decknologist for the tip)
This HowardForums thread may be of interest.
It should be stressed that the reviewed Windows Mobile (but not the Symbian ones) emulators (particularly MorphGear) require a LOT of dynamic (RAM, program) memory, particularly with larger ROM images. That is, make sure you have at least 20 Mbytes of free RAM if you encounter RAM shortage problems.
Super Metroid isn’t an RPG but an action/adventure.
If you guys need a game to test out your spanking new emulator, I recommend The Mysterious Dungeon 2 - Shiren The Wanderer (aka Fushigi no Dungeon 2 - Fuurai no Shiren). This Japanese rogue-like, with maps that are randomized each scene, will provide you hours of fun on the go, and its semi-turnbased format makes the game somewhat tolerable to play.
A translation patch for Shiren is avaliable at http://agtp.romhack.net/project.php?id=shiren . Be sure to check out their other projects as well! The patched version works on n0p's SNES recompile.
UPDATE (11/28/2007): Masterall has recently released an updated (1.53) version of his emulator.
How do I save and load saved games on PocketSNES on WM6?
Hi,
Your thread has completely rocked my world on my Wing!!! I had no idea about emulators and I followed your advice to put on your most recommended version of pocketSNES and I am able to play street fighter 2 championship edition with sound. It took some time to correctly configure controls to use keypad since the up, down, left, right on pocketsnes were actually not really those directions when in landscape mode. But I did it!!!
My issue now is saving games. I can get it to save, but cannot figure out how to load a saved game. Can you provide a very clear, step by step guide to loading a saved game. I have pocketsnes as a zip file on my storage card and madden 07 and SF2 both unzipped on my storage card as well.
Thanks for your help!!!
Menneisyys said:
The available emulators
OK, let’s see what we have and what you should use.
First, let me point out that there are two main groups of (current) SNES emulators.
One of the groups has numerous emulators. They’re all common in that they all are based on Scott Ramsby’s initial, old PocketSNES, either adding some additional functionality (for example, on-screen buttons) to it, bugfixing it (for example, making it VGA-compliant) or recompiling / updating it, using a newer version of the underlying Snes9x engine. As far as usage is concerned, these emulators are very similar. I’ll explain the differences in the GUI (particularly with Tala’s OpenGL ES version).
The second "group" only contains one (up-to-date) emulator: MorphGear.
Let's see the first group first.
n0p’s PocketSNES ports
n0p is pretty famous for his emulator ports. I've already reviewed his Genesis Plus in my Sega Genesis / Mega Drive article. With SNES emulation, he has also come up with something really top quality.
This (these) are the emulator(s) you MUST check out unless you have a Dell Axim x50v / x51v (then, Tala's emulator is the one to get first).
There are three emulators on n0p's homepage: a WM5 / VGA, a generic and an ARM one. There isn't much difference between these emulators: for example, if you have a non-VGA, XScale-based Windows Mobile device (even a WM5+ one), you can use any of the three versions. If you have a VGA device, you MUST download the latest, WM5 + VGA version. Note that it'll also run on previous-generation (WM2003SE) VGA models too, as is also explained for example in my AximSite-frontpaged review HERE.
This emulator excels in full-screen stretching capabilities and on-screen tap areas. Mostly because of these that it should be preferred over the other titles.
Tala’s OpenGL ES PocketSNES version
The above-introduced and, in general, most recommended n0p emulator doesn't use OpenGL ES in Dell Axim x50v / x51v's to make the graphics less pixelizated. For the latter, you must get the specific OpenGL ES version by Tala (also see the dedicated thread HERE and HERE).
It, being not pixelizated at all, is much easier on eyes and also supports on-screen buttons. As opposed to n0p's version, there can be only two of them at one time; they, however, can be freely assigned to any of the eight original buttons of the SNES controller (while the four on-screen buttons / tap areas of n0p's version is hardwired to A, B, X and Y). In addition, you can also configure Tala's version to treat one key as an autofire one. This is pretty unlike "traditional" autofire solutions because it'll keep autofiring even without your having to hold down the given (screen) button. This can prove really useful on devices like the HTC-manufactured Pocket PC Phone Edition models with a 2.8" screen because they all exhibit touchscreen CPU overburdening problems and, therefore, hopefully n0p will also implement this functionality on his ports.
Masterall’s PocketSNES port
Masterall is the author of the BEST NeoGeo / CPS-1/2 emulator, FinalBurn Alpha and the BEST Sega Mega Drive / Genesis emulator, PicroDrive.
Unfortunately, his PocketSNES update has nothing to write home about, except for being based on the latest, 1.43 version of the Snes9x engine, which means compatibility with some titles 1.39, on which both Tala's and n0p's above-introduced emulators are based on, was still incompatible with (see the compatibility information for individual titles below). It has no goodies like on-screen keys. You may only want to check it out if you have a Microsoft Smartphone (Windows Mobile 6 Standard Edition) and the other Microsoft Smartphone solutions (see the Additional Links section for more info) are insufficient for your needs.
PocketSNES/03 Preview 4
This title is also based on the latest, 1.43 version of the Snes9x engine. Unfortunately, it has no other goodies - it's, otherwise, almost the exact recompilation (with fixed VGA support) of the original Scott Ramsby PocketSNES.
The second group, as has been pointed out, contains one title,
MorphGear
with the SNES9x plug-in (the CAB can be downloaded from HERE, in addition to that of MorphGear. Install the latter first and, then, the former).
It's way better than some other MorphGear modules and is highly recommended. It's certainly a bit slower than the above-introduced PocketSNES modules, but exhibits a definitely higher compatibility ratio. Therefore, I really recommend installing it on your Windows Mobile device, even if as a second emulators, the main still being either n0p's or (depending on whether you have a Dell Axim x50v / x51v or not) Tala's enhanced PocketSNES versions.
Note that all the reviewed emulators are free (including the SNES module of MorphGear).
Finally, let's talk about the non-recommended titles too.
Scott Ramsby's PocketSNES 1.12.200
As has already been pointed out, this is the base of all current enhanced ports. It's not really worth checking it out – n0p’s version (or that of Tala is you have OpenGL ES support) is much more up to date & featureful (on-screen buttons, VGA support).
Snes9xJ4u (its old URL isn’t accessible any more)
The GUI of this app is entirely in Japanese and is WindowsCE-friendly, meaning a non-native Windows Mobile GUI. It was last modified on 2004/08/05. It, basically, works the same way as PocketSNES but the menus are pretty different. You can, however, easily guess what the menu items are for; except for Options / B (the bottom-most menu item). There, the bottom-most checkbox enables, while disabling bringing up the menu with on-screen controls, is related to D-pad. I couldn't find out the way it's controlled - it's absolutely irregular. The topmost checkbox seems to be doing nothing; the middle one enables the above-explained screen "control" but doesn't disable pausing the game & bringing up the menu by clicking anywhere else than the lower left part of the screen. I couldn't find out how landscape should be used instead of the default Portrait - it's possible it's not supported at all.
pdafan’s Snes9xPPC ver0.41
While this emulator is based on the Snes9x 1.43 core and is pretty new (last modified: 2006.2.24), it's definitely slow (MUCH slower than any other tested emulators!) on all the devices, both QVGA and VGA, I’ve tested it on. Avoid it.
Getting games and storing them on the mobile device in an efficient way
In here, I don't give you URL's to ROM files as it'd be illegal (without being sure you DO own the original cartridges of all games you do want to play). However, the Internet, particularly Google, has a lot of related information on how these ROM's can be acquired. That is, Google will be your friend. Note that you'll need to read THIS article for more info on ROM file naming conventions (what for example the exclamation marks, numbers and letters mean after the ROM file names).
Click to expand...
Click to collapse
Do you know any mirror for Masterall PocketSNES?
Sina™ said:
Do you know any mirror for Masterall PocketSNES?
Click to expand...
Click to collapse
Nope. However, all you need to do is registering at MoDaCo to acces the downloads. It's free...
ah, thank emu sucks @ anything.
doesn't support Touch Pro keyboard.
Does anyone happen to have Tala's PocketSNES, the one that ran on x51v?
Thanks!
thermodynamic said:
Does anyone happen to have Tala's PocketSNES, the one that ran on x51v?
Thanks!
Click to expand...
Click to collapse
http://www.winmobiletech.com/052007SNESEmus/PocketSNES.zip
Menneisyys said:
http://www.winmobiletech.com/052007SNESEmus/PocketSNES.zip
Click to expand...
Click to collapse
Thank you!
All the two links for the Snes9xJ4u are broken.
I already searched the internet and emule and can't find the Snes9xJ4u b1k or older versions.
Does anybody know I link to download it or could post it in any download site like rapidshare or megaupload?
Nintendo Entertainment System (NES for short) (also known as Family Computer or “Famicom” in Japan or “Dendy” in the former Soviet Union) was a very famous third generation (8-bit) in the second half of the eighties with several notable games.
Being a 8-bit, comparatively simple (even when taking into the different Multi Memory Controllers I’ll later elaborate on) game console, not very powerful hardware like current Windows Mobile devices can easily run NES games at their original speed, including music. In this roundup and tutorial, I elaborate on how this can be done. In addition, I publish a reliable, dependable (I've made all the tests MYSELF and don't rely on any other, in most cases, unreliable source) compatibility list with many-many famous titles.
As with my previous emulation-related articles (see the reader feedback I’ve received to my, say, SNES emulation article), it was because of many reasons that made me publish this roundup:
There are absolutely no comparative, let alone up-to-date roundups on emulating this platform.
There are a LOT of apps to choose from (see Michu's related, excellent link / archive repository HERE), which really makes a newbie cry, given that there has been almost no comparative information on these titles on the Internet.
Users’ reports you can run into in different Windows Mobile forums are really unreliable. So are the advertisements of some software developers ;-) (never EVER believe any advertisement without reading an unbiased expert’s report / evaluation!)
While, technically, NES is pretty much inferior to fourth generation (16-bit) and fifth generation(32/64-bit) consoles released later (fourth-generation consoles - and even some of the fifth-generation ones; namely, Playstation - are very easy to emulate on Windows Mobile), the platform still has a lot of titles worth playing. For example, it was on the NES that the Final Fantasy, the Dragon Warrior (Dragon Quest) and the Zelda series debuted. These titles (the first three Final Fantasy and first four Dragon Warrior titles) are not necessarily available on later, technically more advanced and/or, under Windows Mobile, easily / efficiently emulated platforms (except for the Sony PSX re-releases of the Final Fantasy titles, which are perfectly playable even under the current version of the Windows mobile PlayStation emulator).
As they’re very good RPG’s, if you are into the genre, you may definitely want to check them out. The same stands for some other titles like Elite (which doesn’t have a really non-beta WM version, as is also explained in the Bible of Windows Mobile Games – Part I) and Prince of Persia, which has a pretty good NES version (Windows Mobile still lacks a decent port of this title; it’s only recently that a port has been announced and an early alpha released by Mobirate but it’s still far from being perfect).
Finally, the generic games (which I and Allen Gall have cleaned up last year - after that, we haven't received any criticism) and, particularly, the Emulators category received so much negative criticism (see for example THIS) before my starting to completely update & rework the annual Best Software Awards at Smartphone & Pocket PC Magazine that I found it absolutely necessary, now that I’ve been appointed the Awards Nomination Manager, to, finally, show the whole world the right person (someone that REALLY knows what he’s doing and REALLY knows everything about the available software titles for Windows Mobile) was chosen for this task .
Bird's-eye view on NES emulation: what makes NES emulation easy / hard?
While the built-in circuitry itself in the basic NES console is pretty easy to emulate, the custom chips / electronics (for example, enhanced sound generators for the Japanese Famicom – Famicom supports external sound generator circuitries, as opposed to the NES sold in Europe / the States) present in many game cartridges requires require a lot of additional work. You can read a bit more HERE on what chips there are. Implementing emulation for all of these technologies takes a LOT of time and effort; this is one of the reasons why “from-scratch” one-man projects like SmartGear have so low a compatibility rate.
Getting game ROM files
As usual, I may not tell you were to download games from. Believe me: it's far easier than you think if you know what Google is. Fortunately, there isn't a plethora of available ROM formats: everything you run into (most probably .nes files, in most cases, in a compressed form) will run under the emulators.
The available emulators I – the three (+1) most recommended ones
First and foremost, there are three (and an additional one) major, up-to-date, recommended emulators for Windows Mobile. Note that, in the following section, I also give you some advice on how these titles should be used. Note that, as always, I also give the current version of these titles.
1. Jetech.org’s PocketNester 0.7
This is the first emulator you should check out. It is the most compatible, free and reasonably fast emulator. Some of the other, current emulators (for example, NesterJ4u) are based on this one and, therefore, have exactly the same capabilities, except for the additional support for WM5 softkeys and, with the VGA version, Landscape support.
{
"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"
}
Its main problem is the lack of WM5 softkey (and, therefore, Smartphone / Windows Mobile Standard) and Landscape screen orientation support.
These issues, as has been already mentioned, have been fixed by for example the NesterJ4u applications. There is another PocketNester derivative implementing WM5 softkey support (and, therefore, sporting support for the Smartphone / Windows Mobile Standard platform) and offering Landscape support: Masterall’s PocketNesterPlus (see the next subsection). Unfortunately, it’s only at these two areas that it excels at; it doesn’t have anything else worth mentioning.
Using the emulator is very simple: download the archive from Sourceforge, unzip it, install and click the PocketNester icon in the Programs / Games folder. Go to File / Open ROM and select the ROM you’d like to play. The ROM can be both compressed and uncompressed and, if you use Mad Programmer’s File Dialog Changer (please read my previous emulation-related articles on how it can be installed; most importantly, the related section in my guide to running Magnetic Scrolls games), it can be anywhere in your file system. If you don’t use File Dialog Changer, it must be under either \My Documents or in either the root or a direct subdirectory under it on your storage cards.
While the emulator has on-screen controls (screenshot), you may also want to (re)assign these functionalities to hardware buttons in Options / Controllers. In there, click a … button and, as instructed, press the key you’d like to be assigned to the given functionality. Also, it’s in here (see the lowermost checkbox) that you can enable a different method for scanning hardware buttons, should you encounter problems with some (rare) Windows Mobile models.
In Graphics, you may also want to enable displaying the top- and bottommost 8 scanlines. It’s disabled by default, you will want to enable it with games supporting them (for example, 1942) so that you can see more of the screen (some games use this). To see what the difference is, this screenshot (of the game 1942) shows the scanlines enabled and this when disabled. See the difference on the top and bottom? Yes, 16 pixel rows are missing from the second screenshot. Note that, however, there are also a lot of games that don’t use these rows and even games that just display some static in there. An example is King’s Quest 5, which has some static at the bottom there as can be seen in here (see the colored line under “Game paused”. During the game, it can become pretty annoying.). If you disable the 2*8 scanline display, this won’t distract your attention (see screenshot here).
Note many emulators don’t let for enabling displaying these rows at all. Also note that I’ve also elaborated on how the individual emulators behave in this respect (see the “2*8 scanlines displayed?” row in the Comparison and Compatibility Chart).
1.1 Masterall’s PocketNesterPlus 0.9
This self-standing emulator is an enhanced version of PocketNester. Download it from the first post of the linked MoDaCo thread, unzip it and transfer PocketNesterPlus.exe to your handheld. Execute it there.
As has already been mentioned, it adds Landscape support to PocketNester (but nothing else). You can switch the orientation in Options / Display as can be seen in here. Unfortunately, currently, it’s in no way compatible with VGA devices.
2. MorphGear 2.4.0.9
A not very fast (but, on current, fast Windows Mobile devices, speed-wise, still perfectly sufficient), commercial emulator with somewhat limited compatibility (and some other emulators; most importantly for the GameBoy). I recommend it mostly because of the NAMCO106 compatibility and the native support for landscape / stretching / on-screen buttons.
Getting and installing MorphGear is easy: download THIS (main program) and THIS (Morat’s module) CAB files; unzip them, transfer them to your PDA and click them for installing. Then, click the new MorphGear icon in the Programs / Games group. Click the
icon in order to select a ROM to load. After this, the game will start (if it’s compatible).
As, by default, MG uses the Portrait orientation and the 100% (one source pixel equals one target pixel) rendering mode, particularly on VGA devices, you will want to make sure you override this setting so that the rendering becomes full screen. To do this, first, click the
icon and select iNES (NES) in the list. Now, click Screen Size on the upper left; a drop-down list will be displayed on the right. Select Window Size in the drop-down list.
You can also fine-tune other parameters here: for example, the sound and the frame dropping ones. On current, fast devices, you can safely leave the sound settings at their default, high-quality settings; on slower ones, you will want to either disable sound completely or select “Low (11 kHz)” in the Quality drop-down list. Also, at the bottom of this settings dialog, you can reassign the buttons of your mobile device. As with all the other apps in this roundup, you can utilize any button on your mobile device, even WM5 hardware softkeys and the red/green phone buttons.
Finally, if you want to play games in Landscape orientation, click the
icon again and, now, select “Global Settings” in the menu. Click Orientation and, from the drop-down menu, select either West or East, depending on whether you’re right- or left-handed.
3. HanaHo Games / Bitbank Software’s SmartGear
(Note that the official homepage of the developer doesn’t even mention SmartGear. Use the Modaco link to download the emulator from.)
A blazingly fast and efficient, commercial emulator: it runs flawlessly even on Windows Mobile devices underclocked to 104 MHz. It, however, has severe compatibility problems and is only compatible with about 60-70% of the current NES games, as opposed to PocketNester(Plus) and even MorphGear, which have a compatibility ratio of around 96-99%. It's not compatible with VGA devices either.
Download the file from the above-linked Modaco thread (you’ll need to register yourself as a forum member). Decompress the archive and transfer SmartGear_PPC.exe to anywhere on your Windows Mobile device. Execute it.
In the Options / Settings section, you may want to make sure “Throttle framerate” remains checked in (it is enabled by default); otherwise, the games will be FAR too quick. (This will be the case with some games even with it enabled; for example, Super Mario Bros 2.)
Also, you will need to redefine the A, B, Start and Select buttons in Options because, by default, they are assigned to the numeric keys (even if they don’t exist – it’s been written for Smartphones, which do have numeric keys) 1, 2, 3 and 4 as can be seen in here. Therefore, you’ll need to click all of them in turn, click Define and press the hardware button on your Windows Mobile handheld you’d like to assign the given functionality to. I also recommend reassigning the Exit functionality so that you can easily stop running a game and bringing up the GUI of the emulator – with the traditional, stylus-based method, this may take some 2-3 seconds.
After this, you can load the ROM image in File / Open and enjoy gaming.
Note that in order to really save battery life, you must manually underclock your handheld to, say, 208 MHz (if it’s an XScale one). It’s only this way, if you use SmartGear, that you will save significant battery life. The sole reason for this that SmartGear, as with both MorphGear and PocketNester, uses all the CPU cycles of the handheld even when it doesn’t actually need it. (For example, when you do make sure “Throttle framerate” remains enabled.)
An example CPU usage graph showing this fact can be seen HERE. The first, about a minute long 100% peak shows running a Mario game in PocketNester, the second shows MorphGear and, finally, the third shows SmartGear. All in all, you will need to underclock your handheld. Please see my battery life saving-related articles (there are quite a few of them) for more info on this.
The available emulators II – the less recommended emulators
Now, I also list and elaborate on the other, older and not any more recommended emulators; for example, Jogosoft’s PocketNES, YameCE, NesCE, InfoNES etc.
NesterJ4u
These two emulators, except for some minor issues, are almost the same as PocketNester. There isn’t much point in preferring them over PocketNester – unless you have a VGA device (it doesn't run on QVGA ones) AND you want to run your games in Landscape. Then, the Sharp build will be your friend.
Jogosoft PocketNES 1.0
This was the first Pocket PC-specific NES emulator (in addition to the Pocket PC-compatible YameCE). Now, because of it not supporting several mappers and lacking for example Landscape support makes it a worse alternative.
InfoNES for PocketPC 0.97
Note that the official homepage of the developer only contains the old (v0.76b) Japanese binaries; the latest, 0.97 version can be accessed either in Michu’s database (pre-WM5 and WM5) or HERE.
This emulator isn't really notable: it has stuttering sound even at 624 MHz. Most of the alternative emulators are FAR better.
nesCE 2.0
(See the download at the bottom of the page). A non-recommended title. See the comparison chart for more info on why I don’t recommend it.
YameCE
This emulator used to be the first really fast NES (but NOT SNES! Its SNES emulation is very slow) emulator to be released for WindowsCE. Now, however, with the advent of fast Windows Mobile devices and the later versions of both PocketNester and, particularly, the unbelievably fast SmartGear, the initial speed advantage has gone. This means it’s no longer worth sticking to this emulator, particularly because it is only able to work for some 3-4 minutes under WM5+. After that, it becomes unable to emulate anything and only a soft reset (!) helps the situation. (Under pre-WM5 OS’es, this problem doesn’t exist.)
(Also see THIS PG thread)
The comparison & compatibility chart
... is available here (click the link!). Based on the info above (and in my previous articles – read them!), you will understand what it contains.
Note that, compatibility-wise, I’ve not only tested most of the possible mappers, but also some generic, famous games.
I’ve included two versions of the most recommended NES emulator, PocketNester, in the chart: an earlier 0.5.4 and the latest 0.7, the latter occupying in the first column in the chart. All this in order to be able to compare how it has evolved over time.
Recommended links
My other game emulator reviews in the Games section of the Smartphone & Pocket PC Magazine's Expert Blog. I plan to cover / discuss ALL emulators available for Windows Mobile and have already published some of these articles. Do make sure you follow / read this articles - nowhere else will you find a better source of emulation-related information, I'm absolutely sure.
UPDATE (05/28/2007): New, 0.24 version of excellent multiplatform gaming console emulator SmartGear out! It is definitely an enhanced version with a lot of new functionality (lowered CPU usage (no need to underclock your device to conserve battery life), configurable rapid fire, working Landscape support with NES emulation, in-game menus now accessible, screen size settings, new, even more effective “quick and dirty” rendering mode) and fixes some problems. Unfortunately, it still has the same, not very good game compliance ratio and still doesn’t support high-res VGA devices.
See THIS for more info. Note that I will NOT edit the original article below to reflect the changes – after reading the original article, move on to reading the changes so that you’ll see what has been changed.
UPDATE (05/25/2007): getting the Sticky status, along with ALL my other emulation-related tutorials & roundups, in the Emulators forum of one of the most active Windows Mobile forums, AximSite. By no other than Michu, the manager of the well-known Emupage! This certainly shows – along with the other for example PocketGamer.org and YAMM frontpages – these tutorials & roundups are simply the best.
dont know how i missed this one too!
this is one hell of a guide! cheers.
Glad you liked it
(And don't forget to check out my other articles )
Beautiful! Comprehensive guides such as yours are invaluable especially given the remarkable speed and effectiveness of Google's indexing this site. Thanks for sharing.
this is great!!
only thing is i can not get pocketnester .7 and nesterplus .9 to work at all!!!
i had DLed the plus to my phone and installed ok.. when i tried to play a game, the screen would flicker bad and cause all kinds of problems to be reported. so i un-installed.
same with pocket .7 dl'ed the zip file, and copied it to my storage card. tried to unzip the files but it didnt really install anything, all it did was just extract the files. i read something about unzipping it to your pc first and trying from there but i cant figure it out!!!!!
i have htc hd2 tmob.
thanks for any help!
EL_REY666 said:
this is great!!
only thing is i can not get pocketnester .7 and nesterplus .9 to work at all!!!
i had DLed the plus to my phone and installed ok.. when i tried to play a game, the screen would flicker bad and cause all kinds of problems to be reported. so i un-installed.
same with pocket .7 dl'ed the zip file, and copied it to my storage card. tried to unzip the files but it didnt really install anything, all it did was just extract the files. i read something about unzipping it to your pc first and trying from there but i cant figure it out!!!!!
i have htc hd2 tmob.
thanks for any help!
Click to expand...
Click to collapse
Give a try to SmartGear, it has become really good lately with even support for BT game controllers.
Menneisyys said:
Give a try to SmartGear, it has become really good lately with even support for BT game controllers.
Click to expand...
Click to collapse
will give it a try
thanks!!
Smartgear works great.
I was just about to post how it is too bad that it doesn't work in WVGA, but I just figured it out. Silly me.
Anyway, SMB3 played full speed, with audio (enabling audio in Morphgear is painful). Works great using a Wiimote (via CobaltController).
Pros
-Full speed with audio
-Full screen on WVGA (with or without stretching)
-Supports touch screen buttons
Cons
-Not free
-Possibly still limited support for games
Note that I did my testing on a LG IQ (eXpo) - 1GHz Snapdragon
MS-DOS, which was the most widely known operating system of the pre-Windows times on the IBM PC platform, has several unique software titles either not available on other platforms or of considerably better quality than on other platforms. This means emulating MS-DOS, in cases, may be either the only or the best way to get a particular title, let it be an application or a game, run on your Windows Mobile (WM for short) handheld.
In this article, you’ll find ALL (and I certainly mean this!) information you’ll ever need to successfully select and use an MS-DOS emulator.
(Note that, in this article, I refer to all DOS operating systems of the IBM PC as “MS-DOS”. Naturally, the discussion also applies to DR-DOS and PC-DOS and, in this roundup & tutorial, instead of elaborating on the basic operating system itself, I mostly concentrate on the most important aspect of these operating systems: running third-party applications and games.)
1.1 Why an article on MS-DOS emulators?
there are no similar all-in-one articles, let alone in-depth ones. The very few articles ever written on the subject only discuss one of the (several) available emulators, PocketDOS.
the majority of current emulators, particularly the most recommended DOSBox port by n0p, HEAVILY lack any kind of a decent tutorial. In here, you will find all the information you'll ever need configuring and running these titles.
there are many different emulator versions from a lot of developers; this may make the life of a newbie to MS-DOS emulation VERY hard.
Windows Mobile forums are FULL of contradicting and plain bad, unreliable information on these emulators. Someone had to, finally, get the facts straight.
the BEST MS-DOS emulator (that of n0p), being of Russian origin, is mostly discussed in Russian language forums. As one of the several languages I speak is Russian, I understand what is discussed there. That is, in this article, I also build on the information found in Russian forums, making it unnecessary for my readers to suffer from the Babelfish “translation”. To a lesser degree, I've also found some useful user reports & tips in German (which I also speak) forums; I’ve also incorporated the info found there in this tutorial & roundup.
my old, related article (Another reason to get a VGA device – running Legend Entertainment's old adventures reviewed) is heavily outdated because of the brand new DOSBox ports
as the Nominations Manager at Smartphone and Pocket PC Magazine, I have to know everything about Windows Mobile apps. This article also shows I do
1.2 Why should you bother?
As has already been pointed out in the introduction, MS-DOS has several quality titles either not available on other (with a usable WM emulator) platforms or the quality of these titles on all other platforms (again, with emulators) are clearly inferior to that of the MS-DOS version. For example, the evergreen games by Legend Entertainment is a very good example of these (they haven’t ever been released for other platforms). If you don’t know what these games are but you like text-based, high-quality adventures, make sure you give them a try – they’re certainly worth it. And the list of excellent, MS-DOS only titles continues; for example, Betrayal at Krondor was also a PC-only release. This means MS-DOS was a VERY strong gaming platform in the early 1990’s with tons of high-quality or unique titles worth playing even today.
However, in other cases, MS-DOS emulation is NOT something you should always prefer to emulating other platforms or looking for native WM (re)implementations / ports of the same game. For example, as far as games are concerned, with games that only had an MS-DOS version, there may be better emulators (most importantly, "partial" interpreters "only" running a specific type of games; most importantly, from a given game publisher) to run the game than a fully-fledged, full MS-DOS emulator. In addition, some (not many) classic titles have their own WM implementations / ports; examples of these include UFO (the reimplementation is Pocket UFO; see my quick review HERE and the PocketGamer thread HERE), Civilization (Pocket Humanity; unfortunately, FreeCiv has no direct port; PocketCiv only runs on Linux-based handhelds), Pipe Dream (having several WM reimplementation; see for example the Roundup of All Pocket PC Games Part I for some of them), Doom (DoomPPC / DoomGL ES are excellent), Wolfeinstein 3D (see pocketinsanity’s port) etc.
Note that the (vast?) majority of MS-DOS emulator users use emulators for gaming (it’s mostly games that haven’t been released on other platforms or are unplayable / far more awkward to play in emulators); therefore, in this article, I also concentrate on gaming issues. This, however, doesn’t mean you will be unable to make use of it if you, for example, plan to run your old MS-DOS-based apps.
1.2.1 Cases you will NOT want to use an MS-DOS emulator - I: existing ports on other, more Windows Mobile-friendly platforms
For example, if you want to play, say, the infamous Prince of Persia (which doesn't have a direct WM port), I would say you’d better get a NES (Famicom) emulator. The NES version of Prince of Persia is very similar to that of the PC; however, the NES version in no way requires as much resources (including battery power) as the MS-DOS one. Please see THIS for a complete review of NES emulation.
The same stands for, say, Xenon 2 or Risky Woods. Running them in a Sega Mega Drive / Genesis emulator is a much better choice than ding the same in an MS-DOS emulator. The Sega Mega Drive / Genesis emulators require less resources, have better sound (particularly with Xenon 2, which, on the IBM PC, only had speaker sound), are easier to control and produce higher frame rates (just as with NES and Price of Persia) than the current MS-DOS emulators. See THIS for a complete explanation.
These are not hard-and-fast rules. That is, it can't be stated "whenever a port of a game exists on a better-emulated platform, stick to it and forget MS-DOS emulation entirely". When selecting an original platform and an emulator to play a given title, you may want to prefer other, better-emulated platforms for action games like the above. For mouse (stylus)-based, generally, adventure and strategy games, on the other hand, you may want to prefer MS-DOS emulation. For example, compare the following two screenshots, showing Sierra's King's Quest 5 on a(n emulated) VGA PC (running the VGA version of the game) and on the NES (Famicom):
{
"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"
}
The difference in the visual quality is staggering, isn't it? And, the better visuals are just part of why the MS-DOS version is much more worth playing. The NES' not having analogue / mouse-like input, its cursor needs to be controlled by a (digital) D-pad. This means it's REALLY hard to control the game with the D-pad only.
Incidentally, the same stands for games running on other (mouseless console) platforms like the GBA version of X-COM. These kinds of games should be played under an MS-DOS emulator because they allow for stylus usage, unlike GBA emulators.
1.2.2 Cases you will NOT want to use an MS-DOS emulator - II: existing interpreters for a given game
As has already been pointed out, a specific subset of MS-DOS games have so-called 'interpeters', which run the games without emulating a full MS-DOS environment. This may be advantageous in many respects:
as they only need to run the game (and not an emulated operating system), they, generally, consume far less CPU cycles (and, therefore, both run flawlessly on slower and/or underclocked machines and result in a decent battery life). A well-known example of this is the Magnetic Scrolls interpreter (see review & tutorial HERE), which runs old, freely and legally (!) available Magnetic Scrolls textual adventures in a really CPU- (and, consequently, battery-) friendly way.
they, in cases, are much better integrated into the operating system. Again, an great example of this is the Magnetic Scrolls interpreter. It uses a standard text area (with some extras; for example, automatic text expansion of highlighted text) and standard, relocatable picture boxes. This also means it's, for example, possible to copy some of the text onto the clipboard. What is more, these operating system-level components are compatible with all kinds of operating system versions and configurations. This isn't always the case - let me point out that, for example, (W)VGA and square screens are not supported by many emulators (including, unfortunately, the most recommended one by n0p). Now, compare the quality of the rendering of the in-game text when done by the Magnetic Scrolls interpreter and n0p's MS-DOS emulator (not supporting (W)VGA screens). Yes, the difference is enormous - the interpreter-based version is perfectly playable even on a square-screen or a low-resolution (QVGA) device, while the original MS-DOS game rendered by n0p's emulator is fully unplayable on any Windows Mobile devices because of the emulator's not supporting high-resolution screens, while the games itself used EGA high-resolution.
Of course, it's not only the Magnetic Scrolls games that should be played in the related interpreter, but also a lot of other titles. For example, the earliest Sierra games should all be played under PocketSarien (review & tutorial HERE); most of the Lucasfilm games run better under PocketScumm than under MS-DOS emulators and so on.
There are exceptions, though; the most important being FreeSCI, the interpreter of (early) Sierra SCI games (released in 1989 and 1990). This is so uselessly slow that you will want to prefer an MS-DOS emulator to playing them under FreeSCI. (See THIS for more info.)
1.2.3 Cases you will NOT want to use an MS-DOS emulator - III: existing, native ports available for WM
It’s always preferable to play native WM ports / versions over emulating (if the quality of the port is at least comparable to that of the original running in a high-quality emulator), mostly because of CPU usage and hardware requirement issues. An emulator generally requires (unless we’re speaking of for example BitBank’s SmartGear, which has really modest hardware requirements) a far more powerful hardware than a native game. This means (most and, with emulating MS-DOS, all) emulators are either hard (at least without excessive overclocking) to run on slower devices at a usable speed or, on faster devices, they result in a very quick battery consumption because of the high processor usage.
Now that we’ve seen the cases where using MS-DOS emulators is NOT recommended, we can return to the original subject: running titles that are worth running under MS-DOS emulators because there isn’t another way of making them work.
Let’s see how you can acquire MS-DOS apps (if you don’t have the ones you’d like to play around) and, then, move on to introducing the (current) emulators.
1.3 Getting MS-DOS games
Start with the Wiki page List of commercial games released as freeware. Make sure you get games released before 1994 (or, if you can stand the increased slowness, 1995).
I am not allowed to provide you direct (!) links to so-called 'abandonware' sites. However, if you just use Google, you will find them at once. Also, if you spend more than five minutes at browsing Vogons, the highly useful DOS emulation page, you'll find thousands of links to these sites (it seems some people and even official forums don't take down abandonware links. However, I still refrain from giving you generic URL's, just to be on the safe side.)
Don't be afraid of dowloading from well-known abandonware sites. If you really are afraid of viruses, make sure you don't run these titles directly on your desktop PC, only under an emulator. Then, even if it, for example, formats your (virtual) hard drive (that is, the directory you give it as a hard drive), the damage will be limited. And, rest assured, it won't do any harm to your device. For this test, I've downloaded the games from abandonware sites so that I can test the games they host for viruses and trojans. I haven't found anything. That is, you can absolutely safely download from these sites.
1.4 What can I run?
Generally, games (and, of course, apps) released before 2004. Try NOT to play 3D games (this also includes classics like Betrayal at Krondor - they won't be very fast). You can have success with later, not very graphics-intensive games (for example, adventures).
1.5 Can I run Windows XP on my Windows Mobile device?
Nope. Under the most recommended emulators (n0p's DOSBox port and PocketDOS), all you can do is run Windows 3.11 if you want. I, however, don’t really recommend It - it's the best to stick to emulating strictly MS-DOS applications and games.
With Mamaich's (old) Windows Mobile port of Bochs (Bochs is a full x86 emulator, not just an MS-DOS one), however, you can even install Windows 95 as is described in THIS very long thread (also linked from PPCT). (You'll also need this Nano98 and this micro95 (also see THIS and THIS) tutorials for ripping Windows 95 and 98. Also see THIS for more info.) You, however, won't be able to do anything productive with these installs: it's REALLY slow and has major problems with input devices. That is, don’t even bother reading through these threads – not even the basic operating system will run flawlessly, let alone apps / games. Don’t even think of running for example Starcraft on a Windows Mobile handheld.
2. Desktop MS-DOS / x86 emulators and their ports on Windows Mobile
For the desktop operating systems, there exist several MS-DOS and x86 emulators. Gaming-wise, the ones discussed at Vogons are the most recommended; of them, only DOSBox has Windows Mobile ports. Actually, it has several ports; of them, n0p's port is the most important.
As far as emulating the entire hardware is concerned (also meaning the ability to run, say, Windows XP on a sufficiently powerful, high-class machine - definitely NOT a current Windows Mobile one!), the above-introduced Bochs should be mentioned. In addition, the same Mamaich has also ported QEMU, a very fast (on a current 624 MHz Windows Mobile device, it equals to about a 16 MHz 386 (screenshot 1, 2). Also see THIS.) CPU emulator. It, however, is buggy and has major problems; definitely NOT recommended for ANY serious work. (This is why I've also put it, along with the Bochs port, into the 'not recommended' section.)
In the following section, I elaborate on all the emulators available on WM.
Recommended MS-DOS emulators
2.1 n0p's DOSBox port (current version: 0.63)
As has already been stated, this emulator is the most recommended generic MS-DOS emulator. It's way faster than any other DOSBox port. Its only problems are the following:
the complete lack of support for high-resolution (for example, VGA) devices
being a heavily simplified version of the desktop counterpart, it doesn't support various goodies like MIDI sound (which is way better than the FM synthesizer-based AdLib cards) or emulated modem via Internet / LAN connections for multiplayer (or generic communication).
It, on the other hand, is VERY fast and has a lot of goodies none of the other Windows Mobile DOSBox ports can boast of:
SPEED!
Automatic cycles setting, always providing the best compromise (no need to manually set the cycles)
Very good AdLib / SoundBlaster (SB) emulation
Transparent software input panel (SIP)
It's based on DOSBox version 0.63, which isn't the latest DOSBox version; it's still definitely newer than 0.61, on which some other (not recommended) DOSBox ports are based on (including n0p's own old 0.61 port and that of Mamaich).
n0p is Russian and mostly contributes to Russian forums. Currently, he doesn't plan to update his port to 0.70 (the, currently, latest-and-greatest desktop DOSBox version). It's highly unlikely he will release a version with VGA support either. I'll try to convince him to visit English language forums too so that non-Russian speakers can also speak to him and maybe convince him to develop his emulator further.
2.1.1 Major differences between the original (desktop) and the Windows Mobile versions
While the emulation core is here, n0p’s port (as with other WM ports) lack several ‘goodies’. One of them is MPU-401 (for example, MT32) emulation (see for example the difference between AdLib and MT32 with the infamous game Spellcasting 101: start the game as S101 MT32 2 330 and compare it to the case of running SB-SOUND.COM /b24 and starting S101 without parameters. Also see THIS, THIS and THIS).
Another is connectivity for, say, multiplayer games like F29 Retaliator or Populous (also see: Directserial and Modem Guide; DosBox Guide to Multiplayer Games). While in the desktop version everything is supported (IPX over net; modem and direct serial emulation), in n0p’s version, modem emulation is surely not supported (I’ve thoroughly tested with both F29 Retaliator and Populous); I don’t think IPX is, either. I haven’t tested direct serial connections.
Finally, other goodies like making screenshots of the current screen or capturing WAV / MIDI files are also impossible with the mobile version.
The mobile version, on the other hand, has automatic cycles setting. This isn’t really needed on the desktop (where the CPU, with current PC’s, is powerful enough to run anything “old” at the highest cycles available); on current Windows Mobile devices, however, is a godsend.
2.1.2 Usage
First, download either the XScale or the more generic ARM version from the download page. Uncompress it with (if you aren’t using for example Total Commander) WinRAR to anywhere on your WM handheld (including storage cards). Start dosbox.exe (you can also create a link to it into \Windows\Start Menu\Programs or one of its subfolders like Games if you want to so that you can start it without having to use a file explorer tool).
After starting the emulator, you’ll see something like this (showing the mount command listed at the end of the original configuration file didn’t work):
Now, enter the “mount c "\Storage Card"” command, where change “Storage card” to the name of your storage card (for example, “CF Card” or “SD Card”) if it’s named so as in, say,
mount c "\SD card"
Then, enter the
c:
command to change to the now-mounted virtual drive. Then, by using the “cd” (Change Directory) command, you can step into any directory to execute any programs in there by just entering its name – as was the case with the “real” MS-DOS.
You will also want to include the two commands (or, more precisely, change the “mount c "\cf card\drive"” command already in there) in the dosbox.conf file in the same directory where you’ve unpacked the original, compressed DOSBox distribution. Then, after exiting the emulator (by clicking the exit icon in the upper right corner of the on-screen keyboard) and restarting the emulator. This is shown in this screenshot).
Note that you can also mount virtual CD-ROM's with the same command, by adding the "-t cdrom" parameter. Prefer using the virtual drive D: to mount directories containing the root of the CD file system! Also see THIS (and, with the forthcoming PocketDOS, THIS). An example command:
mount d "\SD card\7thguestCD" -t cdrom
Also note that in order to bring up the full keyboard, you will need to tap the upper left corner of the screen. Then, the keyboard is shown in its entirety (screenshot), part of it transparently (that is, you see what’s under it). Click the corner again to hide the transparent portion. (By the way, this transparency is one of the best features of this emulator). Alternatively, you can also use the “scroll bar” dragging area (screenshot) to quickly drag up and down the keyboard.
2.1.3 dosbox.conf tweaking
If you know the desktop DOSBox version, you may also have heard of its configuration file 'dosbox.conf', already mentioned in the previous section. With the desktop version, you may want to spend some time on learning what the individual parameters are and how they should be configured to achieve the best performance, set up your virtual modem configuration so that you can play for example Populous in multiplayer mode with anyone in the world and so on. (You can find a description of the desktop version HERE).
With n0p's port, most of the parameters that need to be tweaked in the desktop version don't really need to be touched if you want to have better performance. In the desktop version, you may want to spend considerable time testing for example how the OpenGL version of the emulator behaves compared to the normal one. In the WM version, this is not necessary because OpenGL (and other, alternative screen output methods) are simply not supported. This is certainly good in that you don't need to spend any time on fine-tuning the emulator - it'll deliver the best performance "out of the box".
However, there are still some parameters you may need to know of; most probably, the following ones:
core (the most important one - you'll need to edit it if you plan to run 80386+ apps / games)
memsize (if the default three Mbytes of EMS / XMS wouldn't be sufficient. It's only with few titles that it isn't; for example, with Heroes of Might and Magic, which requires 4434 kbytes of XMS / EMS and 374 kbytes of conventional memory)
finally, the autoexec section, where you should put at least mounting in your storage card(s) and changing to there so that you can save you some typing
And, some less important, but still useful parameters:
dpadmouse (if you plan to play a game that doesn't support the other two forms of mouse emulation. There are very few cases you will ever need this.)
hwkeyX and hwkeyX_ma (if you want to redefine what the four hardware keys do and what their effect on the mouse buttons are)
In the chart HERE (sorry, it'd be too big to be included in here - you'll need to click the link), I both explained ALL the parameters in the configuration file of n0p's DOSBox and compared the original desktop version to that of n0p, as far as these parameters are concerned. As you'll see, n0p's version uses the values of only very few of these parameters, unlike the original desktop version. (Actually, in this respect, Wall's approach in his pDOSBox 2b2 is better - he has deleted all the non-supported parameters from the config file, making it much more approachable for anyone not having read my description of what is used and what is not.)
The chart also provides an excellent summary of the meaning of these parameters. This is very important because n0p's original documentation (available HERE) is pretty weak (or straight non-existing) and noone else has ecer published anything comparable, as far as his port is concerned.
2.1.4 n0p's DOSBox 0.61
This highly outdated and slow(ish) version should just be forgotten. Always prefer the latest (0.63) version to it.
2.2 Wall's DOSBox port (current version: 2 beta 2), pDOSBox
(Alternative download with the sources HERE (see the bottom of the page) and here)
This, unfortunately, fully discontinued (also see THIS) emulator has some goodies; most importantly, (W)VGA support. It's therefore highly recommended for (W)VGA users wanting to play high-res (CGA hi-res, EGA and VGA hi-res) games. However, no one else should want to use it on a daily basis - (W)VGA device owners only wanting to play low-res (320*200) CGA / EGA / MCGA / VGA games should stick to n0p's port (introduced above) because of the vastly superior speed, sound support, transparent SIP etc. Note that many state Wall’s pDOSBox is faster (see for example THIS) than n0p's emulator. That's certainly not the case, particularly when it comes to sound emulation.
A tip: as the beta is expired, you'll need to set back the internal clock of your handheld before starting the emulator. For example, if you set back just the year to 2006, it'll work just great.
Another tip: the emulator often crashes upon using backspace when you delete something in a previous command taken out from the DOS history. This means don't use the backspace when in the DOS command line with constructs like "cd somegamename / somegamename", where you try to delete "cd" from before somegamename - it'll most probably lead to a crash.
I'd like to thank Michu (author of the well-known EmuPage - a MUST for every emulator fan!) and AximSite forum members heybhouse and Half Decaf for helping me finding this version.
2.2.1 Using pDOSBox 2 beta 2
After downloading and unpacking, you’ll need to transfer the files (along with the subdirectories) to your handheld (a storage card will do just fine). Start the emulator by starting PDBFEND.EXE. As with n0p’s DOSBox, you’ll want to create a shortcut to this file from your Programs menu; this is also explained in the README.TXT in the same directory.
Using the emulator is pretty much the same as with that of n0p’s DOSBox. You mount a directory (which can also be on a card) with a command like mount c "\SD card", go to the new virtual drive and start your favorite apps.
The emulator has a similar on-screen keyboard (SIP) than n0p’s DOSBox. It, however, isn’t transparent; this also means that, if the DOS prompt is already under the (maximized) SIP, you won’t see anything of it, unlike under n0p’s DOSBox. That is, you won’t see what you write. To quickly fix this problem, issue the ‘cls’ (CLear Screen) command (consisting only three letters, it's easy to be entered even if you don't see the prompt); it’ll clear the screen and the prompt will be shown at the top.
Unfortunately, the keyboard, unlike with n0p’s DOSBox, can’t be maximized by clicking the upper left corner of the screen. The only way to maximize it is pressing the Left arrow on the D-pad, while you can switch between the three panels using the Down arrow. This, unfortunately, also means you can’t use the D-pad in, for example, games.
Finally, another disadvantage of this port is the fact that it doesn’t support automatic emulation optimization – that is, built-in fine-tuning the emulation “strength” based on the CPU load. This also means you will also want to keep an eye on the actual CPU load of the given application / game and, if it has reached 100% and is constantly staying around it (not decreasing under 96-97%), just decrease the cycles given to the emulator. This, when done properly (so that the CPU utilization remains between 90 and 95%, but doesn’t exceed, say, 97%, driving the CPU into saturation and leading to (even more) sound problems and, after a while, visible visual performance degradation) maximizes performance. As games / apps are vastly different in their CPU usage, manually tuning the performance can be a real pain in the back. This is why the auto performance tuning in n0p’s app is a godsend – there, all you need to do is decrease or increase the frameskips, which is far easier and requires far less manual work than the cycle emulation fine-tuning in DOSBox ports not sporting auto settings.
2.2.2 The old pDOSBox 1.1
An earlier, release version of the above-introduced pDOSBox. It is clearly weaker than pDOSBox 2 beta 2. Therefore, I don't recommend it at all, unless you, for some reason, want to prefer it over 2b2: for example because you don’t want to set back the clock all the time.
2.3 PocketDOS 1.12
PocketDOS is the oldest MS-DOS emulator for Windows Mobile. It has been around for quite a while - well before the first DOSBox ports. It was, however, only lately that it became a bit more gaming-friendly; for example, it only received VGA support (including high-resolution modes on high-res Windows Mobile handhelds) in 2004.
Unfortunately, in general, it's less suited for generic gaming than n0p's version. Not only because of the non-existing (and, as far as beeper emulation is concerned, vastly inferior to that of n0p's DOSBox) SoundBlaster / AdLib emulation, but also because, in general, fewer titles run under it. A well-known example of this is Civilization, which, as of the latest, 1.12 version, still refuses to run, unlike under n0p’s DOSBox port.
The latest, 1.12 version of the emulator has just been released. The promised emulation speed increase (when using the built-in core and not enabling the other, 286+ cores) is indeed pretty good and, generally, outperforms even n0p's DOSBox in some games and is indeed faster than the previous, 1.11 version. Also see my Norton System Information benchmarks in the main comparison chart, which clearly shows the new version has indeed become faster. Also, some (minor) bugs have also been fixed; for example, the missing toolbar / SIP keyboard issue on the Dell Axim x51v (see THIS screenshot, taken under the old version).
It has some other goodies too. For example, unlike any of the DOSBox ports on Windows Mobile, it does support physical serial ports and printing. You may find this functionality important if you need to run legacy MS-DOS applications collecting data via the handheld's serial port and/or need to print out some stuff.
Also, another definite advantage of the title is being based on a full DOS operating system. This means for example batch files calling even scarcely used DOS commands, using not widely used command-line parameters, the full DOS operating system will know it. This is what the DOSBox ports are clearly weaker at. Note that you can choose from three versions of different DOS versions (that of Caldera (ex-Digital Research), DataLight and, in addition, the default FreeDOS) upon installing the application as can also be seen in this screenshot. You can even install more than one of them and just switch between them in Settings / System / Startup / Boot from (screenshot) when you need to switch (because, for example, a given application or game doesn’t run under the default FreeDOS. An example of these apps / games is Legend's Spellcasting 201, which doesn't run under the default FreeDOS.)
However, in most cases (when you only want to run some programs / games and don’t want to issue delicate DOS commands or run batch files that do depend on some scarce feature of DOS not present in the DOSBox implementation), being based on a full DOS doesn’t deliver much advantage as most games don't make extensive use of the external DOS commands - not even internal (command.com) ones.
2.3.1 Scaling, resizing
PocketDOS' scaling/stretching behavior in high-resolution modes (on a high-resolution handheld) is vastly different from that of DOSBox ports. DOSBox ports don't give the user any way of deciding how to downscale (make it smaller) the original high-resolution (640*350 EGA or 640*480 VGA) images to fit on a screen with SIP's on them. They only have one default behavior for all the possible resolutions as is described in the following matrix:
PocketDOS, on the other hand, behaves radically differently. It offers the user no less than four scaling options in hi-res EGA and VGA modes; two of these options (the one employing a horizontal compressing by 2, the other also vertically) targeted at users using a QVGA handheld so that they don't end up having to pan horizontally (and, in the second case, vertically), unlike in the cases of using the original resolution (where both horizontal AND vertical panning is necessary and, in many cases (for example the main text area of Legend Entertainment games), not even texts can be read without excessive (in every single row) horizontal scrolling.
(Note that the main comparison chart – to be linked below – has a lot of screenshots demonstrating these modes.)
As can be seen, the way it lets the user to select a scaling mode of his choice and, unlike DOSBox ports, not forcing QVGA users to either a downscaled, non-pannable view of the screen or one that needs to be panned in both directions (but not both) is a big advantage. In this respect, PocketDOS should be the first emulator to be given a try if you plan to play high-resolution games on your low-resolution handheld. Again, when presenting high-resolution originals on low-resolution (320*240) handhelds, it has a decided advantage over DOSBox ports.
Note that one of the video modes employing downscaling of VGA originals results in pretty bad results (particularly when you also enable the on-screen keyboard in addition to the always-visible toolbar). Here, some people (see X-Phile on Sun Jun 12, 2005 11:46 pm) also complain of this. If this issue gets on your nerves, make sure you switch to a non-scaled view, even if it results in a need of (sometimes heavy) vertical panning.
Finally, let me point out that the main comparison / feature chart (to be linked below) has a LOT of example screenshots demonstrating all these modes on both QVGA (low-resolution) and VGA (high-resolution) devices.
2.3.2 Using PocketDOS
Using this application is pretty straightforward. If you have a WM5 device (meaning the lack of, from the, in operating systems prior to WM5, RAM-based separated Built-in Storage (BIS)) with a single storage card, it will be automatically mounted as drive c:. That is, in these cases, after booting in, you will see the contents of your memory card right away and can start running your favorite apps at once, without having to play with manually mounting anything.
If, on the other hand, you either have a handheld with an operating system prior to WM5 with a built-in BIS and/or two memory cards (and you want to access the contents of your CF card, not that of SD), you will need to manually mount the other card. Fortunately, it's pretty well explained in the built-in help of the setdrive command.
You will most probably want to switch to Landscape mode (from the default Portrait) if you can live with the three-row SIP (and you aren't sensitive to the probably bad polarization problems of your handheld, which may be an issue with several non-high-end handhelds like the Dell Axim x50v/x51v). To do this, click the Windows button (above Esc), go to Settings / Display / Orientation and switch orientation.
2.3.3 Problems with the EMS/XMS memory
Unfortunately, PocketDOS has much more problems with the extended / expanded memory than n0p's DOSBox port. You can't allocate so much memory as in the latter and when you do allocate, the entire emulator may still restart itself when you try to start a memory-hungry title. This problem is particularly topical when you use the DOSBox CPU plug-in (and not that of the MUCH slower Bochs).
Also see some related posts in this thread for more info on other limitations of the memory model used by the emulator.
3. Not recommended emulators
In addition to the already-introduced three recommended emulators (and some of the older titles), here's a list of the non-recommended ones:
3.1 Mamaich’s DOSBox port
(Note that n0p’s (old and not recommended) 0.61 DOSBox port is based on this one, with some enhancements)
Shows some black screen and, then, immediately exits.
3.2 Ming Zeng's PocketDosBox v0.1.0
(based on the rather old DOSBox 0.60, last touched March 06, 2005)
Doesn't work on any Windows Mobile test device I've thrown it at (Cannot find … or one of its components)
4. The main comparison chart
Yes, I haven't given up throwing even more information at you This article also contains a VERY large comparison chart available HERE. CLICK THE LINK, YOU WILL FIND THE INFORMATION THERE REALLY USEFUL! Also, as usual, it's packed with screenshots. Also note that this chart has nothing to do with the previously linked dosbox.conf chart - they are completely different entities (yes, this article has a LOT of material!)
In addition to comparing the two DOSBox ports by Wall, the new one from n0p, the latest, just-released PocketDOS and, finally, the desktop DOSBox original, I've also made some extensive, real-world compliance testing with several games and utilities. Feel free to scrutinize these reports. Note that I've preferred checking my favorite titles; hence the several Legend Entertainment games (all of their (text) adventure titles, except for the late and, therefore, CPU/memory-hungry Death Gate and Shannara).
I especially recommend the "Norton System Info benchmarks: effects of different fine-tuned parameters" row to see how the performance of these emulators can be tweaked. As can clearly be seen, the only way to (slightly - but not much!) increase the performance of n0p's application is increasing the frameskip parameter. PocketDOS is more tweakable.
In the same row, I've also elaborated on the effects of enabling 286+ (with PocketDOS) /386+ (with the DOSBox ports) emulation. As can clearly be seen, the speed hit caused by these plug-ins is particularly high with PocketDOS. Try to stay away from the Bochs plug-in - it REALLY slows down the execution! The DOSBox plug-in of PocketDOS is clearly better. Too bad it has severe memory-related problems: the majority of 386+ games I've tested did run with "real" DOSBox ports but refused to start with the DOSBox plug-in of PocketDOS. They, on the other hand, generally ran under the (again, VERY slow) Bochs plug-in.
If you don't understand something in the chart, make sure you also check out the, in Section 2.1.3, already discussed dosbox.conf chart. I've elaborated on a lot of issues in there - for example, what the different mouse emulation modes mean, when they should be used, which games are affected etc.
Appendix A - SI benchmark results
In addition to the "tweaking" benchmarks I've elaborated on in the main chart (again, see the "Norton System Info benchmarks: effects of different fine-tuned parameters" row), I've made some really thorough benchmarks with n0p's DOSBox port to see how the frameskip parameter affects overall speed and what the speed of the different CPU cores are. This has all been measured on my 624 MHz Dell Axim x51v.
As can be seen (and has also been pointed out in the main chart),
it's not really worth using more frameskips than four or five; it won't result in further performance increase
the 'verysimple' core is about 50% faster at every frameskip settings than the full core. Interestingly, the, by n0p, not recommended, 386+-compatible normal / dynamic cores produced better results than the 'full' core. This also means if you need 386+ emulation, you may want to give a try to the 'normal' core first, and only then to the by n0p recommended 'full'.
Note that the tests were done using auto cycle settings. As has already been explained, you will NOT want to disable auto cycles. If you do disable them, you will have a hard time using these kinds of (synthetic) benchmarks to correctly benchmark your emulator. Some examples of this case (using Wall's emulator as an example):
The CPU cycles can be increased infinitively; at 9900 (instead of the, on the x51v, default 2700, where the SI index was supposed to be 16), it displayed an index of ~59. These values remained the same after starting a very CPU-intensive background process (Pocket Controller) to make screenshots. That is, the results are plain wrong.
The frameskip parameter doesn’t seem to have any effect (1 2), which is, of course, incorrect.
Recommended links / additional info
A trip down Memory Lane: PocketDOS and Realms of Arkania. The author asks whether the emulation speed depends on the speed of the medium PocketDOS is installed to / the games are stored on. In general, no; that is, you can keep your stuff on (even slow) memory cards and don't need to copy them into the main storage (let alone RAMDisks under WM5+).
Running Master of Orion under PocketDOS
A Russian thread on n0p's DOSBox
… and another, VERY long and informative one
A Russian thread on PocketDOS
Yes, and another one at www.soneric.ru
A German thread on n0p’s emulator, also pretty informative: DosBox für Pocket PC. It also contains a list of games running under n0p's emulator. Note that the original author states installing PocketDOS is very complicated because you need to get a copy of MS-DOS from somewhere. This is certainly not the case: later versions of PocketDOS have all come with MS-DOS built-in; on top of that, it's a free DOS version by default. No need to install anything else - and, if you install PocketDOS using the desktop installer EXE, you only need to run one EXE file and just press the Next buttons. He also states King's Quest 5 and 6 run slow under the emulator with 0.61 - that's not the case with 0.63 any more. Also note that, at first, he found that using the OpenGl value instead of Surface (see the Output parameter) results in slightly increased speed (using on a 400 MHz QVGA Loox). Later, however, he stated he didn't see any difference.
The old PocketDOS forum is HERE (was at Pocket PC FAQ; right now, the old contents is only accessible on the latter address); the new is HERE.
TIPS: How to get games working (well) under PocketDOS; a related remark & explanation on "Simulate display retrace" HERE
Working DosBox for X50v found (on Wall’s pDOSBox)
A Zodiac thread
A game compatibility list of (the old) PocketDOS 1.11. Note that its information isn't necessarily applicable to the latest (1.12) version; for example, the latter already runs both Spellcasting 101 and Populous without problems.
HERE: WM2003SE Dell Axim x50v + GAPI hack problems (NOT a problem with WM5-upgraded x50v's or any other models, including the x51v); some comparison between the current DOSBox ports
The Vogons (Very Old Games On New Systems) forum main page, listing all the other desktop DOS emulation projects (as has already been stated, DOSBox is "only" one of them)
Desktop DOSBox guide - really worth checking out for WM users too because it for example explains how MS-DOS apps should be configured, what drive names should be preferred etc. There is another tutorial HERE; it also explains the usage of the cycle and the frame skip parameters.
Some remarks on the two additional mouse emulation modes in the new n0p emulator version
Wisbar may result in the emulators’ hanging
Anyone know of any decent DOS emulators? (old!)
Retro Gaming help on XP (doing this on the desktop; however, the info is generally useful on the PPC ports too)
Good adventure/puzzle games for iPAQ 1950 - Nurhisham Hussein’s comments
Which DosBox works better?
PocketDOS?
windows 98 emulator – discusses PocketDOS’ (poor) Win emulation capabilities
A possible alternative to pDosBox (with sound) - at first, discusses n0p’s old port; then, switches to the new one.
UPDATE (06/03/2007):
In the meantime, I’ve been notified of a brand new, Wall-based project; pckDOS (current version: 0.63 001). To install it, just download pckDos_063_001.rar, decompress it and transfer the files inside it to anywhere on your PDA. Create a .lnk file to either pckVGA.exe to pck320.exe (for VGA and QVGA devices, respectively).
Unfortunately, it’s clearly worse than Wall’s version 2.0. While it does have VGA support, it’s even slower, has absolutely no sound emulation (not that that of Wall could be called satisfactory) and has no ways of quickly maximizing the SIP when possible (see “Left” on the D-pad with Wall 2.0 or clicking the upper left corner with n0p 0.63). At least the latter is a major problem; so are the traditional problems with Wall’s app (for example, messed-up characters in Legend Entertainment’s EGA games).
It’s very important to start pckDOS using a link; otherwise, you’ll have MAJOR SIP problems as can be seen in here. With Wall’s original 2.0 (or any other app), no such problems exist – that is, with them, you don’t need to put a link to the main executable in your Start menu.
All in all, this title is NOT recommended. Stick with Wall’s version 2 if the need for setting back the clock isn’t a problem because of (mostly) the maximizable SIP.
As far as MS Smartphone-compliance is concerned, the following needs to be known:
* n0p’s DOSBox 0.63 and the QVGA version of pckDOS 0.63 001 don’t even start on any SP platforms
* Wall’s 1.1 starts on QVGA devices (like the Vox) but has severe problems with text input: on the Vox, it’s impossible to enter characters that have a number of their secondary function
* The best is without doubt PocketDOS (tested with version 1.12): it has excellent text input capabilities using the numeric keypad of Smartphones and supports newer, higher-end QVGA devices (in both Portrait and Landscape mode), in addition to the traditional 176*220 screens (screenshots of the latter HERE and HERE - as can be seen, you can't expect much of the old, low-resolution Smartphone screens. Newer QVGA screens are WAY better.)
A screenshot of running the emulator on a new QVGA MS Smartphone (the HTC Vox) in Landscape mode:
(same, showing running Populous HERE)
Of course, it needs a LOT of learning because of the numerous input modes. This is only explained in the in-program help (screenshot) and, it seems, nowhere else. I’ve collected some of them so that you can have some idea how text input / cursor control work.
Main control:
Back Backspace
Esc Escape
Talk Cycle 'zoom' modes
Home Minimise PocketDOS
Vol Up/Down Scroll display left/right
Right Softkey Menu
Left Softkey Switch input modes
Text Mode:
# (Hold): Select symbol
#: Space
* (Hold): Select text entry method
0-9: Text entry
*: Cycle text entry methods
This is about the third of the available modes / controls: there are a lot of others.
I haven’t had any problems with PocketDOS running on newer (QVGA) Smartphones, except for the inability to activate the menu – the right softkey just didn’t work on my HTC Vox (tested both of them). It, on the other hand, worked flawlessly on my older WM5 AKU3 176*220 HTC Oxygen.
As usual, in the meantime, I’ve received a lot of praising for the article; for example, HERE is a sticky request at HowardForums, one of the most lively mobile phone forums by forum regular Ago Vino Verita
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.
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)