The Guide to Emulating NeoGeo and CPS: A must if you’re into quality and FREE arcade games!

You may have already heard of NeoGeo and the Capcom Play Systems They’re excellent 2D arcade consoles – much better than most other 2D ones. Some of the titles released for these consoles are still much better than anything comparable on Windows Mobile. Therefore, if you’re into platformer or fighter games, you MUST check out the emulators running them.

(Speaking of the the Capcom Play System, it's abbreviated as CPS and should not to be mistaken for Capcom CPS Changer. There have been three major revision of them, CPS-1, CPS-2 and CPS-3 . The latter doesn’t have many games and isn’t supported on Windows Mobile).

Up until recently, it has been pretty impossible to emulate these platforms under Windows Mobile (WM for short). If you read the only related (and highly outdated) article at, dated back to 2003, you’ll see emulating NeoGeo was pretty much impossible then – all you could do is running NeoGeo Pocket Color games, which, being made for a not very powerful handheld platform, aren’t as sophisticated as desktop NeoGeo titles and should, therefore, not be preferred over the desktop versions. (Let alone their emulators being pretty outdated and incapable; for example, NeoPocott v0.38b R1 (also see THIS) hasn’t received any update for over six years!)

Pretty recently, well-known Windows Mobile coder Masterall has released the WM port of FinalBurn Alpha, the first emulator for WM that does deliver excellent emulation capabilities and SUPERIOR speed. And it’s free – as with the ROM images themselves. Finally, in addition to emulating NeoGeo and CPS-1/2, it’s also capable of running Toaplan and Cave games.

Masterall also has some other ports he can be VERY proud of. Picodrive, for example, is the best Genesis (Sega Mega Drive) emulator I've ever seen (I’ll elaborate on Genesis emulation in a later article). He’s also the author of pocketGBAdvance, a GBA emulator, of which he’s promising a usable version very soon.

All in all, he’s pretty much comparable to the other “big†names of emulator porters like n0p (Genesis Plus/Pocket PC, PocketSNES, DOSBox and Stratagus), PocketInsanity (PocketUAE) or (PocketGBA).

In addition to the related article being completely outdated, I’ve decided to write an all-in-one guide on these questions because the related information currently available is very hard to digest for a non-professional Windows Mobile geek. Hope this guide will help a LOT.

Why do I recommend this emulator and these games? Why should you bother?


  1. the emulator runs just GREAT on most current hardware, even with sound
  2. even the most CPU-intensive games run OK (with enabled sound!) on the (for gaming) best, fastest current handhelds (Dell Axim x51v, for example)
  3. the games are available for free
  4. many of the games are MUCH better than anything else (comparable, in the same genre) on Windows Mobile. Very few native Windows Mobile games (for example SKY FORCE Reloaded is the only comparable title, as far as, say, 1942 clones are concerned)
  5. if you do follow this guide, you can run these games REALLY easily - I've tried to explain it really clearly how the emulator must be configured, where to download games from, what games to get and so on

Difference between NeoGeo and the two CPS versions

Unfortunately, the NeoGeo emulation (as of the recent, 0.008 build is concerned) is certainly less featureful than that of emulating CPS games. Therefore, you will always want to check out whether a particular title is available as a CPS game and if and only if it isn’t switch to the NeoGeo version. Note that the developer has been promising fixing these problems very soon.

The problems with the NeoGeo emulation are as follows:

  1. with NeoGeo games, it’s not possible to save / load game states, unlike with CPS games. This is a big problem if you would like to continue your game after exiting FinalBurn
  2. auto fire doesn’t work with them either (while it worked with all CPS games I’ve tested)

Getting, installing

Get the latest version in the first post of the the official FinalBurn thread at Modaco – it’ll always have the latest version (you will need to register your nick in there).

That there are four RAR files there. One is named FinalBurn.rar. This is the WM executable. The other three contain the desktop Windows version of the emulator, are named fbauds.part01.rar … fbauds.part03.rar and should only be got if you will need to create cache files of the titles you’d like to play. Use WinRAR.

Note that the latter emulator does differ from the official desktop Windows version of FinalBurn Alpha downloadable here. The latter is far newer (and is, therefore, preferred to the version available at Modaco) but doesn’t support creating cache files. That is, do download the fbauds.partX.rar’s too. (And, again, you may also want to download the official desktop Windows version of FinalBurn Alpha here, should you want to play the titles on your desktop computer.)

To play NeoGeo games in the emulator, you will also need to acquire the ROM BIOS file, (you won’t need to do this if you ONLY want to play CPS games!). This ZIP is different for the desktop Windows version (downloadable here; also see THIS) and for the WM version (accessible here). Put the ZIP file (do NOT decompress it!) in the ROMs subdirectory of FileBurn (with the desktop version, you can also put it in the home directory where the main executable EXE file resides – it’ll find it. The WM version won’t), which is auto-created upon the first execution of the emulator (see later).

Finally, for the desktop version, you will also need kailleraclient.dll. It’s for example available in the official desktop FinalBurn Alpha distribution - just download the ZIP file and it’ll be right in it. You won’t even need to start the main executable, fba.exe. Or, alternatively, get it HERE as a separate download. Again, this only applies to the desktop version – with the WM version, all you will need to do is getting and copying it to the ROMs directory. Note that you may also need to download and install the free DirectX 9.

Game ROM’s you download must be put under the ROMs dir as ZIP files (that is, you don’t need to decompress them). This directory will be automatically created when you start the executable on both the desktop (fba.exe with the official FinalBurn version, fbaud.exe with the cache-generating debug version) and mobile (FinalBurn.exe) Windows.

Getting games (ROM images)

Probably the best ROM source is, where you can download a lot of games from. The games there are all in a format compatible with the emulator. Note that this doesn’t necessarily mean ALL the available titles are indeed compatible: it’s only with CPS games that they are. There are still a lot of NeoGeo games that are just plain incompatible (and aren’t even listed by FinalBurn as compatible). Nevertheless, the ones that are recognized are, in general, really worth playing.

CPS-1 ROMs should be here (but seems to be empty now); CPS2 here. Finally, NeoGeo ROM’s are here.

Keep in mind the following while downloading files from

  1. you can only download one ROM image at a time., in addition to checking the same browser instance, also check for the same IP. That is, you can’t fool the server into thinking it’s serving another completely independent user when you leech images from IE and Firefox at the same time.
  2. don’t use Internet Explorer to download images because it’ll very often time out. Prefer Firefox (Mozilla) – it has never timed out on me, as opposed to (the latest version of) Internet Explorer.

There are a LOT of very cool games in there; games that are MUCH better than most (or, with horizontal scrollers, ANY) comparable, native titles on Windows Mobile. There is nothing on Windows Mobile comparable to, say, Metal Slug. Yes, FirePower-onrush uses a lot of textures / graphics from Metal Slug (see Sponge’s comments HERE, after my review, for more info on this) but is still WAY worse.

I’ve also tested many titles under the emulator, in the next subsection, I list and elaborate on them.

NeoGeo titles, links & compatibility reports

Captain Tomaday: works great (kids’ vertical scroller)
Ghost Pilots: great, even at 44 kHz (let alone 8!) (vertical scroller)
NAM – 1975: Operation Wolf clone: works great, even at 44 kHz, highly recommended if you like
Metal Slug 2: One of the BEST! A MUST!
Metal Slug 3 : in order to run this title on anything with less than 128M RAM, you will also need to download the non-encrypted version in addition to the default one. Make sure you run the latter on devices with free RAM less than 40 Mbytes.
Metal Slug X: Great game, working also great
Samurai Shodown: works great, even at 44 kHz
King of the Monsters: OK, even at 44k

A list of, as of the current version, some non-recognized games:

Metal Slug 1
The Last Blade
Blazing Star
Metal Slug 4

(both versions of PocketCultMAME recognize them but can’t run. The desktop MAME runs them all. The desktop FinalBurn Alpha doesn't.)

As of now, it’s pretty futile to try to download these games. The situation may change in the future, though: FinalBurn Alpha is constantly been updated to support as many NeoGeo games as possible.

CPS-2 titles, links & compatibility reports

1944: a really good 1942 clone! A must have!
19xx: another excellent 1942 clone, works great even at 44kHz! Another must have!
Alien vs Predator: fighting, not that good IMHO
Armored Warriors : not very good either
Battle Circuit: side scroller, not very interesting
Dimahoo: too, another good 1942 clone (not as good as 1944 / 19xx though)
Eco Fighters: side scroller, not very interesting; you still might want to give it a try
Night Warriors: typical Street Fighter clone

All these games run flawlessly, mostly with 44 kHz sound, on the x51v – and even on the HTC Wizard (with, particularly with 19xx, 8 kHz sound). The 520 MHz WM5 VGA HTC Universal is pretty bad (very slow) for emulation, so is the 624 MHz WM5 (2.01) VGA HP iPAQ hx4700 (which is only a tad better and DOES require and external BT game pad because of the completely gaming-unfriendly touchpad). The WM2003SE VGA Fujitsu-Siemens Pocket Loox 720 is acceptable (but, of course, visibly / audibly worse than the x51v), so is the WM2003 QVGA HP iPAQ 2210.

Also note that FinalBurn Alpha supports (almost) all CPS games, unlike with the case of NeoGeo.

Using the emulator I – starting games

The desktop and the WM versions of the emulator are, fortunately, pretty similar. This means if you learn how, for example, the ROM selection screen works, what the main directories of the emulator are etc. in the desktop version, you will also be able to utilize this knowledge under WM.

Starting the emulator is pretty easy: just start the main executable file (after decompressing it anywhere (under Windows Mobile, preferably to a memory card because it’ll look for the ROM images in a subdirectory) and, with the debug desktop version, also adding kailleraclient.dll): fba.exe with the official desktop FinalBurn version, fbaud.exe with the cache-generating debug desktop version and FinalBurn.exe on the Pocket PC.

When first run, the executable file will also create the necessary directory structure, including the ROMs subdirectory. You can start putting your ROM games in there (and, of course, containing the NeoGeo BIOS if you do want to play NeoGeo games). Under WM, you’ll be presented the following screen:

Here, go to File / Load Rom. It’ll present a long list of all games compatible with FinalBurn. You don’t necessarily want to see this list but only the accessible AND compatible games; therefore, you will need to tick in the “Show Only Available†checkbox at the top. Now, the listing will become far more manageable as it will only list the games that you can run:

By single-clicking an item in here, the emulator starts it after creating a so-called ‘cache file’ as can be seen in here.

Creating cache files can be a real nuisance. If you do this on your handheld, it may take quite a time (1-2 minutes at most; if it takes more time, you can be pretty sure your handheld has crashed and needs to be reset). Furthermore, with ZIP files exceeding 50-60 Mbytes (for example, the excellent platformer Metal Slug 3, which is a whopping 79Mbytes), all your dynamic RAM memory (independent of the available free memory on your storage card or internal storage) will be all quietly consumed and the handheld will either crash (as is pretty common with WM5+ in these cases) or just display it has run out of memory (with WM2003(SE)).

Therefore, if you do encounter such situations, you will want to create the cache images on the desktop Windows, using the above-introduced debug cache-creator version of FinalBurn Alpha. To do this, just start fbaud.exe (after copying and the ROM image ZIP of the to-be-converted game to the ROMs subdirectory), go to Game / Load Game (F6), select the game you’d like to convert (screenshot here; I’ve also made sure to hide non-available titles by ticking in “Show Available Only†(see the mouse cursor) and click OK. The cache file will be created and named exactly the same as with the ROM ZIP file name – with the extension “cacheâ€. That is, for example, if you create a cache file of the unencrypted Metal Slug 3 (, the related cache file will be named mslug3n.cache. It’ll be put in the “cache†subdirectory of the desktop emulator. Make sure you copy this file to the memory card, in the same ‘cache’ directory. It’s also here that other cache files are stored.

By the way, don’t forget to delete partially created cache files from this directory (that is, files that weren’t finished because of the dynamic RAM memory or the storage card getting full). Messed up cache files are the main reason for messed-up graphics in the emulator.

Now, after having created the cache file, the game will start. You will, however, need to do some additional configuration to be actually able to play games. This will be needed to done only once – fortunately, the configuration options you make will be stored in the cfg directory. BTW, these files are all human-readable and editable; they contain the game-specific button settings. That is, the ones you’ll always need to set up.

The first step in making the games playable, after loading them, is setting up the hardware buttons.

Using the emulator II – setting up the buttons

After you’ve loaded a ROM image (and clicked the screen so that the execution stops and the menu is displayed), you must go to Options / Keys. It’s there that you must assign hardware buttons to functionality.

Doing this is pretty simple: you click an on-screen button and, then, press the hardware button you’d like it to be assigned to. For example, click the Coin and, after this, click a button you’d like to use to simulate feeding money into the arcade machine (the first step in starting a game; after this, you’ll also need to press the Start button). You will also need to assign the A, B, C and, with NeoGeo, D hardware buttons too. (These will have different functionality: for example, in Metal Slug, firing, jumping and throwing a grenade. Button D isn’t used.) Note that the emulator also supports WM5 hardware soft keys as can also be seen in the screenshot below (C and D buttons). If your mobile has a built-in keyboard, you can also use most (not only alphanumeric) keys on it.

You will also need to set up the D-pad directions; always treat the D-pad in Portrait mode, even if the game itself is in Landscape.

You can also tick in the “Enable Auto-Fire†checkbox if you want auto fire; remember, however, that it, currently, only works with CPS games, NOT with NeoGeo ones, unfortunately.

A typical screenshot of setting up the hardware buttons is as follows:

Finally, keep in mind that you can only set up the buttons for Player 1 in here. Should you also want to set up the Player 2 buttons, you will need to edit the game configuration file in the cfg subdirectory.

Using the emulator III – setting up the on-screen keys

If you have a mobile device with a touch screen (that is, not a plain MS Smartphone / WM6 Standard model) AND your device isn’t a 2.8†HTC model (HTC Wizard, Trinity etc.), you will also find on-screen buttons REALLY useful.

In Options / Screenpad, you WILL want to tick in “Enable Screen Keypadâ€.

I recommend staying with Mode 1 (emulating fire buttons on the screen) – Mode 2 emulates the D-pad in there. Click OK.

Note that

  1. these settings are NOT game-specific (unlike assigning buttons); you’ll only need to set it once; preferably right after the first execution of the emulator.
  2. as has been pointed out, you won’t necessarily want to use on-screen buttons on HTC’s new WM5+ devices having the standard 2.8†QVGA screens. These devices, unfortunately, all exhibit a VERY bad digitizer bug explained for example HERE. This means if you constantly tap and hold the screen (for example, to activate auto fire with CPS games), the CPU will need to spend a lot of time on serving this and the emulation speed will drop considerably, which will be very annoying particularly if you enable sounds. That is, if you do need auto fire, then, use a hardware button instead of the screen with these models.

Using the emulator IV – setting up the sound

Finally, particularly on slower models or with CPU-intensive games like all parts of Metal Slug, you will want to make sure the sampling rate is either set to the minimal 8 kHz or the sound is completely disabled.

Go to Options / Sound and set the sampling rate accordingly. If the sound is unbearable even at the minimal, lowest-quality 8 kHz, disable it completely. Otherwise, with non-CPU-intensive games and/or on, for gaming, very fast handhelds (like the Dell Axim x51v), you will want to turn it up to 22 or even 44 kHz as can be seen in here.

Note that you’ll need to reload the actual ROM image for these changes to be heard.

Fortunately, most games will work with enabled sound even on slow(er) models like the HTC Wizard (overclocked to 260/273 MHz). You will only encounter sound choppiness with very few titles; most importantly, with Metal Slugs, which do have a choppy sound even at the lowest-quality (8 kHz) setting on even the Dell Axim x51v running at 624 MHz.

Using the emulator V – setting up the orientation

If the game you’d like to play uses Landscape (only few titles like, for example, 19xx, use Portrait), you’ll want to know the emulator uses Landscape Right by default. If you’re right-handed (and, therefore, want the D-pad on the left of the screen), you’ll want to switch this to “Landscape Left†in Options / Display.

Using the emulator VI – resuming the game; suspension concerns

Now that you’ve set up everything, you can run the game. If it’s NOT a NeoGeo game, you can save / load the state any time you want, using any file name (that is, you can have any number of states for any games).

Note that the emulator is prone to crash if you suspend (and, then, resume) a game while it’s running off a storage card. To combat this problem, you will ALWAYS want to pause the game first and only then suspend the machine and only resume the game 3-4 seconds after powering up the handheld again. During these 3-4 seconds, the handheld will have sufficient time to recreate the storage card file handles.

This helped me a lot. If you, however, still encounter crashes after this (which can be a REAL pain in the back, particularly if you’re well into a game like Metal Slugs and don’t want to replay the first few maps), copy the entire directory structure to the main storage, where storage card handle invalidation isn’t a problem.

As both ROM images and, particularly, cache files can take up pretty much memory, the latter is really only usable on devices with 256+ Mbyte built-in storage (like the Dell Axim x51v). Most current devices with 128M built-in Flash ROM can only have few (if any) games in the main storage.

Note that you can pause the game by tapping the screen. If you have enabled on-screen buttons, in an inactive area; if you haven’t, anywhere.

Saving / restoring game state

You can also save / restore the game state (after you’ve loaded the particular ROM).

As the emulator uses the standard operating system-level file access dialog, it’ll

  1. list all the files under My Documents, the root of storage card(s) and one subdirectory under them
  2. only lets for saving to these locations.

In the official FinalBurn thread at Modaco many people recommend Tillanosoft’s tGetFile to fix this problem. I don’t, because it’s a commercial application. Use Mad Programmer’s free (!) File Dialog Changer instead. Its installation is explained in HERE.

Note that, again, this only works with CPS games, NOT NeoGeo ones! This may change in the near future.

What about MAME ports, you may ask

You must have heard of MAME, the well-known emulator project, of which PocketCultMAME is probably the best port (also see this PG thread), also offering a lot of features (feature-wise, it’s excellent).

While, on a sufficiently fast desktop computer, the NeoGeo emulation of MAME isn’t worse than that of FinalBurn, under Windows Mobile, the situation is completely different.

Unlike with the desktop MAME (which can be pretty hard for a newbie to use without a front-end), the Windows Mobile port, PocketCultMAME is pretty easy to use. After decompressing the distribution file (and, with the 0.5 preview, also overwriting one of the EXE files with the separately downloadable NeoGeo update), copying your ROM ZIP’s to the ROMs subdirectory and starting PCMAME.exe (with 0.5, PocketCultMAME.exe), it lists the available titles.

Too bad its NeoGeo compatibility is really bad. For example, the latest version, 0.5WIP (with, of course, the NeoGeo update patch) couldn’t run any of the NeoGeo games I’ve thrown it at (without converting them to another format). It’s only the NAM-1975 title screen that it gets to – but, after you insert the virtual coin and start the game, it exits, as with all the other tested titles. The old version, 0.4a, is similarly incompatible.

In the Modaco thread, some people have also reported being able to run Golden Axe under PocketCultMAME. However, the speed was clearly inferior to that of FinalBurn Alpha – that is, it’s just not worth the effort.

That is, for the time being, you will want to forget (current) MAME ports entirely – if you need NeoGeo or CPS games under Windows Mobile, the only way to go is FinalBurn Alpha. The only real utility of it is the broader compatibility of the desktop MAME with existing NeoGeo titles – for example, it was able to play Metal Slug 1, unlike with (both the desktop and the mobile version of) FinalBurn Alpha. I’ll report on updates / enhancements / optimizations to PocketCultMAME. In the meantime, stick with FinalBurn Alpha on your Windows Mobile handheld.

Syndicate content