summaryrefslogtreecommitdiff
path: root/src/contrib/SDL-2.30.2/docs/README-n3ds.md
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2024-05-04 16:51:29 -0700
committer3gg <3gg@shellblade.net>2024-05-04 16:51:29 -0700
commit8222bfe56d4dabe8d92fc4b25ea1b0163b16f3e1 (patch)
tree763389e42276035ac134d94eb1dc32293b88d807 /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.md28
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
3SDL port for the Nintendo 3DS [Homebrew toolchain](https://devkitpro.org/) contributed by:
4
5- [Pierre Wendling](https://github.com/FtZPetruska)
6
7Credits 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
14To build for the Nintendo 3DS, make sure you have devkitARM and cmake installed and run:
15
16```bash
17cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE="$DEVKITPRO/cmake/3DS.cmake" -DCMAKE_BUILD_TYPE=Release
18cmake --build build
19cmake --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.