|
|
|
@ -11,6 +11,8 @@
|
|
|
|
|
|
|
|
|
|
namespace Y2R_U {
|
|
|
|
|
|
|
|
|
|
static Kernel::SharedPtr<Kernel::Event> completion_event = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Y2R_U::IsBusyConversion service function
|
|
|
|
|
* Outputs:
|
|
|
|
@ -26,13 +28,26 @@ static void IsBusyConversion(Service::Interface* self) {
|
|
|
|
|
LOG_WARNING(Service, "(STUBBED) called");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Y2R_U::GetTransferEndEvent service function
|
|
|
|
|
* Outputs:
|
|
|
|
|
* 1 : Result of function, 0 on success, otherwise error code
|
|
|
|
|
* 3 : The handle of the completion event
|
|
|
|
|
*/
|
|
|
|
|
static void GetTransferEndEvent(Service::Interface* self) {
|
|
|
|
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
|
|
|
|
|
|
|
|
|
cmd_buff[1] = RESULT_SUCCESS.raw;
|
|
|
|
|
cmd_buff[3] = Kernel::g_handle_table.Create(completion_event).MoveFrom();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const Interface::FunctionInfo FunctionTable[] = {
|
|
|
|
|
{0x00010040, nullptr, "SetInputFormat"},
|
|
|
|
|
{0x00030040, nullptr, "SetOutputFormat"},
|
|
|
|
|
{0x00050040, nullptr, "SetRotation"},
|
|
|
|
|
{0x00070040, nullptr, "SetBlockAlignment"},
|
|
|
|
|
{0x000D0040, nullptr, "SetTransferEndInterrupt"},
|
|
|
|
|
{0x000F0000, nullptr, "GetTransferEndEvent"},
|
|
|
|
|
{0x000F0000, GetTransferEndEvent, "GetTransferEndEvent"},
|
|
|
|
|
{0x00100102, nullptr, "SetSendingY"},
|
|
|
|
|
{0x00110102, nullptr, "SetSendingU"},
|
|
|
|
|
{0x00120102, nullptr, "SetSendingV"},
|
|
|
|
@ -53,6 +68,8 @@ const Interface::FunctionInfo FunctionTable[] = {
|
|
|
|
|
// Interface class
|
|
|
|
|
|
|
|
|
|
Interface::Interface() {
|
|
|
|
|
completion_event = Kernel::Event::Create(RESETTYPE_ONESHOT, "Y2R:Completed");
|
|
|
|
|
|
|
|
|
|
Register(FunctionTable);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|