David Haywood's Homepage
MAME work and other stuff
December 28, 2013 Haze Categories: General News. 33 Comments on archive.org coverage on various sites.

I notice there are a number of sites (including Slashdot) now covering the fact that archive.org is hosting a complete collection of MAME 0.151 ROMs (without CHDs I guess)

While it should go without saying this has nothing to do with myself or Mamedev. The hosting of these files is the choice of the archive.org administrators, and their choice alone. We do not ship either MAME, MESS or UME with any roms, and have no intention of ever doing so. It is a reference emulation project only, something I’ve tried to stress many times.

The articles also seem quite confused, saying you can run them in JSMESS, when JSMESS is obviously for computers / consoles etc. (they also host a large collection of No-Intro stuff that is actually used with that) If it was JSUME or JSMAME it would be another story of course.

You can’t currently run console stuff in MAME, or arcade stuff in MESS. You can run both in UME, otherwise arcade in MAME, and console/computers in MESS.

I hope there is no negative fall out from this, but I feel it important to once again point out that MAME (and MESS) are NOT projects about playing free games and that we do not condone or facilitate large scale piracy.

What we provide is factual references, and emulation of hardware components. Our aim is to make these as good as possible, and be able to emulate ANY possible piece of software that might run on them; emulating and documenting more software allows us to improve our hardware emulations, improving our hardware emulations allows more software to run, naturally we reference what we have used to make this progress, but at no point do we actually provide it.

In terms of project goal you’ve only got to look at the MESS part of the codebase (that we now ship with the MAME source) to see there are emulations of random devices like EEPROM programmers, Car Computers, Digial Clocks and Homebrew computers etc. This hopefully shows that the project is about something much more important and with a much wider scope than what some people assume (that they’re simply projects about playing games for free). Even in MAME we emulate things like Firmware update programs, and have skeleton drivers for Coin-operated Jukeboxes (and in the most recent update, an electronic Darts board) none of which would be included if it was merely a project about playing games. FWIW this has always been one of my arguments for fully combining the project binaries by default, it makes this position a LOT clearer because most of the cases that demonstrate this well do come from MESS.

I should also stress that popular systems in MESS are also often handled differently to other emulators, there are reasons we document the proper content of cartridges, and require real rom dumps for things like NES where possible (rather than simply using .nes files which lose this information) Design choices like this might make things more inconvenient for users (and has zero benefits in terms of playability) but does result in our history being better documented which is more important when it comes to the goals of the project and again emphasizes that this isn’t simply a project about ‘free games’.


You can follow any responses to this entry through the RSS 2.0 feed.

THAT is a big zip file… 42 gig. Also looks like they are 2 versions behind on chds.

The slashdot discussions are interesting. As it is not entirely clear if it is copyright infringement or not as they are chartered as a library.

to me, it seems evident that it is a huge copyright infringement. the same would be if any online library would offer download of books which are not public domain

same goes with all the home computer / console games you can play online with JSMESS…

however, we do not endorse either of these activities, so I doubt we are in any way responsible for their mis-use of our work.

I don’t understand why people rave about having a full ROM set.

Is it some kind of general ROM fettish that people have, because they must have everything no matter if it is a completely useless file? Do you really want to fill your HDD with massive CHD files for games that don’t even work yet? Are you seriously going to play 35 clones of Street Fighter II and every Mahjong game? …. Do you even know how to play them?

ROM collectors defy every modicum of logic… just look how messed-up Cowering is these days!

Archive.org is “in collaboration” with the Library of Congress and the Smithsonian and this is their interpretation of “preserving history”.

The main problem we’re likely to face is accusations of contributory copyright infringement, ie if it appears that the main reason MAME exists is to let people play games for free.

As I mentioned in the article above, that’s why I think the MESS part is important, it significantly boosts the demonstrable legal use cases for the project by showing how the core and framework emulate a vast library of things that aren’t simply games to play; it’s also why I’ve highlighted some diversity in MAME in the past.

Unfortunately I do feel that MAME as we ship it is a bigger target for such a case because the vast majority of what gets emulated IS simply games and we specifically limit the scope to arcade games. This is just my opinion of course, if other devs felt the same way I imagine we would have seen the UME route taken a long time ago.

Naturally I see the real value of everything we’ve done, but it is important to stress that, while very few of our component emulators are *perfect* at this point we do have by far the biggest, most complete and most valuable collection of them in our project and it’s only really been possible to build those up thanks to all the work we’ve done. Any action taken against MAME would not just be a blow for arcade emulation, but a blow for anybody needing to understand the components MAME / MESS have helped to document (and proven to be working thanks to what we emulate with them)

There is a multi-state program in the US that lets you download books as long as you have a valid library card for a participating library. At least there was, I don’t know if it still exists. My county was not one of the counties that participated, so I never had a (legal) library membership to use it.

Some people want a full set because they think it makes them a bad-ass with a big penis. Most of the rest are just too lazy to sort through mame.lst for every release even if they know how to compile.

Something I’ve wondered about is the builds that remove all of the non-working games. Aren’t there some games flagged as non-working that are quite playable? I seem to remember there being a few a while back.

It’s easy to download a full set and keep it updated. Just go to your preferred torrent site, then a few clicks later you’re done, and it’ll download in the background while you do other things. Then you run MAME with a front-end that can filter out the genres of games you aren’t going to play. Better than spending hours, maybe days of wasted time sorting through roms to save a few GB of space in a time when 4TB hard drives are cheap.

Been this way in years.

Ever since the first MAME released.

concerning accusations of contributory copyright infringement, I think this rules out the problem


provided we report copyright infringements through MAME/MESS that we know about.

what I’m not sure about is whether archive.org can claim any “fair use”-like exception for these and/or for the TOSEC sets they host (and use in conjunction with JSMESS)…

I’m not really sure we are really *directly* comparable to anything in a file sharing application case, although yes, those are certainly cases where seemingly legal software has ended up caught in nasty lawsuits due to how people used it, and the way it was promoted.

My issue is of course “distribution of a commercial product capable of substantial noninfringing uses” and “Because the appeals court found respondents’ software to be capable of substantial noninfringing uses”

From my point of view the way we restrict what MAME runs to arcade games also significantly restricts our non-infringing uses, and almost shows intent that we care more about letting people play games and locking out other potential non-infringing uses on the basis that they’re not games. It feels like we’re shooting ourselves in the foot.

FWIW this is one of the reason I abolished the testdriver system back in the day, I was not happy / comfortable with a system where ‘playable game’ was the criteria for something being included in a release build, because it could be interpreted in a similar way to how a number of the filesharing apps (that ended up being pulled / sued) were primarily advertising how the applications could be used for pirating music / movies, for example how Napster specifically let you share MP3s rather than countless other non-infringing files despite the technology being there. I felt by making ALL our in-development drivers available it showed the more serious side to the project, rather than allowing for an interpretation that we were simply allowing people to play games. I specifically made a point of this at the time, highlighting development as the focus of the project rather than playable games, even if I do think it lead to me being rather unpopular and seen as a bit of an asshole for making MAME ‘less fun’ due to the clutter of the non-working drivers.

I know you’re a big opponent of it, but I still feel that the natural expansion of the scope of the project to what UME / MESS does today is a further step in that direction as it shows more and more uses for our framework and cores that would be considered ‘non-infringing’ which is an area MAME alone lacks in the form we ship it. It is by far our most vulnerable point IMHO. The more widely non-infringing use cases that are possible using our MAIN project, and the clearer our intent is, the better defense we have.

If it is decided that the primary reason for MAME existing is copyright infringement I don’t think anything else stated there matters.

This is also why I’d like to see the toolset be expanded to provide assemblers in addition to the disassemblers, it would also show that MAME allows for *development* and has a creative element to it, rather than being all about consuming ‘free games’ as some people see it. (it would also help when it comes to writing trojans, but that’s an aside)

We have taken other steps in recent years to help our cause here mind you, things like the debugger always being available rather than having to compile a debug build to get it do also show a more serious focus, as opposed to before that where our most powerful tool (that set us aside from every other emulator and showed that MAME was as much about *understanding* how things worked as anything else) wasn’t available in any of the binaries we actually provided. These days I’d definitely say our most powerful tool / side is the openness and opportunity the code from MESS presents. Maybe this helps you see one of the reasons I’ve always been keen to pull it all under one roof (and of course having the single SVN was a very positive step towards that, having a single project still feels like the next one.)

Essentially the more we can move MAME towards being a ‘complete emulation toolkit’, or ‘software bridge’ for ‘maintaining compatibility with old software’ as well as ‘aiding modern development for older platforms’ and show our databases to be like our own little Wikipedia / Encyclopedia to document the software / hardware combinations, the better it is for us. It’s also why I was a big fan of sites like MAWS, it took our information and presented it in a useful, searchable way combining it with screenshots etc. provided by the emulator showing how MAME was a very useful resource and a key link in ensuring knowledge of these systems is not lost and can easily be referenced by future generations; I had kinda hoped the web stuff might lead to a MAME.exe being able to power the workings of a site like that directly!

You may disagree with this direction (as do many others on the team seemingly) but it is something I’ve thought through many times and the case you’ve pointed out is just one of many that suggests it would be a good idea.


You put up a good case like you always do but there is one big point you are overlooking

The other Mame developers know that the primary purpose of Mame is playing games and still want that to be the primary purpose so your crusade against that will not alter anything except further alienate you from the group

This is also why they will loose if legal action is ever taken

MAME is an emulator for playing arcade games without paying and it will never be more than that because that is what the developers want


The only legal roms are here: http://www.mamedev.org/roms/


it is so funny how wrong you are… LOL

MAME has never been intended as a tool to play games for free. that’s just a side effect of the main documentation efforts.
if you were right, we would have never replaced samples with proper discrete sound emulation (just to mention the first unpopular change which came to my mind and proves you wrong), or we would have never started emulating mechanical devices (pinballs and fruit machines)

Maybe he’s not completely right but he’s not completely wrong either. How much money do you think would be donated toward hardware and dumps if people thought they’d never be able to play anything?

Except those donations don’t go to the MAME team, nor do they go to anyone directly associated with MAME. The dumping teams that take donations are not directly associated with MAME, nor should they ever be.

He might be wrong, but you aren’t right either. If MAME truly was a “documentation only” project then games wouldn’t be made playable at all. Information would be released, schematics and notes would be released, but a program wouldn’t exist.

I touted this stance for years until I realized just how foolish it was. If mame truly was a documentation only project then why can you play games on it? Heck for that matter why are compiled binaries released? Surely in terms of documentation only the source code is helpful.

MAME does a good job of documenting how games work BUT it allows you to play games and by doing so by default it is encouraging piracy as there are zero methods of playing these games through mame legally. (Except for the handful of public domain roms of course).

Don’t get confused… if you own a pcb you might have a moral right to play the rom via mame, but you don’t have any legal claims.

I am not passing judgment either way, I’m just pointing out that as a legal defense MAME being a “documentation project” is a rather flimsy one.

My point is that we’d have lot fewer playable games if donations had never been accepted.

I have never understood that obssesion of some people about MAME being only a “documentation project” and putting hurdles to users who want to play the games. I mean, it’s games what we are talking about, and they were made to be played, not to be studied.

It’s like if the movie industry started restoring a lot of classic movies and then stored the films in a room without showing them to anyone. They’d have been doing a great job but it would be useless because unfortunately nobody cared.

Preservation is useless if nobody is going to enjoy it, because movies need an audience and games need players.
Yes, there are pirates and egoist people who just want “free games”, but you have to live with it. They’re everywhere.

Except the working systems / games are the proof that things have been properly understood. There are piles of schematics out there, but you have no idea if they’re correct at all (many aren’t!) because they don’t actually do anything on their own.

I don’t really have much else to add here, there are obviously some strong arguments from both points of view. I’ve made it clear in my earlier reply that I do think there are things we could do to strengthen our position and I’m not going to post ‘LOL you’re wrong’ like eta has done to the other reply either because it’s a fairly typical viewpoint and one we should probably be working to change, not laughing at.

Obviously you need to strike a balance, there must be enough interest / visible progress with the project that it attracts developers (as well as regular users to actually TEST what we’ve done so performance must be acceptable) but at the same time we definitely need to drill home the more serious side to the project, eg. taking the opportunity MESS presents to provide user-documentation + runtime guidance etc. for many of the old computers and actually educate people on how they were meant to be used. (at the same time as not making them too difficult to use, because that’s self-defeating)

I do think there are too many people who currently think MAME (and our entire technology base) exists only to allow them to play arcade games when really we’re developing something much more important with countless other practical uses (although hiding a lot of it in MESS)

“I do think there are too many people who currently think MAME (and our entire technology base) exists only to allow them to play arcade games when really we’re developing something much more important with countless other practical uses (although hiding a lot of it in MESS)”

the problem is that most emulators are only considered as a way to play game without purchasing the original software. it’s far from being a MAME-only issue (and of course having things like DS emulators already playing launch titles after a few weeks from the commercial release do not help)
you’ll never change the attitude of those people who use emulator as piracy only, so I really see small point in discussing with them other than to laugh about how wrong they are…

The problem is you can laugh at them, but such majority opinions would count against us if it was down to a court to decide the primary purpose of MAME.

That’s why I like MESS with all the terminals, homebrew systems and random other devices, it provides a much clearer (and undeniable) demonstration of the real nature of our project which is one reason a lot of people dislike it! (more non-fun stuff, things that would require effort to understand etc., similar to how people dislike the fruit machine / pinball stuff in MAME ;-)

Learning how to use a program is not something that everyone wants to do. A lot of people don’t care to know how something they’re interested in works; they only care that it works. If I remember correctly, MAME was intentionally less intuitive to deter the k1dd135. Using MAME has always required knowing how to configure it if you want it to look right.

Configuring things wasn’t something a lot of users knew how to do, even when DOS was still widely used. Very few people that I knew could properly edit autoexec.bat or config.sys, let alone using command switches at a DOS prompt. Having a point and click interface now makes it that much more likely people will see using a program that needs to be configured as a hurdles.

I guess it would have been shorter to say that most of the hurdles people see are created by themselves. While I’m grateful to be able to use emulators to relive some of my childhood memories, I’m also grateful that making it just a little bit harder to learn and use kept certain people away for a while. That’s not to say that I think I’m better than others, but I don’t understand why so many people think anything that requires effort than usual that it’s not worth learning. There’s nothing wrong with giving people a little help with understanding something, but it seems that most people think helping them means doing it all for them.

Yeah, I agree that in MAMEs case it’s not bad to be a little more technical so to avoid certain people who can potentially hurt the project. Still, you have to be careful not to cross the line and putting too much hurdles to bother the “kiddiez” because, when we’re dealing with purist, there’s always the danger of messing it up (like what happened with Bsnes). In the end, a game it’s better preserved if 500 people play it instead of 5.

Yeah, there’s always a danger of putting so many hurdles in the way it puts off people who would otherwise want to contribute too.

I already feel MESS might be on the wrong side of that line in places, and some of the MAME politics probably don’t help us MAME side either.

Working on something you know nobody is going to use is frustrating, because you know as a developer you’re not going to be able to test all 10000 games on a system (eg. the Spectrum) even having extensive knowledge of 1000 for something like the Genesis is tricky, you NEED people using it to actually point out any problems, and then people who can either confirm / deny the same problems occur on hardware.

That’s why the difficulty curve with some MESS systems does still need to come down a bit IMHO, with the standalone emulators automating almost everything and hiding the dirty aspects of the systems we need to strike a balance, one where we can automate certain things, but explain to the user EXACTLY what is being automated and why (eg the keypresses that would be needed if things weren’t automated)

There are some hacks that MESS really shouldn’t be doing tho, typically the more dangerous ones (auto-detection of cassette copy protection routines and loading the games direct to ram without any load sequence just to save time) Of course some people *expect* that behavior and will never use MESS as a result, but it’s just starting to stray too far from emulation at that point IMHO. We do still support snapshots files, because unfortunately some very rare software is only available in that form, and we do have to document what we’ve been left with in some cases because discarding something completely because it’s not up to a standard is just throwing away the work of a previous generation that might well be irreplaceable. It’s quite worrying however that communities centered around some of the less known / popular 8-bits seem to have embraced the snapshot format and actively encouraged people to throw away real tape dumps because they’re ‘redundant’, instead providing all new software / hardware for the original systems to load snapshots instead as if they were somehow ‘better’.

Like I’ve said tho, it’s always a balance, and I don’t think trying to maintain such a balance puts us in the wrong because it would be foolish to think that the actual devs working on things don’t need to be able to run and test them too, in addition to having users do the same. MESS again provides a better example of why this is important to the development process due to the vast quantities of things some drivers need to run and the sheer impossibility that would be presented in trying to develop that (and thus ACTUALLY produce a reference quality emulator of the components in question) without assistance. (also a lot of that software is 100% legal, and sometimes designed specifically to help reach that goal, an important aspect missing in MAME which only covers commercial software hence again why I say the MESS code gives us legal balance and more closely reflects the actual goals of the project; I still fail to understand the opposition to bringing that into the primary build)

Haze,happy new year,is there any possible speed up the Cave shooting games?

No, it’s already very heavily optimized as far as MAME is concerned.

It ran at 15% speed when I got the driver, it’s amazing it runs as fast as it does today.

As usual, that article leaves out the important part, which is that it is not just about the arcade games, but about providing working emulation interfaces for the CPUs and other components inside the games. If somebody has an old system at work with a program that can’t be rewritten and can’t be replaced right away, MAME provides documentation and code to help them run that program via emulation.

They also don’t seem to have mentioned that without MAME many old games simply would have disappeared forever; even big software houses wouldn’t be able to provide updated releases of most of their classic games without it.

The short CYA’ed “MAME developers claim” description is kind of annoying but I guess it shows that journalists often don’t really care to understand an issue in-depth before writing a short piece about it.

well ‘UsaToday’ doesn’t strike me as a tech site, so you can understand the angle they’re taking.

I’d expect a more serious angle from places like Slashdot tho.

To a degree we only have ourselves to blame tho, like has been mentioned several times in these comments already we do our best to bury the MESS side of the project which best shows off an awful lot of the other uses for our code beyond ‘playing arcade games’ It should be a key part of the main offering by now, no doubt about it in my mind.

I still hold some hope that 2014 could be the year that changes, and we see the main project actually become a fully inclusive one, but when you’ve got devs like etabeta above laughing at the problem rather than wanting to deal with it, that seems unlikely.

Even with that said, it will take a long time for perception to shift, and I doubt ‘UsaToday’ would focus on anything except the games either way.

and, in your opinion, journalists would then magically understand the marvels of the hardware emulation rather than stating that now MAME emulates for free also Game Boy and C64 games?
oh god…

I think some of them would get the hint, yes.. might take a few years tho (these things do)

The more serious tech sites would likely pick up on it tho, wouidn’t it be nice to see MAME mentioned in the same breath as proper virtualization software? Would do wonders for our legal position. (much more than any change of license)

Right now we’re starting to do that, but at the same time hiding it in MESS while offering ‘MAME’ where the criteria can simply be seen as ‘games’

As I already said tho, a site like UsaToday probably isn’t going to pick up on such things.

Most of what we’re doing is going to waste and being misunderstood due to the way we present it / offer it by default.

You continue to laugh about it, but it isn’t a laughing matter, at all.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.