int
main(int argc, char** argv)
{
+ int r_held = (ctr_hid_get_buttons() & CTR_HID_RT);
+
if (PDN_MPCORE_CFG == 7)
is_n3ds = 1; // Enable n3ds specific options.
if (CFG_BOOTENV == 7)
config->options[OPTION_EMUNAND] = 0; // Disable EmuNAND on AGB reboot.
- if (config->options[OPTION_AUTOBOOT] && !(ctr_hid_get_buttons() & CTR_HID_RT)) {
- doing_autoboot = 1;
-
- if (config->options[OPTION_SILENCE] || config->options[OPTION_SILENT_NOSCREEN])
- shut_up(); // This does exactly what it sounds like.
-
- if (config->options[OPTION_SILENT_NOSCREEN])
- boot_cfw(); // Skip all other checks and just boot.
- }
-
set_font(PATH_TERMFONT); // Read the font before all else.
// Check key down for autoboot
clear_disp(TOP_SCREEN);
clear_disp(BOTTOM_SCREEN);
- // Autoboot. Non-standard code path.
- if (!doing_autoboot)
+ if (config->options[OPTION_AUTOBOOT] && !r_held) {
+ doing_autoboot = 1;
+
+ if (config->options[OPTION_SILENCE])
+ shut_up(); // This does exactly what it sounds like.
+ } else {
menu_handler();
+ }
boot_cfw();
}
shut_up()
{
kill_output = 1; // Immediately cancel all output operations.
- clear_disp(TOP_SCREEN);
- clear_disp(BOTTOM_SCREEN);
}
#define TEXT 0