Future of the Projects (April 12th, 2011)
As was mentioned in the comments of the previous post, MAME has a new project coordinator in Kale (Angelo Salese)
MESS also has a new coordinator, taking over from Nathan Woods is Micko (Miodrag Milanovic)
Micko has been one of the key contributors of MESS, and put a lot of work into bringing the codebases closer together, and helping to improve standards in the MESS code, which in the early days was a lot less controlled than the MAME code, and as a result, in places not of the highest quality, this has changed significantly over the past few years however.
Where Things Stand
As of MAME 0.142 (actually one of the 0.141 u releases) MAME is now capable of launching some MESS (console) software. For the CDi and CD32 systems the actual arcade cabinets running games based on this hardware (Quizzard and Cubo32) consisted of a stock CDi or CD32 unit with a couple of extra adapters attached to handle coins etc. For this reason the actual consoles are now the parent (bios) sets of the respective arcade games, and can, if you desire, be used exactly as the consoles would in MESS. The only real difference is the MESS hash file (software list) isn’t included with MAME (they’re also missing from the MESS binary distribution at the moment, but that was an oversight)
MAME also supports the software lists, they’re used for MegaTech to give it multi-card support (a feature which could be adapted at some point to work with PlayChoice 10, NeoGeo and others) this support only exists thanks to the work done by Micko, as mentioned earlier. What this means is that you can drop the hash/cdi.xml or hash/cd32.xml files from MESS into MAME, and it will operate in exactly the same way as MESS. Be warned however, none of the CD32 titles are playable yet due to controller issues (I’ll add a mention of this to my previous post shortly, it might be an easy fix!)
This extends further, open up mamedriv.c and add DRIVER( xxx ) lines for genesis, megadriv, pico, segacd, megacd, 32x etc. compile, and there you go, those systems also work in MAME, exactly as they do in MESS, without having to add a single extra code file. Add the softwarelists from MESS for good measure and you’re set. Why? Because the code for those systems is already fully shared between the projects.
Curt Coder has been doing a good job of moving over common devices to the main ‘emu’ tree of MAME, which is shared with MESS at present, which is beneficial because if these common devices show up on arcade boards there is less likelihood of somebody trying to re-implement something which has already been emulated in MESS. This also allows implementations to be merged in cases where they have been duplicated, which has similar benefits to the work I was doing on the Data East hardware mentioned previously. A single robust implementation of a chip is better than multiple incomplete sketchy ones hacked up to work in specific cases.
Click here to read full story