MAME ROM Compatibility
No rush on this, but could someone please explain in more Lameman’s terms why MAME ROMs are so closely tied to the version of MAME? I built a custom cabinet using MAME and Windows and loaded it up with games I want. I want to downsize and replace the laptop with a raspberry pi, but now finding the games I have no longer work with the mame version on recalbox (which I still cant figure out how to do)
Correct me if I’m wrong, but from working with nearly every other emulator, the ROM is the digital image of the cartridge (or whatever media the game was on). The emulator itself isn’t a digital image of the system, but rather just as an interpreter.
With MAME ROMs, I gathered that the ZIP files contain the digital images of the chipset found in the cabinet. So with Frogger (at least the version I have), there are 9 files, so I assume those each represent each chips? And when it comes to BIOS, I assume that would be very loosely similar to a gaming system. So why on earth would a small version change in MAME cause so much destruction with compatibility? Why isn’t MAME backwards compatible?
Thanks for your help.
Your assumptions are right (more or less), but the important thing to know is, that MAME is backwards compatible (somehow), but not upwards compatible.
We are using the mame2003 (0.78 Rom Set) and the imame4all (0.37b5 Rom Set) cores for our MAME integreation. That basically means xyou can run (almost) all games included in the above mentioned sets. If you want to use a game from the, let's say, mame2013 core (0.159 Rom Set), it won't work, BUT there might be a version of the Game which IS working with one of the older cores.
WHY the mame devs are having so many changes inside the dumps and their overall mame core is known only to them and is the stuff of legends in almost every forum. People started wars on versioning mame and the great MameUIFX shut down just recently because of this (not only bc of this).
So... the conclusion is: The mame.exe that you are using on a PC is the almighty, 100+ mb Juggernaut and therefore is compatible with all version that came before and therefore will play 80-90% of ALL games known to mankind, but using and older core won't help you with the newest version of the dumps of games.
Any questions left? :)
OK, i think i got this...i think...
ROMS at say, the 0.78 ROM set will work for MAME Versions .78 and below. But not at the current version of 0.176.
From playing around with CLRMAMEPRO, when scanning, it looks like it attempts to patch the ROM with missing files. Is that right?
2a) Why the $#*@ is it generating 1KB ROMs from ROMs I have or never had?
Is there a way to downgrade ROMS using CLRMAMEPRO and the appropriate DAT file?
Is there a way to definitively check to see if the ROM I have will work with recalbox other than rebuilding, transferring and testing? The log generated have 100,000s of entries either saying exists or skipped.
I see now why there are hundreds of different MAME builds out there.
I'm sorry for asking about CLRMAMEPRO, but the wiki doesn't have very clear instructions, googling information about it reads to me like instructions to an Ikea manual or takes me to the webpage of the other raspberry pi emulator that also begins with an "R".
Thanks for the help @Nachtgarm!
- You have a complete 0.176 Romset flying around and you want to "build" a 0.78 set out of it = POSSIBLE
- You get yourself the 0.78 DAT and load it up in clrmamepro, or preferrably, in ROMulus
- You point to your 0.176 set as a source and let the tool rebuild the 0.78 set out of it, to a new folder.
- You have a 0.72 Set and want to use it in Recalbox = Possible, but the results may differ from game to game
- You want to fix, or upgrade this set to 0.78 = NOT possible, if you dont have a higher numbered set, from which you can build the new 0.78 set.
Regarding the results of your scan: It shows you, which roms of the set you own, are correct, or are missing files.
If you ask me... there is no good clrmamepro tutorial out there. That's why I use ROMulus. Self-explaining, nice UI, fast.
Let me know if you need any more help.