From 08b84384a6e2792e2b39e99def55d9230b576e01 Mon Sep 17 00:00:00 2001 From: "ctcaer@gmail.com" Date: Sat, 6 Jul 2019 22:08:37 +0300 Subject: [PATCH] Bugfixes and cleanup --- README.md | 2 +- bootloader/config/config.c | 18 +- bootloader/config/ini.c | 58 ------- bootloader/config/ini.h | 3 - bootloader/gfx/gfx.h | 4 +- bootloader/hos/hos.c | 26 ++- bootloader/hos/secmon_exo.c | 4 +- bootloader/hos/sept.c | 10 +- bootloader/main.c | 65 +++----- bootloader/soc/bpmp.c | 2 +- bootloader/soc/bpmp.h | 2 +- nyx/nyx_gui/config/config.c | 8 +- nyx/nyx_gui/config/ini.c | 58 ------- nyx/nyx_gui/config/ini.h | 3 - nyx/nyx_gui/frontend/fe_emmc_tools.c | 68 ++++---- nyx/nyx_gui/frontend/fe_emummc_tools.c | 32 ++-- nyx/nyx_gui/frontend/gui.c | 156 +++++++----------- nyx/nyx_gui/frontend/gui_emmc_tools.c | 29 ++-- nyx/nyx_gui/frontend/gui_emummc_tools.c | 140 +++++++--------- nyx/nyx_gui/frontend/gui_info.c | 8 +- nyx/nyx_gui/frontend/gui_tools.c | 48 ++---- nyx/nyx_gui/libs/lv_conf.h | 2 +- nyx/nyx_gui/libs/lvgl/lv_objx/lv_win.c | 1 + ...95300-57B4628D2267231D57E0FC1078C0596D.jpg | Bin 67711 -> 0 bytes ...95900-57B4628D2267231D57E0FC1078C0596D.jpg | Bin 106882 -> 0 bytes ...01400-57B4628D2267231D57E0FC1078C0596D.jpg | Bin 75176 -> 0 bytes ...34300-57B4628D2267231D57E0FC1078C0596D.jpg | Bin 65199 -> 0 bytes ...11300-57B4628D2267231D57E0FC1078C0596D.jpg | Bin 78744 -> 0 bytes nyx/nyx_gui/nyx.c | 18 +- nyx/nyx_gui/power/max7762x.c | 5 + nyx/nyx_gui/soc/bpmp.c | 4 + nyx/nyx_gui/soc/clock.c | 5 + nyx/nyx_gui/soc/cluster.c | 5 + nyx/nyx_gui/soc/fuse.c | 5 + nyx/nyx_gui/start.S | 6 +- nyx/nyx_gui/storage/sdmmc.c | 5 + nyx/{res => resources}/icon_lakka.bmp | Bin nyx/{res => resources}/icon_payload.bmp | Bin nyx/{res => resources}/icon_switch.bmp | Bin 39 files changed, 319 insertions(+), 481 deletions(-) delete mode 100644 nyx/nyx_gui/libs/lvgl/ref/2017031823595300-57B4628D2267231D57E0FC1078C0596D.jpg delete mode 100644 nyx/nyx_gui/libs/lvgl/ref/2017031823595900-57B4628D2267231D57E0FC1078C0596D.jpg delete mode 100644 nyx/nyx_gui/libs/lvgl/ref/2017031900001400-57B4628D2267231D57E0FC1078C0596D.jpg delete mode 100644 nyx/nyx_gui/libs/lvgl/ref/2017091517134300-57B4628D2267231D57E0FC1078C0596D.jpg delete mode 100644 nyx/nyx_gui/libs/lvgl/ref/2017091903111300-57B4628D2267231D57E0FC1078C0596D.jpg rename nyx/{res => resources}/icon_lakka.bmp (100%) rename nyx/{res => resources}/icon_payload.bmp (100%) rename nyx/{res => resources}/icon_switch.bmp (100%) diff --git a/README.md b/README.md index 9057cb1..b64628f 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Custom Nintendo Switch bootloader, firmware patcher, and more. | bootloader | Main folder. | | \|__ bootlogo.bmp | It is used when custom is on and no logopath found. Can be skipped. | | \|__ hekate_ipl.ini | Main bootloader configuration and boot entries. | -| \|__ patches | Add external patches. Can be skipped | +| \|__ patches.ini | Add external patches. Can be skipped | | \|__ update.bin | If newer, it is loaded at boot. For modchips. Can be skipped. | | bootloader/ini/ | For individual inis. 'More configs...' menu. Autoboot is supported. | | bootloader/res/ | Nyx user resources. Icons and more. | diff --git a/bootloader/config/config.c b/bootloader/config/config.c index 810e2d3..2a65169 100644 --- a/bootloader/config/config.c +++ b/bootloader/config/config.c @@ -161,9 +161,6 @@ int create_config_entry() f_close(&fp); sd_unmount(); - if (mainIniFound) - ini_free(&ini_sections); - return 0; } @@ -269,7 +266,6 @@ out2:; free(ments); free(boot_values); free(boot_text); - ini_free(&ini_sections); sd_unmount(); } @@ -382,7 +378,6 @@ out2:; free(ments); free(boot_values); free(boot_text); - ini_free(&ini_sections); sd_unmount(); @@ -455,11 +450,11 @@ void config_verification() gfx_clear_grey(0x1B); gfx_con_setpos(0, 0); - ment_t *ments = (ment_t *)malloc(sizeof(ment_t) * 7); - u32 *vr_values = (u32 *)malloc(sizeof(u32) * 4); - char *vr_text = (char *)malloc(64 * 4); + ment_t *ments = (ment_t *)malloc(sizeof(ment_t) * 6); + u32 *vr_values = (u32 *)malloc(sizeof(u32) * 3); + char *vr_text = (char *)malloc(64 * 3); - for (u32 j = 0; j < 4; j++) + for (u32 j = 0; j < 3; j++) { vr_values[j] = j; ments[j + 2].type = MENT_DATA; @@ -474,9 +469,8 @@ void config_verification() memcpy(vr_text, " Disable (Fastest - Unsafe)", 28); memcpy(vr_text + 64, " Sparse (Fast - Safe)", 23); memcpy(vr_text + 128, " Full (Slow - Safe)", 23); - memcpy(vr_text + 192, " Full (w/ hashfile)", 23); - for (u32 i = 0; i < 4; i++) + for (u32 i = 0; i < 3; i++) { if (h_cfg.verification != i) vr_text[64 * i] = ' '; @@ -485,7 +479,7 @@ void config_verification() ments[2 + i].caption = vr_text + (i * 64); } - memset(&ments[6], 0, sizeof(ment_t)); + memset(&ments[5], 0, sizeof(ment_t)); menu_t menu = {ments, "Backup & Restore verification", 0, 0}; u32 *temp_verification = (u32 *)tui_do_menu(&menu); diff --git a/bootloader/config/ini.c b/bootloader/config/ini.c index a58d4ac..2dadfde 100644 --- a/bootloader/config/ini.c +++ b/bootloader/config/ini.c @@ -178,64 +178,6 @@ int ini_parse(link_t *dst, char *ini_path, bool is_dir) return 1; } -void ini_free(link_t *dst) -{ - if (!dst->prev || !dst->next) - return; - - LIST_FOREACH_ENTRY(ini_sec_t, ini_sec, dst, link) - { - if (ini_sec->type == INI_CHOICE) - { - LIST_FOREACH_ENTRY(ini_kv_t, kv, &ini_sec->kvs, link) - { - free(kv->key); - free(kv->val); - //free(kv); - } - } - free(ini_sec->name); - //free(ini_sec); - } - - list_init(dst); -} - -ini_sec_t *ini_clone_section(ini_sec_t *cfg) -{ - if (cfg == NULL) - return NULL; - - ini_sec_t *csec = (ini_sec_t *)malloc(sizeof(ini_sec_t)); - list_init(&csec->kvs); - - LIST_FOREACH_ENTRY(ini_kv_t, kv, &cfg->kvs, link) - { - ini_kv_t *kvcfg = (ini_kv_t *)malloc(sizeof(ini_kv_t)); - kvcfg->key = _strdup(kv->key); - kvcfg->val = _strdup(kv->val); - list_append(&csec->kvs, &kvcfg->link); - } - - return csec; -} - -void ini_free_section(ini_sec_t *cfg) -{ - if (cfg == NULL) - return; - - LIST_FOREACH_ENTRY(ini_kv_t, kv, &cfg->kvs, link) - { - free(kv->key); - free(kv->val); - //free(kv); - } - //free(cfg); - - cfg = NULL; -} - char *ini_check_payload_section(ini_sec_t *cfg) { char *path = NULL; diff --git a/bootloader/config/ini.h b/bootloader/config/ini.h index 7f1d2c2..318adf0 100644 --- a/bootloader/config/ini.h +++ b/bootloader/config/ini.h @@ -44,9 +44,6 @@ typedef struct _ini_sec_t } ini_sec_t; int ini_parse(link_t *dst, char *ini_path, bool is_dir); -void ini_free(link_t *dst); -ini_sec_t *ini_clone_section(ini_sec_t *cfg); -void ini_free_section(ini_sec_t *cfg); char *ini_check_payload_section(ini_sec_t *cfg); #endif diff --git a/bootloader/gfx/gfx.h b/bootloader/gfx/gfx.h index ef37650..b1b6eba 100644 --- a/bootloader/gfx/gfx.h +++ b/bootloader/gfx/gfx.h @@ -21,8 +21,8 @@ #include "../../common/common_gfx.h" -#define EPRINTF(text) ({ gfx_con.mute = false; gfx_printf("%k"text"%k\n", 0xFFFF0000, 0xFFCCCCCC); }) -#define EPRINTFARGS(text, args...) ({ gfx_con.mute = false; gfx_printf("%k"text"%k\n", 0xFFFF0000, args, 0xFFCCCCCC); }) +#define EPRINTF(text) gfx_printf("%k"text"%k\n", 0xFFFF0000, 0xFFCCCCCC) +#define EPRINTFARGS(text, args...) gfx_printf("%k"text"%k\n", 0xFFFF0000, args, 0xFFCCCCCC) #define WPRINTF(text) gfx_printf("%k"text"%k\n", 0xFFFFDD00, 0xFFCCCCCC) #define WPRINTFARGS(text, args...) gfx_printf("%k"text"%k\n", 0xFFFFDD00, args, 0xFFCCCCCC) diff --git a/bootloader/hos/hos.c b/bootloader/hos/hos.c index aa39205..add3aac 100644 --- a/bootloader/hos/hos.c +++ b/bootloader/hos/hos.c @@ -52,6 +52,15 @@ extern bool sd_mount(); //#define DPRINTF(...) gfx_printf(__VA_ARGS__) #define DPRINTF(...) +#define EHPRINTF(text) \ + ({ display_backlight_brightness(h_cfg.backlight, 1000); \ + gfx_con.mute = false; \ + gfx_printf("%k"text"%k\n", 0xFFFF0000, 0xFFCCCCCC); }) +#define EHPRINTFARGS(text, args...) \ + ({ display_backlight_brightness(h_cfg.backlight, 1000); \ + gfx_con.mute = false; \ + gfx_printf("%k"text"%k\n", 0xFFFF0000, args, 0xFFCCCCCC); }) + #define PKG2_LOAD_ADDR 0xA9800000 // Secmon mailbox. @@ -210,7 +219,7 @@ int keygen(u8 *keyblob, u32 kb, tsec_ctxt_t *tsec_ctxt) // We rely on racing conditions, make sure we cover even the unluckiest cases. if (retries > 15) { - EPRINTF("\nFailed to get TSEC keys. Please try again.\n"); + EHPRINTF("\nFailed to get TSEC keys. Please try again.\n"); return 0; } } @@ -311,7 +320,7 @@ static int _read_emmc_pkg1(launch_ctxt_t *ctxt) ctxt->pkg1_id = pkg1_identify(ctxt->pkg1); if (!ctxt->pkg1_id) { - EPRINTF("Unknown pkg1 version."); + EHPRINTF("Unknown pkg1 version."); goto out; } gfx_printf("Identified pkg1 and Keyblob %d\n\n", ctxt->pkg1_id->kb); @@ -375,7 +384,6 @@ out:; static void _free_launch_components(launch_ctxt_t *ctxt) { - ini_free_section(ctxt->cfg); free(ctxt->keyblob); free(ctxt->pkg1); free(ctxt->pkg2); @@ -411,7 +419,7 @@ int hos_launch(ini_sec_t *cfg) // Try to parse config if present. if (ctxt.cfg && !parse_boot_config(&ctxt)) { - EPRINTF("Wrong ini cfg or missing files!"); + EHPRINTF("Wrong ini cfg or missing files!"); return 0; } @@ -452,14 +460,14 @@ int hos_launch(ini_sec_t *cfg) if (ctxt.pkg1_id->kb <= KB_FIRMWARE_VERSION_600) pkg1_decrypt(ctxt.pkg1_id, ctxt.pkg1); - if (ctxt.pkg1_id->kb <= KB_FIRMWARE_VERSION_620) + if (ctxt.pkg1_id->kb <= KB_FIRMWARE_VERSION_620 && !(emu_cfg.enabled && !h_cfg.emummc_force_disable)) { pkg1_unpack((void *)ctxt.pkg1_id->warmboot_base, (void *)ctxt.pkg1_id->secmon_base, NULL, ctxt.pkg1_id, ctxt.pkg1); gfx_printf("Decrypted & unpacked pkg1\n"); } else { - EPRINTF("No mandatory secmon or warmboot provided!"); + EHPRINTF("No mandatory secmon or warmboot provided!"); return 0; } } @@ -471,7 +479,7 @@ int hos_launch(ini_sec_t *cfg) { if (ctxt.pkg1_id->kb >= KB_FIRMWARE_VERSION_700) { - EPRINTF("No warmboot provided!"); + EHPRINTF("No warmboot provided!"); return 0; } // Else we patch it to allow downgrading. @@ -537,7 +545,7 @@ int hos_launch(ini_sec_t *cfg) ctxt.pkg2_kernel_id = pkg2_identify(kernel_hash); if (!ctxt.pkg2_kernel_id) { - EPRINTF("Failed to identify kernel!"); + EHPRINTF("Failed to identify kernel!"); return 0; } @@ -576,7 +584,7 @@ int hos_launch(ini_sec_t *cfg) const char* unappliedPatch = pkg2_patch_kips(&kip1_info, ctxt.kip1_patches); if (unappliedPatch != NULL) { - EPRINTFARGS("Failed to apply '%s'!", unappliedPatch); + EHPRINTFARGS("Failed to apply '%s'!", unappliedPatch); sd_unmount(); // Just exiting is not enough until pkg2_patch_kips stops modifying the string passed into it. _free_launch_components(&ctxt); diff --git a/bootloader/hos/secmon_exo.c b/bootloader/hos/secmon_exo.c index 5c082c7..6a8edfa 100644 --- a/bootloader/hos/secmon_exo.c +++ b/bootloader/hos/secmon_exo.c @@ -216,8 +216,10 @@ void config_exosphere(const char *id, u32 kb, void *warmboot, bool stock) else strcpy((char *)exo_cfg->emummc_cfg.file_cfg.path, emu_cfg.path); - if (emu_cfg.nintendo_path) + if (emu_cfg.nintendo_path && !stock) strcpy((char *)exo_cfg->emummc_cfg.nintendo_path, emu_cfg.nintendo_path); + else if (stock) + strcpy((char *)exo_cfg->emummc_cfg.nintendo_path, "Nintendo"); else exo_cfg->emummc_cfg.nintendo_path[0] = 0; } diff --git a/bootloader/hos/sept.c b/bootloader/hos/sept.c index d8d092d..b4df0a4 100644 --- a/bootloader/hos/sept.c +++ b/bootloader/hos/sept.c @@ -76,10 +76,14 @@ extern sdmmc_storage_t sd_storage; void check_sept() { // Check if non-hekate payload is used for sept and restore it. - if (h_cfg.sept_run && !f_stat("sept/payload.bak", NULL)) + if (h_cfg.sept_run) { - f_unlink("sept/payload.bin"); - f_rename("sept/payload.bak", "sept/payload.bin"); + if (!f_stat("sept/payload.bak", NULL)) + { + f_unlink("sept/payload.bin"); + f_rename("sept/payload.bak", "sept/payload.bin"); + } + return; } diff --git a/bootloader/main.c b/bootloader/main.c index 5bb96fe..96203f1 100644 --- a/bootloader/main.c +++ b/bootloader/main.c @@ -445,7 +445,6 @@ void ini_list_launcher() u8 max_entries = 61; char *payload_path = NULL; - ini_sec_t *cfg_tmp = NULL; ini_sec_t *cfg_sec = NULL; LIST_INIT(ini_list_sections); @@ -485,9 +484,9 @@ void ini_list_launcher() ments, "Launch ini configurations", 0, 0 }; - cfg_tmp = (ini_sec_t *)tui_do_menu(&menu); + cfg_sec = (ini_sec_t *)tui_do_menu(&menu); - if (cfg_tmp) + if (cfg_sec) { u32 non_cfg = 1; for (int j = 2; j < i; j++) @@ -495,7 +494,7 @@ void ini_list_launcher() if (ments[j].type != INI_CHOICE) non_cfg++; - if (ments[j].data == cfg_tmp) + if (ments[j].data == cfg_sec) { b_cfg.boot_cfg = BOOT_CFG_FROM_LAUNCH; b_cfg.autoboot = j - non_cfg; @@ -506,17 +505,14 @@ void ini_list_launcher() } } - payload_path = ini_check_payload_section(cfg_tmp); + payload_path = ini_check_payload_section(cfg_sec); - if (cfg_tmp && !payload_path) + if (cfg_sec && !payload_path) check_sept(); - cfg_sec = ini_clone_section(cfg_tmp); - if (!cfg_sec) { free(ments); - ini_free(&ini_list_sections); return; } @@ -524,7 +520,6 @@ void ini_list_launcher() else EPRINTF("No extra configs found."); free(ments); - ini_free(&ini_list_sections); } else EPRINTF("Could not find any ini\nin bootloader/ini!"); @@ -535,7 +530,6 @@ void ini_list_launcher() if (payload_path) { - ini_free_section(cfg_sec); if (launch_payload(payload_path, false)) { EPRINTF("Failed to launch payload."); @@ -549,7 +543,6 @@ void ini_list_launcher() } out: - ini_free_section(cfg_sec); btn_wait(); } @@ -559,7 +552,6 @@ void launch_firmware() u8 max_entries = 61; char *payload_path = NULL; - ini_sec_t *cfg_tmp = NULL; ini_sec_t *cfg_sec = NULL; LIST_INIT(ini_sections); @@ -613,16 +605,16 @@ void launch_firmware() ments, "Launch configurations", 0, 0 }; - cfg_tmp = (ini_sec_t *)tui_do_menu(&menu); + cfg_sec = (ini_sec_t *)tui_do_menu(&menu); - if (cfg_tmp) + if (cfg_sec) { u8 non_cfg = 4; for (int j = 5; j < i; j++) { if (ments[j].type != INI_CHOICE) non_cfg++; - if (ments[j].data == cfg_tmp) + if (ments[j].data == cfg_sec) { b_cfg.boot_cfg = BOOT_CFG_FROM_LAUNCH; b_cfg.autoboot = j - non_cfg; @@ -633,31 +625,28 @@ void launch_firmware() } } - payload_path = ini_check_payload_section(cfg_tmp); + payload_path = ini_check_payload_section(cfg_sec); - if (cfg_tmp) + if (cfg_sec) { - LIST_FOREACH_ENTRY(ini_kv_t, kv, &cfg_tmp->kvs, link) + LIST_FOREACH_ENTRY(ini_kv_t, kv, &cfg_sec->kvs, link) { if (!strcmp("emummc_force_disable", kv->key)) h_cfg.emummc_force_disable = atoi(kv->val); } } - if (cfg_tmp && !payload_path) + if (cfg_sec && !payload_path) check_sept(); - cfg_sec = ini_clone_section(cfg_tmp); if (!cfg_sec) { free(ments); - ini_free(&ini_sections); sd_unmount(); return; } free(ments); - ini_free(&ini_sections); } else EPRINTF("Could not open 'bootloader/hekate_ipl.ini'.\nMake sure it exists!"); @@ -675,7 +664,6 @@ void launch_firmware() if (payload_path) { - ini_free_section(cfg_sec); if (launch_payload(payload_path, false)) { EPRINTF("Failed to launch payload."); @@ -686,7 +674,6 @@ void launch_firmware() EPRINTF("Failed to launch firmware."); out: - ini_free_section(cfg_sec); sd_unmount(); h_cfg.emummc_force_disable = false; @@ -722,7 +709,7 @@ void nyx_load_run() nyx_str->version = ipl_ver.version - 0x303030; - memcpy((u8 *)nyx_str->irama, (void *)IRAM_BASE, 0x8000); + //memcpy((u8 *)nyx_str->irama, (void *)IRAM_BASE, 0x8000); volatile reloc_meta_t *reloc = (reloc_meta_t *)(IPL_LOAD_ADDR + RELOC_META_OFF); memcpy((u8 *)nyx_str->hekate, (u8 *)reloc->start, reloc->end - reloc->start); @@ -730,17 +717,22 @@ void nyx_load_run() bpmp_mmu_disable(); bpmp_clk_rate_set(BPMP_CLK_NORMAL); - msleep(100); minerva_periodic_training(); + // Some cards (Sandisk U1), do not like a fast power cycle. Wait min 100ms. + u32 sd_poweroff_time = (u32)get_tmr_ms() - h_cfg.sd_timeoff; + if (sd_poweroff_time < 100) + msleep(100 - sd_poweroff_time); + (*nyx_ptr)(); } void auto_launch_firmware() { - if(!h_cfg.sept_run && (b_cfg.extra_cfg & EXTRA_CFG_NYX_DUMP)) + if(b_cfg.extra_cfg & EXTRA_CFG_NYX_DUMP) { - EMC(EMC_SCRATCH0) |= EMC_HEKA_UPD; + if (!h_cfg.sept_run) + EMC(EMC_SCRATCH0) |= EMC_HEKA_UPD; check_sept(); } @@ -837,7 +829,7 @@ void auto_launch_firmware() if (h_cfg.autoboot == boot_entry_id && configEntry) { - cfg_sec = ini_clone_section(ini_sec); + cfg_sec = ini_sec; LIST_FOREACH_ENTRY(ini_kv_t, kv, &cfg_sec->kvs, link) { if (!strcmp("logopath", kv->key)) @@ -856,7 +848,6 @@ void auto_launch_firmware() if (h_cfg.autoboot_list) { - ini_free_section(cfg_sec); boot_entry_id = 1; bootlogoCustomEntry = NULL; @@ -872,7 +863,7 @@ void auto_launch_firmware() if (h_cfg.autoboot == boot_entry_id) { h_cfg.emummc_force_disable = false; - cfg_sec = ini_clone_section(ini_sec_list); + cfg_sec = ini_sec_list; LIST_FOREACH_ENTRY(ini_kv_t, kv, &cfg_sec->kvs, link) { if (!strcmp("logopath", kv->key)) @@ -970,10 +961,6 @@ void auto_launch_firmware() free(BOOTLOGO); } - ini_free(&ini_sections); - if (h_cfg.autoboot_list) - ini_free(&ini_list_sections); - if (!h_cfg.sept_run && h_cfg.bootwait) display_backlight_brightness(h_cfg.backlight, 1000); @@ -990,7 +977,6 @@ void auto_launch_firmware() if (payload_path) { - ini_free_section(cfg_sec); if (launch_payload(payload_path, false)) free(payload_path); } @@ -1001,11 +987,6 @@ void auto_launch_firmware() } out: - ini_free(&ini_sections); - if (h_cfg.autoboot_list) - ini_free(&ini_list_sections); - ini_free_section(cfg_sec); - gfx_con.mute = false; b_cfg.boot_cfg &= ~(BOOT_CFG_AUTOBOOT_EN | BOOT_CFG_FROM_LAUNCH); diff --git a/bootloader/soc/bpmp.c b/bootloader/soc/bpmp.c index 5fdc10e..4615c36 100644 --- a/bootloader/soc/bpmp.c +++ b/bootloader/soc/bpmp.c @@ -1,5 +1,5 @@ /* - * BPMP-Lite Cache/MMU driver for Tegra X1 + * BPMP-Lite Cache/MMU and Frequency driver for Tegra X1 * * Copyright (c) 2019 CTCaer * diff --git a/bootloader/soc/bpmp.h b/bootloader/soc/bpmp.h index bacb2d1..5c8f14b 100644 --- a/bootloader/soc/bpmp.h +++ b/bootloader/soc/bpmp.h @@ -1,5 +1,5 @@ /* - * BPMP-Lite Cache/MMU driver for Tegra X1 + * BPMP-Lite Cache/MMU and Frequency driver for Tegra X1 * * Copyright (c) 2019 CTCaer * diff --git a/nyx/nyx_gui/config/config.c b/nyx/nyx_gui/config/config.c index 882a3ab..9edafd9 100644 --- a/nyx/nyx_gui/config/config.c +++ b/nyx/nyx_gui/config/config.c @@ -31,6 +31,9 @@ extern hekate_config h_cfg; extern bool sd_mount(); extern void sd_unmount(bool deinit); +#pragma GCC push_options +#pragma GCC target ("thumb") + void set_default_configuration() { h_cfg.autoboot = 0; @@ -158,8 +161,7 @@ int create_config_entry() f_close(&fp); sd_unmount(false); - if (mainIniFound) - ini_free(&ini_sections); - return 0; } + +#pragma GCC pop_options diff --git a/nyx/nyx_gui/config/ini.c b/nyx/nyx_gui/config/ini.c index 4e5450b..ecb97f0 100644 --- a/nyx/nyx_gui/config/ini.c +++ b/nyx/nyx_gui/config/ini.c @@ -178,64 +178,6 @@ int ini_parse(link_t *dst, char *ini_path, bool is_dir) return 1; } -void ini_free(link_t *dst) -{ - if (!dst->prev || !dst->next) - return; - - LIST_FOREACH_ENTRY(ini_sec_t, ini_sec, dst, link) - { - if (ini_sec->type == INI_CHOICE) - { - LIST_FOREACH_ENTRY(ini_kv_t, kv, &ini_sec->kvs, link) - { - free(kv->key); - free(kv->val); - //free(kv); - } - } - free(ini_sec->name); - //free(ini_sec); - } - - list_init(dst); -} - -ini_sec_t *ini_clone_section(ini_sec_t *cfg) -{ - if (cfg == NULL) - return NULL; - - ini_sec_t *csec = (ini_sec_t *)malloc(sizeof(ini_sec_t)); - list_init(&csec->kvs); - - LIST_FOREACH_ENTRY(ini_kv_t, kv, &cfg->kvs, link) - { - ini_kv_t *kvcfg = (ini_kv_t *)malloc(sizeof(ini_kv_t)); - kvcfg->key = _strdup(kv->key); - kvcfg->val = _strdup(kv->val); - list_append(&csec->kvs, &kvcfg->link); - } - - return csec; -} - -void ini_free_section(ini_sec_t *cfg) -{ - if (cfg == NULL) - return; - - LIST_FOREACH_ENTRY(ini_kv_t, kv, &cfg->kvs, link) - { - free(kv->key); - free(kv->val); - //free(kv); - } - //free(cfg); - - cfg = NULL; -} - char *ini_check_payload_section(ini_sec_t *cfg) { char *path = NULL; diff --git a/nyx/nyx_gui/config/ini.h b/nyx/nyx_gui/config/ini.h index 7f1d2c2..318adf0 100644 --- a/nyx/nyx_gui/config/ini.h +++ b/nyx/nyx_gui/config/ini.h @@ -44,9 +44,6 @@ typedef struct _ini_sec_t } ini_sec_t; int ini_parse(link_t *dst, char *ini_path, bool is_dir); -void ini_free(link_t *dst); -ini_sec_t *ini_clone_section(ini_sec_t *cfg); -void ini_free_section(ini_sec_t *cfg); char *ini_check_payload_section(ini_sec_t *cfg); #endif diff --git a/nyx/nyx_gui/frontend/fe_emmc_tools.c b/nyx/nyx_gui/frontend/fe_emmc_tools.c index 4020642..8a5a3ea 100644 --- a/nyx/nyx_gui/frontend/fe_emmc_tools.c +++ b/nyx/nyx_gui/frontend/fe_emmc_tools.c @@ -132,6 +132,19 @@ static lv_obj_t *create_mbox_text(char *text, bool button_ok) return dark_bg; } +static void _update_filename(char *outFilename, u32 sdPathLen, u32 numSplitParts, u32 currPartIdx) +{ + if (numSplitParts >= 10 && currPartIdx < 10) + { + outFilename[sdPathLen] = '0'; + itoa(currPartIdx, &outFilename[sdPathLen + 1], 10); + } + else + itoa(currPartIdx, &outFilename[sdPathLen], 10); +} + +#pragma GCC pop_options + static int _dump_emmc_verify(emmc_tool_gui_t *gui, sdmmc_storage_t *storage, u32 lba_curr, char *outFilename, emmc_part_t *part) { FIL fp; @@ -188,7 +201,7 @@ static int _dump_emmc_verify(emmc_tool_gui_t *gui, sdmmc_storage_t *storage, u32 lv_bar_set_style(gui->bar, LV_BAR_STYLE_BG, gui->bar_teal_bg); lv_bar_set_style(gui->bar, LV_BAR_STYLE_INDIC, lv_theme_get_current()->bar.indic); s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct); - lv_label_set_text(gui->label_pct, gui->txt_buf); + lv_label_set_array_text(gui->label_pct, gui->txt_buf, 32); manual_system_maintenance(true); clmt = f_expand_cltbl(&fp, 0x400000, 0); @@ -280,7 +293,7 @@ static int _dump_emmc_verify(emmc_tool_gui_t *gui, sdmmc_storage_t *storage, u32 { lv_bar_set_value(gui->bar, pct); s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct); - lv_label_set_text(gui->label_pct, gui->txt_buf); + lv_label_set_array_text(gui->label_pct, gui->txt_buf, 32); manual_system_maintenance(true); prevPct = pct; } @@ -312,7 +325,7 @@ static int _dump_emmc_verify(emmc_tool_gui_t *gui, sdmmc_storage_t *storage, u32 lv_bar_set_value(gui->bar, pct); s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct); - lv_label_set_text(gui->label_pct, gui->txt_buf); + lv_label_set_array_text(gui->label_pct, gui->txt_buf, 32); manual_system_maintenance(true); return 0; @@ -327,19 +340,6 @@ static int _dump_emmc_verify(emmc_tool_gui_t *gui, sdmmc_storage_t *storage, u32 } } -static void _update_filename(char *outFilename, u32 sdPathLen, u32 numSplitParts, u32 currPartIdx) -{ - if (numSplitParts >= 10 && currPartIdx < 10) - { - outFilename[sdPathLen] = '0'; - itoa(currPartIdx, &outFilename[sdPathLen + 1], 10); - } - else - itoa(currPartIdx, &outFilename[sdPathLen], 10); -} - -#pragma GCC pop_options - bool partial_sd_full_unmount = false; static int _dump_emmc_part(emmc_tool_gui_t *gui, char *sd_path, sdmmc_storage_t *storage, emmc_part_t *part) @@ -417,7 +417,7 @@ static int _dump_emmc_part(emmc_tool_gui_t *gui, char *sd_path, sdmmc_storage_t if (!maxSplitParts) { - s_printf(gui->txt_buf, "#FFDD00 Not enough free space for Partial Backup!#\n"); + s_printf(gui->txt_buf, "\n#FFDD00 Not enough free space for Partial Backup!#\n"); lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, gui->txt_buf); manual_system_maintenance(true); @@ -580,7 +580,7 @@ static int _dump_emmc_part(emmc_tool_gui_t *gui, char *sd_path, sdmmc_storage_t res = f_open(&fp, outFilename, FA_CREATE_ALWAYS | FA_WRITE); if (res) { - s_printf(gui->txt_buf, "#FF0000 Error (%d) while creating#\n#FFDD00 %s#\n", res, outFilename); + s_printf(gui->txt_buf, "\n#FF0000 Error (%d) while creating#\n#FFDD00 %s#\n", res, outFilename); lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, gui->txt_buf); manual_system_maintenance(true); @@ -598,7 +598,7 @@ static int _dump_emmc_part(emmc_tool_gui_t *gui, char *sd_path, sdmmc_storage_t while (!sdmmc_storage_read(storage, lba_curr, num, buf)) { s_printf(gui->txt_buf, - "#FFDD00 Error reading %d blocks @ LBA %08X,#\n" + "\n#FFDD00 Error reading %d blocks @ LBA %08X,#\n" "#FFDD00 from eMMC (try %d). #", num, lba_curr, ++retryCount); lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, gui->txt_buf); @@ -629,7 +629,7 @@ static int _dump_emmc_part(emmc_tool_gui_t *gui, char *sd_path, sdmmc_storage_t if (res) { - s_printf(gui->txt_buf, "#FF0000 Fatal error (%d) when writing to SD Card#\nPlease try again...\n", res); + s_printf(gui->txt_buf, "\n#FF0000 Fatal error (%d) when writing to SD Card#\nPlease try again...\n", res); lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, gui->txt_buf); manual_system_maintenance(true); @@ -644,7 +644,7 @@ static int _dump_emmc_part(emmc_tool_gui_t *gui, char *sd_path, sdmmc_storage_t { lv_bar_set_value(gui->bar, pct); s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct); - lv_label_set_text(gui->label_pct, gui->txt_buf); + lv_label_set_array_text(gui->label_pct, gui->txt_buf, 32); manual_system_maintenance(true); prevPct = pct; @@ -720,23 +720,24 @@ void dump_emmc_selected(emmcPartType_t dumpType, emmc_tool_gui_t *gui) { int res = 0; u32 timer = 0; - //! TODO switch to 800MHz - manual_system_maintenance(true); char *txt_buf = (char *)malloc(0x1000); gui->txt_buf = txt_buf; s_printf(txt_buf, ""); lv_label_set_array_text(gui->label_log, txt_buf, 0x1000); + lv_label_set_static_text(gui->label_info, "Checking for available free space..."); + manual_system_maintenance(true); + + // Do a reinit to refresh tuning. + sd_unmount(true); + if (!sd_mount()) { lv_label_set_static_text(gui->label_info, "#FFDD00 Failed to init SD!#"); goto out; } - lv_label_set_static_text(gui->label_info, "Checking for available free space..."); - manual_system_maintenance(true); - // Get SD Card free space for Partial Backup. f_getfree("", &sd_fs.free_clst, NULL); @@ -891,13 +892,16 @@ out: if (!partial_sd_full_unmount) sd_unmount(false); else + { + partial_sd_full_unmount = false; sd_unmount(true); + } } static int _restore_emmc_part(emmc_tool_gui_t *gui, char *sd_path, int active_part, sdmmc_storage_t *storage, emmc_part_t *part, bool allow_multi_part) { const u32 SECTORS_TO_MIB_COEFF = 11; - //! TODO switch to 800MHz + u32 totalSectors = part->lba_end - part->lba_start + 1; u32 currPartIdx = 0; u32 numSplitParts = 0; @@ -953,7 +957,7 @@ static int _restore_emmc_part(emmc_tool_gui_t *gui, char *sd_path, int active_pa if (f_stat(outFilename, &fno) && !gui->raw_emummc) { - s_printf(gui->txt_buf, "#FFDD00 Error (%d) file not found '%s'. Aborting...#\n", res, outFilename); + s_printf(gui->txt_buf, "#FFDD00 Error (%d) file not found#\n#FFDD00 %s.#\n#FFDD00 Aborting...#", res, outFilename); lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, gui->txt_buf); manual_system_maintenance(true); @@ -1194,7 +1198,7 @@ static int _restore_emmc_part(emmc_tool_gui_t *gui, char *sd_path, int active_pa {; lv_bar_set_value(gui->bar, pct); s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct); - lv_label_set_text(gui->label_pct, gui->txt_buf); + lv_label_set_array_text(gui->label_pct, gui->txt_buf, 32); manual_system_maintenance(true); prevPct = pct; } @@ -1252,14 +1256,14 @@ void restore_emmc_selected(emmcPartType_t restoreType, emmc_tool_gui_t *gui) int res = 0; u32 timer = 0; - //! TODO switch to 800MHz - manual_system_maintenance(true); - char *txt_buf = (char *)malloc(0x1000); gui->txt_buf = txt_buf; s_printf(txt_buf, ""); lv_label_set_array_text(gui->label_log, txt_buf, 0x1000); + manual_system_maintenance(true); + sd_unmount(true); + s_printf(txt_buf, "#FFDD00 This may render your device inoperative!#\n\n" "#FFDD00 Are you really sure?#"); diff --git a/nyx/nyx_gui/frontend/fe_emummc_tools.c b/nyx/nyx_gui/frontend/fe_emummc_tools.c index f83fa14..42e5a65 100644 --- a/nyx/nyx_gui/frontend/fe_emummc_tools.c +++ b/nyx/nyx_gui/frontend/fe_emummc_tools.c @@ -50,6 +50,9 @@ extern hekate_config h_cfg; extern bool sd_mount(); extern void sd_unmount(bool deinit); +#pragma GCC push_options +#pragma GCC target ("thumb") + void save_emummc_cfg(u32 part_idx, u32 sector_start, const char *path) { sd_mount(); @@ -98,6 +101,8 @@ void save_emummc_cfg(u32 part_idx, u32 sector_start, const char *path) f_close(&fp); } +#pragma GCC pop_options + static void _update_emummc_base_folder(char *outFilename, u32 sdPathLen, u32 currPartIdx) { if (currPartIdx < 10) @@ -255,7 +260,7 @@ static int _dump_emummc_file_part(emmc_tool_gui_t *gui, char *sd_path, sdmmc_sto if (res) { - s_printf(gui->txt_buf, "#FF0000 Fatal error (%d) when writing to SD Card#\nPlease try again...\n", res); + s_printf(gui->txt_buf, "\n#FF0000 Fatal error (%d) when writing to SD Card#\nPlease try again...\n", res); lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, gui->txt_buf); manual_system_maintenance(true); @@ -270,7 +275,7 @@ static int _dump_emummc_file_part(emmc_tool_gui_t *gui, char *sd_path, sdmmc_sto { lv_bar_set_value(gui->bar, pct); s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct); - lv_label_set_text(gui->label_pct, gui->txt_buf); + lv_label_set_array_text(gui->label_pct, gui->txt_buf, 32); manual_system_maintenance(true); prevPct = pct; @@ -300,18 +305,19 @@ static int _dump_emummc_file_part(emmc_tool_gui_t *gui, char *sd_path, sdmmc_sto void dump_emummc_file(emmc_tool_gui_t *gui) { - FILINFO fno; int res = 0; int base_len = 0; u32 timer = 0; - //! TODO switch to 800MHz - manual_system_maintenance(true); char *txt_buf = (char *)malloc(0x1000); gui->txt_buf = txt_buf; s_printf(txt_buf, ""); lv_label_set_array_text(gui->label_log, txt_buf, 0x1000); + manual_system_maintenance(true); + + sd_unmount(true); + if (!sd_mount()) { lv_label_set_static_text(gui->label_info, "#FFDD00 Failed to init SD!#"); @@ -343,7 +349,7 @@ void dump_emummc_file(emmc_tool_gui_t *gui) for (int j = 0; j < 100; j++) { _update_emummc_base_folder(sdPath, base_len, j); - if(f_stat(sdPath, &fno) == FR_NO_FILE) + if(f_stat(sdPath, NULL) == FR_NO_FILE) break; } @@ -489,7 +495,7 @@ static int _dump_emummc_raw_part(emmc_tool_gui_t *gui, int active_part, int part while (!sdmmc_storage_read(storage, lba_curr, num, buf)) { s_printf(gui->txt_buf, - "#FFDD00 Error reading %d blocks @LBA %08X,#\n" + "\n#FFDD00 Error reading %d blocks @LBA %08X,#\n" "#FFDD00 from eMMC (try %d). #", num, lba_curr, ++retryCount); lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, gui->txt_buf); @@ -517,7 +523,7 @@ static int _dump_emummc_raw_part(emmc_tool_gui_t *gui, int active_part, int part while (!sdmmc_storage_write(&sd_storage, sd_sector_off + lba_curr, num, buf)) { s_printf(gui->txt_buf, - "#FFDD00 Error writing %d blocks @LBA %08X,#\n" + "\n#FFDD00 Error writing %d blocks @LBA %08X,#\n" "#FFDD00 to SD (try %d). #", num, lba_curr, ++retryCount); lv_label_ins_text(gui->label_log, LV_LABEL_POS_LAST, gui->txt_buf); @@ -544,7 +550,7 @@ static int _dump_emummc_raw_part(emmc_tool_gui_t *gui, int active_part, int part { lv_bar_set_value(gui->bar, pct); s_printf(gui->txt_buf, " "SYMBOL_DOT" %d%%", pct); - lv_label_set_text(gui->label_pct, gui->txt_buf); + lv_label_set_array_text(gui->label_pct, gui->txt_buf, 32); manual_system_maintenance(true); prevPct = pct; @@ -562,7 +568,7 @@ static int _dump_emummc_raw_part(emmc_tool_gui_t *gui, int active_part, int part { u8 *mbr = (u8 *)malloc(0x200); sdmmc_storage_read(&sd_storage, 0, 1, mbr); - mbr[MBR_1ST_PART_TYPE_OFF + (0x10 * part_idx)] = 0xEE; + mbr[MBR_1ST_PART_TYPE_OFF + (0x10 * part_idx)] = 0xE0; sdmmc_storage_write(&sd_storage, 0, 1, mbr); free(mbr); } @@ -574,14 +580,16 @@ void dump_emummc_raw(emmc_tool_gui_t *gui, int part_idx, u32 sector_start) { int res = 0; u32 timer = 0; - //! TODO switch to 800MHz - manual_system_maintenance(true); char *txt_buf = (char *)malloc(0x1000); gui->txt_buf = txt_buf; s_printf(txt_buf, ""); lv_label_set_array_text(gui->label_log, txt_buf, 0x1000); + manual_system_maintenance(true); + + sd_unmount(true); + if (!sd_mount()) { lv_label_set_static_text(gui->label_info, "#FFDD00 Failed to init SD!#"); diff --git a/nyx/nyx_gui/frontend/gui.c b/nyx/nyx_gui/frontend/gui.c index 1a19773..06181a6 100644 --- a/nyx/nyx_gui/frontend/gui.c +++ b/nyx/nyx_gui/frontend/gui.c @@ -743,7 +743,7 @@ static bool do_reload = false; static void _check_sd_card_removed(void *params) { - // The following checks if sdmmc_1 is initialized. + // The following checks if SDMMC_1 is initialized. // If yes and card was removed, shows a message box, // that will reload Nyx, when the card is inserted again. if (!do_reload && get_sd_card_removed()) @@ -1421,6 +1421,27 @@ static lv_res_t _launch_action(lv_obj_t *btn) return LV_RES_OK; } + +typedef struct _launch_button_pos_t +{ + u16 btn_x; + u16 btn_y; + u16 lbl_x; + u16 lbl_y; + +} launch_button_pos_t; + +static const launch_button_pos_t launch_button_pos[8] = { + { 19, 36, 0, 245 }, + { 340, 36, 321, 245 }, + { 661, 36, 642, 245 }, + { 982, 36, 963, 245 }, + { 19, 313, 0, 522 }, + { 340, 313, 321, 522 }, + { 661, 313, 642, 522 }, + { 982, 313, 963, 522 } +}; + static lv_res_t _create_window_home_launch(lv_obj_t *btn) { char *icon_path; @@ -1428,6 +1449,7 @@ static lv_res_t _create_window_home_launch(lv_obj_t *btn) static lv_style_t btn_home_transp_rel; lv_style_copy(&btn_home_transp_rel, lv_theme_get_current()->btn.rel); btn_home_transp_rel.body.opa = LV_OPA_0; + btn_home_transp_rel.body.border.width = 4; static lv_style_t btn_home_transp_pr; lv_style_copy(&btn_home_transp_pr, lv_theme_get_current()->btn.pr); @@ -1457,17 +1479,14 @@ static lv_res_t _create_window_home_launch(lv_obj_t *btn) u32 max_entries = 8; lv_btn_ext_t * ext; - //! TODO: Use an array/loop for the initialization. // Create CFW buttons. - btn_boot_entry = lv_btn_create(win, NULL); - launch_ctxt[0] = btn_boot_entry; - - // Buttons are 200 x 200 with 4 pixel borders. // Icons must be <= 192 x 192. - // Button 0. + // Create first Button. + btn_boot_entry = lv_btn_create(win, NULL); + launch_ctxt[0] = btn_boot_entry; lv_obj_set_size(btn_boot_entry, 200, 200); - lv_obj_set_pos(btn_boot_entry, 19, 36); + lv_obj_set_pos(btn_boot_entry, launch_button_pos[0].btn_x, launch_button_pos[0].btn_y); lv_obj_set_opa_scale(btn_boot_entry, LV_OPA_0); lv_obj_set_opa_scale_enable(btn_boot_entry, true); lv_btn_set_layout(btn_boot_entry, LV_LAYOUT_OFF); @@ -1481,77 +1500,20 @@ static lv_res_t _create_window_home_launch(lv_obj_t *btn) lv_cont_set_fit(boot_entry_lbl_cont, false, false); lv_cont_set_layout(boot_entry_lbl_cont, LV_LAYOUT_CENTER); lv_obj_set_size(boot_entry_lbl_cont, 238, 20); - lv_obj_set_pos(boot_entry_lbl_cont, 0, 245); + lv_obj_set_pos(boot_entry_lbl_cont, launch_button_pos[0].lbl_x, launch_button_pos[0].lbl_y); - // Button 1. - btn_boot_entry = lv_btn_create(win, btn_boot_entry); - launch_ctxt[2] = btn_boot_entry; - lv_obj_set_pos(btn_boot_entry, 340, 36); + // Create the rest of the buttons. + for (u32 btn_idx = 2; btn_idx < 16; btn_idx += 2) + { + btn_boot_entry = lv_btn_create(win, btn_boot_entry); + launch_ctxt[btn_idx] = btn_boot_entry; + lv_obj_set_pos(btn_boot_entry, launch_button_pos[btn_idx >> 1].btn_x, launch_button_pos[btn_idx >> 1].btn_y); - boot_entry_lbl_cont = lv_cont_create(win, boot_entry_lbl_cont); - boot_entry_label = lv_label_create(boot_entry_lbl_cont, boot_entry_label); - lv_obj_set_pos(boot_entry_lbl_cont, 321, 245); - launch_ctxt[3] = boot_entry_label; - - // Button 2. - btn_boot_entry = lv_btn_create(win, btn_boot_entry); - launch_ctxt[4] = btn_boot_entry; - lv_obj_set_pos(btn_boot_entry, 661, 36); - - boot_entry_lbl_cont = lv_cont_create(win, boot_entry_lbl_cont); - boot_entry_label = lv_label_create(boot_entry_lbl_cont, boot_entry_label); - lv_obj_set_pos(boot_entry_lbl_cont, 642, 245); - launch_ctxt[5] = boot_entry_label; - - // Button 3. - btn_boot_entry = lv_btn_create(win, btn_boot_entry); - launch_ctxt[6] = btn_boot_entry; - lv_obj_set_pos(btn_boot_entry, 982, 36); - - boot_entry_lbl_cont = lv_cont_create(win, boot_entry_lbl_cont); - boot_entry_label = lv_label_create(boot_entry_lbl_cont, boot_entry_label); - lv_obj_set_pos(boot_entry_lbl_cont, 963, 245); - launch_ctxt[7] = boot_entry_label; - - // Button 4. - btn_boot_entry = lv_btn_create(win, btn_boot_entry); - launch_ctxt[8] = btn_boot_entry; - lv_obj_set_pos(btn_boot_entry, 19, 313); - - boot_entry_lbl_cont = lv_cont_create(win, boot_entry_lbl_cont); - boot_entry_label = lv_label_create(boot_entry_lbl_cont, boot_entry_label); - lv_obj_set_pos(boot_entry_lbl_cont, 0, 522); - launch_ctxt[9] = boot_entry_label; - - // Button 5. - btn_boot_entry = lv_btn_create(win, btn_boot_entry); - launch_ctxt[10] = btn_boot_entry; - lv_obj_set_pos(btn_boot_entry, 340, 313); - - boot_entry_lbl_cont = lv_cont_create(win, boot_entry_lbl_cont); - boot_entry_label = lv_label_create(boot_entry_lbl_cont, boot_entry_label); - lv_obj_set_pos(boot_entry_lbl_cont, 321, 522); - launch_ctxt[11] = boot_entry_label; - - // Button 6. - btn_boot_entry = lv_btn_create(win, btn_boot_entry); - launch_ctxt[12] = btn_boot_entry; - lv_obj_set_pos(btn_boot_entry, 661, 313); - - boot_entry_lbl_cont = lv_cont_create(win, boot_entry_lbl_cont); - boot_entry_label = lv_label_create(boot_entry_lbl_cont, boot_entry_label); - lv_obj_set_pos(boot_entry_lbl_cont, 642, 522); - launch_ctxt[13] = boot_entry_label; - - // Button 7. - btn_boot_entry = lv_btn_create(win, btn_boot_entry); - launch_ctxt[14] = btn_boot_entry; - lv_obj_set_pos(btn_boot_entry, 982, 313); - - boot_entry_lbl_cont = lv_cont_create(win, boot_entry_lbl_cont); - boot_entry_label = lv_label_create(boot_entry_lbl_cont, boot_entry_label); - lv_obj_set_pos(boot_entry_lbl_cont, 963, 522); - launch_ctxt[15] = boot_entry_label; + boot_entry_lbl_cont = lv_cont_create(win, boot_entry_lbl_cont); + boot_entry_label = lv_label_create(boot_entry_lbl_cont, boot_entry_label); + lv_obj_set_pos(boot_entry_lbl_cont, launch_button_pos[btn_idx >> 1].lbl_x, launch_button_pos[btn_idx >> 1].lbl_y); + launch_ctxt[btn_idx + 1] = boot_entry_label; + } // Parse ini boot entries and set buttons/icons. char *tmp_path = calloc(0x80, 1); @@ -1577,6 +1539,7 @@ static lv_res_t _create_window_home_launch(lv_obj_t *btn) icon_path = NULL; bool payload = false; lv_img_dsc_t *bmp = NULL; + lv_obj_t *img = NULL; // Check for icons. LIST_FOREACH_ENTRY(ini_kv_t, kv, &ini_sec->kvs, link) @@ -1613,31 +1576,38 @@ static lv_res_t _create_window_home_launch(lv_obj_t *btn) if (!bmp) bmp = icon_switch; - //Set icon and border/radius mask. + //Set icon. if (bmp) { - lv_obj_t *img = lv_img_create(launch_ctxt[x], NULL); + img = lv_img_create(launch_ctxt[x], NULL); lv_img_set_src(img, bmp); - lv_obj_t *btn = lv_btn_create(launch_ctxt[x], NULL); - lv_obj_set_size(btn, 200, 200); - lv_btn_set_style(btn, LV_BTN_STYLE_REL, &btn_home_transp_rel); - lv_btn_set_style(btn, LV_BTN_STYLE_PR, &btn_home_transp_pr); - lv_obj_align(img, NULL, LV_ALIGN_CENTER, 0, 0); - ext = lv_obj_get_ext_attr(btn); - ext->idx = i; - - if (!more_cfg) - lv_btn_set_action(btn, LV_BTN_ACTION_CLICK, _launch_action); - else - lv_btn_set_action(btn, LV_BTN_ACTION_CLICK, _launch_more_cfg_action); } + // Add button mask/radius and align icon. + lv_obj_t *btn = lv_btn_create(launch_ctxt[x], NULL); + lv_obj_set_size(btn, 200, 200); + lv_btn_set_style(btn, LV_BTN_STYLE_REL, &btn_home_transp_rel); + lv_btn_set_style(btn, LV_BTN_STYLE_PR, &btn_home_transp_pr); + if (img) + lv_obj_align(img, NULL, LV_ALIGN_CENTER, 0, 0); + + // Set autoboot index. + ext = lv_obj_get_ext_attr(btn); + ext->idx = i; + + // Set action. + if (!more_cfg) + lv_btn_set_action(btn, LV_BTN_ACTION_CLICK, _launch_action); + else + lv_btn_set_action(btn, LV_BTN_ACTION_CLICK, _launch_more_cfg_action); + // Set button's label text. lv_label_set_array_text(launch_ctxt[x + 1], ini_sec->name, strlen(ini_sec->name)); lv_obj_set_opa_scale(launch_ctxt[x + 1], LV_OPA_COVER); - //! TODO: Check strlen and decide on rolling text - //lv_label_set_long_mode(boot_entry_label, LV_LABEL_LONG_ROLL); + // Set rolling text if name is big. + if (strlen(ini_sec->name) > 22) + lv_label_set_long_mode(boot_entry_label, LV_LABEL_LONG_ROLL); i++; x += 2; diff --git a/nyx/nyx_gui/frontend/gui_emmc_tools.c b/nyx/nyx_gui/frontend/gui_emmc_tools.c index 036cd92..0071e8b 100644 --- a/nyx/nyx_gui/frontend/gui_emmc_tools.c +++ b/nyx/nyx_gui/frontend/gui_emmc_tools.c @@ -61,7 +61,11 @@ static void _create_window_backup_restore(emmcPartType_t type, const char* win_l emmc_tool_gui_ctxt.raw_emummc = emmc_btn_ctxt.raw_emummc; - lv_obj_t *win = nyx_create_standard_window(win_label); + char win_label_full[80]; + + s_printf(win_label_full, "%s%s", emmc_btn_ctxt.restore ? SYMBOL_DOWNLOAD" Restore " : SYMBOL_UPLOAD" Backup ", win_label+3); + + lv_obj_t *win = nyx_create_standard_window(win_label_full); //Disable buttons. nyx_window_toggle_buttons(win, true); @@ -108,20 +112,18 @@ static void _create_window_backup_restore(emmcPartType_t type, const char* win_l lv_obj_align(label_info, label_sep, LV_ALIGN_OUT_BOTTOM_LEFT, LV_DPI / 4, LV_DPI / 10); emmc_tool_gui_ctxt.label_info = label_info; - lv_style_t *bar_teal_bg, *bar_white_ind; - bar_teal_bg = (lv_style_t *)malloc(sizeof(lv_style_t)); - bar_white_ind = (lv_style_t *)malloc(sizeof(lv_style_t)); + static lv_style_t bar_teal_bg, bar_white_ind; - lv_style_copy(bar_teal_bg, lv_theme_get_current()->bar.bg); - bar_teal_bg->body.main_color = LV_COLOR_HEX(0x005a47); - bar_teal_bg->body.grad_color = bar_teal_bg->body.main_color; + lv_style_copy(&bar_teal_bg, lv_theme_get_current()->bar.bg); + bar_teal_bg.body.main_color = LV_COLOR_HEX(0x005a47); + bar_teal_bg.body.grad_color = bar_teal_bg.body.main_color; - lv_style_copy(bar_white_ind, lv_theme_get_current()->bar.indic); - bar_white_ind->body.main_color = LV_COLOR_HEX(0xF0F0F0); - bar_white_ind->body.grad_color = bar_white_ind->body.main_color; + lv_style_copy(&bar_white_ind, lv_theme_get_current()->bar.indic); + bar_white_ind.body.main_color = LV_COLOR_HEX(0xF0F0F0); + bar_white_ind.body.grad_color = bar_white_ind.body.main_color; - emmc_tool_gui_ctxt.bar_teal_bg = bar_teal_bg; - emmc_tool_gui_ctxt.bar_white_ind = bar_white_ind; + emmc_tool_gui_ctxt.bar_teal_bg = &bar_teal_bg; + emmc_tool_gui_ctxt.bar_white_ind = &bar_white_ind; lv_obj_t * bar = lv_bar_create(h1, NULL); lv_obj_set_size(bar, LV_DPI * 38 / 10, LV_DPI / 5); @@ -154,9 +156,6 @@ static void _create_window_backup_restore(emmcPartType_t type, const char* win_l restore_emmc_selected(type, &emmc_tool_gui_ctxt); nyx_window_toggle_buttons(win, false); - - free(bar_teal_bg); - free(bar_white_ind); } static lv_res_t _emmc_backup_buttons_decider(lv_obj_t *btn) diff --git a/nyx/nyx_gui/frontend/gui_emummc_tools.c b/nyx/nyx_gui/frontend/gui_emummc_tools.c index 626f287..1cecd1d 100644 --- a/nyx/nyx_gui/frontend/gui_emummc_tools.c +++ b/nyx/nyx_gui/frontend/gui_emummc_tools.c @@ -178,7 +178,7 @@ static void _create_mbox_emummc_raw() u32 curr_part_size = *(u32 *)&mbr[0x0C + (0x10 * i)]; sector_start = *(u32 *)&mbr[0x08 + (0x10 * i)]; u8 type = mbr[0x04 + (0x10 * i)]; - if ((curr_part_size > storage.sec_cnt) && sector_start && type != 0x83) //! TODO: For now it skips linux partitions. + if ((curr_part_size >= (storage.sec_cnt + 0x8000)) && sector_start && type != 0x83) //! TODO: For now it skips linux partitions. { part_idx = i; sector_start += 0x8000; @@ -191,7 +191,7 @@ static void _create_mbox_emummc_raw() if (part_idx) { s_printf(txt_buf, - "#C7EA46 Found applicable partition [%d]!#\n" + "#C7EA46 Found applicable partition: [Part %d]!#\n" "#FF8000 Do you want to continue?#\n\n", part_idx); } else @@ -283,7 +283,7 @@ static void _change_raw_emummc_part_type() static void _migrate_sd_raw_based() { - sector_start += 2; + sector_start = 2; sd_mount(); f_mkdir("emuMMC"); @@ -295,8 +295,6 @@ static void _migrate_sd_raw_based() f_write(&fp, §or_start, 4, NULL); f_close(&fp); - _change_raw_emummc_part_type(); - save_emummc_cfg(1, sector_start, "emuMMC/ER00"); sd_unmount(false); } @@ -391,9 +389,7 @@ static void _migrate_sd_backup_file_based() bool multipart = false; s_printf(path2, "%s/rawnand.bin", path); - FILINFO fno; - - if(f_stat(path2, &fno)) + if(f_stat(path2, NULL)) multipart = true; if (!multipart) @@ -572,24 +568,23 @@ static lv_res_t _create_mbox_emummc_migrate(lv_obj_t *btn) } } - FILINFO fno; s_printf(txt_buf, "%c%c%c%c%s", 's', 'x', 'o','s', "/emunand/boot0.bin"); - if(!f_stat(txt_buf, &fno)) + if(!f_stat(txt_buf, NULL)) file_based = true; bool rawnand_backup_found = false; emmcsn_path_impl(txt_buf, "", "BOOT0", &storage); - if(!f_stat(txt_buf, &fno)) + if(!f_stat(txt_buf, NULL)) backup = true; emmcsn_path_impl(txt_buf, "", "rawnand.bin", &storage); - if(!f_stat(txt_buf, &fno)) + if(!f_stat(txt_buf, NULL)) rawnand_backup_found = true; emmcsn_path_impl(txt_buf, "", "rawnand.bin.00", &storage); - if(!f_stat(txt_buf, &fno)) + if(!f_stat(txt_buf, NULL)) rawnand_backup_found = true; if (backup && rawnand_backup_found) @@ -637,7 +632,7 @@ static lv_res_t _create_mbox_emummc_migrate(lv_obj_t *btn) } else { - s_printf(txt_buf, "No foreign emunand or emuMMC found!\n\n"); + s_printf(txt_buf, "No emuMMC or foreign emunand found!\n\n"); lv_mbox_add_btns(mbox, mbox_btn_map3, mbox_action); } @@ -829,7 +824,7 @@ static lv_res_t _create_change_emummc_window() { s_printf(path, "emuMMC/%s/file_based", &emummc_img->dirlist[emummc_idx * 256]); - if(!f_stat(path, &fno)) + if(!f_stat(path, NULL)) { strcpy(&emummc_img->dirlist[file_based_idx * 256], &emummc_img->dirlist[emummc_idx * 256]); file_based_idx++; @@ -867,79 +862,58 @@ out0:; lv_line_set_style(line_sep, lv_theme_get_current()->line.decor); lv_obj_align(line_sep, label_txt, LV_ALIGN_OUT_BOTTOM_LEFT, -(LV_DPI / 4), LV_DPI / 8); - // Create RAW 1 button. - lv_obj_t *btn = lv_btn_create(h1, NULL); - lv_btn_ext_t *ext = lv_obj_get_ext_attr(btn); - ext->idx = 0; - lv_obj_t *btn_label = lv_label_create(btn, NULL); - if (emummc_img->part_type[0] != 0x83) - lv_label_set_static_text(btn_label, "SD RAW 1"); - else - lv_label_set_static_text(btn_label, "Linux"); - if (!emummc_img->part_sector[0] || emummc_img->part_type[0] == 0x83 || !emummc_img->part_path[0]) - { - lv_btn_set_state(btn, LV_BTN_STATE_INA); - lv_obj_set_click(btn, false); - } - - lv_btn_set_fit(btn, false, true); - lv_obj_set_width(btn, LV_DPI * 3); - lv_obj_align(btn, line_sep, LV_ALIGN_OUT_BOTTOM_LEFT, LV_DPI / 2, LV_DPI / 5); - lv_btn_set_action(btn, LV_BTN_ACTION_CLICK, _save_raw_emummc_cfg_action); - - lv_obj_t *lv_desc = lv_label_create(h1, NULL); - lv_label_set_recolor(lv_desc, true); + lv_obj_t *btn = NULL; + lv_btn_ext_t *ext; + lv_obj_t *btn_label = NULL; + lv_obj_t *lv_desc = NULL; char *txt_buf = malloc(0x500); - s_printf(txt_buf, "Sector start: 0x%08X\nFolder: %s", emummc_img->part_sector[0], &emummc_img->part_path[0]); - lv_label_set_array_text(lv_desc, txt_buf, 0x500); - lv_obj_set_style(lv_desc, &hint_small_style); - lv_obj_align(lv_desc, btn, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 5); - // Create RAW 2 button. - btn = lv_btn_create(h1, btn); - ext = lv_obj_get_ext_attr(btn); - ext->idx = 1; - btn_label = lv_label_create(btn, btn_label); - if (emummc_img->part_type[1] != 0x83) - lv_label_set_static_text(btn_label, "SD RAW 2"); - else - lv_label_set_static_text(btn_label, "Linux"); - if (!emummc_img->part_sector[1] || emummc_img->part_type[1] == 0x83 || !emummc_img->part_path[32]) + // Create RAW buttons. + for (u32 raw_btn_idx = 0; raw_btn_idx < 3; raw_btn_idx++) { - lv_btn_set_state(btn, LV_BTN_STATE_INA); - lv_obj_set_click(btn, false); + btn = lv_btn_create(h1, btn); + ext = lv_obj_get_ext_attr(btn); + ext->idx = raw_btn_idx; + btn_label = lv_label_create(btn, btn_label); + + lv_btn_set_state(btn, LV_BTN_STATE_REL); + lv_obj_set_click(btn, true); + + if (emummc_img->part_type[raw_btn_idx] != 0x83) + { + s_printf(txt_buf, "SD RAW %d", raw_btn_idx + 1); + lv_label_set_array_text(btn_label, txt_buf, 32); + } + + if (!emummc_img->part_sector[raw_btn_idx] || emummc_img->part_type[raw_btn_idx] == 0x83 || !emummc_img->part_path[raw_btn_idx * 128]) + { + lv_btn_set_state(btn, LV_BTN_STATE_INA); + lv_obj_set_click(btn, false); + + if (emummc_img->part_type[raw_btn_idx] == 0x83) + lv_label_set_static_text(btn_label, "Linux"); + } + + if (!raw_btn_idx) + { + lv_btn_set_fit(btn, false, true); + lv_obj_set_width(btn, LV_DPI * 3); + lv_obj_align(btn, line_sep, LV_ALIGN_OUT_BOTTOM_LEFT, LV_DPI / 2, LV_DPI / 5); + } + else + lv_obj_align(btn, lv_desc, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 3); + + lv_btn_set_action(btn, LV_BTN_ACTION_CLICK, _save_raw_emummc_cfg_action); + + lv_desc = lv_label_create(h1, lv_desc); + lv_label_set_recolor(lv_desc, true); + lv_obj_set_style(lv_desc, &hint_small_style); + + s_printf(txt_buf, "Sector start: 0x%08X\nFolder: %s", emummc_img->part_sector[raw_btn_idx], &emummc_img->part_path[raw_btn_idx * 128]); + lv_label_set_array_text(lv_desc, txt_buf, 0x500); + lv_obj_align(lv_desc, btn, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 5); } - lv_obj_align(btn, lv_desc, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 3); - lv_btn_set_action(btn, LV_BTN_ACTION_CLICK, _save_raw_emummc_cfg_action); - - lv_desc = lv_label_create(h1, lv_desc); - s_printf(txt_buf, "Sector start: 0x%08X\nFolder: %s", emummc_img->part_sector[1], &emummc_img->part_path[32]); - lv_label_set_array_text(lv_desc, txt_buf, 0x500); - lv_obj_align(lv_desc, btn, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 5); - - // Create RAW 3 button. - btn = lv_btn_create(h1, btn); - ext = lv_obj_get_ext_attr(btn); - ext->idx = 2; - btn_label = lv_label_create(btn, btn_label); - if (emummc_img->part_type[2] != 0x83) - lv_label_set_static_text(btn_label, "SD RAW 3"); - else - lv_label_set_static_text(btn_label, "Linux"); - - if (!emummc_img->part_sector[2] || emummc_img->part_type[2] == 0x83 || !emummc_img->part_path[64]) - { - lv_btn_set_state(btn, LV_BTN_STATE_INA); - lv_obj_set_click(btn, false); - } - lv_obj_align(btn, lv_desc, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 3); - lv_btn_set_action(btn, LV_BTN_ACTION_CLICK, _save_raw_emummc_cfg_action); - - lv_desc = lv_label_create(h1, lv_desc); - s_printf(txt_buf, "Sector start: 0x%08X\nFolder: %s", emummc_img->part_sector[2], &emummc_img->part_path[64]); - lv_label_set_array_text(lv_desc, txt_buf, 0x500); - lv_obj_align(lv_desc, btn, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 5); // Create SD File Based container. lv_obj_t *h2 = lv_cont_create(win, NULL); diff --git a/nyx/nyx_gui/frontend/gui_info.c b/nyx/nyx_gui/frontend/gui_info.c index 62af1bd..32b7747 100644 --- a/nyx/nyx_gui/frontend/gui_info.c +++ b/nyx/nyx_gui/frontend/gui_info.c @@ -275,11 +275,7 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn) { case 0: case 4: - memcpy(dram_man, "Samsung ", 9); - if (!dram_id) - memcpy(dram_man + strlen(dram_man), "4GB", 4); - else - memcpy(dram_man + strlen(dram_man), "6GB", 4); + s_printf(dram_man, "Samsung %s", (!dram_id) ? "4GB" : "6GB"); break; case 1: memcpy(dram_man, "Hynix 4GB", 10); @@ -1078,7 +1074,7 @@ void create_tab_info(lv_theme_t *th, lv_obj_t *parent) lv_line_set_style(line_sep, &line_style); // Create Fuses button. - lv_obj_t *btn3 = lv_btn_create(h1, NULL); + lv_obj_t *btn3 = lv_btn_create(h1, btn); label_btn = lv_label_create(btn3, NULL); lv_btn_set_fit(btn3, true, true); lv_label_set_static_text(label_btn, SYMBOL_CIRCUIT" Fuses "); diff --git a/nyx/nyx_gui/frontend/gui_tools.c b/nyx/nyx_gui/frontend/gui_tools.c index 532e53f..f1f9843 100644 --- a/nyx/nyx_gui/frontend/gui_tools.c +++ b/nyx/nyx_gui/frontend/gui_tools.c @@ -121,7 +121,7 @@ static lv_res_t _create_mbox_autorcm_status(lv_obj_t *btn) { lv_mbox_set_text(mbox, "AutoRCM is now #FF8000 DISABLED!#\n\n" - "The boot process is now normal and you need the #FF8000 VOL-# + #FF8000 HOME# (jig) combo to enter RCM.\n"); + "The boot process is now normal and you need the #FF8000 VOL+# + #FF8000 HOME# (jig) combo to enter RCM.\n"); } lv_mbox_add_btns(mbox, mbox_btn_map, mbox_action); @@ -611,17 +611,14 @@ void sept_run_dump() _create_window_dump_pk12_tool(NULL); } -static void _create_tab_tools_emmc_pkg12(lv_theme_t *th, lv_obj_t *parent) +static lv_obj_t *_create_container(lv_obj_t *parent) { - lv_page_set_scrl_layout(parent, LV_LAYOUT_PRETTY); - static lv_style_t h_style; lv_style_copy(&h_style, &lv_style_transp); h_style.body.padding.inner = 0; h_style.body.padding.hor = LV_DPI - (LV_DPI / 4); h_style.body.padding.ver = LV_DPI / 6; - // Create Backup & Restore container. lv_obj_t *h1 = lv_cont_create(parent, NULL); lv_cont_set_style(h1, &h_style); lv_cont_set_fit(h1, false, true); @@ -629,6 +626,16 @@ static void _create_tab_tools_emmc_pkg12(lv_theme_t *th, lv_obj_t *parent) lv_obj_set_click(h1, false); lv_cont_set_layout(h1, LV_LAYOUT_OFF); + return h1; +} + +static void _create_tab_tools_emmc_pkg12(lv_theme_t *th, lv_obj_t *parent) +{ + lv_page_set_scrl_layout(parent, LV_LAYOUT_PRETTY); + + // Create Backup & Restore container. + lv_obj_t *h1 = _create_container(parent); + lv_obj_t *label_sep = lv_label_create(h1, NULL); lv_label_set_static_text(label_sep, ""); @@ -675,19 +682,14 @@ static void _create_tab_tools_emmc_pkg12(lv_theme_t *th, lv_obj_t *parent) label_txt2 = lv_label_create(h1, NULL); lv_label_set_recolor(label_txt2, true); lv_label_set_static_text(label_txt2, - "Allows you to restore your eMMC partitions individually or as\n" - "a whole raw image to your SD card.\n" + "Allows you to restore your eMMC/emuMMC partitions individually\n" + "or as a whole raw image from your SD card.\n" "#FF8000 Supports SD cards from 4GB and up. FAT32 and exFAT. #"); lv_obj_set_style(label_txt2, &hint_small_style); lv_obj_align(label_txt2, btn2, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 3); // Create Misc container. - lv_obj_t *h2 = lv_cont_create(parent, NULL); - lv_cont_set_style(h2, &h_style); - lv_cont_set_fit(h2, false, true); - lv_obj_set_width(h2, (LV_HOR_RES / 9) * 4); - lv_obj_set_click(h2, false); - lv_cont_set_layout(h2, LV_LAYOUT_OFF); + lv_obj_t *h2 = _create_container(parent); lv_obj_align(h2, h1, LV_ALIGN_OUT_RIGHT_TOP, 0, 0); label_sep = lv_label_create(h2, NULL); @@ -731,19 +733,8 @@ static void _create_tab_tools_arc_autorcm(lv_theme_t *th, lv_obj_t *parent) { lv_page_set_scrl_layout(parent, LV_LAYOUT_PRETTY); - static lv_style_t h_style; - lv_style_copy(&h_style, &lv_style_transp); - h_style.body.padding.inner = 0; - h_style.body.padding.hor = LV_DPI - (LV_DPI / 4); - h_style.body.padding.ver = LV_DPI / 6; - // Create Misc container. - lv_obj_t *h1 = lv_cont_create(parent, NULL); - lv_cont_set_style(h1, &h_style); - lv_cont_set_fit(h1, false, true); - lv_obj_set_width(h1, (LV_HOR_RES / 9) * 4); - lv_obj_set_click(h1, false); - lv_cont_set_layout(h1, LV_LAYOUT_OFF); + lv_obj_t *h1 = _create_container(parent); lv_obj_t *label_sep = lv_label_create(h1, NULL); lv_label_set_static_text(label_sep, ""); @@ -798,12 +789,7 @@ static void _create_tab_tools_arc_autorcm(lv_theme_t *th, lv_obj_t *parent) lv_obj_align(label_txt2, btn2, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 3); // Create Others container. - lv_obj_t *h2 = lv_cont_create(parent, NULL); - lv_cont_set_style(h2, &h_style); - lv_cont_set_fit(h2, false, true); - lv_obj_set_width(h2, (LV_HOR_RES / 9) * 4); - lv_obj_set_click(h2, false); - lv_cont_set_layout(h2, LV_LAYOUT_OFF); + lv_obj_t *h2 = _create_container(parent); lv_obj_align(h2, h1, LV_ALIGN_OUT_RIGHT_TOP, 0, 0); label_sep = lv_label_create(h2, NULL); diff --git a/nyx/nyx_gui/libs/lv_conf.h b/nyx/nyx_gui/libs/lv_conf.h index efd4667..d53f09f 100644 --- a/nyx/nyx_gui/libs/lv_conf.h +++ b/nyx/nyx_gui/libs/lv_conf.h @@ -163,7 +163,7 @@ * LV_LOG_LEVEL_WARN Log if something unwanted happened but didn't caused problem * LV_LOG_LEVEL_ERROR Only critical issue, when the system may fail */ -# define LV_LOG_LEVEL LV_LOG_LEVEL_TRACE +# define LV_LOG_LEVEL LV_LOG_LEVEL_ERROR /* 1: Print the log with 'printf'; 0: user need to register a callback*/ # define LV_LOG_PRINTF 1 #endif /*USE_LV_LOG*/ diff --git a/nyx/nyx_gui/libs/lvgl/lv_objx/lv_win.c b/nyx/nyx_gui/libs/lvgl/lv_objx/lv_win.c index 8f1cc87..318da42 100644 --- a/nyx/nyx_gui/libs/lvgl/lv_objx/lv_win.c +++ b/nyx/nyx_gui/libs/lvgl/lv_objx/lv_win.c @@ -201,6 +201,7 @@ lv_obj_t * lv_win_add_btn(lv_obj_t * win, const void * img_src, const char * lab else if (label_src) { lv_obj_t *label = lv_label_create(btn, NULL); + lv_label_set_recolor(label, true); lv_label_set_text(label, label_src); } diff --git a/nyx/nyx_gui/libs/lvgl/ref/2017031823595300-57B4628D2267231D57E0FC1078C0596D.jpg b/nyx/nyx_gui/libs/lvgl/ref/2017031823595300-57B4628D2267231D57E0FC1078C0596D.jpg deleted file mode 100644 index 1d1ed8071ce73919fa851e57cc607f38f58b3b3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67711 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 diff --git a/nyx/nyx_gui/libs/lvgl/ref/2017031900001400-57B4628D2267231D57E0FC1078C0596D.jpg b/nyx/nyx_gui/libs/lvgl/ref/2017031900001400-57B4628D2267231D57E0FC1078C0596D.jpg deleted file mode 100644 index 7b5d70fd8945e80981d4a29dc0d26afea4657daa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75176 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

Ic)z0BA?rxRtiBC_3$)M z-TQ9aShqjxKkGY_?GSIDntA#COt@%-rOk|A%Mfuo_0|F4^>a_>U*;s8iX#kKTlRl} zka8_Qt6KJHx%S0oJ;?UZE{>^A-3Rt9w%7ct&922>4NZHcTb_wmi9zRLYF8T!bJl(P zdc~-k8lK|py6Vv@;99?p?-z)=grk`e+@kaINFy-Y=uV0*0cW^Xbb(L&$m6;l9TzeZ zfFXcyNlV@gLJ}F=Erl+>3frr>(!~`Xc|l)tQ@4it49_Q8b1g}de0x7jcL+^uf7y*m ztAd>}1KV+iCm3y^a1z+nY|!lPHDOJ0a}C^8KVKFJlR%D`HhNaYKJyfcJpx-Yz0l{W zJ)UJSe93>OyieaT8tPD6Y;YIp@(Z+b*h))1u)2PII~fHroj9$VbqjnQ-f+I@f8xJ$ zTT3J_T-9*rN&gJ|B8oODKYVD*?(8jM@aU|WXMp6nI)qGwMN)fzFD*`6Pu~}qxzhbZ zq#WemnYa>Ln?nzlE7~kbJ{V$hW>8`*5?}l;W^M=l6!p3Z`3+7v3Lx#cesMH(J>JP02;H;OqTA`gRwq(e)sk?&QB_&PJ5T#+8Oihu1h4A4=!_!UbpbBkCyVHQTKR5p zMmUft64kBoiOAWsuT}}`!G;p2<-BK%dvkH~ev`pkJ>x@lv$4PF+F(qfULXTJj#|2T-Os)lLs&S6YzXl(nl~x1aP=Q)4U=jLd+{iz){71C6nI*X}Ye((o#36IU7=Kp=iL#r|la2Y0Xd2*|3|aDet=Aa~%f{4J!!S{*aZ0 zjdi7{f6I|PK)T#%pzZ+oAf$+nF%qt;=qM~=8{yFPHa??k{pg^r7?nzZ({jU7`~1@M3%q)(M=x* zAe3Q8TTVs)u-b+`w2Bt0JD@Ge`z9g>u zBTv_!Qp+SVG&%J@S5$knVS98PHT;77>Z|Zl3xP^0)lUNH72R@&LRW<2RHNQr`p{f< zaS~aeFsI|S*wQNmc1LnoO9YCNj@LbG4iwuRJ}~7<7~SUKpMDp#k$n^uWQ)c}VIUTo z*$v8MOMA}s#N^U~zJ6dHXt4o{@r!0k#?7aau~NUO(?)rp;Lbca5rz_UOcnOL?3i+m z|Dw7DeednA9vMy#i2-@s*=jc%gQ$V&1_TIi z31-;6LVN8_=DsE|&gC1NLrrAZ=h%0A?XP1}kT={Kk9+(4SzjUQy^3-R?}Z*);lkyv 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 HkKum<-hy0` diff --git a/nyx/nyx_gui/libs/lvgl/ref/2017091903111300-57B4628D2267231D57E0FC1078C0596D.jpg b/nyx/nyx_gui/libs/lvgl/ref/2017091903111300-57B4628D2267231D57E0FC1078C0596D.jpg deleted file mode 100644 index 471aafcc7f46c734ea8c6b7523f48681542bb99c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78744 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%0Dpa|P&7Qs7Tb}FkUB{Fop_Z@?n#?C8u zF7d94(wQ$VT2oA2ksrDjv6Pb{bLs80(|n*TDpL;n1i2lb)-gl8?)+*reT~&~U&7-I_vjGTV@XP!w~3dYAduK1WvWgVIcUnr4|KBOJEPrtFj*$R?n0iQ5u@*i_FG79>9idN^rcez&W6cpJN@Qowd)SC-g3PVrD0j> z&V>)xn52mUX4`^M3hOXhSVYU2tUY{!%+$8%OKdyfIVRV z!!_Ea9l-H!ygkh3`0ckbj@vl7ce>bvYN_3BTj=$R!4?=kI~c$DJIrm0RH;GKD{Fq+ zcbn37p04-|+0PdiQ_}AtDLR&q**3QL8Il<^#pc4#nb$Q2W1HSxl=IBWdm3dqIQN)# z(RU~93%LVA|%6mdB8{EPn25XXfi0^35qIOFB0 z0lM{W&TKRM?VB}L=N~{^7*#pYSHWwi7UWaGYetWJ!E1BgCNKIiF7ru*Z8G`dn9Cjm zrPeAtvM<%#zJa$gd9VevdJv5Ky`zzfa0jv1?L=5PftB*^QkR9R;?VM_r`T0Hv!TkO z%GaMhDTq9=sK@okzy;=&5I%Egg=Xs*TwB)um?tap{PJ1ea{7?F zic*sCT&WBqudA3w&ito6=>HdaO#ky^a7y>8k7%@5T2CgpSk&mBL+yP)d}Y5Y?9Q`P|m`K9ni8d~z?*2Bv{+X=>2o8gfZAtcTv~F`-nrwMSG&JA2#bsXE zb1o9%qHzyr7I8$Wc$NaMjABlw1Vrzd4-W}9>ic-Z#@t3^r77c>;|`N*;}P6xR3XF# zq;$Z#>JWTX0UX8BwBMBvFDPKqAtAP_Nk4e9$k>soYVXavPIr&?-?1p($JncUWc5sE zA4)`nlu(B8SwWNqN*%v%I3_12cm5K=;F#j^MPKdV2R2?u4ig@rj36$K_i^TYuyttr zrlMUamtq55Ka&Lgnj4(=Oq7yur?IAUnO~BUqA%_7Rp??WM1i))jwOV^IjTf6RU_t> z;%T>iBp+YPz@k?%J(s2T)iPB}TQSTIoo{rnXKc`W*1#CI@47ATy9&*&`Cx7>&>{*f9Zgf26G%6+&syJC%`iAsu%|Rlw^&&6;mMMr*G$8p1?D(q z&s9=~Szc-usm)Sl7H@^(e}1#w1}S_kG} zSO&>-8hrH@h7093cPz?j`cwhZjN5$9!|2`!6VF1LbTm|xB1FcWqa02_Dqbo{qqtnm zu{eUnFMXs3Vpv!$t=KnBc2uRwMze&sehe8-b5e=8zT$utP9_;>!e2DRC~Uf3+8e> zIh{+eNL+t?8$0xv+PP@key)) h_cfg.verification = atoi(kv->val); else if (!strcmp("backlight", kv->key)) + { h_cfg.backlight = atoi(kv->val); + if (h_cfg.backlight <= 20) + h_cfg.backlight = 30; + } else if (!strcmp("autohosoff", kv->key)) h_cfg.autohosoff = atoi(kv->val); else if (!strcmp("autonogc", kv->key)) @@ -398,9 +403,6 @@ extern void pivot_stack(u32 stack_top); void ipl_main() { - //Pivot the stack so we have enough space. - pivot_stack(IPL_STACK_TOP); - //Tegra/Horizon configuration goes to 0x80000000+, package2 goes to 0xA9800000, we place our heap in between. heap_init(IPL_HEAP_START); diff --git a/nyx/nyx_gui/power/max7762x.c b/nyx/nyx_gui/power/max7762x.c index 2c8cff4..0a76867 100644 --- a/nyx/nyx_gui/power/max7762x.c +++ b/nyx/nyx_gui/power/max7762x.c @@ -23,6 +23,9 @@ #define REGULATOR_SD 0 #define REGULATOR_LDO 1 +#pragma GCC push_options +#pragma GCC target ("thumb") + typedef struct _max77620_regulator_t { u8 type; @@ -163,3 +166,5 @@ void max77620_low_battery_monitor_config() i2c_send_byte(I2C_5, MAX77620_I2C_ADDR, MAX77620_REG_CNFGGLBL1, MAX77620_CNFGGLBL1_LBDAC_EN | MAX77620_CNFGGLBL1_LBHYST_N | MAX77620_CNFGGLBL1_LBDAC_N); } + +#pragma GCC pop_options diff --git a/nyx/nyx_gui/soc/bpmp.c b/nyx/nyx_gui/soc/bpmp.c index 0c61d85..a0551d1 100644 --- a/nyx/nyx_gui/soc/bpmp.c +++ b/nyx/nyx_gui/soc/bpmp.c @@ -72,6 +72,9 @@ #define MMU_EN_READ (1 << 2) #define MMU_EN_WRITE (1 << 3) +#pragma GCC push_options +#pragma GCC target ("thumb") + bpmp_mmu_entry_t mmu_entries[] = { { 0x80000000, 0xFFFFFFFF, MMU_EN_READ | MMU_EN_WRITE | MMU_EN_EXEC | MMU_EN_CACHED, true }, @@ -215,3 +218,4 @@ void bpmp_clk_rate_set(bpmp_freq_t fid) } } +#pragma GCC pop_options diff --git a/nyx/nyx_gui/soc/clock.c b/nyx/nyx_gui/soc/clock.c index 2a472eb..df9634d 100644 --- a/nyx/nyx_gui/soc/clock.c +++ b/nyx/nyx_gui/soc/clock.c @@ -19,6 +19,9 @@ #include "../utils/util.h" #include "../storage/sdmmc.h" +#pragma GCC push_options +#pragma GCC target ("thumb") + /* clock_t: reset, enable, source, index, clk_src, clk_div */ static const clock_t _clock_uart[] = { @@ -527,3 +530,5 @@ void clock_sdmmc_disable(u32 id) _clock_sdmmc_clear_enable(id); _clock_sdmmc_is_reset(id); } + +#pragma GCC pop_options diff --git a/nyx/nyx_gui/soc/cluster.c b/nyx/nyx_gui/soc/cluster.c index 1976e11..4633bae 100644 --- a/nyx/nyx_gui/soc/cluster.c +++ b/nyx/nyx_gui/soc/cluster.c @@ -23,6 +23,9 @@ #include "../power/max77620.h" #include "../power/max7762x.h" +#pragma GCC push_options +#pragma GCC target ("thumb") + void _cluster_enable_power() { u8 tmp = i2c_recv_byte(I2C_5, MAX77620_I2C_ADDR, MAX77620_REG_AME_GPIO); // Get current pinmuxing @@ -131,3 +134,5 @@ void cluster_boot_cpu0(u32 entry) // < 5.x: 0x411F000F, Clear CPU{0,1,2,3} POR and CORE, CX0, L2, and DBG reset. CLOCK(CLK_RST_CONTROLLER_RST_CPUG_CMPLX_CLR) = 0x41010001; } + +#pragma GCC pop_options diff --git a/nyx/nyx_gui/soc/fuse.c b/nyx/nyx_gui/soc/fuse.c index 54a93a0..4704abb 100644 --- a/nyx/nyx_gui/soc/fuse.c +++ b/nyx/nyx_gui/soc/fuse.c @@ -22,6 +22,9 @@ #include "../soc/fuse.h" #include "../soc/t210.h" +#pragma GCC push_options +#pragma GCC target ("thumb") + #define ARRAYSIZE(x) (sizeof(x) / sizeof(*x)) static const u32 evp_thunk_template[] = { @@ -347,3 +350,5 @@ bool fuse_check_patched_rcm() return false; } + +#pragma GCC pop_options diff --git a/nyx/nyx_gui/start.S b/nyx/nyx_gui/start.S index 534f963..c520ef1 100644 --- a/nyx/nyx_gui/start.S +++ b/nyx/nyx_gui/start.S @@ -36,7 +36,7 @@ _start: /* If we are not in the right location already, copy a relocator to upper IRAM. */ ADR R2, _reloc_ipl - LDR R3, =0x4003FF00 + LDR R3, =0x4003FFE0 MOV R4, #(_real_start - _reloc_ipl) _copy_loop: LDMIA R2!, {R5} @@ -48,7 +48,7 @@ _copy_loop: LDR R2, =__ipl_end SUB R2, R2, R1 LDR R3, =_real_start - LDR R4, =0x4003FF00 + LDR R4, =0x4003FFE0 BX R4 _reloc_ipl: @@ -61,7 +61,7 @@ _reloc_ipl: _real_start: /* Initially, we place our stack in IRAM but will move it to SDRAM later. */ - LDR SP, =0x4003FF00 + LDR SP, =0x90010000 LDR R0, =__bss_start EOR R1, R1, R1 LDR R2, =__bss_end diff --git a/nyx/nyx_gui/storage/sdmmc.c b/nyx/nyx_gui/storage/sdmmc.c index a28d3dd..a893d08 100644 --- a/nyx/nyx_gui/storage/sdmmc.c +++ b/nyx/nyx_gui/storage/sdmmc.c @@ -29,6 +29,9 @@ extern hekate_config h_cfg; +#pragma GCC push_options +#pragma GCC target ("thumb") + static inline u32 unstuff_bits(u32 *resp, u32 start, u32 size) { const u32 mask = (size < 32 ? 1 << size : 0) - 1; @@ -1199,3 +1202,5 @@ int sdmmc_storage_init_gc(sdmmc_storage_t *storage, sdmmc_t *sdmmc) return 1; } + +#pragma GCC pop_options diff --git a/nyx/res/icon_lakka.bmp b/nyx/resources/icon_lakka.bmp similarity index 100% rename from nyx/res/icon_lakka.bmp rename to nyx/resources/icon_lakka.bmp diff --git a/nyx/res/icon_payload.bmp b/nyx/resources/icon_payload.bmp similarity index 100% rename from nyx/res/icon_payload.bmp rename to nyx/resources/icon_payload.bmp diff --git a/nyx/res/icon_switch.bmp b/nyx/resources/icon_switch.bmp similarity index 100% rename from nyx/res/icon_switch.bmp rename to nyx/resources/icon_switch.bmp