|
|
@@ -14,7 +14,10 @@ namespace Ryujinx.HLE.HOS.Services.Mm
|
|
|
{
|
|
|
_commands = new Dictionary<int, ServiceProcessRequest>()
|
|
|
{
|
|
|
- { 1, InitializeOld },
|
|
|
+ { 0, InitializeOld },
|
|
|
+ { 1, FinalizeOld },
|
|
|
+ { 2, SetAndWaitOld },
|
|
|
+ { 3, GetOld },
|
|
|
{ 4, Initialize },
|
|
|
{ 5, Finalize },
|
|
|
{ 6, SetAndWait },
|
|
|
@@ -29,11 +32,47 @@ namespace Ryujinx.HLE.HOS.Services.Mm
|
|
|
int unknown1 = context.RequestData.ReadInt32();
|
|
|
int unknown2 = context.RequestData.ReadInt32();
|
|
|
|
|
|
+ Logger.PrintStub(LogClass.ServiceMm, $"Stubbed. Unknown0: {unknown0} - " +
|
|
|
+ $"Unknown1: {unknown1} - Unknown2: {unknown2}");
|
|
|
+
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ // FinalizeOld(u32)
|
|
|
+ public long FinalizeOld(ServiceCtx context)
|
|
|
+ {
|
|
|
+ context.Device.Gpu.UninitializeVideoDecoder();
|
|
|
+
|
|
|
Logger.PrintStub(LogClass.ServiceMm, "Stubbed.");
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+ // SetAndWaitOld(u32, u32, u32)
|
|
|
+ public long SetAndWaitOld(ServiceCtx context)
|
|
|
+ {
|
|
|
+ int unknown0 = context.RequestData.ReadInt32();
|
|
|
+ int unknown1 = context.RequestData.ReadInt32();
|
|
|
+ int unknown2 = context.RequestData.ReadInt32();
|
|
|
+
|
|
|
+ Logger.PrintStub(LogClass.ServiceMm, $"Stubbed. Unknown0: {unknown0} - " +
|
|
|
+ $"Unknown1: {unknown1} - Unknown2: {unknown2}");
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ // GetOld(u32) -> u32
|
|
|
+ public long GetOld(ServiceCtx context)
|
|
|
+ {
|
|
|
+ int unknown0 = context.RequestData.ReadInt32();
|
|
|
+
|
|
|
+ Logger.PrintStub(LogClass.ServiceMm, $"Stubbed. Unknown0: {unknown0}");
|
|
|
+
|
|
|
+ context.ResponseData.Write(0);
|
|
|
+
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ // Initialize()
|
|
|
public long Initialize(ServiceCtx context)
|
|
|
{
|
|
|
Logger.PrintStub(LogClass.ServiceMm, "Stubbed.");
|
|
|
@@ -41,6 +80,7 @@ namespace Ryujinx.HLE.HOS.Services.Mm
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+ // Finalize(u32)
|
|
|
public long Finalize(ServiceCtx context)
|
|
|
{
|
|
|
context.Device.Gpu.UninitializeVideoDecoder();
|
|
|
@@ -50,18 +90,27 @@ namespace Ryujinx.HLE.HOS.Services.Mm
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+ // SetAndWait(u32, u32, u32)
|
|
|
public long SetAndWait(ServiceCtx context)
|
|
|
{
|
|
|
- Logger.PrintStub(LogClass.ServiceMm, "Stubbed.");
|
|
|
+ int unknown0 = context.RequestData.ReadInt32();
|
|
|
+ int unknown1 = context.RequestData.ReadInt32();
|
|
|
+ int unknown2 = context.RequestData.ReadInt32();
|
|
|
+
|
|
|
+ Logger.PrintStub(LogClass.ServiceMm, $"Stubbed. Unknown0: {unknown0} - " +
|
|
|
+ $"Unknown1: {unknown1} - Unknown2: {unknown2}");
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+ // Get(u32) -> u32
|
|
|
public long Get(ServiceCtx context)
|
|
|
{
|
|
|
- context.ResponseData.Write(0);
|
|
|
+ int unknown0 = context.RequestData.ReadInt32();
|
|
|
|
|
|
- Logger.PrintStub(LogClass.ServiceMm, "Stubbed.");
|
|
|
+ Logger.PrintStub(LogClass.ServiceMm, $"Stubbed. Unknown0: {unknown0}");
|
|
|
+
|
|
|
+ context.ResponseData.Write(0);
|
|
|
|
|
|
return 0;
|
|
|
}
|