summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/CMakeLists.txt2
-rw-r--r--src/core/hle/service/ldr_ro.cpp28
-rw-r--r--src/core/hle/service/ldr_ro.h27
-rw-r--r--src/core/hle/service/service.cpp2
4 files changed, 59 insertions, 0 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 352bb5b2b..3cf383f32 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -47,6 +47,7 @@ set(SRCS
47 hle/service/hid_user.cpp 47 hle/service/hid_user.cpp
48 hle/service/ir_rst.cpp 48 hle/service/ir_rst.cpp
49 hle/service/ir_u.cpp 49 hle/service/ir_u.cpp
50 hle/service/ldr_ro.cpp
50 hle/service/mic_u.cpp 51 hle/service/mic_u.cpp
51 hle/service/ndm_u.cpp 52 hle/service/ndm_u.cpp
52 hle/service/nwm_uds.cpp 53 hle/service/nwm_uds.cpp
@@ -127,6 +128,7 @@ set(HEADERS
127 hle/service/hid_user.h 128 hle/service/hid_user.h
128 hle/service/ir_rst.h 129 hle/service/ir_rst.h
129 hle/service/ir_u.h 130 hle/service/ir_u.h
131 hle/service/ldr_ro.h
130 hle/service/mic_u.h 132 hle/service/mic_u.h
131 hle/service/ndm_u.h 133 hle/service/ndm_u.h
132 hle/service/nwm_uds.h 134 hle/service/nwm_uds.h
diff --git a/src/core/hle/service/ldr_ro.cpp b/src/core/hle/service/ldr_ro.cpp
new file mode 100644
index 000000000..91b1a6fc5
--- /dev/null
+++ b/src/core/hle/service/ldr_ro.cpp
@@ -0,0 +1,28 @@
1// Copyright 2014 Citra Emulator Project
2// Licensed under GPLv2+
3// Refer to the license.txt file included.
4
5#include "common/log.h"
6#include "core/hle/hle.h"
7#include "core/hle/service/ldr_ro.h"
8
9////////////////////////////////////////////////////////////////////////////////////////////////////
10// Namespace LDR_RO
11
12namespace LDR_RO {
13
14const Interface::FunctionInfo FunctionTable[] = {
15 {0x000100C2, nullptr, "Initialize"},
16 {0x00020082, nullptr, "CRR_Load"},
17 {0x00030042, nullptr, "CRR_Unload"},
18 {0x000402C2, nullptr, "CRO_LoadAndFix"},
19 {0x000500C2, nullptr, "CRO_ApplyRelocationPatchesAndLink"}
20};
21////////////////////////////////////////////////////////////////////////////////////////////////////
22// Interface class
23
24Interface::Interface() {
25 Register(FunctionTable, ARRAY_SIZE(FunctionTable));
26}
27
28} // namespace
diff --git a/src/core/hle/service/ldr_ro.h b/src/core/hle/service/ldr_ro.h
new file mode 100644
index 000000000..32d7c29cf
--- /dev/null
+++ b/src/core/hle/service/ldr_ro.h
@@ -0,0 +1,27 @@
1// Copyright 2014 Citra Emulator Project
2// Licensed under GPLv2+
3// Refer to the license.txt file included.
4
5#pragma once
6
7#include "core/hle/service/service.h"
8
9////////////////////////////////////////////////////////////////////////////////////////////////////
10// Namespace LDR_RO
11
12namespace LDR_RO {
13
14class Interface : public Service::Interface {
15public:
16 Interface();
17
18 /**
19 * Gets the string port name used by CTROS for the service
20 * @return Port name of service
21 */
22 std::string GetPortName() const override {
23 return "ldr:ro";
24 }
25};
26
27} // namespace
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index 287cd48e1..b91081542 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -22,6 +22,7 @@
22#include "core/hle/service/hid_user.h" 22#include "core/hle/service/hid_user.h"
23#include "core/hle/service/ir_rst.h" 23#include "core/hle/service/ir_rst.h"
24#include "core/hle/service/ir_u.h" 24#include "core/hle/service/ir_u.h"
25#include "core/hle/service/ldr_ro.h"
25#include "core/hle/service/mic_u.h" 26#include "core/hle/service/mic_u.h"
26#include "core/hle/service/ndm_u.h" 27#include "core/hle/service/ndm_u.h"
27#include "core/hle/service/nwm_uds.h" 28#include "core/hle/service/nwm_uds.h"
@@ -100,6 +101,7 @@ void Init() {
100 g_manager->AddService(new HID_User::Interface); 101 g_manager->AddService(new HID_User::Interface);
101 g_manager->AddService(new IR_RST::Interface); 102 g_manager->AddService(new IR_RST::Interface);
102 g_manager->AddService(new IR_U::Interface); 103 g_manager->AddService(new IR_U::Interface);
104 g_manager->AddService(new LDR_RO::Interface);
103 g_manager->AddService(new MIC_U::Interface); 105 g_manager->AddService(new MIC_U::Interface);
104 g_manager->AddService(new NDM_U::Interface); 106 g_manager->AddService(new NDM_U::Interface);
105 g_manager->AddService(new NWM_UDS::Interface); 107 g_manager->AddService(new NWM_UDS::Interface);