README.ds
author Ryan C. Gordon <icculus@icculus.org>
Fri, 03 Jun 2011 16:03:10 -0400
changeset 5547 4ccecd0901e2
parent 5515 0fcf231a6e74
child 6251 3e8c673cad58
permissions -rw-r--r--
Assert code's stdio interface was reading from the wrong variable.

Thanks to Frank Zago for the catch.
slouken@5289
     1
================================================================================
slouken@5289
     2
Simple DirectMedia Layer for Nintendo DS
slouken@5289
     3
================================================================================
slouken@5289
     4
slouken@5289
     5
-Requirements-
slouken@5423
     6
* The devkitpro SDK available at http://devkitpro.org.
slouken@5423
     7
  Read the information at http://devkitpro.org/wiki/Getting_Started/devkitARM
slouken@5430
     8
  The necessary packages are devkitARM, libnds, libfat and default arm7.
slouken@5423
     9
* The hardware renderer is using the libgl2d abstraction library that can be found at:
slouken@5423
    10
    http://rel.phatcode.net/junk.php?id=117
slouken@5423
    11
  Build it, and install the library and the header where SDL can find them (ie. in
slouken@5423
    12
  the libnds/lib and libnds/include directories).
slouken@5423
    13
slouken@5289
    14
slouken@5289
    15
-Building SDL-
slouken@5423
    16
slouken@5423
    17
After setting the devkitpro environment, cd into your SDL directory and type:
slouken@5289
    18
  make -f Makefile.ds
slouken@5289
    19
slouken@5515
    20
This will compile and install the library and headers into the
slouken@5515
    21
devkitpro's portlibs directory. Additionnaly it will compile several
slouken@5515
    22
tests that you can run either on the DS or with desmume. For instance:
slouken@5289
    23
  desmume test/nds-test-progs/general/general.nds
slouken@5289
    24
slouken@5423
    25
-Notes-
slouken@5423
    26
* The renderer code is based on the gl like engine. It's not using the sprite engine.
slouken@5423
    27
* The port is very basic and incomplete:
slouken@5423
    28
  - SDL currently has to be compiled for either framebuffer mode or render mode.
slouken@5423
    29
     See USE_HW_RENDERER in Makefile.ds.
slouken@5515
    30
  - some optional renderer functions are not implemented.
slouken@5289
    31
slouken@5423
    32
-Limitations-
slouken@5423
    33
* in hardware renderer mode, don't load too many textures. The internal format is
slouken@5423
    34
  2 bytes per pixel. And there is only 256KB reserved for the textures. For instance,
slouken@5423
    35
  testscale won't display sample.bmp, unless it's resized to a smaller picture.
slouken@5423
    36
* the screen size is 256 x 384. Anything else won't work.
slouken@5423
    37
* there is no 8 bits/pixel mode because SDL 1.3 doesn't support palettes.
slouken@5423
    38
slouken@5515
    39
-Joystick mapping-
slouken@5515
    40
The Joystick presented to SDL has 2 axes and 8 buttons
slouken@5423
    41
slouken@5515
    42
 KEY      | Code
slouken@5515
    43
  A       |   0
slouken@5515
    44
  B       |   1
slouken@5515
    45
  X       |   2
slouken@5515
    46
  Y       |   3
slouken@5515
    47
  L       |   4
slouken@5515
    48
  R       |   5
slouken@5515
    49
  select  |   6
slouken@5515
    50
  start   |   7
slouken@5515
    51
slouken@5515
    52
 Left-right is axe 0.
slouken@5515
    53
 Up-down is axe 1.
slouken@5515
    54
slouken@5515
    55
-Mouse mapping-
slouken@5515
    56
todo
slouken@5515
    57
slouken@5515
    58
-Examples-
slouken@5515
    59
Due to memory limitations, to be able to successfully run the testscale example, sample.bmp must be resized to 256x105.