diff options
| -rw-r--r-- | src/core/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/core/hle/service/ldr_ro.cpp | 28 | ||||
| -rw-r--r-- | src/core/hle/service/ldr_ro.h | 27 | ||||
| -rw-r--r-- | src/core/hle/service/service.cpp | 2 |
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 | |||
| 12 | namespace LDR_RO { | ||
| 13 | |||
| 14 | const 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 | |||
| 24 | Interface::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 | |||
| 12 | namespace LDR_RO { | ||
| 13 | |||
| 14 | class Interface : public Service::Interface { | ||
| 15 | public: | ||
| 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); |