The NEW Build Your Own Arcade Controls

Main => Everything Else => Topic started by: PixelCloud on April 04, 2005, 04:08:18 pm

Title: MAME emulation: the most poorly coded emulator
Post by: PixelCloud on April 04, 2005, 04:08:18 pm
The thought crossed my mind the other day; when new software is released the goal is to make it more functional, better features, and faster. MAME is quite the opposite of what any developer is trying to accomplish.

Every new version of MAME brings about small changes, minimal features. and the software is very more user friendly or functional. AND its also SLOW; with every new version they put out it should be faster then the older version, not slower.

Why cant they add a functional controller configuration tool? A nice GUI? Why does MAME seem to be conuter productive to effective software development?

I love MAME as much as everyone else; but the software pisses me off.

/rant
Title: Re: MAME emulation: the most poorly coded emulator
Post by: ChadTower on April 04, 2005, 04:11:25 pm
Erm, how about you start paying for it, then?

Are you an actual software engineer?  If you were, you'd understand why most of what you just said is dumb.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: sc1103 on April 04, 2005, 04:17:10 pm
The thought crossed my mind the other day; when new software is released the goal is to make it more functional, better features, and faster. MAME is quite the opposite of what any developer is trying to accomplish.
MAME is not a piece of software for people to play in some cases *illegal Roms* MAME is used for archiving the disappearing hardware of various arcade games/cabinets/systems (whatever that word is).  In order to achieve the most precise emulation, our current systems may not be able to handle emulating certain games at full speed.  MAME is a documentation process, not an emulator solely for the purpose of running *illegal* games.

Why cant they add a functional controller configuration tool? A nice GUI? Why does MAME seem to be conuter productive to effective software development?
If MAMEdevs took the time to add all these to each standard build, the rate at which they add new games to MAME builds would decrease even more!  There are outside tools that allow you to do such and more (MAME32, Giveaway, etc.).

Please don't take offense at this posting.  Merely a couple of counterpoints  ;)
Title: Re: MAME emulation: the most poorly coded emulator
Post by: PixelCloud on April 04, 2005, 04:23:02 pm
Erm, how about you start paying for it, then?

Are you an actual software engineer?  If you were, you'd understand why most of what you just said is dumb.


Care to explani then? Or are you jsut going to rebut with empty remarks.

And most devs that release free software like to add features and better their software. That is what OSS is all about.

Title: Re: MAME emulation: the most poorly coded emulator
Post by: PixelCloud on April 04, 2005, 04:29:09 pm
The thought crossed my mind the other day; when new software is released the goal is to make it more functional, better features, and faster. MAME is quite the opposite of what any developer is trying to accomplish.
MAME is not a piece of software for people to play in some cases *illegal Roms* MAME is used for archiving the disappearing hardware of various arcade games/cabinets/systems (whatever that word is).  In order to achieve the most precise emulation, our current systems may not be able to handle emulating certain games at full speed.  MAME is a documentation process, not an emulator solely for the purpose of running *illegal* games.


But as we all know it IS used to run *illegal* games, and in some cases *legal* games.  If that was really the case none of the games would be playable.

Why cant they add a functional controller configuration tool? A nice GUI? Why does MAME seem to be conuter productive to effective software development?
If MAMEdevs took the time to add all these to each standard build, the rate at which they add new games to MAME builds would decrease even more!  There are outside tools that allow you to do such and more (MAME32, Giveaway, etc.).

Please don't take offense at this posting.  Merely a couple of counterpoints  ;)

Larger and fewer builds then. Larger updates > smaller updates (aslong as the update is warrented)

Significant changes are few and far between

I'm not trying to bash MAME or the devs (i love those guys) they do great work; i just want to see improvements, they would benefit everyone.


Title: Re: MAME emulation: the most poorly coded emulator
Post by: Zakk on April 04, 2005, 04:31:02 pm
Perhaps a more useful spot to voice your opinions on this subject would be the mame.net forums.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: PixelCloud on April 04, 2005, 04:33:28 pm
Perhaps a more useful spot to voice your opinions on this subject would be the mame.net forums.  They at least could give your their reasonings. 

i suppose, i just want to talk about it really. I know how much there acutally is to do with MAME, its obviosly not just like coding a SNES emulator or whatnot. I know there is a great deal of work to do. But i think that at somepoint we should see a major overhaul to the code, and the MAME emulator should be packaged with a GUI. etc, etc.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: ChadTower on April 04, 2005, 04:37:15 pm
Care to explani then? Or are you jsut going to rebut with empty remarks.

And most devs that release free software like to add features and better their software. That is what OSS is all about.

You clearly have no concept of how much work goes into MAME or other OSS.  You are one of those people who simply wants quality stuff free.  You also clearly don't understand MAME's actual purpose and seem to think that it has something to do with providing you with free games.  Hell, MAME isn't about playing the games at all in reality.

You want a major overhaul... why?  So that it works better for you?  So do it.  You do it.  THAT is what OSS is all about.  It's not about providing free stuff to ungrateful users.  It's about a community project in which people volunteer their professional skills.  If you want this to work in a certain manner so badly, you learn the skills and you make the changes.  At the very least you should be willing to donate so that someone else can dedicate more of their time to the project without having to stop supporting their family in the process.

MAME is really starting to bug me lately.  The user base has gone WAY BEYOND reason in expecting tons of free stuff, illegal stuff, stuff they never have any intention of buying.  These people aren't doing all this work so thousands of random people can play free arcade roms, but that is what MAME has turned into.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: GGKoul on April 04, 2005, 04:47:19 pm
You're forgetting that the MAME devs are adding Arcade Drivers to the code inorder for the ONE software to play MANY roms.

If you don't like it, then remove the drivers you don't like and re-compile one for yourself.

As for GUI for MAME.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: PixelCloud on April 04, 2005, 04:50:39 pm
Care to explani then? Or are you jsut going to rebut with empty remarks.

