Homebrew Libraries and Tools: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
No edit summary  | 
				m add missing newline  | 
				||
| (13 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
| 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 |