Merge 7248f45524
into fa5545aab8
This commit is contained in:
commit
4f23ead719
5 changed files with 96 additions and 3 deletions
|
@ -19,6 +19,8 @@ namespace Ryujinx.HLE.OsHle.Services.Am
|
|||
{ 21, GetDesiredLanguage },
|
||||
{ 22, SetTerminateResult },
|
||||
{ 23, GetDisplayVersion },
|
||||
{ 25, ExtendSaveData },
|
||||
{ 26, GetSaveDataSize },
|
||||
{ 40, NotifyRunning },
|
||||
{ 50, GetPseudoDeviceId },
|
||||
{ 66, InitializeGamePlayRecording },
|
||||
|
@ -81,6 +83,25 @@ namespace Ryujinx.HLE.OsHle.Services.Am
|
|||
return 0;
|
||||
}
|
||||
|
||||
public long ExtendSaveData(ServiceCtx Context)
|
||||
{
|
||||
Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
|
||||
|
||||
Context.ResponseData.Write(0x400L);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public long GetSaveDataSize(ServiceCtx Context)
|
||||
{
|
||||
Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
|
||||
|
||||
Context.ResponseData.Write(0L);
|
||||
Context.ResponseData.Write(0x200L);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public long NotifyRunning(ServiceCtx Context)
|
||||
{
|
||||
Context.ResponseData.Write(1);
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
using Ryujinx.HLE.Logging;
|
||||
using Ryujinx.HLE.OsHle.Ipc;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
||||
namespace Ryujinx.HLE.OsHle.Services.FspSrv
|
||||
{
|
||||
|
@ -19,11 +21,11 @@ namespace Ryujinx.HLE.OsHle.Services.FspSrv
|
|||
{ 22, CreateSaveDataFileSystem },
|
||||
{ 51, OpenSaveDataFileSystem },
|
||||
{ 200, OpenDataStorageByCurrentProcess },
|
||||
{ 202, OpenDataStorageByDataId },
|
||||
{ 203, OpenPatchDataStorageByCurrentProcess },
|
||||
{ 1005, GetGlobalAccessLogMode }
|
||||
};
|
||||
}
|
||||
|
||||
public long SetCurrentProcess(ServiceCtx Context)
|
||||
{
|
||||
return 0;
|
||||
|
@ -57,6 +59,31 @@ namespace Ryujinx.HLE.OsHle.Services.FspSrv
|
|||
return 0;
|
||||
}
|
||||
|
||||
public long OpenDataStorageByDataId(ServiceCtx Context)
|
||||
{
|
||||
StorageTypes StorageId = (StorageTypes) Context.RequestData.ReadByte();
|
||||
long TitleId = Context.RequestData.ReadInt64();
|
||||
|
||||
if (StorageId == StorageTypes.NandSystem)
|
||||
{
|
||||
Context.Ns.Log.PrintStub(LogClass.ServiceFs, $"[{StorageId}] Stubbed.");
|
||||
|
||||
Stream FakeStream = new MemoryStream();
|
||||
|
||||
MakeObject(Context, new IStorage(FakeStream));
|
||||
}
|
||||
else
|
||||
{
|
||||
Context.Ns.Log.PrintWarning(LogClass.ServiceFs, $"{StorageId} is not implemented!");
|
||||
|
||||
Stream FakeStream = new MemoryStream();
|
||||
|
||||
MakeObject(Context, new IStorage(FakeStream));
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public long OpenPatchDataStorageByCurrentProcess(ServiceCtx Context)
|
||||
{
|
||||
MakeObject(Context, new IStorage(Context.Ns.VFs.RomFs));
|
||||
|
|
12
Ryujinx.HLE/OsHle/Services/FspSrv/StorageTypes.cs
Normal file
12
Ryujinx.HLE/OsHle/Services/FspSrv/StorageTypes.cs
Normal file
|
@ -0,0 +1,12 @@
|
|||
namespace Ryujinx.HLE.OsHle.Services.FspSrv
|
||||
{
|
||||
enum StorageTypes
|
||||
{
|
||||
None,
|
||||
Host,
|
||||
GameCard,
|
||||
NandSystem,
|
||||
NandUser,
|
||||
SdCard
|
||||
}
|
||||
}
|
|
@ -14,7 +14,9 @@ namespace Ryujinx.HLE.OsHle.Services.Nifm
|
|||
{
|
||||
m_Commands = new Dictionary<int, ServiceProcessRequest>()
|
||||
{
|
||||
{ 4, CreateRequest }
|
||||
{ 4, CreateRequest },
|
||||
{ 5, GetCurrentNetworkProfile },
|
||||
{ 12, GetCurrentIpAddress }
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -29,5 +31,28 @@ namespace Ryujinx.HLE.OsHle.Services.Nifm
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public long GetCurrentNetworkProfile(ServiceCtx Context)
|
||||
{
|
||||
(long Position, long Size) = Context.Request.GetBufferType0x21();
|
||||
|
||||
Context.Ns.Log.PrintStub(LogClass.ServiceNifm, "Stubbed.");
|
||||
|
||||
for (int Index = 0; Index < Size; Index++)
|
||||
{
|
||||
Context.Memory.WriteByte(Position + Index, 0);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public long GetCurrentIpAddress(ServiceCtx Context)
|
||||
{
|
||||
Context.Ns.Log.PrintStub(LogClass.ServiceNifm, "Stubbed.");
|
||||
|
||||
Context.ResponseData.Write(0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -18,7 +18,8 @@ namespace Ryujinx.HLE.OsHle.Services.Pctl
|
|||
{
|
||||
m_Commands = new Dictionary<int, ServiceProcessRequest>()
|
||||
{
|
||||
{ 1, Initialize }
|
||||
{ 1, Initialize },
|
||||
{ 1001, CheckFreeCommunicationPermission }
|
||||
};
|
||||
|
||||
this.NeedInitialize = NeedInitialize;
|
||||
|
@ -37,5 +38,12 @@ namespace Ryujinx.HLE.OsHle.Services.Pctl
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public long CheckFreeCommunicationPermission(ServiceCtx Context)
|
||||
{
|
||||
Context.Ns.Log.PrintStub(LogClass.ServicePctl, "Stubbed.");
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue