• Stars
    star
    751
  • Rank 60,419 (Top 2 %)
  • Language
    C
  • Created almost 11 years ago
  • Updated 4 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
704
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
280
star
7

citro3d

Homebrew PICA200 GPU wrapper library for Nintendo 3DS
C
243
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

dstools

C++
21
star
34

newlib

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

wiiload

C
16
star
36

general-tools

C++
15
star
37

uam

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

nds-bootloader

C
14
star
39

3dslink

C
12
star
40

mmutil

C
12
star
41

devkitarm-crtls

Assembly
11
star
42

dslink-host

C++
10
star
43

wut-tools

C++
10
star
44

install-dsilink

Assembly
9
star
45

wut-packages

packages for wiiu development
Shell
9
star
46

libnds-master

Makefile
8
star
47

libdrm_nouveau

C
8
star
48

switch-glad

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

libfilesystem

C
7
star
50

default-arm7

Makefile
7
star
51

gp32-tools

C++
7
star
52

gp32-examples

C
6
star
53

devkitarm-rules

Makefile
6
star
54

devkitppc-rules

Makefile
5
star
55

libmirko

C Library for Gamepark GP32
C
5
star
56

nds-exception-stub

C
5
star
57

orcus

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

bzip2

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

physfs

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

gp2x-tools

C
2
star
61

devkitpro-keyring

Shell
2
star
62

.github

default devkitPro repo
1
star
63

devkita64-rules

Makefile
1
star
64

devkitpro.github.io

HTML
1
star
65

gp2x-examples

Makefile
1
star
66

gp2x-core

devkitarm core components for GP2X support
Assembly
1
star