dslink updated again

Martin Korth got in touch to ask about dslink and requested a few improvements since he’s using it to help with research for the DSi updates in no$gba.  I love his notes on the dsi exploit – “Cooking Coach is the best thing ever. This game allows you to make healthy food with dead animals – and, with wintermute’s exploit, it’s allowing to run homebrew code on the DSi” 🙂

I’ve improved the connection speed of dslink a bit by adjusting the way dswifi scans for access points at Martin’s suggestion & these changes are now in the latest dswifi release. Booting minimal a22i compiled nds files doesn’t work just yet but some of the official wmb demos kicking around do boot now when transferred via dslink. There’s no sound or touchscreen unfortunately – the touchscreen is handled differently in DSi mode so I’m not sure that’s fixable without some patching although the audio may just need enabling.

In the meantime, enjoy faster connections & more reliable booting of code with this version. When I get some more time I’ll look into initialising things properly so Martin’s code will boot as well. Pretty sure it’s mainly because the cache is disabled when the nds file is booted which causes issues when both arm7 & arm9 are running in ewram.

For those who’ve been badgering me for the source code I finally got around to tidying everything up & putting it on github. You’ll find the dslink code at https://github.com/devkitPro/dslink, the installer code at https://github.com/devkitPro/install-dsilink and the host application code is in the dstools repo at https://github.com/devkitPro/dstools/tree/master/src/dslink

DSi Homebrew redux

I’ve now updated dslink with a new save exploit for The Biggest Loser which isn’t blocked on the most recent DSi firmware.

In my original release of dslink I said that Nintendo had “beefed up security” by denying write access to the wifi flash chip but it appears that I was wrong. After some more investigation it turns out that there’s simply a new chip used to store user settings and wifi configuration. This chip appears to contain no writable flash apart from the user settings and storage for wifi access points. Replacing the whole board with an earlier model (DWM-W015 vs the DWM-W024 board in later consoles) restores the ability to write to flash and boot dslink this way. I’m also told that the later boards can be converted by installing a pre-programmed flash chip in the space that still exists but I haven’t yet verified this. I do have some extra DWM-W024 boards to play with but I’m not entirely sure my soldering skills are up to the job – it’s definitely something I plan to attempt in the near future.

For now, enjoy renewed access to DSi mode homebrew if you still have a compatible console.

dslink 2.1.0
dslink 2.1.0
dslink.tar.bz2
View post
177.1 KiB
36408 Downloads
Details...

New version of dslink

I’ve just finished updating dslink with the changes from latest libnds and added a save file exploit for Bravissi Mots, the French version of Classic Word Games. If anyone knows of any more language versions of his game please let me know, it looks like the same file will work for all versions if the id code and checksums are updated.

We now have audio working with this method which only leaves the microphone to sort out and we’ll have all the features available that we have for DS mode homebrew.

To get audio working in your homebrew you’ll need to be using the latest devkitARM/libnds/default arm7.

dslink 2.1.0
dslink 2.1.0
dslink.tar.bz2
View post
177.1 KiB
36408 Downloads
Details...

ds(i)link updated

I’ve updated the dslink tarball with savegame exploits for the french, german and italian versions of Cooking Coach and recompiled the loader with the latest libraries. All the european language versions – spanish, french, german & italian – work on my UK DSi so I assume that the UK version will also work on all EU DSi consoles.

dslink 2.1.0
dslink 2.1.0
dslink.tar.bz2
View post
177.1 KiB
36408 Downloads
Details...

For those of you who bought a Datel/Codejunkies DSi Action Replay it’s possible to use this to write the savegame exploit by using this save game converter to convert the RAW saves from the dslink archive into files compatible with the ARDSi.

  • For source format, select “RAW”.
  • For target format, select “Action Replay DSi”
  • For size, select “8 Kilo-Bytes – 64 Kilo-Bits”

As usual, please don’t rehost the archive but link to this post. Have fun.

DSi mode homebrew, anyone?

