From 305f06eb71a7832e6b0081a67015b66ced8a23cd Mon Sep 17 00:00:00 2001 From: Mary Date: Sat, 24 Apr 2021 12:16:01 +0200 Subject: HLE: Fix integer sign inconcistency accross the codebase (#2222) * Make all title id instances unsigned * Replace address and size with ulong instead of signed types Long overdue change. Also change some logics here and there to optimize with the new memory manager. * Address Ac_K's comments * Remove uneeded cast all around * Fixes some others misalignment --- Ryujinx.HLE/HOS/Services/Ns/IApplicationManagerInterface.cs | 4 ++-- Ryujinx.HLE/HOS/Services/Ns/IPurchaseEventManager.cs | 6 +++--- .../HOS/Services/Ns/IReadOnlyApplicationControlDataInterface.cs | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'Ryujinx.HLE/HOS/Services/Ns') diff --git a/Ryujinx.HLE/HOS/Services/Ns/IApplicationManagerInterface.cs b/Ryujinx.HLE/HOS/Services/Ns/IApplicationManagerInterface.cs index ab10928f..d3a89178 100644 --- a/Ryujinx.HLE/HOS/Services/Ns/IApplicationManagerInterface.cs +++ b/Ryujinx.HLE/HOS/Services/Ns/IApplicationManagerInterface.cs @@ -12,11 +12,11 @@ byte source = (byte)context.RequestData.ReadInt64(); ulong titleId = context.RequestData.ReadUInt64(); - long position = context.Request.ReceiveBuff[0].Position; + ulong position = context.Request.ReceiveBuff[0].Position; byte[] nacpData = context.Device.Application.ControlData.ByteSpan.ToArray(); - context.Memory.Write((ulong)position, nacpData); + context.Memory.Write(position, nacpData); return ResultCode.Success; } diff --git a/Ryujinx.HLE/HOS/Services/Ns/IPurchaseEventManager.cs b/Ryujinx.HLE/HOS/Services/Ns/IPurchaseEventManager.cs index 2ea3ee11..7ee74370 100644 --- a/Ryujinx.HLE/HOS/Services/Ns/IPurchaseEventManager.cs +++ b/Ryujinx.HLE/HOS/Services/Ns/IPurchaseEventManager.cs @@ -20,11 +20,11 @@ namespace Ryujinx.HLE.HOS.Services.Ns // SetDefaultDeliveryTarget(pid, buffer unknown) public ResultCode SetDefaultDeliveryTarget(ServiceCtx context) { - long inBufferPosition = context.Request.SendBuff[0].Position; - long inBufferSize = context.Request.SendBuff[0].Size; + ulong inBufferPosition = context.Request.SendBuff[0].Position; + ulong inBufferSize = context.Request.SendBuff[0].Size; byte[] buffer = new byte[inBufferSize]; - context.Memory.Read((ulong)inBufferPosition, buffer); + context.Memory.Read(inBufferPosition, buffer); // NOTE: Service use the pid to call arp:r GetApplicationLaunchProperty and store it in internal field. // Then it seems to use the buffer content and compare it with a stored linked instrusive list. diff --git a/Ryujinx.HLE/HOS/Services/Ns/IReadOnlyApplicationControlDataInterface.cs b/Ryujinx.HLE/HOS/Services/Ns/IReadOnlyApplicationControlDataInterface.cs index ff57beb0..3b6965d0 100644 --- a/Ryujinx.HLE/HOS/Services/Ns/IReadOnlyApplicationControlDataInterface.cs +++ b/Ryujinx.HLE/HOS/Services/Ns/IReadOnlyApplicationControlDataInterface.cs @@ -11,11 +11,11 @@ byte source = (byte)context.RequestData.ReadInt64(); ulong titleId = context.RequestData.ReadUInt64(); - long position = context.Request.ReceiveBuff[0].Position; + ulong position = context.Request.ReceiveBuff[0].Position; byte[] nacpData = context.Device.Application.ControlData.ByteSpan.ToArray(); - context.Memory.Write((ulong)position, nacpData); + context.Memory.Write(position, nacpData); return ResultCode.Success; } -- cgit v1.2.3