I can help you link Guis if you wanted and also could update the mame with my drivers and IQs drivers fixs and speed ups
im planning to porting the GUI to android.....
I am open to the offers with regards to MAME.
With regards to GUIs though I have to insist on this clear demarcation point between the kind of elaborate GUis you guys do and what my aims and needs are with RetroArch. Every RetroArch port on a host console should be as fast as possible and the GUI should be merely baseline - it is up to individual frontend authors to make their own GUI around it if they don't find it satisfactory.
I simply won't ever 'put in' a default elaborate GUI - this is not RetroArch's goal - the codebase is already bloated enough as-is, maister and me have zero interest in maintaining elaborate GUI code. I have made GUIs for PS3, Xbox 1, 360 and Wii which should be usable at least. The fact they don't look like XBMC or FBL's frontends is by design.
RetroArch and libretro is about making the foundation for a multi-platform system that can run games and emulators - that is enough work as-is. The frontend stuff are convenience factors which I leave to other people who want to 'wrap around' RetroArch and/or libretro (this is what XBMC is doing right now with its RetroPlayer). It also doesn't help that i have zero interest in catering to the people who like these elaborate GUIs - even on Android I am severely limited by Dalvik memory heap sizes and the like (with Dalvik occasionally 'requesting' the native app to free up its memory because it's running low on overall system RAM - yes, that's how terrible a Java-based framework on a smartphone/tablet is). Throwing away lots of RAM on fluff GUI stuff would mean that performance would suffer because everytime it does an onLowMemory invocation, it will kick in the garbage collector - and that will cost you about 22ms or more. Then take into consideration that Jelly Bean (Android 4.1) and Cyanogenmod in general has RAM requirements exceeding 512MB RAM for normal operational usage and you get the idea - you might have 1GB or even 2GB in newer phones/tablets these days, but you still don't have nearly enough free memory available. On my 512MB el-cheapo tablet I normally have 90 or 80MB RAM free - I can increase that up to 125MB if I remove most of the services running in the background (including Google Play Store) - so that should give you an idea.
Instead, I try to use that RAM for more runtime gameplay stuff - like customizable input overlays, game-aware shaders where you can have a manual shader that shows you lots of pictures from a game manual, and background borders.
Simply put, the approach we're using I believe is best - RetroArch sticks to merely implementing a libretro frontend (ie. RetroArch is the 'reference' libretro player) and having video/audio/input drivers be as fast as they can, and providing a base workable GUI. If people want more, there could be a bunch of frontend authors that cater to those needs. I make all my sourcecode public so really I'm providing all the tools people need to build around it and even use libretro/RetroArch for their own needs.