New devkitARM toolchain. New Introduction to Nintendo DS Programming underway.

The new version (r24) of devkitARM is here. Along with it comes the highly anticipated libnds 1.3.1 release. A new libnds means a broken Introduction to Nintendo DS Programming and a lot more other broken source code.

This new release of libnds introduces more high-level APIs and some all new low level APIs. This release renames some registers, preventing the source code included with Introduction to Nintendo DS Programming from building successfully. It also changes how the interrupt system is initialized, no longer requiring (and breaking if you do use) irqInit in main. I do like the new register names, as they match the names as documented in GBATEK.

One reason I started writing the manual was because all the other tutorials (all two of them, at that time) were out of date. I feel strongly about having fresh information available to potential members of the homebrew community; an out of date tutorial is very useless and can be very frustrating. Users of such tutorials blame themselves for the failures and have no idea where to go next, as everything explaining to them where to go no longer applies. Without some positive reinforcement (in the form of a successful build and a graphic on the screen), many would be community members give up. As such, I'm working on updating the Introduction to Nintendo DS Programming source code and will have a new release out soon.

Comments

Can build, can't use

After installing devkitpro, the related libraries (including libnds 1.3.1), and a missing default.arm7 file (make complained), I can build all the chapter demos. But in desmume and on my NDS, they all result in nothing but a white screen. Did anybody else have this problem? What am I doing wrong?

awesome job

Hey just wanted to drop you a line and say THANK YOU so much. I'm just getting into NDS Development and don't know much yet, and your tutorial was really the only well-written, updated and maintained one I could find ( i just started post-Libnds 1.3.1). I tried PA Lib and others and they were outdated and broken. I've already started to build my own game based upon your tut. Thanks again!

If I could make a request it would be to add some more description of stuff you probably take for granted as common knowledge. Like when you add the planet bg and make it BG_BMP_BASE(8), where the others are BG_BMP_BASE(0). It says 'starting place in memory' as the comment but a nub like me still has no idea why that one is 8, and the others were 0.

Anyway, I'm probably too nubby to program--but I'm going to anyway!

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • Use the special tag [adsense:format:group:channel] or [adsense:block:location] to display Google AdSense ads.

More information about formatting options