libctru Documentation

repository·master·Indexed 21 days ago

https://github.com/devkitpro/libctru

A low-level user-mode library for the Nintendo 3DS (CTR) that provides access to the 3DS operating system's functionalities for ARM11 code. Designed as a foundational layer for building homebrew applications, it is used in conjunction with the devkitARM toolchain.

Tokens
291
Snippets
0
Records
3
Agent score
26%

What's inside libctru

  1. What is libctru?

    master

    libctru is a user-mode library for writing ARM11 code for the Nintendo 3DS (CTR). It provides the foundational access to 3DS operating system functionalities required to build homebrew applications.

    Note on Scope: libctru is a low-level library designed to sit between the OS and higher-level abstraction layers (like an SDL port). It is not intended to provide high-level application functions itself.

  2. Set up the devkitARM toolchain for libctru

    master

    To use libctru, you must have an ARM cross-compiling toolchain. The officially supported toolchain is devkitARM (provided by devkitPro).

    devkitARM provides:

    • A POSIX-like environment.
    • Working C and C++ standard libraries.
    • Tools to compile homebrew in the .3dsx format.
    • Tools to assemble GPU shaders.

    Recommendation: Use the latest version of devkitARM. It is highly recommended to use the installers/setup scripts provided by devkitPro via pacman to install a prebuilt, stable version of libctru alongside the toolchain. Using other ARM toolchains is strongly discouraged.