This commit is contained in:
Souldbminer 2024-12-17 16:19:37 +08:00 committed by GitHub
commit e1953c1976
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 128 additions and 123 deletions

View file

@ -249,13 +249,13 @@ static lv_res_t _create_mbox_cal0(lv_obj_t *btn)
// Check result. Don't error if hash doesn't match.
if (cal0_res == 1)
{
lv_label_set_text(lb_desc, "#FFDD00 Failed to init eMMC!#");
lv_label_set_text(lb_desc, "#FFDD00 Failed to init the eMMC!#");
goto out;
}
else if (cal0_res == 2)
{
lv_label_set_text(lb_desc, "#FFDD00 CAL0 is corrupt or wrong keys!#\n");
lv_label_set_text(lb_desc, "#FFDD00 CAL0 is corrupt or has the wrong keys!#\n");
goto out;
}
@ -271,7 +271,7 @@ static lv_res_t _create_mbox_cal0(lv_obj_t *btn)
"#FF8000 WLAN MAC:# %02X:%02X:%02X:%02X:%02X:%02X\n"
"#FF8000 Bluetooth MAC:# %02X:%02X:%02X:%02X:%02X:%02X\n"
"#FF8000 Battery LOT:# %s (%d)\n"
"#FF8000 LCD Vendor:# ",
"#FF8000 Display Vendor:# ",
cal0->version, cal0->update_cnt, cal0->serial_number,
cal0->wlan_mac[0], cal0->wlan_mac[1], cal0->wlan_mac[2], cal0->wlan_mac[3], cal0->wlan_mac[4], cal0->wlan_mac[5],
cal0->bd_mac[0], cal0->bd_mac[1], cal0->bd_mac[2], cal0->bd_mac[3], cal0->bd_mac[4], cal0->bd_mac[5],
@ -384,12 +384,12 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
"SoC Speedo 0 (SoC Val):\n"
"SoC Speedo 1 (BROM rev):\n"
"SoC Speedo 2:\n"
"CPU IDDQ Val:\n"
"SoC IDDQ Val:\n"
"Gpu IDDQ Val:\n"
"CPU IDDQ Value:\n"
"SoC IDDQ Value:\n"
"GPU IDDQ Value:\n"
"Vendor Code:\n"
"FAB Code:\n"
"LOT Code 0:\n"
"LOT Code:\n"
"Wafer ID:\n"
"X Coordinate:\n"
"Y Coordinate:"
@ -424,7 +424,7 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
sku = "Aula - Fric";
break;
default:
sku = "#FF8000 Unknown#";
sku = "#FF8000 Unknown. This should not happen#";
break;
}
@ -438,7 +438,7 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
strcpy(dram_man, "Samsung K4F6E304HB-MGCH 4GB");
break;
case LPDDR4_ICOSA_4GB_HYNIX_H9HCNNNBPUMLHR_NLE:
strcpy(dram_man, "Hynix H9HCNNNBPUMLHR-NLE 4GB");
strcpy(dram_man, "SK Hynix H9HCNNNBPUMLHR-NLE 4GB");
break;
case LPDDR4_ICOSA_4GB_MICRON_MT53B512M32D2NP_062_WTC:
strcpy(dram_man, "Micron MT53B512M32D2NP-062 WT:C");
@ -450,7 +450,7 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
strcpy(dram_man, "Samsung K4FBE3D4HM-MGXX 8GB");
break;
default:
strcpy(dram_man, "#FF8000 Unknown#");
strcpy(dram_man, "#FF8000 Unknown. This should not happen#");
break;
}
}
@ -469,7 +469,7 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
break;
case LPDDR4X_IOWA_4GB_HYNIX_H9HCNNNBKMMLHR_NME:
case LPDDR4X_HOAG_4GB_HYNIX_H9HCNNNBKMMLHR_NME:
strcpy(dram_man, "Hynix H9HCNNNBKMMLHR-NME 4GB");
strcpy(dram_man, "SK Hynix H9HCNNNBKMMLHR-NME 4GB");
break;
case LPDDR4X_IOWA_4GB_MICRON_MT53E512M32D2NP_046_WTE: // 4266Mbps.
case LPDDR4X_HOAG_4GB_MICRON_MT53E512M32D2NP_046_WTE: // 4266Mbps.
@ -500,12 +500,12 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
case LPDDR4X_HOAG_4GB_HYNIX_H9HCNNNBKMMLXR_NEE: // Replaced from Copper.
case LPDDR4X_AULA_4GB_HYNIX_H9HCNNNBKMMLXR_NEE: // Replaced from Copper.
case LPDDR4X_IOWA_4GB_HYNIX_H9HCNNNBKMMLXR_NEE: // Replaced from Copper.
strcpy(dram_man, "Hynix H9HCNNNBKMMLXR-NEE 4GB");
strcpy(dram_man, "SK Hynix H9HCNNNBKMMLXR-NEE 4GB");
break;
case LPDDR4X_IOWA_4GB_HYNIX_H54G46CYRBX267:
case LPDDR4X_HOAG_4GB_HYNIX_H54G46CYRBX267:
case LPDDR4X_AULA_4GB_HYNIX_H54G46CYRBX267:
strcpy(dram_man, "Hynix H54G46CYRBX267 4GB");
strcpy(dram_man, "SK Hynix H54G46CYRBX267 4GB");
break;
case LPDDR4X_IOWA_4GB_MICRON_MT53E512M32D1NP_046_WTB:
case LPDDR4X_HOAG_4GB_MICRON_MT53E512M32D1NP_046_WTB:
@ -514,7 +514,7 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
break;
default:
strcpy(dram_man, "#FF8000 Contact me!#");
strcpy(dram_man, "#FF8000 Open an issue on GitHub#");
break;
}
}
@ -530,22 +530,22 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
switch (burnt_fuses_hos)
{
case 0:
strcpy(fuses_hos_version, "#96FF00 Golden sample#");
strcpy(fuses_hos_version, "#96FF00 Rare Sample Firmware#");
break;
case 1:
strcpy(fuses_hos_version, "1.0.0");
strcpy(fuses_hos_version, "1.0.0 - Exploitable");
break;
case 2:
strcpy(fuses_hos_version, "2.0.0 - 2.3.0");
strcpy(fuses_hos_version, "2.0.0 - 2.3.0 - Exploitable");
break;
case 3:
strcpy(fuses_hos_version, "3.0.0");
strcpy(fuses_hos_version, "3.0.0 - Exploitable");
break;
case 4:
strcpy(fuses_hos_version, "3.0.1 - 3.0.2");
strcpy(fuses_hos_version, "3.0.1 - 3.0.2 - Exploitable");
break;
case 5:
strcpy(fuses_hos_version, "4.0.0 - 4.1.0");
strcpy(fuses_hos_version, "4.0.0 - 4.1.0 - Exploitable");
break;
case 6:
strcpy(fuses_hos_version, "5.0.0 - 5.1.0");
@ -593,10 +593,10 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
strcpy(fuses_hos_version, "19.0.0+");
break;
case 255:
strcpy(fuses_hos_version, "#FFD000 Overburnt#");
strcpy(fuses_hos_version, "#FFD000 Fuses overburnt#");
break;
default:
strcpy(fuses_hos_version, "#FF8000 Unknown#");
strcpy(fuses_hos_version, "#FF8000 Unknown. This should not happen#");
break;
}
@ -675,7 +675,7 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
break;
*/
case 6:
strcat(txt_buf, "Hynix");
strcat(txt_buf, "SK Hynix");
break;
/*
case 8:
@ -732,7 +732,7 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
strcat(txt_buf, "Micron");
break;
default:
s_printf(txt_buf + strlen(txt_buf), "#FF8000 Unknown# (%d)", ram_vendor.chip1.rank0_ch0);
s_printf(txt_buf + strlen(txt_buf), "#FF8000 Unknown. This should not happen# (%d)", ram_vendor.chip1.rank0_ch0);
break;
}
s_printf(txt_buf + strlen(txt_buf), "\n#FF8000 Rev ID:# %X.%02X #FF8000 |# %X.%02X\n#FF8000 Density:# %d",
@ -740,19 +740,19 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
switch ((ram_density.chip0.rank0_ch0 & 0x3C) >> 2)
{
case 2:
strcat(txt_buf, " x 512MB");
strcat(txt_buf, " x 512MB. This should not happen");
break;
case 3:
strcat(txt_buf, " x 768MB");
strcat(txt_buf, " x 768MB. This should not happen");
break;
case 4:
strcat(txt_buf, " x 1GB");
break;
case 5:
strcat(txt_buf, " x 1.5GB");
strcat(txt_buf, " x 1.5GB. This should not happen");
break;
case 6:
strcat(txt_buf, " x 2GB");
strcat(txt_buf, " x 2GB. This should not happen");
break;
default:
s_printf(txt_buf + strlen(txt_buf), " x Unk (%d)", (ram_density.chip0.rank0_ch0 & 0x3C) >> 2);
@ -762,19 +762,19 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
switch ((ram_density.chip1.rank0_ch0 & 0x3C) >> 2)
{
case 2:
strcat(txt_buf, " x 512MB");
strcat(txt_buf, " x 512MB. This should not happen");
break;
case 3:
strcat(txt_buf, " x 768MB");
strcat(txt_buf, " x 768MB. This should not happen");
break;
case 4:
strcat(txt_buf, " x 1GB");
break;
case 5:
strcat(txt_buf, " x 1.5GB");
strcat(txt_buf, " x 1.5GB. This should not happen");
break;
case 6:
strcat(txt_buf, " x 2GB");
strcat(txt_buf, " x 2GB. This should not happen");
break;
default:
s_printf(txt_buf + strlen(txt_buf), " x Unk (%d)", (ram_density.chip1.rank0_ch0 & 0x3C) >> 2);
@ -819,7 +819,7 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
strcat(txt_buf, "-???");
break;
default:
strcat(txt_buf, " #FFDD00 Contact me!#");
strcat(txt_buf, " #FFDD00 Open a GitHub issue!#");
break;
}
break;
@ -846,7 +846,7 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
strcat(txt_buf, "??");
break;
default:
strcat(txt_buf, " #FFDD00 Contact me!#");
strcat(txt_buf, " #FFDD00 Open a GitHub issue#");
break;
}
break;
@ -864,13 +864,13 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
strcat(txt_buf, "Samsung AMS699VC01");
break;
case PANEL_OEM_CLONE_6_2:
strcat(txt_buf, "#FFDD00 OEM Clone 6.2\"#");
strcat(txt_buf, "#FFDD00 Clone Display 6.2in\"#");
break;
case PANEL_OEM_CLONE_5_5:
strcat(txt_buf, "#FFDD00 OEM Clone 5.5\"#");
strcat(txt_buf, "#FFDD00 Clone Display 5.5in\"#");
break;
case PANEL_OEM_CLONE:
strcat(txt_buf, "#FFDD00 OEM Clone#");
strcat(txt_buf, "#FFDD00 Clone Display#");
break;
case 0xCCCC:
strcat(txt_buf, "#FFDD00 Failed to get info!#");
@ -891,7 +891,7 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
strcat(txt_buf, "Samsung ");
break;
}
strcat(txt_buf, "Unknown #FFDD00 Contact me!#");
strcat(txt_buf, "Unknown #FFDD00 Open an issue on GitHub!#");
break;
}
@ -988,9 +988,9 @@ static lv_res_t _create_window_fuses_info_status(lv_obj_t *btn)
// Check if patched unit.
if (!fuse_check_patched_rcm())
strcat(txt_buf, "\n\n#96FF00 This unit is exploitable#\n#96FF00 to the RCM bug!#");
strcat(txt_buf, "\n\n#96FF00 This unit is exploitable#\n#96FF00 with the RCM bug!#");
else
strcat(txt_buf, "\n\n#FF8000 This unit is patched#\n#FF8000 to the RCM bug!#");
strcat(txt_buf, "\n\n#FF8000 This unit is patched#\n#FF8000 against the RCM bug!#");
lv_label_set_text(lb_desc2, txt_buf);
@ -1044,7 +1044,7 @@ static lv_res_t _create_window_bootrom_info_status(lv_obj_t *btn)
u32 res = fuse_read_ipatch(_ipatch_process);
if (res != 0)
s_printf(txt_buf + strlen(txt_buf), "#FFDD00 Failed to read ipatches. Error: %d#", res);
s_printf(txt_buf + strlen(txt_buf), "#FFDD00 Failed to read the ipatches. Error: %d#", res);
lv_label_set_text(lb_desc, txt_buf);
@ -1087,7 +1087,7 @@ static lv_res_t _create_mbox_lockpick(lv_obj_t *btn)
lv_mbox_set_recolor_text(mbox, true);
lv_mbox_set_text(mbox, "#FF8000 Lockpick RCM#\n\nThis will launch Lockpick RCM.\nDo you want to continue?\n\n"
"To return back from lockpick use\n#96FF00 Reboot to hekate#.");
"To return back from Lockpick use the \n#96FF00 Reboot to hekate# option.");
lv_mbox_add_btns(mbox, mbox_btn_map, _launch_lockpick_action);
lv_obj_set_width(mbox, LV_HOR_RES / 9 * 5);
@ -1190,7 +1190,7 @@ static lv_res_t _create_mbox_emmc_sandisk_report(lv_obj_t * btn)
//"#FF8000 VD Recover Operations:# %d\n"
"#FF8000 Total Writes SLC:# %d MB\n"
"#FF8000 Total Writes MLC:# %d MB\n"
"#FF8000 BigFile limit status:# %d\n"
"#FF8000 Big File limit status:# %d\n"
"#FF8000 Average Erases Hybrid:# %d",
//rpt->avg_erase_cycles_sys,
@ -1242,7 +1242,7 @@ static lv_res_t _create_mbox_emmc_sandisk_report(lv_obj_t * btn)
"#FF8000 Uncorrectable ECC:# %d\n"
"#FF8000 Temperature Now:# %d oC\n"
//"#FF8000 Temperature Min:# %d oC\n"
"#FF8000 Temperature Max:# %d oC\n"
"#FF8000 Temperature Maximum:# %d oC\n"
"#FF8000 Health Level EUDA:# %d%%\n"
//"#FF8000 Health Level SYS:# %d%%\n"
"#FF8000 Health Level MLC:# %d%%",
@ -1349,7 +1349,7 @@ static lv_res_t _create_mbox_benchmark(bool sd_bench)
if (res)
{
lv_mbox_set_text(mbox, "#FFDD00 Failed to init Storage!#");
lv_mbox_set_text(mbox, "#FFDD00 Failed to init Storage. This might be a hardware issue!#");
goto out;
}
@ -1594,7 +1594,7 @@ static lv_res_t _create_window_emmc_info_status(lv_obj_t *btn)
if (!emmc_initialize(false))
{
lv_label_set_text(lb_desc, "#FFDD00 Failed to init eMMC!#");
lv_label_set_text(lb_desc, "#FFDD00 Failed to init eMMC chip!#");
lv_obj_set_width(lb_desc, lv_obj_get_width(desc));
emmc_errors = emmc_get_error_count();
@ -1622,9 +1622,12 @@ static lv_res_t _create_window_emmc_info_status(lv_obj_t *btn)
strcat(txt_buf, "Samsung ");
break;
case 0x45: // Unofficial.
strcat(txt_buf, "SanDisk ");
strcat(txt_buf, "SanDisk (Unofficial) ");
lv_win_add_btn(win, NULL, SYMBOL_FILE_ALT" Device Report", _create_mbox_emmc_sandisk_report);
break;
case 0x89:
strcat(txt_buf, "Silicon Motion (Unofficial) ");
break;
case 0x90:
strcat(txt_buf, "SK Hynix ");
break;
@ -1719,7 +1722,7 @@ static lv_res_t _create_window_emmc_info_status(lv_obj_t *btn)
"Month/Year:\n\n"
"#00DDFF Ext CSD:#\n"
"Cmd Classes:\n"
"Max Rate:\n"
"Maximum Rate:\n"
"Current Rate:\n"
"Type Support:\n\n"
"Write Cache:\n"
@ -1787,7 +1790,7 @@ static lv_res_t _create_window_emmc_info_status(lv_obj_t *btn)
idx++;
}
if (!idx)
strcat(txt_buf, "#FFDD00 Partition table is empty!#");
strcat(txt_buf, "#FFDD00 GPP Partition table is empty!#");
emmc_gpt_free(&gpt);
@ -1811,10 +1814,10 @@ out_error:
lv_mbox_set_recolor_text(mbox, true);
s_printf(txt_buf,
"#FF8000 eMMC Issues Check#\n\n"
"#FFDD00 Your eMMC is initialized in slower mode,#\n"
"#FFDD00 or init/read/write errors occurred!#\n"
"#FFDD00 This might mean hardware issues!#\n\n"
"#FF8000 eMMC Issue Detected#\n\n"
"#FFDD00 Your eMMC is initialized in a slow mode,#\n"
"#FFDD00 or an init/read/write error occurred!#\n"
"#FFDD00 This might be a hardware issue!#\n\n"
"#00DDFF Bus Speed:# %d MB/s\n\n"
"#00DDFF SDMMC4 Errors:#\n"
"Init fails: %d\n"
@ -1890,7 +1893,7 @@ static lv_res_t _create_window_sdcard_info_status(lv_obj_t *btn)
switch (sd_storage.cid.manfid)
{
case 0x00:
strcat(txt_buf, "Fake ");
strcat(txt_buf, "Fake SD Card");
break;
case 0x01:
strcat(txt_buf, "Panasonic ");
@ -2201,13 +2204,13 @@ static lv_res_t _create_window_battery_status(lv_obj_t *btn)
lv_label_set_static_text(lb_desc,
"#00DDFF Fuel Gauge IC Info:#\n"
"Capacity now:\n"
"Capacity full:\n"
"Current Capacity:\n"
"Full Capacity:\n"
"Capacity (design):\n"
"Current now:\n"
"Current average:\n"
"Voltage now:\n"
"Voltage open-circuit:\n"
"Current Voltade:\n"
"Open-circuit voltage:\n"
"Min voltage reached:\n"
"Max voltage reached:\n"
"Empty voltage:\n"
@ -2309,9 +2312,9 @@ static lv_res_t _create_window_battery_status(lv_obj_t *btn)
"#00DDFF Battery Charger IC Info:#\n"
"Input current limit:\n"
"System voltage limit:\n"
"Charge current limit:\n"
"Charge voltage limit:\n"
"Charge status:\n"
"Charging current limit:\n"
"Charging voltage limit:\n"
"Charging status:\n"
"Temperature status:\n\n"
"#00DDFF USB-PD IC Info:#\n"
"Connection status:\n"
@ -2353,7 +2356,7 @@ static lv_res_t _create_window_battery_status(lv_obj_t *btn)
strcat(txt_buf, "Fast charging\n");
break;
case 3:
strcat(txt_buf, "Charge terminated\n");
strcat(txt_buf, "Charging terminated\n");
break;
default:
s_printf(txt_buf + strlen(txt_buf), "Unknown (%d)\n", value);
@ -2524,8 +2527,8 @@ void create_tab_info(lv_theme_t *th, lv_obj_t *parent)
if (lockpick_found)
{
lv_label_set_static_text(label_txt2,
"View Ipatches and dump the unpatched and patched versions\nof BootROM.\n"
"Or dump every single key via #C7EA46 Lockpick RCM#.\n");
"View the Ipatches and dump the unpatched and patched versions the \nof BootROM,\n"
"Or dump every single key with #C7EA46 Lockpick RCM#.\n");
}
else
{
@ -2564,8 +2567,8 @@ void create_tab_info(lv_theme_t *th, lv_obj_t *parent)
lv_label_set_recolor(label_txt4, true);
lv_label_set_static_text(label_txt4,
"View and dump the cached #C7EA46 Fuses# and #C7EA46 KFuses#.\n"
"Fuses contain info about the SoC/SKU and KFuses HDCP keys.\n"
"You can also see info about #C7EA46 DRAM#, #C7EA46 Screen# and #C7EA46 Touch panel#.");
"Fuses contain information about the SoC/SKU and KFuses HDCP keys.\n"
"You can also see information about #C7EA46 DRAM#, #C7EA46 Screen# and #C7EA46 Touch panel#.");
lv_obj_set_style(label_txt4, &hint_small_style);
lv_obj_align(label_txt4, btn3, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 3);
@ -2613,8 +2616,8 @@ void create_tab_info(lv_theme_t *th, lv_obj_t *parent)
lv_obj_t *label_txt5 = lv_label_create(h2, NULL);
lv_label_set_recolor(label_txt5, true);
lv_label_set_static_text(label_txt5,
"View info about the eMMC or microSD and their partition list.\n"
"Additionally you can benchmark read speeds.");
"View info about the eMMC chip or microSD card and their partition list.\n"
"Additionally you can benchmark their speeds.");
lv_obj_set_style(label_txt5, &hint_small_style);
lv_obj_align(label_txt5, btn5, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 3);
@ -2638,8 +2641,8 @@ void create_tab_info(lv_theme_t *th, lv_obj_t *parent)
lv_obj_t *label_txt6 = lv_label_create(h2, NULL);
lv_label_set_recolor(label_txt6, true);
lv_label_set_static_text(label_txt6,
"View battery and battery charger related info.\n"
"Additionally you can dump battery charger's registers.\n");
"View information related to the battery.\n"
"Also enables dumping the battery charger registers.\n");
lv_obj_set_style(label_txt6, &hint_small_style);
lv_obj_align(label_txt6, btn7, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 3);
}

View file

@ -25,7 +25,7 @@
#include <libs/lvgl/lvgl.h>
#define CLOCK_MIN_YEAR 2024
#define CLOCK_MAX_YEAR (CLOCK_MIN_YEAR + 10)
#define CLOCK_MAX_YEAR (CLOCK_MIN_YEAR + 50)
#define CLOCK_YEARLIST "2024\n2025\n2026\n2027\n2028\n2029\n2030\n2031\n2032\n2033\n2034"
extern hekate_config h_cfg;
@ -209,7 +209,7 @@ static void _create_autoboot_window()
lv_label_set_static_text(label_sep, "");
lv_obj_t *label_txt = lv_label_create(h1, NULL);
lv_label_set_static_text(label_txt, "Main configurations");
lv_label_set_static_text(label_txt, "Main configuration");
lv_obj_set_style(label_txt, lv_theme_get_current()->label.prim);
lv_obj_align(label_txt, label_sep, LV_ALIGN_OUT_BOTTOM_LEFT, LV_DPI / 4, -(LV_DPI / 4));
@ -366,9 +366,9 @@ static lv_res_t _save_nyx_options_action(lv_obj_t *btn)
nyx_changes_made = false;
if (res)
lv_mbox_set_text(mbox, "#FF8000 Nyx Configuration#\n\n#96FF00 The configuration was saved to sd card!#");
lv_mbox_set_text(mbox, "#FF8000 Nyx Configuration#\n\n#96FF00 The updated configuration has been saved to the microSD card!#");
else
lv_mbox_set_text(mbox, "#FF8000 Nyx Configuration#\n\n#FFDD00 Failed to save the configuration#\n#FFDD00 to sd card!#");
lv_mbox_set_text(mbox, "#FF8000 Nyx Configuration#\n\n#FFDD00 Failed to save the configuration#\n#FFDD00 to microSD card!#");
lv_mbox_add_btns(mbox, mbox_btn_map, NULL);
lv_obj_align(mbox, NULL, LV_ALIGN_CENTER, 0, 0);
lv_obj_set_top(mbox, true);
@ -618,10 +618,9 @@ static lv_res_t _create_window_nyx_colors(lv_obj_t *btn)
lv_obj_t *lbl_test = lv_label_create(h2, NULL);
lv_label_set_long_mode(lbl_test, LV_LABEL_LONG_BREAK);
lv_label_set_static_text(lbl_test,
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, "
"sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. "
"Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris "
"nisi ut aliquip ex ea commodo consequat.");
"This is a test message to show text colors, "
"The quick brown fox jumped over the lazy dog. "
"123456789 !@#$%^&*()-_=+[]\;'./,{}|:"<>? ");
lv_obj_set_width(lbl_test, lv_obj_get_width(h2) - LV_DPI * 6 / 10);
lv_obj_align(lbl_test, lbl_sample, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 5);
color_test.label = lbl_test;
@ -745,7 +744,7 @@ static lv_res_t _create_mbox_clock_edit(lv_obj_t *btn)
lv_mbox_set_recolor_text(mbox, true);
lv_obj_set_width(mbox, LV_HOR_RES / 9 * 6);
lv_mbox_set_text(mbox, "Enter #C7EA46 Date# and #C7EA46 Time# for Nyx\nThis will not alter the actual HW clock!");
lv_mbox_set_text(mbox, "Enter #C7EA46 Date# and #C7EA46 Time# for Nyx\nThis will not alter the clock outside of Nyx!");
// Get current time.
rtc_time_t time;
@ -892,6 +891,7 @@ save_data:
if (!nx_hoag)
{
// Save binary dump.
memcpy(data, &jc_pad->bt_conn_l, sizeof(jc_bt_conn_t));
memcpy(data + sizeof(jc_bt_conn_t), &jc_pad->bt_conn_r, sizeof(jc_bt_conn_t));
@ -1049,7 +1049,7 @@ disabled_or_cal0_issue:;
// Check if pairing info was found.
if (joycon_found == 2)
strcat(txt_buf, "#C7EA46 Success!#\n#C7EA46 Found 2 out of 2 Joy-Con pairing data!#\n");
strcat(txt_buf, "#C7EA46 Success!#\n#C7EA46 Found Joy-Con pairing data!#\n");
else
{
s_printf(txt_buf + strlen(txt_buf), "#FF8000 Failed!#\n#FF8000 Warning:# Found #FFDD00 %d out of 2# pairing data!\n", joycon_found);
@ -1061,24 +1061,24 @@ disabled_or_cal0_issue:;
strcat(txt_buf, "#C7EA46 Both pairing data are HOS based!#");
else if (!is_l_hos && is_r_hos)
{
strcat(txt_buf, "#FF8000 Warning:# #FFDD00 Left# pairing data is not HOS based!");
strcat(txt_buf, "#FF8000 Warning:# #FFDD00 Left# pairing data is not Horizon Os based! Re-pair Joy-Cons to fix");
success = false;
}
else if (is_l_hos && !is_r_hos)
{
strcat(txt_buf, "#FF8000 Warning:# #FFDD00 Right# pairing data is not HOS based!");
strcat(txt_buf, "#FF8000 Warning:# #FFDD00 Right# pairing data is not Horizon OS based! Re-pair Joy-Cons to fix");
success = false;
}
else
{
strcat(txt_buf, "#FF8000 Warning:# #FFDD00 No# pairing data is HOS based!");
strcat(txt_buf, "#FF8000 Warning:# #FFDD00 No# pairing data is Horizon OS based! Re-pair Joy-Cons to fix.");
success = false;
}
if (!success)
strcat(txt_buf,
"\n\n#FFDD00 Make sure that both Joy-Con are connected,#\n"
"#FFDD00 and that you paired them in HOS!#");
"\n\n#FFDD00 Make sure that both Joy-Cons are connected,#\n"
"#FFDD00 and that you have paired them in Horizon OS!#");
if (cal_error)
s_printf(txt_buf + strlen(txt_buf), "\n\n#FF8000 Warning: Failed (%d) to get IMU calibration!#", cal_error);
@ -1276,9 +1276,9 @@ lv_res_t create_win_nyx_options(lv_obj_t *parrent_btn)
label_txt2 = lv_label_create(sw_h2, NULL);
lv_label_set_recolor(label_txt2, true);
lv_label_set_static_text(label_txt2,
"Sets the boot entries per line to 5. (Default is 4)\n"
"#C7EA46 This allows a total of 10 boot entries to be shown in Launch#\n"
"#C7EA46 and More Configs sections.#\n\n\n");
"Sets the boot entries visible per line to 5. (Default is 4)\n"
"#C7EA46 This allows a total of 10 boot entries to be shown in the Launch#\n"
"#C7EA46 and More Configs menus.#\n\n\n");
lv_obj_set_style(label_txt2, &hint_small_style);
lv_obj_align(label_txt2, btn2, LV_ALIGN_OUT_BOTTOM_LEFT, LV_DPI / 4, LV_DPI / 12);
@ -1325,7 +1325,7 @@ lv_res_t create_win_nyx_options(lv_obj_t *parrent_btn)
label_txt2 = lv_label_create(sw_h3, NULL);
lv_label_set_static_text(label_txt2, "Set the type of data verification done for backup and restore.\n"
"Can be canceled without losing the backup/restore.\n");
"Can be changed without losing the backup/restore.\n");
lv_obj_set_style(label_txt2, &hint_small_style);
lv_obj_align(label_txt2, label_txt, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 4);
@ -1461,8 +1461,8 @@ void create_tab_options(lv_theme_t *th, lv_obj_t *parent)
label_txt2 = lv_label_create(l_cont, NULL);
lv_label_set_recolor(label_txt2, true);
lv_label_set_static_text(label_txt2,
"Set how long to show bootlogo when autoboot is enabled.\n"
"#C7EA46 You can press# #FF8000 VOL-# #C7EA46 during that time to enter hekate's menu.#\n");
"Sets how long to show bootlogo when autoboot is enabled.\n"
"#C7EA46 You can press# #FF8000 VOL-# #C7EA46 during that time to enter the hekate menu.#\n");
lv_obj_set_style(label_txt2, &hint_small_style);
lv_obj_align(label_txt2, label_txt, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 4);
@ -1477,8 +1477,8 @@ void create_tab_options(lv_theme_t *th, lv_obj_t *parent)
label_txt2 = lv_label_create(sw_h2, NULL);
lv_label_set_recolor(label_txt2, true);
lv_label_set_static_text(label_txt2,
"It checks fuses and applies the patch automatically\n"
"if higher firmware. It is now a global config and set\n"
"This option checks fuses and applies the patch automatically\n"
"if a higher firmwareis present. It is now a global config and set\n"
"at auto by default. (ON: Auto)\n\n\n");
lv_obj_set_style(label_txt2, &hint_small_style);
lv_obj_align(label_txt2, btn2, LV_ALIGN_OUT_BOTTOM_LEFT, LV_DPI / 4, LV_DPI / 12);
@ -1493,7 +1493,7 @@ void create_tab_options(lv_theme_t *th, lv_obj_t *parent)
label_txt2 = lv_label_create(sw_h3, NULL);
lv_label_set_static_text(label_txt2,
"When Shutdown is used from HOS, the device wakes up after\n"
"When Shutdown is used from Horizon OS, the device wakes up after\n"
"15s. Enable this to automatically power off on the next\npayload injection.");
lv_obj_set_style(label_txt2, &hint_small_style);
lv_obj_align(label_txt2, btn3, LV_ALIGN_OUT_BOTTOM_LEFT, LV_DPI / 4, LV_DPI / 12);

View file

@ -203,7 +203,7 @@ static lv_res_t _create_mbox_hid(usb_ctxt_t *usbs)
lv_obj_t *lbl_tip = lv_label_create(mbox, NULL);
lv_label_set_recolor(lbl_tip, true);
lv_label_set_static_text(lbl_tip, "Note: To end it, press #C7EA46 L3# + #C7EA46 HOME# or remove the cable.");
lv_label_set_static_text(lbl_tip, "Note: To end HID Emulation, press #C7EA46 L3# + #C7EA46 HOME# or remove the cable.");
lv_obj_set_style(lbl_tip, &hint_small_style);
lv_mbox_add_btns(mbox, mbox_btn_map, mbox_action);
@ -282,20 +282,20 @@ static lv_res_t _create_mbox_ums(usb_ctxt_t *usbs)
if (usbs->type == MMC_SD)
{
lv_label_set_static_text(lbl_tip,
"Note: To end it, #C7EA46 safely eject# from inside the OS.\n"
"Note: To end UMS, #C7EA46 safely eject the device# from inside your OS.\n"
" #FFDD00 DO NOT remove the cable!#");
}
else
{
lv_label_set_static_text(lbl_tip,
"Note: To end it, #C7EA46 safely eject# from inside the OS.\n"
"Note: To end UMS, #C7EA46 safely eject the devuce# from inside your OS.\n"
" #FFDD00 If it's not mounted, you might need to remove the cable!#");
}
}
else
{
lv_label_set_static_text(lbl_tip,
"Note: To end it, #C7EA46 safely eject# from inside the OS\n"
"Note: To end it, #C7EA46 safely eject the device# from inside your OS\n"
" or by removing the cable!#");
}
lv_obj_set_style(lbl_tip, &hint_small_style);
@ -333,10 +333,10 @@ static lv_res_t _create_mbox_ums_error(int error)
switch (error)
{
case 1:
lv_mbox_set_text(mbox, "#FF8000 USB Mass Storage#\n\n#FFFF00 Error mounting SD Card!#");
lv_mbox_set_text(mbox, "#FF8000 USB Mass Storage#\n\n#FFFF00 Error mounting the SD Card!#");
break;
case 2:
lv_mbox_set_text(mbox, "#FF8000 USB Mass Storage#\n\n#FFFF00 No emuMMC found active!#");
lv_mbox_set_text(mbox, "#FF8000 USB Mass Storage#\n\n#FFFF00 No active emuMMC found!#");
break;
case 3:
lv_mbox_set_text(mbox, "#FF8000 USB Mass Storage#\n\n#FFFF00 Active emuMMC is not partition based!#");
@ -982,8 +982,8 @@ static lv_res_t _create_window_unset_abit_tool(lv_obj_t *btn)
// Check errors.
if (total[2] || total[3])
{
s_printf(txt_buf, "\n\n#FFDD00 Errors: folder accesses: %d, arc bit fixes: %d!#\n"
"#FFDD00 Filesystem should be checked for errors.#",
s_printf(txt_buf, "\n\n#FFDD00 Errors: folder accesses: %d, archive bit fixes: %d!#\n"
"#FFDD00 SD Card Filesystem should be checked for errors.#",
total[2], total[3]);
}
@ -1012,7 +1012,7 @@ static lv_res_t _create_mbox_fix_touchscreen(lv_obj_t *btn)
lv_mbox_set_recolor_text(mbox, true);
char *txt_buf = malloc(SZ_16K);
strcpy(txt_buf, "#FF8000 Don't touch the screen!#\n\nThe tuning process will start in ");
strcpy(txt_buf, "#FF8000 Don't touch the screen!#\n\nThe calibration process will start in ");
u32 text_idx = strlen(txt_buf);
lv_mbox_set_text(mbox, txt_buf);
@ -1187,6 +1187,8 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
{
strcat(txt_buf, "#FFDD00 Unknown pkg1 version!#");
lv_label_set_text(lb_desc, txt_buf);
strcat(txt_buf, "#FFDD00 Try updating hekate or your CFW!#");
lv_label_set_text(lb_desc, txt_buf);
manual_system_maintenance(true);
if (!res)
@ -1218,7 +1220,7 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
{
if (!pkg1_decrypt(pkg1_id, pkg1))
{
strcat(txt_buf, "#FFDD00 Pkg1 decryption failed!#\n");
strcat(txt_buf, "#FFDD00 Package1 decryption failed!#\n");
if (h_cfg.t210b01)
strcat(txt_buf, "#FFDD00 Is BEK missing?#\n");
lv_label_set_text(lb_desc, txt_buf);
@ -1233,10 +1235,10 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
// Display info.
s_printf(txt_buf + strlen(txt_buf),
"#C7EA46 NX Bootloader size: #0x%05X\n"
"#C7EA46 Secure monitor addr: #0x%05X\n"
"#C7EA46 Bootloader size: #0x%05X\n"
"#C7EA46 Secure monitor address: #0x%05X\n"
"#C7EA46 Secure monitor size: #0x%05X\n"
"#C7EA46 Warmboot addr: #0x%05X\n"
"#C7EA46 Warmboot adress: #0x%05X\n"
"#C7EA46 Warmboot size: #0x%05X\n\n",
hdr_pk11->ldr_size, pkg1_id->secmon_base, hdr_pk11->sm_size, pkg1_id->warmboot_base, hdr_pk11->wb_size);
@ -1317,7 +1319,7 @@ static lv_res_t _create_window_dump_pk12_tool(lv_obj_t *btn)
pkg2_hdr_t *pkg2_hdr = pkg2_decrypt(pkg2, kb);
if (!pkg2_hdr)
{
strcat(txt_buf, "#FFDD00 Pkg2 decryption failed!#");
strcat(txt_buf, "#FFDD00 Package2 decryption failed!#");
lv_label_set_text(lb_desc, txt_buf);
manual_system_maintenance(true);
@ -1476,10 +1478,10 @@ static void _create_tab_tools_emmc_pkg12(lv_theme_t *th, lv_obj_t *parent)
lv_obj_t *label_txt2 = lv_label_create(h1, NULL);
lv_label_set_recolor(label_txt2, true);
lv_label_set_static_text(label_txt2,
"Allows you to backup the eMMC partitions individually or as\n"
"Allows you to backup eMMC partitions individually or as\n"
"a whole raw image to the SD card.\n"
"#C7EA46 Supports SD cards from# #FF8000 4GB# #C7EA46 and up. #"
"#FF8000 FAT32# #C7EA46 and ##FF8000 exFAT##C7EA46 .#");
"#C7EA46 Supports SD cards from# #FF8000 4GB# #C7EA46 and up, with the #"
"#FF8000 FAT32# #C7EA46 and ##FF8000 exFAT##C7EA46#Filesystems");
lv_obj_set_style(label_txt2, &hint_small_style);
lv_obj_align(label_txt2, btn, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 3);
@ -1493,10 +1495,10 @@ 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 the eMMC/emuMMC partitions individually\n"
"Allows you to restore eMMC/emuMMC partitions individually\n"
"or as a whole raw image from the SD card.\n"
"#C7EA46 Supports SD cards from# #FF8000 4GB# #C7EA46 and up. #"
"#FF8000 FAT32# #C7EA46 and ##FF8000 exFAT##C7EA46 .#");
"#C7EA46 Supports SD cards from# #FF8000 4GB# #C7EA46 and up, with the #"
"#FF8000 FAT32# #C7EA46 and ##FF8000 exFAT##C7EA46#Filesystems");
lv_obj_set_style(label_txt2, &hint_small_style);
lv_obj_align(label_txt2, btn2, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 3);
@ -1532,7 +1534,7 @@ static void _create_tab_tools_emmc_pkg12(lv_theme_t *th, lv_obj_t *parent)
lv_label_set_recolor(label_txt4, true);
lv_label_set_static_text(label_txt4,
"Allows you to partition the SD Card for using it with #C7EA46 emuMMC#,\n"
"#C7EA46 Android# and #C7EA46 Linux#. You can also flash Linux and Android.\n");
"#C7EA46 Android# and #C7EA46 Linux#. Also allows writing L4T Images.\n");
lv_obj_set_style(label_txt4, &hint_small_style);
lv_obj_align(label_txt4, btn3, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 3);
@ -1611,8 +1613,8 @@ static void _create_tab_tools_arc_autorcm(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 calibrate the touchscreen module.\n"
"#FF8000 This fixes any issues with touchscreen in Nyx and HOS.#");
"Allows you to calibrate the touchscreen.\n"
"#FF8000 This fixes issues with the touchscreen in Nyx and Horizon OS.#");
lv_obj_set_style(label_txt2, &hint_small_style);
lv_obj_align(label_txt2, btn2, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 3);
@ -1666,11 +1668,11 @@ static void _create_tab_tools_arc_autorcm(lv_theme_t *th, lv_obj_t *parent)
s_printf(txt_buf,
"Allows you to enter RCM without using #C7EA46 VOL+# & #C7EA46 HOME# (jig).\n"
"#FF8000 It can restore all versions of AutoRCM whenever requested.#\n"
"#FF3C28 This corrupts the BCT and you can't boot without a custom#\n"
"#FF3C28 bootloader.#");
"#FF3C28 This corrupts the BCT, so you need to inject a custom bootloader to boot#\n"
"#FF3C28 A BOOT0 / BOOT1 Backup is recommended before enabling this.#");
if (h_cfg.rcm_patched)
strcat(txt_buf, " #FF8000 This is disabled because this unit is patched!#");
strcat(txt_buf, " #FF8000 This is disabled because this unit is patched, to prevent bricks!#");
lv_obj_t *label_txt4 = lv_label_create(h2, NULL);
lv_label_set_recolor(label_txt4, true);
@ -1694,8 +1696,8 @@ static void _create_tab_tools_arc_autorcm(lv_theme_t *th, lv_obj_t *parent)
label_txt2 = lv_label_create(h2, NULL);
lv_label_set_recolor(label_txt2, true);
lv_label_set_static_text(label_txt2,
"Allows you to dump and decrypt pkg1 and pkg2 and further\n"
"split it up into their individual parts. It also dumps the kip1.");
"Allows you to dump and decrypt Package1 and Package2 and further\n"
"split it up into their individual parts. It also dumps kip1.");
lv_obj_set_style(label_txt2, &hint_small_style);
lv_obj_align(label_txt2, btn4, LV_ALIGN_OUT_BOTTOM_LEFT, 0, LV_DPI / 3);
}
@ -1721,7 +1723,7 @@ void create_tab_tools(lv_theme_t *th, lv_obj_t *parent)
lv_tabview_set_btns_pos(tv, LV_TABVIEW_BTNS_POS_BOTTOM);
lv_obj_t *tab1= lv_tabview_add_tab(tv, "eMMC "SYMBOL_DOT" SD Partitions "SYMBOL_DOT" USB");
lv_obj_t *tab2 = lv_tabview_add_tab(tv, "Arch bit "SYMBOL_DOT" RCM "SYMBOL_DOT" Touch "SYMBOL_DOT" Pkg1/2");
lv_obj_t *tab2 = lv_tabview_add_tab(tv, "Archive bit "SYMBOL_DOT" RCM "SYMBOL_DOT" Touch "SYMBOL_DOT" Pkg1/2");
lv_obj_t *line_sep = lv_line_create(tv, NULL);
static const lv_point_t line_pp[] = { {0, 0}, { 0, LV_DPI / 4} };