New versions of devkitARM, libnds, etc. bring changes for Nintendo DS support

Hello all =)

Just to keep everyone posted, there were some changes made to libnds,
the lower-level API behind SDL’s support of the NDS platform, announced
at http://www.devkitpro.org recently.

The changes most important to SDL currently are:

  • The GL-ish 3D interface it uses has been fixed to behave like real GL
    (previously, rotation matrix handling was broken). This is good news
    for when support for GL on the DS is added, since things will be a bit
    more nice and consistent.
  • Probably the most useful change is the introduction of a new API for
    handling the hardware accelerated BGs and sprites. I’ve taken a look at
    the examples, and it seems that it’ll make the code used in SDL for
    hardware accelerated textures significantly more sane. This is also a
    Good Thing =)
  • A few other changes that should simplify things, which again is a good
    thing when your project’s first name is Simple :wink:

However, the breaking nature of these changes means that the NDS port of
SDL, as it currently stands, does not build against the current versions
of libnds, devkitARM, etc. from devkitPro.
I’m working on figuring out how to best bring SDL up to speed on these
changes in my off time now, mostly familiarizing myself with the new API
for sprites and backgrounds. The graphics driver has been in need of
some love for a while anyway, so this presents a good opportunity for
improvement too =)

Also on the DS front, but unrelated to the above: the Nintendo DSi
(newer, flashier version of the DS) seems to be backward-compatible with
ordinary DS homebrew, since there are already commercial flash card
adapters out there capable of running it (which means it should work
with homebrew built with SDL’s DS port, too). That doesn’t necessarily
mean that the programs will be aware of the new features (internal flash
memory, more RAM, integrated camera), but I’m sure we’ll be able to take
advantage of these things soon enough.

-Darren

Wikipedia says that the flash cards are not compatible. :frowning:

Jonny DOn Fri, Jan 9, 2009 at 6:32 PM, Darren wrote:

Hello all =)

Just to keep everyone posted, there were some changes made to libnds,
the lower-level API behind SDL’s support of the NDS platform, announced
at http://www.devkitpro.org recently.

The changes most important to SDL currently are:

  • The GL-ish 3D interface it uses has been fixed to behave like real GL
    (previously, rotation matrix handling was broken). This is good news
    for when support for GL on the DS is added, since things will be a bit
    more nice and consistent.
  • Probably the most useful change is the introduction of a new API for
    handling the hardware accelerated BGs and sprites. I’ve taken a look at
    the examples, and it seems that it’ll make the code used in SDL for
    hardware accelerated textures significantly more sane. This is also a
    Good Thing =)
  • A few other changes that should simplify things, which again is a good
    thing when your project’s first name is Simple :wink:

However, the breaking nature of these changes means that the NDS port of
SDL, as it currently stands, does not build against the current versions
of libnds, devkitARM, etc. from devkitPro.
I’m working on figuring out how to best bring SDL up to speed on these
changes in my off time now, mostly familiarizing myself with the new API
for sprites and backgrounds. The graphics driver has been in need of
some love for a while anyway, so this presents a good opportunity for
improvement too =)

Also on the DS front, but unrelated to the above: the Nintendo DSi
(newer, flashier version of the DS) seems to be backward-compatible with
ordinary DS homebrew, since there are already commercial flash card
adapters out there capable of running it (which means it should work
with homebrew built with SDL’s DS port, too). That doesn’t necessarily
mean that the programs will be aware of the new features (internal flash
memory, more RAM, integrated camera), but I’m sure we’ll be able to take
advantage of these things soon enough.

-Darren


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

I’m working on figuring out how to best bring SDL up to speed on these
changes in my off time now, mostly familiarizing myself with the new API
for sprites and backgrounds. The graphics driver has been in need of
some love for a while anyway, so this presents a good opportunity for
improvement too =)

Great, I’m looking forward to it.

Darren, can you also take a quick look at the new drawing API in SDL 1.3?
The NDS port currently doesn’t support those calls.

Also, I’ve unified the YUV texture support across the other video drivers,
you might take a look and see how that’s working now.

Thanks!
-Sam Lantinga, Founder and President, Galaxy Gameworks LLC