Difference between revisions of "Homebrew Libraries and Tools"

From 3dbrew
Jump to navigation Jump to search
(Attempted to add maintained status to list. Uncertain as to what is actually maintained, as 3DS homebrew development is rather slow when it comes to updates. I know for certain that some cases are not maintained, though (such as the cases where Cruel was the person in control of the branch.))
Line 3: Line 3:
 
== Libraries ==
 
== Libraries ==
 
{| class="wikitable" border="1" width="100%"
 
{| class="wikitable" border="1" width="100%"
!  width="20%" | Name
+
!  width="16%" | Name
 
!  width="50%" | Description
 
!  width="50%" | Description
 
!  width="10%" | Author
 
!  width="10%" | Author
!  width="10%" | Download
+
!  width="8%" | Download
!  width="10%" | Open-Source
+
!  width="8%" | Open-Source
 +
!  width="8%" | Maintained
 
|-
 
|-
 
| [https://github.com/smealum/ctrulib ctrulib]
 
| [https://github.com/smealum/ctrulib ctrulib]
Line 13: Line 14:
 
| [https://twitter.com/smealum smea] et al.
 
| [https://twitter.com/smealum smea] et al.
 
| [[Setting_up_Development_Environment|See here]]
 
| [[Setting_up_Development_Environment|See here]]
 +
| Yes
 
| Yes
 
| Yes
 
|-
 
|-
Line 20: Line 22:
 
| [https://github.com/xerpi/sf2dlib/archive/master.zip Here]
 
| [https://github.com/xerpi/sf2dlib/archive/master.zip Here]
 
| Yes
 
| Yes
 +
| Deprecated
 
|-
 
|-
 
| [https://github.com/fincs/citro3d citro3d]
 
| [https://github.com/fincs/citro3d citro3d]
Line 25: Line 28:
 
| [https://github.com/fincs fincs]
 
| [https://github.com/fincs fincs]
 
| [https://github.com/fincs/citro3d/archive/master.zip Here]
 
| [https://github.com/fincs/citro3d/archive/master.zip Here]
 +
| Yes
 
| Yes
 
| Yes
 
|-
 
|-
Line 32: Line 36:
 
| [https://github.com/cpp3ds/gl3ds/archive/master.zip Here]
 
| [https://github.com/cpp3ds/gl3ds/archive/master.zip Here]
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
| [https://github.com/machinamentum/Caelina Caelina]
 
| [https://github.com/machinamentum/Caelina Caelina]
Line 38: Line 43:
 
| [https://github.com/machinamentum/Caelina/releases Here]
 
| [https://github.com/machinamentum/Caelina/releases Here]
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
| [https://github.com/Parx-3DS Three-DS, computers]
 
| [https://github.com/Parx-3DS Three-DS, computers]
Line 44: Line 50:
 
| [http://flying-dutchmen.github.io/3DS-Sails Here]
 
| [http://flying-dutchmen.github.io/3DS-Sails Here]
 
| No
 
| No
 +
| Vandalized?
 
|-
 
|-
 
| [https://github.com/Myriachan/libkhax libkhax]
 
| [https://github.com/Myriachan/libkhax libkhax]
Line 50: Line 57:
 
| [https://github.com/Myriachan/libkhax/archive/master.zip Here]
 
| [https://github.com/Myriachan/libkhax/archive/master.zip Here]
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
| [https://github.com/cpp3ds/cpp3ds cpp3ds]
 
| [https://github.com/cpp3ds/cpp3ds cpp3ds]
Line 56: Line 64:
 
| [https://github.com/cpp3ds/cpp3ds/releases Here]
 
| [https://github.com/cpp3ds/cpp3ds/releases Here]
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
| [https://github.com/BtheDestroyer/SpriteTools SpriteTools]
 
| [https://github.com/BtheDestroyer/SpriteTools SpriteTools]
Line 62: Line 71:
 
| [https://github.com/BtheDestroyer/SpriteTools/releases Here]
 
| [https://github.com/BtheDestroyer/SpriteTools/releases Here]
 
| Yes
 
| Yes
 +
| Canceled
 
|-
 
|-
 
| [https://github.com/TurtleP/LovePotion LovePotion]
 
| [https://github.com/TurtleP/LovePotion LovePotion]
Line 67: Line 77:
 
| [https://github.com/TurtleP/ TurtleP]
 
| [https://github.com/TurtleP/ TurtleP]
 
| [https://github.com/TurtleP/LovePotion/releases Here]
 
| [https://github.com/TurtleP/LovePotion/releases Here]
 +
| Yes
 
| Yes
 
| Yes
 
|}
 
|}
Line 72: Line 83:
 
== PC Tools ==
 
== PC Tools ==
 
{| class="wikitable" border="1" width="100%"
 
{| class="wikitable" border="1" width="100%"
!  width="20%" | Name
+
!  width="16%" | Name
 
!  width="50%" | Description
 
!  width="50%" | Description
 
!  width="10%" | Author
 
!  width="10%" | Author
!  width="10%" | Download
+
!  width="8%" | Download
!  width="10%" | Open-Source
+
!  width="8%" | Open-Source
 +
!  width="8%" | Maintained
 
|-
 
|-
 
| [http://devkitpro.org/ devkitARM]
 
| [http://devkitpro.org/ devkitARM]
Line 83: Line 95:
 
| [[Setting_up_Development_Environment|See here]]
 
| [[Setting_up_Development_Environment|See here]]
 
| [https://github.com/devkitPro Yes]
 
| [https://github.com/devkitPro Yes]
 +
| Yes
 
|-
 
|-
 
| [https://github.com/smealum/aemstro aemstro]
 
| [https://github.com/smealum/aemstro aemstro]
Line 89: Line 102:
 
| [https://github.com/smealum/aemstro/archive/master.zip Here]
 
| [https://github.com/smealum/aemstro/archive/master.zip Here]
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
| [https://github.com/fincs/picasso picasso]
 
| [https://github.com/fincs/picasso picasso]
Line 95: Line 109:
 
| [https://github.com/fincs/picasso/releases Here]
 
| [https://github.com/fincs/picasso/releases Here]
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
| [http://4dsdev.org/thread.php?id=14 nihstro]
 
| [http://4dsdev.org/thread.php?id=14 nihstro]
Line 101: Line 116:
 
| [http://4dsdev.org/thread.php?id=14 Here]
 
| [http://4dsdev.org/thread.php?id=14 Here]
 
| [https://github.com/neobrain/nihstro Yes]
 
| [https://github.com/neobrain/nihstro Yes]
 +
| No
 
|-
 
|-
 
| [https://github.com/Lectem/3ds-cmake 3ds-cmake]
 
| [https://github.com/Lectem/3ds-cmake 3ds-cmake]
Line 107: Line 123:
 
| [https://github.com/Lectem/3ds-cmake/archive/master.zip Here]
 
| [https://github.com/Lectem/3ds-cmake/archive/master.zip Here]
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
| [[Makerom|makerom]]
 
| [[Makerom|makerom]]
Line 113: Line 130:
 
| [https://github.com/profi200/Project_CTR/archive/master.zip Here]
 
| [https://github.com/profi200/Project_CTR/archive/master.zip Here]
 
| [https://github.com/profi200/Project_CTR/tree/master/makerom Yes]
 
| [https://github.com/profi200/Project_CTR/tree/master/makerom Yes]
 +
| Yes
 
|-
 
|-
 
| [https://github.com/Steveice10/bannertool bannertool]
 
| [https://github.com/Steveice10/bannertool bannertool]
Line 119: Line 137:
 
| [https://github.com/Steveice10/bannertool/archive/master.zip Here]
 
| [https://github.com/Steveice10/bannertool/archive/master.zip Here]
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
| [https://github.com/socram8888/amiitool amiitool]
 
| [https://github.com/socram8888/amiitool amiitool]
Line 125: Line 144:
 
| [https://github.com/socram8888/amiitool/archive/master.zip Here]
 
| [https://github.com/socram8888/amiitool/archive/master.zip Here]
 
| Yes
 
| Yes
 +
| No
 
|}
 
|}
  
 
== 3DS Tools ==
 
== 3DS Tools ==
 
{| class="wikitable" border="1" width="100%"
 
{| class="wikitable" border="1" width="100%"
!  width="20%" | Name
+
!  width="16%" | Name
 
!  width="50%" | Description
 
!  width="50%" | Description
 
!  width="10%" | Author
 
!  width="10%" | Author
!  width="10%" | Download
+
!  width="8%" | Download
!  width="10%" | Open-Source
+
!  width="8%" | Open-Source
 +
!  width="8%" | Maintained
 
|-
 
|-
 
| [https://github.com/neobrain/braindump braindump]
 
| [https://github.com/neobrain/braindump braindump]
Line 140: Line 161:
 
| [https://github.com/neobrain/braindump/releases Here]
 
| [https://github.com/neobrain/braindump/releases Here]
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
| [https://github.com/citra-emu/uncart uncart]
 
| [https://github.com/citra-emu/uncart uncart]
Line 146: Line 168:
 
| Build from [https://github.com/citra-emu/uncart repo]
 
| Build from [https://github.com/citra-emu/uncart repo]
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
|}
 
|}

Revision as of 04:11, 24 March 2021

This is a list of libraries and tools that can be used to develop 3DS Homebrew.

Libraries

Name Description Author Download Open-Source Maintained
ctrulib C library for writing user mode ARM11 code for the 3DS (CTR) smea et al. See here Yes Yes
sf2dlib Simple and Fast 2D library for the Nintendo 3DS (using libctru and citro3d) xerpi Here Yes Deprecated
citro3d Stateful PICA200 GPU wrapper library for the Nintendo 3DS fincs Here Yes Yes
gl3ds OpenGL implementation for Nintendo 3DS using ctrulib Cruel et al. Here Yes No
Caelina An OpenGL implementation for (N)3DS machinamentum Here Yes No
Three-DS, computers Canvas/GDI Parx-Pas tested in FreePascal, public stubs Kenneth Dwayne Lee Here No Vandalized?
libkhax Library for modifying kernel memory on a certain handheld game console. Myria et al. Here Yes No
cpp3ds Object-oriented C++ game library and port of SFML Cruel et al. Here Yes No
SpriteTools Extension to SF2D, adding support for things like animations BtheDestroyer Here Yes Canceled
LovePotion Love2d port, a lua game engine TurtleP Here Yes Yes

PC Tools

Name Description Author Download Open-Source Maintained
devkitARM GCC-based toolchain tuned for homebrew development for ARM-based consoles. WinterMute et al. See here Yes Yes
aemstro Set of tools used to disassemble and assemble shader code for DMP's MAESTRO shader extension used in the 3DS's PICA200 GPU smea Here Yes No
picasso Homebrew PICA200 shader assembler fincs Here Yes No
nihstro 3DS shader assembler and disassembler neobrain Here Yes No
3ds-cmake CMake files for devkitARM and 3DS homebrew development Lectem Here Yes No
makerom Tool which can be used to create NCCH, CCI, and CIA files. 3dsguy, maintained by profi200 Here Yes Yes
bannertool Tool to create NCCH banners Steveice10 Here Yes No
amiitool Tool to decrypt, encrypt and sign amiibo dumps socram8888 Here Yes No

3DS Tools

Name Description Author Download Open-Source Maintained
braindump Tool to dump ExeFS/RomFS data from games and other applications neobrain Here Yes No
uncart Utility to dump game cartridges to the SD card neobrain et al. Build from repo Yes No