From 02a2d8aff4e7a03dcab2866111ad6a80081f6d37 Mon Sep 17 00:00:00 2001 From: CTCaer Date: Wed, 11 Nov 2026 19:21:53 +0200 Subject: [PATCH] hos: add 23.5.0 support --- bootloader/hos/pkg1.c | 3 ++- bootloader/hos/pkg2_patches.inl | 26 ++++++++++++++++++++++++++ nyx/nyx_gui/frontend/gui_info.c | 3 ++- nyx/nyx_gui/hos/pkg1.c | 3 ++- 4 files changed, 32 insertions(+), 3 deletions(-) diff --git a/bootloader/hos/pkg1.c b/bootloader/hos/pkg1.c index aab646bd..6ca6d8a9 100644 --- a/bootloader/hos/pkg1.c +++ b/bootloader/hos/pkg1.c @@ -177,7 +177,8 @@ static const pkg1_id_t _pkg1_ids[] = { { "20250206", 19, 21, 0x0E00, 0x6FE0, 0x40030000, 0x4003E000, NULL }, // 20.0.0 - 20.5.0. { "20251009", 20, 22, 0x0E00, 0x6FE0, 0x40030000, 0x4003E000, NULL }, // 21.0.0 - 21.2.0. { "20260123", 21, 23, 0x0E00, 0x6FE0, 0x40030000, 0x4003E000, NULL }, // 22.0.0 - 22.5.0. - { "20260730", 22, 24, 0x0E00, 0x6FE0, 0x40030000, 0x4003E000, NULL }, // 23.0.0+ + { "20260730", 22, 24, 0x0E00, 0x6FE0, 0x40030000, 0x4003E000, NULL }, // 23.0.0 - 23.0.1. + { "20260930", 22, 25, 0x0E00, 0x6FE0, 0x40030000, 0x4003E000, NULL }, // 23.5.0+ }; const pkg1_id_t *pkg1_get_latest() diff --git a/bootloader/hos/pkg2_patches.inl b/bootloader/hos/pkg2_patches.inl index 62f2e30c..e46795d0 100644 --- a/bootloader/hos/pkg2_patches.inl +++ b/bootloader/hos/pkg2_patches.inl @@ -917,6 +917,30 @@ static const kip1_patchset_t _fs_patches_2300_exfat[] = { { NULL, NULL } }; +static const kip1_patch_t _fs_nogc_2350[] = { + { KPS(KIP_TEXT) | 0x186250, 8, KIP1_PATCH_SRC_NO_CHECK, KIP1_FS_NOGC_PATCH_NOINIT }, + { KPS(KIP_TEXT) | 0x1BE7CD, 1, KIP1_PATCH_SRC_NO_CHECK, KIP1_FS_NOGC_PATCH_SDMMC3 }, + { KPS(KIP_TEXT) | 0x1B35E5, 1, KIP1_PATCH_SRC_NO_CHECK, KIP1_FS_NOGC_PATCH_SDMMC3 }, + { 0, 0, NULL, NULL } +}; + +static const kip1_patchset_t _fs_patches_2350[] = { + { "nogc", _fs_nogc_2350 }, + { NULL, NULL } +}; + +static const kip1_patch_t _fs_nogc_2350_exfat[] = { + { KPS(KIP_TEXT) | 0x191450, 8, KIP1_PATCH_SRC_NO_CHECK, KIP1_FS_NOGC_PATCH_NOINIT }, + { KPS(KIP_TEXT) | 0x1BE7CD, 1, KIP1_PATCH_SRC_NO_CHECK, KIP1_FS_NOGC_PATCH_SDMMC3 }, + { KPS(KIP_TEXT) | 0x1BE7E5, 1, KIP1_PATCH_SRC_NO_CHECK, KIP1_FS_NOGC_PATCH_SDMMC3 }, + { 0, 0, NULL, NULL } +}; + +static const kip1_patchset_t _fs_patches_2350_exfat[] = { + { "nogc", _fs_nogc_2350_exfat }, + { NULL, NULL } +}; + // SHA256 hashes. static const kip1_id_t _kip_ids[] = { @@ -996,4 +1020,6 @@ static const kip1_id_t _kip_ids[] = { "FS", "\xD4\x45\x28\x29\x5B\x41\x92\xBA", _fs_patches_2200_exfat }, // FS 22.5.0 exFAT { "FS", "\x34\x38\x3E\xE7\x99\x92\x63\x40", _fs_patches_2300 }, // FS 23.0.0 { "FS", "\xFD\xAF\x16\x32\x88\xE1\x08\x05", _fs_patches_2300_exfat }, // FS 23.0.0 exFAT + { "FS", "\x01\xED\x6B\x87\x4C\x1F\xEF\x41", _fs_patches_2350 }, // FS 23.5.0 + { "FS", "\x7B\x90\x28\x37\xF2\x00\x27\x49", _fs_patches_2350_exfat }, // FS 23.5.0 exFAT }; diff --git a/nyx/nyx_gui/frontend/gui_info.c b/nyx/nyx_gui/frontend/gui_info.c index 86c84100..1d550ecb 100644 --- a/nyx/nyx_gui/frontend/gui_info.c +++ b/nyx/nyx_gui/frontend/gui_info.c @@ -765,7 +765,8 @@ static lv_res_t _create_window_hw_info_status(lv_obj_t *btn) case 21: strcpy(fuses_hos_version, "20.0.0 - 20.5.0"); break; case 22: strcpy(fuses_hos_version, "21.0.0 - 21.2.0"); break; case 23: strcpy(fuses_hos_version, "22.0.0 - 22.5.0"); break; - case 24: strcpy(fuses_hos_version, "23.0.0+"); break; + case 24: strcpy(fuses_hos_version, "23.0.0 - 23.0.1"); break; + case 25: strcpy(fuses_hos_version, "23.5.0+"); break; case 64: strcpy(fuses_hos_version, "#FFD000 Overburnt#"); break; default: strcpy(fuses_hos_version, "#FF8000 Unknown#"); break; } diff --git a/nyx/nyx_gui/hos/pkg1.c b/nyx/nyx_gui/hos/pkg1.c index a8f9f90e..d7775c2a 100644 --- a/nyx/nyx_gui/hos/pkg1.c +++ b/nyx/nyx_gui/hos/pkg1.c @@ -69,7 +69,8 @@ static const pkg1_id_t _pkg1_ids[] = { { "20250206", 19, 0x0E00, 0x6FE0, 0x40030000, 0x4003E000 }, // 20.0.0 - 20.5.0. { "20251009", 20, 0x0E00, 0x6FE0, 0x40030000, 0x4003E000 }, // 21.0.0 - 21.2.0. { "20260123", 21, 0x0E00, 0x6FE0, 0x40030000, 0x4003E000 }, // 22.0.0 - 22.5.0. - { "20260730", 22, 0x0E00, 0x6FE0, 0x40030000, 0x4003E000 }, // 23.0.0+ + { "20260730", 22, 0x0E00, 0x6FE0, 0x40030000, 0x4003E000 }, // 23.0.0 - 23.0.1. + { "20260930", 22, 0x0E00, 0x6FE0, 0x40030000, 0x4003E000 }, // 23.5.0+ }; const pkg1_id_t *pkg1_identify(u8 *pkg1, char *build_date)