The NEW Build Your Own Arcade Controls
Main => Software Forum => Topic started 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?
-
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.
-
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.
-
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.
-
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.
-
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
-
Yeah, a CUDA port would be neat, but I suspect, non-trivial.
-
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.
-
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...
-
To play gauntlet Legends in your cab, put a Dreamcast! ;D
Sorry for my stupid question but what is CUDA?
-
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
-
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.
-
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.
-
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.
-
and if intel's plans go their way then all the gpu stuff is heading back to x86 anyway
-
Interesting read. But I'm not sure how much benefit something like MAME would receive from it (10-160 times seems way overestimated):
"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.
-
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.
-
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)
-
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 ;)
-
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.
-
Except you'd be seeing the bootscreens 90% of the time
Not if you use save states (saved just after the boot).
-
That reminds me, I need to map some button or combo to save state on my CP.