From WikiTemp, the GBAtemp wiki
m
(Libraries)
 
(14 intermediate revisions by one other user not shown)
Line 1: Line 1:
<noinclude>__NOTOC__{{Newpagepreload|Template:P/3DS Homebrew}}
+
{{3DSNav}}{{Newpagepreload|Template:P/3DS Homebrew}}
{|style="border: 1px solid #505050;"
+
|align="center" style="background-color:#C8DCE5; padding:10px; border-right: 2px solid #505050;" | [[List of 3DS homebrew applications|Applications]]
+
|align="center" style="background-color:#C8DCE5; padding:10px; border-right: 2px solid #505050;" | [[List of 3DS homebrew games|Games]]
+
|align="center" style="background-color:#C8DCE5; padding:10px; border-right: 2px solid #505050;" | [[List of 3DS homebrew emulators|Emulators]]
+
|align="center" style="background-color:#C8DCE5; padding:10px; border-right: 2px solid #505050;" | [[List of 3DS custom firmwares|CFWs]]
+
|align="center" style="background-color:#C8DCE5; padding:10px; border-right: 2px solid #505050;" | [[List of 3DS homebrew demos|Demos]]
+
|align="center" style="background-color:#A4CDDF; padding:10px; border-right: 2px solid #505050;" | '''Development tools'''
+
|align="center" style="background-color:#C8DCE5; padding:10px; border-right: 2px solid #505050;" | [[List of 3DS PC utilities|PC Utilities]]
+
|align="center" style="background-color:#C8DCE5; padding:10px; border-right: 2px solid #505050;" | [[List of 3DS exploits|Exploits]]
+
|align="center" style="background-color:#C8DCE5; padding:10px; border-right: 2px solid #505050;" | [[List of 3DS homebrew|All]]
+
|}</noinclude><includeonly>
+
==Development tools==
+
</includeonly>
+
  
===Homebrew===
+
==Libraries==
 
