Two years ago, I declared that Nintendo DS was entering a golden age with several new emulators ready to challenge the established normal.
While I'm by no means declaring the other emulators I mentioned in the article as losers, one of them in particular has truly become a force within the Nintendo DS emulation scene: melonDS
On May 31st, melonDS 0.8 released and put the rest of the scene on notice: this emulator means business. Featuring a brand new OpenGL renderer that maintains high performance even at increased internal resolutions while maintaining superb accuracy, melonDS has a compelling case to be your main Nintendo DS emulator.
A Worthy Rival
When it comes to desktop DS emulation, DesMuME has been the king for many years. While there are specialty emulators and a graveyard of projects that have since been abandoned, DeSmuME has thrived as the dominant emulator. Featuring high compatibility, performance, tons of customization options, filters, enhancements, and more, this is a fully featured flagship emulator.
melonDS on the other hand feels empty in some ways. There aren't many options, but most of the important ones you'd expect are available. You aren't going to be able to modify every aspect of emulation as you would in DeSmuME, but you can still do things like change the screen layouts and customize the gap for games that have gameplay go between screens.
The real meat of melonDS starts once you boot up a game. melonDS has always been a high accuracy emulator, but before there was a huge sacrifice to performance. This time around, the gap in performance between DeSmuME and melonDS has closed. In fact, melonDS runs at the same speed on my computer regardless of whether it's at native resolution or at 8x internal resolution!
Do note while the above data is accurate, there are tons of speedhacks, frameskipping, and more than can achieve higher framerates in DeSmuME. I used the default settings.
melonDS's new OpenGL renderer is the biggest reason to use it over other emulators. Because it's so fast, there's no reason to not have it set to the maximum resolution right now if you even have a mid-range gaming computer.
The one thing that DeSmuME does a lot better than melonDS is provide options to mitigate and minimize the effects of slowdown. There is a plethora of settings I could use if my computer was weaker to make the emulator run even faster by sacrificing accuracy. Even if there is slowdown, it's a lot harder to notice in DeSmuME unless you have performance metrics enabled. That's because audio is emulated off thread by default - asynchronous audio.
You can change this in the settings, but I found it bit odd this was the default behavior when I was doing performance testing. I'm very biased on this matter, but, I really dislike this being the default setting.
It's a bit refreshing that in melonDS I don't really need to worry about any of this. I can say that because all the games were running full speed for me... but if you need that extra performance or are suffering from slowdown, it might be a bit frustrating that there is nothing you can do about it.
While I did have a great time with melonDS's renderers, it must be noted that high resolution support can be a bit wonky in games that render 3D to both screens at the same time. Specifically in the Zelda games, I ran into issues where every other frame would be native resolution. It doesn't look good in motion, but, you can get some rather nice screenshots! This will likely get fixed in a future update, but it needed to be mentioned.
On top of the new OpenGL renderer, melonDS still offers one of the best software renderers I've ever seen. It's considerably slower than OpenGL, but, in most games I was still reaching full speed. And considering how ridiculously accurate it is with even the most minute effects, sometimes it's worth using just to see if you're missing anything.
In the case of The Legend of Zelda: Phantom Hourglass, melonDS's software renderer is the only renderer I've seen that correctly emulates character outlines.
One of the main reasons I couldn't recommend any of the newer emulators back in the original article was that they all lacked important features. melonDS isn't exactly what you'd call fully featured, but a lot of the important features that you'd expect are already there. Controller configuration is simple but works, savestates are much appreciated, and there are some necessary additions such as closing the DS and microphone that are used in some popular games.
Perhaps the most exciting feature that melonDS offers is local WiFi support for playing multiplayer games together. This feature is extremely experimental and doesn't work all that great in many popular games. Yet, there's just something incredibly nostalgic to see things even beginning to work. Some games even work right now, such as Burnout Legends on DS. Even features like Download Play are almost working.
Has melonDS improved since the initial article? Of course! Let's take a look at some of the games that were broken in 0.2/0.3 and compare them to how they look in 0.8!
Testing the games that once gave problems to melonDS proved that Arisotura wasn't just focusing on enhancements. The base emulation quality is incredibly high and already feels like an emulator that has been around for decades.
Trying out melonDS 0.8 is what inspired me to write this article, so you already know that I absolutely loved what I saw. Unfortunately, there are quite a few problems right now, some of which will likely be fixed sooner than later. I ran into quite a few crashes with changing graphics settings before booting a game, and the software renderer with OpenGL rasterization appears bugged. There's also a lack of scaling on HiDPi screens, meaning that some of the render modes don't work well.
In terms of usability, it's a lot less plug and play than DeSmuME as well. Unlike DeSmuME, there isn't a way to HLE the BIOS or generate a firmware. This won't be a problem forever, as long term there are plans for a BIOS replacement and firmware generation that won't require as much setup.
And obviously, some features don't entirely work quite yet, such as local WiFi emulation. Overall though, the problems were rather minor considering how many new features have been added.
If I haven't made it abundantly clear already, melonDS is a worthy addition to the Nintendo DS emulation scene. While it may not have quite the feature set necessary to be the only thing you need for desktop DS emulation, it's definitely going to be my first choice going forward.
Was I right about the Golden Age of DS emulation being upon us? I can't say I was correct in my supposition, but DS emulation feels like it has a bright future. While DeSmuME hasn't changed much, it's still being worked on and No$GBA has also continued to push the boundaries with DSi emulation. In another two years, I could easily see melonDS being the dominant emulator, or, perhaps, another emulator will make a huge leap. Speaking of other emulators...
What Happened to GBE+ and Medusa
While melonDS has flourished, the other emulators are still around. While not as well known of an emulator GB Enhanced+ has continued to add support for tons of obscure accessories across the GameBoy era handhelds. I'm excited to say that GBE+ has hit the milestone of finally booting commercial DS games!
Considering the unique features that GBE+ already has, it will definitely be a welcome addition to the world of DS emulation as it matures. Right now, it's in an extremely experimental state. Even if its DS emulation isn't ready for the casual user, everyone interested in emulation will get something out of Shonumi's articles on their blog. You can find everything from progress updates to feature articles that detail obscure hardware that most of us have never heard about.
Medusa hasn't changed much since my last article, but that's not necessarily a terrible thing. The project hasn't been abandoned, it's just that endrift has been busy perfecting mGBA. I highly suggest that you read endrift's series of articles on "Holy Grail" bugs. They're incredibly interesting and show just how hard it can be to emulate every game in a library. That said, I strongly doubt we've heard the last of endrift's foray into Nintendo DS emulation.