The Digital Broom for your MAME Arcade Collection. Created by Shawn Flanagan & Mr. Bob "Blocks" Cogito (AI Thinking System)
Because this program is a standalone .exe built by independent creators and not signed by a massive corporation, Windows Defender will likely flag this as a virus.
- This is a False Positive. The Python source code is included in this repository for you to audit.
- To Run: Click "More Info" -> "Run Anyway" or add the
.exeto your antivirus exclusion list.
The MAME Smart ROM Sorter turns an overwhelming, multi-thousand-file MAME set into a clean, curated, arcade-only collection perfectly tailored to your hardware limits.
The MAME Smart ROM Sorter is a powerful, offline GUI tool designed to automate the heavy lifting of curating your arcade collection.
The 1G1R Engine (One Game, One ROM): Automatically filter out thousands of unnecessary clones and regional duplicates to create a lean, playable master list.
"God Mode" Metadata Filtering: Go beyond basic sorting. Filter your ROMs by specific arcade cabinet control types, exact button counts, screen orientation (vertical/horizontal), and genre.
100% Offline Processing: Completely rebuilt to process your full.xml locally. No more waiting on slow web-scraping from online arcade databases or dealing with API timeouts.
Auto-Remove Junk Data: Instantly strip out unplayable games, casino/gambling machines, mahjong games, and mechanical fruit machines with a single click.
Export & File Moving: Once your list is perfectly curated, the tool will automatically copy the exact .zip and .chd files you need into a fresh, ready-to-play folder for your emulator or front-end.
Upon launch, you'll be greeted by the Joshua-inspired splash screen. Click Agree & Continue to proceed.
π Experience the Nostalgia: Upon launch, the app greets you with the classic
play_game.wavcue: "Do you want to play a game?"
If run from your MAME root, the app detects missing files. It offers to command MAME to build your full.xml and download 13 curated "God Mode" metadata files directly from the GitHub community.
Verify your source and output directories. This links your ROMs to the metadata databases for advanced filtering.
New in v4.74, settings default to a Couch Co-op state. Enable Strict Control Filtering to ensure you only get games your cabinet hardware can actually play.
The brain of the 1G1R (One Game, One ROM) engine. Pick the absolute best version of every game, eliminating hundreds of redundant clones.
Browse categories with full mouse-wheel support. Essential genres like Fighters and Shooters are pinned to the top with game examples (Pac-Man, Galaga) to make selection intuitive.
A dedicated tab to filter by era. Want only the 1980s golden age? Uncheck the rest and keep your set era-accurate.
Set your regional priority (e.g., USA > World > Japan). The 1G1R engine uses this list to decide which version of a game is the "best" for your collection.
Save your configuration as a .json preset, then hit the orange button to begin.
π The Finish Line: When the sorting operation is successfully completed, you are rewarded with the final
game_over.wavcue!
- Drop
MAME_Smart_ROM_Sorter_v4.74.exeinto your main MAME directory. - Launch and let the Setup Wizard gather your files.
- Select your hardware limits and preferred genres.
- Click "π RUN MAME SMART SORTER".
- Check
filter_log.txtwhen done to see a full audit of your new set!
This tool stands on the shoulders of giants. We want to extend a massive Thank You to the following projects, developers, and communities that keep the arcade dream alive.
- ποΈ ProgettoSnaps: The legendary Italian database providing the core CatVer, Mature, and Series categorizations.
- π¦ AntoPISA GitHub: For hosting the automated INI repositories.
- πΉοΈ Controls.dat Project (ArcadeControls): The absolute gold standard for mapping arcade hardware inputs to MAME XML.
- ποΈ Arcade Database (ADB): The ultimate web-based MAME encyclopedia by ArcadeItalia.
- π₯ NPlayers (Belgium): For determining true simultaneous multiplayer vs. alternating play.
- πΎ MAMEdev Official: For preserving video game history.
- π MAME Wiki: The ultimate technical resource.
- π Doc from Rogue Synapse: Keeping the Last Starfighter dream alive.
- π₯ Team Encoder: Legends in arcade modding and hardware hacking.
- ποΈ Sinnesloschen (Polybius) & Polybius Archive: Because the truth is out there.
- πΉοΈ Houston Arcade Expo: One of the best arcade shows on earth.
- Mr. Bob "Blocks" Cogito: Co-creator and AI Logic Engine.
- TravisK-i1e: Setup Wizard inspiration.
- Marcus: 2-Way Joystick and Decades filter logic.
- @johnmclain250: 1G1R engine testing and bug hunting.
- π TNT Official Website
- π₯ Subscribe on YouTube
- β Buy Me a Coffee
βΆοΈ Smart ROM Sorter Setup GuideβΆοΈ ROMLister Filtering GuideβΆοΈ Arcade Database Hack GuideβΆοΈ ClrMamePro Conversion Guide
How do I sort and organize my MAME ROMs? The MAME Smart ROM Sorter automates this process by reading the official MAME full.xml file. Simply point the tool at your messy ROM folder, select your preferred filters (like "Working Games Only"), and the sorter will extract and copy only the playable arcade games into a new, organized directory.
How do I remove MAME clones and create a 1G1R set? Our built-in 1G1R (One Game, One ROM) engine analyzes the parent/clone relationships in your MAME set. By enabling this feature, the tool will automatically prioritize the primary parent ROM (usually the US or World release) and ignore redundant regional clones, saving you massive amounts of hard drive space.
Can I filter MAME games by the number of buttons on my arcade cabinet? Yes. Using the "God Mode" metadata filters, you can tell the software to only export games that match your specific home arcade control panel. For example, you can easily create a list of games that only use a joystick and 3 buttons or fewer.
How do I remove casino, gambling, and mahjong games from MAME? The MAME Smart ROM sorter includes dedicated toggle switches to instantly block non-arcade genres. Simply check the boxes to exclude Casino, Mahjong, Fruit Machines, and Unplayable games before you run your export.
Does this tool require an internet connection to scrape database info? Kind of! Previous versions only used the native MAME XML data from MAME. If you have an internet connection, then this tool will download INI files with a ton of community built arcade data. After downloading the INI files the system is 100% local. This makes the sorting process incredibly fast and completely private. However, the system can work off of the XML alone, BUT it is not as accurate.
Licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International. Copyright (c) 2025-2026 Shawn Flanagan.