Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: the state of mame  (Read 106502 times)

0 Members and 3 Guests are viewing this topic.

ErikRuud

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1709
  • Last login:March 05, 2021, 10:20:27 am
  • I'll build a cab for only 99.99.99!!!
    • Erik's humble video game page
Re: the state of mame
« Reply #400 on: January 13, 2011, 08:28:02 pm »

I say you are stoking a fire, when it should have been extinguished long ago.

What are we trying to achieve here after 11 pages?

It's cold here in northern Illinois.  Fire Good! ;D
Real Life.  Still a poor substitute for video games!       
American Laser Games Wrapper
O2em Rom Utility

ErikRuud

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1709
  • Last login:March 05, 2021, 10:20:27 am
  • I'll build a cab for only 99.99.99!!!
    • Erik's humble video game page
Re: the state of mame
« Reply #401 on: January 13, 2011, 08:29:14 pm »
  I thought Ray was goofing when he mentioned it.  :P

So did I, but I wasn't sure so I checked KLOV.
Real Life.  Still a poor substitute for video games!       
American Laser Games Wrapper
O2em Rom Utility

CheffoJeffo

  • Cheffo's right! ---saint
  • Wiki Master
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7784
  • Last login:July 14, 2025, 12:11:49 pm
  • Worthless button pusher!
Re: the state of mame
« Reply #402 on: January 13, 2011, 08:32:43 pm »
I'm pretty sure that Ray doesn't give a crap about the pneumatic buttons on SF ... the guy had an Atari Dominos in his collection (and it looks really great beside my Exidy 440 Multi!!!).

 :afro:
Working: Not Enough
Projects: Too Many
Progress: None

newmanfamilyvlogs

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1694
  • Last login:June 15, 2022, 05:20:38 pm
    • forum.arcadecontrols.com/index.php/topic,103584.msg1096585.html#msg1096585
    • Newman Family Vlogs
Re: the state of mame
« Reply #403 on: January 14, 2011, 10:58:37 am »

SavannahLion

  • Wiki Contributor
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5986
  • Last login:December 19, 2015, 02:28:15 am
Re: the state of mame
« Reply #404 on: January 14, 2011, 11:28:43 am »
Ah well, I thumbed through that.  It looks like at some points it says it's sending an analog signal to the board, and at other points it's saying that the button feeds a 'pressure sensor' that in turn sends regular old button inputs to the board.  I really can't imagine that they'd waste the processing power needed to analyze those inputs in real time when it could all be done mechanically, but who knows...

 :dunno

Yeah, I was going to point out that patent but cotmm beat me to it.

The patent (and pictures of each version) show that the pneumatic buttons actually have a tube leading away. On the only PCB picture I can find (KLOV), there doesn't seem to be any place for a four tubes to be plugged in. On column 5 about the third paragraph down, it describes a pressure sensor (which is conveniently not shown) and later it describes what sounds like a voltage divider. Knowing you're going to need three inputs for each buttons, doesn't that sound like a 4 bit A/D converter with one bit unused? I'm not being sarcastic, I'm actually asking. I'm guessing there's actually a daughter board that accompanies each button. This is the most likely scenario because someone on the KLOV mentions having this cab converted to six buttons, wants to convert it back to the pneumatic, actually has the pneumatics but doesn't have the wiring harness.

In a nutshell... there's a daughter board that does all the heavy lifting.

Vigo

  • the Scourage of Carpathia
  • Global Moderator
  • Trade Count: (+24)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 6417
  • Last login:June 25, 2025, 03:09:16 pm
Re: the state of mame
« Reply #405 on: January 14, 2011, 11:56:15 am »
I do love how patents are written, the whole part describing the controls sounds like a giant innuendo:

"Each Control unit comprises a universal operating rod and a pair of pneumatic operating devices."

"Rearward pivoting of the rod causes the fighter to assume a crouching or half-sitting posture"  :lol

Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1296
  • Last login:October 04, 2023, 08:30:02 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: the state of mame
« Reply #406 on: January 14, 2011, 02:17:12 pm »
From looking at photos of the SF pneumatic buttons, I really, really, really doubt that they are sending an analog input to the board.

They are

Code: [Select]
/* The world version has analog buttons */
/* We simulate them with 3 buttons the same way the other versions
   internally do */

static const int scale[8] = { 0x00, 0x40, 0xe0, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe };

static READ16_HANDLER( button1_r )
{
return (scale[input_port_read(space->machine, "IN3")] << 8) | scale[input_port_read(space->machine, "IN1")];
}

static READ16_HANDLER( button2_r )
{
return (scale[input_port_read(space->machine, "IN4")] << 8) | scale[input_port_read(space->machine, "IN2")];
}

The newer sets simply expect buttons.   The older sets have 2 analog ports. MAME treats them all the same via this simulation, because it's just a stupid gimmick anyway, but they really did design it like that.  It's obvious from the game code, and what it expects, and the changes they made.




Derrick Renaud

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 299
  • Last login:December 06, 2024, 04:31:44 pm
Re: the state of mame
« Reply #407 on: January 14, 2011, 02:25:22 pm »
From looking at photos of the SF pneumatic buttons, I really, really, really doubt that they are sending an analog input to the board.

They are

Code: [Select]
/* The world version has analog buttons */
/* We simulate them with 3 buttons the same way the other versions
   internally do */

static const int scale[8] = { 0x00, 0x40, 0xe0, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe };

static READ16_HANDLER( button1_r )
{
return (scale[input_port_read(space->machine, "IN3")] << 8) | scale[input_port_read(space->machine, "IN1")];
}

static READ16_HANDLER( button2_r )
{
return (scale[input_port_read(space->machine, "IN4")] << 8) | scale[input_port_read(space->machine, "IN2")];
}

The newer sets simply expect buttons.   The older sets have 2 analog ports. MAME treats them all the same via this simulation, because it's just a stupid gimmick anyway, but they really did design it like that.  It's obvious from the game code, and what it expects, and the changes they made.

Hack, Hack, Hack.  I demand it be removed.  I want to hook up my real controls.   :lol

On a more serious note, could you imagine the flack we would get if we removed the hacked controls and set the ports to analog?

What some people don't realize is that using hacked controls in this way is also somewhat left up to the driver's author.  Lacking support for selection between real/fake controls, that no one is interested in writing, this is how it is done.
« Last Edit: January 14, 2011, 02:30:55 pm by Derrick Renaud »

sjbaines

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 43
  • Last login:October 24, 2013, 05:44:34 pm
Re: the state of mame
« Reply #408 on: January 14, 2011, 02:59:45 pm »
What some people don't realize is that using hacked controls in this way is also somewhat left up to the driver's author.  Lacking support for selection between real/fake controls, that no one is interested in writing, this is how it is done.

Presumeably no one is interested in writing it because not many games need custom support in the first place, only the few people with original controllers would care anyway, and in those few cases there's usually someone that has hacked MAME themselves and released a patch anyway. All seems perfectly reasonable really - you'd think that everyone would be happy...


ark_ader

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5645
  • Last login:March 02, 2019, 07:35:34 pm
  • I glow in the dark.
Re: the state of mame
« Reply #409 on: January 14, 2011, 04:54:55 pm »
.
« Last Edit: January 18, 2011, 12:15:11 pm by ark_ader »
If I had only one wish, it would be for three more wishes.

Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1296
  • Last login:October 04, 2023, 08:30:02 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: the state of mame
« Reply #410 on: January 14, 2011, 11:10:28 pm »
No need to reply I know the answer.  But it is fascinating considering how much technology has progressed from a z80 (or emulated z80) today.

