IRequest.cs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. using Ryujinx.Common.Logging;
  2. namespace Ryujinx.HLE.HOS.Services.Mm
  3. {
  4. [Service("mm:u")]
  5. class IRequest : IpcService
  6. {
  7. public IRequest(ServiceCtx context) { }
  8. [Command(0)]
  9. // InitializeOld(u32, u32, u32)
  10. public ResultCode InitializeOld(ServiceCtx context)
  11. {
  12. int unknown0 = context.RequestData.ReadInt32();
  13. int unknown1 = context.RequestData.ReadInt32();
  14. int unknown2 = context.RequestData.ReadInt32();
  15. Logger.PrintStub(LogClass.ServiceMm, new { unknown0, unknown1, unknown2 });
  16. return ResultCode.Success;
  17. }
  18. [Command(1)]
  19. // FinalizeOld(u32)
  20. public ResultCode FinalizeOld(ServiceCtx context)
  21. {
  22. context.Device.Gpu.UninitializeVideoDecoder();
  23. Logger.PrintStub(LogClass.ServiceMm);
  24. return ResultCode.Success;
  25. }
  26. [Command(2)]
  27. // SetAndWaitOld(u32, u32, u32)
  28. public ResultCode SetAndWaitOld(ServiceCtx context)
  29. {
  30. int unknown0 = context.RequestData.ReadInt32();
  31. int unknown1 = context.RequestData.ReadInt32();
  32. int unknown2 = context.RequestData.ReadInt32();
  33. Logger.PrintStub(LogClass.ServiceMm, new { unknown0, unknown1, unknown2 });
  34. return ResultCode.Success;
  35. }
  36. [Command(3)]
  37. // GetOld(u32) -> u32
  38. public ResultCode GetOld(ServiceCtx context)
  39. {
  40. int unknown0 = context.RequestData.ReadInt32();
  41. Logger.PrintStub(LogClass.ServiceMm, new { unknown0 });
  42. context.ResponseData.Write(0);
  43. return ResultCode.Success;
  44. }
  45. [Command(4)]
  46. // Initialize()
  47. public ResultCode Initialize(ServiceCtx context)
  48. {
  49. Logger.PrintStub(LogClass.ServiceMm);
  50. return ResultCode.Success;
  51. }
  52. [Command(5)]
  53. // Finalize(u32)
  54. public ResultCode Finalize(ServiceCtx context)
  55. {
  56. context.Device.Gpu.UninitializeVideoDecoder();
  57. Logger.PrintStub(LogClass.ServiceMm);
  58. return ResultCode.Success;
  59. }
  60. [Command(6)]
  61. // SetAndWait(u32, u32, u32)
  62. public ResultCode SetAndWait(ServiceCtx context)
  63. {
  64. int unknown0 = context.RequestData.ReadInt32();
  65. int unknown1 = context.RequestData.ReadInt32();
  66. int unknown2 = context.RequestData.ReadInt32();
  67. Logger.PrintStub(LogClass.ServiceMm, new { unknown0, unknown1, unknown2 });
  68. return ResultCode.Success;
  69. }
  70. [Command(7)]
  71. // Get(u32) -> u32
  72. public ResultCode Get(ServiceCtx context)
  73. {
  74. int unknown0 = context.RequestData.ReadInt32();
  75. Logger.PrintStub(LogClass.ServiceMm, new { unknown0 });
  76. context.ResponseData.Write(0);
  77. return ResultCode.Success;
  78. }
  79. }
  80. }