melonHLE, facts and ideas
So first of all, I'm done with the mold problem and its consequences, meaning that my apartment finally looks like an actual apartment and I can exhale a big sigh of relief.

I continued my work on melonHLE, taking it to a point where it may be something serious. The compatibility rate seemed good, even though some games don't run because some auxiliary services aren't completely implemented. I've had some fun reverse-engineering the sound engines and implementing them, with decent results.

So I did a quick performance comparison:



The tests were done on my laptop Crepe (Core i7-5500U, 2.4GHz). Numbers are an average measure of frames per second.

melonHLE shows to be faster, but it's not mindblowing either. However, keep in mind that this is largely a quick and dirty experiment. There are some simple ways to make melonHLE faster, one of which is increasing the maximum CPU time slice (kMaxIterationCycles). The current value of 64 is chosen to keep the ARM9 and ARM7 somewhat in sync, but obviously, in melonHLE we don't need to keep the ARM7 in sync. A much bigger kMaxIterationCycles value increases performance to some extent and has no downsides.

Regardless, melonHLE may prove a viable option for lower-end platforms. In the end, it might be integrated into melonDS as an option, though it needs more work and testing.


Now, you may ask, how does any of this relate to the netplay saga?

This joins the general idea of optimizing melonDS for lower-end platforms. For example, Generic is trying to optimize melonDS for the Switch, and more particularly trying to optimize the whole 3D graphics pipeline. Full 3D games are more demanding, so this is a worthy optimization target.

Optimizing melonDS will also benefit local multiplayer and netplay, seeing as these require running multiple melonDS instances at the same time. I want to make it accessible to a broad audience and not just those with the absolute bestest computers, especially in these troubled times of chip shortages and such.

Which brings me to another point: HLE wifi. So far, I haven't done any work towards it, but I'm tempted to give it a try. The wifi service may be high-level enough to be emulated separately from melonDS's current wifi implementation, and with less complexity and more lax synchronization, but the only way to know is to give it a try. If it works out, it might make local multiplayer possible with lower performance requirements.


Stay tuned!
kevincrans says:
Jun 6th 2023
First, saw it appearing while checking lol.
I'm happy that you're apartment is fine now!
I see HLE really improves max performance a lot, but LLE works as good in SPP, int is only similarly good in MKDS.
Keep in mind it can be better in the future or on other platforms like ARM
el palmadas says:
Jun 6th 2023
i dont understand anything but still i'm checking for your posts and hyped bout the melon ds, so here I am cheering for you, very good job man keep it up, love you and good luck

PD sorry for bad england
ferri si veus aixo chupala
Trunks/ says:
Jun 6th 2023
Glad to hear about your apartment being good now. Thanks for the update I love watching everything progress. Take care!
^.^ says:
Jun 7th 2023
Glad to know you fixed that! Home ownership is scary, I almost got CO poisoning from an old furnace and a gas leak almost killed us, lol.

I'm still not sure if HLE for everything is worth the effort... It's good to want to make the emu faster for everyone, but idk, hacks get messy...
How did Drastic pull it off? Also HLE?

On HLE wifi... I remember there were a couple of different wifi chips for the ds lite and phat, and let's not talk about the mostly undocumented DSi chips. Unless you want to also HLEmulate whatever wifi process runs each time, idk how it actually works.
I just remember that the wifi config menu was loaded from the rom; brings me back to the 3ds Mset menu exploits...

Good luck with everything!
🤔 says:
Jun 7th 2023
Also.
Given the current Dolphin drama with Nintendo beings dicks, is it legal for Melon to have this in its code?

https://github.com/melonDS-emu/melonDS/blob/79dfb8dc8f356834f0b6cf7baf73f77552b08923/src/DSi_AES.cpp#L141

Idk what key that is, but what's the point of requiring the BIOS if stuff is hardcoded?

Delroth opened the Pandora box, most emulators have some kind of key baked in the code...
https://www.reddit.com/r/emulation/comments/140b7x5/are_dolphin_devs_special_in_bundling_decryption/
RetroArch is probably going to disappear from Steam very soon...

Everyone has been caught in 4K, lol.
Arisotura says:
Jun 7th 2023
that's only partial key fragments and/or keys generated from user-provided NAND/BIOS files. if _that_ can be copyrighted and used to shut down melonDS, it'd be a really bad precedent.

the gist of the keys needed for DSi mode aren't embedded into melonDS, they need to be sourced from BIOS dumps.
Stubbertville says:
Jun 7th 2023
Wow! im so glad to see its being optimized for older hardware! I use my 2012 dell m6700 with a i7 3740 and m3000m and it runs pretty darn well! I really hope you also continue to support windows 7! I use it on all of my computers even my i712700k system! keep up the great work!!!
Melondslover says:
Jun 8th 2023
Aristotura, I'm just writing this to say that I love this emulator, I love all the work you and the team are doing on it, and I love you all. This console means so much to me, and being able to play it anywhere anytime is amazing. I can't really contribute at the moment, but I can give you all my love and support. Keep it up, folks!
Klauserus says:
Jun 9th 2023
Dear MelonDS Master

i think thats a great Idea to make the doors open for old hardware and DS Fun. But, i a big fan of LLE, too. Cann you please explain: give it two Versions of MelonDS in the Future or some option to switch LLE or HLE? Or exists only HLE Version in the Future?

thx a lot for your Work and great to hear about winning the fight against mushrooms :D
tardjuggler says:
Jun 10th 2023
Wish you could spend some time on improving DSiWare compatibility. Some games don't work, and others can't do ingame saves.
Generic aka RSDuck says:
Jun 10th 2023
Klauserus: there isn't really a reason to make it a separate version, it will probably just be an option.
tardjuggler: are you installing the game onto NAND (via the title manager)?
Mr2Seconds says:
Jun 11th 2023
Neat! I plan on playing lots of Mario Party DS with my family, so this will surely help running it in my older laptop.
melonJYC says:
Jun 15th 2023
When I connect to Nintendo WFC on The Legend of Zelda: Phantom Hourglass, it crashes. Please fix something...
ProfessionalGopnik says:
Jun 15th 2023
melonJYC: Works fine for me on 0.9.5, are your WFC settings correct?
melonJYC says:
Jun 16th 2023
And in DSi mode, it crashes when I start playing Mario And Luigi Bowser's inside story.
Post a comment
Name:
DO NOT TOUCH