So what's the secret? I've got the version of MAME just prior to this release, and I can't get it to work. I have a dual 3.2Ghz processor, and it stutters with no sound when I run it.
At first I read that as the version just prior to the July 2005 release, but re-reading it, I assume you mean 0.112.
As for your next question, you have to understand the MAME program and their philosophy. They used to have a statement to the effect of "Being able to actually play the games is just a nice side effect." I used to brush this off as semi-trite CYA in case of copyright lawsuit stuff, but reading some of the dev's postings in this and other forums where they don't really need to keep up a front, I'm convinced this is how they view it.
In other words - if MAME uses an overlay for the starfield in Galaga, but it looks identical to the actual starfield that the arcade PCB generates, Galaga is not working. If Star Wars Trilogly runs at 4 FPS on the latest hardware, but does everything that it should at the correct time (in-game) - it is working. Also, if the real arcade PCB displayed garbage on the screen at a certain point, and MAME displays all the sprites without the "Garbage", MAME will consider the game to not be working correctly because of this.
Also, if MAME can emulate the games more accurately at the expense of playability on older hardware, they will change it in a heartbeat. That is largely what we have been seeing with MAME from 0.55 to current as far as why games run slower and require faster computers to play now.
In short, MAME is the most accurate and robust of the emulators, but not the best for playing games. Emulators like RAINE and (to lesser extent Final Burn, Zinc, etc.) with take shortcuts and hacks to make the game playable, at the expense of not having it work EXACTLY like the real game.
I've looked a little, and can't seem to find a simple list of what games are supported and working in which versions. Can somebody point me to it? I would like to choose the version based on the compatible games and the speed.
Nope - you won't find a list like this. You have to understand how MAME works. In the old days, they would release a version 0.29. Then, there would be a version 0.30b1 (Beta1), 0.30b2, 0.30b3, 0.30RC1 (Release Candidate 1), 0.30RC2, and finally 0.30. Then you would go to 0.31b1, etc. Initially, the idea was that the 030b1 would have errors and these would get fixed by the time 0.31 was released. Eventually, the number of games supported, the length and complexity of the games etc., meant that the final releases had errors and the first couple of betas were bugfixes and more stable, then the next group of betas were developmental changes and broke things. Ultimately, the devs realized that every release had some errors and was "beta" and abandoned the numbering, only to resurrect it in a new form with the "u" release system.
Short answer - Your most stable version will be the one released immediately before a "whatsnew.txt" starting with "Aaron rewrote the "something" core processing code, breaking most of the "something" drivers in the process." (No hard feelings toward Aaron Giles with that comment - you have to break some eggs to end up with an omelette.)
UPDATE: What a lot of people make a mistake with is thinking they can only have one version of MAME in their cab. (I.e. - I've got a 1Ghz processor, so I need to run MAME 0.55 and can't play Golden Tee 2K - I'm using MAME 0.107, but GameX was introduced in MAME 0.108 and I can't play it b/c I only have a full romset of 0.107). There is absolutely no reason that you can't have a MAME055 folder and a MAME108 folder (and any others you want) and have your frontend select which version of MAME to run with which games.
If I roll back the Mame program itself will the Roms from the current release still work with it? I realize the unsupported games won't, what I mean is will the Donkey Kong from a .113 set work with .107 etc?
Okay - romsets change for four main reasons:
First - rom is not correctly dumped and someone either finds another board or goes back and redumps the rom to correct this.
Second - rom is corrrectly dumped, but some additional chips such as the color prom are missing and need to be re-dumped.
Third - MAMEDEV decides to rename the romset. For example, a newer version of centipede is found, so the old centiped.zip becomes centipdo.zip and the new one replaces centiped.zip.
Fourth - Sometimes MAMEDEV will rename the indiviual files that make up the romset.
MAME will ignore a color prom that previous versions were not aware of - so you are safer going backward than forward, and the changes are cumulative. In other words, you will have better luck using a 0.113 set with .107 than with 0.55 and also better luck than trying to use a 0.107 set with 0.113.
ClrMAMEPro can search your romset and try to rename the roms as required to make it work with an earlier version, but ensure you have your current set backed up as it might change them so that none of them work any more. (It's a great program, but it can be dangerous also.)
You also might be able to find "rollback" sets if you look around.
I haven't had too many problems with speed but I sometimes get a sort of "wipe" effect when playing scrolling games, will a less processor hungry version solve this?
Highly unlikely - try enabling triplebuffering (like ahofle said) and/or enabling or disabling "Wait for Vsynch".