Simple Arcade Multifilter - app for MAME and FB Alpha ROM sets


The Multifilter does a very good job. if it can filter the non-working roms its seems nearly perfect to me. Thank you very much for working on this!!!

sorry but i have no clue about this. all i can do is testing and niggle :stuck_out_tongue: :smiley: But maybe you can try to find out which “flag” is used by stand-alone Mame for filter the non-workings !?


It’s the catver.ini files that needs to be modified. I know 0.78 catver.ini is not complete and a few games slipped by.

I was using Mame32 UI to check my romlist when i first noticed this a few months ago.


@Rion do you have an easy way to create a list of the romsets which are missing from the MAME 0.78 catver.ini?

I am currently taking on the process of making the official mame2003 catver.ini a ‘fork’ of the original catver.ini with two goals. Based on your post I will add a new goal #1, so now there are three.

  1. Fill in data for all missing romset entries
  2. Simplify, correct, and modernize the categories
  3. Verify and update the “Unplayable” entries based on the MAME 0.78 gamelist and the RetroPie MAME 2003 compatibility project spreadsheet

Because you have alerted me to the missing romsets I will eventually look into it, but if you are interested in helping you may be able to get this fixed faster.


I’m using Lakka which requires FB Alpha

After tons of googling (because FBA website hides this information) I’ve found is based on mame 0.173.

After tons of googling again, the only sources for catver.ini 0.173 are a news posted on MAME World pointing to progettoemma. And the news posted on progettoemma claiming a release of catvet.ini 0.173 does not have a download link.

So, can Simple Arcade Multifilter be used with the latest catvet.ini 0.181?


@veggav yes you can use the MAME 0.181 catver.ini with one important proviso. Once the Multifilter scans your DAT and catver files, the list of categories on the left will probably include a category labeled “unmatched.”

I would suggest running the filter once to copy only the unmatched games to their own folder. These files will need to be sorted manually but hopefully it won’t be more than a few dozen games whose filenames changed between MAME 0.173 and MAME 0.181.


Wrong typing above the set is: I’ve selected all the options on the left side and excluded clones. It resulted from 4500 games to 1.500. I guess the unmatched games were copied together.

One thing I wish I could do with your software is: I have FAB set There’s a DAT (fba_029671_od_release_10_working_roms.dat), that would reduce that list even further to only working roms. Sadly the only available version of it is

Since your software just copies the right games, this is much easier than using ClrMAMEPro, that would still need torrentzip in the end.

Do you think this scenario could work?


The only time there are unmatched files is when mamedev changes the filename for a game between one version of MAME and another. This happens pretty regularly so I assumed you would have some unmatched games but it may also be that there weren’t any name changes between MAME 0.173 and 0.181.

I do think your scenario about the alternative FBA DAT will work. My program should just ignore the games in your set that it doesn’t find in the older DAT file.

HowTo: Generate Pretty, Curated MAME Playlists the Easy(ish) Way


In the github folder linked as MAME 2016 there’s no DAT file.

EDIT: I’m trying with the output of mame --listxml since the format seems to be similar.


Sorry about that – I will add an XML DAT file for MAME 2016 so it will be there next time.

You are correct that using --listxml will also work fine.


Hi @markwkidd, first of all thank you for your work, I’ve been using RetroArch Playlist Buddy for a long time and it’s been really helpful.

I’d like to use SAM to weed out some games I don’t need from a MAME set, but what if I had a Split Set and wanted to delete Unplayable games but in the set there’s a working clone of a non working parent: will SAM add the files required by the clone to work, or will I end up with a non-working clone because the parent isn’t there anymore?

Thank you and have a great one!


@iosadosd_quarto that’s a job for ClrMamePro and then Simple Arcade Multifilter.

I recommend processing your arcade collection into “Full Non Merged” via ClrMamePro (or finding some already processed this way).

Full Non-Merged means using the setting “Non-Merged” in the Scanner/Rebuilder as well as deselecting “Separate BIOS Sets” in the Advanced section of the Scanner and the Rebuilder.

With that done you don’t have to worry about keeping parents around or BIOS files either. Whatever you process with Simple Arcade Multifilter will work standalone.

I definitely don’t want to get into recreating the functionality of ClrMamePro, that’s the best for creating Full Non-Merged sets.


Thank you for the explanation. While waiting for an “official” answer (:sweat_smile:) I already resorted to converting my set into a Full Non-Merged set and then using SAM to delete the categories I don’t want. Unfortunately the resulting sub-set, while free from the games I didn’t want, is a little bigger than expected, but I guess I gotta find a compromise :smile:


Hi @markwkidd, I was using SAM on MAME 2003-Plus and the latest version of FB Alpha (, which judging from the changelog, it should be based on MAME 0.199) but with both romsets I can’t get SAM to copy BIOS and Device sets, even though I checked the “Copy all BIOS | Device sets listed in the DAT” and I made sure that “Always exclude non-runnable DAT entries” is not checked.

I even tried manually include the “BIOS” filter (taken straight from the catver.ini file) but SAM simply ignores BIOS files.

Am I doing something wrong? :frowning_face:


If you are using my suggestion earlier in the thread, or if you are using one of the two premade MAME 2003-Plus collections I have encountered, you won’t have any BIOS files since the BIOS roms are included with every game romset that uses them. That format is “Full Non-Merged” and not having separate BIOS or Device files is one reason that it is a convenient format.

I wanted to check with you about that before asking any other questions.

@shakalakka I’m sorry to be slow in responding. If you are still interested, could you check one thing for me? I’m interested in whether those non-working games are marked as “unplayable” in the matching catver.ini. The simplest answer might be that there is not consistent metadata about what is working across the DAT and the catver.


Oh right; about that, I’m now using split sets because I’d like to save some space, since I use two separate arcade cores on RetroArch… :sweat_smile:

If I make a split set with the “Separate BIOS sets” option disabled in ClrMamePro would I get a split set with only the BIOS files in the games that require them, or the only way to do this is if I make a Full Non-Merged set?


I would expect that if you deselect “Separate BIOS Sets” in clrmame pro with a Split set, it would either pack the BIOS files in all of the romsets that need them, or just in the parent romset for all romsets that need the BIOS files.

My bet is on the latter, that the BIOS would only get added to the parent romset, but I don’t know from experience.


I’m trying right now, it seems that it adds the BIOS to the parents only, but as long as it works… I’ll try a clone out after it finishes fixing the set :slight_smile: thank you!

EDIT: It works! Now I can re-filter my romset out without worrying about separate BIOS and Devices, but at the same time without using up more disk space with a Non-Merged set! Thanks! :smiley:


I can confirm what @shakalakka posted earlier. With a mame2003-plus XML DAT and mathcing catver.ini, SAM does not seem to be filtering out Unplayable/Not Working romsets despite being set that way.

I’ll see if I can fix this.


hi, nice program. hope you could fix the non working / unplayable romsets filtering issue. I made a perfect set with clrmamepro (0 missings) but some games doesn’t work. thanks


Could you test an updated version for me and see if it works for you? I just uploaded a Simple Arcade Multifilter 1.1 build here:

This update should filter games marked as “preliminary”, “nodump”, “baddump”, and “protection” when you tell SAM to exclude romsets that are not runnable.