https://wiki.gbatemp.net/w/api.php?action=feedcontributions&user=TricksterGuy&feedformat=atom
WikiTemp - User contributions [en]
2024-03-29T11:16:55Z
User contributions
MediaWiki 1.24.3
//wiki.gbatemp.net/wiki/List_of_3DS_homebrew_games?diff=62561
List of 3DS homebrew games
2016-06-18T00:13:33Z
<p>TricksterGuy: /* Puzzle */</p>
<hr />
<div><noinclude>{{3DSNav}}__NOTOC__{{Newpagepreload|Template:P/3DS Homebrew}}<br />
<br />
'''NH2''' = Works with Ninjhax 2 / Tubehax / Ironhax / OotHax / SmashbrosHax</noinclude><includeonly><br />
==Games==<br />
</includeonly><br />
{| class="secondarynav"<br />
| [[#Action|Action]]<br />
| [[#Arcade|Arcade]]<br />
| [[#Board|Board]]<br />
| [[#Card|Card]]<br />
| [[#Game engine|Game engine]]<br />
| [[#Guessing|Guessing]]<br />
| [[#Music|Music]]<br />
| [[#Platform|Platform]]<br />
| [[#Puzzle|Puzzle]]<br />
| [[#Racing|Racing]]<br />
| [[#Real-time strategy|RTS]]<br />
| [[#Role playing|Role playing]]<br />
| [[#Shooter|Shooter]]<br />
| [[#Simulation|Simulation]]<br />
| [[#Trivia|Trivia]]<br />
| [[#Other games|Other games]]<br />
|}<br />
<br />
===Action===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[KillerMan: Ghost Buster]]<br />
| {{y}}<br />
| Clone of the battles in the ''MegaMan Battle Network'' series.<br />
| [[User:Greiga Master|Greiga Master]]<br />
| [https://gbatemp.net/threads/release-killerman-ghost-buster.399484/ Thread]<br />
| <br />
|-<br />
| [[Minicraft: 3DS Homebrew Edition]]<br />
| {{y}}<br />
| 3DS port of the game Minicraft<br />
| [[User:Davideesk|Davideesk]]<br />
| [http://gbatemp.net/threads/release-beta-minicraft-3ds-homebrew-edition.399295/ Thread]<br />
| [https://github.com/DavidSM64/Minicraft3DS/ Source]<br />
|}<br />
<br />
===Arcade===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[3Dfrogr]]<br />
| {{n}}<br />
| Frogger clone<br />
| [[User:Tybus|Tybus]]<br />
|<br />
| [https://github.com/Tybus/3Dfrogr Git]<br />
|-<br />
| [[3DSCraft]]<br />
| {{y}}<br />
| MineCraft clone<br />
| [[User:Smealum|Smealum]]<br />
| <br />
| [https://github.com/smealum/3dscraft Git]<br />
|-<br />
| [[3DS Breaköut]]<br />
| {{y}}<br />
| Breakout/Brick Breaker sloppy clone for 3DS using LövePotion<br />
| [[User:Jwiz33|Jwiz33]]<br />
| [http://gbatemp.net/threads/release-3ds-break%C3%B6ut.400385/ Thread]<br />
|<br />
|-<br />
| [[3DS-Pong]]<br />
| {{y}}<br />
| A Two player Pong game.<br />
| [[User:shinyquagsire23|shinyquagsire23]]<br />
| [https://gbatemp.net/threads/homebrew-3ds-pong-v1-0.375060/ Thread]<br />
| [https://github.com/shinyquagsire23/3DS-Pong Git]<br />
|-<br />
| [[3DSnake]] by Joshtech<br />
| {{y}}<br />
| Snake game<br />
| [[User:Joshtech|Joshtech]]<br />
| [https://gbatemp.net/threads/homebrew-3dsnake.375118/ Thread]<br />
|<br />
|-<br />
| [[3DSnake (CKlidify)|3DSnake]] by CKlidify<br />
| {{y}}<br />
| Snake game, built with LövePotion<br />
| [[User:CKlidify|CKlidify]]<br />
| [https://gbatemp.net/threads/release-3dsnake.400198/ Thread]<br />
|<br />
|-<br />
| [[Antibounce]]<br />
| {{y}}<br />
| Bounce a ball around and collect coins.<br />
| [[User:TurtleP|TurtleP]]<br />
| [https://gbatemp.net/threads/preview-ld-34-port-antibounce.406361/ Thread]<br />
| <br />
|-<br />
| [[Asteroids-3D]]<br />
|<br />
| Asteroids clone<br />
| [[User:Rinnegatamante|Rinnegatamante]]<br />
| <br />
| [https://github.com/Rinnegatamante/Asteroids-3D Git]<br />
|-<br />
| [[Breakout3DS]]<br />
| {{n}}<br />
| Arkanoid clone<br />
| [[User:CalebW|CalebW]]<br />
|<br />
| [https://github.com/CalebDW/Breakout3DS Git]<br />
|-<br />
| [[Brick Breaker 3D]]<br />
| {{y}}<br />
| Breakout clone<br />
| FUK-Team<br />
| [https://gbatemp.net/threads/release-brick-breaker-3d.406794/ Thread]<br />
| <br />
|-<br />
| [[EUCLIOD]]<br />
| {{y}}<br />
| Bullet hell shooting game<br />
| [[User:HexZyle|HexZyle]]<br />
| [https://gbatemp.net/threads/eucliod-a-homebrew-bullet-hell-for-the-3ds.419553/ Thread]<br />
|<br />
|-<br />
| [[Flappy Pixel]]<br />
| {{y}}<br />
| Flappy Bird clone where you control a pixel<br />
| [[User:ll0rT|ll0rT]]<br />
| [https://gbatemp.net/threads/release-flappy-pixel.389523/ Thread]<br />
|<br />
|-<br />
| [[Helii3DS]]<br />
| {{y}}<br />
| Guide the helicopter through a tunnel. Port of Helii homebrew for Wii.<br />
| [[User:BHSPitMonkey|BHSPitMonkey]]<br />
| <br />
| [https://github.com/BHSPitMonkey/Helii3DS Git]<br />
|-<br />
| [[Jezzball3DS]]<br />
| {{y}}<br />
| JezzBall/Qix clone.<br />
| [[User:Akdul|Akdul]]<br />
| [https://gbatemp.net/threads/release-jezzball-3ds.379637/ Thread]<br />
|<br />
|-<br />
| [[LovePong3DS]]<br />
| {{y}}<br />
| Pong clone, built with LövePotion Framework<br />
| [[User:iKlikla|iKlikla]]<br />
| [https://gbatemp.net/threads/release-lovepong3ds-a-simple-pong-clone.399599/ Thread]<br />
| <br />
|-<br />
| [[Pong3D]]<br />
| {{n}}<br />
| A two player pong clone<br />
| [[User:Snailface|Snailface]]<br />
|<br />
| Included<br />
|-<br />
| [[Pong 3DS]]<br />
| {{y}}<br />
| A pong with stereoscopic 3D.<br />
| [[User:AntonioND|AntonioND]]<br />
| [https://gbatemp.net/threads/homebrew-pong-3ds-v1-0.381907/ Thread]<br />
| [https://github.com/AntonioND/pong-3ds Git]<br />
|-<br />
| [[QuickiePong]]<br />
| {{y}}<br />
| A Pong clone (single player?)<br />
| [[User:Lectem|Lectem]]<br />
|<br />
| [https://github.com/Lectem/QuickiePong Git]<br />
|-<br />
| [[Snake 3DS]]<br />
| {{n}}<br />
| Snake game<br />
| [[User:Ernilos|Ernilos]]<br />
|<br />
|<br />
|-<br />
| [[Snake3DS]]<br />
| {{y}}<br />
| Snake game<br />
| [[User:Pepepuhn|Pepepuhn]] (Remich)<br />
| [https://gbatemp.net/threads/a-snake-game-for-the-3ds.419527/ Thread]<br />
| [https://github.com/Remich/Snake3DS Git]<br />
|-<br />
| [[Space Fruit]]<br />
| {{y}}<br />
| Asteroids clone with fruit<br />
| [[User:TurtleP|TurtleP]]<br />
| [https://gbatemp.net/threads/release-space-fruit.399088/ Thread]<br />
| [https://github.com/TurtleP/Space_Fruit/ Git]<br />
|-<br />
| [[spaceinvaders]]<br />
| {{y}}<br />
| A Space invaders game.<br />
| [[User:jasonmbrown|jasonmbrown]]<br />
| [https://gbatemp.net/threads/homebrew-development.360646/page-139#post-5191579 Post]<br />
|<br />
|-<br />
| [[Tappy Plane]]<br />
| {{y}}<br />
| Flappy bird clone where you control a plane<br />
| [[User:sgowen|sgowen]]<br />
| <br />
| [https://github.com/GowenGameDevOpenSource/tappy-plane/tree/master/src/platform/3ds/tappy-plane Git]<br />
|-<br />
| [[The Real Snake]]<br />
| {{y}}<br />
| Snake game<br />
| [[User:MichiS97|MichiS97]]<br />
| <br />
| [https://github.com/MichiS97/The-Real-Snake-3DS Git]<br />
|-<br />
| [[wave]]<br />
| {{y}}<br />
| Leads a sinusoidal wave along a scrolling screen and avoid obstacles. <br />
| [[User:yodamerlin|yodamerlin]]<br />
|<br />
| [https://github.com/yodamerlin/wave Git]<br />
|-<br />
| [[Whack Mania]]<br />
| {{y}}<br />
| 3D [[wikipedia:Whack-A-Mole|Whack-A-Mole]]<br />
| [[User:cebolleto|cebolleto]]<br />
| [https://gbatemp.net/threads/release-whack-mania-whack-a-mole-around-planets.394879/ Thread]<br />
| <br />
|}<br />
<br />
===Board===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[3DS Tic Tac Toe]]<br />
| {{y}}<br />
| Tic Tac Toe game for 3DS. <br />
| [[User:AlbertoSONIC|AlbertoSONIC]]<br />
| [http://gbatemp.net/threads/release-3ds-tic-tac-toe-gateway-cfw-ninjhax.380559/ Thread]<br />
|<br />
|-<br />
| [[4Rows]]<br />
| {{y}}<br />
| Four in a row/Connect4 game for 3DS. <br />
| [[User:Rinnegatamante|Rinnegatamante]]<br />
| [http://gbatemp.net/threads/release-4rows.384352/ Thread]<br />
|<br />
|-<br />
| [[ASCII Checkers]]<br />
| {{y}}<br />
| A crappy ASCII game of checkers (no AI)<br />
| [[User:UnsureSherlock|UnsureSherlock]]<br />
| [https://gbatemp.net/threads/ascii-checkers.395405/ Thread]<br />
| [https://github.com/UnsureSherlock/checkers3ds Git]<br />
|-<br />
| [[Mastermind 3DS]]<br />
| {{y}}<br />
| [[wikipedia:Mastermind (board game)|Mastermind board game]] implementation<br />
| [[User:MrJPGames|MrJPGames]]<br />
| [https://gbatemp.net/threads/release-mastermind-3ds.394710/ Thread]<br />
| [https://github.com/MrJPGames/Mastermind-3DS Git]<br />
|-<br />
| [[Othello-3DS]]<br />
| {{y}}<br />
| Othello ([[wikipedia:Reversi|Reversi]]) implementation<br />
| [[User:MrJPGames|MrJPGames]]<br />
| [https://gbatemp.net/threads/release-reversi-othello-for-3ds.395442/ Thread]<br />
| [https://github.com/MrJPGames/Othello-3DS Git]<br />
|}<br />
<br />
===Card===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[3DS Briscola]]<br />
| {{y}}<br />
| [http://en.wikipedia.org/wiki/Briscola Briscola] card game. Port of PSPBriscola in Lua.<br />
| [[User:Rinnegatamante|Rinnegatamante]]<br />
| [https://gbatemp.net/threads/3ds-briscola-briscola-card-game-for-3ds.376901/ Thread]<br />
| <br />
|-<br />
| [[Blackjack 3DS]]<br />
| {{y}}<br />
| Blackjack/Twenty-one game<br />
| [[User:keanutah|keanutah]]<br />
| [https://gbatemp.net/threads/release-blackjack-3ds.398776/ Thread]<br />
| [https://github.com/keanutah/blackjack-3ds/ Git]<br />
|}<br />
<br />
===Game engine===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[HCGE - Headcannon Game Engine]]<br />
| {{y}}<br />
| Multi plateforms 2D Game engine creator and player ported to 3DS. <br />
| [[User:HCStealth|HCStealth]]<br />
| [https://gbatemp.net/threads/hcge-multiplatform-game-engine-sonic-mega-man.375559/ Thread]<br />
|<br />
|-<br />
| [[LövePotion]]<br />
| {{y}}<br />
| Implementation of the [https://love2d.org/ Löve] game API for Lua<br />
| [[User:VideahGams|VideahGams]]<br />
| [https://gbatemp.net/threads/release-l%C3%B6vepotion-l%C3%96ve-api-for-3ds-homebrew-beta.397559/ Thread]<br />
| [https://github.com/VideahGams/LovePotion Git]<br />
|-<br />
| [[Lua-RayCast3D]]<br />
| {{y}}<br />
| Game engine for Lua, based on the [[wikipedia:Ray casting|Ray casting]] technique.<br />
| [[User:Rinnegatamante|Rinnegatamante]]<br />
| [https://gbatemp.net/threads/w-i-p-lua-raycast3d-3d-game-engine-for-lpp-3ds.407381/ Thread]<br />
| [https://github.com/Rinnegatamante/Lua-RayCast3D Git]<br />
|}<br />
<br />
===Guessing===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[3DSHangman]]<br />
| <br />
| 3DSHangman is a port of a Lua Hanging homebrew for PSP. <br />
| [[User:Rinnegatamante|Rinnegatamante]]<br />
| [https://gbatemp.net/threads/release-3dshangman.379285/ Thread]<br />
|<br />
|-<br />
| [[DrawAttack]]<br />
| {{y}}<br />
| Multiplayer "guess the word from the drawing" game.<br />
| [[User:TheCruel|TheCruel]]<br />
| [https://gbatemp.net/threads/release-drawattack-networked-drawing-game.402291/ Thread]<br />
| [https://github.com/Cruel/DrawAttack Git]<br />
|-<br />
| [[Guess the Number 3DS]]<br />
| {{y}}<br />
| More-or-less guessing game.<br />
| [[User:Technicmaster0|Tcm0]] (FUK-Team)<br />
| [https://gbatemp.net/threads/guess-the-number-3ds.376900/ Thread]<br />
| [http://filetrip.net/dl?UNWsSE1AVB FileTrip]<br />
|}<br />
<br />
===Music===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[Simon]]<br />
| {{y}}<br />
| Simon musical game <br />
| [[User:mastermodr94|mastermodr94]]<br />
| [https://gbatemp.net/threads/homebrew-simon-game.377845/ Thread]<br />
| [https://github.com/mastermodr94/Simon Git]<br />
|-<br />
| [[TriaAl]]<br />
| <br />
| Clone of [https://play.google.com/store/apps/details?id=com.rayark.pluto Deemo]<br />
| [[User:Rinnegatamante|Rinnegatamante]]<br />
| [https://gbatemp.net/threads/w-i-p-triaal-deemo-clone-for-3ds.381508/ Thread]<br />
| [https://github.com/Rinnegatamante/TriaAl Git]<br />
|}<br />
<br />
===Platform===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[ASCIIJump]]<br />
| {{y}}<br />
| ASCII Geometry Dash clone for 3DS<br />
| [[User:JackMacWindows|JackMacWindows]]<br />
| [https://gbatemp.net/threads/release-wip-asciijump-for-3ds-a-geometry-dash-remake-for-the-3ds.419607/ Thread]<br />
| [http://github.com/Emerson-School-Coders/ASCIIJump/ Git]<br />
|-<br />
| [[Geomitty Dash]]<br />
| {{y}}<br />
| Geometry Dash clone for 3DS<br />
| [[User:norips|norips]]<br />
| [http://gbatemp.net/threads/wip-geomitty-dash-poor-clone.398609/ Thread]<br />
| [https://github.com/norips/GeomittyDash Git]<br />
|-<br />
| [[Jumping Jack]]<br />
| {{y}}<br />
| Port of the ZX Spectrum game of the same name<br />
| [[User:cebolleto|cebolleto]]<br />
| [https://gbatemp.net/threads/my-first-game-for-the-3ds-jumping-jack.392864/ Thread]<br />
|<br />
|-<br />
| [[OpenSyobon3DS]]<br />
| {{y}}<br />
| Port of Open Syobon Action (Cat Mario).<br />
| [[User:nop90|nop90]]<br />
| [http://gbatemp.net/threads/release-opensyobon3ds-open-syobon-action-a-k-a-cat-mario-for-3ds.423872/ Thread]<br />
| [https://github.com/nop90/OpenSyobon3DS Git]<br />
|-<br />
| [[Robin Hood's Platform Game]]<br />
| {{y}}<br />
| Simple platform game where you play as Robin Hood<br />
| [[User:bayleef|bayleef]]<br />
| [https://gbatemp.net/threads/release-robin-hoods-platform-game.397423/ Thread]<br />
| [https://github.com/esoteric-programmer/robin-hood Git]<br />
|}<br />
<br />
===Puzzle===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[100 Boxes 2DS]]<br />
| {{y}}<br />
| 100 Boxes Puzzle clone for 3DS <br />
| [[User:Cid2Mizard|Cid2Mizard]]<br />
| [http://gbatemp.net/threads/release-100-boxes-2ds.384714/ Thread]<br />
|-<br />
|[[3-Aldchemys]]<br />
| {{y}}<br />
| little alchemy clone for 3DS([http://www.littleaclchemy.com])<br />
| [[User:Gocario|Gocario]]<br />
| [http://gbatemp.net/threads/release-3-aldchemys-little-alchemy-port-for-the-3ds.425549/ Thread]<br />
| [https://github.com/gocario/3-Aldchemys Git]<br />
|-<br />
| [[2048-3D]]<br />
| {{y}}<br />
| 2048 Puzzle game clone<br />
| [[User:MrJPGames|MrJPGames]] (Jasper Peters)<br />
| [https://gbatemp.net/threads/2048-3d-2048-for-3ds.376966/ Thread]<br />
| [https://github.com/MrJPGames/2048-3D Git]<br />
|-<br />
| [[3048]]<br />
| {{n}}<br />
| 2048 Puzzle game clone<br />
| [[User:Mocalacace|Mocalacace]]<br />
| [https://gbatemp.net/threads/homebrew-development.360646/page-79#post-5022487 Post]<br />
| [https://github.com/iamn1ck/3048 Git]<br />
|-<br />
| [[Aperture Science 3D]] (portal3DS)<br />
| {{y}}<br />
| Port of the game Portal<br />
| [[User:Smealum|Smealum]]<br />
| [https://gbatemp.net/threads/portal-3ds-alpha-demo.384680/ Thread] <br />
| [http://www.mediafire.com/download/7f8td9fb1e1zdwy/portal3DS_forHaxx.zip Mediafire]<br />
|-<br />
| [[Bottomless Block Barrage]]<br />
| {{y}}<br />
| Clone of Panel de Pon / Tetris Attack / Pokemon Puzzle League<br />
| [[User:TricksterGuy|TricksterGuy]]<br />
| [https://gbatemp.net/threads/wip-game-bottomless-block-barrage-a-tetris-attack-panel-de-pon-pokemon-puzzle-league-clone.431257/ Thread] <br />
| [https://github.com/TricksterGuy/bottomless-block-barrage Git]<br />
|-<br />
| [[Falling Blocks Watch Out]]<br />
| {{y}}<br />
| Full-featured tetris clone<br />
| [[User:Spaqin|Spaqin]]<br />
| [http://gbatemp.net/threads/release-falling-blocks-watch-out-a-tetris-clone.413291/ Thread]<br />
| [https://github.com/Spaqin/fbwo-3ds Git]<br />
|-<br />
| [[Fill_DS]]<br />
| {{y}}<br />
| Flood It game clone<br />
| [[User:Helreizer543|Helreizer543]]<br />
|<br />
| [https://github.com/helreizerDev/Fillds Git]<br />
|-<br />
| [[Loophole]]<br />
| {{y}}<br />
| Puzzle platformer where you control multiple "players" that can also be used as platforms<br />
| [[User:CKlidify|CKlidify]]<br />
| [https://gbatemp.net/threads/release-loophole-3ds-port.399585/ Thread]<br />
| <br />
|-<br />
| [[Mazed]]<br />
| <br />
| Memory game: escape a maze one room at a time<br />
| [[User:Machina|Machina]]<br />
| [https://gbatemp.net/threads/mazed-game-demo-lua.384131/ Thread]<br />
| <br />
|-<br />
| [[Minesweeper 2DS]]<br />
| {{y}}<br />
| Windows Minesweeper clone <br />
| [[User:Cid2Mizard|Cid2Mizard]]<br />
| [http://gbatemp.net/threads/release-minesweeper-2ds.384185/ Thread]<br />
|<br />
|-<br />
| [[Paddle Puffle 3DS]]<br />
| {{n}}<br />
| Port of [http://puffles.gatuno.mx/ Paddle Puffle]. Hit puffles with your paddle.<br />
| [[User:Peanut42|Peanut42]]<br />
| [https://gbatemp.net/threads/release-paddle-puffle-3ds.392215/ Thread]<br />
| [https://github.com/gatuno/PaddlePuffle3DS Git]<br />
|-<br />
| [[Picroxx!]]<br />
| {{y}}<br />
| Picross homebrew clone<br />
| [[User:Substance12|Substance12]]<br />
| [https://gbatemp.net/threads/picroxx-the-ultimate-picross-clone.412055/ Thread]<br />
| [https://github.com/Substance12/Picroxx Git]<br />
|-<br />
| [[Pixel Shuffle 2DS]]<br />
| {{y}}<br />
| Rearrange the image on the bottom to form the pixelated image on top<br />
| [[User:Cid2Mizard|Cid2Mizard]]<br />
| [https://gbatemp.net/threads/release-pixel-shuffle-2ds.398540/ Thread]<br />
|<br />
|-<br />
| [[Pixel Swap 2DS]]<br />
| {{y}}<br />
| Replicate the pixel image on the top screen on the bottom screen<br />
| [[User:Cid2Mizard|Cid2Mizard]]<br />
| [https://gbatemp.net/threads/release-pixel-swap-2ds.395749/ Thread]<br />
| <br />
|-<br />
| [[Rokoban]]<br />
| {{y}}<br />
| 3-D Sokoban game<br />
| [[User:cebolleto|cebolleto]]<br />
| [http://gbatemp.net/threads/release-rokoban-3ds.408302/ Thread]<br />
| <br />
|-<br />
| [[Sokoban]]<br />
| {{y}}<br />
| Port of [[wikipedia:Sokoban|Sokoban]] puzzle game<br />
| [[User:Landm|Landm]]<br />
| <br />
| [https://github.com/landm2000/sokoban Git]<br />
|-<br />
| [[Super Block Attack]]<br />
| {{y}}<br />
| Tetris clone<br />
| ([[User:pmedia|pmedia]] / [[User:XiIntersection|XiIntersection]])<br />
| <br />
| [https://github.com/pmedia/super-block-attack Git]<br />
|-<br />
| [[TE3DS]]<br />
| {{n}}<br />
| Tetris clone<br />
| [[User:Snailface|Snailface]]<br />
| [https://gbatemp.net/threads/homebrew-development.360646/page-15#post-4899461 Post]<br />
| [https://github.com/nop90/TE3DS_HB Git]<br />
|-<br />
| [[Tetris 3DS]]<br />
| {{y}}<br />
| Port of an SDL game called Falling Blocks aka Tetris (http://www.aaroncox.net/tutorials/arcade/FallingBlocks.html)<br />
| [[User:UltiNaruto|UltiNaruto]]<br />
| [http://gbatemp.net/threads/tetris3ds.397939/ Thread]<br />
| [https://github.com/UltiNaruto/Tetris3DS Git]<br />
|-<br />
| [[Tetronomino 3DS]]<br />
| {{y}}<br />
| Tetris clone, built with [[LövePotion]]<br />
| [[User:CKlidify|CKlidify]]<br />
| [https://gbatemp.net/threads/release-tetronomino-3ds.400160/ Thread]<br />
| <br />
|-<br />
| [[ThinIce 3DS]]<br />
| {{y}}<br />
| Melt all of the ice in a maze<br />
| [[User:Peanut42|Peanut42]]<br />
| [https://gbatemp.net/threads/release-thinice-3ds.396211/ Thread]<br />
| [https://github.com/gatuno/ThinIce3DS Git]<br />
|-<br />
| [[TileMap 2DS]]<br />
| {{y}}<br />
| Port of TileMap for 3DS <br />
| [[User:Cid2Mizard|Cid2Mizard]]<br />
| [https://gbatemp.net/threads/release-tilemap-2ds.386733/ Thread]<br />
|<br />
|-<br />
| [[Tiles 2DS]]<br />
| {{y}}<br />
| Port of "Lights Out" (Android game) for 3DS <br />
| [[User:Cid2Mizard|Cid2Mizard]]<br />
| [https://gbatemp.net/threads/release-tiles-2ds.385796/ Thread]<br />
|<br />
|}<br />
<br />
===Racing===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|}<br />
<br />
===Real-time strategy===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[Insectoid Defense]]<br />
| {{y}}<br />
| Futuristic tower defense game.<br />
| [[User:sgowen|sgowen]]<br />
| <br />
| [https://github.com/GowenGameDevOpenSource/insectoid-defense/tree/master/src/platform/3ds/insectoid-defense Git]<br />
|}<br />
<br />
===Role playing===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[Undertale]] (tech demo)<br />
| <br />
| Undertale port<br />
| [[User:lolzvid|lolzvid]]<br />
| [https://gbatemp.net/threads/wip-undertale-techdemo.404386/ Thread]<br />
| [https://github.com/lolzvid/undertale_techdemo Git]<br />
|-<br />
| [[Zelda OLB 3DS]]<br />
| {{y}} <br />
| Zelda Oni Link Begins<br />
| [[User:nop90|nop90]]<br />
| [https://gbatemp.net/threads/release-zelda-olb-for-3ds.429986/ Thread]<br />
| [https://github.com/nop90/ZeldaOLB Git]<br />
|-<br />
| [[Zelda ROTH 3DS]]<br />
| {{y}}<br />
| Zelda Return of the Hylian<br />
| [[User:nop90|nop90]]<br />
| [https://gbatemp.net/threads/release-zelda-roth-for-3ds.425503/ Thread]<br />
| [https://github.com/nop90/ZeldaROTH Git]<br />
|}<br />
<br />
===Shooter===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[CS3DS]]<br />
| {{y}}<br />
| Port of CSPSP<br />
| [[User:machinamentum|machinamentum]]<br />
| [http://gbatemp.net/threads/cs3ds-cspsp-port.422940/ Thread]<br />
| [https://github.com/machinamentum/CS3DS Git]<br />
|-<br />
| [[ctrHexenII]]<br />
| {{y}}<br />
| Port of Hexen II<br />
| [[User:Rinnegatamante|Rinnegatamante]]<br />
| [https://gbatemp.net/threads/release-ctrhexenii-hexen-ii-porting-for-3ds.415779/ Thread]<br />
| [https://github.com/Rinnegatamante/ctrHexenII Git]<br />
|-<br />
| [[ctrQuake]]<br />
| {{y}}<br />
| Port of [[wikipedia:Quake (Video game)|Quake]]<br />
| [[User:MasterFeizz|MasterFeizz]]<br />
| [https://gbatemp.net/threads/release-ctrquake-quake-1-port.400170/ Thread]<br />
| [https://github.com/masterfeizz/ctrQuake Git]<br />
|-<br />
| [[ctrWolfen]]<br />
| {{y}}<br />
| Port of [[wikipedia:Wolfenstein 3D|Wolfenstein 3D]]<br />
| [[User:Rinnegatamante|Rinnegatamante]]<br />
| [https://gbatemp.net/threads/release-ctrwolfen-wolfenstein-3d-port-for-3ds.406196/ Thread]<br />
| [https://github.com/Rinnegatamante/ctrWolfen Git]<br />
|-<br />
| [[EDuke3D]]<br />
| {{y}}<br />
| Port of EDuke32 (Duke Nukem 3D)<br />
| [[User:MasterFeizz|MasterFeizz]]<br />
| <br />
| [https://github.com/masterfeizz/EDuke3D Git]<br />
|-<br />
| [[EUCLIOD]]<br />
| {{y}}<br />
| Bullet Hell Game<br />
| [[User:HexZyle|HexZyle]]<br />
| [https://gbatemp.net/threads/eucliod-a-homebrew-bullet-hell-for-the-3ds.419553/ Thread]<br />
| <br />
|-<br />
| [[PrBoom3DS]]<br />
| {{y}}<br />
| A 3ds port of Doom<br />
| ported by [[User:elhobbs|elhobbs]]<br />
| [https://gbatemp.net/threads/doom.376939/ Thread]<br />
| [https://github.com/elhobbs/prboom3ds Git]<br />
|-<br />
| [[Spectre3ds]]<br />
| {{y}}<br />
| A 3ds port of Quake<br />
| ported by [[User:elhobbs|elhobbs]]<br />
| <br />
| [https://github.com/elhobbs/spectre3ds Git]<br />
|-<br />
| [[Shoot ya Friend]]<br />
| {{n}}<br />
| Simple 2-player shooter<br />
| [[User:YourNerdyJoe|YourNerdyJoe]]<br />
| [https://gbatemp.net/threads/3ds-homebrew-game-shoot-ya-friend.368898/ Thread]<br />
| [https://github.com/YourNerdyJoe/shootyafriend Git]<br />
|-<br />
| [[yeti3DS]]<br />
| {{y}}<br />
| A 3D FPS<br />
| Ported by [[User:Smealum|Smealum]]<br />
|<br />
| [https://github.com/smealum/yeti3DS Git]<br />
|}<br />
<br />
===Simulation===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[3DS Piano]]<br />
| {{y}}<br />
| A simple 3DS Piano Homebrew. <br />
| [[User:Agent Moose|Agent Moose]]<br />
| [https://gbatemp.net/threads/3ds-piano-homebrew.377088/ Thread]<br />
| Included<br />
|-<br />
| [[Hamsters 2DS]]<br />
| {{y}}<br />
| Hamster breeding game in text mode. <br />
| [[User:Cid2Mizard|Cid2Mizard]]<br />
| [http://gbatemp.net/threads/release-hamsters-2ds.383457/ Thread]<br />
|<br />
|-<br />
| [[World of 3DSand]]<br />
| {{y}}<br />
| World of Sand clone<br />
| [[User:Steveice10|Steveice10]]<br />
| [https://gbatemp.net/threads/homebrew-world-of-3dsand.375318/ Thread]<br />
| [https://github.com/Steveice10/WorldOf3DSand Git]<br />
|}<br />
<br />
===Trivia===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[Fact Crow]]<br />
| {{y}}<br />
| A crow that tells facts for 3DS.<br />
| [[User:TitegtnodI|titegtnodI]]<br />
| [https://gbatemp.net/threads/fact-crow-homebrew.376503/ Thread]<br />
| [https://github.com/titegtnodI/factcrow-3ds Git]<br />
|}<br />
<br />
===Other games===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[2D Side-Scrolling Example]]<br />
| {{y}}<br />
| Simple example of a side-scroller<br />
| [[User:Voxel Studios|Voxel Studios]]<br />
| [https://gbatemp.net/threads/release-wip-2d-side-scrolling-example-in-3d.400017/ Thread]<br />
| <br />
|-<br />
| [[Fibbage3DS]]<br />
| {{y}}<br />
| Party game; create a lie that others believe, while avoiding their own lies<br />
| [[User:LeifEricson|LeifEricson]]<br />
| [https://gbatemp.net/threads/work-in-progress-fibbage3ds-a-party-game-you-can-take-on-the-go.395624/ Thread]<br />
| <br />
|-<br />
| [[PixelRoad]]<br />
| <br />
| Lead a pixel on a tiny road with your stylus. This game is created using LUA language. <br />
| [[User:Rinnegatamante|Rinnegatamante]]<br />
| [https://gbatemp.net/threads/pixelroad-a-stupid-game-hb-to-test-lpp.375292/ Thread]<br />
|<br />
|-<br />
| [[Shooting Watch 3D]]<br />
| {{y}}<br />
| Press buttons as fast as possible. <br />
| [[User:MrJPGames|MrJPGames]]<br />
|<br />
| [https://github.com/MrJPGames/Shooting-Watch-3D Git]<br />
|-<br />
| [[Useless Homebrew 3DS]]<br />
| {{y}}<br />
| This is a port of "Useless homebrew DS", a port of the machine that turns itself off.<br />
| [[User:Technicmaster0|Tcm0]] (FUK-Team)<br />
| [https://gbatemp.net/threads/useless-homebrew.378284/ Thread]<br />
| [http://filetrip.net/dl?hPFRNARscn FileTrip]<br />
|-<br />
| [[WANT3D]]<br />
| {{y}}<br />
| Find the correct face as quick as possible<br />
| [[User:Rinnegatamante|Rinnegatamante]]<br />
| [https://gbatemp.net/threads/release-want3d.398822/ Thread]<br />
| <br />
|}</div>
TricksterGuy
//wiki.gbatemp.net/wiki/List_of_3DS_homebrew_applications?diff=61128
List of 3DS homebrew applications
2016-02-05T07:52:06Z
<p>TricksterGuy: Added 3ds-vgmstream</p>
<hr />
<div><noinclude>{{3DSNav}}__NOTOC__{{Newpagepreload|Template:P/3DS Homebrew}}<br />
<br />
'''NH2''' = Works with Ninjhax 2 / Tubehax / Ironhax / OotHax / SmashbrosHax</noinclude><includeonly><br />
==Applications==<br />
</includeonly><br />
{| class="secondarynav"<br />
| [[#Homebrew Loaders|Homebrew Loaders]]<br />
| [[#Title Launchers|Title Launchers]]<br />
| [[#File Browsers|File Browsers]]<br />
| [[#Math|Math]]<br />
| [[#Media players|Media players]]<br />
| [[#Shells|Shells]]<br />
| [[#System Tools|System Tools]]<br />
| [[#Utilities|Utilities]]<br />
| [[#Other applications|Other applications]]<br />
|}<br />
<br />
===Homebrew Loaders===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[Homebrew Emergency Launcher]]<br />
| {{y}}<br />
| Emergency launcher to be used if no other launchers work<br />
| [[User:mashers|mashers]]<br />
| [https://gbatemp.net/threads/release-homebrew-emergency-launcher.399394/ Thread] <br />
|<br />
|-<br />
| Homebrew Loader<br />
| {{n}}<br />
| ARM9 homebrew<br />
| [[User:kalimero|kalimero]]<br />
| <br />
| <br />
|-<br />
| [[Spider3DSTools]]<br />
| {{n}}<br />
| <br />
| [[User:Yifan Lu|Yifan Lu]]<br />
| [https://gbatemp.net/threads/custom-launcher-spider3dstools-released.379427/ Thread]<br />
|<br />
|-<br />
| [[The Homebrew Launcher]]<br />
| {{y}}<br />
| Official Ninjhax Homebrew Launcher.<br />
* [https://gbatemp.net/threads/homebrew-launcher-with-sorting-and-folder-support.396793/ Mod with sorting and folder support] by [[User:suloku|suloku]]<br />
* [https://gbatemp.net/threads/release-homebrew-launcher-with-grid-layout.397527/ Mod with grid layout] by [[User:mashers|mashers]]<br />
| [[User:Smealum|Smealum]], [[User:GEMISIS|GEMISIS]]<br />
|<br />
|<br />
|}<br />
<br />
===Title Launchers===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[HANS]]<br />
| {{y}}<br />
| Loads games with patches to allow for region free, ROM hacks and screenshots.<br />
| [[User:Smealum|Smealum]]<br />
| <br />
| [https://github.com/smealum/HANS Git]<br />
|-<br />
| [[regionFOUR]]<br />
| {{y}}<br />
| Region free cartridge loader for 3DS/3DSXL/2DS/new3DS on firmware versions 9.0-10.1.<br />
| [[User:Smealum|Smealum]]<br />
| [https://gbatemp.net/threads/regionfour-released-by-smealum.388115/ Thread]<br />
| [https://github.com/smealum/regionFOUR Git]<br />
|-<br />
| [[regionthree]]<br />
| {{n}}<br />
| Region free cartridge loader for 3DS/3DSXL/2DS on firmware versions 4.0-9.5.<br />
| [[User:Smealum|Smealum]]<br />
| [https://gbatemp.net/threads/release-regionthree-region-free-loader-for-3ds-2ds-xl-from-9-0-9-4-sky3ds-users-regionfree.378975/ Thread]<br />
| [https://github.com/smealum/regionthree Git]<br />
|-<br />
| [[Y.A.R.U.]] (Yet Another Regionfree Utility)<br />
| {{n}}<br />
| Region free cartridge loader for Palantine CFW/Emunand <br />
| [[User:Rinnegatamante|Rinnegatamante]]<br />
| [http://gbatemp.net/threads/release-y-a-r-u-regionfree-and-gw-mode-launcher.379675/ Thread]<br />
|<br />
|}<br />
<br />
===File Browsers===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[3DS File Explorer]]<br />
| <br />
| Mount SD card and list files<br />
| [[User:Ernilos|Ernilos]]<br />
| [https://gbatemp.net/threads/homebrew-development.360646/page-83#post-5045023 Post]<br />
| [https://mega.co.nz/#!tR1XhZwL!FHVm6TPD_Y39CM5epoAWEb0kXc_TrxPUuqHxnooVO0k Mega]<br />
|-<br />
| [[CTRXplorer]]<br />
| {{y}}<br />
| An open source SD file manager.<br />
| [[User:d0k3|d0k3]]<br />
| [https://gbatemp.net/threads/release-ctrxplorer-open-source-sd-file-manager.390353/ Thread]<br />
| [https://github.com/d0k3/CTRXplorer/ Git]<br />
|-<br />
| [[ORGANIZ3D]]<br />
| {{y}}<br />
| A simple file browser written in LUA.<br />
| [[User:Rinnegatamante|Rinnegatamante]]<br />
| [https://gbatemp.net/threads/release-organiz3d-filebrowser-for-3ds.377783/ Thread]<br />
|<br />
|-<br />
| [[SDBrowser]]<br />
| {{y}}<br />
| Files lister for 3DS.<br />
| [[User:Lectem|Lectem]]<br />
|<br />
| [https://github.com/Lectem/SDBrowser Git]<br />
|}<br />
<br />
===Math===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| 3DS Binary --> Decimal Converter<br />
| {{y}}<br />
| Converts an entered binary number to its decimal equivalent<br />
| [[User:AlbertoSONIC|AlbertoSONIC]] et al.<br />
| [https://gbatemp.net/threads/homebrew-rev-15-3ds-binary-decimal-converter.374356/ Thread]<br />
| [https://github.com/AlbertoSONIC/3DS_Binary_Decimal_Converter Git]<br />
|-<br />
| Graphing Calculator<br />
| {{y}}<br />
| Graphical calculator.<br />
| [[User:flarn2006|flarn2006]]<br />
| [https://gbatemp.net/threads/release-graphing-calculator.399078/ Thread]<br />
| [https://github.com/flarn2006/GraphCalc3DS/ Git]<br />
|-<br />
| Super Simple Calculator<br />
| {{y}}<br />
| Calculator for simple math operations<br />
| [[User:CKlidify|CKlidify]]<br />
| [https://gbatemp.net/threads/release-super-simple-calculator.399475/ Thread]<br />
|<br />
|-<br />
| Simple Calc<br />
| {{y}}<br />
| Another calculator for simple math operations.<br />
| [[User:GalladeGuy|GalladeGuy]]<br />
| [http://gbatemp.net/threads/simple-calc.401144/ Thread]<br />
| <br />
|}<br />
<br />
===Media players===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[3DSAmnesic]]<br />
| {{y}}<br />
| Video player (<abbr title="Proof of concept">POC</abbr>)<br />
| [[User:Lectem|Lectem]]<br />
| [https://gbatemp.net/threads/release-3damnesic-a-poc-video-player.396184/ Thread]<br />
| [https://github.com/Lectem/3Damnesic Git]<br />
|-<br />
| [[3DSurfer]]<br />
| <br />
| Wav player, written with LPP.<br />
| [[User:Rinnegatamante|Rinnegatamante]]<br />
| [https://gbatemp.net/threads/release-3dsurfer-wav-audioplayer-for-3ds.377647/ Thread]<br />
|<br />
|-<br />
| [[CTR Streaming Server]]<br />
| <br />
| A 3DS homebrew audio/video playback server. <br />
| [[User:yellows8|yellows8]]<br />
|<br />
| [https://github.com/yellows8/ctr-streaming-server Git]<br />
|<br />
|-<br />
| [[3ds-vgmstream]]<br />
|<br />
| A port of vgmstream for the 3ds with a simple text based player<br />
| [[User:TricksterGuy|TricksterGuy]]<br />
| [https://gbatemp.net/threads/wip-3ds-vgmstream-new-audio-player-port-of-vgmstream.413755/ Thread]<br />
| [https://github.com/TricksterGuy/3ds-vgmstream Git]<br />
|}<br />
<br />
===Shells===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[Sunshell]]<br />
| {{y}}<br />
| Multifunction shell written in LUA. Contains a variety of useful tools including an SD file manager, extdata dump/restore tool, and media players.<br />
| [[User:Rinnegatamante|Rinnegatamante]]<br />
| [http://gbatemp.net/threads/release-sunshell-a-powerfull-shell-for-3ds.382483/ Thread]<br />
| [https://github.com/Rinnegatamante/Sunshell Git]<br />
|}<br />
<br />
===System Tools===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[3DS Homemenu ExtdataTool]]<br />
| {{y}}<br />
| Nintendo 3DS homebrew application for accessing SD extdata used by Home Menu. <br />
| [[User:Yellows8|yellows8]]<br />
| <br />
| [https://github.com/yellows8/3ds_homemenu_extdatatool Git]<br />
|-<br />
| 3DS Ram Dumper<br />
| <br />
| Dump RAM to file<br />
| [[User:Palantine|Palantine]]<br />
| <br />
| <br />
|-<br />
| BigBlueMenu<br />
| {{n}}<br />
| Improved version of DevMenu. No link provided here.<br />
| [[User:BigBlueBox|BigBlueBox]]<br />
| <br />
| &mdash;<br />
|-<br />
| [[Big Red Menu]]<br />
| {{n}}<br />
| Used to manage installed cia files on NAND. <br />
| [[User:Rinnegatamante|Rinnegatamante]]<br />
| [https://gbatemp.net/threads/big-red-menu-legal-cia-installer-uninstaller.379061/ Thread]<br />
|<br />
|-<br />
| [[braindump]]<br />
| {{y}}<br />
| Dump decrypted contents (both ExeFS and RomFS) of any 3DS game.<br />
| [[User:neobrain|neobrain]]<br />
| [https://gbatemp.net/threads/braindump-prerelease-dump-game-contents-on-any-system-version.400920/ Thread]<br />
| [https://github.com/neobrain/braindump/ Git]<br />
|-<br />
| CoinSetter<br />
| {{n}}<br />
| Official SDK Tool. No link provided here. Set the amount of play coins. <br />
| Nintendo<br />
|<br />
| &mdash;<br />
|-<br />
| [[Custom Home Menu Manager]] 2 (CHMM2)<br />
| {{y}}<br />
| Allows viewing and changing of custom Home menu themes.<br />
| [[User:Rinnegatamante|Rinnegatamante]]<br />
| [https://gbatemp.net/threads/chmm-custom-homemenu-manager.379349/ 1.0] [https://gbatemp.net/threads/release-chmm2-custom-home-menu-manager-2.397543/ 2.0]<br />
| [https://github.com/Rinnegatamante/CHMM2 Git]<br />
|-<br />
| DevMenu<br />
| {{n}}<br />
| Official SDK tool. No link provided here. Used to manage installed cia files on NAND.<br />
| Nintendo<br />
|<br />
| &mdash;<br />
|-<br />
| [[Diagnos3]]<br />
| {{y}}<br />
| Check the functionailty of your 3DS.<br />
| [[User:Technicmaster0|Tcm0]] (FUK-Team)<br />
| [https://gbatemp.net/threads/release-diagnos3.389435/ Thread]<br />
|<br />
|-<br />
| [[EmuNAND9]]<br />
| <br />
| EmuNAND SD formatter & manager<br />
| [[User:d0k3|d0k3]]<br />
| [https://gbatemp.net/threads/release-emunand9tool-open-source-emunand-formatter-manager.405921/ Thread]<br />
| [https://github.com/d0k3/EmuNAND9 Git]<br />
|-<br />
| [[eShop Music Changer]]<br />
| {{y}}<br />
| Change the Nintendo eShop background music<br />
| [[User:Ptrk25|Ptrk25]]<br />
| [https://gbatemp.net/threads/release-eshop-music-changer.404945/ Thread]<br />
| [https://github.com/Ptrk25/eshopMusicChanger Git]<br />
|-<br />
| [[Extdata dump]]<br />
| {{y}}<br />
| Dump, edit and restore Extra Data stored on SD Card. <br />
| [[User:MrCheeze|MrCheeze]]<br />
| [https://gbatemp.net/threads/3ds-extdata-dump-and-restore-tool-extra-data-editing.378492/ Thread]<br />
|<br />
|-<br />
| [[FBI]]<br />
| {{y}}<br />
| CIA Installer<br />
| [[User:Steveice10|Steveice10]]<br />
| [https://gbatemp.net/threads/release-fbi-open-source-cia-installer.386433/ Thread]<br />
| [https://github.com/Steveice10/FBI Git]<br />
|-<br />
| FCRamDump<br />
| <br />
| Dump RAM to file<br />
| [[User:Kane49|Kane49]]<br />
|<br />
|<br />
|-<br />
| [[GYTB]]<br />
| {{y}}<br />
| Add custom badged to your 3DS<br />
| [[User:MrCheeze|MrCheeze]]<br />
| [https://gbatemp.net/threads/release-gytb-custom-badges-made-really-really-simple.404355/ Thread]<br />
| <br />
|-<br />
| HexDump<br />
|<br />
| Display RAM dump on screen as hex value<br />
| [[User:Ernilos|Ernilos]]<br />
|<br />
|<br />
|-<br />
| [[JK3DSTool]]<br />
| {{y}}<br />
| User friendly save manger for quick and easy save swaping.<br />
| [[User:JK_|JK_]]<br />
| [https://gbatemp.net/threads/request-more-user-friendly-save-manger-for-quick-and-easy-save-swaping.402197/#post-5796509 Thread]<br />
| <br />
|-<br />
| [[NASA]]<br />
| {{y}}<br />
| Universal CIA manager for firmware 4.1 - 10.3<br />
| [[User:Rinnegatamante|Rinnegatamante]]<br />
| [http://gbatemp.net/threads/release-nasa-universal-cia-manager-for-fw-4-1-10-3.409806/ Thread]<br />
|<br />
|-<br />
| NVRAM Flash Manager<br />
| {{n}}<br />
| Wifi NVRAM/SPI Flash dumper/restorer <br />
| [[User:Rinnegatamante|Rinnegatamante]]<br />
| [http://gbatemp.net/threads/release-nvram-flash-manager.383838/ Thread]<br />
|<br />
|-<br />
| [[Playcoin]]<br />
| {{y}}<br />
| Allows modifying the 3DS Play Coin counter, for Ninjhax/3dsx users. <br />
| [[User:MrCheeze|MrCheeze]]<br />
|<br />
| [https://github.com/MrCheeze/playcoin Git]<br />
|-<br />
| RAM Dumping<br />
| <br />
| Dump RAM to file.<br />
| [[User:Fierce Waffle|Fierce Waffle]]<br />
|<br />
|<br />
|-<br />
| SaveDataFiler<br />
| {{n}}<br />
| Official SDK Tool. No link provided here. Edit save data.<br />
| Nintendo<br />
|<br />
| &mdash;<br />
|-<br />
| [[save_manager]]<br />
| {{y}}<br />
| Manage save files.<br />
| [[User:profi200|profi200]]<br />
| [https://gbatemp.net/threads/save-data-manager-and-editor-for-firmware-up-to-9-9.396245/ Thread]<br />
| <br />
|-<br />
| [[SOON!]] (Super cOOl iNstaller!)<br />
| {{n}}<br />
| Very easy to use automatic CIA-Installer<br />
| [[User:Chelsea_Fantasy|Chelsea_Fantasy]]<br />
| [https://gbatemp.net/threads/soon-super-cool-installer-a-new-cool-legal-open-source-cia-installer.387268/ Thread]<br />
| <br />
|-<br />
| [[svdt]]<br />
| {{y}}<br />
| Manage save files.<br />
| [[User:meladroit|meladroit]]<br />
| [https://gbatemp.net/threads/svdt-save-data-explorer-manager.396562/ Thread]<br />
| [https://github.com/meladroit/svdt/ Git]<br />
| <br />
|-<br />
| [[UpdateSupresser]]<br />
| {{y}}<br />
| Removes update nag<br />
| [[User:Giantblargg|Giantblargg]]<br />
| [https://gbatemp.net/threads/release-updatesuppressor.404416/ Thread]<br />
| [https://github.com/GiantBlargg/UpdateSuppressor Git]<br />
|}<br />
<br />
===Utilities===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[3DSController]]<br />
| {{y}}<br />
| Use your 3DS console as Windows controller (sends data to keyboard, joypad and mouse).<br />
| [[User:CTurt|CTurt]]<br />
| [https://gbatemp.net/threads/3ds-controller.375443/ Thread]<br />
| [https://github.com/CTurt/3DSController Git]<br />
|-<br />
| [[3DS Homebrew Browser]]<br />
| {{n}}<br />
| Browse and install homebrew directly from your 3DS.<br />
| [[User:cromo|cromo]] and [[User:Zeta0134|Zeta0134]]<br />
|<br />
| [https://github.com/zeta0134/3ds-homebrew-browser Git]<br />
|-<br />
| [[3DS Motion]]<br />
| {{y}}<br />
| 3DS Paint with added Stop-Motion animation support<br />
| [[User:norips|norips]]<br />
| [https://gbatemp.net/threads/beta-release-3ds_motion.403358/ Thread]<br />
| [https://github.com/norips/3DS_Motion/releases Git]<br />
|-<br />
| [[3DS Multi Decryptor]]<br />
| {{n}}<br />
| Decrypts and creates XORPads for game's ROM files and SD card files. (Previously named 3DS CTR Decryptor)<br />
| Team VOiD ([[User:sbJFn5r|sbJFn5r]], [[User:relys|relys]], [[User:xerpi|xerpi]])<br />
|<br />
| [https://github.com/Relys/3DS_Multi_Decryptor Git]<br />
|-<br />
| [[3DS Paint]]<br />
| <br />
| Drawing program<br />
| [[User:AlbertoSONIC|AlbertoSONIC]]<br />
| [https://gbatemp.net/threads/homebrew-3ds-paint.374473/ Thread]<br />
| [https://github.com/AlbertoSONIC/3DS_Paint Git]<br />
|-<br />
| [[3DS Remote Desktop]]<br />
| <br />
| Stream Windows computer's screen to 3DS and send 3DS input to Windows. <br />
| [[User:Retrozelda|Retrozelda]]<br />
| [https://gbatemp.net/threads/3ds-remote-desktop.381646/ Thread]<br />
|<br />
|-<br />
| [[3DS Quick Shutdown]]<br />
| {{y}}<br />
| Shut down your 3DS<br />
| [[User:daxtsu|daxtsu]]<br />
| [https://gbatemp.net/threads/release-3ds-quick-shutdown.399981/ Thread]<br />
| [https://github.com/thedax/3DS_Quick_Shutdown Git]<br />
|-<br />
| [[3DS Wifi Toggle]]<br />
| {{y}}<br />
| Turn Wifi on or off<br />
| [[User:daxtsu|daxtsu]]<br />
| [https://gbatemp.net/threads/release-wifi-toggle.400018/ Thread]<br />
| [https://github.com/thedax/3DS_Wifi_Toggle Git]<br />
|-<br />
| [[3DText]]<br />
| <br />
| Simple text file viewer.<br />
| [[User:DarkFlare69|DarkFlare69]]<br />
| [https://gbatemp.net/threads/3dtext-text-viewer-for-3ds.377963/ Thread]<br />
| [https://github.com/DarkFlare69/3DText Git]<br />
|-<br />
| [[Alarm Clock]]<br />
| {{y}}<br />
| A basic alarm clock<br />
| [[User:730|730]]<br />
| [https://gbatemp.net/threads/release-alarm-clock.397624/ Thread]<br />
| Included<br />
|-<br />
| [[BMP Loader]]<br />
| <br />
| Load a specific converted BMP format.<br />
| [[User:Ernilos|Ernilos]]<br />
| [https://gbatemp.net/threads/homebrew-development.360646/page-38#post-4923633 Post]<br />
| <br />
|-<br />
| [[Checkmii]]<br />
| {{y}}<br />
| Checks what buttons are pressed<br />
| [[User:Darkrevol|Darkrevol]]<br />
| [https://gbatemp.net/threads/release-checkmii.395575/ Thread]<br />
| <br />
|-<br />
| [[Decrypt9]]<br />
| {{y}}<br />
| Decryption and dumping tools (XORpad) 9.2 and below<br />
| [[User:Archshift|Archshift]], [[User:d0k3|d0k3]], [[User:Shadowtrance|Shadowtrance]]<br />
| [https://gbatemp.net/threads/download-decrypt9-wip-3dsx-launcher-dat.388831/ Thread]<br />
| [https://github.com/archshift/Decrypt9 Git] [https://github.com/d0k3/Decrypt9 Git] [https://github.com/Shadowtrance/Decrypt9 Git]<br />
|-<br />
| [[DownloadMii]]<br />
| {{n}}<br />
| Dicontinued. Browse and install homebrew directly from your 3DS.<br />
| [[User:filfat|filfat]]<br />
| [https://gbatemp.net/threads/released-downloadmii-a-homebrew-online-marketplace.374759/ Thread]<br />
| [https://github.com/DownloadMii/DownloadMii Git]<br />
|-<br />
| [[edpJoy3DS]]<br />
| {{y}} <br />
| edpJoy client for 3DS <br />
| [[User:edicpop|edicpop]]<br />
| [https://gbatemp.net/threads/homebrew-edpjoy3ds.392968/ Thread]<br />
|<br />
|-<br />
| [[Fake Brick]]<br />
| {{n}}<br />
| Shows a fake brick screen<br />
| [[User:flarn2006|flarn2006]]<br />
| [https://gbatemp.net/threads/release-fake-brick.380080/ Thread]<br />
| <br />
|-<br />
| [[fb43ds]]<br />
| {{y}}<br />
| Facebook's chat Client.<br />
| Lino Maglione ([[User:jocopoco|jocopoco]])<br />
| [https://gbatemp.net/threads/fb43ds-facebooks-client-for-nintendo-3ds.377030/ Thread]<br />
| [https://github.com/linoma/fb43ds Git]<br />
|-<br />
| [[Font Viewer]]<br />
| {{y}}<br />
| View fonts from your SD card<br />
| [[User:Jwiz33|Jwiz33]]<br />
| [https://gbatemp.net/threads/release-font-viewer-tester.396145/ Thread]<br />
| <br />
|-<br />
| [[For Anyone Who Walks A Lot]]<br />
| {{y}}<br />
| Awards play coins for steps beyond 1000<br />
| [[User:iamevn|iamevn]]<br />
| [https://gbatemp.net/threads/release-for-anyone-who-walks-a-lot.395152/ Thread]<br />
| [https://github.com/iamevn/for-anyone-who-walks-a-lot Git]<br />
|-<br />
| [[ftbrony]]<br />
| {{y}}<br />
| FTP Server (My Little Pony themed)<br />
| [[User:mtheall|mtheall]]<br />
| [https://gbatemp.net/threads/ftp-server-ftbrony-by-mtheall.375254/ Thread]<br />
| [https://github.com/mtheall/ftbrony Git]<br />
|-<br />
| [[FTP-3DS]]<br />
| {{y}}<br />
| Fork of ftbrony that is Nintendo themed<br />
| [[User:iamevn|iamevn]]<br />
| [https://gbatemp.net/threads/release-ftp-3ds.395195/ Thread]<br />
| [https://github.com/iamevn/FTP-3DS/ Git]<br />
|-<br />
| [[ftpony]]<br />
| {{y}}<br />
| FTP Server<br />
| [[User:Smealum|Smealum]]<br />
|<br />
| [https://github.com/smealum/ftpony Git]<br />
|-<br />
| [[MapleIRC]]<br />
| {{y}} <br />
| IRC Client<br />
| [[User:titegtnodI|titegtnodI]]<br />
| [https://gbatemp.net/threads/mapleirc-homebrew.376649/ Thread]<br />
|<br />
|-<br />
| [[NinjaCam]]<br />
| {{y}}<br />
| Camera without shutter sound<br />
| [[User:Rinnegatamante|Rinnegatamante]]<br />
| [https://gbatemp.net/threads/release-ninjacam.405181/ Thread]<br />
| <br />
|-<br />
| [[PCHex]]<br />
| {{y}}<br />
| PKHex (Pokémon save editor) in homebrew form<br />
| [[User:Stracker|Stracker]]<br />
| [https://gbatemp.net/threads/pchex-homebrew-pkhex.397565/ Thread]<br />
| [https://github.com/Strackeror/PCHex Git]<br />
|-<br />
| [[PCHex++]]<br />
| {{y}}<br />
| PCHex rewritten in C++ and with a GUI<br />
| [[User:Slashcash|Slashcash]]<br />
| [https://gbatemp.net/threads/wip-pchex-pchex-with-its-own-gui.405302/ Thread]<br />
| [https://github.com/Slashcash/PCHex-plusplus Git]<br />
|-<br />
| [[PHBank]]<br />
| {{y}}<br />
| Pokémon Homebrew Bank<br />
| [[User:Gocario|Gocario]]<br />
| [https://gbatemp.net/threads/wip-phbank-pok%C3%A9mon-homebrew-bank.398718/ Thread]<br />
|<br />
|-<br />
| [[Quick Reboot]]<br />
| {{y}}<br />
| Reboots the Nintendo 3DS console.<br />
| [[User:AlbertoSONIC|AlbertoSONIC]]<br />
| [https://gbatemp.net/threads/homebrew-quick-reboot-cfw-gateway-ninjhax.379101/ Thread]<br />
| [https://github.com/AlbertoSONIC/3DS_Quick_Reboot Git]<br />
|-<br />
| [[screenshot-merge]]<br />
| {{y}}<br />
| Merges screenshots taken with ninjhax 2.5 or NTR CFW<br />
| [[User:ihaveamac|ihaveamac]]<br />
| [https://gbatemp.net/threads/screenshot-merge-merge-split-screenshots-right-on-the-3ds.405412/ Thread]<br />
| [https://github.com/ihaveamac/screenshot-merge Git]<br />
|-<br />
| [[SmashBrosDummy]]<br />
| <br />
| A dummy application that simply exits as soon as it can. Used to exit increased memory mode from games like Super Smash Bros. and Monster Hunter.<br />
| [[User:daxtsu|daxtsu]]<br />
| [https://gbatemp.net/threads/release-smash-bros-monster-hunter-4-rebooter.379394/ Thread]<br />
| [https://github.com/thedax/3ds-smash-dummy Git]<br />
|}<br />
<br />
===Other applications===<br />
{| class="prettytable sortable" style="width:100%"<br />
! style="width:25%" | Title<br />
! style="width:1%" | NH2<br />
! class="unsortable" | Description<br />
! style="width:20%" | Author<br />
! class="unsortable" style="width:8%" | Thread<br />
! class="unsortable" style="width:8%" | Source<br />
|-<br />
| [[3DS Linux loader]]<br />
| {{y}}<br />
| Boots Linux<br />
| [[User:xerpi|xerpi]]<br />
| [https://gbatemp.net/threads/release-linux-for-the-3ds.407187/ Thread]<br />
| [https://github.com/xerpi/3DS-Linux-Loader Git]<br />
|-<br />
| [[3DS Nyan Cat]]<br />
| {{y}}<br />
| 3DS Nyan Cat using LIBSF2D. <br />
| [[User:markwinap|markwinap]]<br />
| [https://gbatemp.net/threads/release-non-stop-nyan-cat-smile-please.387427/ Thread]<br />
|<br />
|-<br />
| [[Bird Whisperer]]<br />
| {{y}}<br />
| Notification center, built with Lua<br />
| [[User:ElyosOfTheAbyss|ElyosOfTheAbyss]]<br />
| [https://gbatemp.net/threads/release-bird-whisperer-a-notification-creater.404669/ Thread]<br />
| <br />
|-<br />
| [[ctrµLua]]<br />
| {{y}}<br />
| Lua interpreter for 3DS, part of [http://microlua.xooit.fr/index.php µLua]<br />
| [[User:Firew0lf|Firew0lf]], [[User:Reuh|Reuh]], [[User:Negi|Negi]]<br />
| <br />
| [https://github.com/Firew0lf/ctruLua Git]<br />
|-<br />
| DDexter<br />
| {{y}}<br />
| Pokedex application for 3DS<br />
| [[User:ddraco|ddraco]]<br />
| [https://gbatemp.net/threads/release-ddexter-the-pokedex-without-the-poke-but-with-an-extra-d.399740/ Thread]<br />
| [https://github.com/ddraco/DDexter Git]<br />
|-<br />
| [[Dice 3DS]]<br />
| {{y}}<br />
| Roll some dice<br />
| [[User:keanutah|keanutah]]<br />
| [https://gbatemp.net/threads/release-dice-3ds-roll-some-dice-pretty-straightforward.400086/ Thread]<br />
| <br />
|-<br />
| [[Koopa Cruiser]] (WIP)<br />
| {{y}}<br />
| Web Browser<br />
| [[User:jsa|jsa]]<br />
| [https://gbatemp.net/threads/wip-koopa-cruiser-a-basic-homebrew-web-browser.403811/ Thread]<br />
| [https://github.com/thejsa/koopacruiser Git]<br />
|-<br />
| [[Lua Player Plus]]<br />
| {{y}}<br />
| Lua interpreter for 3DS, port from PSP Lua Player Plus.<br />
| [[User:Rinnegatamante|Rinnegatamante]] & [[User:_Nanni|_Nanni]]<br />
| [https://gbatemp.net/threads/w-i-p-lua-player-plus-first-lua-interpreter-for-3ds.374770/ Thread]<br />
| [https://github.com/Rinnegatamante/lpp-3ds Git]<br />
|<br />
|-<br />
| [[Manga Reader]]<br />
| {{y}}<br />
| Manga/Comics Reader for 3DS<br />
| [[User:MyLegGuy|MyLegGuy]]<br />
| [https://gbatemp.net/threads/release-manga-reader.399276/ Thread]<br />
| <br />
|-<br />
| Pictochat3D<br />
| {{y}}<br />
| Pictochat clone for 3DS <br />
| [[User:Tjessx|Tjessx]]<br />
| [https://gbatemp.net/threads/wip-pictochat3d-ninjhax.389600/ Thread]<br />
|<br />
|-<br />
| [[VN3DS]]<br />
| {{y}}<br />
| Visual Novel Interpreter<br />
| [[User:dfsa3fdvc1|dfsa3fdvc1]]<br />
| [https://gbatemp.net/threads/w-i-p-vn3ds-visual-novel-interpreter-for-3ds-homebrew.396564/ Thread]<br />
| <br />
|}</div>
TricksterGuy
//wiki.gbatemp.net/wiki/3DS_Homebrew_Development?diff=61104
3DS Homebrew Development
2016-01-28T06:02:21Z
<p>TricksterGuy: Added Code::Blocks instructions</p>
<hr />
<div>{{3DSNav}}<br />
<br />
This page contains general information for 3DS Homebrew developers.<br />
<br />
If you have any questions, you can come to GBAtemp's main [http://gbatemp.net/threads/homebrew-development.360646/ homebrew development and help thread]. It contains shared sources, examples and libraries.<br />
<br />
You can find all known resources (hardware registers, syscalls, utilities) to develop your homebrew on [http://3dbrew.org 3dbrew].<br />
<br />
To develop 3DS homebrew you need a development environment consisting of tools, scripts and libraries which will be detailed below. The sources are compiled to binary using GNU GCC-ARM or devkitPro with devkitARM. The available tools and SDK work on Windows 32/64bit and Linux.<br />
<br />
The languages used to write homebrew are [[wikipedia:C (programming language)|C]], [[wikipedia:C++|C++]] and occasionally [[wikipedia:Assembly language|ASM]]. There are various online tutorials and books available to learn these languages.<br /><br />
Alternatively, you can also write homebrew in [[wikipedia:Lua (programming language)|Lua]] by using [[Lua Player Plus]].<br />
<br />
== Install devkitPro w/ devkitARM ==<br />
DevkitPro is an essential set of toolchains for homebrew development.<br />
<br />
=== Windows ===<br />
Use the [http://sourceforge.net/projects/devkitpro/files/Automated%20Installer/ automated-installer]. Install in C:\devkitPro\ and it will install all the latest versions of the required programs (you can disable devkitPSP, but be sure to enable libctru in DevkitARM menu). It will create the environment variables automatically.<br />
<br />
=== Linux / Mac OSX ===<br />
1) Download the [http://sourceforge.net/projects/devkitpro/files/Automated%20Installer/devkitARMupdate.pl/download devkitPro perl script]<br />
<br />
2) Open a terminal and execute these commands:<br />
cd /path/to/the/script<br />
chmod +x devkitARMupdate.pl<br />
sudo ./devkitARMupdate.pl /opt/devkitPro<br />
echo "export DEVKITPRO=/opt/devkitPro" >> ~/.bashrc<br />
echo "export DEVKITARM=\$DEVKITPRO/devkitARM" >> ~/.bashrc<br />
echo "export PATH=\$PATH:\$DEVKITARM/bin" >> ~/.bashrc<br />
source ~/.bashrc<br />
<br />
=== Install libraries ===<br />
You may want to install various [[List of 3DS development tools#Libraries and tools|libraries/tools]] if your project requires them.<br />
<br />
== Compiling sources ==<br />
If you simply want to compile a homebrew project without (or after) editing it, you can use the <code>make</code> utility from the command prompt/terminal.<br />
<br />
1) Windows: Open a Command Prompt (Run -> cmd); Linux/Mac OSX: Open a Terminal from your applications<br />
<br />
2) Navigate to the project directory (change to the correct path)<br />
cd c:\path\to\your\project<br />
<br />
3) Run make<br />
make<br />
<br />
If you ever want to remove the compiled files, you can use this command:<br />
make clean<br />
<br />
This is often needed when re-compiling a project.<br />
<br />
=== Troubleshooting ===<br />
It is possible that sometimes your project will not compile. This can have various causes, for example missing libraries. In order to find out the problem, look into the output for the lines that start with "<code>error:</code>"; those will tell you what the problem is. You can ignore the warnings, they do not cause the compilation to fail.<br />
<br />
If the output is big, you can filter it:<br />
make | grep error<br />
<br />
If you can't figure out what's wrong, feel free to make a post [https://gbatemp.net/threads/homebrew-development.360646/ on the forums] about it. Make sure to post ''all'' of the error output. <br />
<br />
Windows Tip: To copy from your command prompt, right click and choose Mark. Then select the text to copy and press the Enter key.<br />
<br />
==== Common errors ====<br />
;cannot find 3dsx_crt0.o&#58; No such file or directory<br />
:In your makefile, find <code>-mfloat-abi=softfp</code> and change it to <code>-mfloat-abi=hard</code>. You shouldn't ever use <code>softfp</code> for 3DS homebrew.<br />
<br />
;(name) uses VFP register arguments but (name2) does not<br />
:Part of your project or the libraries you use were compiled with <code>-mfloat-abi=softfp</code> while other parts were compiled with <code>-mfloat-abi=hard</code>. Make sure to use <code>-mfloat-abi=hard</code> everywhere. You may have to manually recompile the libraries you use, if needed.<br />
<br />
;(command) is not recognized as an internal or external command...<br />
:Your PATH environment variable is not set up correctly. It should contain the msys folder in your devkitPro installation path (eg. <code>C:\devkitPro\msys</code>). Edit your PATH environment variable and make sure it includes this directory. If the command is <code>python</code>, make sure the python install directory (eg. <code>C:\PythonXX</code>, where XX is the version you installed) is in your PATH as well.<br />
<br />
;unknown field 'rmdir_r' specified in initializer<br />
:Your devkitARM is out of date. Rerun the installer or script.<br />
<br />
== SMDH ==<br />
Every homebrew application has an smdh file, containing additional information:<br />
* Icon<br />
* Name of the application (Short description)<br />
* Description of the application (Long description)<br />
* Name of the author (Publisher)<br />
This information is used in [[The Homebrew Launcher]] (3DSX), and in the home menu (3DS/CIA).<br />
<br />
The icon is a simple 48x48px png file. You can place this png in your project folder (the same folder as your Makefile is in) and name it icon.png. If no icon.png is present, a default icon from the ctrulib folder will be used.<br />
<br />
The other data can be set in the Makefile directly:<br />
APP_TITLE := My Application <br />
APP_DESCRIPTION := A description of my app<br />
APP_AUTHOR := Me<br />
<br />
The SMDH file is automatically created when building the project (unless you explicitly set NO_SMDH in the Makefile).<br />
<br />
You can also manually build the SMDH using [[bannertool]] by [[User:steveice10|steveice10]]:<br />
bannertool makesmdh -s "My application" -l "A description of my app" -p "Me" -i icon.png -o myapplication.smdh<br />
<br />
== Editor setup ==<br />
This section explains how to set up various editors to edit and compile (existing) homebrew projects. If you want to start a new homebrew project, you should preferably copy an example project and edit the sources.<br />
<br />
Note that this section lists only the more advanced editors which have features such as code auto-completion. You can use any text editor to edit the source files and compile as detailed above. You should however use a proper code editor (aka not notepad). Some examples are [https://notepad-plus-plus.org/ Notepad++], [http://www.sublimetext.com/ Sublime Text], [http://www.vim.org/ vim], and [https://www.gnu.org/software/emacs/ Emacs].<br />
<br />
=== Programmers Notepad ===<br />
The Programmers Notepad is (optionally) installed by the devkitPro installer.<br />
<br />
1) File -> New -> Project<br /><br />
Give it a name and save anywhere.<br />
<br />
2) Right click the project -> Add Files<br /><br />
Now navigate to the example you want and add the files from that folder (eg. Makefile, readme.md, ...)<br />
<br />
3) Right click the project -> Add Magic Folder<br /><br />
Navigate to the example directory again and add the source folder within. Repeat this for any other folders in the example (if any).<br />
<br />
4) You can build the project using Tools -> Make<br /><br />
Make sure the project you want to build is the active project (Right click project -> active project)<br />
<br />
=== Visual Studio 2015 (community) ===<br />
When installing Visual Studio, make sure to install the Visual C++ packages!<br />
<br />
1) File -> New -> Project From Existing Code...<br />
<br />
2) In the dropdown, choose Visual C++ and click Next<br />
<br />
3) Under Project file location, navigate to the folder with all sources. Enter a name for the project and click next.<br />
<br />
4) Use external build system, Next<br />
<br />
5) Build command line:<br />
make<br />
<br />
Clean command line:<br />
make clean<br />
<br />
Leave the rest blank. Click Finish.<br />
<br />
6) Right click project (in the solution explorer) -> properties<br />
<br />
7) Under VC++ directories -> General -> Include directories, add the devkitARM and ctrulib include directories (change if needed):<br />
C:\devkitPro\devkitARM\include<br />
C:\devkitPro\libctru\include<br />
<br />
Make sure not to remove anything already in the box! You can add any other include folder that the project may need as well. In the end it'll read something like:<br />
C:\devkitPro\devkitARM\include;C:\devkitPro\libctru\include;$(IncludePath)<br />
<br />
Click OK<br />
<br />
8) (Optional) Right click project -> Add -> Existing Item<br /><br />
Choose the Makefile and any other files you want to add, then click Add. This step isn't required, but allows you to edit the Makefile etc. from the editor.<br />
<br />
Alternatively, you can use "Show All Files" under the "Project" menu (on the top) to display all files and folders as they are on the file system.<br />
<br />
9) You can now build the project (Right click -> Build)<br />
<br />
=== Eclipse CDT ===<br />
Tested with the standalone Eclipse Mars CDT on Linux. Instructions may be slightly different for other cases.<br />
<br />
1) File -> New -> Makefile Project with Existing Code<br />
<br />
2) Under Existing Code Location, navigate to the folder containing the code.<br /><br />
You can leave both C and C++ checked, even if the project only contains one.<br /><br />
Under Toolchain for Indexer Settings, choose a valid Toolchain (eg. Linux GCC)<br />
<br />
3) Right click the Project in the project explorer and choose properties.<br />
<br />
4) Go to C/C++ Build -> Environment.<br /><br />
Here you need to add the DEVKITPRO and DEVKITARM variables, with their correct paths, eg.<br />
{| class="wikitable"<br />
!Name<br />
!Value<br />
|-<br />
|<code>DEVKITPRO</code><br />
|<code>/opt/devkitPro</code><br />
|-<br />
|<code>DEVKITARM</code><br />
|<code>/opt/devkitPro/devkitARM</code><br />
|}<br />
<br />
Make sure to change the values to the paths on your system.<br />
<br />
5) This step isn't needed to build, but it will make Eclipse recognize the external libraries when editing code.<br />
Go to C/C++ General -> Paths & Symbols -> Includes<br /><br />
Under "GNU C" (or "GNU C++", or both, depending on what files your project has), add the following include directories:<br />
/opt/devkitPro/devkitARM/include<br />
/opt/devkitPro/libctru/include<br />
<br />
Again, change the paths if needed. When finished, click OK.<br />
<br />
6) You can now build the project. Right click project -> Build project<br />
<br />
=== Code::Blocks ===<br />
This premade project can be used as a base https://github.com/TricksterGuy/3ds-template<br />
<br />
1) Open the project within Code::Blocks<br /><br />
2) Choose File > Save project as template, and choose a name for the template<br /><br />
3) When creating a new project, choose File > New > From template...<br /><br />
4) In the dialog select the template you created in 2)<br /><br />
5) Choose a directory to put the project<br /><br />
6) To build the 3dsx file choose target 3dsx and click the build (gear) button<br /><br />
7) To build and run your homebrew in citra choose the citra target and hit the build button (only works if citra is installed and in your PATH).<br /><br />
<br />
== 3dsx homebrew ==<br />
Homebrew in this format is the most common, and can be played with ninjhax/ironhax/tubehax. No additional steps have to be taken to create this kind of homebrew; it is the default format produced when using <code>make</code>.<br />
<br />
The ctrulib folder contains homebrew examples: https://github.com/smealum/ctrulib/tree/master/examples<br />
<br />
== 3ds/cia homebrew ==<br />
If you don't need Kernel access, prefer developing homebrew in 3dsx format.<br />
<br />
After building the project (see above), you should have an .elf file. You can convert this into a .3ds/.cia file with makerom:<br />
* Download [http://3dbrew.org/wiki/Makerom makerom] (and compile it with <code>make</code> if needed)<br />
* Add the folder where you placed the makerom executable to your PATH environment variable<br />
<br />
To create a .3ds or .cia file, you need some additional files in your project:<br />
* An RSF file - Contains various info such as permissions etc. ('''TODO: Make guide on how to create these''')<br />
* An icon.bin - The icon and information for the home menu. This is equivalent to the compiled SMDH file, so you can just use that one.<br />
* A banner.bin - The banner for the top screen<br />
You should preferably put them in your project folder (or a subfolder).<br />
<br />
=== Banner ===<br />
Homebrew in 3DS or CIA format requires a banner, which appears on the top screen in the Home menu.<br />
<br />
The banner consists of an image and an audio file. The image should be a 256x128px png file. This image may contain transparent parts. The audio file is a 16bit wav file.<br />
<br />
You can create the banner.bin using [[bannertool]] by [[User:Steveice10|Steveice10]]:<br />
bannertool makebanner -i banner.png -a banner.wav -o banner.bin<br />
<br />
=== Convert .elf to .3ds ===<br />
Run the following commands:<br />
arm-none-eabi-strip [ELF file]<br />
makerom -f cci -o [Destination .3ds file] -rsf [RSF file] -target d -exefslogo -elf [ELF file] -icon [icon file] -banner [banner file]<br />
For example:<br />
arm-none-eabi-strip myproject.elf<br />
makerom -f cci -o myproject.3ds -rsf gw_workaround.rsf -target d -exefslogo -elf myproject.elf -icon myproject.smdh -banner banner.bin<br />
<br />
Please note that the first command will alter the ELF file, so you may want to back it up first.<br />
<br />
=== Convert .elf to .cia ===<br />
CIA files are generic data containers that can be installed on a 3DS. In order to do this you need to have a 3DS below 9.2.<br />
<br />
The process of building a CIA is similar to building a .3DS file:<br />
arm-none-eabi-strip myproject.elf<br />
makerom -f cia -o myproject.cia -rsf cia.rsf -target t -exefslogo -elf myproject.elf -icon myproject.smdh -banner banner.bin<br />
<br />
Note that the used RSF file is ''not'' the same one as the one used for building .3DS files.<br />
<br />
== Releasing ==<br />
When you are ready to release your homebrew application, create a new thread in the [https://gbatemp.net/forums/3ds-homebrew-development-and-emulators.275/ Homebrew Development] section. In this thread, you can describe your project.<br />
<br />
Make sure to attach (or link to an uploaded version of) the relevant files for your homebrew. This will usually be the 3DSX and SMDH files that have been compiled. You can also include the ELF file, which will allow people to repack it with makerom to a 3DS (and CIA) file. The ELF file can also be used on 3DS Emulators (currently two available: [http://gbatemp.net/threads/citra-new-3ds-emulator.365154/ Citra] and [http://gbatemp.net/threads/3dmoo-new-3ds-emulator.366138/ 3DMoo]).<br />
<br />
If your project is open source, you can upload the code to GitHub. Alternatively, you can simply provide the source as a separate download, or include it with the compiled files.<br />
<br />
==Using git==<br />
git is a distributed version control system. This allows you to put your code into a repository, which can then be shared with others. The main advantage is that you can keep track of your (and others') changes and even revert them if needed.<br />
<br />
You can find instructions on the [https://git-scm.com/book/en/v2/Getting-Started-Installing-Git git website] on how to install git on your system.<br />
<br />
After git is installed on your system, you need to setup your username and email address. This allows git to identify who made the changes. If you have a GitHub account, use the same username and email as there!<br />
<br />
Open a command prompt (Windows) or Terminal (Linux/OSX) and use the following commands:<br />
git config --global user.name "yournamehere"<br />
git config --global user.email "youremail@address.here"<br />
<br />
===Getting started===<br />
1) If you have not yet done so, create a file named <code>README.md</code> in your project folder. You can use this file to add a description and information of your project. This description will be shown when people view your repository on GitHub. You can use [https://help.github.com/articles/markdown-basics/ markdown] to add formatting such as bold and headings.<br />
<br />
2) Open a command prompt (Windows) or Terminal (Linux/OSX).<br />
<br />
3) Navigate to your project folder<br />
cd c:/path/to/your/project<br />
<br />
4) Initialize it as a git repository<br />
git init<br />
<br />
5) Add your existing code to the repository (note: the <code>.</code> is part of the command)<br />
git add .<br />
<br />
6) Do the initial commit<br />
git commit -m "Initial commit"<br />
<br />
===Committing===<br />
When you make changes to your code, they need to be committed in order to "save" them to your git repository. When and how often you commit is up to you, but try to do at most one major change per commit.<br />
<br />
1) Make the repository aware of your changes<br />
git add -A<br />
<br />
2) Add them to a commit<br />
git commit -m "Message of your commit (eg. describe your changes)"<br />
<br />
===Add your project to GitHub===<br />
GitHub is a popular host for online git repositories.<br />
<br />
1) [https://github.com/new Create a GitHub repository].<br /><br />
Make sure to name the repository after your project and optionally give it a description. Make sure the checkbox to create a README is ''not'' checked. The <code>.gitignore</code> and <code>license</code> should also be set to <code>None</code><br />
<br />
2) Open a command prompt (Windows) or Terminal (Linux/OSX) and navigate to your project folder.<br />
<br />
3) Add GitHub as a remote host (change the URL):<br />
git remote add origin <nowiki>https://github.com/yourname/yourrepository.git</nowiki><br />
<br />
4) From now on, you can <code>push</code> your changes to GitHub with the following command:<br />
git push origin master<br />
This pushes the <code>master</code> branch to the remote called <code>origin</code>, which we setup as GitHub.<br />
<br />
You don't have to push after every commit, but your changes will only show up on GitHub after you push.<br />
<br />
===Tags===<br />
Tags are a way on git to mark specific commits as special. For example, you could use them to track your major releases.<br />
<br />
1) Create the tag<br />
git tag -a tagname -m "description here"<br />
For example:<br />
git tag -a v1.0 -m "My first release!"<br />
To tag an older commit, specify the sha1 hash of the commit:<br />
git tag -a tagname sha1 -m "description here"<br />
<br />
2) If you are using GitHub, you must manually push the tag:<br />
git push origin tagname<br />
<br />
[[Category:Nintendo 3DS|Homebrew Development]]<br />
[[Category:3DS Homebrew| Development]]</div>
TricksterGuy