Well the old emulated z80 might have been good enough to emulate game X, ---fudgesicle--- timings, they weren't important, just emulate the opcodes, it works.

Then we found game Y, which required some undocumented behavior of the z80 to be emulated, and more accurate timings.

Then we found game Z, which required further opcodes to be perfected, and strange behavior related the the actual microcode of the chip under extreme conditions in order to work properly.

Then we found game XYZ which required not only perfect timings, but manufacturer differences between each revision of the Z80 in order to work.

Do you seriously expect us to keep around 3 imperfect versions of the core just to keep you happy?  It's stupid, MAME will emulate things, improve in accuracy, and as a result, yes, things get slower.

New technology advances at such a rate that even a budget PC will run 95% of the supported systems at full speed.

It's progress.  It has a price.  Live with it.

VanillaGorilla

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 480
  • Last login:March 08, 2019, 10:23:51 pm
  • Coin detected in pocket
Re: the state of mame
« Reply #411 on: January 15, 2011, 12:40:44 am »
Thats 11 pages of my life i'll never get back. Wow ladies, you all got your panties in a knot! Personally, I would like to offer my left nut, to nicola and aaron, and all of the mamedevs for making my childhood dreams a reality.  I ---smurfing--- love you guys. You are an inspiration. :notworthy: :notworthy: :notworthy:

 The rest of you sound like greedy babies.  :angry:


MKChamp

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 502
  • Last login:February 07, 2024, 02:45:53 pm
  • Stil around.
Re: the state of mame
« Reply #412 on: January 15, 2011, 04:18:18 am »
Bottom line: It's open source. Change what you don't like/want added/removed.
We're all receiving a free meal and then bitching that we were handed a steak dinner when we wanted a lobster.

sjbaines

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 43
  • Last login:October 24, 2013, 05:44:34 pm
Re: the state of mame
« Reply #413 on: January 15, 2011, 05:29:25 am »
How is that progress?

Seems pretty obvious - it's progress because the emulation is becoming more detailed (hence accurate) over time, which of course has a performance hit.

Yes, MAME could have a whole bunch of simplified variants of all the CPUs, and use the simplest one that seems to work for any given game, but that's a lot more code to maintain over just
having the full models and using them for everything.  Maintaining all those simplified models would take a whole load of extra effort, it would be a breeding ground for bugs, and the only benefit would
be faster emulation of certain games. No benefit whatsoever for accuracy of emulation.

So, MAME gets slower over time as a side-effect of getting closer to its stated objective of accuracy. But all the old releases are still available if you prefer them. What exactly is the problem?


Grasshopper

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2380
  • Last login:March 04, 2025, 07:13:36 pm
  • life, don't talk to me about life
Re: the state of mame
« Reply #414 on: January 15, 2011, 09:05:12 am »
Wow, what a depressing train wreck this thread has become.

I think it's been clear for some time that MAME has lost its way. I can't remember the last time I got excited about a new release. To be fair, I haven't really noticed the slowdowns that others have experienced (possibly because I mostly play older games) but I haven't really seen clear improvements for some time either. I assumed the reason for this was simply because most of the important work had already been done and therefore developers had got bored and left. No doubt that's partly true. However, thanks to this thread, I now realise that there is also a lot of toxic politics going on behind the scenes. It's really sad to see a project that has given me hours of pleasure, and which I still have a lot of affection for, descend into this state.

If things continue as they are, then I can only really see two possible outcomes:

The first scenario is that the remaining MAME developers become increasingly introverted and continue to cut themselves off from the user community who they perceive (mostly unfairly IMHO) as being ungrateful, demanding and entitled. If that happens then we're likely to see few if any new developers, fewer bug reporters, fewer ROM dumpers etc., as most of those people are recruited from the game playing community. The official MAME project will slowly but surely grind to a halt.

The second scenario is that a new group of developers create a fork from a faster old version of MAME and add the features that people are asking for. Over time the forked version diverges from the official build and eventually eclipses it. It certainly won't happen overnight. But given the large numbers of people who appear to be sticking with ancient versions of MAME I see this as a fairly likely scenario in the longer term. At first glance it appear to be a fairly good outcome for the end user. However, in reality, it leads to duplication of effort and wastes resources. The end users will effectively be forced to choose between having access to the latest games and bugfixes, or having the best possible emulation experience. To me that seems a terrible shame. I've seen other open source projects fork in this way, and it takes years for them to get back on track.

This split between (some) developers and (some) users is not benefiting anyone. And I see it as being entirely unnecessary. I don't see why MAME can't "document the hardware" and simultaneously provide the best possible emulation experience on the widest possible range of hardware. The two aims are not mutually incompatible.
"Patriotism is the last refuge of the scoundrel." - Samuel Johnson

Grasshopper

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2380
  • Last login:March 04, 2025, 07:13:36 pm
  • life, don't talk to me about life
Re: the state of mame
« Reply #415 on: January 15, 2011, 09:16:36 am »
Do you seriously expect us to keep around 3 imperfect versions of the core just to keep you happy?  It's stupid, MAME will emulate things, improve in accuracy, and as a result, yes, things get slower.

I don't "expect" you to do anything. As has already been pointed out ad nauseum throughout this thread, it is entirely your prerogative to amend the code in any way you see fit and I respect that.

However, to answer your question in another way, I do think it's highly desirable to keep old code in the official build if it provides proven benefits such as better performance. Personally I think it's bad programming practice to rely on Moore's law to get you out of trouble. I'm perfectly OK with the old code only being available as a compile time option. I could even live with just a diff file being available as long as there was a commitment to keep it compatible with future versions of MAME. But please, I implore you, don't rip the code out altogether. This is precisely why increasing numbers of people are choosing to stick with very old versions of MAME. For some people out there that "imperfect" code might be the difference between MAME being usable and unusable.

As I said earlier, the people who are driven away from the current build of MAME are the potential new developers, bug reporters etc. of tomorrow.
"Patriotism is the last refuge of the scoundrel." - Samuel Johnson

Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1296
  • Last login:October 04, 2023, 08:30:02 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: the state of mame
« Reply #416 on: January 15, 2011, 09:30:05 am »
Do you seriously expect us to keep around 3 imperfect versions of the core just to keep you happy?  It's stupid, MAME will emulate things, improve in accuracy, and as a result, yes, things get slower.

I don't "expect" you to do anything. As has already been pointed out ad nauseum throughout this thread, it is entirely your prerogative to amend the code in any way you see fit and I respect that.

However, to answer your question in another way, I do think it's highly desirable to keep old code in the official build if it provides proven benefits such as better performance. Personally I think it's bad programming practice to rely on Moore's law to get you out of trouble. I'm perfectly OK with the old code only being available as a compile time option. I could even live with just a diff file being available as long as there was a commitment to keep it compatible with future versions of MAME. But please, I implore you, don't rip the code out altogether. This is precisely why increasing numbers of people are choosing to stick with very old versions of MAME. For some people out there that "imperfect" code might be the difference between MAME being usable and unusable.

As I said earlier, the people who are driven away from the current build of MAME are the potential new developers, bug reporters etc. of tomorrow.

It's entirely impractical however.  If you multiply keeping x versions of each core, each driver, each video implementation across the codebase then you'd end up with something 5x bigger than it is now, and 100x less maintainable.

Doing as you suggest will not encourage development, nor will it make MAME better.

Byuu tried EXACTLY this approach with BSnes, keeping various versions of his renderers around in order to appease people looking for performance.  In the end, he (as a developer) decided it simply wasn't worth it.  It was a nightmare to maintain.  The simple question of 'where to apply fixes' suddenly has no answer.