And most devs that release free software like to add features and better their software. That is what OSS is all about.

You clearly have no concept of how much work goes into MAME or other OSS.  You are one of those people who simply wants quality stuff free.  You also clearly don't understand MAME's actual purpose and seem to think that it has something to do with providing you with free games.  Hell, MAME isn't about playing the games at all in reality.

You want a major overhaul... why?  So that it works better for you?  So do it.  You do it.  THAT is what OSS is all about.  It's not about providing free stuff to ungrateful users.  It's about a community project in which people volunteer their professional skills.  If you want this to work in a certain manner so badly, you learn the skills and you make the changes.  At the very least you should be willing to donate so that someone else can dedicate more of their time to the project without having to stop supporting their family in the process.

MAME is really starting to bug me lately.  The user base has gone WAY BEYOND reason in expecting tons of free stuff, illegal stuff, stuff they never have any intention of buying.  These people aren't doing all this work so thousands of random people can play free arcade roms, but that is what MAME has turned into.

Cry about it somemore?

How about instead of bashing everything i say with flames, acutally add something useful to the conversation? If not get the <auto-censored> out of my thread.

EDIT: i suppose you own every rom you play?
Title: Re: MAME emulation: the most poorly coded emulator
Post by: PixelCloud on April 04, 2005, 04:51:57 pm
You're forgetting that the MAME devs are adding Arcade Drivers to the code inorder for the ONE software to play MANY roms.

If you don't like it, then remove the drivers you don't like and re-compile one for yourself.

As for GUI for MAME.  There are lots of them... just look.


That doesnt get past the point that it shouldn't make the software slower.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: GGKoul on April 04, 2005, 04:59:07 pm
You're forgetting that the MAME devs are adding Arcade Drivers to the code inorder for the ONE software to play MANY roms.

If you don't like it, then remove the drivers you don't like and re-compile one for yourself.

As for GUI for MAME.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: Shape D. on April 04, 2005, 05:04:53 pm
EDIT: i suppose you own every rom you play?
So you have a Mame program with 100's(?) of games...and you own every one as a PCB?

No, I don't have a MAME setup.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: PixelCloud on April 04, 2005, 05:09:37 pm
You're forgetting that the MAME devs are adding Arcade Drivers to the code inorder for the ONE software to play MANY roms.

If you don't like it, then remove the drivers you don't like and re-compile one for yourself.

As for GUI for MAME.  There are lots of them... just look.


That doesnt get past the point that it shouldn't make the software slower.


I guess you don't work at a software company? 

Any new software enhancements usually means you should get a faster machine in order to run the lastest enhancements at the peak levels.  If this wasn't the case, then I should be able to run WinXP on my old IBM AT.

hmmm strange how windows xp ran faster on my comp than windows 2000, or 98 ever ran.

choose your examples wisely
EDIT: and we are dealing with software where speed ia a important factor and careful consideration should be put into it
Title: Re: MAME emulation: the most poorly coded emulator
Post by: ChadTower on April 04, 2005, 05:13:26 pm
My input IS useful.  It is from the point of view of the type of person you want to do this work for you.  If all you want to hear is "yes sir, I'm going to jump to it and ignore my kids for a month so that you can play your illegal games a tad faster", you're not going to hear that from me or any other professional.

Don't forget, just because you may not like the answer, doesn't mean it's invalid.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: PixelCloud on April 04, 2005, 05:17:30 pm
My input IS useful.  It is from the point of view of the type of person you want to do this work for you.  If all you want to hear is "yes sir, I'm going to jump to it and ignore my kids for a month so that you can play your illegal games a tad faster", you're not going to hear that from me or any other professional.

Don't forget, just because you may not like the answer, doesn't mean it's invalid.

your input isnt valid becuase it doesnt address the issues at hand...

we are talking about MAME, NOT about me.

just because i said something you might not like to hear doesnt mean you automatically have the right o go off flaming me about things that dont even matter
Title: Re: MAME emulation: the most poorly coded emulator
Post by: GGKoul on April 04, 2005, 05:18:53 pm
You're forgetting that the MAME devs are adding Arcade Drivers to the code inorder for the ONE software to play MANY roms.

If you don't like it, then remove the drivers you don't like and re-compile one for yourself.

As for GUI for MAME.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: GGKoul on April 04, 2005, 05:22:42 pm
My input IS useful.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: PixelCloud on April 04, 2005, 05:24:22 pm
You're forgetting that the MAME devs are adding Arcade Drivers to the code inorder for the ONE software to play MANY roms.

If you don't like it, then remove the drivers you don't like and re-compile one for yourself.

As for GUI for MAME.  There are lots of them... just look.




That doesnt get past the point that it shouldn't make the software slower.


I guess you don't work at a software company? 

Any new software enhancements usually means you should get a faster machine in order to run the lastest enhancements at the peak levels.  If this wasn't the case, then I should be able to run WinXP on my old IBM AT.

hmmm strange how windows xp ran faster on my comp than windows 2000, or 98 ever ran.

choose your examples wisely
EDIT: and we are dealing with software where speed ia a important factor and careful consideration should be put into it

WinXP is much faster the 2000.   It's all in the design.  But it doesn't mean I can still run the software on older equipment. 


i didnt mean you to think i meant it in that sense. But if i upgrade to a newer version and the changelog doesnt have any significant changes to the codebase, AND i see a slowdown on the same computer. There has to be somethng wrong with that.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: saint on April 04, 2005, 05:42:46 pm
Your whole premise is invalid Pixel -- MAME isn't meant to be playable software. That's a side affect of its goal. MAME is a documentation project. It's designed to document as many arcade games as the devs see fit before the games drop off into obscurity and disappear from bit-rot.

MAME devs will break functionality at times in their quest to more faithfully document the hardware/software.

MAME is written in C instead of something faster, say assembler, because it's a documentation project and not a game-playing project.

