Beta Mame4All Beta

cosam

Active Member
Joined
Sep 1, 2008
Messages
703
Location
Netherlands
Website
www.cosam.org
Not quite there yet, but I'm a fan of releasing early and often, so here's the result of a couple of evening's hacking at everyone's favourite arcade machine emulator:

Updated PND: http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Emulator/mame4all-beta4.inf

Run once to create the necessary directories in appdata, them copy your zipped ROMs to the "roms" subdirectory.

Controls are described in the PND documentation.

Known issues:
  • Auto frame skip does not work and results in an artificially low frame rate.
  • Sound is way off.
  • Scaling is fixed at 4:3, not sure what happens with rotation.
  • Sync options other than V-sync may have unexpected results.
  • 8-bpp rendering is messed up (use 16-bit). Update: 8pp is now disabled by default.
  • Some residual GP2X-ed-ness that needs removing/replacing.
  • XFCE desktop still visible in the background.
  • Hard-coded ROM path needs to be configurable.
  • No doubt some other stuff I forgot about, but that's why it's beta ;-)

Released under the MAME license.
Source code: http://sources.cosam.org/svn/mame4all/
 

cosam

Active Member
Joined
Sep 1, 2008
Messages
703
Location
Netherlands
Website
www.cosam.org
Alerino said:
dumb question: romsets matter to mame4all?
Unfortunately the correct set is required for any MAME, this being no exception. It's based on MAME build 0.37b5 but I hear there's also a specific MAME4ALL set.
 
Last edited by a moderator:

Hitnrun

Member
Joined
Mar 1, 2008
Messages
427
This is based on the gp2x port, so the same games that worked on the gp2x version should work here, I just copied the roms from my gp2x card.
 

Hitnrun

Member
Joined
Mar 1, 2008
Messages
427
SteveM said:
Hitnrun said:
Was this one using the minilib too?
Yep. Slightly different to the version used in PocketSNES, but I was able to reuse quite a bit of code.
Really nice, I think that when we have a fully working minilib port, there will be no need for Ginge on the Pandora except for closed-source software.
 
Last edited by a moderator:

Hitnrun

Member
Joined
Mar 1, 2008
Messages
427
I tested some games, and everything runs fullspeed, including Mortal Kombat and Street Fighter II. It doesn't even look like there is frameskip, everything seems smooth.

Of course with this squeaky sound it is not possible to play it yet, but the sound is on the "right path", I can detect the voice sounds from MK, and the throwing sounds of Gouls'n'Goblinbs.
 

naples39

Member
Joined
Dec 15, 2005
Messages
695
Great to see a start on this.

I do hope that some of the scaling options from SDLMame eventually make it in too. I would like to be able to properly scale vertical-screen games without having to hold the pandora sideways.
 

alerino

Well-Known Member
Joined
Aug 11, 2007
Messages
3,200
how do we quit the emu?

tried ghosts n goblins and final fight, great and smooth graphics
 

skeezix

Internal Development
Joined
Mar 11, 2003
Messages
8,060
Website
www.codejedi.com
Just took a quick look; when theres piles of buffers like that, always makes it hard to 'just see' and need to think it through :)

Right off though .. I see the sound-rate being defined as 22khz, but the frontend is passing 44khz; switching it to 44khz in sound.cpp seems to help a little bit. <- nah, that makes no sense; just luck probably; I'm sick as a dog, don't listen to me.

Need to check some of the basics .. is it passing the right sound format, and enough of it, and at the right bit depth, etc? Hmm..

jeff

Stereo looks off, but the 44khz blit (memcpy) .. is it receiving stereo or mono audio? perhaps you need to copy every other 16bit to mono-ify it (and halve the stream length when buffering it.)

Or perhaps its just goofy timings to the /dev/dsp; should just wrap that sucker in SDL-audio and see if it works :)
 

DaveC

Internal Development
Joined
Mar 4, 2004
Messages
9,208
Decent start.

Some suggestions for future versions:

Rotate mode works but needs keyboard config so that you can re-define any key to a fire button in this mode. On the Wiz it mapped to the MENU button automatically on rotate, and on GP2X it mapped to VOLUME buttons. Actually in every mode it should be possible so that games with more than 4 buttons can be played. The d-pad autorotates as it should in rotate mode so that is good.

Needs a straight non fractional integer scale mode(2x would be normal mode, and rotate mode, rotate scale would be fractional). Yes I know it is early but just for future reference, as I knew what these modes did on Wiz. Rotate mode just fraction scales up to the edges now, that is how that is working. Anything that says TATE mode was a mode on the Wiz to fix screen tearing, could be eliminated but not the same as ROTATE which rotates screen for 3:4 games, need that.

Vector games (ex:Asteroids) now render to a target resolution of 320 x 240 giving a tiny screen. Could be rendered to a target resolution of 640 x 480.

Have an option to turn off that goddamn headache inducing blurry filter (you knew this was comming :p ). Great as an option, just not the only option. Just curious but why the hell is everyone using this now?

Analog nubs could be used for analog type games (Missile command, Centipede, Tempest, etc). This is probably difficult though?

Can nix the multi-key combo for returning to menu now and could use a single key (start, select, Pandora etc). You probably planned that but just in case.

When running through Minimenu it is fine no problem, only game graphics show which is good there.

