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
This commit is contained in:
Ac_K 2021-03-25 23:25:49 +01:00 committed by GitHub
parent e5741fae2d
commit 53b9267b47
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 37 additions and 0 deletions

View file

@ -13,7 +13,10 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
private Lbl.LblControllerServer _lblControllerServer; private Lbl.LblControllerServer _lblControllerServer;
private bool _vrModeEnabled; private bool _vrModeEnabled;
#pragma warning disable CS0169
private bool _lcdBacklighOffEnabled; private bool _lcdBacklighOffEnabled;
private bool _requestExitToLibraryAppletAtExecuteNextProgramEnabled;
#pragma warning restore CS0169
private int _messageEventHandle; private int _messageEventHandle;
private int _displayResolutionChangedEventHandle; private int _displayResolutionChangedEventHandle;
@ -237,5 +240,15 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
{ {
return (ResultCode)_apmSystemManagerServer.GetCurrentPerformanceConfiguration(context); 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;
}
} }
} }

View file

@ -0,0 +1,8 @@
namespace Ryujinx.HLE.HOS.Services.Ectx
{
[Service("ectx:r")] // 11.0.0+
class IReaderForSystem : IpcService
{
public IReaderForSystem(ServiceCtx context) { }
}
}

View file

@ -0,0 +1,8 @@
namespace Ryujinx.HLE.HOS.Services.Ectx
{
[Service("ectx:aw")] // 11.0.0+
class IWriterForApplication : IpcService
{
public IWriterForApplication(ServiceCtx context) { }
}
}

View file

@ -0,0 +1,8 @@
namespace Ryujinx.HLE.HOS.Services.Ectx
{
[Service("ectx:w")] // 11.0.0+
class IWriterForSystem : IpcService
{
public IWriterForSystem(ServiceCtx context) { }
}
}