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.)) |
(Update links and add citro2d) |
||
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. | ||
| [[Setting_up_Development_Environment|See here]] | | [[Setting_up_Development_Environment|See here]] | ||
+ | | Yes | ||
+ | | Yes | ||
+ | |- | ||
+ | | [https://github.com/devkitPro/citro3d citro3d] | ||
+ | | Stateful PICA200 GPU wrapper library for the Nintendo 3DS | ||
+ | | [https://github.com/fincs fincs] | ||
+ | | [https://github.com/devkitPro/citro3d/archive/master.zip 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] | ||
+ | | [https://github.com/fincs/citro2d/archive/master.zip Here] | ||
| Yes | | Yes | ||
| Yes | | Yes | ||
Line 23: | Line 37: | ||
| Yes | | Yes | ||
| Deprecated | | 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/archive/master.zip Here] | | [https://github.com/cpp3ds/gl3ds/archive/master.zip Here] | ||
Line 50: | Line 57: | ||
| [http://flying-dutchmen.github.io/3DS-Sails Here] | | [http://flying-dutchmen.github.io/3DS-Sails Here] | ||
| No | | No | ||
− | | | + | | No |
|- | |- | ||
| [https://github.com/Myriachan/libkhax libkhax] | | [https://github.com/Myriachan/libkhax libkhax] | ||
Line 71: | Line 78: | ||
| [https://github.com/BtheDestroyer/SpriteTools/releases Here] | | [https://github.com/BtheDestroyer/SpriteTools/releases Here] | ||
| Yes | | Yes | ||
− | | | + | | Deprecated |
|- | |- | ||
| [https://github.com/TurtleP/LovePotion LovePotion] | | [https://github.com/TurtleP/LovePotion LovePotion] | ||
Line 104: | Line 111: | ||
| 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] | ||
− | | [https://github.com/ | + | | [https://github.com/devkitPro/picasso/releases Here] |
+ | | Yes | ||
| Yes | | Yes | ||
− | |||
|- | |- | ||
| [http://4dsdev.org/thread.php?id=14 nihstro] | | [http://4dsdev.org/thread.php?id=14 nihstro] |
Revision as of 06:33, 24 March 2021
This is a list of libraries and tools that can be used to develop 3DS Homebrew.
Libraries
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 |
citro3d | Stateful PICA200 GPU wrapper library for the Nintendo 3DS | fincs | Here | Yes | Yes |
citro2d | Library for drawing 2D graphics using the Nintendo 3DS's PICA200 GPU | fincs | 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 |
Three-DS, computers | Canvas/GDI Parx-Pas tested in FreePascal, public stubs | Kenneth Dwayne Lee | Here | No | 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 |
LovePotion | Love2d port, a lua game engine | TurtleP | Here | Yes | Yes |
PC Tools
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 | 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
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 |