Homebrew development library for Nintendo 3DS/Horizon OS user mode (Arm11) by devkitPro
Go to file
fincs 2797540a3d Revise most services to follow these guidelines:
- Each service must have xyzInit/xyzExit (with that name)
- xyzInit/xyzExit use reference counting
- xyzExit returns void
- The utilities in <3ds/result.h> are used instead of manual error checking
- The intrinsics in <3ds/synchronization.h> are used instead of inline asm
- Other miscellaneous changes
  - APT now uses a lightweight lock instead of a mutex
  - Initial handle parameters in PTMU were killed
  - Explicit init'ion to 0 or NULL has been removed for global variables
    since they end up on .bss anyway
  - MIC hasn't been touched because it must be rewritten first
  - CFGNOR needs a slight touch before converting
  - SOC is still to be cleaned up
2015-11-07 01:25:31 +01:00
examples Merge branch 'master' into great-refactor 2015-11-01 14:14:01 +01:00
libctru Revise most services to follow these guidelines: 2015-11-07 01:25:31 +01:00
.gitignore travis CI 2015-10-09 17:58:34 -04:00
.travis.yml Add encrypted token for Travis CI documentation building 2015-10-10 00:13:05 +02:00
exportdoc.sh travis CI 2015-10-09 17:58:34 -04:00
README.md Do not include the source folder in Doxygen, tidy up README.md 2015-10-10 02:04:16 +02:00

ctrulib

CTR User Library

Library for writing user mode arm11 code for the 3DS (CTR)

The goal with this is to create a very straightforward interface with the 3DS's OS. It is not meant to provide higher level functions; to put things in perspective, the purpose of ctrulib would be to sit between the OS and a possible port of SDL rather than replace it.

Setup

ctrulib is just a library and needs a toolchain to function. We built ctrulib to be used in conjunction with devkitARM. You may find instructions on how to install devkitARM on the devkitPro Wiki.

The most recent devkitARM (r44) includes 3DS support and a prebuilt libctru.

To keep up to date with the most recent changes you'll want to checkout ctrulib, build it and install it.

License

This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
  2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.