Homebrew WIP melonDS for Switch

Hydr8gon

Dragon Trainer
OP
Developer
Joined
Dec 15, 2014
Messages
316
Trophies
1
Website
hydr8gon.github.io
XP
2,503
Country
Canada
Nice to see the homebrews popping up.


He didn't stopped it in the first place. Just a lack of commit those time.
"Resume" doesn't mean that it was stopped.
Actually, on her blog back in May, StapleButter said:
So for now, melonDS is on hiatus.

I feel bad for those who are still donating to the project. If you are, well... do whatever you want, but consider that melonDS isn't going to see progress for a good while, if not ever.

Sorry.
So yeah, for a while the project was dead, but just recently work on it has resumed. Which is why I chose to release this now!
 
Last edited by Hydr8gon,
  • Like
Reactions: focusonme

Csmrcc

Well-Known Member
Member
Joined
Sep 13, 2018
Messages
416
Trophies
0
Age
36
XP
852
Country
Spain
melonDS doesn't yet have an OpenGL renderer on any system, so it's not a simple port over. Once a hardware renderer is written, it should be easy enough to port.
And then it is very possible that the fps will be increased? I like how it sounds.
 

Hydr8gon

Dragon Trainer
OP
Developer
Joined
Dec 15, 2014
Messages
316
Trophies
1
Website
hydr8gon.github.io
XP
2,503
Country
Canada
I've released a small update; check the notes below for details. GitHub is being dumb and not letting me upload a release but it's up here on GBAtemp.
This release features the latest commits from upstream melonDS, which mainly feature the addition of experimental savestates. To use savestates on the Switch port, press L to save and R to load. You only get one slot per game. This is only temporary until I make some sort of actual menu system. Note that the DS L and R buttons are mapped to the Switch ZL and ZR buttons; don't get them mixed up!

When I get some more time to work on this I'd like to add some form of options menu for the limited .ini settings melonDS has, some basic screen layouts, and maybe even input remapping. That'll probably be the next update. Honestly, this one is more of a "the project isn't dead!" update.
 

Csmrcc

Well-Known Member
Member
Joined
Sep 13, 2018
Messages
416
Trophies
0
Age
36
XP
852
Country
Spain
I've released a small update; check the notes below for details. GitHub is being dumb and not letting me upload a release but it's up here on GBAtemp.


When I get some more time to work on this I'd like to add some form of options menu for the limited .ini settings melonDS has, some basic screen layouts, and maybe even input remapping. That'll probably be the next update. Honestly, this one is more of a "the project isn't dead!" update.
great, nice to see some advances, thank you!
 

OkazakiTheOtaku

no thanks, I don't want a custom title
Member
Joined
Jul 20, 2016
Messages
1,460
Trophies
1
Location
127.0.0.1
XP
3,081
Country
Japan
I've released a small update; check the notes below for details. GitHub is being dumb and not letting me upload a release but it's up here on GBAtemp.


When I get some more time to work on this I'd like to add some form of options menu for the limited .ini settings melonDS has, some basic screen layouts, and maybe even input remapping. That'll probably be the next update. Honestly, this one is more of a "the project isn't dead!" update.
Glad this isn't dead. I can't wait to play some DS RPGs on the Switch.
 

Csmrcc

Well-Known Member
Member
Joined
Sep 13, 2018
Messages
416
Trophies
0
Age
36
XP
852
Country
Spain
Right now we all are waiting for that programmer who success on working on the bounty. After that a lot of emulators/games/honebrew will be benefited.
I think the bounty now is about two thousand dollars.
 

Hydr8gon

Dragon Trainer
OP
Developer
Joined
Dec 15, 2014
Messages
316
Trophies
1
Website
hydr8gon.github.io
XP
2,503
Country
Canada
After that last release, and seeing StapleButter working hard on melonDS, I was oddly inspired to keep working. So here's another release! Check it out on GitHub. Notes below.
melonDS was just bumped to version 0.7 a few hours ago, so here's another release from me as well! This release comes with an options menu containing four whole options (crazy, I know). I've also reworked some things to prevent flickering when navigating the menus.

The options added include:
Boot game directly - Disabling this will allow you to boot into the DS firmware instead of automatically running a game.
Threaded 3D renderer - Speeds up 3D rendering; you probably don't want to turn this off.
Vsync - While not technically being Vsync, the functionality is similar enough. Disabling this will let the screen render without waiting for a frame to finish. It'll give you a performance increase at the cost of screen tearing and minor artifacts.
Audio output - Self-explanatory. Disable to sacrifice audio for a small performance boost.

The first two options are actual melonDS options, while the last two are custom ones I added for the purpose of increasing performance. You still probably won't get full speed, and the trade-offs may or may not be worth it, but at least it's something.

