Difference between revisions of "Homebrew Libraries and Tools"
Jump to navigation
Jump to search
(Update links and add citro2d) |
m (add missing newline) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 15: | Line 15: | ||
| [[Setting_up_Development_Environment|See here]] | | [[Setting_up_Development_Environment|See here]] | ||
| Yes | | 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 | | Yes | ||
|- | |- | ||
Line 20: | Line 27: | ||
| 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 | ||
Line 27: | Line 34: | ||
| Library for drawing 2D graphics using the Nintendo 3DS's PICA200 GPU | | Library for drawing 2D graphics using the Nintendo 3DS's PICA200 GPU | ||
| [https://github.com/fincs fincs] | | [https://github.com/fincs fincs] | ||
− | | [ | + | | [[Setting_up_Development_Environment|See here]] |
| Yes | | Yes | ||
| Yes | | Yes | ||
Line 34: | Line 41: | ||
| Simple and Fast 2D library for the Nintendo 3DS (using libctru and citro3d) | | 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/ | + | | [https://github.com/xerpi/sf2dlib/ Here] |
| Yes | | Yes | ||
| Deprecated | | Deprecated | ||
Line 41: | Line 48: | ||
| OpenGL implementation for Nintendo 3DS using libctru | | 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 48: | 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 | ||
|- | |- | ||
Line 62: | 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 | | No | ||
Line 69: | 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 76: | 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 | | Deprecated | ||
|- | |- | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
Line 107: | 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 | ||
Line 114: | Line 108: | ||
| 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 | | Yes | ||
Line 128: | 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 135: | 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 142: | 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 149: | 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 166: | 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 |