MAME is a multi-purpose emulation framework.
MAME's purpose is to preserve decades of software history. As electronic technology continues to rush forward, MAME prevents this important "vintage" software from being lost and forgotten. This is achieved by documenting the hardware and how it functions. The source code to MAME serves as this documentation. The fact that the software is usable serves primarily to validate the accuracy of the documentation (how else can you prove that you have recreated the hardware faithfully?). Over time, MAME (originally stood for Multiple Arcade Machine Emulator) absorbed the sister-project MESS (Multi Emulator Super System), so MAME now documents a wide variety of (mostly vintage) computers, video game consoles and calculators, in addition to the arcade video games that were its initial focus.
The diff update to MAME 0.96u4 is now available on the Latest Releases page.
For the MAME 0.96 release, I added a step to the build process which runs a little tool over all the source code to ensure some consistency. A lot of people are freaking out about this in ways that are really unwarranted. You have to keep in mind that code is submitted from many people running on various platforms, and certain things like line-endings are not necessarily consistent between platforms.
For example, the file drivers/laserbas.c has had screwed up line endings for who knows how long. Diff is not the most robust tool when creating diffs against files with inconsistent line endings. When I tried to create a diff against this particular file, diff freaked, and I had to hand-modify the final patch to make it work. This was the impetus to writing the tool.
Since there seems to be a lot of paranoia about what this tool does, let me make it 100% perfectly clear. The tool does three things and only three things:
1. It makes sure all line endings are DOS/Windows standard CR/LF.
2. It removes any extra spaces/tabs at the end of each source line.
3. It converts tabs to spaces (assumes 4-character tabs) within comments. It leaves all other tabs alone.
That's it. The tool is also smart enough not to touch the file if nothing needs to be changed so that the datestamps remain consistent.
Since all the files in MAME 0.96 were updated with this tool, they will all pass unscathed when I run it before releasing 0.96u1. Which means this is really the only time you will see a significant number of changes resulting from the use of the tool. Going forward into the future, you probably won't even notice.
The latest version of MAME is now 0.96. I won't have time to update the official releases page until later this evening, but if you use your incredible powers of induction, you can guess what the URL of the source most likely is. Updates to mame.net should happen soon as well.
And hey, look, it appears that a MAME32 build is already available. :-)