And here's some extra information. I haven't actually tested this on my actual Switch yet; I've been using yuzu instead. It should work the same on an actual Switch, but let me know if you have any issues. I was planning on testing on my actual Switch, which I've been keeping homebrew-free since the online service launched, but my SD card reader was being wonky and I wasn't able to get my Switch homebrew-ready again. The only real downside to this is that I can't accurately test how the performance is affected by the new options. However, when I was first working on this port, when I had no audio support and had just added threading with no mutex locking (this is what fixes the tearing), some games, specifically 3D ones, would run slightly faster than DeSmuME-NX. So I've been planning on adding these options from the start. This is about the best I can do to up the performance without diving into core melonDS code and making some big changes. Which I do hope to do at some point, but I don't think I'm ready for that yet. @Jonhy the overclock is interesting; I've just now learned about it, but assuming it's a CPU overclock it'll definitely help melonDS. If it's a GPU overclock, it probably won't help. @Csmrcc the RetroArch bounty is specifically for N64 emulators; it won't benefit melonDS. Anyways, this turned into an essay, so I'm gonna stop myself here. Enjoy the new release!
 
Last edited by Hydr8gon,

sbah

New Member
Newbie
Joined
Jul 3, 2018
Messages
4
Trophies
0
Age
26
XP
160
Country
United States
After that last release, and seeing StapleButter working hard on melonDS, I was oddly inspired to keep working. So here's another release! Notes below.

v0.2 worked for me yesterday (but without sound) -- just tried the new v0.3 on my 6.0.1 Switch and it always crashes with "The software was closed because an error occurred" immediately upon launch when started from the NSP hbmenu, and if I start from the regular album hbmenu I have to reboot my switch. Not sure if my issue is isolated but thought I'd let you know
 

Hydr8gon

Dragon Trainer
OP
Developer
Joined
Dec 15, 2014
Messages
316
Trophies
1
Website
hydr8gon.github.io
XP
2,503
Country
Canada
v0.2 worked for me yesterday (but without sound) -- just tried the new v0.3 on my 6.0.1 Switch and it always crashes with "The software was closed because an error occurred" immediately upon launch when started from the NSP hbmenu, and if I start from the regular album hbmenu I have to reboot my switch. Not sure if my issue is isolated but thought I'd let you know
That doesn't sound good. Thanks for telling me. Can anyone else confirm either of these issues? Crashing in v0.3 and missing sound in v0.2. I'm going to try to look into it.
 
Last edited by Hydr8gon,

DogParty

Well-Known Member
Member
Joined
Sep 15, 2015
Messages
172
Trophies
0
Age
31
XP
898
Country
United States
the RetroArch bounty is specifically for N64 emulators; it won't benefit melonDS.

To add a little more info here, the bounty is for an N64 MIPS to AArch64 dynarec. This won't help because the DS uses two ARM processors (ARM7 and ARM9 to be specific).
 
  • Like
Reactions: Hydr8gon

OkazakiTheOtaku

no thanks, I don't want a custom title
Member
Joined
Jul 20, 2016
Messages
1,460
Trophies
1
Location
127.0.0.1
XP
3,081
Country
Japan
That doesn't sound good. Thanks for telling me. Can anyone else confirm either of these issues? Crashing in v0.3 and missing sound in v0.2. I'm going to try to look into it.
Hey, the newest release on GitHub at time of posting ("Options Menu") runs pretty well, but there is no sound.
ReiNX newest release, firmware 5.1

Sound is enabled in the options menu
 
  • Like
Reactions: Hydr8gon

Hydr8gon

Dragon Trainer
OP
Developer
Joined
Dec 15, 2014
Messages
316
Trophies
1
Website
hydr8gon.github.io
XP
2,503
Country
Canada
Hey, the newest release on GitHub at time of posting ("Options Menu") runs pretty well, but there is no sound.
ReiNX newest release, firmware 5.1

Sound is enabled in the options menu
Thanks, good to know it's not crashing at least. Have you tried the last release (0.2)? Did it have sound? I attached a build of 0.3 with the audio option removed; try that. Not sure why it would break audio, but I've got no other ideas right now.
 

Attachments

  • melonds.zip
    439.5 KB · Views: 145

MK73DS

Non-commutative algebra
Member
Joined
Feb 23, 2015
Messages
575
Trophies
0
Age
23
Location
France
Website
www.youtube.com
XP
1,494
Country
France
DraStic was built specifically for the ARM architecture, but it is closed source, so we can't port it to the Switch.

I don't get why emulators on the Switch aren't built for ARM, everything is painfully slow even though the system has a lot of potential. Drastic is by far my favorite emulator, it runs DS games at full speed even on a 100€ android phone from 2013. Maybe I'm too dumb to understand that, but isn't the effort worth it ? With all the power the Switch has, why don't make the best HD DS experience ever made ?
 

OkazakiTheOtaku

no thanks, I don't want a custom title
Member
Joined
Jul 20, 2016
Messages
1,460
Trophies
1
Location
127.0.0.1
XP
3,081
Country
Japan
Thanks, good to know it's not crashing at least. Have you tried the last release (0.2)? Did it have sound? I attached a build of 0.3 with the audio option removed; try that. Not sure why it would break audio, but I've got no other ideas right now.
Just tried this build. Still no sound. I haven't tried v0.2 though.
 
  • Like
Reactions: Hydr8gon
General chit-chat
Help Users
  • No one is chatting at the moment.
    DEMONGreninjaPG @ DEMONGreninjaPG: i feel like shit