1+1=2, what an awesome idea that is.
And actually, that shouldn't be too hard, pseudoprogramming-wise..
Here's how I should do it:
Make a program with a simple to navigate directory structure. You can either set the program in "Directory mode" (where it only looks for games in your current directory) or "SD mode" (where it looks for games throughout your whole SD or all subdirectories of your current directory (so if /mnt/sd is your current directory, the whole SD will be looked at. It'd be more practical to have this set to /mnt/sd/roms though). The program will check wether a game is supported (by fileextension) by looking at a .def file which is supplied by the emulators authors. The games browser should/could also include a little bit of information about the game, aswell as some screenshots of it.
The .def file should include all information needed for the Master Frontend to properly identify a game and launch the emulator with a proper commandline so it automatically opens up your desired game. The file should be a bit like this:
drmdx.def
name=DrMDx
extensions=.sms .bin..................
commandline1=<commandline here>
commandline2=<alternate commandline here>
commandline3=<yet another commandline here>
defaultcommandline=1
The alternate commandlines could be used for better finetuning of games (say, some emulators might support --soundoff, etc).
When a user opens a game through the Master Frontend for the first time which is being supported by multiple emulators, the user will be asked which emulator to use, which will then become default. When the user holds L while opening a game, he/she can change the emulator to be used with this game only or games with this fileextension in general. Holding R while opening a game will do the same, but for the commandline being used.
.zip files should get opened and checked for files within.
Complex files such as .iso and .bin should be checked on what kind of game they actually are (maybe using an external program).
The fun thing about a system like this is that it could aswell be used for movies. Add a little "type=GAME/MUSIC/VIDEO/TEXT/OTHER" line to the .def files and you can allow the user to easilly open up most things he's got dropped on his SD.
So, in other words, the general "viewing point" of this frontend is to automatically assume that the user is totally stupid, and leave the user with as few options as possible, unless he specifically claims he wants to have some control over things, by holding down the shoulder buttons.
...whoa offtopic..