Homebrew Libraries and Tools: Difference between revisions
		
		
		
		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 |