• Stars
    star
    723
  • Rank 60,722 (Top 2 %)
  • Language
    C
  • Created over 10 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Homebrew development library for Nintendo 3DS/Horizon OS user mode (Arm11)

libctru - CTR User Library

Build Status

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

This library aims to provide the foundations necessary to write 3DS Homebrew, and straightforwardly access the different functionalities provided by the 3DS operating system. It is not meant to provide higher level functions; to put things in perspective, the purpose of libctru would be to sit between the OS and a possible port of SDL rather than replace it.

(Originally located at github.com/smealum/ctrulib)

Setup

libctru is just a library and needs a toolchain to function. devkitARM (created by devkitPro) is the officially supported ARM cross compiling toolchain, which provides the framework necessary to supply a usable POSIX-like environment, with working C and C++ standard libraries; as well as the tools required to compile homebrew in the 3DSX format, and assemble GPU shaders. The use of other ARM toolchains is severely discouraged.

The most recent version of devkitARM is always recommended. The installers/setup scripts supplied by devkitPro install a prebuilt copy of the latest stable version of libctru, which is recommended for general use. Please note that devkitPro has a policy of keeping legacy code to a minimum, so a library upgrade may result in older code failing to compile or behave properly. Developers are encouraged to keep their code working with the latest versions of the tools and libraries.

You may find instructions on how to install devkitARM on the devkitPro Wiki.

Documentation

The documentation is automatically built upon release and can be found at the following url: https://devkitpro.github.io/libctru/

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.

More Repositories

1

3ds-hbmenu

The 3DS Homebrew Menu (โˆฉ อกยฐ อœส– อกยฐ)โŠƒโ”โ˜†๏พŸ
C
686
star
2

3ds-examples

Examples for 3DS using devkitARM, libctru, citro3d and citro2d
C
411
star
3

installer

NSIS
353
star
4

deko3d

Homebrew low level graphics API for Nintendo Switch (Nvidia Tegra X1)
C++
300
star
5

libnds

C library for Nintendo DS
C
296
star
6

libogc

C Library for Wii and Gamecube homebrew
C
268
star
7

citro3d

Homebrew PICA200 GPU wrapper library for Nintendo 3DS
C
237
star
8

wut

Let's try to make a Wii U Toolchain / SDK for creating rpx/rpl.
C
204
star
9

libgba

C Library for Nintendo GBA
C
184
star
10

pacman

C
157
star
11

citro2d

Library for drawing 2D graphics using the Nintendo 3DS's PICA200 GPU
C
150
star
12

buildscripts

Scripts for building devkitPro toolchains
Shell
147
star
13

pacman-packages

Shell
122
star
14

nds-hb-menu

C++
111
star
15

nds-examples

Assembly
93
star
16

gba-examples

Makefile
84
star
17

ndstool

C++
69
star
18

picasso

Homebrew PICA200 shader assembler
C++
63
star
19

docker

Dockerfiles for https://hub.docker.com/u/devkitpro/
Dockerfile
55
star
20

libfat

FAT library for GBA, DS, Gamecube & Wii
C
48
star
21

gba-tools

C
48
star
22

libtonc

C
45
star
23

grit

Game Raster Image Transmogrifier
C++
43
star
24

3dstools

C++
43
star
25

wii-examples

C
37
star
26

tex3ds

3DS Texture Conversion
C++
36
star
27

3ds_portlibs

Portlibs for 3DS
Makefile
34
star
28

gamecube-examples

C
33
star
29

dswifi

Wifi library for Nintendo DS
C
31
star
30

gamecube-tools

Tools for gamecube/wii projects
C++
30
star
31

dslink

Wifi code loader for Nintendo DS
C
28
star
32

maxmod

Assembly
23
star
33

SDL-mirror

Automated mirror of https://hg.libsdl.org/SDL/
C
22
star
34

dstools

C++
21
star
35

newlib

fork from sourceware git://sourceware.org / newlib-cygwin.git
C
17
star
36

wiiload

C
16
star
37

general-tools

C++
15
star
38

uam

Shader compiler for Nintendo Switch, targeting the deko3d API (based on mesa/nouveau sources)
C++
15
star
39

nds-bootloader

C
14
star
40

3dslink

C
12
star
41

mmutil

C
12
star
42

devkitarm-crtls

Assembly
11
star
43

dslink-host

C++
10
star
44

install-dsilink

Assembly
9
star
45

wut-packages

packages for wiiu development
Shell
9
star
46

wut-tools

C++
9
star
47

libnds-master

Makefile
8
star
48

libdrm_nouveau

C
8
star
49

switch-glad

Switch port of an autogenerated OpenGL 4.3 loader
C
7
star
50

libfilesystem

C
7
star
51

default-arm7

Makefile
7
star
52

gp32-tools

C++
7
star
53

gp32-examples

C
6
star
54

devkitarm-rules

Makefile
6
star
55

devkitppc-rules

Makefile
5
star
56

libmirko

C Library for Gamepark GP32
C
5
star
57

nds-exception-stub

C
5
star
58

orcus

Bare metal library for GP2X - no Linux here!
C
3
star
59

bzip2

a program and library for lossless, block-sorting data compression.
C
3
star
60

physfs

a library to provide abstract access to various archives. https://icculus.org/physfs/
C
3
star
61

gp2x-tools

C
2
star
62

devkitpro-keyring

Shell
2
star
63

.github

default devkitPro repo
1
star
64

devkitpro.github.io

HTML
1
star
65

devkita64-rules

Makefile
1
star
66

gp2x-examples

Makefile
1
star
67

gp2x-core

devkitarm core components for GP2X support
Assembly
1
star