diff --git a/frontend/drivers/platform_uwp.c b/frontend/drivers/platform_uwp.c index 9c55c3a2b1..cb0fe34535 100644 --- a/frontend/drivers/platform_uwp.c +++ b/frontend/drivers/platform_uwp.c @@ -87,48 +87,26 @@ static void frontend_uwp_get_os(char *s, size_t len, int *major, int *minor) if (minor) *minor = vi.dwMinorVersion; - if (vi.dwMajorVersion == 4 && vi.dwMinorVersion == 0) - snprintf(build_str, sizeof(build_str), "%lu", (DWORD)(LOWORD(vi.dwBuildNumber))); /* Windows 95 build number is in the low-order word only */ - else - snprintf(build_str, sizeof(build_str), "%lu", vi.dwBuildNumber); + snprintf(build_str, sizeof(build_str), "%lu", vi.dwBuildNumber); switch (vi.dwMajorVersion) { case 10: if (server) - _len = strlcpy(s, "Windows Server 2016", len); - else - _len = strlcpy(s, "Windows 10", len); - break; - case 6: - switch (vi.dwMinorVersion) { - case 3: - if (server) - _len = strlcpy(s, "Windows Server 2012 R2", len); - else - _len = strlcpy(s, "Windows 8.1", len); - break; - case 2: - if (server) - _len = strlcpy(s, "Windows Server 2012", len); - else - _len = strlcpy(s, "Windows 8", len); - break; - case 1: - if (server) - _len = strlcpy(s, "Windows Server 2008 R2", len); - else - _len = strlcpy(s, "Windows 7", len); - break; - case 0: - if (server) - _len = strlcpy(s, "Windows Server 2008", len); - else - _len = strlcpy(s, "Windows Vista", len); - break; - default: - break; + if ((vi.dwBuildNumber >= 14393) && (vi.dwBuildNumber < 17763)) + _len = strlcpy(s, "Windows Server 2016", len); + else if ((vi.dwBuildNumber >= 17763) && (vi.dwBuildNumber < 20348)) + _len = strlcpy(s, "Windows Server 2019", len); + else if (vi.dwBuildNumber >= 20348) + _len = strlcpy(s, "Windows Server 2022", len); + } + else + { + if ((vi.dwBuildNumber >= 10240) && (vi.dwBuildNumber < 22000)) + _len = strlcpy(s, "Windows 10", len); + else if (vi.dwBuildNumber >= 22000) + _len = strlcpy(s, "Windows 11", len); } break; default: diff --git a/menu/menu_driver.c b/menu/menu_driver.c index 704a94a5bf..2a4b2ea29b 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -4559,8 +4559,10 @@ static const char * msvc_vercode_to_str(const unsigned vercode) default: if (vercode >= 1910 && vercode < 1920) return " msvc2017"; - else if (vercode >= 1920 && vercode < 2000) + else if (vercode >= 1920 && vercode < 1930) return " msvc2019"; + else if (vercode >= 1930) + return " msvc2022"; break; } diff --git a/uwp/uwp_main.cpp b/uwp/uwp_main.cpp index 79944a6d08..2cfe7dcf2f 100644 --- a/uwp/uwp_main.cpp +++ b/uwp/uwp_main.cpp @@ -1164,8 +1164,10 @@ extern "C" { const char* uwp_get_cpu_model_name(void) { - /* TODO/FIXME - Xbox codepath should have a hardcoded CPU model name */ - if (is_running_on_xbox()) { } + if (is_running_on_xbox()) + { + return "Xbox One/Series CPU"; + } else { Platform::String^ cpu_id = nullptr;