Someone REALLY should set up a M.E.S.S. programming tutorial somewhere.
Good stuff (hopefully not too outdated) on MAMEDEV Wiki:http://mamedev.org/devwiki/index.php/How_MAME_Works
See also Programming Docs:http://mess.redump.net/#documentation
There's another, much older, how-to made by... Brian McPhail? ... for some programming website, but I forgot when and where. I think it was around MAME 0.110-series. (Anyone remember?)
[EDIT] Wow, I have a good memory - and I figured out the magical Google query: http://www.codeproject.com/KB/cpp/vcmame.aspx
From 2003, so that would be MAME 0.72. Pretty outdated.
There's also some REALLY old how-to's written by Dan Boris on how to do things like convert schematics into an arcade driver, but they date from 1998-1999 or so.http://www.atarihq.com/danb/emulation.shtml