Wednesday, December 31, 2014

XMAME v1.0 for GCW-Zero

After a good year in development:


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!

(Latest version is v1.3)

XMAME v1.3 splash screen

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

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

What is XMAME?

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.

  • 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.3 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.

XMAME v1.3 updates

* Added 32-bit color mode and support in drivers where required for high quality alpha blending screens (all versions).
* Updates to drivers using ALPHA BLEND modes. Games supporting ALPHA in v1.0 - v1.2 always ran in 16-bit mode. The user will now have the option of running in 16 or 32-bit color mode. 16-bit mode is faster, 32-bit mode is more accurate and has some extra effects. The default is 16-bit mode, you need to select the 32-bit before starting the game. This only applies to certain games (see those listed below).
* Fixed: Bucky O'Hare and COW-boys of Moo-Meesa (69 and 84)
* Fixed: Dragon Blaze, Strikers 1945 II, etc (69 and 84)
* Fixed: Taito F3 games (69 and 84).
* Fixed: Analog controls (84).
* Fixed: Analog controls now have correct defaults for rotated screen modes (all versions).
* "No sound" option now works (all versions).
* Fixed: Sega System16 games like Altered Beast and Alien Storm and Enduro Racer. Hooray! Long standing bug which was really annoying! (all versions).
* Fixed: XMAME frontend after adding/removing ROMs and using "START" to refresh cached list, wasn't calculating correct number of games available for each filter mode.
* Fixed: Multi32 games like Outrunners for 69 and 84.
* Fixed: Konami games using KONAMIGX hardware (ie.Mystic Warriors, Violent Storm, etc)  for 69 and 84.
* Fixed: Gaelco 3D games however there is still an issue (see "Future release") for 84.
* Fixed: Tecmo Raiga - Strato Fighter for 84.
* Fixed: The Game Room's Lethal Justice for 84.
* Fixed: Tecmo's Super Pinball Action for 84.
* Added: save-state controls for 84. Also fixes for 52 and 69.
* Added: speed-ups for Neo Geo for 52 only. Everything runs at 100% 60

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)

Sunday, September 28, 2014

Temper 0.81 for Dingoo Native v2.0

Temper is a "Turbo graphics EMulator PEr Request" originally written by Exophase - in other words a PC Engine emulator.
This release was ported by Slaanesh and works specifically for the Dingoo A320 under the native operating system.

Steam Hearts PC Engine CD Game works nicely now with improved audio!

Dai Makai Mura for PC Engine Super Grafx.

Temper has been updated to 0.81 and includes the following fixes and improvements:

* Faster! All Hucard and most CD games now run full speed at 336Mhz. All Super Grafx games run fullspeed at 384Mhz. The default clock speed is now 336Mhz.
* Audio bug fixes including a nasty CD audio bug. Much nicer audio all round.
* Changed menu keys, shoulder keys are used to navigate between files and directories.
* All keys are now re-definable. There is also a hard coded combo which always gets back to the menu: L+R+SELECT
* Screen scaling mode now supports 352 wide modes (also known as 341 pixel mode). ie. R-Type
* Other fixes.

Sunday, September 21, 2014

Dingoo A320 Native and Gamepark GP32 - vAtari v2.0

I originally made vAtari because the GP32 was sorely missing a good Atari 2600 emulator and as it happens so does the Dingoo A320 in Native mode.
The original version of vAtari for the GP32 was entered into the PACC 2010 contest. It didn't win but it did provide excellent motivation to get most of the work on it done.
Since then, this version has many fixes and enhancements including more accurate graphics and sound and higher compatibility.

My two favourite Atari 2600 games: H.E.R.O  

..and River Raid

The Dingoo A320 is my first .SIM release so there is no frontend end: it uses the Dingoo Native's OS to select a ROM.

The GP32 version has a frontend: select a game and press either 'A', 'B' or 'Select' to start the game. The button you press to start determines the GP32's CPU clock rate.

In both cases, the Atari 2600 ROMs should be uncompressed and have the .A26 suffix.

* Joystick provides movement for either joystick or paddle.
* 'A' Button is the fire button.
* 'B' Button is the fire buttons on the "other" controller.
* 'START' Atari Reset.
* 'SELECT' Atari Select.
* Games the require two joysticks, hold 'B' button to use second joystick
* Games the require two joysticks, 'L Shoulder' is the other fire button

A320 Specific
* 'Power Slider' to switch off.
* Hold 'L + R Shoulder' back to O/S.
* 'L Shoulder' decrease volume.
* 'R Shoulder' increase volume.
* 'Y' toggles Player 1 difficulty.
* 'X' toggles Player 2 difficulty.

GP32 Specific
* 'SELECT + START' back to frontend.
* 'L + R' Information screen
* 'L Shoulder' toggles Player 1 difficulty.
* 'R Shoulder' toggles Player 2 difficulty.

Thursday, September 4, 2014

MAME4ALL v1.3 for Dingoo A320 Native

It's been a long time between releases. I've been busy with a host of stuff, so I'd better start releasing them!

First is MAME4ALL v1.3, which has a host of new features. You really do need to read the "whatsnew.txt" file included in the Binary download for all details. The "readme.txt" is also updated so please look at that for updated information on controls.

Quick summary of the major news:

* Vastly improved front-end, now featuring full snapshot preview support. Almost 2000 snapshots are included, all taken from within this version of MAME4ALL!
* Huge number of bug fixes, including a long standing sound bug which improves sound for many, many games! Including the newly supported Zwackery.
* Huge number of new games added and existing games updated.

Zwackery now works, nice game and despite needing 6 buttons, plays fine once controls are customised.

Macross, new game added, complete with sound.

 Konek-Gorbunok, another new game added.

New frontend. Grey name is a clone, Red name is a non-working game.Preview snapshots "slide" out from the right. If there is no snapshot, nothing is displayed. Multiple snapshots for the same game cycle around.

GCW-Zero version of MAME 0.37b16, MAME 0.66 and MAME 0.84 coming soon, complete with integrated frontend and preview snapshot support.