diff --git a/src/common/logging/backend.cpp b/src/common/logging/backend.cpp
index a22b0aeb03193dcb136b486a00aa0523179ec5f8..cfbfbc2a7b0de6c941f0d5af82c33cc127201c5b 100644
--- a/src/common/logging/backend.cpp
+++ b/src/common/logging/backend.cpp
@@ -49,6 +49,7 @@ namespace Log {
         SUB(Service, CECD) \
         SUB(Service, CFG) \
         SUB(Service, DSP) \
+        SUB(Service, DLP) \
         SUB(Service, HID) \
         SUB(Service, SOC) \
         SUB(Service, IR) \
diff --git a/src/common/logging/log.h b/src/common/logging/log.h
index b1b639f1503003236621a1680354652e6e7b09a3..4f6856f3dd924b678dc324226c116d7cf89928c1 100644
--- a/src/common/logging/log.h
+++ b/src/common/logging/log.h
@@ -64,6 +64,7 @@ enum class Class : ClassType {
     Service_CECD,               ///< The CECD service
     Service_CFG,                ///< The CFG (Configuration) service
     Service_DSP,                ///< The DSP (DSP control) service
+    Service_DLP,                ///< The DLP (Download Play) service
     Service_HID,                ///< The HID (Human interface device) service
     Service_SOC,                ///< The SOC (Socket) service
     Service_IR,                 ///< The IR service
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 3473e2f5b56af613c8fd45e46b6e367ef88bb686..a8d89168997ff60e816f37ab91a9611207faf5c0 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -68,6 +68,7 @@ set(SRCS
             hle/service/cfg/cfg_s.cpp
             hle/service/cfg/cfg_u.cpp
             hle/service/csnd_snd.cpp
+            hle/service/dlp_srvr.cpp
             hle/service/dsp_dsp.cpp
             hle/service/err_f.cpp
             hle/service/frd/frd.cpp
@@ -200,6 +201,7 @@ set(HEADERS
             hle/service/cfg/cfg_s.h
             hle/service/cfg/cfg_u.h
             hle/service/csnd_snd.h
+            hle/service/dlp_srvr.h
             hle/service/dsp_dsp.h
             hle/service/err_f.h
             hle/service/frd/frd.h
diff --git a/src/core/hle/service/dlp_srvr.cpp b/src/core/hle/service/dlp_srvr.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..1f30188dac6e20a789abd64db3e25e60ad1acfab
--- /dev/null
+++ b/src/core/hle/service/dlp_srvr.cpp
@@ -0,0 +1,36 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "common/logging/log.h"
+#include "core/hle/hle.h"
+#include "core/hle/service/dlp_srvr.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+// Namespace DLP_SRVR
+
+namespace DLP_SRVR {
+
+static void unk_0x000E0040(Service::Interface* self) {
+    u32* cmd_buff = Kernel::GetCommandBuffer();
+
+    cmd_buff[1] = RESULT_SUCCESS.raw;
+    cmd_buff[2] = 0;
+
+    LOG_WARNING(Service_DLP, "(STUBBED) called");
+}
+
+const Interface::FunctionInfo FunctionTable[] = {
+    {0x00010183, nullptr,           "Initialize"},
+    {0x00020000, nullptr,           "Finalize"},
+    {0x000E0040, unk_0x000E0040,    "unk_0x000E0040"},
+};
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+// Interface class
+
+Interface::Interface() {
+    Register(FunctionTable);
+}
+
+} // namespace
diff --git a/src/core/hle/service/dlp_srvr.h b/src/core/hle/service/dlp_srvr.h
new file mode 100644
index 0000000000000000000000000000000000000000..d65d008143e7a5757d22b081b875ea29dbfb0b32
--- /dev/null
+++ b/src/core/hle/service/dlp_srvr.h
@@ -0,0 +1,23 @@
+// Copyright 2016 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 DLP_SRVR
+
+namespace DLP_SRVR {
+
+class Interface : public Service::Interface {
+public:
+    Interface();
+
+    std::string GetPortName() const override {
+        return "dlp:SRVR";
+    }
+};
+
+} // namespace
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index 35b64840981b150b6ec8465a837af9844563e33b..7844d23302f015ca6d8e5644cc33d04ed75180be 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -9,6 +9,7 @@
 #include "core/hle/service/ac_u.h"
 #include "core/hle/service/act_u.h"
 #include "core/hle/service/csnd_snd.h"
+#include "core/hle/service/dlp_srvr.h"
 #include "core/hle/service/dsp_dsp.h"
 #include "core/hle/service/err_f.h"
 #include "core/hle/service/gsp_gpu.h"
@@ -121,6 +122,7 @@ void Init() {
     AddService(new AC_U::Interface);
     AddService(new ACT_U::Interface);
     AddService(new CSND_SND::Interface);
+    AddService(new DLP_SRVR::Interface);
     AddService(new DSP_DSP::Interface);
     AddService(new GSP_GPU::Interface);
     AddService(new GSP_LCD::Interface);