mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-10-13 07:37:09 +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:
@@ -298,8 +298,41 @@ Result FSP_SRV::OpenSaveDataFileSystem(OutInterface<IFileSystem> out_interface,
|
||||
Result FSP_SRV::OpenSaveDataFileSystemBySystemSaveDataId(OutInterface<IFileSystem> out_interface,
|
||||
FileSys::SaveDataSpaceId space_id,
|
||||
FileSys::SaveDataAttribute attribute) {
|
||||
LOG_WARNING(Service_FS, "(STUBBED) called, delegating to 51 OpenSaveDataFilesystem");
|
||||
R_RETURN(OpenSaveDataFileSystem(out_interface, space_id, attribute));
|
||||
LOG_INFO(Service_FS, "called, space_id={}, {}",
|
||||
space_id, attribute.DebugInfo());
|
||||
|
||||
R_UNLESS(attribute.system_save_data_id != FileSys::InvalidSystemSaveDataId,
|
||||
FileSys::ResultInvalidArgument);
|
||||
|
||||
if (attribute.program_id == 0) {
|
||||
attribute.program_id = program_id;
|
||||
}
|
||||
|
||||
FileSys::VirtualDir dir{};
|
||||
R_TRY(save_data_controller->OpenSaveData(&dir, space_id, attribute));
|
||||
|
||||
FileSys::StorageId id{};
|
||||
switch (space_id) {
|
||||
case FileSys::SaveDataSpaceId::User:
|
||||
id = FileSys::StorageId::NandUser;
|
||||
break;
|
||||
case FileSys::SaveDataSpaceId::SdSystem:
|
||||
case FileSys::SaveDataSpaceId::SdUser:
|
||||
id = FileSys::StorageId::SdCard;
|
||||
break;
|
||||
case FileSys::SaveDataSpaceId::System:
|
||||
id = FileSys::StorageId::NandSystem;
|
||||
break;
|
||||
case FileSys::SaveDataSpaceId::Temporary:
|
||||
case FileSys::SaveDataSpaceId::ProperSystem:
|
||||
case FileSys::SaveDataSpaceId::SafeMode:
|
||||
ASSERT(false);
|
||||
}
|
||||
|
||||
*out_interface =
|
||||
std::make_shared<IFileSystem>(system, std::move(dir), SizeGetter::FromStorageId(fsc, id));
|
||||
|
||||
R_SUCCEED();
|
||||
}
|
||||
|
||||
Result FSP_SRV::OpenReadOnlySaveDataFileSystem(OutInterface<IFileSystem> out_interface,
|
||||
|
||||
Reference in New Issue
Block a user