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. | ||
