Homebrew Libraries and Tools: Difference between revisions

Cruel (talk | contribs)
Add cpp3ds in prep for release
AHB (talk | contribs)
m add missing newline
 
(22 intermediate revisions by 9 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.


==List==
== 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/devkitPro/libctru libctru]
| C library for writing user mode ARM11 code for the 3DS (CTR)  
| C library for writing user mode ARM11 code for the 3DS (CTR)  
| [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
|-
| [https://osdn.net/users/freepascal3ds/pf/FPC-N3DS/files/ N2DS .. N3DS Computers]
| 2DS .. 3DS development in the Pascal computer language
| [mailto:ctru.pas@gmail.com Kenneth Dwayne Lee]
| [http://pascal.fpc-n3ds.ca here]
| No
| Yes
|-
| [https://github.com/devkitPro/citro3d citro3d]
| Stateful PICA200 GPU wrapper library for the Nintendo 3DS
| [https://github.com/fincs fincs]
| [[Setting_up_Development_Environment|See here]]
| Yes
| Yes
|-
| [https://github.com/devkitPro/citro2d citro2d]
| Library for drawing 2D graphics using the Nintendo 3DS's PICA200 GPU
| [https://github.com/fincs fincs]
| [[Setting_up_Development_Environment|See here]]
| Yes
| Yes
| Yes
|-
|-
| [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/ Here]
| Yes
| Yes
| Deprecated
|-
|-
| [https://github.com/cpp3ds/gl3ds gl3ds]
| [https://github.com/cpp3ds/gl3ds gl3ds]
| OpenGL implementation for Nintendo 3DS using ctrulib
| OpenGL implementation for Nintendo 3DS using libctru
| [https://github.com/Cruel Cruel] et al.
| [https://github.com/Cruel Cruel] et al.
| [https://github.com/cpp3ds/gl3ds/archive/master.zip Here]
| [https://github.com/cpp3ds/gl3ds/ Here]
| Yes
| Yes
| No
|-
|-
| [https://github.com/machinamentum/Caelina Caelina]
| [https://github.com/machinamentum/Caelina Caelina]
| 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
| No
|-
|-
| [https://github.com/Myriachan/libkhax libkhax]
| [https://github.com/Myriachan/libkhax libkhax]
| Library for modifying kernel memory on a certain handheld game console.
| Library for modifying kernel memory on a certain handheld game console.
| [https://github.com/Myriachan Myria] et al.
| [https://github.com/Myriachan Myria] et al.
| [https://github.com/Myriachan/libkhax/archive/master.zip Here]
| [https://github.com/Myriachan/libkhax/ Here]
| Yes
| Yes
| No
|-
|-
| [https://github.com/cpp3ds/cpp3ds cpp3ds]
| [https://github.com/cpp3ds/cpp3ds cpp3ds]
| 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
| No
|-
| [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
| Yes
| Deprecated
|-
|}
|}


===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 61: Line 96:
| [[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]
| Set of tools used to disassemble and assemble shader code for DMP's MAESTRO shader extension used in the 3DS's PICA200 GPU
| Set of tools used to disassemble and assemble shader code for DMP's MAESTRO shader extension used in the 3DS's PICA200 GPU
| [https://twitter.com/smealum smea]
| [https://twitter.com/smealum smea]
| [https://github.com/smealum/aemstro/archive/master.zip Here]
| [https://github.com/smealum/aemstro/ Here]
| Yes
| Yes
| No
|-
|-
| [https://github.com/fincs/picasso picasso]
| [https://github.com/devkitPro/picasso picasso]
| Homebrew PICA200 shader assembler
| Homebrew PICA200 shader assembler
| [https://github.com/fincs fincs]
| [https://github.com/fincs fincs]
| [https://github.com/fincs/picasso/releases Here]
| [[Setting_up_Development_Environment|See here]]
| Yes
| Yes
| Yes
|-
|-
Line 79: Line 117:
| [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]
| CMake files for devkitARM and 3DS homebrew development
| CMake files for devkitARM and 3DS homebrew development
| [https://github.com/Lectem Lectem]
| [https://github.com/Lectem Lectem]
| [https://github.com/Lectem/3ds-cmake/archive/master.zip Here]
| [https://github.com/Lectem/3ds-cmake/ Here]
| Yes
| Yes
| No
|-
|-
| [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/releases/ Here]
| [https://github.com/profi200/Project_CTR/tree/master/makerom Yes]
| Yes
| Yes
|-
|-
Line 95: Line 136:
| Tool to create NCCH banners
| Tool to create NCCH banners
| [https://github.com/Steveice10 Steveice10]
| [https://github.com/Steveice10 Steveice10]
| [https://github.com/Steveice10/bannertool/archive/master.zip Here]
| [https://github.com/Steveice10/bannertool/releases/ Here]
| Yes
| Yes
| No
|-
|-
| [https://github.com/socram8888/amiitool amiitool]
| [https://github.com/socram8888/amiitool amiitool]
| Tool to decrypt, encrypt and sign amiibo dumps
| Tool to decrypt, encrypt and sign amiibo dumps
| [https://github.com/socram8888 socram8888]
| [https://github.com/socram8888 socram8888]
| [https://github.com/socram8888/amiitool/archive/master.zip Here]
| [https://github.com/socram8888/amiitool/releases/ Here]
| Yes
| Yes
| No
|}
== 3DS Tools ==
{| class="wikitable" border="1" width="100%"
!  width="16%" | Name
!  width="50%" | Description
!  width="10%" | Author
!  width="8%" | Download
!  width="8%" | Open-Source
!  width="8%" | Maintained
|-
| [https://github.com/neobrain/braindump braindump]
| Tool to dump ExeFS/RomFS data from games and other applications
| [https://github.com/neobrain neobrain]
| [https://github.com/neobrain/braindump/releases/ Here]
| Yes
| No
|-
| [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
| No
|-
|}
|}