diff options
author | 3gg <3gg@shellblade.net> | 2024-05-04 16:51:29 -0700 |
---|---|---|
committer | 3gg <3gg@shellblade.net> | 2024-05-04 16:51:29 -0700 |
commit | 8222bfe56d4dabe8d92fc4b25ea1b0163b16f3e1 (patch) | |
tree | 763389e42276035ac134d94eb1dc32293b88d807 /src/contrib/SDL-2.30.2/docs/README-n3ds.md |
Initial commit.
Diffstat (limited to 'src/contrib/SDL-2.30.2/docs/README-n3ds.md')
-rw-r--r-- | src/contrib/SDL-2.30.2/docs/README-n3ds.md | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/contrib/SDL-2.30.2/docs/README-n3ds.md b/src/contrib/SDL-2.30.2/docs/README-n3ds.md new file mode 100644 index 0000000..e9e7c7d --- /dev/null +++ b/src/contrib/SDL-2.30.2/docs/README-n3ds.md | |||
@@ -0,0 +1,28 @@ | |||
1 | # Nintendo 3DS | ||
2 | |||
3 | SDL port for the Nintendo 3DS [Homebrew toolchain](https://devkitpro.org/) contributed by: | ||
4 | |||
5 | - [Pierre Wendling](https://github.com/FtZPetruska) | ||
6 | |||
7 | Credits to: | ||
8 | |||
9 | - The awesome people who ported SDL to other homebrew platforms. | ||
10 | - The Devkitpro team for making all the tools necessary to achieve this. | ||
11 | |||
12 | ## Building | ||
13 | |||
14 | To build for the Nintendo 3DS, make sure you have devkitARM and cmake installed and run: | ||
15 | |||
16 | ```bash | ||
17 | cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE="$DEVKITPRO/cmake/3DS.cmake" -DCMAKE_BUILD_TYPE=Release | ||
18 | cmake --build build | ||
19 | cmake --install build | ||
20 | ``` | ||
21 | |||
22 | ## Notes | ||
23 | |||
24 | - Currently only software rendering is supported. | ||
25 | - SDL2main should be used to ensure ROMFS is enabled. | ||
26 | - By default, the extra L2 cache and higher clock speeds of the New 2/3DS lineup are enabled. If you wish to turn it off, use `osSetSpeedupEnable(false)` in your main function. | ||
27 | - `SDL_GetBasePath` returns the romfs root instead of the executable's directory. | ||
28 | - The Nintendo 3DS uses a cooperative threading model on a single core, meaning a thread will never yield unless done manually through the `SDL_Delay` functions, or blocking waits (`SDL_LockMutex`, `SDL_SemWait`, `SDL_CondWait`, `SDL_WaitThread`). To avoid starving other threads, `SDL_SemTryWait` and `SDL_SemWaitTimeout` will yield if they fail to acquire the semaphore, see https://github.com/libsdl-org/SDL/pull/6776 for more information. | ||