If somebody forks an old version they will (quickly) find themselves taking the same paths as the official dev team, and find their version ends up just as slow as the official one as they actually reinvent the wheel, and discover, and therefore have to support new features in order to progress.

Either that, or they end up with an unmaintainable mess.

Don't kid yourself, old versions weren't 'better', they were just full of hacks, full of inaccurate emulations, and full of code which in the end couldn't be maintained, and was dropped.  The codebase as it stands now is far more appealing to developers than it ever has been, this is not the issue.  Keeping legacy code around, in any project, is not desirable.  MAME is no exception.  One of the reasons Windows is such an absolute mess is the legacy support.

Some (very) old versions had the compile time option of an x86 assembler, or C core for the 68k emulation.  This generated false reports, and gave users a worse experience (some broken games with the ASM core even if it was faster) leaving them thinking that MAME was broken, when really it was because they were using the wrong core (speed over accuracy), but didn't have the technical knowledge to know/understand this.  Again, multiply this for every component in MAME and you have a mess.  In the end, the x86 core was dropped, it wasn't portable, it wasn't accurate, it had bugs, and people were compiling it in because it was 'faster' without telling people using the binaries that it was also liable to break stuff.

Again, I should stress, MAME has outlasted every other emulator pretty much for these exact reasons, progress is always progress and always welcome, there is no desire to hang on to legacy junk, developers aren't having to spend time, and apply fixes to and test 5 different versions of the same thing, or have to deal with bug reports in similar conditions.

This isn't politics, it's common sense.

If somebody _wants_ to try what you're suggesting they're more than welcome, however, I absolutely guarantee you that they will fail, and most developers or potential developers will see that before they even start, which is why it's never been done with any great success.  The ones who HAVE tried have quickly ended up seeing the vast amount of progress made in new versions, and the simple impossibility of porting some newer code over to old systems where a great deal of the functionality that is required, or makes MAME easy to program for simply doesn't exist, and can't be backported.  The guys doing 'uberMAME' have tried this, and end up spending half their time trying to fix things which have already been fixed, and pestering the devs with questions which simply have no answers because they're using such an old version.

The viewpoint from a 'user' might be different, which is understandable, however, it doesn't change the basic facts.

There has actually been quite a bit of a 'buzz' about MAME recently, although, if the areas concerned don't interest you, again it's understandable that it would pass you by.

MAME _is_ providing the best possible user experience while striving to be a maintainable, forward-moving project.

For all the moaning about hiscore removal and such you have to remember that due to the bugs things like this was causing (and false bug reports as a result) it wasn't actually a 'good thing', which is why it was dropped.  For all the moaning about controls, again you have to remember that the mainstream version of MAME is providing default configurations aimed at the majority of the userbase.  For the moaning about speed, hardware is cheap, MAME is providing the best emulation we can give, making most efficient use of developer time.  MAME is also not going to provide emulation options which _break_ the emulation on purpose, again to ensure that everybody gets the same experience, and bugs can be dealt with accordingly.

Next version (or maybe the one after) will have full sound support in Batsugun.  That's a monumental achievement for a 'landmark' shooter.  The game has been emulated for 10 years without sound, in MAME and several different emulators (Raine, FBA, + some other forgotten ones)  It's only because of the dedication of people working on MAME to emulate every last little feature of CPU variations that this is going to be possible.  People have been asking for this from the day it was first emulated, combine that with my graphic improvements on it from last year and it will finally be _perfect_, in other words, compared to every other emulation of the game anywhere else, ever, MAME will be giving the best experience BECAUSE of the development philosophy.

Don't take this as anything personal, just statements like 'MAME has lost it's way, and will be eclipsed by older versions' really have little grounds in reality.  There ARE areas where the project does seem to have lost it's way, but none of them are the ones you actually mention, and while you personally may not have noticed all the progress over the years I assure you, it still exists ;-)  In terms of sheer number of hours work put into the project it has to be one of the biggest and most significant projects to be found online and dismissing that entirely is rather insulting to the people who have been dedicating their time to it and can tell you exactly where MAME has improved.

« Last Edit: January 15, 2011, 10:00:31 am by Haze »

Cenobyte

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 99
  • Last login:August 06, 2013, 06:26:57 am
Re: the state of mame
« Reply #417 on: January 15, 2011, 10:59:58 am »
As both a programmer and Mame user myself I can understand the split the Mame community is finding itself in. I can understand both points of view and IMHO there is no right or wrong here. Users "want" Mame to support more and more games and writing different drivers and hacks for each and every game is absolutely impossible, so more mainstream software is necessary, requiring more processing power to run. People who don't write software themselves tend to oversee this issue, I guess. On the other hand (and being a programmer I realise this), programmers also tend to want better (more organised, more "beautiful") code, sometimes resulting in slower -but more useable- code. Let's be honest: hacks look ugly, but they're always faster  ;)

I hope the Mame development community will stay around for a while, since I love seeing and playing these old games. Maybe it's an idea to split development into era's? I can imagine there's much difference between code running '90's and code running '80's games? The code running the older software might be able to run on less impressive hardware. Just my 2 cents.

Anyway: I think the Mame dev's are doing a great job!!  :applaud:

Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1296
  • Last login:October 04, 2023, 08:30:02 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: the state of mame
« Reply #418 on: January 15, 2011, 11:34:32 am »
I hope the Mame development community will stay around for a while, since I love seeing and playing these old games. Maybe it's an idea to split development into era's? I can imagine there's much difference between code running '90's and code running '80's games? The code running the older software might be able to run on less impressive hardware. Just my 2 cents.

Again, it's been suggested before, but in reality it's just giving twice as much to maintain.

In terms of hardware there is a huge overlap, you can't simply split 80s from 90s, there is simply no clear point to even divide even if the idea was feasible in other ways (which it isn't)

There are gambling games from 2010 using a z80 as the main CPU.  That's the same main CPU Pacman used back in 1980, the new hardware has more colours, and can scroll, but has no sprites.

Even earlier, different companies went in different directions.  Early 90s Sega started pushing out their 32-bit system32, with all sorts of fancy features while Capcom and SNK continued with what was basically late 80s hardware (CPS and NeoGeo) right up until the mid 2000s.

Most of the concepts are common between systems tho, some just have more / less functionality, even 3d systems like Sega Model 1/2 were built off existing technology (System 24 tilemaps)  You simply *can't* split it in any logical way which isn't just going to make things harder.

Even today with home systems things aren't much clearer, just look at the Wii, it's a GameCube upgraded and repackaged, it's not even in the same generation as the 360 and PS3 from a technical point of view.

Everything really has developed the way it has for a reason...


« Last Edit: January 15, 2011, 11:44:24 am by Haze »

ark_ader

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5645
  • Last login:March 02, 2019, 07:35:34 pm
  • I glow in the dark.
Re: the state of mame
« Reply #419 on: January 16, 2011, 07:13:36 am »
.
« Last Edit: January 18, 2011, 12:15:45 pm by ark_ader »
If I had only one wish, it would be for three more wishes.

Grasshopper

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2380
  • Last login:March 04, 2025, 07:13:36 pm
  • life, don't talk to me about life
Re: the state of mame
« Reply #420 on: January 16, 2011, 08:45:18 am »
Haze, you make a good case but I still think you're wrong.

I should firstly point out that in my day job I'm a software developer (mostly C and PERL). However, as I've only ever experienced MAME from the end user's side of the fence, I've chosen to wear my user's hat for the purposes of this discussion. It is my intention to get my head round MAME's source code at some point but real life has a nasty habit of getting in the way of my plans.

I do understand the necessity for code to be clean and easily maintainable. But what I don't accept is that properly written code will automatically be slower than hacked code. Maybe in some cases but in my experience it's mostly the opposite. It generally takes more care and effort to come up with the optimal algorithm for solving a problem. Sometimes the quick and dirty solutions are actually slower.

The reality is, as ark_ader has already pointed out, that the size of programs tends to expand over time to fit the resources available. You mentioned that Windows is a mess because of the legacy support. But that's only part of the story. Windows has also become bloated because the developers have been spoilt by ever increasing processor speeds and memory sizes.

I don't see software bloat as inevitable. When Vista first appeared and required vastly more memory than XP and ran like a snail in comparison, we were told that it was the price that users had to pay if they wanted extra features like semi-transparent windows (most didn't). This is a line that Microsoft stuck to for some time. No doubt some of their developers felt irritated that their efforts weren't properly appreciated, and that the users should stop moaning, upgrade their hardware, and accept "progress".

However, when it looked like Microsoft might lose the netbook market to Linux they pulled their fingers out and came up with Windows 7 which offers similar performance to XP combined with all the extra features (and more) of Vista.

When it comes to programming, necessity is the mother of invention. I'm pretty sure that if computers weren't getting faster then MAME wouldn't be getting slower.
"Patriotism is the last refuge of the scoundrel." - Samuel Johnson

Grasshopper

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2380
  • Last login:March 04, 2025, 07:13:36 pm
  • life, don't talk to me about life
Re: the state of mame
« Reply #421 on: January 16, 2011, 09:00:12 am »
The subject has been brought up before - why not just develop Mame for Linux and do away with Windoze based machines?

I'm a Linux nut, so from a purely selfish point of view, I think that's highly desirable. But I don't think it's practical at the moment because not enough people use or understand Linux. However, I would agree that the mamedevs have nailed their colours too firmly to the Windows mast. A lot of MAME's limitations appear to be caused by Windows' limitations.

Personally, I think they should have continued basing development around the MSDOS version. Yes MSDOS is primitive and old fashioned. But in this context I see that as a positive. It would have imposed discipline on the developers not to base MAME's features on features (or limitations) of the underlying OS.
"Patriotism is the last refuge of the scoundrel." - Samuel Johnson

Derrick Renaud

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 299
  • Last login:December 06, 2024, 04:31:44 pm
Re: the state of mame
« Reply #422 on: January 16, 2011, 09:45:38 am »
Whhaaaa, why can't I run the newest Acrobat Reader; Office; Adobe Audition; Windows; Leisure Suit Larry; MAME; etc on my old P2.  I can't believe you people are serious.  For all of them you are free to use older versions that worked on that hardware.  To demand that the latest version work on something that is barely fast enough to play MP3s is insane.  You have been told that this is a hobby.  Would you prefer 95% of our hobby time be spent maintaining old versions?

You have been told ad nauseum that Donkey Kong now uses a discrete simulation that generates the waveforms in real time based on the electrical circuit.  This replaces the old inaccurate samples.  So yes it is slower.  Oh well, it still runs 13 times faster then the real thing on my obsolete Core 2.

You have been told you are free to maintain old versions yourself, but won't because you are too lazy; can't bother to learn programming; not insane enough to bother; etc.  Instead there are the continual demands that your needs are more important then the needs of those that actually do the code.  If you want your needs to be that important, step up and do/maintain the code yourself.

Haze, here is no hope.

For the undemanding people, sorry for all the ranting.  For the demanding people, I demand that you make me an arcade machine in your spare time and drive it to my house.

I think I need to leave these forums so I can return to sanity.

Take care

CheffoJeffo

  • Cheffo's right! ---saint
  • Wiki Master
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7784
  • Last login:July 14, 2025, 12:11:49 pm
  • Worthless button pusher!
Re: the state of mame
« Reply #423 on: January 16, 2011, 09:47:38 am »
 :cheers:
Working: Not Enough
Projects: Too Many
Progress: None

Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1296
  • Last login:October 04, 2023, 08:30:02 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: the state of mame
