Main > Everything Else

Is MAME going downhill?

<< < (10/11) > >>

torino:

--- Quote from: jimmy2x2x on June 16, 2011, 07:39:08 am ---
You have a situation where people are looking backwards for a usable version, rather than looking forward.


--- End quote ---

That's it. But do you see it's not logical? The meaning of that sentence really begs the question: Is MAME going downhill? And if you are right, if your statement is correct, then it actually answers that question with "yes".

Progress and evolution is when things become consequently better and you look forward for the next iteration to see improvement, but when you need to look backwards to find "better", then you are obviously looking at what is called digress and devolution, or plainly said "going downhill". It's plain logic really, so the only question that remains is whether your statement is indeed true, and I think it is, it's certainly true for me. However, I also agree with you that this is not directly caused by "wrong" actions, it's more about the lack of right changes and reluctance or inability to make important decisions.

Grasshopper:

--- Quote from: torino on June 17, 2011, 04:30:33 am ---C++ does not make it easier to compile or debug, it's rather the opposite. The only thing that is easier about C++ is to misuse it.

--- End quote ---

Agreed. C++ is a truly horrible incoherent bloated mess of a language.

If you want maximum portability and readability combined with speed then I still think it's best to stick with pure C, making sure your code conforms rigidly to the C89 standard. The C99 standard (which isn't properly supported by most compilers) introduced a lot of pointless bloat without adding significantly to the power of the language.

gabe:
It's the circle of life.

Haze:

--- Quote from: torino on June 17, 2011, 04:30:33 am ---The first thing they have to do is to isolate game drivers from the main emulator engine, so no one needs to fiddle around core functionality in order to include any new game or fix something in already supported game, and fear some other game might stop working because of it.

--- End quote ---

At the risk of replying to this nonsense.

Yes, MAME is going 'downhill' in the sense that it's getting worse (it's not however 'on the downhill straight' by a long stretch, there is a lot of hard work to do but also plenty of easy stuff which is simply being overlooked)  The reasons are varied, some of them built on sound logic, others complete nonsense.

The statement above makes absolutely no sense tho.

Each and every game board MAME, or MESS emulates is a bunch of off-the-shelf components in some cases mixed with custom chips for video / sound.  Take for example the YM3812 sound chip.  Emulation of this is in common, shared files, there is one copy of the emulation, shared by (according to MAWS) 404 different individual game boards.  Using a CPU as an example instead, the Z80, used by 4945 drivers.  M68000, 3175 drivers.

Of course there is going to be a risk of breaking one of those games if a fix is made to one of those cores, but the alternative would be to duplicate the sound core 404 times, once for each individual game, just to ensure that no chances could possibly affect anything other than the game being fixed.  That would be insanity to say the least.

Each of those emulation cores also often relies on common core implementations of other components.  There is the timer system, used to emulate accurate timing in the core, to schedule future events, run the CPUs for the correct amount of time etc.  Practically every core component in MAME depends on this, so again, if that were to be broken by a change, the fallout would be large, but likewise the alternative would be for each and every core to have it's own implementation of exactly the same thing.

Every component MAME emulates is like that.  Some of these chips were used thousands of times, some only once.

MAME drivers simply link components together in the correct configurations and provide the board-specific glue-logic needed in order for them to work therefore to isolate the drivers from the core would be to strip away the very emulation of the common chips the boards needed to operate.  How well does your Donkey Kong board work if you isolate it from all of the mass-produced CPUs, IO chips etc?

Right now a simple MAME driver can be a handful of lines of code, making drivers completely independent of the core yet still functional would result in an individual driver being several hundred KB of code which in the majority of cases would have been just copy+pasted from somewhere else.  You'd have no idea which implementation of any given component was actually the best with 4000 of them copy+pasted with slightly different hacks applied all over the place.  By simply merging the implementation of 16-bit Data East chips recently I was able to fix a number of long-standing bugs in things like Tattoo Assassins simply because the driver had previously been relying on an old copy+pasted implementation which hadn't been updated with the latest findings and thus was simply rotting; that's what happens if you're carrying duplicated code all over the place.

As I said, there are reasons things are getting worse, but that's not one of them.  Tighter sharing of component emulations, reuse of common implementations is hugely beneficial to the overall emulation quality even if it does incur the risk of things getting broken when common code is changed (which is a good indication that your changes are wrong, and thus useful to know)

The main argument thrown forward by the few remaining members of the team is that every left is just too hard.  This is something of a fallacy, or they're simply completely incompetent at actually writing *emulation* code these days.  Things like the Namco cocktail modes should be the most simple of fixes yet are completely overlooked, likewise broken save states, liable to cause MAME to simply crash on one of the most common sound chips doesn't help matters at all, but nobody looks at it.  I can't be bothered with fixing this kind of thing for them anymore.  There are also other systems which people have shown are nowhere near impossible to emulate (Model 2 for instance) which simply sit in a state of disarray in MAME.


torino:

--- Quote from: Haze on July 08, 2011, 02:39:00 pm ---At the risk of replying to this nonsense.

--- End quote ---

Your blabbering is nonsense as it has nothing to do with what I said.

I was referring to "main emulator engine" and you are talking about "CPU cores".

I'm talking about host platform stuff, like control input and audio/video output handling.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version