mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-10-21 02:07:49 +00:00
[hle, kernel] Add support for FW21 and kernel changes (#3004)
- Adapts kernel changes from atmosphere for firmware 21.0.0.
- Fixes launch error of firmware 21.0.0 applets.
- Adds new commands for `prepo` (New `SaveSystemReport` & `SaveSystemReportWithUser`).
- Adds new commands for `IReadOnlyApplicationControlDataInterface` (cmd 19; incomplete!)
- Adds `{12010, nullptr, "SetButtonConfigLeft"},` undocumented IHidServer.
- Adds new commands for `ngc:u` (`Mask2` and `Check2`)
- Adds new commands for system settings server (GetHttpAuthConfig) for webapplet
- Removes incompatible firmware popup warning.
Signed-off-by: lizzie lizzie@eden-emu.dev
Co-authored by: maufeat sahyno1996@gmail.com
Co-authored-by: crueter <crueter@eden-emu.dev>
Co-authored-by: JPikachu <jpikachu.eden@gmail.com>
Co-authored-by: Maufeat <sahyno1996@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3004
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
@@ -18,6 +21,8 @@ IFirmwareDebugSettingsServer::IFirmwareDebugSettingsServer(Core::System& system_
|
||||
{21, nullptr, "SetAllowedSslHosts"},
|
||||
{22, nullptr, "SetHostFsMountPoint"},
|
||||
{23, nullptr, "SetMemoryUsageRateFlag"},
|
||||
{24, nullptr, "CommitSettings"}, //20.0.0+
|
||||
{27, nullptr, "SetHttpAuthConfigs"}, //21.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
||||
@@ -307,6 +307,19 @@ ISystemSettingsServer::ISystemSettingsServer(Core::System& system_)
|
||||
{222, nullptr, "SetForceMonauralOutputFlag"}, //17.0.0+
|
||||
{251, nullptr, "GetAccountIdentificationSettings"}, //18.0.0+
|
||||
{252, nullptr, "SetAccountIdentificationSettings"}, //18.0.0+
|
||||
{263, nullptr, "AcquireVphymDirtyFlagEventHandle"}, //20.0.0+
|
||||
{264, nullptr, "GetVphymDirtyFlags"}, //20.0.0+
|
||||
{282, nullptr, "ConvertToProductModel"}, //20.0.0+
|
||||
{283, nullptr, "ConvertToProductModelName"}, //20.0.0+
|
||||
{289, nullptr, "GetDefaultAccountIdentificationFlagSet"}, //20.0.0+
|
||||
{300, nullptr, "AcquirePushNotificationDirtyFlagEventHandle"}, //20.0.0+
|
||||
{301, nullptr, "GetPushNotificationDirtyFlags"}, //20.0.0+
|
||||
{306, nullptr, "GetPinCodeReregistrationGuideAccounts"}, //20.0.0+
|
||||
{307, nullptr, "SetPinCodeReregistrationGuideAccounts"}, //20.0.0+
|
||||
{315, C<&ISystemSettingsServer::GetHttpAuthConfigs>, "GetHttpAuthConfigs"}, //21.0.0+
|
||||
{319, nullptr, "GetAccountUserSettings"}, //21.0.0+
|
||||
{320, nullptr, "SetAccountUserSettings"}, //21.0.0+
|
||||
{321, nullptr, "GetDefaultAccountUserSettings"}, //21.0.0+
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -1323,6 +1336,12 @@ Result ISystemSettingsServer::SetPanelCrcMode(s32 panel_crc_mode) {
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
Result ISystemSettingsServer::GetHttpAuthConfigs(Out<s32> out_count, OutBuffer<BufferAttr_HipcMapAlias> out_configs) {
|
||||
LOG_WARNING(Service_SET, "(STUBBED) called, buffer_size={}", out_configs.size());
|
||||
*out_count = 0;
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
void ISystemSettingsServer::SetupSettings() {
|
||||
auto system_dir =
|
||||
Common::FS::GetEdenPath(Common::FS::EdenPath::NANDDir) / "system/save/8000000000000050";
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
@@ -157,6 +160,7 @@ public:
|
||||
Result GetFieldTestingFlag(Out<bool> out_field_testing_flag);
|
||||
Result GetPanelCrcMode(Out<s32> out_panel_crc_mode);
|
||||
Result SetPanelCrcMode(s32 panel_crc_mode);
|
||||
Result GetHttpAuthConfigs(Out<s32> out_count, OutBuffer<BufferAttr_HipcMapAlias> out_configs);
|
||||
|
||||
private:
|
||||
bool LoadSettingsFile(std::filesystem::path& path, auto&& default_func);
|
||||
|
||||
Reference in New Issue
Block a user