« Reply #424 on: January 16, 2011, 10:21:28 am »
What I do not understand that you have a project that has been developed to emulate several (in today's standards) basic processors like the z80, 65xx and even the 808x series cores, that have multiple operating requirements.  What should have worked on a P2 should still work on at least on a P3 (quite a margin there) and not having a requirement of a 1ghz processor.  If that part of the game/core is loaded off disc and retained in memory, should it be moot what kind of platform you are running it from (obviously from the target platforms as described)?

Unless you have engineered the software to operate as a complete entity than just targeting the relevant core.  That would make more sense, in light of the availability of hardware.  Which would explain why I cannot run the latest build on a stock P3 and have the classic games just lag.  I'm not expecting any games that require CHDs, or are more complex to zip along.  Dkong should run out of the box on any build with the minimal platform of P3,128mb, 1mb VGA.

There's more to it than that.

Old versions ran in 8-bit screenmodes.  New version run using D3D, usually in a 32-bit mode.  That instantly means you're doing 4x the work.

Supporting 8-bit screenmodes was a pain, it was done, because at the time most PC hardware didn't support 32-bit modes (15/16 bit modes were a mess and you were lucky if they worked properly)

To support these modes every MAME driver had to have code in it in order to track which colours were being displayed when, mid-screen palette tricks weren't possible, and the whole thing was incredibly limiting because MAME had to start approximating (which caused all sorts of problems) if a game tried to display more than 256 colours at any point.  This wasn't fun to work with, and the code to support it / maintain it just got in the way of other stuff.

These days 8-bit modes are the ones that don't work, supporting them, even if we could makes no sense.  Technology has changed, it's moved on.

In addition to this there were other 'optimizations' such as only updating the parts of the display that had changed, again this just about worked for some older titles, but again required specific coding in each driver to mark areas of the screen as dirty.  It was messy, ugly code which as time has passed we've been able to do away with.

These are all positive changes for the project, as they make it easier to work with.  The cost of a new system is FAR less than the cost of trying to maintain this kind of legacy support.

Current versions of MAME have their own form of optimization in the form of caching (tiles, tilemaps) etc.  which again may change in order to make the code cleaner and more maintainable as things develop.

It's evolution.  MAME isn't slower now because the code is worse, in most cases it's slower because the code is better, cleaner, and _more reliable_

Also there is no such thing as a 'simple' processor really.  It all depends on what level you emulate it at.  The 68k core in MAME runs probably 50% of the supported titles in MAME at the moment, that's a lot of them, but there are areas in which it could be improved (and should be improved) which could cut the speed of the emulation in half.  (Interruptable instructions, sub-opcode timing -- if the MAME cores are to be used as the basis of a good Atari ST emulator they will need to support such features)

The discrete games will be slower than anything currently supported if they ever run in MAME, because everything has to be emulated at gate / logic level!  You might call those 'simple' doesn't mean they'll be fast, or 'simple' in terms of emulation.

MAME provides documentation and technology, reference emulation and cores which other people can refer to.  The target platform(s) are roughly dictated by what the developers own, and are happy developing with, optimizations are targeted at THAT point.  MAME is hardly going to switch over to being primarily developer on Linux when most of the active devs have no interest in Linux at all, nor is it going to be optimized for 10 year old systems at the expense of good code.  Did anybody say 'side-effect' ?

Again, keeping old, broken versions of the code around doesn't make sense.  Nobody is going to maintain them, and they're just going to break further.  If you want old versions, they're on the web-site.  If you want _support_ for old versions, you're on your own.  We make progress, and offer our own form of support, it's called releasing NEW versions.
« Last Edit: January 16, 2011, 10:24:05 am by Haze »

Grasshopper

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2380
  • Last login:March 04, 2025, 07:13:36 pm
  • life, don't talk to me about life
Re: the state of mame
« Reply #425 on: January 16, 2011, 10:24:48 am »
Whhaaaa, why can't I run the newest Acrobat Reader; Office; Adobe Audition; Windows; Leisure Suit Larry; MAME; etc on my old P2.  I can't believe you people are serious.  For all of them you are free to use older versions that worked on that hardware.  To demand that the latest version work on something that is barely fast enough to play MP3s is insane.  You have been told that this is a hobby.  Would you prefer 95% of our hobby time be spent maintaining old versions?

You have been told ad nauseum that Donkey Kong now uses a discrete simulation that generates the waveforms in real time based on the electrical circuit.  This replaces the old inaccurate samples.  So yes it is slower.  Oh well, it still runs 13 times faster then the real thing on my obsolete Core 2.

You have been told you are free to maintain old versions yourself, but won't because you are too lazy; can't bother to learn programming; not insane enough to bother; etc.  Instead there are the continual demands that your needs are more important then the needs of those that actually do the code.  If you want your needs to be that important, step up and do/maintain the code yourself.

Haze, here is no hope.

For the undemanding people, sorry for all the ranting.  For the demanding people, I demand that you make me an arcade machine in your spare time and drive it to my house.

I think I need to leave these forums so I can return to sanity.

Take care

 :dizzy: :dizzy: :dizzy:

For hopefully the final time, no one's "demanding" anything, at least not in any recent posts. We're just expressing our opinions. That is, after all, the whole raison d'etre of an internet forum.

I really don't understand your attitude. Most developers would welcome feedback. I know from my own experience that you can get too close to a project and lose objectivity. It's healthy to seek objective feedback from an outsider who is not afraid to express their views.

If you don't want feedback then that's absolutely fine. But if that's the case, then why bother coming here in the first place?

I've tried very hard to remain polite despite some provocation. But I'm getting really tired of treading on eggshells just because you and Haze are super-sensitive to even the mildest criticism of MAME.
"Patriotism is the last refuge of the scoundrel." - Samuel Johnson

Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1296
  • Last login:October 04, 2023, 08:30:02 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: the state of mame
« Reply #426 on: January 16, 2011, 10:48:33 am »
Whhaaaa, why can't I run the newest Acrobat Reader; Office; Adobe Audition; Windows; Leisure Suit Larry; MAME; etc on my old P2.  I can't believe you people are serious.  For all of them you are free to use older versions that worked on that hardware.  To demand that the latest version work on something that is barely fast enough to play MP3s is insane.  You have been told that this is a hobby.  Would you prefer 95% of our hobby time be spent maintaining old versions?

You have been told ad nauseum that Donkey Kong now uses a discrete simulation that generates the waveforms in real time based on the electrical circuit.  This replaces the old inaccurate samples.  So yes it is slower.  Oh well, it still runs 13 times faster then the real thing on my obsolete Core 2.

You have been told you are free to maintain old versions yourself, but won't because you are too lazy; can't bother to learn programming; not insane enough to bother; etc.  Instead there are the continual demands that your needs are more important then the needs of those that actually do the code.  If you want your needs to be that important, step up and do/maintain the code yourself.

Haze, here is no hope.

For the undemanding people, sorry for all the ranting.  For the demanding people, I demand that you make me an arcade machine in your spare time and drive it to my house.

I think I need to leave these forums so I can return to sanity.

Take care

 :dizzy: :dizzy: :dizzy:

For hopefully the final time, no one's "demanding" anything, at least not in any recent posts. We're just expressing our opinions. That is, after all, the whole raison d'etre of an internet forum.

I really don't understand your attitude. Most developers would welcome feedback. I know from my own experience that you can get too close to a project and lose objectivity. It's healthy to seek objective feedback from an outsider who is not afraid to express their views.

If you don't want feedback then that's absolutely fine. But if that's the case, then why bother coming here in the first place?

I've tried very hard to remain polite despite some provocation. But I'm getting really tired of treading on eggshells just because you and Haze are super-sensitive to even the mildest criticism of MAME.


I wouldn't say we were super-sensitive, we're just explaining the reasoning for things here.  Everything has been done as it's been done for good reason, the suggestions made simply aren't practical, and we're explaining why rather than just ignoring them without giving you reasons / explanations.  What would you prefer?  Choices to be explained, or for you to be rudely blanked?

Grasshopper

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2380
  • Last login:March 04, 2025, 07:13:36 pm
  • life, don't talk to me about life
Re: the state of mame
« Reply #427 on: January 16, 2011, 11:00:40 am »
I wouldn't say we were super-sensitive, we're just explaining the reasoning for things here.  Everything has been done as it's been done for good reason, the suggestions made simply aren't practical, and we're explaining why rather than just ignoring them without giving you reasons / explanations.  What would you prefer?  Choices to be explained, or for you to be rudely blanked?

I have no problem with the explanations per se. On the contrary, I actually find them interesting even if I sometimes disagree with the conclusions reached. But I do have a big issue with the tone in which they're often expressed.
"Patriotism is the last refuge of the scoundrel." - Samuel Johnson

Cenobyte

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 99
  • Last login:August 06, 2013, 06:26:57 am
Re: the state of mame
« Reply #428 on: January 16, 2011, 12:15:37 pm »
I do understand the necessity for code to be clean and easily maintainable. But what I don't accept is that properly written code will automatically be slower than hacked code. Maybe in some cases but in my experience it's mostly the opposite. It generally takes more care and effort to come up with the optimal algorithm for solving a problem. Sometimes the quick and dirty solutions are actually slower.
Not always true. I can remember some nasty tricks on the Commodore64 to do things quick & dirty, but it did not always work because of unforeseen circumstances. I remember the same problems in Windows when programmers tried to cut a corner and do things without using the proper API's. The results were faster working software, but since you were doing things out of Windows' control, crashes were often the result of this. It did however also result in quicker and smaller code. With '70's and '80's computers having such small RAM, programmers were always looking for cracks in the system to pull more from it's hardware than was deemed possible. I can only imagine how hard it must be to emulate all this stuff in a controllable and manageable way.

Ofcourse Mame has become bloated over the years, but I can imagine the need for that from the developers' point of view: they want to develop a system that supports as much software from the old (and not so old) days as possible. You can write an emulator for every single game out there or you can try and create a system that supports tons of hard- and software (look at Windows and it's driver base).

What I don't seem to understand is: why do users complain about the newer versions of Mame not running on their old systems when they can just keep using older versions?

ark_ader

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5645
  • Last login:March 02, 2019, 07:35:34 pm
  • I glow in the dark.
Re: the state of mame
« Reply #429 on: January 16, 2011, 12:44:37 pm »
.
« Last Edit: January 18, 2011, 12:31:47 pm by ark_ader »
If I had only one wish, it would be for three more wishes.

Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1296
  • Last login:October 04, 2023, 08:30:02 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: the state of mame
« Reply #430 on: January 16, 2011, 12:58:32 pm »
Exactly why the thread got locked on the Mameworld forum.  Criticism is not welcomed.  Mameworld like some hypocritical exclusive fan club, where only the devs have the right of way.  This board has no pretense, so our views are not silenced, so please do not think we are smacking you guys.  We thank you very much for your efforts, but it is the effort that is important as is the direction.

