MAME definitely isn't a bad word here. More than a few members are active contributors!
If you fancy getting started then I'm sure somebody will be able to help you get going. I use it a lot as part of my repair work - it's a damn sight easier to troubleshoot a board when you know what it's meant to do, plus you have a debug mode in MAME which lets you see what the CPU is doing and you can use that to great effect to figure out what's up with your board.
I recently helped fix a Pacland which was doing the start-up tests but wouldn't ever get into attract mode. Using mame-debug I was able to identify the program ROM addresses that were being fetched to execute the code just prior to attract mode by single stepping the CPU until the attract mode appeared on my PC.
Knowing those addresses it was possible to hook up a logic analyser to the game PCB, monitor the CPU address & data bus and then set a trigger for a read at that program ROM address, causing the logic analyser to sample the next few thousand CPU instructions. From that I could show that the PCB's CPU was sitting in a little loop where it read a value from RAM, compared it to a fixed value and either restarted the loop if the value didn't match, or jump to the attract mode when it matched. The loop was never exiting because the comparison never matched, and without exiting the loop the attract mode wouldn't kick in.
It turned out that the address being read was a 'magic' custom chip register which signified when the game was ready to run. A dodgy socket meant that the 8 bit value being outputted by this custom chip was only actually having 7 bits of information written due to one dodgy pin not transmitting the signal. From knowing the memory map of MAME (in the game driver source code) it was possible to identify which chip this was and which socket so that was resoldered and the game now runs
So it's not only fun for the occasional blat on a game (I've never been arsed enough to build a MAME cab, although others on here have) but it's also very helpful for its original purpose of archiving and documenting games.
So definitely not a swear-word round here
unless you convert a legendary cab without making it reversible.