I got the MAME emulator to work flawlessly on a couple ROMs. The ones I have working are Contra, Simpsons, Space Invader 2, Zero Wing and Tetris. There were a few ROMs that I tried loading that said they weren’t supported, I later learned that’s because iMame4All didn’t support them, so I found this list: https://code.google.com/p/imame4all/wiki/GameList.
So, I got the ROMs KoF ’98, Metal Slug 001, Pac-Man, and Street Fighter 2, among many others, and instead of giving me an error when I tried loading them, they would simply load up RetroArch and not the ROM at all. I tried Googling this and have gone through pages of Google results looking for something similar happening, but can’t find anyone with the same issue. The ROMs I’m using are all cross checked with the game list I linked above, so they should work, right? Street Fighter 2 is a rom that was working on my brother’s cabinet (He doesn’t use the Pi though) so I know it’s at least a working ROM.
Not sure what kind of information I need to give you aside from that, so let me know.
For the NeoGeo roms you definetly need the neogeo bios. The games won’t work without the bios.
About the non NeoGeo roms… maybe your using the wrong version of the roms. Mame is very specific about the roms it can use. Imame4all uses the 037b5 romset. Some roms are still the same as in that romset but a lot of roms aren’t compatible with that version anymore. Google should show you some sources with the right version if you search for it.
If you don’t want to go through all the hassle you can check if the roms you want to play are compatible with final burn alpha. (Capcom CPS1/CPS2 & NeoGeo games for example) This emulator normally has no problems with newer versions of roms. Every rom I tried worked out of the box. Although you still need the bios files for NeoGeo games.