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!
Minessota Klei says:
Nov 21st 2024
The whole world (especially me) are very happy for the release of this new version of Melonds 😊

Thank you very much for the effort and work of all involved, lots of love and affection for all of you ❤️

To infinity and beyond (^o^)//
1= says:
Nov 22nd 2024
First of all, I apologize for my lack of understanding of emulators. Does this mean that multiplayer is not possible with friends who live far away?
Klauserus says:
Nov 22nd 2024
Holy Moly

I've been following the project from the very beginning. Now the time has come. Version one. I can't help but shed a tear. It's amazing what has been achieved here. Thank you very much for that. It's nice to have such a good emulator for the DS system.

I wish you all the best for your surgery and everything else.
I'll drink a beer to you, stop, no, eat a melon :)
Heartless1Riku says:
Nov 22nd 2024
Thank you for the hard work you do. Wishing you well for the surgery and happy holidays <3
dude says:
Nov 22nd 2024
we eat good this week melonbros
Tursendo says:
Nov 22nd 2024
yoooo, congrats! genuinely one of the coolest emulator projects I know :D
^.^ says:
Nov 22nd 2024
Absolute congratulations for this achievement, and again good luck and a speedy recovery for your surgery! (Please don't pull anything on us).

Writing this while listening to the Team Win track in Mario Kart DS, which is appropriate given what you worked on for such a long time 😎🍈🍈🍈🍉🍉🍉

@1= to answer you: games that supported full online/Nintendo Wifi Connection were already supported in older versions on all systems, if you got some game that only works on local multiplayer we have similar functionality now on a single PC or a LAN.
^.^ says:
Nov 22nd 2024
(obviously my congrats extend to the whole dev team, if it wasn't clear from the music joke 😅)
melonJYC says:
Nov 22nd 2024
Congratulations, Arisotura! :D
melonJYC says:
Nov 22nd 2024
And good luck for a fast recovery!
:) says:
Nov 22nd 2024
Thanks for this new release!!!! Now soulsilver does not have those black lines with opengl if I use the compute shader :)!!!
Foxeh says:
Nov 23rd 2024
Yooo congratulations!

i like the new graphic settings!
skeeith says:
Nov 23rd 2024
will this somehow reach the Android Playstore version as well? I'm hoping that melonDS on Google Playstore will get these updates as well!!
GameSettingsGuy says:
Nov 23rd 2024
How about adding the ability to remember PER-GAME-SETTINGS so we don't have to manually re-configure settings every single time we switch between games?

This isn't a SNES or Gameboy situation where you just load any game up and go. The nature of emulating two screens at once requires workarounds that differ from game to game.

This should be a priority, not an afterthought!
GameSettingsGuy says:
Nov 23rd 2024
Also...

So I don't come across as a thankless jerk, I do appreciate the time and effort by all involved with the project. It's just that setting up one game can break another, so I felt the need to speak up for those who are often frustrated by this.
Post a comment
Name:
DO NOT TOUCH