10 months or so ago I stopped playing around with the gamelibrary2 branch mostly due to a graphic context deadlock bug which killed my motivation. A while ago I decided to play around a bit with a fresh trunk checkout though to see how XBMC looks nowadays.
As many people have mentioned in this thread the Programs section is still somewhat lackluster in trunk and I decided to try and come up with a small, low risk, patch for trunk that improved program execution support. My hope is that due to the simple nature of the patch it can be accepted into trunk.
The patch is available via ticket
9749 in case anyone is interested. If you want to try it out in order to get your emulators going you'll need to edit system/playercorefactory.xml a bit and add some player definitions and rules. Should be fairly obvious where you should put the below snippets of xml if you open that file. You can of course configure players for any file extensions you want. The file listings in the Programs section will show all files that have a configured player based on file extension.
Code:
<player name="SNESPlayer" type="ExternalPlayer">
<filename>Path to your SNES emulator</filename>
</player>
<rule name="snes" filetypes="smc" player="SNESPlayer"/>
Then you can simply go to Programs - Add source in XBMC and add the relevant directory to your list of sources and you should be able to run the SNES games. The patch provides support for running .exe and .sh files as standalone programs out of the box.
Works very well for me, although I couldn't get Nestopia to run properly due to some DirectX sharing issue. Zsnes, Project64, VisualBoyAdvance and the standalone programs I've tested work like a charm though.
Have fun,
/ Marcus