

MAME emulates a fixed, finite (if rather large) list of arcade games. Personally I have 2 MAME versions around so I can play some games that I don't have the updated ROMs for. The challenge for the users who need to play all games on the latest MAME is to find a reliable source to download "recent" roms, knowing that it's still barely legal to do so if you don't own the original machine to say the least. This allows MAME to emulate the bare metal, without any shortcuts, but since 1996 a lot of archives became invalid, and the confusion was even greater when Android/Raspberry Pi MAME4All version forked from an old 0.37b5 MAME core (newer MAME versions are a lot more CPU intensive) and retained the old versions of the ROMs. even protection chips were emulated instead of just "cracking" the game by code.they dropped the YM sound redirection now fully emulated (to be honest, it could be because Soundblaster cards aren't useable on nowadays PCs, but the FM sound was a wonder to listen to).

zip archives (tools like ClrMAME exist to "repair" romsets but anyhow it's a mess): the data is almost the same, but somehow renamed or with some small data missing. some more strict renaming rules were decided, breaking compatibility with old.For instance, a "bootleg" version is the original version with just one file changed. a lot of "common rom parts" were identified so different versions were just an add-on to the original ROM set, without repeating the data.When MAME evolved to try to emulate all machines as faithfully as possible and without any shortcuts

it's just a ROM dump of the program code), with roms from all chips included. The main difference with, say a NES or Sega Megadrive emulator is that MAME is able to emulate a lot of different hardware, and the ROMs that you feed the emulator with is a ROM set (on NES/SNES.
