Optimizing wifi, take two
I've been thinking about the problem and making another experiment, which seems more successful.

The basic idea is that games send multiplayer data at a generally steady rate and the timings are predictable. When the host sends a CMD frame, generally there won't be anything else being sent (other than replies and ack) until the end of the CMD_COUNT window, unless some clients failed to reply. The only exception to this is when the host sends a beacon frame, but since these are sent at a fixed interval, it's not hard to take them into account.

I had to do a few tweaks to get it reliable in certain situations, but so far it gives quite a substantial speed boost and doesn't seem to impact reliability. We still have to see how this goes -- we might have to make it optional if it causes problems somewhere.

I'm also trying to fix some other problems, namely how in some games you can't connect more than two players. I have a bit of an idea what's going on, but I'll need to work on it more.

We're also thinking of bringing back LAN, but as a proper LAN mode instead of just tossing packets around the network. It may even possible to build something robust around enet. I'll have to give this a try.
Lemon says:
Jul 31st 2023
Glad there is another progress report. Although i'm not a fully tech person so i can't understand the hard stuff, i'm always checking and waiting eagerly for the progress and rooting for you all.
somelinuxer says:
Jul 31st 2023
I/m so glad these games can be played for generations and people can still experience these magical games.
^.^ says:
Jul 31st 2023
I knew you would figure it out 😉 this sounds awesome.
HeroMayCry says:
Aug 1st 2023
You can do it, CRACK THE CODE!!!!
Thornskade says:
Aug 2nd 2023
I'm glad knowledgable and dedicated people like you exist. DS games were a big part of my childhood and it'd make me so happy to see them wholly preserved
cube says:
Aug 8th 2023
can local multiplayer work between a dsi and melonds?
Generic aka RSDuck says:
Aug 13th 2023
FluffButt Squirrel03 says:
Aug 13th 2023
This is awesome, I love the idea. I've been having difficulty trying to keep two local instances in communication with each other, but after about 15 seconds, it thinks the other side disconnected. This will be fantastic, I might finally be able to experience what others did during my childhood, if a server that can host a match will work. The last time that happened, Nintendo was quick to shut it down, I believe. Either that or they couldn't afford to keep hosting. Either way, I'm excited for this! Thank you so much!
Fluffbutt Squirrel03 says:
Aug 13th 2023
@Cube I think we'd need a USB infrared device to make that happen. The hardware seem to be the greatest limitation, but I'm open to correction if any knowledgeable professional happens to know otherwise.
Fluffbutt Squirrel03 says:
Aug 13th 2023
Apologies, just signed up so now I hope not to miss any replies. Thanks!
Generic aka RSDuck says:
Aug 15th 2023
we've explained this a few times in the past, but local wireless communication between a real console and melonDS is just very unlikely to happen. It would require very low level and low latency access to wifi hardware, which is only available under very special circumstances. Additionally local wireless emulation in melonDS depends on all instances cooperating with each other, which a real DS can of course not do.

Fluffbutt Squirrel03: local wireless uses radio transmission like wifi (as it is the same hardware in the DS also used to connect to wifi). Only Pokemon Black and White can communicate via infrared transceiver integrated into the cartridge. I'm not that familiar with its details and melonDS doesn't emulate it currently, but I assume it is similar to local wirless.
beep says:
Aug 15th 2023
Are those "very special circumstances" called using linux?
DCMen007 says:
Aug 15th 2023
When is the new version of the emulator?
kip says:
Aug 16th 2023
> Are those "very special circumstances" called using linux?
I doubt it, I have an idea as to what generic is getting at
Comlud says:
Aug 24th 2023
and what idea is that?
Post a comment