Being unhappy with it for not being more playable/friendly/speedy is like being unhappy with MAC-OS because it doesn't run Windows applications better. You're barking up the wrong tree.

--- saint
Title: Re: MAME emulation: the most poorly coded emulator
Post by: GGKoul on April 04, 2005, 05:45:14 pm
i didnt mean you to think i meant it in that sense. But if i upgrade to a newer version and the changelog doesnt have any significant changes to the codebase, AND i see a slowdown on the same computer. There has to be somethng wrong with that.


You don't get it.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: shmokes on April 04, 2005, 06:18:29 pm
Yeah....think of it like this.  Obviously a modern PC is WAY MORE than capable of handling Cruis'n USA level graphics and sound.  Hell, N64 handled that fine.  MAME is not meant to be able to play Cruis'n USA, it is meant to emulate the hardware that originally ran it in the arcades.  MAME makes your computer pretend to be completely different hardware -- different processor architectures, different memory subsystems, etc.  It is deliberately inefficient.  They're nto trying to give you a playable experience, they're trying to give you a historically accurate documentation of arcade hardware.  If Midway wanted to release Cruis'n USA today they would port the game to the PC and modern PC's would be capable of running it at 1000 FPS. 

MAME is a Multiple Arcade Machine emulator, not a Multiple Arcade Game Emulator.  It's a significant difference, and completely explains why it is so inefficient at playing games.

And WinXP being faster than Win2000 (it obviously is not faster than Win98) is an exception, not the rule.  They're both Windows XP is just an optimized Windows 2000.  Both are running on the same core.  Adobe Photoshop CS has higher minimum requirements than Photoshop 7, which had higher than 6, which had higher than 5.5, etc.  MS Office 2003 has higher minimum requirements than 2002, which had higher than 2001.  Doom 3 has higher than Doom 2, WinXP has higher than Win 98 which has higher than Win 95.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: ChadTower on April 04, 2005, 07:49:07 pm
Your whole premise is invalid Pixel -- MAME isn't meant to be playable software. That's a side affect of its goal. MAME is a documentation project. It's designed to document as many arcade games as the devs see fit before the games drop off into obscurity and disappear from bit-rot.

That's pretty much the point I'm trying to drive home for him.  It's NOT a game playing system.  The fact that he is very likely trying to use it for illegal purposes, without paying a dime to anyone, just makes his complaints so much worse. 

Unfortunately, he probably represents far more of the MAME userbase than I do now.  It kind of makes me sick and is making me consider moving away from the application altogether.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: ChadTower on April 04, 2005, 07:54:44 pm
EDIT: i suppose you own every rom you play?

Oh, hadn't seen this, and I have said it here as recently as last week.  I do not have a MAME setup, so yes, I own every ROM I play.  I have MAME hardware that is quite nice but I came to realize that I want to respect IP and put the MAME hardware on the shelf until I have another use for it.  I haven't used an emulator in a couple of years at least for other than code development and testing.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: danny_galaga on April 04, 2005, 10:51:30 pm
yes, its supposed to be a documentation project, but who here DOESNT have it so that they can play it. if not, why build a cabinet for it? just leave it on a hard drive or some dvds and lock it up somewhere. pixel is making a valid comment, although as others have said maybe he could make his suggestions to the devs.

i think most of the slowness etc comes about because of how much mame supports. perhaps a solution would be to have an option to break it up into a couple of chunks- say all games up to 1990 or so (maybe call it MAME classic) , and then one for 1990 to 2000 and then a third. although having said that where would you make the breaks? i like one or two games from 91-92 so even then id still need two 'mames'.

im very happy with version 78 (in a way it is MY 'mame classic') as it is fast enough and plays all the games im interested in so none of this effects me as such.

Title: Re: MAME emulation: the most poorly coded emulator
Post by: DaveMMR on April 04, 2005, 10:58:07 pm
(...jumping in on the conversation late...)

I don't know what you're talking about Pixie Cloud.  MAME is a great program.  And why are you so angry about your non-enjoyment of it?  You didn't have to spend a dime on it (not including, of course, internet connection fees). 

It's no wonder why programmers are always so mad (I came up with that conclusion after reading a tirade-filled readme file).  People are always harassing them for personalized help, inane features, and impossibly speedy updates with little thanks (and definately no money) in return.  Then you and your ilk will spend $50 on some retail game with more bugs than a... err... uh... Roach Motel (groan)... and happily play it and tell all your friends how awesome it is became the magazine article says "it Rocks!"

Finally, be happy with how far computers have come that you can actually play the real arcade game (a side effect according to MAME documents, yes, but a nice one).  I remember a world where we had to make due with the Colecovision versions.  Even the NES couldn't fit that cement factory level in their version of Donkey Kong.         



Title: Re: MAME emulation: the most poorly coded emulator
Post by: TalkingOctopus on April 04, 2005, 11:05:33 pm
I love MAME.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: monkeybomb on April 04, 2005, 11:15:35 pm
I don't understand what some of the fuss is?  This non-sense about
Title: Re: MAME emulation: the most poorly coded emulator
Post by: paigeoliver on April 04, 2005, 11:30:36 pm
The "mame is documentation" bit is a complete crock, writing something in a text file does not make it true. I have read all the text related to the original project, I have read the personal websites and usenet postings from the developer. Mame is NOT about documentatio.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: JB on April 05, 2005, 12:58:16 am
The "mame is documentation" bit is a complete crock, writing something in a text file does not make it true. I have read all the text related to the original project, I have read the personal websites and usenet postings from the developer. Mame is NOT about documentatio.
Particularly given how they play with the controller emulation to make games playable without exotic setups.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: Daniel270 on April 05, 2005, 01:53:46 am
I don't really want to be on the negative side of the "documentation" argument... I see it as a legit point... however...if it's strictly that then

1) Why make the program publicly available?

2) Why distribute the ROMs?
Title: Re: MAME emulation: the most poorly coded emulator
Post by: SOAPboy on April 05, 2005, 05:09:58 am
Care to explani then? Or are you jsut going to rebut with empty remarks.

