Beh... a questo punto ecco il mio contributo alla questione:
Compilando il MAME con MinGW, si genera in automatico una lista chiamata GAMELIST.TXT che viene restituita più o meno così:
+----------------------------------+-------+-------+-------+-------+----------+
| | |Correct| |Screen | Internal |
| Game Name |Working|Colors | Sound | Flip | Name |
+----------------------------------+-------+-------+-------+-------+----------+
| '88 Games | Yes | Yes | Yes | Yes | 88games |
| (Medal) Yumefuda | No | Yes | No | Yes | yumefuda |
| 005 | Yes | Yes | No | Yes | 005 |
| 10 Yard Fight | Yes | Yes | Yes | Yes | yard |
Eccetera eccetera eccetera.
Ora, da questa lista si potrebbe ricavare un DB in Access ad esempio, importando solo la riga del nome del gioco (in questo caso | '88 Games |) e relativi dati "aggiuntivi". Da li, creare un ciclo che controlli il contenuto di ogni campo del DB, e che valuti di conseguenza se tenere o no tale rom (tra l'altro esiste anche il campo del nome della rom), non penso sia impossibile.
Come al solito, correggetemi se sbaglio. L'idea mi ? venuta tirando già un bancale di passata di pomodoro, quindi può essere che ho scritto una cazzata. :

:
PS: il carattere utilizzato per scrivere la lista e il carattere usato dal forum sono diversi, quindi tutte le colonne risultano sballate... per consultare tale lista, basta un clic ...
http://www.mamechannel.it/varie/gamelist.txt