Nintendo DS Homebrew

Miscellaneous Forums/General Discussion/Nintendo DS Homebrew

Has anyone here got any useful info \ experience regarding Nintendo DS homebrew development? There doesn`t seem to be much information around at the moment but I would like to know more.

Thanks,

Jason.

A good, useful forum: www.dsdev.org
Linux for DS (their Wiki is handy, too): www.dslinux.org
A great, commonly updated site for DS homebrew. Their news archives have lots of neat stuff too, like ODE on DS: www.drunkencoders.com
And another handy site (though their library of software isn't great): www.ndshb.com

Quick overview of how to run NDS homebrew:
As with all console homebrew, we need the publisher's digital signature to run and code on it. The problem? Nintendo did a really nice job of securing the DS.
So, the current solution is a device called PassMe, which plugs into Slot-1 of the DS, and uses the header info on an official game to trick the system to run code from Slot-2.
As a result, almost all DS homebrew is currently done using GBA game cartridges. (Most popular at the moment are compact flash things, like "GBA Movie Player" with hacked firmware and Supercard CF).

There are also other techniques similar to PassMe, such as WifiMe.
Additionally, there is PassMe2 for newer DSs, because Nintendo attempted to stop PassMe from working.
PassMe2 requires a GBA cart with SRAM to operate, so it will cost a bit more money. (GBA Movie Player won't work; M3 or Supercard will).
You can check if you need PassMe1 or PassMe2 through a childishly simple test: http://forum.gbadev.org/viewtopic.php?t=7961

So, now we have homebrew running... but we also have a PassMe poking out! No worries here; using a PassMe, or even WifiMe, it is possible to flash (rewrite/modify) the DS's firmware to run homebrew code. I did it here and it works brilliantly! (I also no longer must watch the health&safety screen, and the backlight fades in!) Be careful, though, and plug your DS into a constant power source if you plan to do it. Also... it voids your warranty.
You can, of course, completely skip the PassME part (assuming your DS doesn't have the new firmwares) by using WifiMe and FlashMe.




A little BTW, too: Nintendo does not hate the homebrew community... in fact, there have been images of homebrew carts being signed by various Nintendo executives. However, they are very cautious about homebrew, and tend to have to block it, because of software pirates making use of the homeber community's work.
This also means: Please do not pirate DS software with homebrew equipment -- it would contribute to ruining the fun for everyone.



More links:
NDS Technical Wiki: http://www.bottledlight.com/ds/index.php/Main/HomePage
An NDS dev tutorial for using DevKitPro with LibNDS: http://www.double.co.nz/nintendo_ds/index.html
Another little getting started thing. I don't know what happened to the rest of the tutorial: http://www.aaronrogers.com/nintendods/Day1/day1.php

There is also another NDS dev library called PALib, which is touted for its ease-of-use... I can't find it at the moment, but keep an eye open for it.

Ah, here's a good list of tutorials, including PALib:
http://forum.gbadev.org/viewtopic.php?t=8353

Sorry about the double post... that link just needs a bit more prominence than the others.
While I'm at it... I know those links are very interesting, but I didn't write all this for no response :)

Thanks guys, that helps a lot.

Jason.