why has the mame code gotten so much more bloated in the later versions? I mean those speed drops are pretty darn huge! have the coders just gotten lazy or is it because they have made the code more accuarately emulate the games? Crazy I tell ya. BTW what's the processor in your laptop?
MAME cares about accuracy, not speed. The whole project is aimed at documenting arcade games and hardware first and formost. As per the MAME FAQ, playing MAME games just happens to be a nice side effect of the documentation, which is the primery concern.
With each revision, new encryption schemes are broken, new chips are better documented, and more accurate features are added. Be aware that most games in MAME user several processors at once. Often it can be as simple as one CPU for sound, and one for graphics, and sometimes it is far more complex than that. Modifying just one part of MAME could (and often does) send ripples throughout the entire project. This can mean anything from adding new hooks or patches in old drivers to complete rewrites of core CPUs (as happened around the 0.79->0.80 mark with some sound emulation changes).
Don't for a minute think MAME is simple. It is an open source project, so if you want to see exactly what sort of work goes into it, grab the source and see for yourself.
Again, optimisations are last on the list of concerns for the MAME devs. When every arcde game and every logic chip, CPU and sound system everywhere is 100% accurately emulated, that's when they'll start optimising. And even then, don't expect it to be great. Remember: 1 emulated CPU might be used in 100 different games. Tweaking the code could well help 5 games to become a little faster, and break the other 95.
And after all of that, if you still want to complain about it, you're welcome to take the MAME devs head-on over in the MAME forums. Plenty of folks go in guns-a-blazing about how MAME should be, and get a swift kick in the ghoolies from Mr. Belmont and the other more vocal devs.