DS Development

DS Wifi03 Aug 2006 12:36 pm

I’ve decided instead of doing the 802.11 rewrite now, I’ll make another release version before I start on the version that will become 0.5.
A few things are prompting me to do this, primarily because I’m engaged in figuring out how to use nintendo’s usb stick, and can have that functionality as well as the “finding hidden APs” in the near future rather than making everyone wait a lot longer. Also (thanks to BigRedPimp) I should be able to deliver compatibility for the AOSS access point records stored in the ds’s firmware.
So, just to let you all know I’m not scrapping my entire 802.11 stack and starting from scratch *just yet* ;)

DS Wifi31 Jul 2006 04:14 am

That’s right, the new DS wifi lib has now been released! 0.3a is hot off the presses and better than ever!

Since the project is now on sourceforge, I’ve decided to let sourceforge handle the source and lib distribution for now – if you’d like the source, please refer to The DSWifi library on Sourceforge.
I am however still making one package available to the public, this package contains the latest examples that I’ve put together (the wifi_lib_test, and a new version of the wifi_example1 project I released with 0.3)
That package is available here: dswifi_lib_v0.3a_full.zip (440k)

Now, it would take a really long time to list all of the improvements over 0.3 that exist in 0.3a, but I’ll summarize the main points:
* working, stable, faster TCP
* several major bugs fixed in other parts of the lib
* more correct berkley sockets emulation (though still not perfect)
* Shared key authentication support!
* due to the last entry, and other things, a much wider range of router compatibility!
There are a number of other small things that have been fixed, just enjoy the new release!

I’m still looking forward to all the crazy & fun stuff I’m sure so many of you will come up with, based on this powerful library

Have fun!

DS Wifi28 Jun 2006 07:15 pm

Sorry guys, but I didn’t get around to writing the improvements I alluded to and completing a new lib last weekend – I realize we’re now near the end of the wifi game coding compo, and I don’t really have time still to get out a new version in time. Rather than stress everyone and release a new lib at the last minute, I’ve decided to attempt the release again this weekend (saturday) and in the meantime I encourage anyone entering in the ndshb wifi game compo to get the latest version from CVS and compile it (latest version as of well, last week) for use in your entry rather than using the last actual library release. If for whatever reason you can’t compile the lib, I may be able to help you out and provide an actual compiled lib of the latest CVS source.
Anyway, I’m just far too bogged down with work at the moment, but I’m looking forward with great interest to the results of the upcoming competition – again, good luck all :)

DS Wifi21 Jun 2006 04:31 pm

Again, a very small CVS update, addressing a few issues brought to my attention by people bugging me :)
This CVS update contains:
* DHCP fix! Now the intermittent failing of DHCP and the days of getting an IP of should be over.
* FIONREAD support (As requested)
* connect() now operates in blocking mode! If you enable non-blocking mode before calling connect, it will still return immediately indicating success, but several people have asked for blocking mode (and I’ve been planning to add it anyway, just to be more “correct”)

That’s all the feature updates at the moment, and I must apologize because they’re not very well tested at this point, but they should work. (I just don’t have the time to test today… at all)
If for some reason they don’t work, please let me know, of course.
Additionally, this is already known to some of you, but I have plans to add many new features and release a new precompiled library on friday or saturday this week – among the features planned to be added are:
select() support,shared key authentication, support for ”hidden” APs (by way of probe requests), lingering TCP connections on close (so they shut down properly), and a few other large and small items. If you have requests, please post them :)
Anyway, need to get back to work…..

DS Wifi15 Jun 2006 06:21 am

Again, no *really* major changes, but I thought I’d let you people know there has been a MAJOR TCP bug fixed, and as a result, connections are apparently rock solid stable :)
Many thanks go to DragonMinded for his persistence in making me track down the bugs, hehe. (and let me just say, some of the features coming up in DSOrganize will blow you away :)

Anyway, keep watching for more updates when I get some real features put in and not just bugfixes, and be sure to let me know if you find any bugs!

DS Wifi14 Jun 2006 01:22 am

…is on cvs, this should fix the inet_addr / gethostbyname ip address resolution crash bug.
There’s also a TCP update, and it appears that some problems have been resolved (though probably not all)

Sorry about the lack of updates, I’ve been quite busy with other things.
As of present there are a lot of things half-done, so when I get some time I’ll add more.

DS Wifi31 May 2006 02:52 am

There have been some pretty significant updates to the dswifi lib in CVS – TCP is now a lot more stable, and some other things have been addressed (As always, see the Checklist [wiki.akkit.org])
Of course please let me know if you do manage to find any bugs or it doesn’t work how you think it should.

I’m also still debating whether to spend some time converting the junky videos I took of the Wii action and post them… to give you an idea of what we’re talking about, the footage is 640×480, 15fps without sound – the footage is a bit shaky but some is better than others, I’ll clean it up to the best of my ability if I convert it.
More importantly I’d like to know if you people (whoever reads this blog, if anyone :P) would like to see this footage, given that there are of course lots of nicer sources out there – there is at least one video I’d like to show everyone though, so I will at least convert and post the one.

Update: ok, the source video is actually 320×240 (bleh)
Anyway, I’ve uploaded 2 samples of the crazy shaky videos I had the pleasure of taking
Hopefully you will enjoy what little footage I can post here :)

Wii – ExciteTruck (bad video)
Wii Sports – Baseball (bad video)
(note, these videos are encoded with the xvid codec, if you can’t play this format let me know and I can probably post another set in a different codec)

DS Wifi21 May 2006 08:20 pm

Work is progressing on the dswifi library, you can see the progress as it is being made here, on my SgstairChecklist wiki page.
It’s not ready for a full release at the moment, but there’s even better news:
Now, thanks to some help from WntrMute, I’ve reorganized the dswifi library to make building easier and have added it as a module to the devkitpro sourceforge CVS server (see file listing here).

Keep in mind that this certainly isn’t the best option for everyone, but for those of you who are sufficiently capable this will put you at the cutting edge of dswifi library development, which can only be a good thing with the ndshb.com DS wifi game coding competition coming to close in about a month and a half. Having the latest wifi codebase could give your app the edge it so desperately needs! :P

In all seriousness though… Feel free to download and compile the libraries, it’s an utterly painless process if you can get CVS to cooperate, the new build system dumps 4 output files (libdswifi7.a, libdswifi9.a, libdswifi7d.a, and libdswifi9.a – arm7 and arm9 release and debug versions respectively) into [root]/lib, and the include files you need are in [root]/include. [NOTE! the old lib used "libdswifi7r.a" and "libdswifi9r.a" for the release versions - the 'r' has been dropped for the new version.]

If you find bugs…. let me qualify: if you find bugs that are not explicitly listed in my checklist, please feel free to bug me about them. Please do try very hard to explicitly define the bug though, generally “recv doesn’t work” isn’t nearly as helpful as “I noticed that recv fails in xxxx circumstance and tried a bundle of other things but it worked ok for them” – in other words just don’t be extraordinarily vague.

If there are known bugs that are hindering your progress, you may also bug me about them, I’ve got a rough set of priorities in my mind about what order to tackle the bugs in but if you have something you need to have working correctly, I can usually adapt my workflow to fix it more quickly.

As always, bug me via email, leave a comment here or on the wiki, or stop by on the IRC channel – #dswifi on EFnet
Have fun, and good luck with your (hopefully wifi related :P) projects.

DStunnel08 May 2006 04:40 am

Hi again, I’m looking forward to E3 with great anticipation (leaving here in roughly 24 hours…. wheeee!)

Anyway, I thought I might mention that I’ve put some thought into the new DSTunnel protocol, and have written up some basic documentation on how I want the protocol to work, what kind of messages will be present, and how the system should behave.  When I get some time I’ll be properly putting this into code, and hopefully getting a bug-free implementation going this time ;) – some of the premises of the protocol have changed since last attempt, this one will act as a cross between a true p2p udp network and a server-client network, based on configuration and network ability… it will determine whether a p2p or client/server system is more effective based on connection speeds and lag times, and configure the network in an attempt to create the best performance for an arbitrary group of peers. 

Additionally, since I know a bit more about what I’m up against now, I’ve designed some mechanisms in the protocol that will make managing some aspects of timing a lot easier… no idea if they’ll work as well as I hope, but they should at least work better than last attempt (which uh, really screwed a lot of timing stuff up) – Also I’ve designed the interface between the transport protocol and the hardware interface to be a lot more streamlined, and I will probably introduce a simple plugin system so people can write their own custom servers easily.

All this when I have time….


Now, more about E3:

I’ve already been contacted by a few people who want to meet me; needless to say I’m thrilled – whereas last year I didn’t meet many people at all, this year I hope to be able to meet a lot of people in the DS homebrew scene and otherwise – like I’ve said in my previous post, I’ll be either running around E3 or hanging around the nintendo booth wearing a white “dswifi” shirt – see my cafepress store for info on it, or I’ll be wearing a black “reverse engineer” t-shirt from thinkgeek. If you run into me and want to say hi, please do :)

I’m also going to be visiting the 4colorrebellion meetup on thursday, so you can catch me there if you don’t feel like chasing me around…

And, people inevitably ask me about capturing demos…. well, I suppose I am the one to ask about that – I don’t really have any plans to capture at the moment, things have been too busy lately for me to prepare the requisite apps… but I’ll look at what I have when I get into LA and make a decision on what to do.

Anyway, I’ll be ecstatic if I get the chance to meet some of you people at E3! If you can’t go this year, that’s too bad – keep watching as I’ll be posting news and pictures from E3 on my blog when I get the chance :)

*One Last Thing* – I will be on IRC and teamspeak (if bandwidth allows) if I have time in the evenings, so if you wanna bug me, I’ll be in the usual places (#dsdev and #dswifi on EFnet for IRC – I have a personal teamspeak server I will reveal the info for if I decide to use it)

DS Wifi03 May 2006 09:09 am

This came up in #dswifi, so I feel obligated to now post it somewhere more public so people have a good feedback path.

At present, the list of known issues for the dswifi library is In my checklist on the wiki [wiki.akkit.org]

If you find a bug that’s not on the known issues list, or want to request a feature that isn’t on the list, please do report it! I don’t really mind you reporting issues that already are listed, but it is a bit counterproductive. About reporting issues, you can bug me on IRC, send an email, or alternately Add it to the talk page for my checklist on the wiki [wiki.akkit.org] – I’m partial to the wiki option cause wikis are cool (and mine doubly so :P)
Anyway, don’t feel like you lack the ability to strike back about features missing or being incorrectly implemented, do bug me about it :)

« Previous PageNext Page »