It is ridiculously hard to do.
I've been writing MAMOS (My Arcade Machine Operating System) for four months and it surprised me in the scale of data involved. MAMOS only supports MAME at the moment and is still in alpha stages but the amount of data and information it has to generate and parse is huge.
MAME supports over 26,000 games. That info needs to be stored in a database efficiently. The database needs to be sorted and filtered for easy access. Once the game is selected you need to poll the database, load any images and any ini/info/dat information and display it in an understandable way. Oh and quickly!
Once the game is selected you have to deal with the command line options of which there are loads. Each command becomes a gadget, which triggers a variable, which is polled to generate the command line when you run a game and has to be saved for future use.
You also need to be able to customise the frontend which involves adding scalability for different resolutions, variables for colours, fonts, images. These settings also need to be saved.
After getting all the above working you need to look at other frontends and the feedback they get and implement anything you feel relevant.
Personally when I set out to write my frontend I decided that I didn't want lists all over the place and I wanted as much of the available media and info available straight away.
So far MAMOS supports
All current MAME options
zip and 7z files.
History.Dat
MAMEinfo.dat
Catver.ini
NPLayers.ini
Icon support.
All progretto snap images (including bosses,versus, gameover etc...)
Emumovies/Video files
It can parse the complete MAME XML, sort it and filter it in under 20 seconds.
It loads in under a second and the exe is under 2MB in size.
It is completely portable and will be available in 32 and 64bit versions.
At the moment I'm working on a MAWS style game info page with ROM auditing. Then I need to finish the settings, command line options, finalize the stored files and then bug fix the whole thing.
http://forum.arcadecontrols.com/Smileys/default/banghead.gifHopefully I'll get to a beta version about May where I'll introduce MAMOS to the world. In the mean time I've attached a picture of the current alpha.
Regards
MrV2K
http:\\easyemu.mameworld.info