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@6285
|
9 |
* Optionally, use a DS emulator, such as desmume (http://desmume.org/)
|
slouken@6285
|
10 |
to program and debug.
|
slouken@5289
|
11 |
|
slouken@5289
|
12 |
-Building SDL-
|
slouken@5423
|
13 |
|
slouken@5423
|
14 |
After setting the devkitpro environment, cd into your SDL directory and type:
|
slouken@5289
|
15 |
make -f Makefile.ds
|
slouken@5289
|
16 |
|
slouken@5515
|
17 |
This will compile and install the library and headers into the
|
slouken@6285
|
18 |
devkitpro's portlibs directory (../portlibs/arm/lib/ and
|
slouken@6285
|
19 |
../portlibs/arm/include/). Additionally it will compile several tests
|
slouken@6285
|
20 |
that you can run either on the DS or with desmume. For instance:
|
slouken@6285
|
21 |
desmume --cflash-path=test/ test/nds-test-progs/testsprite2/testsprite2.nds
|
slouken@6285
|
22 |
desmume --cflash-path=test/ test/nds-test-progs/testspriteminimal/testspriteminimal.nds
|
slouken@6285
|
23 |
desmume --cflash-path=test/ test/nds-test-progs/testscale/testscale.nds
|
slouken@5289
|
24 |
desmume test/nds-test-progs/general/general.nds
|
slouken@5289
|
25 |
|
slouken@5423
|
26 |
-Notes-
|
slouken@5423
|
27 |
* The renderer code is based on the gl like engine. It's not using the sprite engine.
|
slouken@6285
|
28 |
* The hardware renderer is using the parts of the libgl2d abstraction library that can be found at:
|
slouken@6285
|
29 |
http://rel.phatcode.net/junk.php?id=117
|
slouken@6285
|
30 |
Used with the author's permission.
|
slouken@5423
|
31 |
* The port is very basic and incomplete:
|
slouken@6285
|
32 |
- SDL currently has to be compiled for either framebuffer mode or renderer mode.
|
slouken@5423
|
33 |
See USE_HW_RENDERER in Makefile.ds.
|
slouken@5515
|
34 |
- some optional renderer functions are not implemented.
|
slouken@6285
|
35 |
- no sound
|
slouken@5289
|
36 |
|
slouken@5423
|
37 |
-Limitations-
|
slouken@5423
|
38 |
* in hardware renderer mode, don't load too many textures. The internal format is
|
slouken@5423
|
39 |
2 bytes per pixel. And there is only 256KB reserved for the textures. For instance,
|
slouken@5423
|
40 |
testscale won't display sample.bmp, unless it's resized to a smaller picture.
|
slouken@5423
|
41 |
* the screen size is 256 x 384. Anything else won't work.
|
slouken@6251
|
42 |
* there is no 8 bits/pixel mode because SDL 2.0 doesn't support palettes.
|
slouken@5423
|
43 |
|
slouken@5515
|
44 |
-Joystick mapping-
|
slouken@5515
|
45 |
The Joystick presented to SDL has 2 axes and 8 buttons
|
slouken@5423
|
46 |
|
slouken@5515
|
47 |
KEY | Code
|
slouken@5515
|
48 |
A | 0
|
slouken@5515
|
49 |
B | 1
|
slouken@5515
|
50 |
X | 2
|
slouken@5515
|
51 |
Y | 3
|
slouken@5515
|
52 |
L | 4
|
slouken@5515
|
53 |
R | 5
|
slouken@5515
|
54 |
select | 6
|
slouken@5515
|
55 |
start | 7
|
slouken@5515
|
56 |
|
slouken@5515
|
57 |
Left-right is axe 0.
|
slouken@5515
|
58 |
Up-down is axe 1.
|
slouken@5515
|
59 |
|
slouken@5515
|
60 |
-Mouse mapping-
|
slouken@5515
|
61 |
todo
|
slouken@5515
|
62 |
|
slouken@5515
|
63 |
-Examples-
|
slouken@5515
|
64 |
Due to memory limitations, to be able to successfully run the testscale example, sample.bmp must be resized to 256x105.
|