ROMLister - Use this tool to locate MAME ROMs that will play on your machine.

Download it: build 033 - Released Aug 15th 2016. This program is not really being maintained any longer.
Download the source (msvc++)

build history

Tutorials for using ROMLister are over on the BYOAC wiki. (via wayback machine)

What? Why?
OK, you've just spent 6 months working on your arcade cabinet. You've just copied the entire set of MAME ROMs over to your machine.
You call your buddies over for gaming night, and one of them picks "spy hunter" from the full list of games. Whoops. You don't have a steering wheel or a throttle control on your machine.
OK, OK, skip that, you get your friend to forget that game and pick another one. Area 51! Yeah! Oh wait, you don't have a light gun installed. Isn't this embarrassing? Wouldn't it be better to only put games on your machine that your machine is capable of playing? That's what ROMLister is for.

Features:
Unlimited, customizable search parameters.
For example, you can find all the non-adult, fighting games that use an 8way joystick, 6 buttons or less, and are horizontal. Or you could just do stuff like locate all the cocktail games, or any combination you can dream up.

Multiple output types - create batch files, MaLa lists, plain ole text files, CSV text files, Hyperspin lists, Maximus Arcade, MultiFe, MameWah, XML...virtually anything you'd ever need.

Quick and easy to use - Click on various checkboxes til you've got your hardware and game criteria selected, hit the GO! button and export it to the front end of your choice, or make up your own search criteria and really fine-tooth your selections.

Powerful - Using the combined resource of catver.ini, controls.dat and MAME's xml output, the number of searchable items is limitless.

Friendly support staff - That's me. ;)

Quick start:

1) Launch the program. It'll take you into the settings dialog and you can point it to your input XML file. You can also create a customized, super XML file consisting of catver, controls and MAME's internal data. (see the tutorials linked to above)
2) From the main screen, you can use the various checkboxes to describe what controls you have on your machine, and the type of games you want
3) Press Go!
4) the program will chew on the master listing for awhile and then display the results in another window. You can delete roms from here, go back to the main window and do additional searches, or select the output type you want and export the list.

------=------=------=------=------=------=------=------=------=------=------=------=------=------=------=------=------=------=
Contact

For support, bug reports, suggestions or even insults, contact

Thanks to all the folks on arcadecontrols.com for testing, encouraging, and bug reporting.