Difference between revisions of "Homebrew Libraries and Tools"
Jump to navigation
Jump to search
FrozenLake (talk | contribs) (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.)) |
m (add missing newline) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 10: | Line 10: | ||
! width="8%" | Maintained | ! width="8%" | Maintained | ||
|- | |- | ||
− | | [https://github.com/ | + | | [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. | ||
Line 17: | Line 17: | ||
| Yes | | Yes | ||
|- | |- | ||
− | | [https:// | + | | [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 | | Yes | ||
− | |||
|- | |- | ||
− | | [https://github.com/ | + | | [https://github.com/devkitPro/citro3d citro3d] |
| Stateful PICA200 GPU wrapper library for the Nintendo 3DS | | Stateful PICA200 GPU wrapper library for the Nintendo 3DS | ||
| [https://github.com/fincs fincs] | | [https://github.com/fincs fincs] | ||
− | | [ | + | | [[Setting_up_Development_Environment|See here]] |
| Yes | | Yes | ||
| 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 | ||
+ | |- | ||
+ | | [https://github.com/xerpi/sf2dlib sf2dlib] | ||
+ | | Simple and Fast 2D library for the Nintendo 3DS (using libctru and citro3d) | ||
+ | | [https://github.com/xerpi xerpi] | ||
+ | | [https://github.com/xerpi/sf2dlib/ Here] | ||
+ | | Yes | ||
+ | | Deprecated | ||
|- | |- | ||
| [https://github.com/cpp3ds/gl3ds gl3ds] | | [https://github.com/cpp3ds/gl3ds gl3ds] | ||
− | | OpenGL implementation for Nintendo 3DS using | + | | 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/ | + | | [https://github.com/cpp3ds/gl3ds/ Here] |
| Yes | | Yes | ||
| No | | No | ||
Line 41: | Line 55: | ||
| 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/releases Here] | + | | [https://github.com/machinamentum/Caelina/releases/ Here] |
| Yes | | Yes | ||
| No | | 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/ | + | | [https://github.com/Myriachan/libkhax/ Here] |
| Yes | | Yes | ||
| No | | No | ||
Line 62: | Line 69: | ||
| 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/releases Here] | + | | [https://github.com/cpp3ds/cpp3ds/releases/ Here] |
| Yes | | Yes | ||
| No | | No | ||
Line 69: | Line 76: | ||
| Extension to SF2D, adding support for things like animations | | Extension to SF2D, adding support for things like animations | ||
| [https://github.com/BtheDestroyer BtheDestroyer] | | [https://github.com/BtheDestroyer BtheDestroyer] | ||
− | | [https://github.com/BtheDestroyer/SpriteTools/releases Here] | + | | [https://github.com/BtheDestroyer/SpriteTools/releases/ Here] |
| Yes | | Yes | ||
− | | | + | | Deprecated |
|- | |- | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
Line 100: | Line 101: | ||
| 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/ | + | | [https://github.com/smealum/aemstro/ Here] |
| Yes | | Yes | ||
| No | | No | ||
|- | |- | ||
− | | [https://github.com/ | + | | [https://github.com/devkitPro/picasso picasso] |
| Homebrew PICA200 shader assembler | | Homebrew PICA200 shader assembler | ||
| [https://github.com/fincs fincs] | | [https://github.com/fincs fincs] | ||
− | | [ | + | | [[Setting_up_Development_Environment|See here]] |
+ | | Yes | ||
| Yes | | Yes | ||
− | |||
|- | |- | ||
| [http://4dsdev.org/thread.php?id=14 nihstro] | | [http://4dsdev.org/thread.php?id=14 nihstro] | ||
Line 121: | Line 122: | ||
| 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/ | + | | [https://github.com/Lectem/3ds-cmake/ Here] |
| Yes | | Yes | ||
| No | | No | ||
Line 128: | Line 129: | ||
| Tool which can be used to create NCCH, CCI, and CIA files. | | Tool which can be used to create NCCH, CCI, and CIA files. | ||
| [[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/ | + | | [https://github.com/profi200/Project_CTR/releases/ Here] |
| [https://github.com/profi200/Project_CTR/tree/master/makerom Yes] | | [https://github.com/profi200/Project_CTR/tree/master/makerom Yes] | ||
| Yes | | Yes | ||
Line 135: | 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/ | + | | [https://github.com/Steveice10/bannertool/releases/ Here] |
| Yes | | Yes | ||
| No | | No | ||
Line 142: | Line 143: | ||
| 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/ | + | | [https://github.com/socram8888/amiitool/releases/ Here] |
| Yes | | Yes | ||
| No | | No | ||
Line 159: | Line 160: | ||
| Tool to dump ExeFS/RomFS data from games and other applications | | Tool to dump ExeFS/RomFS data from games and other applications | ||
| [https://github.com/neobrain neobrain] | | [https://github.com/neobrain neobrain] | ||
− | | [https://github.com/neobrain/braindump/releases Here] | + | | [https://github.com/neobrain/braindump/releases/ Here] |
| Yes | | Yes | ||
| No | | No |
Latest revision as of 15:44, 21 August 2021
This is a list of libraries and tools that can be used to develop 3DS Homebrew.
Libraries[edit]
Name | Description | Author | Download | Open-Source | Maintained |
---|---|---|---|---|---|
libctru | C library for writing user mode ARM11 code for the 3DS (CTR) | smea et al. | See here | Yes | Yes |
N2DS .. N3DS Computers | 2DS .. 3DS development in the Pascal computer language | Kenneth Dwayne Lee | here | No | Yes |
citro3d | Stateful PICA200 GPU wrapper library for the Nintendo 3DS | fincs | See here | Yes | Yes |
citro2d | Library for drawing 2D graphics using the Nintendo 3DS's PICA200 GPU | fincs | See here | Yes | Yes |
sf2dlib | Simple and Fast 2D library for the Nintendo 3DS (using libctru and citro3d) | xerpi | Here | Yes | Deprecated |
gl3ds | OpenGL implementation for Nintendo 3DS using libctru | Cruel et al. | Here | Yes | No |
Caelina | An OpenGL implementation for (N)3DS | machinamentum | Here | Yes | No |
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 | Deprecated |
PC Tools[edit]
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 | See here | Yes | Yes |
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[edit]
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 |