Fix hbl 2.3.1 and hbmenu 3.3.0 (#1171)
* Fix hbl 2.3.1 and hbmenu 3.3.0 * log class: Add ServicePtm * fix build issue * do not cast titleId to byte * Address Ac_K's comment
This commit is contained in:
parent
59145acd7c
commit
486f3163f3
6 changed files with 61 additions and 2 deletions
|
@ -40,6 +40,7 @@ namespace Ryujinx.Common.Logging
|
||||||
ServicePl,
|
ServicePl,
|
||||||
ServicePrepo,
|
ServicePrepo,
|
||||||
ServicePsm,
|
ServicePsm,
|
||||||
|
ServicePtm,
|
||||||
ServiceSet,
|
ServiceSet,
|
||||||
ServiceSfdnsres,
|
ServiceSfdnsres,
|
||||||
ServiceSm,
|
ServiceSm,
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
public ResultCode GetApplicationControlData(ServiceCtx context)
|
public ResultCode GetApplicationControlData(ServiceCtx context)
|
||||||
{
|
{
|
||||||
byte source = (byte)context.RequestData.ReadInt64();
|
byte source = (byte)context.RequestData.ReadInt64();
|
||||||
ulong titleId = (byte)context.RequestData.ReadUInt64();
|
ulong titleId = context.RequestData.ReadUInt64();
|
||||||
|
|
||||||
long position = context.Request.ReceiveBuff[0].Position;
|
long position = context.Request.ReceiveBuff[0].Position;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
namespace Ryujinx.HLE.HOS.Services.Ns
|
||||||
|
{
|
||||||
|
class IReadOnlyApplicationControlDataInterface : IpcService
|
||||||
|
{
|
||||||
|
public IReadOnlyApplicationControlDataInterface(ServiceCtx context) { }
|
||||||
|
|
||||||
|
[Command(0)]
|
||||||
|
// GetApplicationControlData(u8, u64) -> (unknown<4>, buffer<unknown, 6>)
|
||||||
|
public ResultCode GetApplicationControlData(ServiceCtx context)
|
||||||
|
{
|
||||||
|
byte source = (byte)context.RequestData.ReadInt64();
|
||||||
|
ulong titleId = context.RequestData.ReadUInt64();
|
||||||
|
|
||||||
|
long position = context.Request.ReceiveBuff[0].Position;
|
||||||
|
|
||||||
|
byte[] nacpData = context.Device.System.ControlData.ByteSpan.ToArray();
|
||||||
|
|
||||||
|
context.Memory.WriteBytes(position, nacpData);
|
||||||
|
|
||||||
|
return ResultCode.Success;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -17,5 +17,14 @@ namespace Ryujinx.HLE.HOS.Services.Ns
|
||||||
|
|
||||||
return ResultCode.Success;
|
return ResultCode.Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Command(7989)]
|
||||||
|
// GetReadOnlyApplicationControlDataInterface() -> object<nn::ns::detail::IReadOnlyApplicationControlDataInterface>
|
||||||
|
public ResultCode GetReadOnlyApplicationControlDataInterface(ServiceCtx context)
|
||||||
|
{
|
||||||
|
MakeObject(context, new IReadOnlyApplicationControlDataInterface(context));
|
||||||
|
|
||||||
|
return ResultCode.Success;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,8 +1,26 @@
|
||||||
namespace Ryujinx.HLE.HOS.Services.Ptm.Ts
|
using Ryujinx.Common.Logging;
|
||||||
|
using Ryujinx.HLE.HOS.Services.Ptm.Ts.Types;
|
||||||
|
|
||||||
|
namespace Ryujinx.HLE.HOS.Services.Ptm.Ts
|
||||||
{
|
{
|
||||||
[Service("ts")]
|
[Service("ts")]
|
||||||
class IMeasurementServer : IpcService
|
class IMeasurementServer : IpcService
|
||||||
{
|
{
|
||||||
|
private const uint DefaultTemperature = 42000u;
|
||||||
|
|
||||||
public IMeasurementServer(ServiceCtx context) { }
|
public IMeasurementServer(ServiceCtx context) { }
|
||||||
|
|
||||||
|
[Command(3)]
|
||||||
|
// GetTemperatureMilliC(Location location) -> u32
|
||||||
|
public ResultCode GetTemperatureMilliC(ServiceCtx context)
|
||||||
|
{
|
||||||
|
Location location = (Location)context.RequestData.ReadByte();
|
||||||
|
|
||||||
|
Logger.PrintStub(LogClass.ServicePtm, new { location });
|
||||||
|
|
||||||
|
context.ResponseData.Write(DefaultTemperature);
|
||||||
|
|
||||||
|
return ResultCode.Success;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
8
Ryujinx.HLE/HOS/Services/Ptm/Ts/Types/Location.cs
Normal file
8
Ryujinx.HLE/HOS/Services/Ptm/Ts/Types/Location.cs
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
namespace Ryujinx.HLE.HOS.Services.Ptm.Ts.Types
|
||||||
|
{
|
||||||
|
enum Location : byte
|
||||||
|
{
|
||||||
|
Internal,
|
||||||
|
External
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue