author | Markus Kauppila |
Tue, 12 Jul 2011 23:53:57 +0300 | |
changeset 5757 | a97102f40230 |
parent 5515 | 0fcf231a6e74 |
child 6251 | 3e8c673cad58 |
permissions | -rw-r--r-- |
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. |