diff options
author | Ac_K <Acoustik666@gmail.com> | 2021-03-25 23:25:49 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-25 23:25:49 +0100 |
commit | 53b9267b47a1541d596b763894c75fdecf5698e9 (patch) | |
tree | be92b777fda4725b77bf53152537ad4da05c7bc3 /Ryujinx.HLE | |
parent | e5741fae2d4c7baa63d71f7fb56ea7d0eac8fe36 (diff) |
am/ectx: Implement SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled and add service placeholder (#2136)
* am/ectx: Implement SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled and add service placeholder
This PR implements `am` service call `SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled` (closes #2028) accordingly to RE and adds placeholder for the `ectx` service. Both were added in 11.0.0+ firmware and are needed to boots games which needs this version.
Some games are now playable/bootable:
* Remove unused warning
Diffstat (limited to 'Ryujinx.HLE')
4 files changed, 37 insertions, 0 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ICommonStateGetter.cs b/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ICommonStateGetter.cs index 17b8dddf..27f2d1c8 100644 --- a/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ICommonStateGetter.cs +++ b/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/SystemAppletProxy/ICommonStateGetter.cs @@ -13,7 +13,10 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys private Lbl.LblControllerServer _lblControllerServer; private bool _vrModeEnabled; +#pragma warning disable CS0169 private bool _lcdBacklighOffEnabled; + private bool _requestExitToLibraryAppletAtExecuteNextProgramEnabled; +#pragma warning restore CS0169 private int _messageEventHandle; private int _displayResolutionChangedEventHandle; @@ -237,5 +240,15 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys { return (ResultCode)_apmSystemManagerServer.GetCurrentPerformanceConfiguration(context); } + + [Command(900)] // 11.0.0+ + // SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled() + public ResultCode SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled(ServiceCtx context) + { + // TODO : Find where the field is used. + _requestExitToLibraryAppletAtExecuteNextProgramEnabled = true; + + return ResultCode.Success; + } } }
\ No newline at end of file diff --git a/Ryujinx.HLE/HOS/Services/Ectx/IReaderForSystem.cs b/Ryujinx.HLE/HOS/Services/Ectx/IReaderForSystem.cs new file mode 100644 index 00000000..52fe8702 --- /dev/null +++ b/Ryujinx.HLE/HOS/Services/Ectx/IReaderForSystem.cs @@ -0,0 +1,8 @@ +namespace Ryujinx.HLE.HOS.Services.Ectx +{ + [Service("ectx:r")] // 11.0.0+ + class IReaderForSystem : IpcService + { + public IReaderForSystem(ServiceCtx context) { } + } +}
\ No newline at end of file diff --git a/Ryujinx.HLE/HOS/Services/Ectx/IWriterForApplication.cs b/Ryujinx.HLE/HOS/Services/Ectx/IWriterForApplication.cs new file mode 100644 index 00000000..9401a6d7 --- /dev/null +++ b/Ryujinx.HLE/HOS/Services/Ectx/IWriterForApplication.cs @@ -0,0 +1,8 @@ +namespace Ryujinx.HLE.HOS.Services.Ectx +{ + [Service("ectx:aw")] // 11.0.0+ + class IWriterForApplication : IpcService + { + public IWriterForApplication(ServiceCtx context) { } + } +}
\ No newline at end of file diff --git a/Ryujinx.HLE/HOS/Services/Ectx/IWriterForSystem.cs b/Ryujinx.HLE/HOS/Services/Ectx/IWriterForSystem.cs new file mode 100644 index 00000000..621ec777 --- /dev/null +++ b/Ryujinx.HLE/HOS/Services/Ectx/IWriterForSystem.cs @@ -0,0 +1,8 @@ +namespace Ryujinx.HLE.HOS.Services.Ectx +{ + [Service("ectx:w")] // 11.0.0+ + class IWriterForSystem : IpcService + { + public IWriterForSystem(ServiceCtx context) { } + } +}
\ No newline at end of file |