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

What is Simple Arcade Multifilter?

Simple Arcade Multifilter uses a “catver.ini” and an XML DAT file to filter and categorize arcade ROMs in one or more of the following ways:

  • Game genre
  • Adult content
  • Clones
  • Games requiring CHD files
  • BIOSes


Sourcing the XML DAT file and catver.ini

In order to work correctly, the Simple Arcade Multifilter requires a XML DAT and a catver.ini that matches the version of the arcade ROM set exactly.

libretro maintains DAT and catver.ini files for each of the historical MAME cores, which can be downloaded from their github repositories:

DAT files generated by the FB Alpha software are the recommended source for FBA XML DAT files. FB Alpha collections can be sorted by finding the catver.ini from the MAME set which your FB Alpha collection’s ROMs were originally derived from.

Simple Arcade Multifilter uses a two-step process. Step 1: Configuration

Step 2: Filters

The selection boxes and manual filters provide “OR” search queries (on the left) and “NOT” queries (on the right). Three other filters may be applied in addition to the category filter:

  1. Bundle BIOS files into the query (as indicated by the DAT, not catver.ini)
  2. Exclude clones as indicated in the DAT
  3. Exclude anything that is tagged Mature (necessary since games are tagged with multiple categories)

Screenshot of the copy process:


Thank you for this. I have been looking for a tools like this since romlister and the upcoming Lightspeed Mame rom manager.

This will definitely come in handy!

Would you mind also posting this on the RetroPie forums where I think it will be well received!


For example, this is a set of MAME 2003 playlist filters inspired by Alexandra’s Pretty Curated Playlists guide.

Playlist: Arcade - Action Inclusion filter: Climbing|Shooter / Misc.|Shooter / Walking

Playlist: Arcade - Beat Em Up Inclusion filter: Beat Em Up

Playlist: Arcade - Driving Inclusion filter: Driving

Playlist: Arcade - Fighting Inclusion filter: Fighter

Playlist: Arcade - Lightgun Inclusion filter: Lightgun

Playlist: Arcade - Maze Inclusion filter: Maze

Playlist: Arcade - Misc Inclusion filter: Misc.

Playlist: Arcade - Multiplay Inclusion filter: Multiplay

Playlist: Arcade - Pinball Inclusion filter: Pinball

Playlist: Arcade - Platform Inclusion filter: Platform

Playlist: Arcade - Puzzle Inclusion filter: Ball & Paddle|Puzzle

Playlist: Arcade - Rhythm Inclusion filter: Rhythm

Playlist: Arcade - Shooter Inclusion filter: Shooter Exclusion filter: Shooter / Walking

Playlist: Arcade - Sports Inclusion filter: Sports


has detect an issue with the filter settings or maybe my settings are incorrect. had trouble to get some capcom games running (mainly on cps2, zn1, zn2). The issue was i miss the “” in the created rom-dir. this setting i used with the category sorter:

hello i confirm this strange behaviour, i selected “copy bios files” but no bios files were copied, plus i made some tries with “mechanical machines” excluded i obitained for two times TWO DIFFERENT RESULTS!!

edit: i’m using latest version edit2: i made two quick test: test 1: i ONLY selected SYSTEM /BIOS include filter and NO bios were copied test2: i ONLY selected the copy bios files (from dat) and NO bios were copied

sorry for the double post but i think this should be separate as i think i found the bug selecting SYSTEM / BIOS and DESELECTING “always exclude non-runnable entries” did the work 99%… the first time it did the work even the second time i tried it but this time it copied almost all bios with non working games too :smiley: however and was not copied anyway (and possibly other bioses?? who know) hope this could help fix the bug so if “always exclude non-runnable entries” is SELECTED bios files aren’t copied

edit: ok is not under system / bios but under multi-cart board, and too is not under system / bios but under system / devices so i suggest this workaround: use this filter “Multi-cart Board|System|System / BIOS|System / Device” with “always exclude non-runnable entries” NOT SELECTED and copy all bios files SELECTED and do the first run, the generated folder will contain all bios/devices and so on. do another run with your preferred filters, you can check now “always exclude non-runnable entries” to filter out non runnable entries and generate your favorite game list in another directory merge the two directories and have fun :smiley:

@Yurif74 it sounds like my parsing function is not handling your data correctly – often this is because there is some slight changes in how MAME formatted metadata over the years. I will try to fix this.

Could you please let me know which MAME core you are using? What are the versions your catver.ini and XML dat files?

@shakalakka I am embarrassed that my app is evidently the source of your problems with the more recent versions of MAME!

Your report took me straight to the problem. There is an issue in the code path for Device and Mechanical ROM sets. The app does not apply the filter to those files consistently now. I should be able to come up with a fix pretty quickly.

1 Like

I’ve just uploaded an updated version with today’s date that corrects the BIOS inclusion filter so that it now also encompasses Devices and Mechanicals for more recent MAME versions.

I also worked a bit on the labels to make the other filters clearer to understand. If you notice any more issues @Yurif74 and @shakalakka please feel free to let me know.

hello @markwkidd, i used MAME 159.dat and Catver.ini for mame 0.159 , actually i’m using mame 2014… i’m using core could the collection format make problems? (splitted, merged, non-merged) i will try latest version of simple arcade multifilter :slight_smile: thanks

Thank you for your help testing this!

Non-Merged and Split sets should work exactly the same. Merged sets will only be seen as the parent ROM (as with RetroArch) but otherwise they should work too. That is at least one issue that this app shouldn’t have trouble with! :slight_smile:

i would suggest an “abort” option during the file filtering&copy process, i was testing and i made a mistake… now i have to wait until the entire (long) process reach the end :smile:

That is a good idea - I’ll see what that would entail next time I’m working on the GUI.

edit: I just received another GUI suggestion from the French Recalbox forums, to add a ‘browse’ button for Configure Source Wanted to make sure that gets logged here as well.

There is a crude way to abort – if you see the joystick icon for the app in your Windows system tray (usually the bottom right) then you should be able to right-click and force the app to exit.


I just posted an updated version dated March 6 that incorporates “browse” buttons that can be used to configure the various source and output paths per requests in the RecalBox forum. Welcome to the future! :smiley:


VERY nice tweaks!!!

but how can i start the process ? :slight_smile:

LOL, that is one way to know I may be starting to put too many options on that menu.

I have just pushed an update that shrinks the category selector vertically by 30px. Could you confirm that menu now fits within your screen?

1 Like


new version runs great. bring another 60 bios/device-files to my set. Thank you for this improvement. The new browse buttons are very helpful, too!

will do some testing arround with mame next days and report here if anything going wrong with the romset/playlist. for now it look pretty usable to me.

Thank you very very much!!!

1 Like

A feature request from the retropie forums

Hello, have a problem to exclude the “not working” roms. The Multifilter copy over many roms that definitly not working with Mame anyway. Some examples are: Virtua Cop 1+2, Sega Rally 1+2 ,Time Crisis 2,3,4 … and many many more (especially games for some “highend” boards since late 90ies and later - like Model 2, Model 3, Naomi, Lindbergh, Chihiro, Triforce, Namco System 23, Namcops2, Hyper Neo Geo 64 and so on…). stand-alone MameUI exclude this roms correct (if filter “not working” filter is selected). Anybody have the same Problem or any change to see this fixed anyway? My Sets are Mame2014 and Mame2016

EDIT: maybe markwkidd can add a “bios/board” depending filter (similar to the one in CMP) as workaround?

Yes I want to work on this issue and I’m trying to decide whether to proceed by modifying the DAT files or the catver.ini files. Hmm.