Thanks Howard.. this is great.
So just to clarify - what I'm trying to do here is create a console info database - but avoid creating an entry for every single unique rom - since a number of them share info like description, year, genre, etc... I'm proposing to store info by matching it with a number of rom naming conventions.
Your suggesting to use the internal id as the 'link' between rom variations - so they all have unique internal ids and those would match in any modified roms like hacks, translations or bad dumps, right?
The thing about using ids is that goes out the window if you do want to support older or "oddball" consoles. That's why I was getting at linking info by the rom names. You could still include the internal ids if they are available as yet another way to find the info. You could also include any matching crcs (multiple) if you wanted to validate the info to a specific file.
The two main things I'm struggling with:
1) How to store and relate this info in a database - the db will have to include all possible entries (nointro, good, tosec, etc.. entries) and be updated as the dat files are
2) How to deal with region differences - where the data might all match except one or two pieces of info (like year for instance). Again, I don't want separate entries for every single rom.
Once the database is setup, a web app can be made (already played around with this) that allows for input and export - it could spit out the data in any format - console.dat catver.ini, nplayer.ini, etc.. or a single file to include all info. As a bonus (and since I want one anyways) - this could be used to export frontend list files with filtering options (region, categories, etc) in place.
Here's a mock of what an entry might look like:
