WARNING

Use of this software will most probably invalidate your console warranty, proceed with installation at your own risk. The software installs in an unused portion of the flash chip on the wifi module but is still what Nintendo term an unauthorised modification.

LICENSE

Copyright (c) 2010 - 2015 Dave Murphy

Any redistribution or reproduction of part or all this software in any form is prohibited other than the following:

You may not, except with my express written permission, distribute or commercially exploit the software. Nor may you transmit it or store it in any other website.

The Software shall be used for Good, not Evil.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Overview

dslink is a simple and effective method to transfer homebrew games and applications to your DS(i) over wifi. Simply run dslink.nds on your DS console, wait for it to connect and use the command line dslink host tool to send an nds file.

	dslink [-a ip address] <ndsfile>

The dslink host uses UDP broadcast messages to discover your DS but this won't work for some people due to routers either not passing on these packets or sending them at a speed the DS can't read. If you get "No Response from DS!" then try specifiying the ip address of your DS with the -a switch.

DSi mode

Here's the part most people will probably be interested in, homebrew running in DSi mode.

While playing around with the save game exploits for Cooking Coach and Classic Word Games I created back in 2010 I discovered two things about the flashchip on the wifi module where the firmware would be stored on a normal DS. (1) It contains only the setup data for wifi, the user settings and the wifi connection settings and, (2) Part of it is writable, from DS mode. This was what finally gave me the motivation to revisit an old project to upload homebrew to the DS over wifi.

installDSiLink.nds will, when run from a DSi compatible card in DS mode, write the dslink client to the wifi flash chip and this can then be bootstrapped from the save game exploits mentioned above. You'll need to write the appropriate .SAV file from this archive to your game of choice from either a DS with eepinator or use one of the save game transfer devices around. Cooking Coach is more convenient since the exploit kicks in just after the splash screen, with Classic Word Games you need to go through a couple of menu options.

Unfortunately testing revealed that later model DSi and XL consoles have had changes made to the wifi board which means that writing to the firmware flash chip is no longer possible. You'll know if you have one of these consoles if either the installer fails to write the loader or the loader fails to connect when bootstrapped. Sorry if you have one of these consoles, you'll have to wait a little bit longer to play with DSi mode.

In March 2012 Nintendo released firmware version 1.4.4 which checks for these exploits and writes a 0 to the end of the string before launching the games.

At the end of 2014 we found another exploitable DSi hybrid game - The Biggest Loser USA and this archive now contains save file exploits for the EU and US versions.

libnds still needs some more updates to deal with DSi mode features, currently the swi decompression functions seem to have changed and we have no microphone input. Hopefully now there's a reasonably straightforward way to run code we can get a few more people looking at what we need to change and how best to approach it.

Archive Listing