More actions
No edit summary |
No edit summary |
||
(14 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Infobox 3DS | {{Infobox 3DS Homebrews | ||
| title = | |title=3ds-template | ||
| type = | |image=3dspc.png | ||
| version = | |description=Template Project for Code::Blocks for developing 3DS homebrew. | ||
| | |author=TricksterGuy | ||
| | |lastupdated=2017/07/19 | ||
|type=Developments | |||
| | |version=2017 | ||
| source = https:// | |license=Mixed | ||
|download=https://dlhb.gamebrew.org/3dshomebrews/3ds_template_tricksterguy.zip | |||
|website=https://github.com/TricksterGuy/3ds-template | |||
|source=https://github.com/TricksterGuy/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</code> 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. | |||
== | ==User guide== | ||
{| | {| class="wikitable sortable" style="width: 700px;" | ||
! | !style="width: 10%;"|Targets | ||
! Action | !Action | ||
|- | |- | ||
| | |3ds||Builds <code><project name>.3ds</code>. (1) | ||
| | |||
|- | |- | ||
| | |3dsx||Builds <code><project name>.3dsx</code> and <project name>.smdh</code>. | ||
| | |||
|- | |- | ||
| | |cia||Builds <code><project name>.cia</code>. (1) | ||
| | |||
|- | |- | ||
| | |citra||Builds and automatically runs <code>citra</code> for testing. (2) | ||
| | |||
|- | |- | ||
| | |elf||Builds <code><project name>.elf</code>. | ||
| | |||
|- | |- | ||
| | |release||Release build, creates a <code>cia</code>, <code>3ds</code>, and a zip file containing the <code>smdh</code> and <code>3dsx</code>. (3) | ||
| | |||
|- | |- | ||
|} | |} | ||
* | * (1) This requires having [https://github.com/profi200/Project_CTR makerom] and [https://github.com/Steveice10/buildtools bannertool] in your <code>$PATH</code> | ||
* (2) <code>make citra</code> requires having [https://github.com/citra-emu/citra citra] installed and in your <code>$PATH</code> | |||
* (3) If you are on Windows you will need both of the following in your <code>$PATH</code> [http://downloads.sourceforge.net/gnuwin32/zip-3.0-bin.zip zip] and [http://downloads.sourceforge.net/gnuwin32/zip-3.0-dep.zip libbz2.dll] | |||
* < | ===Setting up devkitPro=== | ||
* If | Follow the steps installing devkitPro at the [https://wiki.gbatemp.net/wiki/3DS_Homebrew_Development#Install_devkitARM gbatemp wiki]. | ||
If you want to build cia and 3ds then follow these extra steps: | |||
* Aquire makerom and bannertool binaries from [https://github.com/Steveice10/buildtools buildtools], or compile them yourself from [https://github.com/profi200/Project_CTR makerom] and [https://github.com/Steveice10/buildtools bannertool] | |||
=== | * Copy the makerom/bannertool to <code>$DEVKITARM/bin</code> or some other directory in your <code>$PATH</code> | ||
# | |||
===Code::Blocks Setup=== | |||
* Simply open <code>3ds.cbp</code> in Code::Blocks | |||
=== Code::Blocks === | * Choose File > Save as user-template and enter a template name. The project setup is now a user template to create new projects. | ||
* When creating a new project select File > New > From template and follow the wizard's instructions. | |||
* Ensure you have the environment variables plugin installed (in linux you can install this by installing the codeblocks-contrib package) | |||
* Choose Settings > Environment and scroll down to the Environment Variables section. | |||
* Add <code>DEVKITPRO</code> and point it to where devkitpro is installed | |||
* Add <code>DEVKITARM</code> 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 <code>Makefile</code> | |||
'''Note:''' Make sure you are using MSYS2's make (make.exe) and not MINGW's make (mingw32-make.exe). | |||
< | ===Creating a new project=== | ||
* Make a new Code::Blocks project via a user-template you just created above. Or simply copy this directory. | |||
* (Only needed for cia/3ds builds) Edit the file <code>resources/AppInfo</code> | |||
** Edit those values and ensure you choose a unique id see [https://gbatemp.net/threads/homebrew-cias-uniqueid-collection.379362 unique_id_list]. | |||
** Replace the existing files in the <code>resources</code> 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 <code>C:/3DS Hacking/3ds-template</code> rather <code>C:/3DS_Hacking/3ds-template</code> | |||
==Credits== | |||
All of this would not have been possible without the work of: | |||
=== | |||
* | |||
< | |||
</ | |||
== Credits == | |||
All of this would not have been possible without the work of | |||
* [https://github.com/smealum Smealum] | * [https://github.com/smealum Smealum] | ||
* [https://github.com/Steveice10 Steveice10] | * [https://github.com/Steveice10 Steveice10] for the [https://github.com/Steveice10/buildtools buildtools] | ||
* | * [https://github.com/amaredeus amaredeus] for various improvements to the template (such as the formatting in the README) | ||
==External links== | |||
* GitHub - https://github.com/TricksterGuy/3ds-template |
Latest revision as of 10:33, 22 Haziran 2024
3ds-template | |
---|---|
General | |
Author | TricksterGuy |
Type | Developments |
Version | 2017 |
License | Mixed |
Last Updated | 2017/07/19 |
Links | |
Download | |
Website | |
Source | |
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.
User guide
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)
|
- (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
- Simply open
3ds.cbp
in Code::Blocks - Choose File > Save as user-template and enter a template name. The project setup is now a user template to create new projects.
- When creating a new project select File > New > From template and follow the wizard's instructions.
- Ensure you have the environment variables plugin installed (in linux you can install this by installing the codeblocks-contrib package)
- Choose Settings > Environment and scroll down to the Environment Variables section.
- Add
DEVKITPRO
and point it to where devkitpro is installed - 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
- Make a new Code::Blocks project via a user-template you just created above. Or simply copy this directory.
- (Only needed for cia/3ds builds) Edit the file
resources/AppInfo
- Edit those values and ensure you choose a unique id see unique_id_list.
- 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:
- Smealum
- Steveice10 for the buildtools
- amaredeus for various improvements to the template (such as the formatting in the README)