diff options
| author | bunnei <bunneidev@gmail.com> | 2015-05-19 21:11:32 -0400 | 
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2015-05-20 18:05:47 -0400 | 
| commit | 25f14e76f1114ff05449b2959a0af4ef713fea18 (patch) | |
| tree | f796aa2c461375435080c7a4068d68d7ebd60bad /src/core/hle | |
| parent | 0b7d2941cf358cfdbfd32b0e5fb8fcca4180336f (diff) | |
y2r_u: Stub StartConversion to prevent moflex games from hanging.
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/service/y2r_u.cpp | 18 | 
1 files changed, 17 insertions, 1 deletions
| diff --git a/src/core/hle/service/y2r_u.cpp b/src/core/hle/service/y2r_u.cpp index 085192a07..edc443611 100644 --- a/src/core/hle/service/y2r_u.cpp +++ b/src/core/hle/service/y2r_u.cpp @@ -43,6 +43,22 @@ static void GetTransferEndEvent(Service::Interface* self) {      cmd_buff[3] = Kernel::g_handle_table.Create(completion_event).MoveFrom();  } +/** + * Starts a YUV -> RGB conversion + */ +static void StartConversion(Service::Interface* self) { +    u32* cmd_buff = Kernel::GetCommandBuffer(); + +    // TODO(bunnei): This is hack to indicate to the game that the conversion has immediately +    // completed, even though it's not actually implemented yet. This fixes games that would +    // otherwise hang on trying to play moflex videos, which uses the Y2R service. +    completion_event->Signal(); + +    LOG_WARNING(Service, "(STUBBED) called, expect blank video (MOFLEX) output!"); + +    cmd_buff[1] = RESULT_SUCCESS.raw; +} +  const Interface::FunctionInfo FunctionTable[] = {      {0x00010040, nullptr,                 "SetInputFormat"},      {0x00030040, nullptr,                 "SetOutputFormat"}, @@ -58,7 +74,7 @@ const Interface::FunctionInfo FunctionTable[] = {      {0x001C0040, nullptr,                 "SetInputLines"},      {0x00200040, nullptr,                 "SetStandardCoefficient"},      {0x00220040, nullptr,                 "SetAlpha"}, -    {0x00260000, nullptr,                 "StartConversion"}, +    {0x00260000, StartConversion,         "StartConversion"},      {0x00270000, nullptr,                 "StopConversion"},      {0x00280000, IsBusyConversion,        "IsBusyConversion"},      {0x002A0000, nullptr,                 "PingProcess"}, | 
