|Home | Downloads | Screenshots | Forums | Source code | RSS|
Full steam ahead!
Feb 21st 2019, by Arisotura
You might have noticed the beginning of another coding streak. Is an awesome feature being coded? You'd be right.
One of the main reasons why coding is going at this weird pace, besides the recent surge in local political activity and moving to a betterer apartment, is, well, how I achieve work. Whenever big-ish changes are required (designing something new, redesigning something...), I need time to think about it, and sometimes just do something else entirely for a long while. Until I go 'fuck it' and just code the damn thing.
So, I started coding the damn thing.
The "bind socket to any address" setting for local wifi has been moved to this spanking new wifi settings dialog.
There's also the new UI for setting up online mode, so you can, you know, pick a network adapter, etc.
That's why it took a while btw. It displays adapter information such as MAC, IP, DNS servers, which aren't provided by stock libpcap. So I had to use the Win32 API to retrieve those (and I have yet to code the Linux equivalent). We also get more meaningful adapter names this way, instead of having them all be named 'Microsoft'.
Then, there is the 'direct mode' thingablarg. What's that for?
Direct mode is basically the old way of forwarding network traffic: directly passing packets from/to libpcap. While this is the most straightforward and less likely to shit itself, it has the downside that it requires an ethernet connection. Reason is that under this mode, melonDS is seen as an entirely separate device on the network, with its own MAC address and all. On an ethernet connection, you can just use promiscuous mode to retrieve the packets sent to melonDS. But wifi is a different affair. Devices need to be associated to the access point. As that isn't the case for melonDS, its packets are just thrown away.
To work around this issue, not-direct mode is being developed. The idea is to do DHCP/NAT inside the emulator. melonDS would be in a little subnet along with its access point melonAP and its miniature DHCP server, and a bridge to the actual network. This way, packets sent to melonDS would bear the MAC address of your computer instead of that of melonDS, and wifi access points wouldn't throw a fit.
Hoping I can get this to work. But first, I have to finish fixing up the water heater.
|10 comments have been posted.|