It was about this time last year when I released open source save game hacks for two DSi hybrid games, Cooking Coach and Classic Word Games. I kind of expected somebody somewhere to pick these up and make them do something a little bit more useful than change the screen colors but it looks like I was a little optimistic on that front. Most people that have done anything at all seem to have been trying to do as much as possible in the 8KiB or so available in each save game. Interestingly not one single DSi hybrid game I’ve been able to find since appears to have a name entry – bit odd considering how easy it is to test for and correct buffer overflows for this specific situation. If anyone knows any different, please let me know.

Since last year I’ve spent a bit of time hunting around DSi hybrid games and playing around with a few ideas I had about how best to utilise the exploits for homebrew. Mostly I’ve been updating devkitARM & libnds with a few things needed to allow normally compiled homebrew to use the extra 12meg when run in DSi mode. I’m still a little undecided on how best to approach the hybrid model – Nintendo seem to be using a system where extra code is loaded in DSi mode from separate binaries in the .nds container format.

So anyway, lest I ramble on for several pages with background and random thoughts, on to the meat of this post. One of the first things that I did on getting into DSi mode was dump the DS mode firmware. As I expected this was identical to the dump made in DS mode – it contains only the wifi module settings and the user data at the end of a 128K flash chip. Most interesting of all was the large block of unwritten space between the two but unfortunately the first 64KiB is protected but that still leaves 61KiB writable – plenty for my nefarious purposes. After some further testing I confirmed that the wifi module flash chip could be written from DS mode and later read when we use the save game exploits to get into DSi mode. This gave me the motivation I needed to revisit a half finished project I had to upload homebrew to a DS over wifi. As an added bonus the wifi uploader also works with a standard DS, everything you need is in the archive.

Nintendo seem to have pre-empted an approach like this in more recent consoles, both the DSiXL and later model DSi units seem to deny write access to the wifi module chip. Even when using other methods to load code via the save exploits there seems to be no access to the wifi hardware at all – that’s probably dependent on a wifi enabled hybrid game. Whether Nintendo can or will update earlier units with similar security remains to be seen. Currently all early consoles I’ve tried this method with have been able to run code with wifi access regardless of updated firmware or not. I bought a DSiXL a few days ago to confirm this but I have another couple of methods which work on that – they’re not yet in a releasable state but hopefully that won’t be the case for long.

In order to use this method you’ll need three things, a DSi compatible flashcard,  one of the two exploited games and a means to write to the eeprom on your chosen game. Eepinator will work if you have a standard DS or there are a couple of devices which allow you to do this from a PC. If you’re one of the many homebrewers who likes to play with mcus then you can probably rig up something with a dev board. I have an arduino and a Fletchtronics Bumble-b sitting at the back of my desk, I might have a play around with those over the next few days and post a howto for those. If you’ve already done something like that then please do get in touch, no point in reinventing the wheel.

One word of warning before we get to the all important download link. Nintendo will probably declare your warranty void due to unauthorised software so proceed at your own risk. This method also won’t allow you to run rom dumps and it’s not something I plan to support at any point in the future. Obviously I can’t control what you do when you have the ability to run code but please consider not releasing anything that’s piracy related or has the potential to enable piracy. I believe homebrew can thrive as long as we distance ourselves from the people who want to get their games for free.

dslink 2.1.0
dslink 2.1.0
dslink.tar.bz2
View post
177.1 KiB
36408 Downloads
Details...

Please don’t mirror this file, I intend to update it as I add features. Pay attention to the  license in the README. It would also be nice if the various news sites that pick these things up would make a bit of an effort and not just copy this post verbatim.

If you’d like to help support devkitPro here are some amazon affiliate links for Cooking Coach

My Healthy Cooking Coach (US edition)

My Cooking Coach (UK edition)

Note for UK users, I ordered a couple of copies of Cooking Coach from the main amazon.co.uk listing from inet video. Unfortunately  no-one  told them that DSi hybrid games are region locked on the DSi, order from the Indigo Starfish listing instead.

If IRC is your thing then come join the rest of the homebrew gang in #dsdev on irc.blitzed.org.

Follow Me