Merge 0df76c3e3b
into 434e40b8a0
This commit is contained in:
commit
00f08049cb
6 changed files with 58 additions and 13 deletions
|
@ -14,6 +14,7 @@ namespace Ryujinx.Core.OsHle.Kernel
|
||||||
partial class SvcHandler
|
partial class SvcHandler
|
||||||
{
|
{
|
||||||
private const int AllowedCpuIdBitmask = 0b1111;
|
private const int AllowedCpuIdBitmask = 0b1111;
|
||||||
|
private ulong IsVirtualAddressMemoryEnabled = 0;
|
||||||
|
|
||||||
private const bool EnableProcessDebugging = false;
|
private const bool EnableProcessDebugging = false;
|
||||||
|
|
||||||
|
@ -297,6 +298,9 @@ namespace Ryujinx.Core.OsHle.Kernel
|
||||||
ThreadState.X1 = MemoryRegions.MapRegionSize;
|
ThreadState.X1 = MemoryRegions.MapRegionSize;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 16:
|
||||||
|
ThreadState.X1 = IsVirtualAddressMemoryEnabled;
|
||||||
|
break;
|
||||||
default: throw new NotImplementedException($"SvcGetInfo: {InfoType} {Handle} {InfoId}");
|
default: throw new NotImplementedException($"SvcGetInfo: {InfoType} {Handle} {InfoId}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,7 @@ namespace Ryujinx.Core.OsHle.Services.Acc
|
||||||
{
|
{
|
||||||
{ 0, GetUserCount },
|
{ 0, GetUserCount },
|
||||||
{ 3, ListOpenUsers },
|
{ 3, ListOpenUsers },
|
||||||
|
{ 4, GetLastOpenedUser },
|
||||||
{ 5, GetProfile },
|
{ 5, GetProfile },
|
||||||
{ 100, InitializeApplicationInfo },
|
{ 100, InitializeApplicationInfo },
|
||||||
{ 101, GetBaasAccountManagerForApplication }
|
{ 101, GetBaasAccountManagerForApplication }
|
||||||
|
@ -37,6 +38,13 @@ namespace Ryujinx.Core.OsHle.Services.Acc
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public long GetLastOpenedUser(ServiceCtx Context)
|
||||||
|
{
|
||||||
|
Logging.Stub(LogClass.ServiceAcc, "Stubbed");
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
public long GetProfile(ServiceCtx Context)
|
public long GetProfile(ServiceCtx Context)
|
||||||
{
|
{
|
||||||
MakeObject(Context, new IProfile());
|
MakeObject(Context, new IProfile());
|
||||||
|
|
|
@ -14,11 +14,13 @@ namespace Ryujinx.Core.OsHle.Services.Am
|
||||||
{
|
{
|
||||||
m_Commands = new Dictionary<int, ServiceProcessRequest>()
|
m_Commands = new Dictionary<int, ServiceProcessRequest>()
|
||||||
{
|
{
|
||||||
{ 1, PopLaunchParameter },
|
{ 1, PopLaunchParameter },
|
||||||
{ 20, EnsureSaveData },
|
{ 20, EnsureSaveData },
|
||||||
{ 21, GetDesiredLanguage },
|
{ 21, GetDesiredLanguage },
|
||||||
{ 22, SetTerminateResult },
|
{ 22, SetTerminateResult },
|
||||||
{ 40, NotifyRunning }
|
{ 40, NotifyRunning },
|
||||||
|
{ 66, InitializeGameplayRecording },
|
||||||
|
{ 67, SetGameplayRecordingState },
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -74,6 +76,20 @@ namespace Ryujinx.Core.OsHle.Services.Am
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public long InitializeGameplayRecording(ServiceCtx Context)
|
||||||
|
{
|
||||||
|
//TODO: Stubbed
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long SetGameplayRecordingState(ServiceCtx Context)
|
||||||
|
{
|
||||||
|
//TODO: Stubbed
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
private byte[] MakeLaunchParams()
|
private byte[] MakeLaunchParams()
|
||||||
{
|
{
|
||||||
//Size needs to be at least 0x88 bytes otherwise application errors.
|
//Size needs to be at least 0x88 bytes otherwise application errors.
|
||||||
|
|
|
@ -15,10 +15,11 @@ namespace Ryujinx.Core.OsHle.Services.FspSrv
|
||||||
{
|
{
|
||||||
{ 1, SetCurrentProcess },
|
{ 1, SetCurrentProcess },
|
||||||
{ 18, OpenSdCardFileSystem },
|
{ 18, OpenSdCardFileSystem },
|
||||||
|
{ 22, CreateSaveData },
|
||||||
{ 51, OpenSaveDataFileSystem },
|
{ 51, OpenSaveDataFileSystem },
|
||||||
{ 200, OpenDataStorageByCurrentProcess },
|
{ 200, OpenDataStorageByCurrentProcess },
|
||||||
{ 203, OpenPatchDataStorageByCurrentProcess },
|
{ 203, OpenPatchDataStorageByCurrentProcess },
|
||||||
{ 1005, GetGlobalAccessLogMode }
|
{ 1005, GetGlobalAccessLogMode },
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,6 +35,13 @@ namespace Ryujinx.Core.OsHle.Services.FspSrv
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public long CreateSaveData(ServiceCtx Context)
|
||||||
|
{
|
||||||
|
//TODO: Stubbed
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
public long OpenSaveDataFileSystem(ServiceCtx Context)
|
public long OpenSaveDataFileSystem(ServiceCtx Context)
|
||||||
{
|
{
|
||||||
MakeObject(Context, new IFileSystem(Context.Ns.VFs.GetGameSavesPath()));
|
MakeObject(Context, new IFileSystem(Context.Ns.VFs.GetGameSavesPath()));
|
||||||
|
|
|
@ -31,12 +31,13 @@ namespace Ryujinx.Core.OsHle.Services.Nv
|
||||||
{
|
{
|
||||||
m_Commands = new Dictionary<int, ServiceProcessRequest>()
|
m_Commands = new Dictionary<int, ServiceProcessRequest>()
|
||||||
{
|
{
|
||||||
{ 0, Open },
|
{ 0, Open },
|
||||||
{ 1, Ioctl },
|
{ 1, Ioctl },
|
||||||
{ 2, Close },
|
{ 2, Close },
|
||||||
{ 3, Initialize },
|
{ 3, Initialize },
|
||||||
{ 4, QueryEvent },
|
{ 4, QueryEvent },
|
||||||
{ 8, SetClientPid },
|
{ 8, SetClientPid },
|
||||||
|
{ 13, FinishInitialize },
|
||||||
};
|
};
|
||||||
|
|
||||||
IoctlCmds = new Dictionary<(string, int), ServiceProcessIoctl>()
|
IoctlCmds = new Dictionary<(string, int), ServiceProcessIoctl>()
|
||||||
|
@ -165,6 +166,13 @@ namespace Ryujinx.Core.OsHle.Services.Nv
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public long FinishInitialize(ServiceCtx Context)
|
||||||
|
{
|
||||||
|
//TODO: Stubbed
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
private long NvGpuAsIoctlBindChannel(ServiceCtx Context)
|
private long NvGpuAsIoctlBindChannel(ServiceCtx Context)
|
||||||
{
|
{
|
||||||
long Position = Context.Request.GetSendBuffPtr();
|
long Position = Context.Request.GetSendBuffPtr();
|
||||||
|
|
|
@ -24,7 +24,8 @@ namespace Ryujinx.Core.OsHle.Services.Vi
|
||||||
{
|
{
|
||||||
{ 0, TransactParcel },
|
{ 0, TransactParcel },
|
||||||
{ 1, AdjustRefcount },
|
{ 1, AdjustRefcount },
|
||||||
{ 2, GetNativeHandle }
|
{ 2, GetNativeHandle },
|
||||||
|
{ 3, TransactParcel }, //TransactParcelAuto
|
||||||
};
|
};
|
||||||
|
|
||||||
ReleaseEvent = new KEvent();
|
ReleaseEvent = new KEvent();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue