The NEW Build Your Own Arcade Controls

Main => Software Forum => Topic started by: cadmium on August 10, 2008, 07:39:28 pm

Title: State of 3D Arcade Emulation?
Post by: cadmium on August 10, 2008, 07:39:28 pm
I understand why mame doesn't support 3d acceleration. However, I'm kind of wondering why all of the mame spinoffs have died out. From what I've gathered there has been:

Zinc - last update in 2004
Mame++ - pressured out of existence over a year ago?
oglmame - last update ???

The most recent is Mame++, but I guess there was some drama about there (I haven't been following anything). But nothing newer than that as far as I can tell. Have I missed any recent projects?
Title: Re: State of 3D Arcade Emulation?
Post by: TAG on August 11, 2008, 11:27:57 am
But nothing newer than that as far as I can tell. Have I missed any recent projects?

Mjolnir came out last year, and it did some great things with games like Prop Cycle, Solvalou, and Starblade.  I'm not sure it's still being updated, though.  Also, the Model 2 emulator is still updated regularly, but I guess that's not a MAME spinoff.
Title: Re: State of 3D Arcade Emulation?
Post by: Cakemeister on August 11, 2008, 11:43:00 am
SDLMAME (http://rbelmont.mameworld.info/?page_id=163)?
AAE? (http://pages.suddenlink.net/aae/)

Some variants, such as AdvanceMAME and my own BuddaMAME, died out when the video system drastically changed in v0.107.


Title: Re: State of 3D Arcade Emulation?
Post by: retrometro on August 11, 2008, 08:16:07 pm
I think this speaks volumes about the mame project's philosophy of not introducing hacks to boost performance... not that it's not worthwhile but that it becomes unwieldy to support over a long period of time.


Title: Re: State of 3D Arcade Emulation?
Post by: cadmium on August 12, 2008, 02:58:40 pm
It's just a shame that most of the mame forks have died. Especially ones that have focused on performance, which while not the primary focus of mame, is still a worthwhile pursuit.
Title: Re: State of 3D Arcade Emulation?
Post by: deadsoulz on August 12, 2008, 08:42:26 pm
More and more dev tools are being released to off load complex math to the GPU in computers video cards.  It would be cool to see a version of mame that could offload to the GPU just for cpu cycles, not for 3d acceleration hacks, but actual work load.

--ds
Title: Re: State of 3D Arcade Emulation?
Post by: cadmium on August 12, 2008, 10:21:06 pm
Yeah, a CUDA port would be neat, but I suspect, non-trivial.
Title: Re: State of 3D Arcade Emulation?
Post by: Ummon on August 14, 2008, 03:43:26 pm
If you've been keeping up with mame development and related info, it's heading that way. Especially interesting, as only a few to several months ago Aaron was essentially deflecting commentary in this vein.

It seems there are essentially three areas of significance in mame/arcade emulation development, in order of importance to me:

- original mame emulation: documentation and accuracy of emulation

- native display: Advancemame

- performance in game play: fastmame, etc


Actually, native display could perhaps be considered greater accuracy of both emulation and game play, and is the most important to me in an ideal sense. But a) vanilla mame is and has always been the leader in arcade emulation, and b) display technology may develop in the near future that bridges the gap between convenience, power consumption, etc of LCD/plasma and the special visual qualities (particularly the type of luminosity) a 15khz-fed CRT produces.
Title: Re: State of 3D Arcade Emulation?
Post by: jban4us on August 21, 2008, 01:51:58 am
Yeah, a CUDA port would be neat, but I suspect, non-trivial.

Everything in CUDA is non-trivial :P

But if you have the time to explore it and have a twisted enough mind, it's really a blast to see how much faster you can make stuff.

I've been really busy this summer, but ever since I wanted to build a cab to play gauntlet legends, figured out it isn't reasonably playable in mame, and decided to build a cab anyway, I've been thinking about the possibility of accelerating parts of mame with GPU. Sounds like a good undergrad research project to me...
Title: Re: State of 3D Arcade Emulation?
Post by: youki on August 21, 2008, 05:47:26 am
To play gauntlet Legends in your cab, put a Dreamcast!  ;D

Sorry for my stupid question but what is  CUDA?
Title: Re: State of 3D Arcade Emulation?
Post by: Cakemeister on August 21, 2008, 08:00:38 am
To play gauntlet Legends in your cab, put a Dreamcast!  ;D

Sorry for my stupid question but what is  CUDA?

http://en.wikipedia.org/wiki/CUDA

Title: Re: State of 3D Arcade Emulation?
Post by: youki on August 21, 2008, 08:43:47 am
Thanks.  Unfortunaly  It seems it is just for NVidia type cards , it is not really interresting i think. Even if off course, using the GPU to use less CPU ressource would be a good idea.

Title: Re: State of 3D Arcade Emulation?
Post by: cadmium on August 21, 2008, 02:16:25 pm
Thanks.  Unfortunaly  It seems it is just for NVidia type cards , it is not really interresting i think. Even if off course, using the GPU to use less CPU ressource would be a good idea.

Yeah, I think NVIDIA is trying to push it as some sort of standard, but so far they are the only one that supports it. I think ATI is considering something similar, but NVIDIA has parts out there that support it now.

I can't imagine anything will come of it in the MAME realm for a couple of years at the soonest, but who knows.
Title: Re: State of 3D Arcade Emulation?
Post by: jban4us on August 21, 2008, 02:54:09 pm
It's not interesting until you see the growth curve in compute power for GPU vs CPU and realize that an 8800gtx has 380ish GFLOPS compared to something around 3.8 for CPU.

Stuff done in CUDA generally sees a 10 - 160 times speed up depending on how well the algorithm maps.

Assuming that parts of MAME can be ported but poorly, a 10 times speed up would still mean going from 8 fps to 80 fps, easily playable.

ATI has something in development called "close to metal" http://en.wikipedia.org/wiki/Close_to_Metal

Apple is developing openCL http://en.wikipedia.org/wiki/OpenCL

It looks as if GPU computing might become common in the high performance field, but I doubt that official mame will ever implement anything in it, simply judging by their overall goal and the fact that it requires specific hardware.
Title: Re: State of 3D Arcade Emulation?
Post by: joebells on August 21, 2008, 05:50:05 pm
and if intel's plans go their way then all the gpu stuff is heading back to x86 anyway
Title: Re: State of 3D Arcade Emulation?
Post by: ahofle on August 21, 2008, 06:10:52 pm
Interesting read.  But I'm not sure how much benefit something like MAME would receive from it (10-160 times seems way overestimated):
Quote
"Unlike CPUs however, GPUs have a parallel "many-core" architecture, each core capable of running thousands of threads - if an application is suited to this kind of an architecture, they can offer some benefit."

I can't see there being a use for thousands of threads in MAME given the large amount of synchronization required in emulation.
Title: Re: State of 3D Arcade Emulation?
Post by: u_rebelscum on August 21, 2008, 07:29:35 pm
One example of GPU use is folding@home (http://folding.stanford.edu/).  The project can use normal CPUs, PS3, and both nvidia & ati GPUs.  The GPUs do what they can do very fast (nvidia's faster than ati's, ATM), but have the least number of instructions they can do.  PS3s aren't as fast as either the GPUs, but can do more types of calculations then either.  OTOH, the PS3 can't do at many different types of calculations as a normal CPU.  Normal CPUs are a lot slower than the above three, but as mentioned, can do the most variety of calculations of the four.

So as hinted, as long as the GPU can do the work, it'll probably be a lot faster.  OTOH, if it can't do it, well, zero is slower than anything that can do the work.
Title: Re: State of 3D Arcade Emulation?
Post by: Xiaou2 on August 21, 2008, 10:08:13 pm

 If you had multiple Gpu's/processors..  theoretically you could run several
instances of mame all running different games.    This would be good for a
front end,  in which there are realtime emulations of the screenshots.. instead
of huge movie animations. 

 Besides just being used for animations...  One could also extend this to
generate 3d Audio of the games in Surround Sound.   That way,  you can set
up your own virtual arcade background.   All the sounds from the games you want to
hear playing in the background all the while you are playing a specific game.
(Instead of having to download or create your own environment with extensive
work, and unrealistic results)
Title: Re: State of 3D Arcade Emulation?
Post by: cadmium on August 22, 2008, 03:16:57 pm
Besides just being used for animations...  One could also extend this to
generate 3d Audio of the games in Surround Sound.   That way,  you can set
up your own virtual arcade background.   All the sounds from the games you want to
hear playing in the background all the while you are playing a specific game.
(Instead of having to download or create your own environment with extensive
work, and unrealistic results)

Except you'd be seeing the bootscreens 90% of the time  ;)
Title: Re: State of 3D Arcade Emulation?
Post by: Ummon on August 22, 2008, 06:18:14 pm

 If you had multiple Gpu's/processors..  theoretically you could run several
instances of mame all running different games.    This would be good for a
front end,  in which there are realtime emulations of the screenshots.. instead
of huge movie animations. 

 Besides just being used for animations...  One could also extend this to
generate 3d Audio of the games in Surround Sound.   That way,  you can set
up your own virtual arcade background.   All the sounds from the games you want to
hear playing in the background all the while you are playing a specific game.
(Instead of having to download or create your own environment with extensive
work, and unrealistic results)


The first thing I think of here is using one machine to run mulitple cab, simultaneously. Of course video and audio to each is then a hurdle.
Title: Re: State of 3D Arcade Emulation?
Post by: Xiaou2 on August 23, 2008, 01:50:50 am
Quote
Except you'd be seeing the bootscreens 90% of the time

 Not if you use save states  (saved just after the boot).
Title: Re: State of 3D Arcade Emulation?
Post by: cadmium on August 23, 2008, 05:57:52 pm
That reminds me, I need to map some button or combo to save state on my CP.