After a good year in development:

HAPPY NEW YEAR: XMAME v1.0 for GCW-Zero!

It wasn't quite ready for before Christmas but at least it made a 2014 release (only just).
There's certainly more work in all the little details than what you may think!



XMAME v1.0 splash screen


Konami's Xexex running on XMAME v1.0 (Mame 0.69)


Taito's Chase HQ running on XMAME v1.0 (Mame 0.69)


Original Releases
Download XMAME v1.0 for GCW-Zero executable
Download XMAME snapshot preview images
Download XMAME v1.0 for GCW-Zero source (for compiling)

Discuss the XMAME v1.2 release

Updated Releases
Download XMAME v1.2 for GCW-Zero executable
(fixes to taito_f3 and system32 games)

What is XMAME v1.2?

XMAME is a UNIX version of MAME optimized for the GCW-Zero handheld.
The main goal of XMAME is to provide an updated version (actually versions) of MAME which was something other than the ubiquitous MAME4ALL.

Why?

  • New games. 1000s of new games.
  • Updates for existing games. ie. adding sound where previously missing and new graphical effects.
  • Save state support for some games. Disclaimer: Some games, certainly not all!
  • Better frontend launcher.

As many MAME users have already noted, later versions do tend to get slower. This is true to a degree, and confirmed by MAME developer Aaron Giles, see his post.

XMAME v1.2 for GCW-Zero supports three versions:

MAME 0.37b16, 0.69 and 0.84.

Take careful note of those versions and understand that optimally you will need three sets of ROMs to play all the games that this release supports.

The good news is that you won't really need three sets.


Three versions of MAME?

Correct, the frontend not only lets you choose the game but also which version of MAME to run. There are also other frontend improvements including being able to filter the ROM lists, create favourites and snapshot image support.

So will I really need all those ROM sets?

Well of course not - unless you plan to try every single game. If you are, please contact me so perhaps you could do some testing for me

The versions of MAME chosen were not random, many hours went into researching which versions would be best.

The final list of versions are a nice mix of earlier releases, with MAME 0.84 providing a large number of playable games. MAME 0.84 happens to be the same version that MAMEOX - MAME for the Xbox - was based on.


Basic Installation

Copy the xmame_1.2.opk installer to your apps folder, either internal storage or external SD card.

XMAME v1.2 can be installed to the GCW-Zero's internal 16GB storage or on an external SD card.

Once the installer has started you can choose the destination - either internal or external storage.

If you want to install to the external SD card but there is no option to do so from the installer, exit the installer, and try running the "reboot" icon under "settings" in Gmenu2X. Then try running the installer again. For some reason the GCW-Zero doesn't always mount the SD card successfully first time around.

Once the destination has been selected, wait a minute or two. When finished you will have a new icon under the emulators section called XMAME v1.2.

The installer can be deleted now as it is no longer required.

Important: Before you run XMAME, you will need to copy some ROMS into each of the "roms" directories for each version of XMAME installed.


Advanced Installation

Once the basic installation is complete, you can optionally make you own adjustments.
This may include:

  • Using symlinks to share ROM folders just like the "snap" directory in the basic install.
    By default the install sets up three separate "roms" directories one for each version but as an alternative, you could use a single "roms" directory and use symlinks to share this directory between all versions of XMAME.

If you run into trouble, delete what you've done and follow the Basic Installation again.




How does the XMAME frontend and main executables work?

The XMAME frontend checks to see which versions of XMAME are installed. The directory structure should be as per the basic install for the frontend to function correctly
ie. /xmame/xmame69/xmame.SDL.69
The new frontend allows the user to switch versions of XMAME and select a game. The new frontend then sets the XMAMEROOT environment variable (see below) and starts the selected XMAME with the parameters chosen by the user.
The XMAME executables don't explicitly need the frontend, and can be run from a shell. Indeed during development this is the best and quickest way to test games.
Each of the main XMAME executables searches for directories ie. "roms" or "snap" in a directory defined by the XMAMEROOT environment variable. If this variable is not defined it is defined when starting XMAME as the current directory where the XMAME executable resides.


Credits (in no particular order)


  • The MAME developers.
  • The GCC developers.
  • Franxis for the original MAME for the GP32 and later MAME4ALL.
  • d_smagin for the cywin version of the GCW-Zero toolchain.
  • sparkymark79 for pestering me
  • hi-ban for testing and updated icons.
  • Justin for a GCW-Zero.
  • notaz for Cyclone and Pandora's SDL (yes, there is a Pandora version coming)
  • http://www.slaanesh.net/2014/12/xmam...-gcw-zero.html