Why do some emulators require different ROMs to MAME?
The first thing to understand is that if two emulators emulate the same game then the contents of the ROM images will be identical. What usually tends to differ between different emulators is the filename that each ROM must have. This is true for the ZIP/directory itself and the ROMs inside the ZIP/directory. Something else that makes ROMs appear to differ is when individual ROM files are combined into a larger ROM file. This combining is sometimes a simple concatenation of the files or sometimes the files will be interleaved. Other reasons for ROMs appearing different is additional padding (usually 00s or FFs) or byte swapping (where odd and even bytes are swapped over).