Home | Downloads | Screenshots | Forums | Source code | RSS | Donate |
Register | Log in |
< Refactor still underway...News of the refactor: doublemelon is merged > |
News of the refactor: almost there! Jun 10th 2024, by Arisotura |
Basically what it says on the tin. I am working on the last big part of this refactor: the network interfaces. You might already know melonDS employs two different network interfaces: one for local multiplayer (between multiple melonDS instances) and one for outer network, which lets melonDS connect to external servers (like WFC) through libslirp or PCap. These need to be adapted to the refactor, too. Adapting the local multiplayer interface wasn't that hard. What I did was simply change the shared memory buffer to a regular memory buffer guarded by a mutex, and change the interprocess semaphores to regular semaphores. This makes the code simpler and easier to deal with. From a performance perspective, I haven't observed a huge improvement from this change, atleast under Linux. However, the gains will be apparent when we will be reimplementing netplay: managing multiple emulator instances is going to be a whole lot easier and more reliable when they are all contained within the same process. Then I moved on to the outer network interfaces. I had a bit of a debate as to whether to make them instance-specific. Because it could make sense to have them be shared across instances: these instances could be networked together rather than being isolated. It's a bit of a hypothetical scenario, but I like the possibility. It requires, among other things, sharing around data frames. So this is what I'm working on: designing a packet queue system that can broadcast packets across all emulator instances in a reliable and efficient way. Once I've tackled the network part of melonDS, the refactor will be mostly done. There will be a few bugs and misc things to iron out, and we will be good to finally merge it. There will still be a lot of stuff to fix and rework, but we will atleast be in a somewhat workable state. |
13 comments have been posted. |
< Refactor still underway...News of the refactor: doublemelon is merged > |
kikilxve says: Jun 10th 2024 |
Yay! This Is great news! I can't wait for a release! Hope it gets released soon! Have a good one! |
lucaspltn says: Jun 11th 2024 |
All this work has been conducted across just two months...that's wild! Netplay...I'm imagining being able to do Entralink Missions and join Union Rooms in Pokémon games, over the Internet 🤯 Exciting stuff is happening with melonDS! |
LEGO_Vince says: Jun 11th 2024 |
Yes! You're almost there! This is awesome! |
EC says: Jun 11th 2024 |
can u at leat give a time where could be finished? Nice work btw! |
Arisotura says: Jun 11th 2024 |
we're aiming at releasing 1.0 by November at most |
^.^ says: Jun 11th 2024 |
Wooo, sounds awesome! |
keisui says: Jun 11th 2024 |
yippee🎉 |
ken says: Jun 12th 2024 |
Is there any plans to add retroachievements support in the future? |
me :3 says: Jun 13th 2024 |
u da goat arisotura don't forget that |
KR says: Jun 13th 2024 |
Woo! Exciting news! |
AsPika says: Jun 14th 2024 |
"I am so excited!" - Mario 😁 |
hugo says: Sep 4th 2024 |
hola como se ponen los juegos en este emulador?? |
Isabella says: Sep 15th 2024 |
I can’t save games😭 |