slaanesh
Certified Guru
Hello everyone. With the help of Franxis, I've been working away at a new release of MAME for the GP32. Hopefully, this will be released within the next few days.
My focus on the new release has been improvements to speed in general and optimizations with specfic game drivers.
Just to whet your appetites here are a few new features to look forward to:
* Compiled with latest DevKitARM R17 - this means it uses gcc 4.02. Should mean the code is generally faster.
* Latest version of DrZ80. Increased compatability for Z80 based games.
* Improved game drivers for 1943 and Galaga. I can play Galaga at Frameskip 1 (ie. 30 frame refreshes per second) at 150Mhz with sound set to ACCURATE. This equates to full speed.
* Improved game drivers in early Konami games (Time Pilot, Pooyan, Tutankham). Implemented RC sound filters.
* Improved game driver for Juno First. Shooting sound implemented.
* Added "Screen Fit" mode thanks to Pepe_Faruk. He originally called it "Stretch" mode, but I think it's more of a "Screen Fit" mode. It allows you to scale the screen where games don't fit into the GP32's 320x240 resolution. There are two modes: SKIP and MIX. SKIP basically skips lines to make it fit, MIX alternates the SKIPPED line. This can cause some flicker but looks great if the FPS is high (30+). Think Flubba's GBA PocketNES "flicker" mode. This can be useful for vertical orientated games like 1943 and Galaga if you don't want to rotate the screen. It's also nice for horizontal games such as Sidearms, Gauntlet and Xybots where the horizontal screen res > 320 pixels.
* Screen rotation code for "New Core" needed a re-write - was incompatible with gcc 4.02. Should be as fast as the previous "New Core".
* New game drivers: Prehistoric Isle in 1930, Gaplus and Cabal. Consider these prevew versions - but they generally work okay.
* New game drivers: Data East 16-bit games! After a fair bit of investigation, it looks like it's possible to get the Data East 16-bit games going on the GP32! This was tough as I originally thought that these games would require more RAM than what the GP32 had available (about 7.5MB free).
Games include: Bad Dudes vs Dragonninja, Dragonninja, Sly Spy, Hippodrome, Midnight Resistance, Heavy Barrel and Robocop. I've test played Dragonninja and Sly Spy and ithey are running at 27-28 FPS on FRAMESKIP=1 (original FPS was an unual 57, not 60) so this is full speed thanks to the 68000 Cyclone core! The larger games; Heavy Barrel and Midnight Resistance will take a bit more work.
* Other minor game optimizations as per the GP2X version of MAME. ie. Xybots, Bubble Bobble, etc. Will probably also add the improved YM3812 sound core.
* Uses ASM memset and memcpy.
* "FPS Display" option added to menu. Displays the number of frames displayed per second (duh). Useful for finding out optimal settings for a game. This is currently not saved in the config file but may do so.
I've found that playing around with "frameskip" and CPU percentages have a large effect. Frameskip = 1 is often best for many games.
Will update this post once the release is ready. Just a bit more testing required here and there.
- Slaanesh
UPDATE
MAME GP32 has been released.
MAME GP32 v2.0 release
My focus on the new release has been improvements to speed in general and optimizations with specfic game drivers.
Just to whet your appetites here are a few new features to look forward to:
* Compiled with latest DevKitARM R17 - this means it uses gcc 4.02. Should mean the code is generally faster.
* Latest version of DrZ80. Increased compatability for Z80 based games.
* Improved game drivers for 1943 and Galaga. I can play Galaga at Frameskip 1 (ie. 30 frame refreshes per second) at 150Mhz with sound set to ACCURATE. This equates to full speed.
* Improved game drivers in early Konami games (Time Pilot, Pooyan, Tutankham). Implemented RC sound filters.
* Improved game driver for Juno First. Shooting sound implemented.
* Added "Screen Fit" mode thanks to Pepe_Faruk. He originally called it "Stretch" mode, but I think it's more of a "Screen Fit" mode. It allows you to scale the screen where games don't fit into the GP32's 320x240 resolution. There are two modes: SKIP and MIX. SKIP basically skips lines to make it fit, MIX alternates the SKIPPED line. This can cause some flicker but looks great if the FPS is high (30+). Think Flubba's GBA PocketNES "flicker" mode. This can be useful for vertical orientated games like 1943 and Galaga if you don't want to rotate the screen. It's also nice for horizontal games such as Sidearms, Gauntlet and Xybots where the horizontal screen res > 320 pixels.
* Screen rotation code for "New Core" needed a re-write - was incompatible with gcc 4.02. Should be as fast as the previous "New Core".
* New game drivers: Prehistoric Isle in 1930, Gaplus and Cabal. Consider these prevew versions - but they generally work okay.
* New game drivers: Data East 16-bit games! After a fair bit of investigation, it looks like it's possible to get the Data East 16-bit games going on the GP32! This was tough as I originally thought that these games would require more RAM than what the GP32 had available (about 7.5MB free).
Games include: Bad Dudes vs Dragonninja, Dragonninja, Sly Spy, Hippodrome, Midnight Resistance, Heavy Barrel and Robocop. I've test played Dragonninja and Sly Spy and ithey are running at 27-28 FPS on FRAMESKIP=1 (original FPS was an unual 57, not 60) so this is full speed thanks to the 68000 Cyclone core! The larger games; Heavy Barrel and Midnight Resistance will take a bit more work.
* Other minor game optimizations as per the GP2X version of MAME. ie. Xybots, Bubble Bobble, etc. Will probably also add the improved YM3812 sound core.
* Uses ASM memset and memcpy.
* "FPS Display" option added to menu. Displays the number of frames displayed per second (duh). Useful for finding out optimal settings for a game. This is currently not saved in the config file but may do so.
I've found that playing around with "frameskip" and CPU percentages have a large effect. Frameskip = 1 is often best for many games.
Will update this post once the release is ready. Just a bit more testing required here and there.
- Slaanesh
UPDATE
MAME GP32 has been released.
MAME GP32 v2.0 release