I recommend MelonDS [or its Libretro core if you're into using Retroarch.] Tends to do well and handles a few edge case issues I used to have with DeSmuME like DSi and wifi emulation better. Both are good / servicable though.