BootCtr 3DS

From GameBrew - a wiki dedicated to Video Game Homebrew.


BootCtr - A simple boot manager for 3DS

Based on 3DS Homebrew Launcher code by [Smealum][hbl]. The original version is from [mashers][hbe]. 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][ofc] in GBAtemp forum.


  • Supports both `.3dsx` files and binary payloads (for example, `/Cakes.dat`,
  • `/ReiNand.dat`, `/rxTools/sys/code.bin`, etc.).
  • Supports advanced features in `.3dsx` files, like network support.
  • Boot delay, to increase the boot rate chance of CFWs like rxTools and


  • 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][bgr] format:



  • (Optional, but recommended) Install [HomeMenuHax][hmh] and set up autoboot.
  • Modify, according to your needs, the included `boot_config.ini` file.
  • Copy both `boot.3dsx` and `boot_config.ini` to the root of your SD card.
  • For splash screen, look inside `splash` folder for some ready to use `.bin`

files (including source file/preview in `.png` format), or use the included `` script to convert your own images (or convert them using this [site][i2b]). Dont't forget to edit `boot_config.ini` to include `splash_file` option in the desired entry.


  • 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.


First, clone this repository including the submodules:

   $ git clone --recursive

Compile a new binary using the included `Makefile` and [devkitPro][dkp].

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.


The original source code ([Homebrew Launcher][hbl]) 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 `` 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][bhm] 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][inh] is distributed under New BSD License, while [libkhax][khx] (not used directly, however it is a dependency of CakeBrah) uses MIT license.