diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 89ea70d23e30661337570aa909b6b44f7c2c3bbe..a08447ca265a75a14b8cf4f16cd8c63cbd7c771f 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -66,6 +66,7 @@ set(SRCS
             hle/service/soc_u.cpp
             hle/service/srv.cpp
             hle/service/ssl_c.cpp
+            hle/service/y2r_u.cpp
             hle/config_mem.cpp
             hle/hle.cpp
             hle/svc.cpp
@@ -157,6 +158,7 @@ set(HEADERS
             hle/service/soc_u.h
             hle/service/srv.h
             hle/service/ssl_c.h
+            hle/service/y2r_u.h
             hle/config_mem.h
             hle/result.h
             hle/function_wrappers.h
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index 0f3cc2aa87ef7db610b857cdc088af3a0f08903e..c5233e68798d91ea90c0daaf8e5609cb052e8cef 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -37,6 +37,7 @@
 #include "core/hle/service/soc_u.h"
 #include "core/hle/service/srv.h"
 #include "core/hle/service/ssl_c.h"
+#include "core/hle/service/y2r_u.h"
 
 namespace Service {
 
@@ -122,6 +123,7 @@ void Init() {
     g_manager->AddService(new PTM_U::Interface);
     g_manager->AddService(new SOC_U::Interface);
     g_manager->AddService(new SSL_C::Interface);
+    g_manager->AddService(new Y2R_U::Interface);
 
     LOG_DEBUG(Service, "initialized OK");
 }
diff --git a/src/core/hle/service/y2r_u.cpp b/src/core/hle/service/y2r_u.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..f9e3619dd7cf7a175e57d4751678c71cfe2267f7
--- /dev/null
+++ b/src/core/hle/service/y2r_u.cpp
@@ -0,0 +1,45 @@
+// Copyright 2014 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "common/log.h"
+#include "core/hle/hle.h"
+#include "core/hle/kernel/event.h"
+#include "core/hle/service/y2r_u.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+// Namespace Y2R_U
+
+namespace Y2R_U {
+
+const Interface::FunctionInfo FunctionTable[] = {
+    {0x00010040, nullptr,                 "SetInputFormat"},
+    {0x00030040, nullptr,                 "SetOutputFormat"},
+    {0x00050040, nullptr,                 "SetRotation"},
+    {0x00070040, nullptr,                 "SetBlockAlignment"},
+    {0x000D0040, nullptr,                 "SetTransferEndInterrupt"},
+    {0x000F0000, nullptr,                 "GetTransferEndEvent"},
+    {0x00100102, nullptr,                 "SetSendingY"},
+    {0x00110102, nullptr,                 "SetSendingU"},
+    {0x00120102, nullptr,                 "SetSendingV"},
+    {0x00180102, nullptr,                 "SetReceiving"},
+    {0x001A0040, nullptr,                 "SetInputLineWidth"},
+    {0x001C0040, nullptr,                 "SetInputLines"},
+    {0x00200040, nullptr,                 "SetStandardCoefficient"},
+    {0x00220040, nullptr,                 "SetAlpha"},
+    {0x00260000, nullptr,                 "StartConversion"},
+    {0x00270000, nullptr,                 "StopConversion"},
+    {0x00280000, nullptr,                 "IsBusyConversion"},
+    {0x002A0000, nullptr,                 "PingProcess"},
+    {0x002B0000, nullptr,                 "DriverInitialize"},
+    {0x002C0000, nullptr,                 "DriverFinalize"}
+};
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+// Interface class
+
+Interface::Interface() {
+    Register(FunctionTable, ARRAY_SIZE(FunctionTable));
+}
+    
+} // namespace
diff --git a/src/core/hle/service/y2r_u.h b/src/core/hle/service/y2r_u.h
new file mode 100644
index 0000000000000000000000000000000000000000..171aecfd1b138b166462499d371ca3650ca518bc
--- /dev/null
+++ b/src/core/hle/service/y2r_u.h
@@ -0,0 +1,23 @@
+// Copyright 2014 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "core/hle/service/service.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+// Namespace Y2R_U
+
+namespace Y2R_U {
+
+class Interface : public Service::Interface {
+public:
+    Interface();
+
+    std::string GetPortName() const override {
+        return "y2r:u";
+    }
+};
+
+} // namespace