All Projects → TricksterGuy → 3ds-template

TricksterGuy / 3ds-template

Licence: MIT license
Template Project for Code::Blocks for developing 3ds homebrew

Programming Languages

Makefile
30231 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to 3ds-template

3DS.py
Python on your Nintendo 3DS
Stars: ✭ 90 (+309.09%)
Mutual labels:  devkitpro, nintendo-3ds
powerslaves
Taking PowerSaves as a slave to your will.
Stars: ✭ 28 (+27.27%)
Mutual labels:  nintendo-3ds
Twilightmenu
DSi Menu replacement for DS/DSi/3DS/2DS
Stars: ✭ 1,834 (+8236.36%)
Mutual labels:  nintendo-3ds
SARC-Tool
Tool for extracting and packing SARC files present in Nintendo EAD games.
Stars: ✭ 60 (+172.73%)
Mutual labels:  nintendo-3ds
Div Games Studio
Complete cross platform games development package, originally for DOS but now available on modern platforms.
Stars: ✭ 168 (+663.64%)
Mutual labels:  nintendo-3ds
dslibris
An ebook reader for the Nintendo DS, DS Lite, and DSi.
Stars: ✭ 31 (+40.91%)
Mutual labels:  devkitpro
Pimiibo
A tool to create your own amiibo!
Stars: ✭ 92 (+318.18%)
Mutual labels:  nintendo-3ds
switch-cmake
CMake toolchain for Nintendo Switch homebrew development
Stars: ✭ 38 (+72.73%)
Mutual labels:  devkitpro
HWL-SaveEditor
An Save-Editor for the game Hyrule Warriors Legends (Nintendo 3DS)
Stars: ✭ 18 (-18.18%)
Mutual labels:  nintendo-3ds
3ds-hello-dlang
A 3DS homebrew example written in D!
Stars: ✭ 19 (-13.64%)
Mutual labels:  devkitpro
Pk3ds
Pokémon (3DS) ROM Editor & Randomizer
Stars: ✭ 244 (+1009.09%)
Mutual labels:  nintendo-3ds
Rom Properties
ROM Properties Page shell extension
Stars: ✭ 210 (+854.55%)
Mutual labels:  nintendo-3ds
CDNTool
CDN Nintendo's servers 3DS title downloader (as CIA)
Stars: ✭ 15 (-31.82%)
Mutual labels:  nintendo-3ds
Citro3d
Homebrew PICA200 GPU wrapper library for Nintendo 3DS
Stars: ✭ 143 (+550%)
Mutual labels:  nintendo-3ds
ctrmus
3DS Music Player
Stars: ✭ 73 (+231.82%)
Mutual labels:  nintendo-3ds
Relaymyhome
(MacOS) Nintendo 3DS StreetPass Automation
Stars: ✭ 106 (+381.82%)
Mutual labels:  nintendo-3ds
Brahma
Brahma - Privilege elevation exploit for Nintendo 3DS
Stars: ✭ 34 (+54.55%)
Mutual labels:  nintendo-3ds
kwz-parser
Example full-featured Python parser for Flipnote Studio 3D's .kwz animation format
Stars: ✭ 18 (-18.18%)
Mutual labels:  nintendo-3ds
Ninfs
FUSE filesystem Python scripts for Nintendo console files
Stars: ✭ 241 (+995.45%)
Mutual labels:  nintendo-3ds
flipnote-player
🎬 Web player and video converter for animations made with Flipnote Studio; an animation app for the Nintendo DSi and 3DS
Stars: ✭ 85 (+286.36%)
Mutual labels:  nintendo-3ds

3ds-template

A starter template for various 3DS homebrew applications. This template is geared specifically towards the Code::Blocks IDE. This template can also be used without Code::Blocks just use the Makefile and directory structure provided.

This is designed to be a simple and fairly minimal setup required to begin developing homebrew for the 3ds system. As such it doesn't include everything needed to build everything out of the box if you want to build 3ds or cia homebrew.

Usage

Targets Action
3ds Builds <project name>.3ds. 1
3dsx Builds <project name>.3dsx and <project name>.smdh.
cia Builds <project name>.cia. 1
citra Builds and automatically runs citra for testing.2
elf Builds <project name>.elf.
release Release build, creates a cia, 3ds, and a zip file containing the smdh and 3dsx. 3

Notes:

  • 1 This requires having makerom and bannertool in your $PATH
  • 2 make citra requires having citra installed and in your $PATH
  • 3 If you are on Windows you will need both of the following in your $PATH zip and libbz2.dll

Setting up devkitPro

  • Follow the steps installing devkitPro at the gbatemp wiki

If you want to build cia and 3ds then follow these extra steps:

  • Aquire makerom and bannertool binaries from buildtools, or compile them yourself from makerom and bannertool
  • Copy the makerom/bannertool to $DEVKITARM/bin or some other directory in your $PATH

Code::Blocks Setup

  1. Simply open 3ds.cbp in Code::Blocks
  2. Choose File > Save as user-template and enter a template name. The project setup is now a user template to create new projects.
  3. When creating a new project select File > New > From template and follow the wizard's instructions.
  4. Ensure you have the environment variables plugin installed (in linux you can install this by installing the codeblocks-contrib package)
  5. Choose Settings > Environment and scroll down to the Environment Variables section.
  6. Add DEVKITPRO and point it to where devkitpro is installed
  7. Add DEVKITARM and point it to where devkitarm is.

To compile in Code::Blocks simply select your target from the list and click the Gear icon to automatically invoke the Makefile

Note Make sure you are using MSYS2's make (make.exe) and not MINGW's make (mingw32-make.exe)

Creating a new project

  1. Make a new Code::Blocks project via a user-template you just created above. Or simply copy this directory.
  2. (Only needed for cia/3ds builds) Edit the file resources/AppInfo
    1. Edit those values and ensure you choose a unique id see unique_id_list.
    2. Replace the existing files in the resources directory to suit your needs.

Note please ensure that no folder/directory used in the project contains spaces. Devkitpro's Makefiles apparently does not like this. That is, do not have it in a folder like C:/3DS Hacking/3ds-template rather C:/3DS_Hacking/3ds-template

Credits

All of this would not have been possible without the work of

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].