Compare commits

..

6 commits

Author SHA1 Message Date
GreemDev
1ece186254 Log ims in switch ctor instead of apphost so all initializers get the same behavior 2025-03-21 04:26:41 +00:00
GreemDev
1e7e4322b4 Remove Ignore Missing Services from the release, and restrict it to Debug builds only. 2025-03-21 04:26:41 +00:00
GreemDev
e685168675 Merge branch 'master' into 'master'
Added Xenoblade X DE to RPC and compatlist

See merge request ryubing/ryujinx!7
2025-03-20 08:26:01 +00:00
Daenorth
e250d83e2a Added Xenoblade X DE to RPC and compat list 2025-03-20 08:26:00 +00:00
GreemDev
d27b4a7615 Merge branch 'fix/xcxde' into 'master'
Stub nn::ssl::sf::ISslServiceForSystem

See merge request ryubing/ryujinx!8
2025-03-20 07:57:03 +00:00
GreemDev
d4bf7d3c2b HLE: Implement missing service calls needed for Xenoblade Chronicles X DE 2025-03-20 07:57:03 +00:00
3 changed files with 46 additions and 0 deletions

View file

@ -3375,6 +3375,7 @@
0100E95004038000,"Xenoblade Chronicles™ 2",deadlock;amd-vendor-bug,ingame,2024-03-28 14:31:41
010074F013262000,"Xenoblade Chronicles™ 3",gpu;crash;nvdec;vulkan-backend-bug;amd-vendor-bug,ingame,2024-08-06 19:56:44
0100FF500E34A000,"Xenoblade Chronicles™ Definitive Edition",nvdec,playable,2024-05-04 20:12:41
0100453019aa8000,"Xenoblade Chronicles: X Definitive Edition",,ingame,2025-03-20 06:51:00
010028600BA16000,"Xenon Racer",nvdec;UE4,playable,2022-08-31 22:05:30
010064200C324000,"Xenon Valkyrie+",,playable,2021-06-07 20:25:53
0100928005BD2000,"Xenoraid",,playable,2022-09-03 13:01:10

1 title_id game_name labels status last_updated
3375 0100E95004038000 Xenoblade Chronicles™ 2 deadlock;amd-vendor-bug ingame 2024-03-28 14:31:41
3376 010074F013262000 Xenoblade Chronicles™ 3 gpu;crash;nvdec;vulkan-backend-bug;amd-vendor-bug ingame 2024-08-06 19:56:44
3377 0100FF500E34A000 Xenoblade Chronicles™ Definitive Edition nvdec playable 2024-05-04 20:12:41
3378 0100453019aa8000 Xenoblade Chronicles: X Definitive Edition ingame 2025-03-20 06:51:00
3379 010028600BA16000 Xenon Racer nvdec;UE4 playable 2022-08-31 22:05:30
3380 010064200C324000 Xenon Valkyrie+ playable 2021-06-07 20:25:53
3381 0100928005BD2000 Xenoraid playable 2022-09-03 13:01:10

View file

@ -163,6 +163,7 @@ namespace Ryujinx.Common
"0100ff500e34a000", // Xenoblade Chronicles - Definitive Edition
"0100e95004038000", // Xenoblade Chronicles 2
"010074f013262000", // Xenoblade Chronicles 3
"0100453019aa8000", // Xenoblade Chronicles: X Definitive Edition
//Misc Games
"010056e00853a000", // A Hat in Time

View file

@ -9,6 +9,7 @@ using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Ssl
{
[Service("ssl")]
[Service("ssl:s")]
class ISslService : IpcService
{
// NOTE: The SSL service is used by games to connect it to various official online services, which we do not intend to support.
@ -123,5 +124,48 @@ namespace Ryujinx.HLE.HOS.Services.Ssl
return ResultCode.Success;
}
[CommandCmif(100)]
// CreateContextForSystem(u64 pid, nn::ssl::sf::SslVersion, u64)
public ResultCode CreateContextForSystem(ServiceCtx context)
{
ulong pid = context.RequestData.ReadUInt64();
SslVersion sslVersion = (SslVersion)context.RequestData.ReadUInt32();
ulong pidPlaceholder = context.RequestData.ReadUInt64();
Logger.Stub?.PrintStub(LogClass.ServiceSsl, new { pid, sslVersion, pidPlaceholder });
return ResultCode.Success;
}
[CommandCmif(101)]
// SetThreadCoreMask(u64 mask)
public ResultCode SetThreadCoreMask(ServiceCtx context)
{
ulong mask = context.RequestData.ReadUInt64();
Logger.Stub?.PrintStub(LogClass.ServiceSsl, new { mask });
return ResultCode.Success;
}
[CommandCmif(102)]
// GetThreadCoreMask() -> u64
public ResultCode GetThreadCoreMask(ServiceCtx context)
{
Logger.Stub?.PrintStub(LogClass.ServiceSsl);
return ResultCode.Success;
}
[CommandCmif(103)]
// VerifySignature(buffer<0x5> unknownInput1, buffer<0x5> unknownInput2, buffer<0x5> unknownInput3, buffer<bytes, 4> unknown1)
public ResultCode VerifySignature(ServiceCtx context)
{
// I would log these values like a proper stub, but I genuinely don't know how.
Logger.Stub?.PrintStub(LogClass.ServiceSsl);
return ResultCode.Success;
}
}
}