From 5cb99fec1a43be8fed3d86b11b35c4df2f6f8211 Mon Sep 17 00:00:00 2001 From: lizzie Date: Thu, 10 Sep 2026 03:41:03 +0000 Subject: [PATCH] 2026-09-10 03:41:03 Signed-off-by: lizzie --- .../file_sys/system_archive/system_version.cpp | 12 ++++++++---- src/core/hle/api_version.h | 17 +++++++++-------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/core/file_sys/system_archive/system_version.cpp b/src/core/file_sys/system_archive/system_version.cpp index 2dbe4a8a01..be6cde7275 100644 --- a/src/core/file_sys/system_archive/system_version.cpp +++ b/src/core/file_sys/system_archive/system_version.cpp @@ -40,10 +40,14 @@ VirtualDir SystemVersion() { VirtualFile file = std::make_shared(file_data, "file"); // the "/digest" - std::vector digest_data(sizeof(HLE::ApiVersion::VERSION_DIGEST)); - std::memcpy(digest_data.data(), HLE::ApiVersion::VERSION_DIGEST, sizeof(HLE::ApiVersion::VERSION_DIGEST)); - VirtualFile digest_file = std::make_shared(digest_data, "digest"); - return std::make_shared(std::vector{file, digest_file}, std::vector{}, "data"); + if (HLE::ApiVersion::VERSION_DIGEST[0] == '\0') { + return std::make_shared(std::vector{file}, std::vector{}, "data"); + } else { + std::vector digest_data(sizeof(HLE::ApiVersion::VERSION_DIGEST)); + std::memcpy(digest_data.data(), HLE::ApiVersion::VERSION_DIGEST, sizeof(HLE::ApiVersion::VERSION_DIGEST)); + VirtualFile digest_file = std::make_shared(digest_data, "digest"); + return std::make_shared(std::vector{file, digest_file}, std::vector{}, "data"); + } } } // namespace FileSys::SystemArchive diff --git a/src/core/hle/api_version.h b/src/core/hle/api_version.h index 29b4f4008c..0aff969296 100644 --- a/src/core/hle/api_version.h +++ b/src/core/hle/api_version.h @@ -16,8 +16,8 @@ namespace HLE::ApiVersion { // Horizon OS version constants. -constexpr u8 HOS_VERSION_MAJOR = 22; -constexpr u8 HOS_VERSION_MINOR = 5; +constexpr u8 HOS_VERSION_MAJOR = 23; +constexpr u8 HOS_VERSION_MINOR = 0; constexpr u8 HOS_VERSION_MICRO = 0; // NintendoSDK version constants. @@ -25,15 +25,16 @@ constexpr u8 SDK_REVISION_MAJOR = 1; constexpr u8 SDK_REVISION_MINOR = 0; constexpr char PLATFORM_STRING[0x20] = "NX"; -constexpr char VERSION_HASH[0x40] = "ae93061abbc7791fcf8d2f7e7b7b2d62163af697"; -constexpr char DISPLAY_VERSION[0x18] = "22.5.0"; -constexpr char DISPLAY_TITLE[0x80] = "NintendoSDK Firmware for NX 22.5.0-1.0 "; -constexpr char VERSION_DIGEST[0x40] = "CusHY#00160500#WxlZDREksAFSi6bQJEV6nm6-cHLg2jikdYRVN3bwqyE="; +constexpr char VERSION_HASH[0x40] = "c2663accb7490a6ccfe9bc4dfd120ca215490525"; +constexpr char DISPLAY_VERSION[0x18] = "23.0.0"; +constexpr char DISPLAY_TITLE[0x80] = "NintendoSDK Firmware for NX 23.0.0-4.0"; +// Leave empty when there's no digest (N/A) +constexpr char VERSION_DIGEST[0x40] = ""; // Atmosphere version constants. constexpr u8 ATMOSPHERE_RELEASE_VERSION_MAJOR = 1; -constexpr u8 ATMOSPHERE_RELEASE_VERSION_MINOR = 11; -constexpr u8 ATMOSPHERE_RELEASE_VERSION_MICRO = 2; +constexpr u8 ATMOSPHERE_RELEASE_VERSION_MINOR = 12; +constexpr u8 ATMOSPHERE_RELEASE_VERSION_MICRO = 0; constexpr u32 AtmosphereTargetFirmwareWithRevision(u8 major, u8 minor, u8 micro, u8 rev) { return u32{major} << 24 | u32{minor} << 16 | u32{micro} << 8 | u32{rev};