BootCtr
BootCtr copied to clipboard
A simple boot manager for 3DS
BootCtr - A simple boot manager for 3DS

Based on 3DS Homebrew Launcher code by Smealum. The original version is from mashers. This version removed some unused code used by Homebrew Launcher that isn't necessary in a simple bootloader, and added some interesting new features.
Any question can be done in the official topic in GBAtemp forum.
Features
- Supports both
.3dsxfiles and binary payloads (for example,/Cakes.dat, /ReiNand.dat,/rxTools/sys/code.bin, etc.).- Supports advanced features in
.3dsxfiles, like network support. - Boot delay, to increase the boot rate chance of CFWs like rxTools and CakesFW.
- Allows up-to 16+1 (16 using keys plus 1 default) homebrews in O3DS, up-to 22+1 homebrews in N3DS.
- Support for boot screens, including an ASCII art (default) or custom images in BGR format:
Installation
- (Optional, but recommended) Install HomeMenuHax and set up autoboot.
- Modify, according to your needs, the included
boot_config.inifile. - Copy both
boot.3dsxandboot_config.inito the root of your SD card. - For splash screen, look inside
splashfolder for some ready to use.binfiles (including source file/preview in.pngformat), or use the includedimg2bgr.shscript to convert your own images (or convert them using this site). Dont't forget to editboot_config.inito includesplash_fileoption in the desired entry.
Usage
- Boot up your homebrew hax as usual.
- If you do nothing, then
boot_default.3dsx(or anything that you setup in[DEFAULT]section) will be launched. - If you want to load an alternative launcher, hold down a button (configured
according your
boot_config.ini) to boot it.
Compiling
First, clone this repository including the submodules:
$ git clone --recursive https://github.com/m45t3r/BootCtr.git
Compile a new binary using the included Makefile and devkitPro.
If devkitPro is correctly installed all you need to do is:
$ make
And copy the new boot.3dsx file to your SD card. Do not forget to copy
boot_config.ini too.
Alternatively you can run the command below too (needs zip and git
installed):
$ make release
To generate a .zip file including all source code and auxiliary files, ready for distribution.
License
The original source code (Homebrew Launcher) does not have a proper
license, and since this code is derived from it I can't simple change the
license for something that I would like. The README.md from HBL says:
"Feel free to use code from hbmenu for your own projects, so long as you give credit to its original authors."
In the section below we give proper credits to everyone that helped creating this project. Of course, all of my modifications is distributed in a similar license, so go ahead and fork and do something interesting.
CakeBrah does not seem to have a proper license too. However, brahma
uses a license similar to MIT (see README-brahma for details), and
CakeBrah is a derived work so it should use a similar license.
inih is distributed under New BSD License, while libkhax (not used directly, however it is a dependency of CakeBrah) uses MIT license.
Credits
- @smealum and everyone that worked in the Homebrew Launcher
- @mashers, for the original source code of HBL-Emergency
- @Cpasjuste, for some ideas from his CtrBootManager
- @benhoyt, for inih
- @mid-kid and others, for CakeBrah
- @pbanj from GBAtemp for the logo and splash screen
