https://github.com/libretro/desmume-libretro
This is a simple module for emulating the NDS with the desmume emulator core. There’s nothing particularly special about it, it makes as few modifications to the original source as possible to allow upstream changes to be pulled easily. It’s been tested only on OS X but should work in linux, but maybe not windows.