Difference between revisions of "Homebrew Libraries and Tools"
Jump to navigation
Jump to search
m (add missing newline) |
|||
(12 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. | ||
− | ==Libraries== | + | == Libraries == |
{| class="wikitable" border="1" width="100%" | {| class="wikitable" border="1" width="100%" | ||
− | ! width=" | + | ! width="16%" | Name |
! width="50%" | Description | ! width="50%" | Description | ||
! width="10%" | Author | ! width="10%" | Author | ||
− | ! width=" | + | ! width="8%" | Download |
− | ! width=" | + | ! width="8%" | Open-Source |
+ | ! 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. | ||
| [[Setting_up_Development_Environment|See here]] | | [[Setting_up_Development_Environment|See here]] | ||
+ | | Yes | ||
| 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] | ||
− | | [https://github.com/ | + | | [[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] | ||
+ | | 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 | ||
|- | |- | ||
| [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/ | + | | [https://github.com/machinamentum/Caelina/releases/ Here] |
| Yes | | Yes | ||
− | |||
− | |||
− | |||
− | |||
− | |||
| No | | No | ||
|- | |- | ||
Line 48: | Line 62: | ||
| 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 | ||
|- | |- | ||
| [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/ | + | | [https://github.com/cpp3ds/cpp3ds/releases/ Here] |
| Yes | | 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 | ||
+ | | Deprecated | ||
+ | |- | ||
|} | |} | ||
− | ==PC Tools== | + | == PC Tools == |
{| class="wikitable" border="1" width="100%" | {| class="wikitable" border="1" width="100%" | ||
− | ! width=" | + | ! width="16%" | Name |
! width="50%" | Description | ! width="50%" | Description | ||
! width="10%" | Author | ! width="10%" | Author | ||
− | ! width=" | + | ! width="8%" | Download |
− | ! width=" | + | ! width="8%" | Open-Source |
+ | ! width="8%" | Maintained | ||
|- | |- | ||
| [http://devkitpro.org/ devkitARM] | | [http://devkitpro.org/ devkitARM] | ||
Line 71: | 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/ | + | | [https://github.com/smealum/aemstro/ Here] |
| Yes | | Yes | ||
+ | | 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 | ||
|- | |- | ||
Line 89: | 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/ | + | | [https://github.com/Lectem/3ds-cmake/ Here] |
| Yes | | Yes | ||
+ | | No | ||
|- | |- | ||
− | | [ | + | | [[Makerom|makerom]] |
− | | | + | | Tool which can be used to create NCCH, CCI, and CIA files. |
− | | [ | + | | [[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] | ||
| Yes | | Yes | ||
|- | |- | ||
Line 105: | 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 | ||
|- | |- | ||
| [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/ | + | | [https://github.com/socram8888/amiitool/releases/ Here] |
| Yes | | Yes | ||
+ | | No | ||
|} | |} | ||
− | ==3DS Tools== | + | == 3DS Tools == |
{| class="wikitable" border="1" width="100%" | {| class="wikitable" border="1" width="100%" | ||
− | ! width=" | + | ! width="16%" | Name |
! width="50%" | Description | ! width="50%" | Description | ||
! width="10%" | Author | ! width="10%" | Author | ||
− | ! width=" | + | ! width="8%" | Download |
− | ! width=" | + | ! width="8%" | Open-Source |
+ | ! width="8%" | Maintained | ||
|- | |- | ||
| [https://github.com/neobrain/braindump braindump] | | [https://github.com/neobrain/braindump braindump] | ||
| 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 | ||
+ | | 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 | | Yes | ||
+ | | 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 |