melonDS 1.0 RC, there it is!
We have finally released a brand new version of melonDS: 1.0 RC.

A bit of a disclaimer about this unusual version number: due to the large number of changes since 0.9.5, this version is a Release Candidate. We have done a thorough round of testing and bugfixing, but there is always the chance that further issues went unnoticed. This release will be the occasion to catch them and fix them for the actual, proper 1.0 release.

Now, the biggest changes this release brings:


Core refactor

This is the biggest change by far. We have undertaken a large and ambitious refactor of the melonDS core, in order to make it possible to run multiple instances of the emulator within one single process.

What does this change mean for end users? It means that local multiplayer is easier to deal with, since we no longer have to deal with inter-process communication. It also means that depending on your platform, local multiplayer may be more performant now.

However, much like in 0.9.5, this multiplayer mode only works when running multiple instances on the same computer. But we have another ace up our sleeve, which we'll see next.

It's also worth noting that this refactor was partly motivated by the idea of adding netplay support. While I haven't been able to get netplay working yet, the refactor has laid a very important foundation for it. We'll get there, eventually!


LAN support

You might remember LAN multiplayer and the associated betas. This feature has been backported and brought to you proper in this new melonDS release.

This means that you can play local multiplayer games with family or friends over the local network.

Do note, however, that due to the tight timing requirements of the local multiplayer protocol, it requires a pretty good ethernet network to work. Do not expect it to work well over wifi. And, most importantly, do not expect it to work at all over VPN, Hamachi, or any sort of tunnel that goes through the internet. We will not accept issue reports about LAN connection failures that involve tunneling.


OpenGL compute shader renderer

Until now, we had the software renderer and the OpenGL renderer. The software renderer produces very accurate graphics but can't be upscaled. On the other hand, the OpenGL renderer supports upscaling, but it is prone to all sorts of problems and glitches.

So Generic brought us this new OpenGL renderer, which uses compute shaders to closely reproduce the DS GPU's rasterization algorithms on your computer's GPU.

This renderer brings together the best of both worlds: a graphical output that is very accurate, but at the same time, support for upscaling and other improvements.

The old OpenGL renderer will still be around, along with this new one. You can select them in the 3D settings dialog.


Software renderer improvements

Speaking of renderers, Jakly has been at work researching the intricacies of the DS GPU far more in depth than I have. She has committed several accuracy fixes and improvements to the software renderer, some of which might make a big difference depending on the game.

Jakly is also currently fighting our worst enemy, the Horseman of Timings. Compared to this, fighting the Horseman of Wifi was a walk in the park. But she's been doing some impressive work figuring out the intricacies of the DS's timing model, and might finally deal with a lot of the old timing issues. So stay tuned!


Multi-window support

This has been a long requested feature: the ability to split melonDS across two windows, or more. And it is finally here.

The way this feature works is quite similar to DeSmuME: you can open a new emulator window (View -> Open new window), which will function like the initial window. Then the layout settings can be set per window, allowing you to have one screen per window, but also many other possibilities. melonDS also remembers how many windows you had open and how they were configured.

We have also moved the layout settings to a separate View menu to make things clearer.

This is a first iteration of this feature, so it may get refined based on user feedback.


R4 Revolution and M3 Simply support

Until now, the way DLDI support was done in melonDS was pretty high-level. It was implemented through a custom DLDI driver that melonDS patches in, and a special cart class (CartHomebrew) is used, which can interface with melonDS's DLDI driver. While it isn't too far off reality, and works just fine, it is an entirely custom solution not based on any existing hardware.

asiekierka has been working on emulating specific flashcart models: the R4 Revolution and the M3 Simply. This makes it possible to, say, run these flashcarts' original menus. Can be a nice touch!

It's also pretty nice to have a reference as to how that hardware works.


Many other fixes

There are way too many fixes, changes, and general improvements to list here. You can find them in the changelog, for the most part.


Nightly builds

I plan to open up the section for nightly builds on the download page soon. I will keep you informed.



You will find this release on our downloads page, as usual. Enjoy!
Bro says:
Nov 23rd 2024
Will these features be available on the mobile app any time soon?
Anonymous says:
Nov 23rd 2024
Is this different from the mobile version?
No-Name says:
Nov 23rd 2024
Now it's been some time since I last played the game on the previous release version, and I have not experimented much with this new release, but so far Zelda: Spirit Tracks seems to be rendering much better on this 1.0 version than the previous version. That game had a lot of glitchy textures beforehand, but I guess that those GPU optimizations have done a lot for it now. Really exciting to see that we have some great 3D support in the emulator now.

Thank you everyone for your hard work!
Kokonut says:
Nov 23rd 2024
congratulations on the release!
Tagger101 says:
Nov 24th 2024
Thanks for all your work on this! Wonderful release.

I did notice one issue so far with the new OpenGL renderer. In Pokemon White 2 the graphics are glitched out, but switching back to the classic renderer fixes the issue.
mixo says:
Nov 24th 2024
Congratulations! I imagine it's been a long road of hard work, I hope you can feel that you've done a great job because it has. Now, with the intention of contributing to solve problems, maybe I'm doing something wrong, but I can't run a game (kingdom hearts re coded) in 2 separate windows using opengl (neither of the 2 versions) when using the "open new window" option both screens automatically adjust to use software as the rendering method, and when I select opengl in any of the 2 windows, the other one stays static and only changes image when I click on it (only 1 new frame) in addition to not working opengl rendering at all. I hope you can help me and again, congratulations for all the work and thank you very much for your effort! :)
Neuro says:
Nov 25th 2024
Thank you for your hard work!
Myself says:
Nov 25th 2024
It's a shame the fix for the broken graphics with the OpenGL Compute Shaders by FireNX70 wasn't merged into 1.0. Great job regardless of that!
Eyonne says:
Nov 25th 2024
Tysm for doing litteraly gods work
Yashura says:
Nov 26th 2024
Thanks man you are the number one, take a rest now!
skeeith says:
Nov 27th 2024
I hope you guys would port this to Android Playstore
Hario337 says:
Nov 27th 2024
Oh this is brilliant! I love this emulator though I'm usually using it on switch, Will the new OpenGL encoder be available there any time soon? I'd love to play pokemon full screen on there without strangely sized pixels!
It's me, Mario says:
Nov 28th 2024
No compatibility with RetroAchievements yet.
SomeoneNeat says:
Nov 28th 2024
This is an awesome update!

I did run into a problem with the multiple windows however as it doesn't seem to work for me with anything other than the software renderer. Whenever I try to use it with either OpenGL renderers, the bottom screen freezes and only resumes if I click on the screen again and even then it only updates to the next frame. I can't turn on the second window mid game either as the second window glitches out visually.
Wolf says:
Nov 28th 2024
thanks been waiting for that update!

Just wish the hotkey for switching screen would overwrite the Automatic screen focus or that there was a reverse option for that as an idea maybe.

Eitherway love your emulator most for Ds keep it up ^^
Post a comment
Name:
DO NOT TOUCH