Remove All Ads from XDA

The definitive guide to running (MS-)DOS (80x86) programs under Windows Mobile

5,511 posts
Thanks Meter: 136
By Menneisyys, XDA Ad-Free Retired Moderator on 23rd May 2007, 11:05 AM
Post Reply Email Thread
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?
  1. 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.
  2. 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.
  3. 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.
  4. Windows Mobile forums are FULL of contradicting and plain bad, unreliable information on these emulators. Someone had to, finally, get the facts straight.
  5. 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.
  6. 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
  7. 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.
23rd May 2007, 11:07 AM |#2  
OP Retired Moderator
Thanks Meter: 136
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):

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:
  1. 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.
  2. 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.)
23rd May 2007, 11:08 AM |#3  
OP Retired Moderator
Thanks Meter: 136
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.
23rd May 2007, 11:09 AM |#4  
OP Retired Moderator
Thanks Meter: 136
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:
  1. the complete lack of support for high-resolution (for example, VGA) devices
  2. 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:
  1. SPEED!
  2. Automatic cycles setting, always providing the best compromise (no need to manually set the cycles)
  3. Very good AdLib / SoundBlaster (SB) emulation
  4. Transparent software input panel (SIP)
  5. 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


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:
  1. core (the most important one - you'll need to edit it if you plan to run 80386+ apps / games)
  2. 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)
  3. 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:
  1. 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.)
  2. hwkeyX and hwkeyX_ma (if you want to redefine what the four hardware keys do and what their effect on the mouse buttons are)
23rd May 2007, 11:10 AM |#5  
OP Retired Moderator
Thanks Meter: 136
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 ( ones.
23rd May 2007, 11:10 AM |#6  
OP Retired Moderator
Thanks Meter: 136
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)
23rd May 2007, 11:10 AM |#7  
OP Retired Moderator
Thanks Meter: 136
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),
  1. it's not really worth using more frameskips than four or five; it won't result in further performance increase
  2. 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):
  1. 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.
  2. 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

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
23rd May 2007, 11:11 AM |#8  
OP Retired Moderator
Thanks Meter: 136
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?


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.
4th June 2007, 06:02 PM |#9  
OP Retired Moderator
Thanks Meter: 136
UPDATE (06/03/2007):
  1. 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.
  2. 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.
  3. 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
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes