David Haywood's Homepage
MAME work and other stuff
August 21, 2012 Haze Categories: General News. 7 Comments on Together We Are Better

For the developers out there the latest announcement on mamedev.org is rather important.

As of now there is one official SVN server (and the GIT mirror) for both the MAME and MESS projects, which now share a single development tree / team.

This means the old MESS SVN is now retired (although can still be used to see revision history of the MESS files if you require that)

The projects, for now, will retain their individual identities, and releases, although the UME target still exists within the new SVN and can still be used to build a unified binary, which I’ll continue to offer here after each release.

As long as people are sensible about this then it offers some good benefits as far as regression testing goes. Previously MAME / MESS changes were only synced between the projects at various intervals in single large commits, which made it hard to see the exact impact of individual changes from the opposite project when doing regression tests and trying to track down the exact cause of bugs. For shared drivers, like the Genesis this was problematic because most of the games run in MESS, but most of the changes occurred in the MAME tree and weren’t visible with a fine enough granularity in MESS.

Now it does become more important that developers test their changes better as not to break anything, but it hopefully means that large scale search+replace type changes will automatically get applied to both projects, at the same time eliminating the periods where the codebases weren’t even really compatible anymore. It also however means that if somebody does break the compile it’s going to get noticed more quickly, and fixed more quickly because it’s the active tree for both sets of developers.

Official read access to the official SVN should also make it easier for external contributors, they have one SVN they need to be concerned with keeping sync with, and one place to submit changes for either project, which can then be reviewed by whoever has best knowledge of the systems which again comes heavily into play when systems / devices are shared and it isn’t obvious in which project the primary development has taken place. (For example the TMS CPU and device source files are in MAME, but had been almost exclusively developed by MESS developers, that no longer matters because the point of contact is the same)

I hope one day we do see UME built and hosted as an official build (and I feel it should be the default target in the makefile of the new setup because it’s a ‘neutral’ target and the one which ensures that all the code compiles) Actually I still hope that one day UME becomes ‘MAME’, fully inclusive of everything, and what we have as MAME now just becomes ‘MAME classic’ with only pure arcade video games, no gamblers etc. but that’s a long way off I feel, if it ever happens.

One word of warning, the new SVN *does not* contain the MESS associated Artwork (scans of Chessboards etc.) This needs to be handled as an external project as it is for MAME; ideally the MAME artwork site and projects will take up the existing files. This hasn’t been done merely to piss people off, it’s simply to make a clearer policy that everything included with MAME/MESS should be original work, and when you consider that in the future things like the Pico are going to need scans of the books then it’s clear that including such artwork with the project would be of highly questionable legality and best handled outside the core project.

Anyway, this should be the dawn of a new era for development and it will be interesting to see how things go. Hopefully the strengths of both teams can be combined, and awareness of where the skills of each team can be applied in the opposite project is increased; it only takes one somebody to notice one SVN check-in and think ‘I could help with that’ for some good momentum to build up.

7 Comments

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

I didn’t expect this so soon! It looks like you finally got (more or less) what you have been proposing for a while now, Haze. Well done.

With the new unified SVN, will this put additional pressure on the server as the public can now download from there on top of the constant updating/uploading/etc by the MAME/MESS devs? I imagine it would but hopefully this won’t be too much of an issue. Personally it certainly makes things easier for me as I’ve not been terribly good at using GIT clients.

I guess they’ll see what demand was like, I’m a bit surprised direct access to the official SVN was announced, I thought they’d stick with just giving the public an automated mirror like the GIT.

TBH tho I’m not sure how much extra demand there will be anyway. The source is mainly for developers, so unless there is something a lot of people want to see added I can’t see a lot of people checking it out just for the hell of it, and even then most would want a binary.

If you’re not making extensive changes to the code, and requiring mulitple active source folders then the public SVN access might actually save some bandwidth because on full releases you could just sync to the current SVN, “make clean” and compile rather than downloading the new packages.

The official MESS SVN had been public for a long time with no major issues.

Note, to those saying SVN sucks or whatever (I’ve seen comments elsewhere along those lines) MAME has been developed with SVN for many years now, the only difference is that you now have access to it. I don’t know why some people insist on taking clear positives and spinning them into negatives.

the server has been moved to a different location and is expected to be able to cope with the extra load.
time will tell if it can ;)

correct version of the comment above:

the repository has been moved to a different server and is expected to be able to cope with the extra load.
time will tell if it can ;)

That’s good to hear. I ask because every so often I have actually been trying to compile MAME/MESS myself and was a little concerned about the comment on the ‘Bleeding Edge’ article you’ve got regarding server load.

As for the criticisms against SVN, I don’t see the problem with the format itself. I personally find it a lot easier to deal with and with the projects I’ve seen over the years it’s been a lot more common than GIT. With the GIT repo and the program I was using it left me very confused as to what the hell I was actually doing and it worried me that I might be accidentally putting old info *back on* the repo when reading what little wording it gave me.

Yeah, that’s my inexperience, I realise that, but I think now with this change it’ll be a lot more friendly for the average joe to actually compile it themselves combined with the MAMEdev.org guide.

SVN is ok for what it is. Branching/merging in it stinks but overall it does what it is advertised to do. You probably will see an initial burst of checkouts then it will settle out. I would wait a couple of months before deciding if load is an issue.

Great news. Let’s hope we’ll hear even greater news in the next (let say) 12 months.

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.

Close