BS, At least as far as devs are concerned.  I'm not even allowed to post there, or be mentioned there.  That said, their mods are pretty pathetic and will stick up for the regulars whatever.


The Mamedevs are coding it for themselves to appear as rock stars to the community, other than dedicated individuals with a goal to archive arcade games- that is simple to see.

BS, If that were the case, would we be sticking around, working on drivers for Mahjong games etc?

Do these arcade games have native D3D? No. Why start modifying their behavior when it is obvious you have to stick with what you have to work with based on that machine. Nobody has asked you to do this have they?  Who?  The kiddies?

More BS, It's the current expected Windows presentation interface.  Ddraw is deprecated, D3D is the expected way to present applications, even 2D ones.

At this point you're sounding clueless.  We're hardly going to turn around to Microsoft and say 'We don't want to use D3D, please add something else'

I concur about the DOS platform.  But you can contain yourselves much better if you pick on a Linux distribution that provides the resources, and let the user worry about trying to get it to work.  Besides its the side effect to get the games to work anyway right?

Stop trying to tell the developers what platform they should be using?

There are other projects I would have liked to contribute for, but requiring Linux makes it near impossible, dependency issues, compiler issues, and just trying to get the damn thing working properly is a nightmare.  MAME is plug-and-play-easy even for developers.  You have Windows, you download the compile package, you download the source, you compile.  It works.  That's 99% of the people who are going to contribute sorted.

Whhaaaa, why can't I run the newest Acrobat Reader; Office; Adobe Audition; Windows; Leisure Suit Larry; MAME; etc on my old P2.  I can't believe you people are serious.  For all of them you are free to use older versions that worked on that hardware.  To demand that the latest version work on something that is barely fast enough to play MP3s is insane.  You have been told that this is a hobby.  Would you prefer 95% of our hobby time be spent maintaining old versions?

You have been told ad nauseum that Donkey Kong now uses a discrete simulation that generates the waveforms in real time based on the electrical circuit.  This replaces the old inaccurate samples.  So yes it is slower.  Oh well, it still runs 13 times faster then the real thing on my obsolete Core 2.

You have been told you are free to maintain old versions yourself, but won't because you are too lazy; can't bother to learn programming; not insane enough to bother; etc.  Instead there are the continual demands that your needs are more important then the needs of those that actually do the code.  If you want your needs to be that important, step up and do/maintain the code yourself.

Haze, here is no hope.

For the undemanding people, sorry for all the ranting.  For the demanding people, I demand that you make me an arcade machine in your spare time and drive it to my house.

I think I need to leave these forums so I can return to sanity.

Take care

That attitude is because you know exactly what the problem is, but instead of finding ways to resolve it - you run away.  Probably because you know I am going about this discussion in a more forward way than you are used to, or like my above suggestion that this point would not have been raised in Mameworld as it would have been silenced.  Deal with it.  You want me to make you an arcade machine with a quad core 12gb  64bit OS and a 22" LCD display to play Donkey Kong, instead of a CRT,mainboard, controls, some wood and a PSU?  That is the same argument that Haze is suggesting.

Now we are getting to the crux of the issue.  Not the 720 hacks, or the dearth of programming.  It is the ideals of the coders that is in question to add all this bloat that should not be there.

Actually I have the latest Adobe Reader, Office 2003, and a crap load of games running happily on a P2, including Mame .32.  The fact that it still runs in XP after all these years at the same speed is not of some amazement, as it just works and does what it says on side of the tin.  I'm not the only one here with this issue.  Why should we have to upgrade to a enterprise server capable PC play to something that is 30 years old?  :dunno

I would like to see the classics run at full fps in the next build of Mame on the P3, if you guys wouldn't mind.  ::)  

Think of it as a challenge that is within your grasp.   :banghead:

The REASON you get hostile replies is because you ask for them, making statements such as the ones you did above.  Groundless, insulting statements towards the developers.  The team WILL give as good as they get.

The dev team will not be bloating the code or stripping out accuracy in order for it to run on an ancient P3.  You're failing to understand the reasons it no longer does, or purposely choosing to overlook them.

The Vivanono emulator was a fast 'emulator' for Ridge Racer, but in reality, it wasn't much of an emulator at all..  They REWROTE the entire physics engine and sound system of the game in their own code to avoid the CPU cost of emulating it.  At that point it stops even being an emulator yet it's another thing people compare MAME to.  UltraHLE ran N64 games quickly for similar reasons, they looked for common bits of code and replaced them all with native calls.  Old arcade emulators such as Callus (or Nesticle / Genecyst from the same people) used tons of self-modifying x86 assembly code for their emulators.  It was fast, but it wasn't portable, you probably wouldn't get away with doing it on a modern OS, and if you did it would probably set the alarmbells ringing on every bit of AV software out there.  

The more streamlined, more accurate, LESS bloated, and less hacky an emulator gets, the slower it becomes.  When your beloved .3x or whatever builds were released people were making the same complaints, that it was too slow compared to everything else out there that ran on a 486, or P1 yet now you talk about them as if they were gods gift to emulation....  The MAME philosophy hasn't changed, MAME has survived, MAME stayed ahead of the game by always offering a cleaner, easier development environment to developers than any other projects, as a result, it was always slower.

« Last Edit: January 16, 2011, 01:37:02 pm by Haze »

ark_ader

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5645
  • Last login:March 02, 2019, 07:35:34 pm
  • I glow in the dark.
Re: the state of mame
« Reply #431 on: January 16, 2011, 01:23:02 pm »
.
« Last Edit: January 18, 2011, 12:32:07 pm by ark_ader »
If I had only one wish, it would be for three more wishes.

saint

  • turned to the Dark Side
  • Supreme Chancellor
  • Trade Count: (+6)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 6149
  • Last login:July 21, 2025, 09:23:48 am
  • I only work in cyberspace...
    • Build Your Own Arcade Controls
Re: the state of mame
« Reply #432 on: January 16, 2011, 02:05:46 pm »
For what it's worth since it seems to be coming up -- as long as folks follow the rules of civility (yeah, that's getting bent a bit), I'm not interested in stifling dissenting discussion. Please remember though there are thousands of other threads on the forums, and anyone's stated points are their own stated points, not necessarily reflective of the approximately 85,000 monthly visitors to the forums. It distresses me to think that someone would consider these threads the totality of the forums and leave because of them.

My 2 bits.

--- saint
--- John St.Clair
     Build Your Own Arcade Controls FAQ
     http://www.arcadecontrols.com/
     Project Arcade 2!
     http://www.projectarcade2.com/
     saint@arcadecontrols.com

ark_ader

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5645
  • Last login:March 02, 2019, 07:35:34 pm
  • I glow in the dark.
Re: the state of mame
« Reply #433 on: January 16, 2011, 03:18:23 pm »
.
« Last Edit: January 18, 2011, 12:32:26 pm by ark_ader »
If I had only one wish, it would be for three more wishes.

shateredsoul

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1412
  • Last login:January 25, 2013, 08:23:51 pm
Re: the state of mame
« Reply #434 on: January 16, 2011, 04:24:02 pm »
That is the question.

A comment is made by the posters point of view.

It doesn't reflect disrespect.

Just because you have an opinion.

It's funny that people keep saying that they're not trying to violate the civility rules for the forum, yet these "critiques" are made in a very aggressive and sometimes condescending manner. For example, "instead of finding ways to resolve it - you run away.  Probably because you know I am going about this discussion in a more forward way than you are used to". How could you expect a positive response to a post that contains that line?

It's like watching a bunch of monkeys throw crap at each other.

