summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/CMakeLists.txt2
-rw-r--r--src/core/hle/service/cecd/cecd.cpp10
-rw-r--r--src/core/hle/service/cecd/cecd_ndm.cpp23
-rw-r--r--src/core/hle/service/cecd/cecd_ndm.h22
-rw-r--r--src/core/hle/service/cecd/cecd_s.cpp26
-rw-r--r--src/core/hle/service/cecd/cecd_s.h4
-rw-r--r--src/core/hle/service/cecd/cecd_u.cpp3
-rw-r--r--src/core/hle/service/cecd/cecd_u.h4
8 files changed, 81 insertions, 13 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 7b3b4389a..e027151fe 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -74,6 +74,7 @@ set(SRCS
74 hle/service/cam/cam_s.cpp 74 hle/service/cam/cam_s.cpp
75 hle/service/cam/cam_u.cpp 75 hle/service/cam/cam_u.cpp
76 hle/service/cecd/cecd.cpp 76 hle/service/cecd/cecd.cpp
77 hle/service/cecd/cecd_ndm.cpp
77 hle/service/cecd/cecd_s.cpp 78 hle/service/cecd/cecd_s.cpp
78 hle/service/cecd/cecd_u.cpp 79 hle/service/cecd/cecd_u.cpp
79 hle/service/cfg/cfg.cpp 80 hle/service/cfg/cfg.cpp
@@ -239,6 +240,7 @@ set(HEADERS
239 hle/service/cam/cam_s.h 240 hle/service/cam/cam_s.h
240 hle/service/cam/cam_u.h 241 hle/service/cam/cam_u.h
241 hle/service/cecd/cecd.h 242 hle/service/cecd/cecd.h
243 hle/service/cecd/cecd_ndm.h
242 hle/service/cecd/cecd_s.h 244 hle/service/cecd/cecd_s.h
243 hle/service/cecd/cecd_u.h 245 hle/service/cecd/cecd_u.h
244 hle/service/cfg/cfg.h 246 hle/service/cfg/cfg.h
diff --git a/src/core/hle/service/cecd/cecd.cpp b/src/core/hle/service/cecd/cecd.cpp
index 515b344e6..eb04273db 100644
--- a/src/core/hle/service/cecd/cecd.cpp
+++ b/src/core/hle/service/cecd/cecd.cpp
@@ -5,6 +5,7 @@
5#include "common/logging/log.h" 5#include "common/logging/log.h"
6#include "core/hle/kernel/event.h" 6#include "core/hle/kernel/event.h"
7#include "core/hle/service/cecd/cecd.h" 7#include "core/hle/service/cecd/cecd.h"
8#include "core/hle/service/cecd/cecd_ndm.h"
8#include "core/hle/service/cecd/cecd_s.h" 9#include "core/hle/service/cecd/cecd_s.h"
9#include "core/hle/service/cecd/cecd_u.h" 10#include "core/hle/service/cecd/cecd_u.h"
10#include "core/hle/service/service.h" 11#include "core/hle/service/service.h"
@@ -43,12 +44,13 @@ void GetChangeStateEventHandle(Service::Interface* self) {
43} 44}
44 45
45void Init() { 46void Init() {
46 AddService(new CECD_S_Interface); 47 AddService(new CECD_NDM);
47 AddService(new CECD_U_Interface); 48 AddService(new CECD_S);
49 AddService(new CECD_U);
48 50
49 cecinfo_event = Kernel::Event::Create(Kernel::ResetType::OneShot, "CECD_U::cecinfo_event"); 51 cecinfo_event = Kernel::Event::Create(Kernel::ResetType::OneShot, "CECD::cecinfo_event");
50 change_state_event = 52 change_state_event =
51 Kernel::Event::Create(Kernel::ResetType::OneShot, "CECD_U::change_state_event"); 53 Kernel::Event::Create(Kernel::ResetType::OneShot, "CECD::change_state_event");
52} 54}
53 55
54void Shutdown() { 56void Shutdown() {
diff --git a/src/core/hle/service/cecd/cecd_ndm.cpp b/src/core/hle/service/cecd/cecd_ndm.cpp
new file mode 100644
index 000000000..7baf93750
--- /dev/null
+++ b/src/core/hle/service/cecd/cecd_ndm.cpp
@@ -0,0 +1,23 @@
1// Copyright 2016 Citra Emulator Project
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#include "core/hle/service/cecd/cecd.h"
6#include "core/hle/service/cecd/cecd_ndm.h"
7
8namespace Service {
9namespace CECD {
10
11static const Interface::FunctionInfo FunctionTable[] = {
12 {0x00010000, nullptr, "Initialize"},
13 {0x00020000, nullptr, "Deinitialize"},
14 {0x00030000, nullptr, "ResumeDaemon"},
15 {0x00040040, nullptr, "SuspendDaemon"},
16};
17
18CECD_NDM::CECD_NDM() {
19 Register(FunctionTable);
20}
21
22} // namespace CECD
23} // namespace Service
diff --git a/src/core/hle/service/cecd/cecd_ndm.h b/src/core/hle/service/cecd/cecd_ndm.h
new file mode 100644
index 000000000..2e2e50ada
--- /dev/null
+++ b/src/core/hle/service/cecd/cecd_ndm.h
@@ -0,0 +1,22 @@
1// Copyright 2016 Citra Emulator Project
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#pragma once
6
7#include "core/hle/service/service.h"
8
9namespace Service {
10namespace CECD {
11
12class CECD_NDM : public Interface {
13public:
14 CECD_NDM();
15
16 std::string GetPortName() const override {
17 return "cecd:ndm";
18 }
19};
20
21} // namespace CECD
22} // namespace Service
diff --git a/src/core/hle/service/cecd/cecd_s.cpp b/src/core/hle/service/cecd/cecd_s.cpp
index 7477b9320..eacda7d41 100644
--- a/src/core/hle/service/cecd/cecd_s.cpp
+++ b/src/core/hle/service/cecd/cecd_s.cpp
@@ -2,16 +2,34 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/cecd/cecd.h"
5#include "core/hle/service/cecd/cecd_s.h" 6#include "core/hle/service/cecd/cecd_s.h"
6 7
7namespace Service { 8namespace Service {
8namespace CECD { 9namespace CECD {
9 10
10// Empty arrays are illegal -- commented out until an entry is added. 11static const Interface::FunctionInfo FunctionTable[] = {
11// const Interface::FunctionInfo FunctionTable[] = { }; 12 // cecd:u shared commands
13 {0x000100C2, nullptr, "OpenRawFile"},
14 {0x00020042, nullptr, "ReadRawFile"},
15 {0x00030104, nullptr, "ReadMessage"},
16 {0x00040106, nullptr, "ReadMessageWithHMAC"},
17 {0x00050042, nullptr, "WriteRawFile"},
18 {0x00060104, nullptr, "WriteMessage"},
19 {0x00070106, nullptr, "WriteMessageWithHMAC"},
20 {0x00080102, nullptr, "Delete"},
21 {0x000A00C4, nullptr, "GetSystemInfo"},
22 {0x000B0040, nullptr, "RunCommand"},
23 {0x000C0040, nullptr, "RunCommandAlt"},
24 {0x000E0000, GetCecStateAbbreviated, "GetCecStateAbbreviated"},
25 {0x000F0000, GetCecInfoEventHandle, "GetCecInfoEventHandle"},
26 {0x00100000, GetChangeStateEventHandle, "GetChangeStateEventHandle"},
27 {0x00110104, nullptr, "OpenAndWrite"},
28 {0x00120104, nullptr, "OpenAndRead"},
29};
12 30
13CECD_S_Interface::CECD_S_Interface() { 31CECD_S::CECD_S() {
14 // Register(FunctionTable); 32 Register(FunctionTable);
15} 33}
16 34
17} // namespace CECD 35} // namespace CECD
diff --git a/src/core/hle/service/cecd/cecd_s.h b/src/core/hle/service/cecd/cecd_s.h
index df5c01849..ab6c6789a 100644
--- a/src/core/hle/service/cecd/cecd_s.h
+++ b/src/core/hle/service/cecd/cecd_s.h
@@ -9,9 +9,9 @@
9namespace Service { 9namespace Service {
10namespace CECD { 10namespace CECD {
11 11
12class CECD_S_Interface : public Interface { 12class CECD_S : public Interface {
13public: 13public:
14 CECD_S_Interface(); 14 CECD_S();
15 15
16 std::string GetPortName() const override { 16 std::string GetPortName() const override {
17 return "cecd:s"; 17 return "cecd:s";
diff --git a/src/core/hle/service/cecd/cecd_u.cpp b/src/core/hle/service/cecd/cecd_u.cpp
index 7d98ba6e9..3ed864f0b 100644
--- a/src/core/hle/service/cecd/cecd_u.cpp
+++ b/src/core/hle/service/cecd/cecd_u.cpp
@@ -9,6 +9,7 @@ namespace Service {
9namespace CECD { 9namespace CECD {
10 10
11static const Interface::FunctionInfo FunctionTable[] = { 11static const Interface::FunctionInfo FunctionTable[] = {
12 // cecd:u shared commands
12 {0x000100C2, nullptr, "OpenRawFile"}, 13 {0x000100C2, nullptr, "OpenRawFile"},
13 {0x00020042, nullptr, "ReadRawFile"}, 14 {0x00020042, nullptr, "ReadRawFile"},
14 {0x00030104, nullptr, "ReadMessage"}, 15 {0x00030104, nullptr, "ReadMessage"},
@@ -27,7 +28,7 @@ static const Interface::FunctionInfo FunctionTable[] = {
27 {0x00120104, nullptr, "OpenAndRead"}, 28 {0x00120104, nullptr, "OpenAndRead"},
28}; 29};
29 30
30CECD_U_Interface::CECD_U_Interface() { 31CECD_U::CECD_U() {
31 Register(FunctionTable); 32 Register(FunctionTable);
32} 33}
33 34
diff --git a/src/core/hle/service/cecd/cecd_u.h b/src/core/hle/service/cecd/cecd_u.h
index 394030ffc..16e874ff5 100644
--- a/src/core/hle/service/cecd/cecd_u.h
+++ b/src/core/hle/service/cecd/cecd_u.h
@@ -9,9 +9,9 @@
9namespace Service { 9namespace Service {
10namespace CECD { 10namespace CECD {
11 11
12class CECD_U_Interface : public Interface { 12class CECD_U : public Interface {
13public: 13public:
14 CECD_U_Interface(); 14 CECD_U();
15 15
16 std::string GetPortName() const override { 16 std::string GetPortName() const override {
17 return "cecd:u"; 17 return "cecd:u";