Log in

View Full Version : Emulating home computers on Windows Mobile Part IV - Commodore 64


Menneisyys
06-14-2007, 06:17 PM
The Commodore 64 (http://en.wikipedia.org/wiki/C64) (C64) is the most successful home computer ever manufactured. This also shows in the number of the software products (mainly games) released for the system.

Fortunately, Windows Mobile, both the traditional Pocket PC and the touch screen-less Smartphone version, has pretty good Commodore 64 emulators.

In this roundup, I elaborate on them all on both platforms. I also present a small gift to the entire QVGA (320*240) MS Smartphone community: a C64 emulator, hacked by me, which does make use of the entire QVGA screen, as opposed to the pre-hacked state. And, of course, the roundup itself is also a nice present: as with all my other emulation-related articles, nowhere else will you find a better, more thorough article on all these subjects, I think ;)

1.1 Is Windows Mobile-based C64 emulation worth the trouble at all?

As opposed to, say, emulating the Amstrad CPC (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2017&more=1&c=1&tb=1&pb=1) or the Commodore Amiga (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2015&more=1&c=1&tb=1&pb=1), the answer is YES, for two reasons.

First, the device has a plethora of good (!) games. While the same games typically exist on other platforms (back in the eighties, games were released for several computer and/on gaming console platforms at the same time), the C64 had a more game-friendly hardware when compared to most home computers (and even some dedicated gaming consoles) of that time.

This means for example the C64 version of the classic game "Uridium (http://en.wikipedia.org/wiki/Uridium)" is orders of magnitude better than, for example, the very slow and in no way spectacular (not even mentioning its also sub-par sound / music) ZX Spectrum version. With other games, the differences may not be so apparent (after all, Uridium used the superfast character mode on the C64, unlike on the ZX Spectrum, where it needed to do some heavy bitmap moving), but, generally, if you can, say, only choose from a ZX Spectrum, an Apple II, an Amstrad CPC and a C64 port, check out the latter first for the best possible graphics / sound. (The only exception is the high-resolution mode of the Amstrad CPC, which results in particularly text-based adventures' delivering a much better gaming experience. Unfortunately, as PocketCaprice doesn't support the high-resolution mode on VGA devices, this advantage is non-existing on our mobile platform.)

