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.)  | 
				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
| 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
| 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
| 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 |