And most devs that release free software like to add features and better their software. That is what OSS is all about.

You clearly have no concept of how much work goes into MAME or other OSS.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: menace on April 05, 2005, 06:59:58 am
Quote
perhaps a solution would be to have an option to break it up into a couple of chunks- say all games up to 1990 or so (maybe call it MAME classic) , and then one for 1990 to 2000 and then a third. although having said that where would you make the breaks?

The mame build for the Gamepark console did this and I think it was an awesome solution to get around slowdown's due to one large build.  Is there a technical reason why this couldn't be done?  with mamewah and other programs supporting multiple emu's seamlessly it seems like it would be an optimal solution?  what am I missing?
Title: Re: MAME emulation: the most poorly coded emulator
Post by: Trenchbroom on April 05, 2005, 07:02:03 am
Don't forget another reason why MAME is written in C (and, hence, is inherently slower than it could be)--portability. 

Back in 1999 all the talk in the scene was about Retrocade.  Retrocade was gonna be the next MAME, but better because the developers were going to include all of the dirty hacks and write in X86 Assembly so that people could play advanced games on their low spec PC (their 486's, if you can believe that).

And it worked--go find a copy of DOS Retrocade and fire up Asteroids Deluxe (with backdrop...something else the Retrocade team pioneered) on a 486 DX4 100 someday.  Pretty damn impressive. 

I remember thinking that Retrocade was going to be excellent, just what I needed on my crap P150 machine.  But I also remember thinking that Retrocade was going to be a flash in the pan--a one year flash, a five year flash...but a short term fix (as it was, it was EXTREMELY short term fix, but that's another story).

The MAME devs chose to write strictly in C, never using machine specific Assembly hacks so that the program could be ported over to every system out there.  Also, many developers for MAME were Mac users who would not have come onboard to develop for MAME if it was targeted for PC users only.  This allowed for maximum team effort, maximum manpower (think of the thousands of hours of coding for this free program--unbelievable!) and for us, maximum fun.

All of this means that MAME will probably be around forever in one form or another.  Thanks to it's singular focus (whether or not you believe the "documentation" front is irrelevant) in 20 years when we are all jacking code directly into the Sony Cell v3.0 processors stashed in our brains we will still be able to play Pacman on the backs of our eyelids in all of it's beautiful low res glory.

Title: Re: MAME emulation: the most poorly coded emulator
Post by: SirPeale on April 05, 2005, 08:01:07 am
You can make builds with just a few drivers.  They're called 'tiny builds' but they don't make the system any faster. 

Emulation is purely MHz based.  The faster the computer, the better your game will run.  It's taking hardware calls from another machine, interpeting them in software, then outputting that interpetation to the screen and speakers.

It's been said that you need 10x the speed processor for each 1MHz, and that seems fairly accurate.

Documentation project aside, the Mame project strives for as accurate emulation as possible.  That means *no* hacks.  There are still some in there, not necessarily to get the game playable, but to help learn exactly what makes that piece of hardware tick.

There *are* emulators that take advantage of speed hacks and the like to play awesome on slower machines.  Raine and VAntAGE come to mind.  If you're looking to bash out a game without caring about how accurate it is to the arcade original, those are your guys.  Mame's not perfect by any stretch, but it's getting more accurate with every release. 

Look at Galaga.  It's been 'playable' just about forever.  But you had to rely on samples for some sound effects, and the video was just a teese off.  They kept working on it, and now, viola! it's just about arcade accurate.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: ChadTower on April 05, 2005, 08:07:52 am
The thing that gets to me the most is the sense of entitlement most users seem to have.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: shmokes on April 05, 2005, 08:38:44 am
What Peale said is what I'm talking about.  I don't think many people here, including the documentation people, think that the MAME devs don't play games or want us to play them.  But it's pretty clear that they ARE serious about accurately documenting the hardware and that this is largely the reason that 10 year old games play like molasses.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: nipsmg on April 05, 2005, 09:13:53 am
Exactly.

MAME is about emulating as accurately as possible. 

Dedicated emulators (like Zinc, U64, etc) use shortcuts to get the games to run quickly on modern systems, bypassing video hardware emulation and translating graphics to directx/OpenGl, etc. 

When a driver initially hits MAME, sometimes shortcuts are used.  As the drivers are corrected to create more accurate emulation, sometimes the side effect is a slowdown.

Also, don't forget mame is a MONSTER.  It's impressive to me that with the insane amount of drivers it has and games it handles that it runs as well as it does.   

Of course the developers want to play games, but I agree, the accuracy is actually what slows things down. 

And your original statement about the goal of software developers to make more optimized and faster software doesn't really fit in almost ANY scenario (besides maybe the Operating System).  Look at almost any commercial package (office, photoshop, IM Clients, web browsers).  If the only driving requirement was a speed increase, we'd all be using Excel 1.0 or Lotus 1-2-3 for spreadsheets, or MultiMate for word processing.  Unfortunately, what usually happens, is people demand more functionality, more features, and are willing to sacrifice speed as the cost.  Otherwise, I should be able to run Office 2003 on my 486 (I probably could, but I'd want to commit suicide within 10 minutes).  Of course you should always try to write tight and optimized code, but when you're adding an insane amount of features to a relatively small program (thousands of games on hundreds of different types of hardware all rolled into one small package) you're unfortunately going to have to give up some speed as a side-effect.

You're not a devloper, are you?

Title: Re: MAME emulation: the most poorly coded emulator
Post by: ChadTower on April 05, 2005, 09:29:27 am
You can make builds with just a few drivers.  They're called 'tiny builds' but they don't make the system any faster. 

Emulation is purely MHz based.  The faster the computer, the better your game will run.  It's taking hardware calls from another machine, interpeting them in software, then outputting that interpetation to the screen and speakers.

That's not entirely accurate.  Given different amounts of available RAM, the same build can run very different on one machine (with identical processors) than it does on another.  If it starts to run up against physical RAM limits it will turn to virtual RAM and start using the HD as overflow... now, if you eliminate the possibility of running into contention of physical memory, you are correct.

I still don't understand, and not one person has made a statement even addressing it, why so many users feel so entitled to these things that others worked hard to create.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: SirPeale on April 05, 2005, 10:38:07 am
That's not entirely accurate.  Given different amounts of available RAM, the same build can run very different on one machine (with identical processors) than it does on another.  If it starts to run up against physical RAM limits it will turn to virtual RAM and start using the HD as overflow... now, if you eliminate the possibility of running into contention of physical memory, you are correct.

I suppose it would depend on the OS as well, for the paging.  I don't believe DOS does this, for example.  But for the most part my statement is true.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: ChadTower on April 05, 2005, 11:06:44 am
I suppose it would depend on the OS as well, for the paging.  I don't believe DOS does this, for example.  But for the most part my statement is true.

Yep.  Minus other, smaller, physical limitations like bus speed, you're right about the fact that removing some drivers isn't going to speed up MAME.  Emulation is very much a horsepower proposition, primarily but not exclusively driven by the CPU.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: RayB on April 05, 2005, 11:20:58 am
I think there's a paradigm problem here, and Pixel would understand if he were given a proper explanation rather than indirect arguments. Sometimes being specific will turn on that lightbulb over a person's head. Know what I mean?

So here's the plain and simple explanation PIXEL:

When the MAME devs started coding the emulators for specific games, they would often have to write "band-aid" fixes for certain parts of the hardware that couldn't be emulated properly. For example, they might have emulated the CPU for GALAGA, but the not the sound chip, so instead they had to trigger sound sample files. This is not true emulation (even though playing the game it LOOKED 100%, right?)

So then later, they emulate another game that uses the same sound chip and they get the sound chip emulation working. So in the name of 100% correct emulation, they go back and "fix" Galaga to now link in to the proper sound chip emulation. Oh, but what happens now? The emulation is now 30% slower because it is no longer running the sound "hack", but instead is running the correct sound chip emulation code.

Then sometimes it turns out that even though it's the same chip they are emulating, there were minor differences between different games, (such as the timers, or minor chip revisions) so one game might run correctly now with the new emulation code, but another would get "broken".

Now if you consider how many chips and other components each game circuit board has, there's many reasons why emulation could slow down with each revision. First they might emulate only the CPU and then use hacks to get the video and sound working. Then they would emulate the video chip(s). Then the sound chip(s). They then would replace hacks for timers, with accurate emulations of the timers. Perhaps there were RAM and ROM addressers, etc, etc, etc. With each CORRECT emulation of each of those components, that means there is more and more code to run, so of course things will slow down.

This is why Chad was harping about MAME's purpose being not to PLAY the games, but to properly EMULATE them.

So that is the WHY. And it makes perfect sense. Now go read your thread topic and ask yourself why that wasn't an invitation to get flamed?

~Ray B.

Title: Re: MAME emulation: the most poorly coded emulator
Post by: Harry Potter on April 05, 2005, 01:05:04 pm
Pixel sounds like a poster on MAME.net about 2 months ago. Same style of speech, same arrogance, same dissapearing trick once the ball got rolling.

Can't believe we're getting trolls in THIS forum.

Then again, there is Drew but he's funny once a month.  ;D
Title: Re: MAME emulation: the most poorly coded emulator
Post by: screaming on April 05, 2005, 01:14:45 pm
So here's the plain and simple explanation PIXEL:

  This post should be appended to M14 (http://www.mame.net/mamefaq.html#m14) in the MAME FAQ.  Thanks RayB! I'm a relative MAME veteran and this post helped me!

-sab
Title: Re: MAME emulation: the most poorly coded emulator
Post by: lokki on April 05, 2005, 01:58:58 pm
Every new version of MAME brings about small changes, minimal features. and the software is very more user friendly or functional. AND its also SLOW; with every new version they put out it should be faster then the older version, not slower.

Looks like you are also complaining that each new version has small changes. But do you realize that MAME is now pretty much on a monthly schedule?
How many other projects can you name add as many features a year.
Looks like there where over 600 new games added in the last 12 versions.
That looks pretty good to me
Title: Re: MAME emulation: the most poorly coded emulator
Post by: JB on April 05, 2005, 05:08:48 pm
The law is very clear on this matter and so is the morality.
Actually, the morality ISN'T very clear on the subject. Morality is a very personal thing.

MY morality says that if it's commercially available, I buy it or do without. If it becomes available after I download it, either through a re-release or remake, I buy it.
If I stumble upon a used copy of the game, or an older adaptation, I'll likely pick it up just because.

I've spoken with people that feel software costs too much and that makes them justified to steal it.

I know people who won't touch remakes, regardless of how faithful it is.

Obviously your morality says that it's always wrong.

But that's just yours. And I've presented 3 alternate moralities that are every bit as clear on the subject, but come to totally diffrent conclusions.




BTW, your BMW theft analogy is flawed. My downloading of Missile Command ROM images didn't make someone else's PCB disappear. All the Missile Command boards that haven't been destroyed are still out there.


I've also bought several versions of Missile Command.
The arcade version 3 times in various retro-gaming compilations, the 2600 game once in a retro-gaming compilation, 5 times in real carts, the 5200 version 3 times in real carts, and the PC remake once.
Meaning I legally own THIRTEEN diffrent copies of the game, eleven of which were intended as faithful recreations of the arcade game, and three of which are emulations of the arcade game on a PC using actual ROM images.

And if I prefer to play it in MAME instead of Atari: 80 Classic Games, well, I think I've bought the game enough times that it doesn't matter.
But that's another story entirely.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: Shape D. on April 05, 2005, 05:20:19 pm
Actually, the morality ISN'T very clear on the subject. Morality is a very personal thing.

MY morality says that if it's commercially available, I buy it or do without. If it becomes available after I download it, either through a re-release or remake, I buy it.
If I stumble upon a used copy of the game, or an older adaptation, I'll likely pick it up just because.

I've spoken with people that feel software costs too much and that makes them justified to steal it.

I know people who won't touch remakes, regardless of how faithful it is.

Obviously your morality says that it's always wrong.

But that's just yours. And I've presented 3 alternate moralities that are every bit as clear on the subject, but come to totally diffrent conclusions.




BTW, your BMW theft analogy is flawed. My downloading of Missile Command ROM images didn't make someone else's PCB disappear. All the Missile Command boards that haven't been destroyed are still out there.


I've also bought several versions of Missile Command.
The arcade version 3 times in various retro-gaming compilations, the 2600 game once in a retro-gaming compilation, 5 times in real carts, the 5200 version 3 times in real carts, and the PC remake once.
Meaning I legally own THIRTEEN diffrent copies of the game, eleven of which were intended as faithful recreations of the arcade game, and three of which are emulations of the arcade game on a PC using actual ROM images.

And if I prefer to play it in MAME instead of Atari: 80 Classic Games, well, I think I've bought the game enough times that it doesn't matter.
But that's another story entirely.

Subzero?  ???
Title: Re: MAME emulation: the most poorly coded emulator
Post by: PixelCloud on April 05, 2005, 08:49:56 pm
Pixel sounds like a poster on MAME.net about 2 months ago. Same style of speech, same arrogance, same dissapearing trick once the ball got rolling.

Can't believe we're getting trolls in THIS forum.

Then again, there is Drew but he's funny once a month.  ;D

so since i have to goto school and i have appointments i'm trolling? i cant spend a billion hours on here a day i'm sorry.

i understand peoples points...
Title: Re: MAME emulation: the most poorly coded emulator
Post by: ChadTower on April 05, 2005, 10:34:30 pm
I've also bought several versions of Missile Command.
The arcade version 3 times in various retro-gaming compilations, the 2600 game once in a retro-gaming compilation, 5 times in real carts, the 5200 version 3 times in real carts, and the PC remake once.
Meaning I legally own THIRTEEN diffrent copies of the game, eleven of which were intended as faithful recreations of the arcade game, and three of which are emulations of the arcade game on a PC using actual ROM images.

Okay, that's one game.  None of those, BTW, legally entitle you to a copy of the real arcade rom.  Every single one of those is a derivative work.  They are not the arcade PCB, they are not the same code, very unlikely to have been written by the same authors.  Owning an alternate version of a game does not entitle one to the arcade ROM no matter how bad people want it to do so.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: JB on April 05, 2005, 10:51:39 pm
I've also bought several versions of Missile Command.
The arcade version 3 times in various retro-gaming compilations, the 2600 game once in a retro-gaming compilation, 5 times in real carts, the 5200 version 3 times in real carts, and the PC remake once.
Meaning I legally own THIRTEEN diffrent copies of the game, eleven of which were intended as faithful recreations of the arcade game, and three of which are emulations of the arcade game on a PC using actual ROM images.

Okay, that's one game. 
As an example.

Quote
None of those, BTW, legally entitle you to a copy of the real arcade rom.  Every single one of those is a derivative work.  They are not the arcade PCB, they are not the same code, very unlikely to have been written by the same authors. 
Actually, three of them ARE the same code.
Digital Eclipse does emulation, not ports.

I legally own three sets of ROM images. 2 of which I've not even got installed. I have the legal right to have THREE instances of Missile Command running at a time.


Of course, to legally use it in MAME instead of through the Digital Eclipse emulator, I'd have to disassemble "Missile Command.exe" and extract the ROM images myself.


Quote
Owning an alternate version of a game does not entitle one to the arcade ROM no matter how bad people want it to do so.
I AM aware of the legal standpoint. And have been for years. It's part of why I feel so strongly about buying ports, remakes, and reissues.

I've still bought the game 13 times. And bought the arcade game three times.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: DrewKaree on April 05, 2005, 11:49:09 pm

Then again, there is Drew but he's funny once a month.  ;D


I knew deep down you loved me  ;D

If you can't code the game or have the know-how to make something better/faster and - key point here - you haven't paid a dime for the software AT ALL, you have every right to learn what you need to in order to get it to work to YOUR satisfaction.

If you have PAID MONEY for a program, you have the right to gripe about the aspects of the product you PAID FOR.

You've not paid for MAME, and seem to not have the slightest inclination to learn how to code a better version, therefore, it's just whining when complaining that someone won't give you what you want when you want it, and for free to boot.

Why has this become an issue about the legality, usefullness, blah blah blah? 

Do any of you EXPECT Chris to bow to your wishes and design a jukebox that fits your needs, for your PC?  It's a nice BONUS that he's here and available and is willing to TRY to implement some of our ideas in his program, but the bottom line is that we're talking about FREEWARE and the author of said freeware owes us JACK and SQUAT in improvements/fixes/speed issues.

Period. 

Stop making this about something other than freeware that someone doesn't like and is FREE to look elsewhere for programs that work, or do the work himself.

Title: Re: MAME emulation: the most poorly coded emulator
Post by: PixelCloud on April 06, 2005, 12:17:27 am
Maybe we should just stop talking about this, clearly my interpetation of what MAME is for is different than the devs. Thats ok.

But to refue teh point about the community not being able to suggest improvements to OSS, that is jsut STUIPD.

Example... mysql is a free datebase, there are many problems that plague web developers when using mysql, but without these people telling teh devs at mysql about them they wouldnever be aware of the apparnet problems. And hence we have the "biggest release of mysql" coming uot soon with vast improvemnets to eveyrthing, and whats that? I can download it for free.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: Goz on April 06, 2005, 12:39:33 am
Pixel sounds like a poster on MAME.net about 2 months ago. Same style of speech, same arrogance, same dissapearing trick once the ball got rolling.

Can't believe we're getting trolls in THIS forum.

Then again, there is Drew but he's funny once a month.  ;D

so since i have to goto school and i have appointments i'm trolling? i cant spend a billion hours on here a day i'm sorry.

i understand peoples points...

BlueOakleyz is that you?
Title: Re: MAME emulation: the most poorly coded emulator
Post by: monkeybomb on April 06, 2005, 12:41:08 am
It is a little different, but it doesn't matter anyway.  People here get crazy if you go near MAME with anything but huge thanks.  ANY flaws as you may see them can't be mentioned here without getting creamed.  A while back someone posted a thread that said

what if mame could......

The person just wanted to play with ideas but even that wasn't permitted for very long. 
Title: Re: MAME emulation: the most poorly coded emulator
Post by: mccoy178 on April 06, 2005, 02:24:24 am
Society sucks.  Take this thread for example.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: Harry Potter on April 06, 2005, 08:33:14 am
But to refue teh point about the community not being able to suggest improvements to OSS, that is jsut STUIPD.

Example... mysql is a free datebase, there are many problems that plague web developers when using mysql, but without these people telling teh devs at mysql about them they wouldnever be aware of the apparnet problems. And hence we have the "biggest release of mysql" coming uot soon with vast improvemnets to eveyrthing, and whats that? I can download it for free.

You are thick. People can suggest improvements to MAME but since MAME is concerned with EMULATION ACCURACY and not SPEED, your suggestions are completely useless. Maybe one day when ALL gaming systems have been emulated perfectly and there are no more to add, they will optimise the code for a final release, ut I wouldn't hold my breath for that event.

As for claiming MAME gets slower: Did you know about 95% of all games in MAME are playable at 100% on current hardware?

The other 5% are thing like San Francisco rush, Gauntlet Legends, the STV games etc. which are quite Schei
Title: Re: MAME emulation: the most poorly coded emulator
Post by: rchadd on April 06, 2005, 08:52:22 am
seems to me that anyone that dares to not bow and worship before the Lord God MAME and the arch druid mamedev's are immediately castigated.

i think it is valid for mere mame users to make constructive critisism or suggestions even when it is free software.

to say you have to learn coding and contribute to the project before you can speak is invalid.

from previous postings i have seen from people claiming to be mamedevs it seems to me that whilst they might be good at coding they certainly are missing certain people/communication skills when relating to "ungrateful" "whinging" users. i think they definitely have issues relating to ego and status.

don't get me wrong i am very grateful for all the mamedevs hard work but at the end of the day its only software. if any mamedev is forsaking their family life to add a new game drivers to mame that would be very sad situation.


 
Title: Re: MAME emulation: the most poorly coded emulator
Post by: ChadTower on April 06, 2005, 09:30:59 am
i think it is valid for mere mame users to make constructive critisism or suggestions even when it is free software. 

This would be correct if he had offered constructive criticism.  There was nothing constructive about his criticism and there weren't any useful suggestions.  It was just criticism.   If he were criticizing a commercial project I wouldn't care, he paid and he's entitled to his criticism.  He didn't pay for MAME and that makes it different.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: rchadd on April 06, 2005, 10:03:29 am
This would be correct if he had offered constructive criticism.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: lokki on April 06, 2005, 10:43:58 am
Example... mysql is a free datebase, there are many problems that plague web developers when using mysql, but without these people telling teh devs at mysql about them they wouldnever be aware of the apparnet problems. And hence we have the "biggest release of mysql" coming uot soon with vast improvemnets to eveyrthing, and whats that? I can download it for free.

Funny you should mentioned MYSQL. They did listen and it only took 10 years for them to do so. Maybe in 10 years when MAME is done emulating all the arcade games they will work on your requests

Most important ever' MySQL reaches beta
 
The open source database company says it is 'fixing 10 years of criticism in one release', and is aiming at boosting enterprise take-up


http://news.zdnet.co.uk/software/applications/0,39020384,39192964,00.htm

Title: Re: MAME emulation: the most poorly coded emulator
Post by: ChadTower on April 06, 2005, 10:49:34 am
one advantage of open source projects is that inefficiencies in the code might be picked up by other projects contributors and corrected. but it is a fact of life that most software developers are interesting in adding new functionality instead of optimizing/fixing exisiting code.

Look.  He didn't offer anything constructive.  He came and said it's the worst coded emulator out there.  That's an insult.  He is biting the hand that feeds him.  Developers (like myself) do not like that, especially when they have worked this hard and long.  He came across ungrateful and spoiled and was treated as such.  You have to remember, the people working on MAME are doing it for free, in their spare time that they could be spending with their families or doing something more rewarding than providing free games for people who insult their work.  Constructive criticism is fine.  Insulting the work is not fine.  He was just plain disrespectful and you don't disrespect people who are doing a magnanimous thing for you.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: Shape D. on April 06, 2005, 11:10:52 am
Constructive criticism is fine.  Insulting the work is not fine.  He was just plain disrespectful and you don't disrespect people who are doing a magnanimous thing for you.
Amen
Title: Re: MAME emulation: the most poorly coded emulator
Post by: lokki on April 06, 2005, 11:29:10 am
Quote

just because he has not spent money on the software doesn't mean he doesn't have an opinion and is not allowed to express it. whilst he (and I) have not spent any money on Mame, probably like many others here we have spent precious time and money on building a cab.


Yes we have all (or most of us here) spent money on our cabs, but that does not benefit the developers in any way. I wonder how many here have contributed to the the MAME dumping Project (which does benefit the MAME community)

MAME Dumping Project (edit by saint) (http://www.mame.net/cgi-bin/wwwthreads/showpost.pl?Board=mamegeneral&Number=171274&page=0&view=expanded&mode=threaded&sb=5#Post171274)


Quote

are you sure that mame code is 100% efficient? i'm bet there are modifications that could be made to the code to make it more efficient in execution without going against the "its only for documentation purposes" argument.

sometimes programmers get lazy, lack knowledge of certain coding techniques  or simply have bad coding habits which result in inefficient code. i have yet to meet the perfect programmer and doubt such a person actually exists. whilst the code might be optimal at module level, there might be an inherent inefficiency in the architecture design of the application that leads to poor performance.

one advantage of open source projects is that inefficiencies in the code might be picked up by other projects contributors and corrected. but it is a fact of life that most software developers are interesting in adding new functionality instead of optimizing/fixing exisiting code.
Finally some conversation about the subject of the thread.  Most of it is pretty
have you looked at the MAME code?
Most of the code is very well written I have learned a ton just by looking at the MAME code. This is not to say that there is not room for improvement there is here in there the hard part is making changes so that they do matter.
And you are wrong in stating that all developers are interested in adding new functionaliy instead of optimizing existing code.  I like to optimize code and have submitted several optimizations to MAME that are now part of it. Mainly because I know how to do optimize and I don't know how to add new games or fix bugs.  Another challenge when for optimizing MAME is that it would be possible to optimize MAME to run better on Pentium IV (and get a decent improvement) but these improvements would not benefit other architectures (Macs etc).



Title: something to really stir it up
Post by: rchadd on April 06, 2005, 11:45:32 am
I wonder if the Ultracade emulator is more efficient at running games than Mame?

It must be because if costs $$$ right?
Title: Re: MAME emulation: the most poorly coded emulator
Post by: DarkKobold on April 06, 2005, 11:49:20 am
I've also bought several versions of Missile Command.
The arcade version 3 times in various retro-gaming compilations, the 2600 game once in a retro-gaming compilation, 5 times in real carts, the 5200 version 3 times in real carts, and the PC remake once.
Meaning I legally own THIRTEEN diffrent copies of the game, eleven of which were intended as faithful recreations of the arcade game, and three of which are emulations of the arcade game on a PC using actual ROM images.

Okay, that's one game.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: ChadTower on April 06, 2005, 12:05:55 pm
He wasn't talking legal. He was talking moral. Morally, I feel entitled to a game I've bought regardless of the version, regardless of what the law says. Laws != Morals. They just try.


 ::)
Title: Re: MAME emulation: the most poorly coded emulator
Post by: Harry Potter on April 06, 2005, 12:07:24 pm
Quote
And you are wrong in stating that all developers are interested in adding new functionaliy instead of optimizing existing code.  I like to optimize code and have submitted several optimizations to MAME that are now part of it. Mainly because I know how to do optimize and I don't know how to add new games or fix bugs.  Another challenge when for optimizing MAME is that it would be possible to optimize MAME to run better on Pentium IV (and get a decent improvement) but these improvements would not benefit other architectures (Macs etc).

Optimising is good and it does get done. Just look at the Seibu drivers.
The guy was carrying on like it was the dev's sworn duty to make all the games run 100% on a Pentium I just because he downloaded MAME. I think he needs to go and buy a 20ghz Pentium 12.

Besides, from experience, I cannot recall any game which has slowed down for me after a release. Then again, I don't play the 3D games much.

And who gives a Schei
Title: Re: MAME emulation: the most poorly coded emulator
Post by: lokki on April 06, 2005, 12:19:28 pm
There have been slow downs in MAME. But if a game used to run at 200 FPS and suddenly your computer can only run it a 100 FPS you won't care since your computer can still handle it.  (extreme example don't think something as dramatic has ever happened). So if you are using a brand new computer and upgrade frequently you will never notice. It is the older systems that have a problem.
If a 700MhZ could barely run Metalslug at 60 fps and a new version slows it down to 50 FPS people will notice.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: ChadTower on April 06, 2005, 12:21:50 pm
Yeah, it's not like every other piece of software in the existance doesn't require more computing power with each successive release.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: RayB on April 06, 2005, 05:13:55 pm
.. and the horse has just died.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: DrewKaree on April 06, 2005, 07:05:34 pm
.. and the horse has just died.


kick it again daddy....I think I saw it move :'(
Title: Re: MAME emulation: the most poorly coded emulator
Post by: DarkKobold on April 07, 2005, 12:41:19 am

kick it again daddy....I think I saw it move :'(

What is it with Drew Karee? I cry a tear every time my post is the last in a thread.... And yet, Drew strives to be the last person in a thread. I'd love to see #s of who has the most thread deaths attributed to their posts. For a while, I was sure I was the winner. 

Drew seems to have knocked me out in the title fight.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: shmokes on April 07, 2005, 01:21:59 am
Yoink!  I'll take that.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: DrewKaree on April 07, 2005, 02:17:29 am
Do you guys think you're playing with an amateur here? ;D

Kobold, I still vote you as top thread killer, I just took over your title of thread ENDER....big difference, hold your head up high little camper  :police: oops, I mean  :angel:
Title: Re: MAME emulation: the most poorly coded emulator
Post by: Bones on April 07, 2005, 06:51:24 am
Yeah but why don't dogs have lips?
Title: Re: MAME emulation: the most poorly coded emulator
Post by: RayB on April 07, 2005, 03:56:27 pm
*NEEEIIIGGHHH!!!*
Title: Re: MAME emulation: the most poorly coded emulator
Post by: Gunstar Hero on April 07, 2005, 04:05:43 pm
(lights the bomb and runs for cover)  ;)
Title: Re: MAME emulation: the most poorly coded emulator
Post by: Goz on April 08, 2005, 12:01:55 am
Boobs and Bacon

 ;D
Title: Re: MAME emulation: the most poorly coded emulator
Post by: rchadd on April 08, 2005, 06:04:04 am
.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: saint on April 09, 2005, 08:51:02 pm
I win.
Title: Re: MAME emulation: the most poorly coded emulator
Post by: SirPeale on April 10, 2005, 01:11:55 pm
Do you?