Difference between revisions of "Homebrew Libraries and Tools"

From 3dbrew
Jump to navigation Jump to search
(12 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
This is a list of libraries and tools that can be used to develop 3DS Homebrew.
 
This is a list of libraries and tools that can be used to develop 3DS Homebrew.
  
==Libraries==
+
== Libraries ==
 
{| class="wikitable" border="1" width="100%"
 
{| class="wikitable" border="1" width="100%"
 
!  width="20%" | Name
 
!  width="20%" | Name
Line 16: Line 16:
 
|-
 
|-
 
| [https://github.com/xerpi/sf2dlib sf2dlib]
 
| [https://github.com/xerpi/sf2dlib sf2dlib]
| Simple and Fast 2D library for the Nintendo 3DS (using ctrulib)
+
| Simple and Fast 2D library for the Nintendo 3DS (using libctru and citro3d)
 
| [https://github.com/xerpi xerpi]
 
| [https://github.com/xerpi xerpi]
 
| [https://github.com/xerpi/sf2dlib/archive/master.zip Here]
 
| [https://github.com/xerpi/sf2dlib/archive/master.zip Here]
Line 36: Line 36:
 
| An OpenGL implementation for (N)3DS
 
| An OpenGL implementation for (N)3DS
 
| [https://github.com/machinamentum machinamentum]
 
| [https://github.com/machinamentum machinamentum]
| [https://github.com/machinamentum/Caelina/archive/master.zip Here]
+
| [https://github.com/machinamentum/Caelina/releases Here]
 
| Yes
 
| Yes
 +
|-
 +
| [https://github.com/Parx-3DS Three-DS, computers]
 +
| Canvas/GDI Parx-Pas tested in FreePascal, public stubs
 +
| [https://twitter.com/Kenny_D_Lee Kenneth Dwayne Lee]
 +
| [http://flying-dutchmen.github.io/3DS-Sails Here]
 +
| No
 
|-
 
|-
 
| [https://github.com/Myriachan/libkhax libkhax]
 
| [https://github.com/Myriachan/libkhax libkhax]
Line 48: Line 54:
 
| Object-oriented C++ game library and port of [http://www.sfml-dev.org/ SFML]
 
| Object-oriented C++ game library and port of [http://www.sfml-dev.org/ SFML]
 
| [https://github.com/Cruel Cruel] et al.
 
| [https://github.com/Cruel Cruel] et al.
| [https://github.com/cpp3ds/cpp3ds/archive/master.zip Here]
+
| [https://github.com/cpp3ds/cpp3ds/releases Here]
 +
| Yes
 +
|-
 +
| [https://github.com/BtheDestroyer/SpriteTools SpriteTools]
 +
| Extension to SF2D, adding support for things like animations
 +
| [https://github.com/BtheDestroyer BtheDestroyer]
 +
| [https://github.com/BtheDestroyer/SpriteTools/releases Here]
 +
| Yes
 +
|-
 +
| [https://github.com/TurtleP/LovePotion LovePotion]
 +
| Love2d port, a lua game engine
 +
| [https://github.com/TurtleP/ TurtleP]
 +
| [https://github.com/TurtleP/LovePotion/releases Here]
 
| Yes
 
| Yes
 
|}
 
|}
  
==PC Tools==
+
== PC Tools ==
 
{| class="wikitable" border="1" width="100%"
 
{| class="wikitable" border="1" width="100%"
 
!  width="20%" | Name
 
!  width="20%" | Name
Line 90: Line 108:
 
| Yes
 
| Yes
 
|-
 
|-
| [https://github.com/profi200/Project_CTR/archive/master.zip makerom]
+
| [[Makerom|makerom]]
| Tool which can be used to create NCCH, CCI, and CIA files.  
+
| Tool which can be used to create NCCH, CCI, and CIA files.  
| [http://3dbrew.org/wiki/User:3dsguy 3dsguy] maintained by [https://github.com/profi200 profi200]
+
| [[User:3dsguy|3dsguy]], maintained by [https://github.com/profi200 profi200]
 
| [https://github.com/profi200/Project_CTR/archive/master.zip Here]
 
| [https://github.com/profi200/Project_CTR/archive/master.zip Here]
| Yes
+
| [https://github.com/profi200/Project_CTR/tree/master/makerom Yes]
 
|-
 
|-
 
| [https://github.com/Steveice10/bannertool bannertool]
 
| [https://github.com/Steveice10/bannertool bannertool]
Line 109: Line 127:
 
|}
 
|}
  
==3DS Tools==
+
== 3DS Tools ==
 
{| class="wikitable" border="1" width="100%"
 
{| class="wikitable" border="1" width="100%"
 
!  width="20%" | Name
 
!  width="20%" | Name
Line 122: Line 140:
 
| [https://github.com/neobrain/braindump/releases Here]
 
| [https://github.com/neobrain/braindump/releases Here]
 
| Yes
 
| Yes
 +
|-
 +
| [https://github.com/citra-emu/uncart uncart]
 +
| Utility to dump game cartridges to the SD card
 +
| [https://github.com/neobrain neobrain] et al.
 +
| Build from [https://github.com/citra-emu/uncart repo]
 +
| Yes
 +
|-
 
|}
 
|}

Revision as of 02:20, 11 November 2017

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

Libraries

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

PC Tools

Name Description Author Download Open-Source
devkitARM GCC-based toolchain tuned for homebrew development for ARM-based consoles. WinterMute et al. See here 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
picasso Homebrew PICA200 shader assembler fincs Here Yes
nihstro 3DS shader assembler and disassembler neobrain Here Yes
3ds-cmake CMake files for devkitARM and 3DS homebrew development Lectem Here Yes
makerom Tool which can be used to create NCCH, CCI, and CIA files. 3dsguy, maintained by profi200 Here Yes
bannertool Tool to create NCCH banners Steveice10 Here Yes
amiitool Tool to decrypt, encrypt and sign amiibo dumps socram8888 Here Yes

3DS Tools

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