This scratchy sound happened when running MAME4all (Wiz) in Ginge too, but did work fine when set to 15 KHz (doesn't here though). Don't know if that helps.

Nice to see a native Pandora version.
 

Mjlink

ithic.com
Joined
May 13, 2008
Messages
894
Age
44
Location
Bernie Sanders' Land
Website
www.ithic.com
SteveM,

Thanks man, as soon as I get done editing some video. I'm all over this.

Do you have a donation page? All of your work on MAME, I need to buy your a beer, and/or a joint since your dutch.

Peace & Pandora,

Link
 

gruso

thunderbox
Joined
Feb 28, 2008
Messages
7,461
Age
42
Location
Sydney, Australia
Website
pandorapress.net
Great work Steve. How handy that thanks to Ginge, I've got a fully loaded GP2X card in my Pandora at work. MAME ROMs and all. :) Just played some NBA Jam, woo!

Alerino said:
how do we quit the emu?
GP2X styles, Start+L+R quits back to MAME menu, same combo again quits MAME.
 
Last edited by a moderator:

cosam

Active Member
Joined
Sep 1, 2008
Messages
703
Location
Netherlands
Website
www.cosam.org
skeezix said:
Or perhaps its just goofy timings to the /dev/dsp; should just wrap that sucker in SDL-audio and see if it works :)
You know, I have half a mind to back-port the audio stuff from SDLMAME into this...

I also have my doubts about the input system as used right now, which takes events straight from the kernel. A side-effect of having XFCE visible in the background is that you can see what your keystrokes are doing to the desktop! Cursor keys, home, end, etc are innocent enough, but if someone maps the wrong key to something, who knows what consequences this might have. Does the libpnd input handling stuff take care of any of this or do I need to get my events elsewhere (like from X, maybe)?

DaveC said:
Rotate mode works but needs keyboard config so that you can re-define any key to a fire button in this mode. On the Wiz it mapped to the MENU button automatically on rotate, and on GP2X it mapped to VOLUME buttons. Actually in every mode it should be possible so that games with more than 4 buttons can be played. The d-pad autorotates as it should in rotate mode so that is good.
This should already work, albeit suboptimally due to GP2X vol +/- being mapped to 1 and 2 at the moment. I'm open to suggestions as to which keys would work well as default action buttons (I'm guessing something in the bottom left, which becomes bottom right when rotated).

Needs a straight non fractional integer scale mode(2x would be normal mode, and rotate mode, rotate scale would be fractional). Yes I know it is early but just for future reference, as I knew what these modes did on Wiz. Rotate mode just fraction scales up to the edges now, that is how that is working. Anything that says TATE mode was a mode on the Wiz to fix screen tearing, could be eliminated but not the same as ROTATE which rotates screen for 3:4 games, need that.

Vector games (ex:Asteroids) now render to a target resolution of 320 x 240 giving a tiny screen. Could be rendered to a target resolution of 640 x 480.
This is all on the cards already. What it does now is write to a frame buffer at the game's native resolution. All that's really required is to set what size this gets scaled to, taking rotation into account. I know where the resolution for vector games can be changed so that's easily done too.

Have an option to turn off that goddamn headache inducing blurry filter (you knew this was comming :p ). Great as an option, just not the only option. Just curious but why the hell is everyone using this now?
Everyone is using it because that's all there is at the moment, if you're doing hardware scaling.

Analog nubs could be used for analog type games (Missile command, Centipede, Tempest, etc). This is probably difficult though?

Can nix the multi-key combo for returning to menu now and could use a single key (start, select, Pandora etc). You probably planned that but just in case.
Analogue is probably quite easy. If the nub is in joystick mode it may even work already as the code used for USB joysticks might detect it. The key combos are just what came with the GP2X version so there's indeed work to be done there now we have all these lovely buttons to play with.

And how about the touchscreen for Missile Command, or would that be cheating? ;-)

Mjlink said:
Do you have a donation page? All of your work on MAME, I need to buy your a beer, and/or a joint since your dutch.
I don't have one as yet and I wouldn't feel right accepting donations for the few hacks it took to get this running. If I start putting some serious work into it I might set something up, but it's more about getting the software out there for me at the moment.

Oh, and I'm not Dutch, I just live here ;-)
 
Last edited by a moderator:

alerino

Well-Known Member
Joined
Aug 11, 2007
Messages
3,200
wasn't slaneesh already porting Mame4All? What about joining forces?
 

Jumpman

Advanced Member
Joined
May 20, 2006
Messages
3,078
Location
Sin City
Thanks SteveM!

I'm glad to see a dedicated Pandora version. I just started running the GP2X edition last week thru Ginge, but when you exit the game, it bumps you back out to Ginge(instead of the rom select), so I think I will switch over to this one ASAP.

Chris
 

jonlad1

Active Member
Joined
May 13, 2008
Messages
595
Good god Steve!

You dont stop (and we dont want you to!)!!

Donation link please, beers are on us ;)
 

notaz

Certified Guru
Joined
Aug 23, 2005
Messages
4,913
Location
Lithuania
Website
notaz.gp2x.de
DaveC said:
Have an option to turn off that goddamn headache inducing blurry filter (you knew this was comming :p ). Great as an option, just not the only option. Just curious but why the hell is everyone using this now?
It's fast. It's free. It significantly reduces effort needed to port GP2X/Wiz software, since you can just use 320x240 framebuffer, which means no need for changes in logic.
 
Last edited by a moderator:
Top