author Sam Lantinga <>
Sun, 06 Mar 2011 21:19:53 -0800
changeset 5430 1b318d81c85f
parent 5423 b69fa50e80d7
child 5515 0fcf231a6e74
permissions -rw-r--r--
You need libfat for the filesystem code.

Simple DirectMedia Layer for Nintendo DS

* The devkitpro SDK available at
  Read the information at
  The necessary packages are devkitARM, libnds, libfat and default arm7.
* The hardware renderer is using the libgl2d abstraction library that can be found at:
  Build it, and install the library and the header where SDL can find them (ie. in
  the libnds/lib and libnds/include directories).

-Building SDL-

After setting the devkitpro environment, cd into your SDL directory and type:
  make -f Makefile.ds

This will compile and install the library and headers into the proper libnds
directories. Additionnaly it will compile several tests that you can run
either on the DS or with desmume. For instance:
  desmume test/nds-test-progs/general/general.nds

* The renderer code is based on the gl like engine. It's not using the sprite engine.
* The port is very basic and incomplete:
  - SDL currently has to be compiled for either framebuffer mode or render mode.
     See USE_HW_RENDERER in Makefile.ds.
  - some optionnal renderer functions are not implemented.

* in hardware renderer mode, don't load too many textures. The internal format is
  2 bytes per pixel. And there is only 256KB reserved for the textures. For instance,
  testscale won't display sample.bmp, unless it's resized to a smaller picture.
* the screen size is 256 x 384. Anything else won't work.
* there is no 8 bits/pixel mode because SDL 1.3 doesn't support palettes.