Second, as opposed to emulating the Amiga (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2015&more=1&c=1&tb=1&pb=1), Windows Mobile-based C64 emulators have no speed problems at all - not even on very slow handhelds. While it's impossible to play most Amiga games on even the fastest Windows Mobile devices without stuttering sound, C64 games run on even on lowest-end, 7-year-old models without problems. This also includes today's TI OMAP-based 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 (http://www.pocketpcmag.com/blogs/index.php?s=Masterall&sentence=AND)'s emulator masterpieces and SmartGear (http://www.pocketpcmag.com/blogs/index.php?s=SmartGear&sentence=AND), home computers are generally not emulated on the platform (that is, there are no for example Atari ST (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2018&more=1&c=1&tb=1&pb=1) or Amiga (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2015&more=1&c=1&tb=1&pb=1) 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 C64 games, which are, with many titles, 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 C64 emulator. For example, when a particular title also exist for the Nintendo NES (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1940&more=1&c=1&tb=1&pb=1), the SNES (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1939&more=1&c=1&tb=1&pb=1), NEC’s TurboGrafx-16 (PC Engine) (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1944&more=1&c=1&tb=1&pb=1), the Sega Master System (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2014&more=1&c=1&tb=1&pb=1) (SMS), Genesis / Mega Drive (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1933&more=1&c=1&tb=1&pb=1#more1933) or Game Gear (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2014&more=1&c=1&tb=1&pb=1), 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 Amiga (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2015&more=1&c=1&tb=1&pb=1) / Atari ST (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2018&more=1&c=1&tb=1&pb=1) / Amstrad CPC (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2017&more=1&c=1&tb=1&pb=1) / IBM PC (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1969&more=1&c=1&tb=1&pb=1) 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 C64.

This is particularly important when you don't want to shell out any money for the emulators - the free C64 emulators are WAY worse than many console emulators, compatibility- and controllability-wise. For example, the best free C64 emulator, PocketHobbit, doesn't support redefining fire buttons (let alone providing rapid/auto- or screentap-based firing) and defaults to application buttons traditionally found next to the D-pad. This means you can only play games heavily relying on both the D-pad and the fire button in the not most ideal Portrait orientation. As opposed to this restriction, most of the above-linked, free (!) console emulators either support touchscreen-based firing or, at least, button redefining capabilities so that you can assign the fire functionality to a button much easier accessible with the right hand (assuming you're right-handed and use your left hand to control the D-pad) when in Landscape orientation.

Of course, these issues don't exist with PocketCommodore64, but, as opposed to almost all of the recommended gaming console emulators (even including the otherwise commercial SmartGear, which is freely registered for users that do provide feedback on compatibility issues), it's commercial.

That is, in general, 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 Acorn Electron, Amstrad CPC, Apple II, BBC Micro, ZX Spectrum and the Commodore Amiga (as long as you want sound) computers. 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 the NES, SNES, SMS, PC Engine, Genesis and, in cases (only as a last resort – the Game Gear has a low-resolution screen, which you may not particularly like), the 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 (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1911&more=1&c=1&tb=1&pb=1) or Lucasarts (http://scummvm.org/) titles.

Finally, the case is the same with titles that are plain incompatible with the C64 emulators available on Windows Mobile. There are only few of them (and this number will decrease even further when the brand new & completely redesigned version of PocketCommodore64 is released); still, it's good to keep in mind that, with most games, you have alternative platforms like SMS well emulated under Windows Mobile.

An example of titles that belong to this ("you need to find an alternative platform because current C64 emulators are plain incompatible with the title") category is the well-known, famous Impossible Mission (http://en.wikipedia.org/wiki/Impossible_Mission). While some people (including the developer of PocketCommodore64) had success with emulating this title on Windows Mobile, I haven't managed to do so, not even after testing four different, independent versions (using the traditional parlance, "cracks") of the original game and, of course, actively trying to make the emulators run in NTSC mode. (The original Impossible Mission, along with some cracked versions, are NTSC.) With this title, the only way of playing turned out to be emulating SMS with, say, SmartGear (http://www.pocketpcmag.com/blogs/index.php?s=SmartGear&sentence=AND).

The SMS version of Impossible Mission is of even better quality than the C64 one, with all the goodies like digitized sound. Not so with the ZX Spectrum and the Amstrad CPC versions - they not only lack digitized sound, but are also uglier and have less sophisticated graphics - that is, as has already been pointed out, should be avoided.

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 C64 emulation, you need to know about .d64 disk images, .t64 tape images and, finally, directly exported .prg files. (There are some more obscure file formats as well, for example, the cartridge formats.) A decent emulator should handle at least the first, D64, as the vast majority of the titles are in this format. D64 is exclusively used to store the data / dependent / overlay files of programs not available in a one-file (.PRG) version and, generally, can't be converted into a non-D64 format (back in the Golden Age of the C64, when disk drives were really expensive and a lot of C64 users just couldn't afford them, it required a lot of work from crackers to make an initially disk-only application fit into the cassette format, preferably contained in one-file); this means the lack of D64 support means you won't be able to play games arriving exclusively as D64 and containing more than one files.

There are several tools to convert between the different file formats (for example, to extract individual files from a D64 file); I'll elaborate on D64 Editor later.

As long as you don't want to transfer your own disks into files on your PC or Windows Mobile device (which requires a genuine 1541 drive hooked up to a PC and accessed via Star Commander (http://sta.c64.org/sc.html)), you can download almost all titles off the Web. One of the best sources to download C64 games / software is the Blast! archive (http://www.theoldcomputer.com/Libarary%27s/Emulation/C64/Roms/Blast/C64_roms_summary.htm). As it contains some 340 disk images, you will want to consult the alphabetical list of all games (http://www.theoldcomputer.com/Libarary%27s/Emulation/C64/Roms/TOC%20Blast%20Index%20Alphabetical.txt) to quickly find which image contains the game you’re looking for.

It's very important to point out that the Blast! disks all have a main menu on them, which is incompatible with most emulators out there (except for the desktop-based CCS64). This means you will NOT want to play the games on these disk images with the traditional load"*",8 command, which loads the menu, letting the user select the game to play. Except for the desktop Windows-only CCS64, this won't work. The solution to this problem is looking up the number of the game you plan to play in the loader once (in an emulator compatible with at least the main menu - the desktop-based and, as opposed to the commercial CCS64, free VICE is one of them) and loading the individual title using the load"X",8 command, where X should be the number of the game to be loaded. With the games I've tested of the Blast! collection, in the comparison & feature chart, I've also stated this number with each tested game so that you don't need to look them up yourself.

In addition to the Blast! Collection, there are a lot of other pages to download games from. You'll want to prefer them when, for example, you look for some strictly disk-based (non-one-file) games - with them, the Blast! version (if it does contain the given game at all - it's mostly with one-file games that the Blast! collection excels at), generally, is inferior to disk images found elsewhere.

You may also find some games at this generic desktop emulator overview (http://almighty.c64.org/), which has some gaming-related pages & downloads.

As far as demos (http://en.wikipedia.org/wiki/Commodore_64_demos) are concerned, c64.ch (http://www.c64.ch) will be your best friend. It contains all the remarkable C64 demos. While most emulators (particularly on Windows Mobile; in there, the, in this regard, most compatible emulator is PocketHobbit) will have a hard time running them, if you do find a compatible emulator (which, in most cases, means the desktop-based CCS64 - it's the most demo-friendly emulator available), they may be well worth checking if you want to see what the C64 is really capable of and why even today there are some people developing demos for it.

1.3 Using the emulators

After you've downloaded the games you'd like to play and installed the emulator, start the latter. Copy the games to your Windows Mobile device. Check the "ZIP support?" row in the Feature & Comparison Chart (http://www.winmobiletech.com/062007C64Emus/chart.html) (from now on: Chart (http://www.winmobiletech.com/062007C64Emus/chart.html)) to see whether you need to uncompress the ZIP files; if the particular emulator doesn't support compressed ZIP files, then, do this before the transfer. In general, only PocketCommodore64 supports ZIP'ed archives and even it has some restrictions; namely, you can't select individual files inside a ZIP'ed D64 disk image. That is, if you want to do this (and you WILL want it with, say, the Blast! disk images for the incompatibility reasons outlined above), you will need to unZIP these (and ONLY these - for example, d64 files downloaded from HERE (http://almighty.c64.org/) can all be auto-started and, therefore, you will not need to go into them from the file manager to select the program to run) d64 files even when played with PocketCommodore64.

If the emulator uses the standard file selector dialog box on Windows Mobile (see the "File dialog box?" row in the Chart), then, you will need to put the files in either in \My Documents or a subfolder of it in the main storage or, with pre-WM5 devices, on the storage card. With a WM5 (or later) device, with a storage card, the files MUST be put in either the root of the card or a direct subfolder of it. Keep this in mind if you don't see the files you've transferred to your PDA, accessed from an emulator relying on the standard file dialog box (that is, PocketHobbit and ComeBack64ce - PocketCommodore64 (Pocket PC) and PocketHobbitSP2003 (Smarthone) both use their own file dialog box). Also, you may want to install a file dialog box replacement like Mad Programmer's File Dialog Changer in order to be able to navigate to any directory. Please see my earlier articles on how it should be installed and used.

After transferring the disk / tape images / programs to your handheld, you will need to instruct the emulator to load and, then, execute then.

1.3.1 Loading programs into the emulators

In general, there are two ways of loading a program. The first is just attaching a disk image to a virtual drive (like inserting a disk in a physical drive but not doing anything else) and, later, manually loading a file from there by issuing

either the load"*",8[,1] command, which loads the first program on the disk. With games occupying at least an entire disk, it'll load the game itself; with disk images with more than one program, only the first. This means you will NOT want to use this approach when you want to start a program not being the first in a disk image.
or, the load"<programname>",8[,1] command, which lets for selecting and loading any program, not just the first.

The second is a one-step approach, which not only attaches a virtual image to an emulator, but also loads a program from there. This is what the "Autoload File" functionality in PocketCommodore64 (the only Windows Mobile app capable of this) stands for.

In PocketCommodore64, if you double-click a disk image (it may even be compressed; that is, ZIP'ed), it will be assigned to virtual drive 8 (the default) and the first program will be autoloaded.

Note that the other two D64-capable emulators (PocketHobbit (Pocket PC) and PocketHobbitSP2003 (Smarthone)) only allow for attaching disk images and, then, with a separate (!), predefined command / menu item, loading the first program. While this still doesn't involve having to entering the full load"*",8[,1] command on the on-screen keyboard (with PocketHobbitSP2003, the phone's phonepad or, when existing, the full keyboard), it certainly involves (much) more screen taps / menu navigation.

For example, with PocketHobbit (the free Hobbit port for the Pocket PC), you first click a disk drive icon, select "Insert disk…", select the disk image to be attached to the selected virtual drive and, then, click the disk icon again and select "Load and execute first program". Note that, despite what the title states, it will NOT execute the program - you will still need to manually enter 'run' to do this.

With PocketHobbitSP2003 (the Smartphone Hobbit port), the situation is even worse: first, you press the left soft key to bring up the file selector / disk image attach screen; you select an image using the up/down arrows, Action, Options / Go Up and, finally, Open (left softkey) and also pressing OK on the next notification box (titled as "Error" - it's an information box, NOT reporting any error! Unfortunately, using error notifications instead of simple info boxes are VERY misleading for the uninitiated). Now that the image is attached, you will need to load the first program by pressing the right softkey, going up (with several Up presses) to the LOAD"*",8,1 button and pressing Action on it, which will load (but, as with PocketHobbit, still NOT execute!) the program into memory. Finally, to run it, you will need to go back to the text entry dialog (right softkey) and enter 'run' on either the phone dialpad (fortunately, here, the English T9 will work just fine) or the built-in full keyboard if present. Unfortunately, there's no shorthand RUN button.

See how much easier the PocketCommodore64 approach is?

And that's not all: should you need a quick way to execute a non-first program in a disk image file, PocketCommodore64 also allows for this. Just expand the tree represented by a disk image (by clicking the + sign in front of it) and double-click the program name - still in the "Autoload File" mode. (Note that you can NOT expand ZIP'ed disk images, as has already been pointed out. This, I think, is a bug.) This kind of functionality is (also) severely missing from the other two Pocket PC-based emulators.

1.3.2 Other features / settings

1.3.2.1 Turbo mode

Almost all emulators allow for a "turbo" mode in addition to the "100% speed" one. The former will allow for, on current, fast Windows Mobile devices, much (400-500% of the original C64 speed) faster program execution.

Enabling turbo mode also greatly speeds up disk emulation with the free PocketHobbit. However, it also results in most importantly character input problems: with enabled turbo mode (which is, with PocketHobbit, is the default), you won't even be able to enter 'run' because of the doubled characters. That is, should you go with PocketHobbit (you shouldn't - PocketCommodore64 is WAY better and, IMHO, certainly worth its price; you should go with PocketHobbit only if you really can't shell out money for the former), you will find yourself always switching between the two modes. Fortunately, it's pretty easy to switch - just click the standing / running icons in the lower right corner.

Again, as has been pointed out, you will need to enable Turbo mode with PocketHobbit - otherwise, disk operations (loading programs) will be way too slow. Fortunately, this isn't the case with any other emulators: you can always keep them in the "throttled", "100% original speed" state without sacrificing disk loading speed.

1.3.2.2 Buttons

Better emulators (on Windows Mobile, PocketCommodore64 only) also let for redefining buttons. This is essential when playing in landscape orientation and you plan to use a hardware button far away from the D-pad to avoid cramped hands & awkward handling. Too bad neither PocketHobbit nor ComeBack64ce support this, which, as has already been pointed out, makes them a bad candidate for playing in Landscape orientation.

Good news for Smartphone users: PocketHobbitSP2003, as opposed to the Pocket PC port, makes use of the "Volume up" button as another, alternate fire button, in addition to the * on the keypad. This will be especially handy on models that have easily accessible volume keys (for example, the HTC Oxygene / s310), as opposed to models with recessed, very-hard-to-press keys (for example, the currently best MS Smartphone, the HTC Vox / s710).

1.3.2.3 Changing orientation

In the default Portrait mode, only part of the entire screen estate is used as the original C64 uses a Landscape 320*200 screen (meaning 8:5 aspect ratio). This not only means suboptimal screen estate utilization (which can be an issue particularly with devices that have smaller, say, 2…2.8" screens), but also image resizing / downscaling issues.

First, some words on how you can switch to the Landscape mode. It's very easy with ComeBack64ce - you just click the screen and it rotates. With PocketHobbit, it’s also pretty easy (click the screen icon (the leftmost one at the bottom) and select either of the Landscape modes from the menu). With PocketHobbitSP2003, you need to press button 4 to do the same.

With PocketCommodore64, it's a bit more complicated: you first need to assign a button to the "Display toggle" functionality and, then, by pressing the just-assigned button, you can iterate through the available screen modes, including the Landscape ones.

To assign "Display toggle", click the Settings icon (http://www.winmobiletech.com/062007C64Emus/PC64SettingsIcon.png) (it's under "Autoload file"); then, click Setup Controls (it's under the two joystick assignment checkboxes in the upper left corner) and, finally, click "Display toggle". Now, press the button you'd like to assign this functionality to (even the screen will do - if you don't want to use the touch screen as the fire button). After this, you can start changing orientations by keeping pressing the just-assigned key (or the touch screen).

1.3.2.4 Using different screen rendition modes; image downscaling issues

It’s not only the orientation that has a direct effect on the screen estate usage, but also whether borders are displayed and whether the emulator is VGA-aware when running on a VGA device.

First, some math. The full size of the original C64 screen, with borders, is 384 * 272 pixels; while, without borders, it’s 320 * 200. As the resolution of the (Windows Mobile) QVGA screen is 320*240 pixels, you can only display the picture (without the mostly useless borders) of the original C64 without having to drop some pixel columns (and, consequently, rows, if you plan to keep the 8:5 aspect ratio) if you use landscape orientation AND you don’t display any borders.

Landscape mode done this way is supported by all free Pocket PC clients: PocketHobbit, ComeBack64ce and PocketCommodore64 running on a QVGA device. These three all completely ignore the borders and only display the active screen area. In general, this is the best approach because, as has already been mentioned, displaying the border would mean an original horizontal resolution higher than the physical (horizontal) resolution of the QVGA screen; that is, some pixel columns (and rows) would be needed to be thrown away. Example screenshots of PocketCommodore64 (again, running on a QVGA device): 1 (http://www.winmobiletech.com/062007C64Emus/PC64QVGALS.bmp.png) 2 (http://www.winmobiletech.com/062007C64Emus/PC64QVGALS2.bmp.png); the latter in the second Landscape mode, without on-screen controls.

PocketCommodore64, when running on a VGA (640 *480) device, behaves differently. As PocketCommodore64 is VGA-aware and it does make advantage of the high resolution of the screen (it’s the only c64 emulator to do so), it is also displaying the borders around the active area so that you can see what the (few) programs (mostly intros and demos) that do use the border do.

Again, as VGA devices have plenty of additional pixels, this doesn’t result in noticeable distortion caused by completely thrown-away pixel rows / columns. Actually, exactly the opposite is happening. That is, because, in VGA mode, PocketCommodore64 needs to stretch 384 columns (and 272 rows) to completely fill in the 640 * 400 (without the on-screen controls, 640 * 480) available screen estate, some pixel rows / columns must be rendered twice. This also means there will be some kind of distortion, but it’s just a bit ugly because of the doubled lines / rows. Column / row doubling is still WAY better than completely throwing away information (that is, not rendering certain pixel columns / rows). The latter results in definite information loss and, in extreme cases (as with downsizing the original 320*200 screen to 176*125 to fit the screen of a low-resolution MS Smartphone in Portrait mode, which means having to drop almost every second rows / columns. The latter results in severely reduced and, at times, plain unreadable text as can be seen for example in THIS screenshot (http://www.winmobiletech.com/062007C64Emus/PocketHobbitSP2003Alpha11Po176.bmp.png)), almost fully unreadable characters.

As opposed to the Landscape mode (where, again, no row / column dropping takes place), in Portrait mode, as you need to force 320 columns in a screen that, physically, has 240 columns only, you already need to throw away every fourth column. If you do stick to the original 8:5 aspect ratio of the C64, then, you also need to drop 50 rows as well, further reducing readability.

As the latter (dropping rows) isn’t really necessary (as there will be a lot of screen estate unused even when you use really big on-screen keyboards / controllers), some emulators don’t necessarily stick to the 8:5 aspect ratio but, instead, render all the original 200 pixel rows. This means they don’t drop a single row, only columns.

In this respect, there are two kinds of emulators. PocketCommodore64 (related screenshot HERE (http://www.winmobiletech.com/062007C64Emus/PC64QVGAPortrait3.bmp.png)) and ComeBack64ce (screenshot HERE (http://www.winmobiletech.com/062007C64Emus/CB64CEPortraitMain.bmp.png)) use the latter, much better and more preferable approach, while PocketHobbit does drop some rows. While the latter “only” drops 30 rows (that is, it doesn’t technically adhere to the 8:5 aspect ratio either), the results (http://www.winmobiletech.com/062007C64Emus/PHobbitPortrait.bmp.png) are still way worse than with the former two emulators (as can be seen in the screenshot, for example the center line of E’s is completely thrown away. Let me point out that characters in the character ROM of the C64, generally, only contain single rows; this is why they can be made unreadable so easily even with moderate pixel row dropping).

In addition to the default mode, in Portrait mode on QVGA devices, PocketCommodore64 is able to iterate over four different screen configurations so that you can find your favorite (most probably, you’ll prefer the default first). On VGA devices, on the other hand, the four Portrait modes are the same; for example, the only way to get completely rid of the (horizontal) borders is to manually configuring the fourth screen mode (the user mode) by passing the coordinates to display should be using the (default) 32,36,352,236 coordinates as is explained in the sixth chapter (Advanced Features) of the official document, under the 10th bullet. This, however doesn’t seem to work on VGA devices – it must be a VGA-related bug.

1.3.2.5 Joysticks

The C64 has two joystick ports. Most single-player C64 games used the joystick in Port 2. However, you may need a joystick in Port 1 with some games / intros. It's worth knowing what the implications are and how joysticks are emulated.

First, the tested emulators vastly differ in what joystick port is, by default, emulated by the D-pad and the fire button. You can find this information in the "What is D-pad (with desktop emulators, cursor block) by default assigned to?" row of the Chart. As can clearly be seen, PocketCommodore64 assigns both of them. This is probably the best approach as you will rarely need to manually reconfigure what joystick port is being emulated. However, it may result in, with some games, funny results; for example, with the well-known two-player classic Wizard of Wor. When played with the default settings, both players are activated; this means if you press Up on the D-pad, both players' sprites will move up. This is not necessarily what you want; therefore, in these cases, you will want to disable one of the two joystick assignments.

PocketHobbit, as opposed to the rest of the emulators, emulates Port 1 by default. Again, this port is used by far fewer games than Port 2 and, therefore, you will often need to switch over to the latter. Fortunately, doing this is very easy: just click the joystick icon on the main emulation screen and select Joystick 2 in the menu.

Both ComeBack64ce and PocketHobbitSP2003 emulate Port 2 by default; with the latter, you can swap between the two with the phonepad button 5.

Still speaking of the ability to emulate both joysticks at the same time, in the "Can D-pad (on desktop: cursor block) be assigned to both joysticks at the same time to reduce time in finding out how you can go on with a given game / cracker intro? " row, I've explained whether this is doable. As can be seen, only PocketCommodore64 and PocketHobbit are capable of this.

I also listed whether a given emulator supports rapid- and autofire. Unfortunately, only PocketCommodore64 is capable of doing this. You can enable these separately with the lowermost four checkboxes in the Settings / Setup Controls dialog.

Let me quickly explain the difference between the two modes. Rapid fire is only activated when and while you do press the fire button (or the screen, if the fire functionality is assigned to the screen). Auto fire is, on the other hand, always active, no matter whether you press the fire button or not. It's game dependent which one you want to prefer; with shoot'em ups like Katakis where you will always want fire, you'll want to prefer autofire; with games like Wizard of Wor, where autofire greatly slows down the movement when firing at a wall nearby, rapid fire only, if at all.

Finally, I've also elaborated on whether the buttons (most importantly, the fire button - after all, I don't think you will want to use something different than the D-pad to emulate the four (eight) directions of the joystick) of the joystick can be reassigned. As can clearly be seen, only PocketCommodore64, the best C64 emulator allows for this - the other don't. I've also listed the default fire button for all the emulators; as can clearly be seen, PocketHobbit's approach (Button 1 + 3/4) is clearly the worst, while that (the volume up, on the upper left side of the phone, can also be used as a fire button, which is the best solution for landscape playing) of PocketHobbitSP2003 is pretty good, even if you can't actively redefine buttons.

2. Windows Mobile Professional / Classic (Pocket PC) emulators

2. 1. PocketCommodore64 (http://www.clickgamer.com/moreinfo.htm?pid=4&section=PPC) (current version: v2.52)

Without doubt the best, most featureful & compatible C64 emulator is the commercial PocketCommodore64. It has (almost) all the best and whistles a gamer would ever need; for example, touch screen used as fire button, freely redefinable control keys (including fire), rapid and auto fire, a plethora of different screen modes (including total screen off for simple music playback), stereo (!) sound, support for both NTSC and PAL modes, support for VGA Pocket PC's etc.

http://www.winmobiletech.com/062007C64Emus/PC64VGAPortraitMain.bmp.png

It's way better than any other C64 emulator on Windows Mobile and has a very high compatibility rate with games.

It’s constantly improved; the developers are already working on the new, even more compatible and advanced 3.x series. It’s still not known when it’s released; now, there already are internal alpha test builds.

Unfortunately, currently PocketCommodore64 has no MS Smartphone-compatible versions. Some time in the past, there was a beta for low-res Smartphones, but it was never released outside of a few beta testers. The screen limitation was the biggest hurdle, but the poor CPU performance and system interruptions were also factors in not releasing it. As most issues should be negated in the newest Smartphones (particularly now that QVGA models, like the HTC Vox / S710, are becoming more and more common), hope there will also be a Smartphone version too – even as early as the forthcoming 3.0 version.

The only problem with the emulator (in addition to the high CPU usage) is the lack of multiplayer capabilities, which, on the desktop CCS64, is already implemented. Bluetooth local multiplayer was originally promised, but the limitations, that is, the packet speed problems, forced it to be dropped on initial release. Now, it exists only as an Easter egg, but I don’t know how it can be activated (I’ve tried to click everywhere in the GUI to find “hidden” icons / buttons).

Unfortunately, the above-mentioned Bluetooth multiplayer incompatibility, during betatests of multiplayer-enabled PocketCommodore64 versions, was not a question of transmission rate. This means for example Enhanced Data Rate (EDR) Bluetooth, as opposed to earlier non-EDR versions, won’t help. It seems to be an issue of interval between Tx packets supported by the hardware and operating systems. Only emulation, not typical games, would be affected by this limitation, which is why there are commercial games with this feature, but few emulators. The developer has, however, promised to look into the possible solutions again for version 3.0.

A review (http://www.technobrains.com/reviews/pocketc64.htm); another one at AximSite (http://www.aximsite.com/boards/emulator-forum/31534-pocket-c64-review.html); AximSite thread (http://www.aximsite.com/boards/emulator-forum/3584-pocket-c64-commodore-64-emulator-pocket-pc.html).

In the previous sections, I’ve already compared the capabilities & features of this emulator to the other (free) C64 emulators; in here, I won’t go on with this. Also consult the Chart for more comparative info.

Note that the emulator has a pretty extensive manual (http://www.clickgamer.com/files/PocketCommodore64Manual.pdf). It's pretty much usable and up-to-date. Note that it refers to a slightly older, 2.0 version and some things have changed in the meantime; most importantly, there is no longer a separate "accurate timing" version.

2.2 PocketHobbit (http://www.nibbleandbit.net/PocketHobbit/) 1.0

This free emulator, based on well-known multiplatform C64 emulator Frodo (http://frodo.cebix.net/) is a typical example of “you get what you pay for”. While it has some advantages (for example, the much lower CPU usage, the somewhat better scene demo compliance and, of course, the transparent keyboard in Landscape mode also visible in the screenshot below - see n0p’s excellent DOSBox port (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=1969&more=1&c=1&tb=1&pb=1) for something similar) over PocketCommodore64, in general, it’s way worse. It’s slower (at the same clock speed / frameskip settings), not VGA-aware (which will especially be a problem in Portrait mode, where it, unlike the two other C64 emulators, doesn’t “cheat” using 200 rows – see the example screenshots in the Chart demonstrating this), it doesn’t allow for joystick fire button reassignment etc.

http://www.winmobiletech.com/062007C64Emus/HobbitCrestDemoMain.bmp.png

All in all, it’s, while having certain strengths, a mediocre title. You should only check it out if you are absolutely sure you can’t purchase PocketCommodore64 and/or need to watch some demos, which might be more compatible with this title and/or absolutely need a title that doesn't force you to underclock your Pocket PC to save battery life.

2.3 ComeBack64ce (http://emupage.pocketgamer.org/Downloads/Computer/Commodore/Commodore_64/ComeBack64ce/CB64ce_PocketPC_ARM_0.5Alpha.rar) 0.5

(note that zimmers.net only has an even older 1999 version HERE (ftp://ftp.zimmers.net/pub/cbm/crossplatform/emulators/cb64/); THIS (http://www.zophar.net/ppc/c64.html) page too has an outdated version)

This is the worst c64 emulator for Windows Mobile. It’s really lacking features and the compatibility issues (it’s not at all compatible with VGA devices and, what is more, it’s also completely lacking WM5+ support) are a showstopper for many current Windows Mobile users.

http://www.winmobiletech.com/062007C64Emus/CB64CESetOptions.bmp.png

The worst limitation, in addition to the inability to run on WM5+ and/or VGA devices, is the lack of floppy emulation. Therefore, if, for some reason, you still want to use it, you need to know how you can extract individual .PRG (executable program) files from a d64 disk image. Get D64 Editor; that is, THIS (http://almighty.c64.org/d64editor/d64setup.zip) file (also linked from HERE (http://www.lemon64.com/forum/viewtopic.php?p=6248)), unzip it, and start setup\SETUP.EXE. After installing, start it (ignore the font error messages), drag a d64 image on it, select the program to export, right click it and select File Export (http://www.winmobiletech.com/062007C64Emus/d64editor-fileexport.bmp.png). Select a target directory; the file will be exported as an <originalfilename>.PRG file, which can already be read by ComeBack64ce.

Probably the only plus of this emulator is the clever Portrait mode: it, by not sticking to the 8:5 aspect ratio but displaying all the default 200 rows (as opposed to 150), avoids having to drop 50 horizontal pixel lines and, this way, presents a much better rendition in Portrait mode than the other free emulator, PocketHobbit. Otherwise, it’s clearly worse than even PocketHobbit, let alone PocketCommodore64.

3. Windows Mobile Standard (MS Smartphone) emulators

Unfortunately, none of the Pocket PC emulators can be hacked into Smartphone. See the “MS Smartphone compliance?” row in the Chart for more info on my hacking attempts.

There is only one native C64 emulator for the MS Smartphone, PocketHobbitSP2003. Fortunately, it’s pretty nice.

3.1 PocketHobbitSP2003 (http://www.christian-schlatter.de/) Alpha 11

This emulator works flawlessly on both low(er)-end, 176*220 Smartphones and high(er)-end QVGA ones. Note that if you plan to use the latter, you will need to “hack” the main executable of the emulator as described in HERE (http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2022&more=1&c=1&tb=1&pb=1). Should you be afraid of this, I’ve made the hacked, high-resolution emulator HERE (http://www.winmobiletech.com/sekalaiset/PHSP2003Alpha11E-QVGA.zip). That is, if you have a QVGA Portrait device like the HTC Vox, get THIS (http://www.winmobiletech.com/sekalaiset/PHSP2003Alpha11E-QVGA.zip) instead of the official version.

http://www.winmobiletech.com/062007C64Emus/SPTextInputDialog.bmp.png

If you’ve used to the Pocket PC version, you’ll find the usage of this emulator a bit strange at first. Fortunately, after a bit getting used to, it will turn out to be REALLY easy-to-use. If you are unsure about getting started with loading programs off D64 / T64 files, just make sure you read my mini-tutorial in section “1.3.1 Loading programs into the emulators”.

It runs pretty well even on low-end, “slow”, 201 MHz TI OMAP-based Smartphones. I’ve tested it on the 176*220 HTC Oxygen / s310 and the QVGA HTC Vox / s710 (with the hacked QVGA version on the latter). Worked flawlessly; highly recommended.

4. Desktop emus

Finally, I’ve also included two desktop C64 emulators in the Chart so that you can see what the differences are between Windows Mobile and desktop emulators. I also provide some tangible information on the compatibility rate of these emulators, should you want to get the most compatible emulator for your desktop Windows computer.

Note that there are (were) several other emulator projects; for example, JaC64 (http://www.jac64.com/) 1.0 (a brand new, 1.0 version of this Java-based emulator has just been released); Frodo (http://frodo.cebix.net/) 4.1b (download HERE (ftp://ftp.zimmers.net/pub/cbm/crossplatform/emulators/) and NOT at the original link!), Comeback64 b4 (no longer existing at the original page (http://www.cb64.com/); desktop Windows version HERE (ftp://ftp.zimmers.net/pub/cbm/crossplatform/emulators/cb64/comeback64_win32_cb64w_beta4.zip)); Hoxs64 (http://www.btinternet.com/~hoxs64/) v1.0.4.22 (a new, actively developed project with a current, 7 June 2007 version), Miha Peternel’s long-abandoned C64S (http://www.phs-edv.de/c64s/miha/mihahp.htm) and, finally, ED64 (http://ed64.eldendo.be/), a Pascal-based “toy” emulator.

4.1 CCS64 (http://www.computerbrains.com/ccs64/) 3.2

This commercial emulator is no doubt the BEST emulator, compatibility-wise. It is not only able to run many new, high quality C64 demos, but also a lot of other, otherwise “problematic” titles (for example, the Blast! loader) the other desktop C64 emulator, VICE, isn’t capable of running.

http://www.winmobiletech.com/062007C64Emus/ccs64Samekeyset.bmp.png

What is more, the 3.x series even supports Internet multiplay, of which I’ve also made some screenshots (of the client joining a game 1 (http://www.winmobiletech.com/062007C64Emus/MultiplayerClient1.bmp.png) 2 (http://www.winmobiletech.com/062007C64Emus/MultiplayerClient2.bmp.png)). Of the multiplayer mode, should you be interested in playing, for example, Archon (http://en.wikipedia.org/wiki/Archon:_The_Light_and_the_Dark), Archon II (Adept) (http://en.wikipedia.org/wiki/Archon_II:_Adept), International Karate or Wizard of Wor (http://en.wikipedia.org/wiki/Wizard_of_Wor) through the Internet, there are some additional tutorials and forums; for example, this German language, OLD (beta-stage) tutorial (http://c64.deltaforceteam.de/anzeigen.php?id=0) and this official CCS64 subforum (http://www.computerbrains.com/ccs64/forum/viewforum.php?f=14).

4.2 VICE (http://www.viceteam.org/) 1.21

This emulator is the most known, free C64 emulator, boasting several ports.

While it does have its advantages (most importantly, being free and having considerably less CPU usage than CCS64), it’s clearly less compatible. This means you shouldn’t use it as the first alternative to watch demos – use CCS64 for the latter. The same stands for “tricky” stuff VICE is unable to run, while CSS64 still is.

5. The comparison & feature chart

It’s HERE (http://www.winmobiletech.com/062007C64Emus/chart.html). DO CLICK THE LINK!

As I’ve already explained most of the rows and tests I’ve elaborated on in the chart, I don’t think further explanation is necessary.

It’s very important that you thoroughly scrutinize the chart and do check out the screenshots – they really make my point much straighter. Needless to say, as with all my other comparison / feature charts, there are a lot of mini-tutorials & additional explanations & tips in there. You DO lose a LOT if you don’t spend at least some minutes scrutinizing it.

Note that with some games (for example, Impossible Mission and Guild of Thieves), I’ve tested more than one versions (“cracks”) to find out which versions are playable. You may also want to look for cracker notes / nicks in either the directory list of the disk or the cracker intro starting the game to safely identify the given version, should you run into a non-working title.

Also, I’ve tested the ten most popular C64 demos, mostly to find out what demos can be run under Windows Mobile. As can clearly be seen, most demos just won’t work – the one that did start under PocketCommodore64 did crash later. In this regard, PocketHobbit behaved a bit better. This, however, doesn’t mean PocketCommodore64 is bad, not in the least – demos are VERY hard to correctly emulate. No wonder not even the best desktop emulator, CSS64 can’t run some of them. Needless to say, VICE is considerably worse in this respect than CSS64.

Menneisyys
06-12-2008, 09:40 AM
version 3.0 of PocketCommodore64 has just been released. It's REALLY cool and HIGHLY recommended for both PPC and Smartphone users. See my complete review at http://forums.thoughtsmedia.com/f83/review-pocket-commodore-64-vic-20-3-0-released-multiplayer-vastly-improved-core-89494.html