mirror of
https://git.suyu.dev/suyu/suyu
synced 2024-11-01 04:47:53 +00:00
hle: api_version: Add HLE API version constants
This commit is contained in:
parent
ded36b8688
commit
e4318a1914
3 changed files with 54 additions and 33 deletions
|
@ -139,6 +139,7 @@ add_library(core STATIC
|
||||||
frontend/input.h
|
frontend/input.h
|
||||||
hardware_interrupt_manager.cpp
|
hardware_interrupt_manager.cpp
|
||||||
hardware_interrupt_manager.h
|
hardware_interrupt_manager.h
|
||||||
|
hle/api_version.h
|
||||||
hle/ipc.h
|
hle/ipc.h
|
||||||
hle/ipc_helpers.h
|
hle/ipc_helpers.h
|
||||||
hle/kernel/board/nintendo/nx/k_system_control.cpp
|
hle/kernel/board/nintendo/nx/k_system_control.cpp
|
||||||
|
|
|
@ -4,47 +4,29 @@
|
||||||
|
|
||||||
#include "core/file_sys/system_archive/system_version.h"
|
#include "core/file_sys/system_archive/system_version.h"
|
||||||
#include "core/file_sys/vfs_vector.h"
|
#include "core/file_sys/vfs_vector.h"
|
||||||
|
#include "core/hle/api_version.h"
|
||||||
|
|
||||||
namespace FileSys::SystemArchive {
|
namespace FileSys::SystemArchive {
|
||||||
|
|
||||||
namespace SystemVersionData {
|
|
||||||
|
|
||||||
// This section should reflect the best system version to describe yuzu's HLE api.
|
|
||||||
// TODO(DarkLordZach): Update when HLE gets better.
|
|
||||||
|
|
||||||
constexpr u8 VERSION_MAJOR = 11;
|
|
||||||
constexpr u8 VERSION_MINOR = 0;
|
|
||||||
constexpr u8 VERSION_MICRO = 1;
|
|
||||||
|
|
||||||
constexpr u8 REVISION_MAJOR = 1;
|
|
||||||
constexpr u8 REVISION_MINOR = 0;
|
|
||||||
|
|
||||||
constexpr char PLATFORM_STRING[] = "NX";
|
|
||||||
constexpr char VERSION_HASH[] = "69103fcb2004dace877094c2f8c29e6113be5dbf";
|
|
||||||
constexpr char DISPLAY_VERSION[] = "11.0.1";
|
|
||||||
constexpr char DISPLAY_TITLE[] = "NintendoSDK Firmware for NX 11.0.1-1.0";
|
|
||||||
|
|
||||||
} // namespace SystemVersionData
|
|
||||||
|
|
||||||
std::string GetLongDisplayVersion() {
|
std::string GetLongDisplayVersion() {
|
||||||
return SystemVersionData::DISPLAY_TITLE;
|
return HLE::ApiVersion::DISPLAY_TITLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
VirtualDir SystemVersion() {
|
VirtualDir SystemVersion() {
|
||||||
VirtualFile file = std::make_shared<VectorVfsFile>(std::vector<u8>(0x100), "file");
|
VirtualFile file = std::make_shared<VectorVfsFile>(std::vector<u8>(0x100), "file");
|
||||||
file->WriteObject(SystemVersionData::VERSION_MAJOR, 0);
|
file->WriteObject(HLE::ApiVersion::HOS_VERSION_MAJOR, 0);
|
||||||
file->WriteObject(SystemVersionData::VERSION_MINOR, 1);
|
file->WriteObject(HLE::ApiVersion::HOS_VERSION_MINOR, 1);
|
||||||
file->WriteObject(SystemVersionData::VERSION_MICRO, 2);
|
file->WriteObject(HLE::ApiVersion::HOS_VERSION_MICRO, 2);
|
||||||
file->WriteObject(SystemVersionData::REVISION_MAJOR, 4);
|
file->WriteObject(HLE::ApiVersion::SDK_REVISION_MAJOR, 4);
|
||||||
file->WriteObject(SystemVersionData::REVISION_MINOR, 5);
|
file->WriteObject(HLE::ApiVersion::SDK_REVISION_MINOR, 5);
|
||||||
file->WriteArray(SystemVersionData::PLATFORM_STRING,
|
file->WriteArray(HLE::ApiVersion::PLATFORM_STRING,
|
||||||
std::min<u64>(sizeof(SystemVersionData::PLATFORM_STRING), 0x20ULL), 0x8);
|
std::min<u64>(sizeof(HLE::ApiVersion::PLATFORM_STRING), 0x20ULL), 0x8);
|
||||||
file->WriteArray(SystemVersionData::VERSION_HASH,
|
file->WriteArray(HLE::ApiVersion::VERSION_HASH,
|
||||||
std::min<u64>(sizeof(SystemVersionData::VERSION_HASH), 0x40ULL), 0x28);
|
std::min<u64>(sizeof(HLE::ApiVersion::VERSION_HASH), 0x40ULL), 0x28);
|
||||||
file->WriteArray(SystemVersionData::DISPLAY_VERSION,
|
file->WriteArray(HLE::ApiVersion::DISPLAY_VERSION,
|
||||||
std::min<u64>(sizeof(SystemVersionData::DISPLAY_VERSION), 0x18ULL), 0x68);
|
std::min<u64>(sizeof(HLE::ApiVersion::DISPLAY_VERSION), 0x18ULL), 0x68);
|
||||||
file->WriteArray(SystemVersionData::DISPLAY_TITLE,
|
file->WriteArray(HLE::ApiVersion::DISPLAY_TITLE,
|
||||||
std::min<u64>(sizeof(SystemVersionData::DISPLAY_TITLE), 0x80ULL), 0x80);
|
std::min<u64>(sizeof(HLE::ApiVersion::DISPLAY_TITLE), 0x80ULL), 0x80);
|
||||||
return std::make_shared<VectorVfsDirectory>(std::vector<VirtualFile>{file},
|
return std::make_shared<VectorVfsDirectory>(std::vector<VirtualFile>{file},
|
||||||
std::vector<VirtualDir>{}, "data");
|
std::vector<VirtualDir>{}, "data");
|
||||||
}
|
}
|
||||||
|
|
38
src/core/hle/api_version.h
Normal file
38
src/core/hle/api_version.h
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
// Copyright 2021 yuzu Emulator Project
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include "common/common_types.h"
|
||||||
|
|
||||||
|
// This file contains yuzu's HLE API version constants.
|
||||||
|
|
||||||
|
namespace HLE::ApiVersion {
|
||||||
|
|
||||||
|
// Horizon OS version constants.
|
||||||
|
|
||||||
|
constexpr u8 HOS_VERSION_MAJOR = 11;
|
||||||
|
constexpr u8 HOS_VERSION_MINOR = 0;
|
||||||
|
constexpr u8 HOS_VERSION_MICRO = 1;
|
||||||
|
|
||||||
|
// NintendoSDK version constants.
|
||||||
|
|
||||||
|
constexpr u8 SDK_REVISION_MAJOR = 1;
|
||||||
|
constexpr u8 SDK_REVISION_MINOR = 0;
|
||||||
|
|
||||||
|
constexpr char PLATFORM_STRING[] = "NX";
|
||||||
|
constexpr char VERSION_HASH[] = "69103fcb2004dace877094c2f8c29e6113be5dbf";
|
||||||
|
constexpr char DISPLAY_VERSION[] = "11.0.1";
|
||||||
|
constexpr char DISPLAY_TITLE[] = "NintendoSDK Firmware for NX 11.0.1-1.0";
|
||||||
|
|
||||||
|
// Atmosphere version constants.
|
||||||
|
|
||||||
|
constexpr u8 ATMOSPHERE_RELEASE_VERSION_MAJOR = 0;
|
||||||
|
constexpr u8 ATMOSPHERE_RELEASE_VERSION_MINOR = 19;
|
||||||
|
constexpr u8 ATMOSPHERE_RELEASE_VERSION_MICRO = 4;
|
||||||
|
|
||||||
|
constexpr u32 GetTargetFirmware() {
|
||||||
|
return u32{HOS_VERSION_MAJOR} << 24 | u32{HOS_VERSION_MINOR} << 16 |
|
||||||
|
u32{HOS_VERSION_MICRO} << 8 | 0U;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace HLE::ApiVersion
|
Loading…
Reference in a new issue