Mame2003 vs 2010
-
@mediamogul you're welcome ;)
Full disclosure jools is the genius and set up the framework, I just added the arcade configs to enable it :P
-
I was actually talking about the Picrowave team, but you guys are great too.
-
@mediamogul said in Mame2003 vs 2010:
@adlorin said in Mame2003 vs 2010:
'improvement' over the previous... it certainly isn't
It all depends on your metric for improvement. The Mame project aims for accuracy of emulated hardware in an attempt to document all possible hardware functions for historical purposes. The fact that the games are playable at all is really just a side-effect and not a primary goal.
If a given ROM runs well on 2003, but is then unplayably slow on 2010, it's exactly the opposite of improvement. If another given ROM runs the same on either version, or if it doesn't run on 2003, but does run slowly on 2010, nothing is 'improved' as no useful functionality has been gained. 2010 is a work in progress, I get that and am greatly appreciative of the work that people put into it; however, it's cannot yet rightfully be said to be an improvement over 2003.
Kind of a shame, really. If not for this, I feel that xx10 could be the one-size-fits-all MAME / Neo-Geo emulator.
With more powerful hardware to run it on, it is a perfect all-in-one solution. I coincidentally have a late 2010 version of Mame running on my personal arcade cabinet that I built in October of 2010 and there's really nothing it can't play from it's rom set.
Hardware isn't worth much discussion, IMHO. The PI 3's hardware is more than capable of running mid-90s arcade games, we just have yet to land a good piece of emulation software to properly handle it. The processors of Killer Instinct and some of the later 90s Capcom cabinets run about 25 MIPS, while the Pi 2 runs at 4,744 MIPS; that's nearly 190 times faster in regards to raw processor speed. Mid 90s processors were often CISC based, so you had x cycles per instruction - where as ARM processors are all RISC, so you're getting x instructions per cycle. Not to mention improvements in bus speed, caching, memory speed, and video capability; yet the best I can muster, is half-speed gameplay and stuttering audio.
Rather than piss and moan about it, it would be worth tracing through to attempt to find out what's making it run like dog shit. Is there an available C source for it? Is the version that's included in retropie just a standard Linux version, or are there any notable differences?
Thanks everyone, for listening to me whine. :)
-
@adlorin speedhacks =! Accuracy
See this article:
-
@adlorin said in Mame2003 vs 2010:
Rather than **** and moan about it, it would be worth tracing through to attempt to find out what's making it run like dog ****.
Good luck with that.
-
@adlorin said in Mame2003 vs 2010:
it would be worth tracing through to attempt to find out what's making it run like dog...
Look, I've tried to steer you away, but you're getting too close. First, it's why Mame 2010 runs so slow. Next, you'll want to know about the secret council of seven and why RetroPie updates are only released during a blood moon. Some answers are just too big. Your private little crusade is going to get a lot of good cops killed.
-
if you want perfomative arcade emulation, look to FBA. the romset is a lot smaller despite that project being about 16 years old because it turns out it is pretty hard to optimise mame drivers! :)
a faster mame2010 is not going to happen.
-
I really enjoy lr-FBA-next. For those looking at RetroPi as some kind of modern gaming machine, they have the wrong expectations.
-
@GreenHawk84 unless you run it on a linux pc which is also possible (I do)
-
@GreenHawk84 said in Mame2003 vs 2010:
I really enjoy lr-FBA-next. For those looking at RetroPi as some kind of modern gaming machine, they have the wrong expectations.
I wouldn't consider adequate emulation of 66Mhz, mid-90s arcade games, as anything modern. =)
-
@dankcushions said in Mame2003 vs 2010:
if you want perfomative arcade emulation, look to FBA. the romset is a lot smaller despite that project being about 16 years old because it turns out it is pretty hard to optimise mame drivers! :)
a faster mame2010 is not going to happen.
Everything that I tested on 2003 ran beautifully. FBA was able to sort-of-run Primal Rage, Killer Instinct, and Street Fighter EX - but it didn't so well, though it was better than 2010. =)
-
@mediamogul would make be pointless if it couldn't play the games, playability surely it's part of accuracy
-
http://wiki.mamedev.org/index.php/FAQ:Performance
required reading
-
@tjohnson said in Mame2003 vs 2010:
would mame be pointless if it couldn't play the games
Mame is first and foremost a hardware documentation project. As a result of it's approach to documentation, it plays the games it documents. If game play were somehow not an option, it would still serve it's main purpose. I'll admit it's a bit counter-intuitive as we are so used to emulators with no higher purpose other than quick and dirty game play. As this thread clearly illustrates, Mame's approach to emulation is very controversial and has polarized the opinions of both users and developers alike from it's inception.
Personally, knowing the limitations of both Mame and the Raspberry Pi, I couldn't be happier with the performance we get with Mame2003. If that weren't enough, we have a variety of emulators to fall back on. The focus here has been on what Mame2010 can't run, but I've found that there are plenty of older, less demanding titles that it runs perfectly well that Mame2003 won't at all. Add in the many games that run best on FBA and you have quite a library.
-
@mediamogul
Would seem rather pointless documenting something that then couldn't be used for its original purpose. Accuracy is a good idea but not at the expense of it making the end product playable. Accurately document a race car but don't try to drive the thing in a race because it will only do 10mph buy hey its an accurate representation. How good is the documentation can an outsider come in and understand how it has been emulated and how the original machine worked, so in 50 years time when the machines are toast and anyone who remembers then or possibly even cares is gone someone can come in and move the emulator to new hardware? -
@tjohnson because computers always get faster, and heavily optimised code remains less maintainable. the history of emulation is a particularly good case study into the downside of unmaintainable code.
also, mame2010 was well within the capabilities of computers in 2010 so what's the argument? that mamedev didn't prempt the rise of SOCs, back in 2010?
-
@dankcushions computers don't always get faster moores law is pretty broken as engineers reach the limits of what they can do. Remember Intel saying p4 would be 10ghz still waiting for that one and Intel switched to multi core route.
It is pretty remarkable that i can buy a 30 quid computer today and it can do so much.
-
@tjohnson said in Mame2003 vs 2010:
Would seem rather pointless documenting something that then couldn't be used for its original purpose.
My third grade report on 'Why I Love Nintendo' can't run 'Tetris', but I'd hardly call the sunshine sticker Miss Hollingsworth gave me pointless. I actually do see what you're saying, but it seems argumentative just to be argumentative. You're saying that things shouldn't be the way they are, but... well, they are. Is Mame's approach to documentation flawed? Maybe, when you start to consider low-end machines, but that was never their target hardware to begin with. They chose to focus on accuracy of emulation, targeted to fully capable contemporary computers. It was a decision that was made almost twenty years ago that couldn't realistically account for the rise of mobile processors. While I can understand the frustration that certain games are left unplayable on the Raspberry Pi as a result, there's really nothing to be done about it now other than to proactively seek out alternatives such as FBA.
It is pretty remarkable that i can buy a 30 quid computer today and it can do so much.
I'm sure we can all agree on that sentiment. :) I love my RPi and haven't had so much fun with a computer since the early days.
-
@tjohnson said in Mame2003 vs 2010:
@dankcushions computers don't always get faster moores law is pretty broken as engineers reach the limits of what they can do. Remember Intel saying p4 would be 10ghz still waiting for that one and Intel switched to multi core route.
It is pretty remarkable that i can buy a 30 quid computer today and it can do so much.
10GHz isn't impossible to make, it's just not financially feasible for mas-marketing. Running multiple-cores, each one at lower clocks and lower temperatures also reduces energy consumption, aids in threading, and reduces the over-all cost; it's an ideal compromise.
The same approach is used in turbo charged cars. It's less expensive to make a 2-Litre 4-cylinder motor and slap a turbo on it to make 300 HP/TQ, than it is to make 3-litre 6V for equitable performance. Moreover, the lower displacement (2.0L vs 3.0L), higher VE (volumetric efficiency), better emissions, and less weight (both dead and rotational) allows for better fuel economy at a given power range. Just like the above scenario, it's an ideal compromise.
It's not the bleeding edge of technology that dictates how technology is applied, it's the market. :)
-
@dankcushions said in Mame2003 vs 2010:
@tjohnson because computers always get faster, and heavily optimised code remains less maintainable. the history of emulation is a particularly good case study into the downside of unmaintainable code.
also, mame2010 was well within the capabilities of computers in 2010 so what's the argument? that mamedev didn't prempt the rise of SOCs, back in 2010?
From my years of experience in coding, albeit only C and X86 ASM, heavily optimised code hasn't been a problem to maintain. As I've gotten better over the years, I've rewritten routines in my game and have timed the code to see if my new function works more quickly than the last one, as well as having monitored memory utilisation. The approach which makes my code 100% maintainable, is that I don't source it out for dozens of developers to muddle with. Large scale open-source projects, by their very decentralised nature, are difficult to maintain. Adding, deleting, and modifying lines in flat-file is trouble waiting to happen; patching is really where the shit hits the fan.
I could create a Mars simulator, which perfectly detailed 100% of the planet but ran at 3 FPS - or I could make one that detailed the planet in 85% detail, but played at 30fps; guess which one everyone would play? =) Accuracy and speed (playability) are equitable in terms of importance, at-least from my perspective as being a game programmer. The statement of 'uh.. oh.. hmm.. MAME is about faithfully reproducing a machine 100%' feels more like an excuse to cover up for poor programming, than to be more direct an honest bout it. I'm not getting at anyone here about this statement, it's plastered all over MAMEs website.
To address a few others, the 'complaint' that I stated was simply this: Mame2010 is available for our PIs, but it's basically irrelevant. Anything that Mame2010 runs, which FBA / 2003 cannot run, it runs it too slowly to be useful. Anything that can run on all three, from my experience, always runs better on FBA / 2003. It's curious that a given ROM set will run nicely on 2003 or FBA, but then run like shit on 2010. We all use MAME for one reason, which is to enjoy games. If a newer version doesn't allow us to do that, it hasn't improved - it has regressed.
/ rant
=)
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.