Skip to content
yNEX edited this page Jan 5, 2017 · 13 revisions

The configuration file

To know what it should load and do, BootCTR9 needs a configuration file, that's based on BootCTR ones.

BootCTR9s main configuration

The main option of BootCTR9 itself are in the [BOOTCTR9] region of your configuration

Name Description Default Value
key_delay Time in ms to wait for a button press 100
bootPassword The password needed to load a non default payload. The max-length should be arround 10 Keys. The password needs to by defined by KEY_* seperated by a space. example: KEY_X KEY_X KEY_A
enableAutosoftboot Enable or disable the automatic selection of the latest selected configuration on softboot (for example KEY_UP) 0
enableArm9CompanionBoot Enables or disables the autoatic booting of an payload defined in the "COMPANION" section. This payload will be renamed after execution to PAYLOADNAME.old. This aption is mostly ineressting for developers of arm9 Payloads.
enableSoftbootSplash Enable or disable splashes and animation on softboot 0
boot_splash Enables or disables the splash or animation that is shown while waiting for a button press. This also defines the type of media that is shown 0
boot_splash_image Path to the image or animation you want to use as boot splash
fileLog Enables or disables the logging to a file 0
screenLog Enable or disable the printing of debug output to the screen 0
screenEnabled Enable or disable the Screen at boot 1
screenBrightness Set the screen brightness used while BootCTR9 is running. List of available brightnesslevels 0xFF

Payload configuration

This category allows you to define on which buttonpress which payload is loaded. It also defines how BootCTR9 should load it.
Tip: To make it easier to boot luma config additionaly add KEY_SELECT for the luma payload (read the example configuration at the end for more).

Name Description Default Value
path The path of the payload BootCTR9 should load
delay The delay between loading the payload and jumping to it 0
payload The payload time, this is only left in for backwards compatibility with BootCTRs configution, to show error messages of the user tries to load a .3dsx file -1
offset The payloads arm9 binary offset, for arm9loaderhax payloads this should be 0, for .dat payloads its normaly 0x12000 0x0
enableSoftbootSplash Enables or disables the splashscreen or animation on Softboot 0
splash Enables or disables the splash or animation that is shown before the delay and jumping to the payload. This also defines the type of media that is shown 0
splash_image Path to the image or animation you want to use as splash image for the payload
screenEnabled Enables or disables the screen when jumping to the screen 1
screenBrightness Sets the payloads screen brightness. List of available brightnesslevels 0xFF
enablePathFix This got included mainly for LumaCFW and allows you to simple drag and drop lumas payload to your SD-card, without the need to always use the path changer. 0

Splash types

Value Result
0 The splash screen is disabled
1 A Splash image is used
2 An ASCII splash is shown
3 A Splash image is used, if its not loadable, an ASCII splash is used as fallback
4 An animation is used, if its not loadable, an ASCII splash is used as fallback

Available configuration sections

Section name Description
[BOOTCTR9] This is the configuration for the bootloader itself
[GLOBAL] This allows to override default values for all payload sections
[DEFAULT] Default Configuration, used when no button is pressed
[COMPANION] This section is used for a9lh netloader companion payload configurations
[KEY_X] This section is loaded when pressing button X.

Available Keys:

  • Common keys: KEY_A, KEY_B, KEY_X, KEY_Y, KEY_L, KEY_R, KEY_SELECT, KEY_START
  • D-PAD: KEY_DUP, KEY_DDOWN, KEY_DLEFT, KEY_DRIGHT.

Example configuration

;Comments starts with ";" or "#", so you need to remove it first to the
;line actually do something.

;configuration with ascii boot Image
;You have also 1 sec to press the button for the payload you want to boot
[BOOTCTR9]
key_delay = 1000
boot_splash = 3
enableAutosoftboot = 1
enableArm9CompanionBoot = 1

;Section to allow a9lh net companion payload auto booting
[COMPANION]
path = /a9nc.bin
delay = 100
offset = 0
payload = -1

;luma with BootAnimation and enabled Pathfix
[DEFAULT]
path = /Payloads/luma.bin
delay = 1000
splash = 4
splash_image = /Animations/anim
screenBrightness = 0x30
enablePathFix = 1

;cakes.dat with splash screen and offset
[KEY_R]
path = /Cakes.dat
delay = 1000
offset = 0x12000
splash = 3
splash_image = /Splashes/splash.bin

;Reinand.dat with offset and ascii splash
[KEY_DUP]
path = /ReiNand.dat
delay = 1000
offset = 0x12000
splash = 1

;ARM9 Payloads
;Luma3DS CFW
[KEY_L]
path = /arm9loaderhax/Payloads/luma.bin
;Luma3DS CFW config (to easier boot the luma config)
[KEY_SELECT]
path = /arm9loaderhax/Payloads/luma.bin
;Decrypt9WIP
[KEY_X]
path = /arm9loaderhax/Payloads/Decrypt9WIP.bin
;EmuNAND9
[KEY_Y]
path = /arm9loaderhax/Payloads/EmuNAND9.bin
;Hourglass9
[KEY_START]
path = /arm9loaderhax/Payloads/Hourglass9.bin
;SafeMode9
[KEY_B]
path = /arm9loaderhax/Payloads/SafeMode9.bin

;Each key can be defined using a section, like the example below. Section
;names must be ALL caps, and between "[]". Valid keys:
;You MUST set at least "path" for each section, and it is the ONLY option you
;should set in the majority of cases.
;Double check the path, since it must be correct (including caps).
;Boot examples for almost every CFW out there.
;You can use only binary (.bin, .dat) payloads
;[KEY_A]
;path = /rxTools/sys/code.bin
;[KEY_B]
;path = /Cakes.dat
;[KEY_Y]
;path = /ReiNand.dat
;An important remark: the majority of CFWs set L button to show menu instead
;of autobooting. So it is generally a bad idea to set L button to CFW boot, 
;but if you use a delay, you have time to release the key so the CFW menu will 
;not be shown.