MelonDS emulator version 1.0 released

mleon.png

Arisotura's work on MelonDS has culminated in a major milestone. After seven months of work since the initial "release candidate" beta, the 1.0 version of MelonDS has been released. This version irons out the bugs that were in the "1.0 RC", and improves some existing features. If you were waiting for the full release of 1.0, and didn't get a chance to check out the early release, it added a new OpenGL renderer, support for multiple windows, LAN support, and more.

  • build system and CI fixes (Nadia)
  • DSi title manager: fix handling of title strings (Rayyan)
  • fix gdbstub not activating until the console is reset (ZNixian)
  • improve audio when not running at 60FPS (Jakly)
  • fix a lot of warnings (Nadia)
  • fix framelimiter bugs (Jakly)
  • add support for solar sensor without using Boktai ROM (Jesse)
  • set SDL_HINT_APP_NAME (redbluegreenhat)
  • fix undefined behavior when indexing into ARCode::Code (Jesse)
  • DLDI: add support for unaligned I/O in melonDLDI driver (Arisotura)
  • audio settings: fix mic settings not applying when closing the dialog (Arisotura, Nadia)
  • multiplayer: load firmware from correct instance-specific file (Arisotura)
  • 3D: small fix to translucency flag assignment (Jakly)
  • AES: load Tad key (edo9300)
  • slot-2: add support for Motion Pak and Guitar Grip (asie)
  • DSP: fix PDATA reads (Arisotura)
  • slot-2: don't return 0 when attempting to read from the GBA GPIO address (edo9300)
  • camera: always trigger DMA when reaching the end of a frame (Arisotura)
  • NDMA: fix IRQ in infinite repeat mode (Arisotura)
  • camera: fix resolution selection code (Arisotura)
  • UI: fix OpenGL issues with multiple windows (Arisotura)
  • UI: add a way to tell windows apart (Arisotura)
  • camera: make timings and FIFO more accurate (Arisotura)
  • DSi: add support for 32-bit bus VRAM timings (SCFG_EXT9 bit13) (Arisotura)
  • sound: use single buffer, improves audio latency (Sparronator9999)
  • fix "full bios boot" not being set properly on initial DSi class creation (Jakly)

You can grab MelonDS's 1.0 build from the link below.

:arrow: Source
 
What I wonder about the DS emulation scene is why, so far, there's little interest in emulating wifi and multiplayer... considering it seems to be one of the things that helped make melonDS popular...
It could be a fascinating case study. Maybe MelonDS appeared more complete or seemed to be in more active development than DeSmuME. So, it was less about the functionality and more about the progress itself. It's understandable that the single player games would have a large draw.

It reminds me of how mGBA can be set up to communicate with Dolphin, but the lag makes the experience impractical. I'm not sure if a viable solution exists now, but it'd give people the chance to play Four Swords or Final Fantasy Crystal Chronicles with a group.
 
yeah...

I did give NO$GBA a try and found that it does support local multiplayer since 2021, although it's imperfect... but it seems to require external BIOS/firmware images.

but hey, that's two!

multiplayer is also something that is tricky to make convenient. the multi-instance stuff in melonDS is nice for testing, and works for some games, but for anything that uses the touchscreen it's gonna be a no-go. LAN would work around these problems but it requires a pretty good network.

this reminds me of the old netplay plans. I should work on this again. I figure it's something that could be immensely popular if it worked, but I don't know how well it could actually work. since it would rely on emulating all participating consoles locally, it would obviously require a more powerful computer...


as for the "progress more than the functionality itself", I don't know... maybe that plays in it, that's for sure. DeSmuME is still active, but there's no communication from them, you have to look at their Github to see the progress...

on the other hand, we get quite a bunch of people who come in for local multiplayer, so there's that.
 
  • Like
Reactions: Robert Newbie
What do you mean by this? If one uses the turbo or fast-forward feature, the RNG doesn't stay synced?
it's because 90% of the time an emulator cannot keep a consistent frame rate because it's when emulating the console an inconsistent framerate can break RNG because of how precise you have to be when manipulating it, it's why using native hardware is the go to, and despite in RSE you can RNG manip with a dead battery which is the preferred method all RNG manip methods are recommended to be done on real hardware due to accurate input registration and consistent framerate, it's why most get a capture card for DS when streaming this kind of stuff, or in GBA's case, they use a GBA player
 

Site & Scene News

Popular threads in this forum