I did enjoy reading the parts where the actual mame process was discussed, and related to that.. just to be clear. Is the focus of MAME right now to go back to the code and make changes for more accurate emulations of games that are already working?

Haze, as a mame dev, do you decide which game you work on? or are there other influences that dictate what games you work on? (i.e. donators, other mame devs, whether you have a buddy to help you on emulating a specific pcb).

Also, I know you've mentioned that you learned to work on the mame code by just messing around and reading through it, but did you have experience with coding before then?

How do you find time to work on this? I'm playing a very minor role in making scummvm videos and I'm having a hard time balancing that, time with the wifey, and school. Unfort. the scummvm videos are not being made as quickly as they should be because of that (but life comes first for me at least).





Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1296
  • Last login:October 04, 2023, 08:30:02 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: the state of mame
« Reply #435 on: January 16, 2011, 05:45:48 pm »
That is the question.

A comment is made by the posters point of view.

It doesn't reflect disrespect.

Just because you have an opinion.

That said....

Quote
BS, At least as far as devs are concerned.  I'm not even allowed to post there, or be mentioned there.  That said, their mods are pretty pathetic and will stick up for the regulars whatever.

Why not?  You rubbed shoulders with some of the best coders on the planet and chaired an important part of the Mame era.  If anything you would be a Platinum Card Member.

Apparently I reposted some deleted post.. That's what my ban message says, I honestly have no clue.  I disagreed with them over the treatment of some other forum member who they were ganging up on, disagreed with them over Midway by saying they deserved to be in the financial mess they're in, and got banned for my efforts with that reason.  I can only *assume* it was because I was editing a post at the time it was deleted, and their stupid forum software isn't smart enough to tell me that.  If you've noticed, I tend to post, then edit, then edit, then edit.  Prevents me from losing what I write if something crashes.

Quote
BS, If that were the case, would we be sticking around, working on drivers for Mahjong games etc?

We know why you guys are coding Mahjong games.  Do you think it is not an interesting point to raise considering?

Not really, no.  It's just another case of you and other people trying to tell us why we do things.


Quote
More BS, It's the current expected Windows presentation interface.  Ddraw is deprecated, D3D is the expected way to present applications, even 2D ones.
At this point you're sounding clueless.  We're hardly going to turn around to Microsoft and say 'We don't want to use D3D, please add something else'

Well that would not be an issue if you were using DOS or Linux.  What is wrong with OpenGL?  I'm clueless for the questions I asked about D3D? I'm referring to DOS/Linux.   ???


What's right with OpenGL?  SDLMame uses OpenGL and it's caused nothing but problems, even on Linux.  There is an article going about right now saying that the Firefox guys are having to disable GL support because the Linux drivers are pure garbage.  Commercial studios have all but abandoned OGL on Windows, support out the box on a Windows system is dire.  Why should I think it's any better?  If you want to present via OGL, use SDLMame.. Most people don't use SDLMame on Windows, three guesses as to why.


Quote
Stop trying to tell the developers what platform they should be using?

Why not?  Just because Visual Studio forgives you for some compiling issues.  Heck I know all about the benefits of coding C++ and VS.  Linux is very compatible platform to Mame is so many ways.

Who mentioned Visual Studio?  MAME is compiled with a GCC toolchain, but a fixed one, not one which the entire operating system and all the other applications you have installed are depending on.

It CAN be compiled with Visual Studio's compiler, but it isn't a Visual Studio project.  Again, you don't seem to have done any research here.

MAME is very strict about compiler warnings (everything has to compile cleanly) the number of false warnings buggy versions of GCC shipped with Linux and Mac distributions generate is absurd.  Fixes for them are accepted, but having a single approved compile chain is much more relaible when it comes to regression testing, and ensuring bug reports are caused by bugs in MAME, not a buggy unapproved compiler that was shipped with your distro.

Quote
There are other projects I would have liked to contribute for, but requiring Linux makes it near impossible, dependency issues, compiler issues, and just trying to get the damn thing working properly is a nightmare.  MAME is plug-and-play-easy even for developers.  You have Windows, you download the compile package, you download the source, you compile.  It works.  That's 99% of the people who are going to contribute sorted.

But there is a huge community out there and they seem to compile their code OK using Linux..

My experiences with Linux have been shambolic at best.  You have to jump through hoops for everything, it's quite the opposite of MAME's current development setup.  The Linux guys can't even make their minds up over a desktop manager, or what you need installed to simply display something, or even get your system to make a sound without conflicting with other apps.

The community isn't really THAT big, and most Linux software is in more of a mess than you could ever claim MAME to be in.

The main problem is it's a community that lacks direction, and lacks vision.  If they could focus their efforts instead of forking all over the place and going in different directions they might get somewhere, but it's not my place to go and troll their forums over it, because I have nothing to contribute, nor any real desire to.  Your continued mentioning of forking of MAME and working from older versions seems to indicate that you believe such methodologies to be the way forward, when really they just lead to userbase confusion, developer confusion, a lack of management, a lack of overall direction and endless dependency conflicts between so called modern versions and distributions.  I encourage you to try it if you really want, but I can't help but think you'll quickly find yourself getting nowhere.

With MAME you know what you're getting, and you know where the project is heading.

You might not 100% agree with it but there is minimal confusion, if you have a semi-recent version of Window you can compile the sources, or just run the binaries with 0 major issues.  The same can't be said for Linux, at all, even Ubuntu had major issues with GL, Audio, SDL and MAME last I heard, and good luck just being able to pick up a binary and run it on an older distribution.


Quote
The REASON you get hostile replies is because you ask for them, making statements such as the ones you did above.  Groundless, insulting statements towards the developers.  The team WILL give as good as they get.

I understand why I get hostile replies, because I am an ---uvula---.   Do not have the patience to articulate my sentences using the Good Samaritan guide to forum etiquette.  But I am trying real hard.  Groundless, now, maybe, but not back in the early days.  Memories are short.  But if you don't like an answer that then just call me an ---uvula--- and be done with it.  Insulting?  No.  Considering what you guys dump on each other in MW, my tattle wouldn't qualify. I might get a laugh, if that.

It's polite to explain things.  At least some people might find them educational and understand where we're coming from.

Quote
The dev team will not be bloating the code or stripping out accuracy in order for it to run on an ancient P3.  You're failing to understand the reasons it no longer does, or purposely choosing to overlook them.

You see, that is the very issue.  You guys haven't considered that fact.  You just took it for granted everyone would just pony up and buy a faster system.  Well people are losing their jobs and maybe they cannot afford a Cray to play Dkong on.  Most likely they sold their gear to pay the mortgage, put food on the table.  It will take us probably 10 years to catch up.

Your PC will break sooner or later, you will replace it with another more capable machine.  As I said, this argument has been used ever since the old versions of MAME.  Would you even consider using a 486 now?  It used to be good enough!  Why should the work of the dev team be significantly harder, the code less readable, the codebase less flexible, and the project less attractive to developers just because you don't want to shell out for a new system?  You've failed to give a single good reason, ever.

Quote
The Vivanono emulator was a fast 'emulator' for Ridge Racer, but in reality, it wasn't much of an emulator at all..  They REWROTE the entire physics engine and sound system of the game in their own code to avoid the CPU cost of emulating it.  At that point it stops even being an emulator yet it's another thing people compare MAME to.  UltraHLE ran N64 games quickly for similar reasons, they looked for common bits of code and replaced them all with native calls.  Old arcade emulators such as Callus (or Nesticle / Genecyst from the same people) used tons of self-modifying x86 assembly code for their emulators.  It was fast, but it wasn't portable, you probably wouldn't get away with doing it on a modern OS, and if you did it would probably set the alarmbells ringing on every bit of AV software out there.  