{| class="prettytable sortable" style="width:100%"
 
{| class="prettytable sortable" style="width:100%"
 
! style="width:25%" | Title
 
! style="width:25%" | Title
 
! class="unsortable" | Description
 
! class="unsortable" | Description
 
! style="width:20%" | Author
 
! style="width:20%" | Author
! style="width:8%" | Thread
+
! class="unsortable" style="width:8%" | Thread
! style="width:8%" | Source
+
! class="unsortable" style="width:8%" | Source
 
|-
 
|-
| CTRRPC
+
| [[3DS-UI]]
| RPC server/client for poking the 3DS usermode.
+
| [[User:Plutooo|Plutooo]]
+
|
+
| [https://github.com/plutooo/ctrrpc Git]
+
|}
+
 
+
===Templates===
+
{| class="prettytable sortable" style="width:100%"
+
! style="width:25%" | Title
+
! class="unsortable" | Description
+
! style="width:20%" | Author
+
! style="width:8%" | Thread
+
! style="width:8%" | Source
+
|-
+
| 3DS Homebrew template
+
| Makefile project template for 3DS homebrew that creates elf, 3dsx, smdh, cia, and 3ds files.
+
| [[User:Steveice10|Steveice10]]
+
|
+
| [https://github.com/Steveice10/3DSHomebrewTemplate Git]
+
|}
+
 
+
===Libraries and tools===
+
{| class="prettytable sortable" style="width:100%"
+
! style="width:25%" | Title
+
! class="unsortable" | Description
+
! style="width:20%" | Author
+
! style="width:8%" | Thread
+
! style="width:8%" | Source
+
|-
+
| 3DS-UI
+
 
| Graphical UI library  
 
| Graphical UI library  
 
| [[User:filfat|filfat]]
 
| [[User:filfat|filfat]]
Line 58: Line 15:
 
| [https://github.com/filfat/3DS_UI Git]
 
| [https://github.com/filfat/3DS_UI Git]
 
|-
 
|-
| aemstro
+
| [[BlargGL]]
| set of tools used to disassemble and assemble shader code for DMP's MAESTRO shader extension used in the 3DS's PICA200 GPU .
+
| [[User:Smealum|Smealum]]
+
|
+
| [https://github.com/smealum/aemstro Git]
+
|-
+
| BlargGL
+
 
| simple GPU API wrapper  
 
| simple GPU API wrapper  
 
| [[User:StapleButter|StapleButter]]
 
| [[User:StapleButter|StapleButter]]
Line 70: Line 21:
 
| [https://github.com/StapleButter/blargSnes/blob/master/source/blargGL.c Git]
 
| [https://github.com/StapleButter/blargSnes/blob/master/source/blargGL.c Git]
 
|-
 
|-
| Brewboard
+
| [[Brewboard]]
 
| a Keyboard demo / Library  
 
| a Keyboard demo / Library  
 
| [[User:titegtnodI|titegtnodI]]
 
| [[User:titegtnodI|titegtnodI]]
 
| [https://gbatemp.net/threads/brewboard-an-opensource-software-keyboard-library.375700/ Thread]
 
| [https://gbatemp.net/threads/brewboard-an-opensource-software-keyboard-library.375700/ Thread]
|  
+
| [https://github.com/titegtnodI/brewboard Git]
 
|-
 
|-
 
| [[Caelina]]
 
| [[Caelina]]
Line 80: Line 31:
 
| [[User:machinamentum|machinamentum]]
 
| [[User:machinamentum|machinamentum]]
 
| [https://gbatemp.net/threads/release-caelina-opengl-driver.392583/ Thread]
 
| [https://gbatemp.net/threads/release-caelina-opengl-driver.392583/ Thread]
|  
+
| [https://github.com/machinamentum/Caelina Git]
 
|-
 
|-
| ctrGL
+
| [[ctrGL]]
 
| OpenGL implementation for the POS PICA.  
 
| OpenGL implementation for the POS PICA.  
 
| [[User:minexew|minexew]]
 
| [[User:minexew|minexew]]
Line 88: Line 39:
 
| [https://github.com/minexew/ctrgl Git]
 
| [https://github.com/minexew/ctrgl Git]
 
|-
 
|-
| CTRULib
+
| [[CTRULib]]
 
| 3DS User Library.  
 
| 3DS User Library.  
 
| [[User:smealum|smealum]]
 
| [[User:smealum|smealum]]
Line 94: Line 45:
 
| [https://github.com/smealum/ctrulib Git]
 
| [https://github.com/smealum/ctrulib Git]
 
|-
 
|-
| LibCTR
+
| [[HBKBLib]]
| libctr is a software API for interfacing with the Nintendo 3DS hardware and software. It's a fork of an old ctrulib.
+
| 3DS Keyboard library
| [[User:CTRSDKv2|CTRSDKv2]]
+
| [[User:jbr373|jbr373]]
|  
+
| [https://gbatemp.net/threads/hbkblib-a-3ds-keyboard-library.397568/ Thread]
|  
+
| Included
 
|-
 
|-
| libmpo
+
| [[libmpo]]
 
| mpo (multiple picture object) file encoding/decoding library.  
 
| mpo (multiple picture object) file encoding/decoding library.  
 
| [[User:lectem|lectem]]
 
| [[User:lectem|lectem]]
Line 106: Line 57:
 
| [https://github.com/Lectem/libmpo Git]
 
| [https://github.com/Lectem/libmpo Git]
 
|-
 
|-
| libntrplg
+
| [[libntrplg]]
 
| Library to write plugins for NTR cFW.  
 
| Library to write plugins for NTR cFW.  
 
| [[User:44670|44670]]
 
| [[User:44670|44670]]
 
|  
 
|  
 
| [https://github.com/44670/libntrplg Git]
 
| [https://github.com/44670/libntrplg Git]
|-
 
| Nihstro
 
| nihstro is a collection of tools for 3DS vertex shaders targeted at homebrew development and/or reverse engineering.
 
| [[User:neobrain|neobrain]]
 
|
 
| [https://github.com/neobrain/nihstro Git]
 
|-
 
| picasso
 
| PICA200 shader assembler
 
| [[User:fincs|fincs]]
 
|
 
| [https://github.com/fincs/picasso Git]
 
 
|-
 
|-
 
| SDL for 3DS
 
| SDL for 3DS
Line 130: Line 69:
 
|  
 
|  
 
|-
 
|-
| sf2dlib
+
| [[sf2dlib]]
 
| 2D Graphics library with GPU rendering.  
 
| 2D Graphics library with GPU rendering.  
 
| [[User:xerpi|xerpi]]
 
| [[User:xerpi|xerpi]]
 
| [http://gbatemp.net/threads/release-beta-sf2dlib-simple-and-fast-2d-library-using-the-gpu.384796/ Thread]
 
| [http://gbatemp.net/threads/release-beta-sf2dlib-simple-and-fast-2d-library-using-the-gpu.384796/ Thread]
 +
| [https://github.com/xerpi/sf2dlib Git]
 +
|-
 +
| [[sfillib]]
 +
| Fast image loading library to use with sf2dlib
 +
| [[User:xerpi|xerpi]]
 +
| [http://gbatemp.net/threads/release-beta-sf2dlib-simple-and-fast-2d-library-using-the-gpu.384796/ Thread]
 +
| [https://github.com/xerpi/sfillib Git]
 +
|-
 +
| [[sftdlib]]
 +
| Text drawing library to use with sf2dlib
 +
| [[User:xerpi|xerpi]]
 
|  
 
|  
 +
| [https://github.com/xerpi/sftdlib Git]
 
|-
 
|-
| SwKbd
+
| [[SwKbd]]
 
| Custom software keyboard module.  
 
| Custom software keyboard module.  
 
| [[User:Nop90|Nop90]]
 
| [[User:Nop90|Nop90]]
Line 142: Line 93:
 
| [https://github.com/nop90/SwKbd Git]
 
| [https://github.com/nop90/SwKbd Git]
 
|-
 
|-
| TextStuff
+
| [[TextStuff]]
 
| Library to add text support.  
 
| Library to add text support.  
 
| [[User:titegtnodI|titegtnodI]]
 
| [[User:titegtnodI|titegtnodI]]
Line 149: Line 100:
 
|}
 
|}
  
===Other development tools===
+
==Tools==
 
{| class="prettytable sortable" style="width:100%"
 
{| class="prettytable sortable" style="width:100%"
 
! style="width:25%" | Title
 
! style="width:25%" | Title
 
! class="unsortable" | Description
 
! class="unsortable" | Description
 
! style="width:20%" | Author
 
! style="width:20%" | Author
! style="width:8%" | Thread
+
! class="unsortable" style="width:8%" | Thread
! style="width:8%" | Source
+
! class="unsortable" style="width:8%" | Source
 
|-
 
|-
| [http://pastebin.com/szJp5dR6 GateWay 3.0 Launcher Creator]
+
| 3DS tmd reader
| Encrypt Launcher.dat for Gateway 3.0's Spider exploit. ([https://gbatemp.net/threads/homebrew-development.360646/page-166#post-5290460 Mac version] by Cearp)
+
| [[User:Ernilos|Ernilos]]
+
 
|  
 
|  
 
|  
 
|  
 +
|
 +
|
 +
|-
 +
| CTRRPC
 +
| RPC server/client for poking the 3DS usermode
 +
| [[User:Plutooo|Plutooo]]
 +
|
 +
| [https://github.com/plutooo/ctrrpc Git]
 +
|-
 +
| CTRSDK
 +
| A set of legal open sources SDK replacement Tools
 +
|
 +
|
 +
| [https://github.com/ctrdev/ctrsdk Git]
 +
|-
 +
| EditTMD
 +
|
 +
| [[User:cearp|cearp]]
 +
| [https://gbatemp.net/threads/release-edittmd-edit-tmd-files.376426/ Thread]
 +
|
 +
|-
 +
| p3DS
 +
| 3DS Python Tool
 +
|
 +
|
 +
|
 +
|-
 +
| NTR Debugger
 +
| 3DS cFW with wifi debugging tools
 +
| [[User:Cell9|Cell9]]
 +
|
 +
|
 +
|}
 +
 +
===Shader assemblers===
 +
{| class="prettytable sortable" style="width:100%"
 +
! style="width:25%" | Title
 +
! class="unsortable" | Description
 +
! style="width:20%" | Author
 +
! class="unsortable" style="width:8%" | Thread
 +
! class="unsortable" style="width:8%" | Source
 +
|-
 +
| [[aemstro]]
 +
| Not meant for homebrew, used more for reverse engineering.
 +
| [[User:Smealum|Smealum]]
 +
|
 +
| [https://github.com/smealum/aemstro Git]
 +
|-
 +
| [[nihstro]]
 +
|
 +
| [[User:neobrain|neobrain]]
 +
| [https://gbatemp.net/threads/3ds-shader-assembler-and-disassembler-nihstro.383183/ Thread]
 +
| [https://github.com/neobrain/nihstro Git]
 +
|-
 +
| [[picasso]]
 +
|
 +
| [[User:fincs|fincs]]
 +
|
 +
| [https://github.com/fincs/picasso Git]
 
|}
 
|}
  
===Documentations===
+
==Documentation==
 
{| class="prettytable sortable" style="width:100%"
 
{| class="prettytable sortable" style="width:100%"
 
! style="width:25%" | Title
 
! style="width:25%" | Title
Line 189: Line 197:
 
| random information, ask questions here.
 
| random information, ask questions here.
 
| multiple developers
 
| multiple developers
 +
|-
 +
| [https://gbatemp.net/threads/cmake-for-3ds-homebrews.396254/ 3ds-cmake]
 +
| Info and [https://github.com/Lectem/3ds-cmake examples] for using CMake with 3DS homebrew
 +
| [[User:Lectem|Lectem]]
 +
|}
 +
 +
===Templates===
 +
{| class="prettytable sortable" style="width:100%"
 +
! style="width:25%" | Title
 +
! class="unsortable" | Description
 +
! style="width:20%" | Author
 +
! class="unsortable" style="width:8%" | Thread
 +
! class="unsortable" style="width:8%" | Source
 +
|-
 +
| 3DS Homebrew template
 +
| Makefile project template for 3DS homebrew that creates elf, 3dsx, smdh, cia, and 3ds files.
 +
| [[User:Steveice10|Steveice10]]
 +
|
 +
| [https://github.com/Steveice10/3DSHomebrewTemplate Git]
 
|}
 
|}

Latest revision as of 18:38, 20 September 2015

Libraries

Title Description Author Thread Source
3DS-UI Graphical UI library filfat Git
BlargGL simple GPU API wrapper StapleButter Git
Brewboard a Keyboard demo / Library titegtnodI Thread Git
Caelina OpenGL driver port machinamentum Thread Git
ctrGL OpenGL implementation for the POS PICA. minexew Git
CTRULib 3DS User Library. smealum Git
HBKBLib 3DS Keyboard library jbr373 Thread Included
libmpo mpo (multiple picture object) file encoding/decoding library. lectem Git
libntrplg Library to write plugins for NTR cFW. 44670 Git
SDL for 3DS SDL Library patch for 3DS. Rikku2000 Thread
sf2dlib 2D Graphics library with GPU rendering. xerpi Thread Git
sfillib Fast image loading library to use with sf2dlib xerpi Thread Git
sftdlib Text drawing library to use with sf2dlib xerpi Git
SwKbd Custom software keyboard module. Nop90 Thread Git
TextStuff Library to add text support. titegtnodI Git

Tools

Title Description Author Thread Source
3DS tmd reader
CTRRPC RPC server/client for poking the 3DS usermode Plutooo Git
CTRSDK A set of legal open sources SDK replacement Tools Git
EditTMD cearp Thread
p3DS 3DS Python Tool
NTR Debugger 3DS cFW with wifi debugging tools Cell9

Shader assemblers

Title Description Author Thread Source
aemstro Not meant for homebrew, used more for reverse engineering. Smealum Git
nihstro neobrain Thread Git
picasso fincs Git

Documentation

Title Description Author
http://3dbrew.org 3DS homebrew user based wiki
http://4dsdev.org/ forum with info and shared resources (audio/functions/released homebrew/etc.) multiple devs
3DS dev. guide Homepage eBook Git CTRuLib and homebrew Tools guides and documentation. Old Link xem
handy functions useful function for writing homebrew xem
GBATemp main homebrew development thread random information, ask questions here. multiple developers
3ds-cmake Info and examples for using CMake with 3DS homebrew Lectem

Templates

Title Description Author Thread Source
3DS Homebrew template Makefile project template for 3DS homebrew that creates elf, 3dsx, smdh, cia, and 3ds files. Steveice10 Git