What does this have to do with this thread?  You are talking about hacks.  Mame is supposed to be running without hacks.  Is it because of Mess we have bloat?  Just fork it.  I saw lots of updates relating to consoles in the previous recent updates.  Consoles are not arcade machines.  There are many that would pull my eyes out for saying that but in this context I'll chance it, and say fork it.  I love Mess, and it works OK on my P3...well it did.

I'm explaining that it takes extra code non-emulation related code to make things faster.  Many emulation optimizations could be considered at one level or another.

Many arcade systems are based on consoles, practically every major home system was used as the basis of an arcade system at some point.  Home systems provide better stress testing of hardware components, and ultimately better emulation.  It's near on essential for improving things, unless you have your head buried in the sand you should be able to connect this to the same points being made about Mahjong games / hardware.  Anything that allows improvement to the emulation of the components MAME emulates, which are shared across a large amount of hardware is essential to forwarding the project.  Very little isn't shared, the tech is the same, unsurprisingly.

Mess? It's never been THAT fast, and it was in severe danger of dying for various other reasons, mainly the atrocious state of the code and the console scene being full of people who DID want to be 'rock stars' and as a result were generally being unhelpful, and not wanting to share anything about the systems they emulated.  Sadly the legacy of this lives on today in some areas, and is reflected in the general state of console ROM dumps etc. which is still pretty much a bombsite with people having hacked files to work with the emulators, rather than emulating the hardware.

I will say MESS has come miles in the last year or two tho mainly thanks to people from MAMEdev coming along, picking it up, and scrubbing it clean of a lot of the performance related hacks and such that were holding up progress.  The work of genuinely decent people in the console scene like Byuu has also helped enormously.  It's now a well developed emulator that for several of the systems it emulates is the best in the field (the extensively tested CPU cores from MAME have helped, many of the standalones still rely on the buggy x86 ASM 'starscream' core etc. which is fast, but falls over even on some fairly standard cases.  The console fixes in MAME you're seeing are a direct result of MESS 'giving back' by providing fixes for explicit edge cases tripped by the cores under software running in MESS, who knows if these cases were being hit in MAME without us knowing.)

The two way feedback process with MAME has helped a lot here.  Closer integration helps, not forking and pulling apart.  Forking and pulling apart just leads to dead code, and dead projects.

Quote
The more streamlined, more accurate, LESS bloated, and less hacky an emulator gets, the slower it becomes.  When your beloved .3x or whatever builds were released people were making the same complaints, that it was too slow compared to everything else out there that ran on a 486, or P1 yet now you talk about them as if they were gods gift to emulation....  The MAME philosophy hasn't changed, MAME has survived, MAME stayed ahead of the game by always offering a cleaner, easier development environment to developers than any other projects, as a result, it was always slower.

Do you include Neil Bradley, Dave Spicer, Zonn Moore as Gods gifts? I do.  :)  They set the bar.

Didn't they help out on .b30/.b32?

What do names have to do with anything? Seems like you're the one who is idolizing people as rock stars, not the actual devs.

My point was simple, even back then people were trying to use the same argument against MAME, people could run older versions and other emulators on their 486, MAME required a Pentium or greater.  They were saying MAME would die because of this, and it was ridiculous to expect people to buy new hardware.  The other emulators ended up dying out instead.  Can you not see the connection?

MAME is scalable, the other projects didn't scale and became impossible to improve or further develop and were left behind.  That's why so many people have gone from doing single game emulators to doing MAME.

Considering you claim to be researching stuff (which I still don't believe for a moment) you seem incredibly bad at linking things together, or taking in facts.  This does not bode well for you.
« Last Edit: January 16, 2011, 06:47:14 pm by Haze »

ark_ader

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5645
  • Last login:March 02, 2019, 07:35:34 pm
  • I glow in the dark.
Re: the state of mame
« Reply #436 on: January 16, 2011, 06:04:23 pm »
.
« Last Edit: January 18, 2011, 12:32:46 pm by ark_ader »
If I had only one wish, it would be for three more wishes.

Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1296
  • Last login:October 04, 2023, 08:30:02 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: the state of mame
« Reply #437 on: January 16, 2011, 06:08:55 pm »
Considering you claim to be researching stuff (which I still don't believe for a moment) you seem incredibly bad at linking things together, or taking in facts.  This does not bode well for you.

Well I'm not surprised you feel that way, I'm assure you that I am researching the subject.  I might throw curve balls at you, but it is nothing short of laziness.

So we can expect the demise of SDLMAME?

That is interesting.

SDLMAME is part of the official distribution.  As long as R.Belmont continues to maintain the OSD code relating to it, it will remain.

If R.Belmont stops maintaining the OSD code, and nobody picks it up, it will be dropped the same way as the DOS port was.

R.Belmont DOES develop in Linux, so it's in his own interests to keep maintaining.



Erik

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 181
  • Last login:August 10, 2013, 09:04:35 pm
Re: the state of mame
« Reply #438 on: January 16, 2011, 08:00:06 pm »

I haven't read most of the posts here and I don't have much to add to the debate, but I agree with points on each side.  The only thing I would add to it is that for the past few years it seems whenever I look at a new MAME release for what games have been added it's generally some game where you remove squares to expose a naked little girl  (I take it these are the mahjong games I see referenced).  Seems tacky to me and a strange direction for MAME to go.  Documentation?  :dunno

The same can't be said for Linux, at all, even Ubuntu had major issues with GL, Audio, SDL and MAME last I heard, and good luck just being able to pick up a binary and run it on an older distribution.
I'm not a Linux-guy or a Windows-hater or anything but I have used the last several Ubuntu releases and I much prefer it to Windows.  I've never had these graphics or sound issues in Linux.  The only thing that holds me back from using it in an arcade cab is that I loathe every Linux frontend I've ever tried.  After testing many Linux FEs I gave up and run MAME from command line.

Haze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1296
  • Last login:October 04, 2023, 08:30:02 am
  • I want to build my own arcade controls!
    • MAME Development Blog
Re: the state of mame
« Reply #439 on: January 16, 2011, 08:26:17 pm »

I haven't read most of the posts here and I don't have much to add to the debate, but I agree with points on each side.  The only thing I would add to it is that for the past few years it seems whenever I look at a new MAME release for what games have been added it's generally some game where you remove squares to expose a naked little girl  (I take it these are the mahjong games I see referenced).  Seems tacky to me and a strange direction for MAME to go.  Documentation?  :dunno

Seemed like a strange direction for the industry to go, but, it sold.

As I said, it's not up to MAME to discriminate against certain genres of game because they're a steaming pile of poo.

There are examples of more interesting things happening in MAME tho.

Let's just say that R.Belmont, who maintains SDLMame and developers on Linux was telling people explicitly NOT to use Ubuntu for MAME, because it caused more problems than it solved.  Maybe it's since improved, but things like this have always been a problem with Linux distros whenever I've tried them; I found the same when trying to use virtualization stuff and Linux, even if there are supposedly many 'current' versions of 'Linux' the virtualization integration components only work with certain ones.  For what should be a 'single' platform it's far too fragmented for it's own good, Windows on the other hand, isn't (unless you count the server versions, but they're really just the same anyway)  This makes Windows a better target platform and is a far more important fact than any of the PR bull Microsoft spew out, and probably one of the reasons many (commercial) developers really don't bother with linux.




« Last Edit: January 16, 2011, 08:33:12 pm by Haze »