summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Yuri Kunde Schlesner2016-12-08 01:49:46 -0800
committerGravatar GitHub2016-12-08 01:49:45 -0800
commit1840685ee89f6ea6b21ed57a2f43228a0e75437c (patch)
tree304a7eec4f7d0f81737d2ef8fa5fd86e198e5b63
parentMerge pull request #2274 from degasus/master (diff)
parentservice: Add mvd and qtm services (diff)
downloadyuzu-1840685ee89f6ea6b21ed57a2f43228a0e75437c.tar.gz
yuzu-1840685ee89f6ea6b21ed57a2f43228a0e75437c.tar.xz
yuzu-1840685ee89f6ea6b21ed57a2f43228a0e75437c.zip
Merge pull request #2286 from lioncash/svc
service: Add mvd and qtm services
-rw-r--r--src/core/CMakeLists.txt12
-rw-r--r--src/core/hle/service/mvd/mvd.cpp17
-rw-r--r--src/core/hle/service/mvd/mvd.h14
-rw-r--r--src/core/hle/service/mvd/mvd_std.cpp32
-rw-r--r--src/core/hle/service/mvd/mvd_std.h22
-rw-r--r--src/core/hle/service/qtm/qtm.cpp21
-rw-r--r--src/core/hle/service/qtm/qtm.h14
-rw-r--r--src/core/hle/service/qtm/qtm_s.cpp23
-rw-r--r--src/core/hle/service/qtm/qtm_s.h22
-rw-r--r--src/core/hle/service/qtm/qtm_sp.cpp23
-rw-r--r--src/core/hle/service/qtm/qtm_sp.h22
-rw-r--r--src/core/hle/service/qtm/qtm_u.cpp23
-rw-r--r--src/core/hle/service/qtm/qtm_u.h22
-rw-r--r--src/core/hle/service/service.cpp4
14 files changed, 271 insertions, 0 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index a5b699047..3dd3310cb 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -105,6 +105,8 @@ set(SRCS
105 hle/service/ldr_ro/ldr_ro.cpp 105 hle/service/ldr_ro/ldr_ro.cpp
106 hle/service/ldr_ro/memory_synchronizer.cpp 106 hle/service/ldr_ro/memory_synchronizer.cpp
107 hle/service/mic_u.cpp 107 hle/service/mic_u.cpp
108 hle/service/mvd/mvd.cpp
109 hle/service/mvd/mvd_std.cpp
108 hle/service/ndm/ndm.cpp 110 hle/service/ndm/ndm.cpp
109 hle/service/ndm/ndm_u.cpp 111 hle/service/ndm/ndm_u.cpp
110 hle/service/nfc/nfc.cpp 112 hle/service/nfc/nfc.cpp
@@ -124,6 +126,10 @@ set(SRCS
124 hle/service/ptm/ptm_play.cpp 126 hle/service/ptm/ptm_play.cpp
125 hle/service/ptm/ptm_sysm.cpp 127 hle/service/ptm/ptm_sysm.cpp
126 hle/service/ptm/ptm_u.cpp 128 hle/service/ptm/ptm_u.cpp
129 hle/service/qtm/qtm.cpp
130 hle/service/qtm/qtm_s.cpp
131 hle/service/qtm/qtm_sp.cpp
132 hle/service/qtm/qtm_u.cpp
127 hle/service/service.cpp 133 hle/service/service.cpp
128 hle/service/soc_u.cpp 134 hle/service/soc_u.cpp
129 hle/service/srv.cpp 135 hle/service/srv.cpp
@@ -259,6 +265,8 @@ set(HEADERS
259 hle/service/ldr_ro/ldr_ro.h 265 hle/service/ldr_ro/ldr_ro.h
260 hle/service/ldr_ro/memory_synchronizer.h 266 hle/service/ldr_ro/memory_synchronizer.h
261 hle/service/mic_u.h 267 hle/service/mic_u.h
268 hle/service/mvd/mvd.h
269 hle/service/mvd/mvd_std.h
262 hle/service/ndm/ndm.h 270 hle/service/ndm/ndm.h
263 hle/service/ndm/ndm_u.h 271 hle/service/ndm/ndm_u.h
264 hle/service/nfc/nfc.h 272 hle/service/nfc/nfc.h
@@ -278,6 +286,10 @@ set(HEADERS
278 hle/service/ptm/ptm_play.h 286 hle/service/ptm/ptm_play.h
279 hle/service/ptm/ptm_sysm.h 287 hle/service/ptm/ptm_sysm.h
280 hle/service/ptm/ptm_u.h 288 hle/service/ptm/ptm_u.h
289 hle/service/qtm/qtm.h
290 hle/service/qtm/qtm_s.h
291 hle/service/qtm/qtm_sp.h
292 hle/service/qtm/qtm_u.h
281 hle/service/service.h 293 hle/service/service.h
282 hle/service/soc_u.h 294 hle/service/soc_u.h
283 hle/service/srv.h 295 hle/service/srv.h
diff --git a/src/core/hle/service/mvd/mvd.cpp b/src/core/hle/service/mvd/mvd.cpp
new file mode 100644
index 000000000..9416fe5d6
--- /dev/null
+++ b/src/core/hle/service/mvd/mvd.cpp
@@ -0,0 +1,17 @@
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/mvd/mvd.h"
6#include "core/hle/service/mvd/mvd_std.h"
7#include "core/hle/service/service.h"
8
9namespace Service {
10namespace MVD {
11
12void Init() {
13 AddService(new MVD_STD());
14}
15
16} // namespace MVD
17} // namespace Service
diff --git a/src/core/hle/service/mvd/mvd.h b/src/core/hle/service/mvd/mvd.h
new file mode 100644
index 000000000..7b212e839
--- /dev/null
+++ b/src/core/hle/service/mvd/mvd.h
@@ -0,0 +1,14 @@
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
7namespace Service {
8namespace MVD {
9
10/// Initializes all MVD services.
11void Init();
12
13} // namespace MVD
14} // namespace Service
diff --git a/src/core/hle/service/mvd/mvd_std.cpp b/src/core/hle/service/mvd/mvd_std.cpp
new file mode 100644
index 000000000..fd7ca87d3
--- /dev/null
+++ b/src/core/hle/service/mvd/mvd_std.cpp
@@ -0,0 +1,32 @@
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/mvd/mvd_std.h"
6
7namespace Service {
8namespace MVD {
9
10const Interface::FunctionInfo FunctionTable[] = {
11 // clang-format off
12 {0x00010082, nullptr, "Initialize"},
13 {0x00020000, nullptr, "Shutdown"},
14 {0x00030300, nullptr, "CalculateWorkBufSize"},
15 {0x000400C0, nullptr, "CalculateImageSize"},
16 {0x00080142, nullptr, "ProcessNALUnit"},
17 {0x00090042, nullptr, "ControlFrameRendering"},
18 {0x000A0000, nullptr, "GetStatus"},
19 {0x000B0000, nullptr, "GetStatusOther"},
20 {0x001D0042, nullptr, "GetConfig"},
21 {0x001E0044, nullptr, "SetConfig"},
22 {0x001F0902, nullptr, "SetOutputBuffer"},
23 {0x00210100, nullptr, "OverrideOutputBuffers"}
24 // clang-format on
25};
26
27MVD_STD::MVD_STD() {
28 Register(FunctionTable);
29}
30
31} // namespace MVD
32} // namespace Service
diff --git a/src/core/hle/service/mvd/mvd_std.h b/src/core/hle/service/mvd/mvd_std.h
new file mode 100644
index 000000000..7db9e2e50
--- /dev/null
+++ b/src/core/hle/service/mvd/mvd_std.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 MVD {
11
12class MVD_STD final : public Interface {
13public:
14 MVD_STD();
15
16 std::string GetPortName() const override {
17 return "mvd:std";
18 }
19};
20
21} // namespace MVD
22} // namespace Service
diff --git a/src/core/hle/service/qtm/qtm.cpp b/src/core/hle/service/qtm/qtm.cpp
new file mode 100644
index 000000000..f11542263
--- /dev/null
+++ b/src/core/hle/service/qtm/qtm.cpp
@@ -0,0 +1,21 @@
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/qtm/qtm.h"
6#include "core/hle/service/qtm/qtm_s.h"
7#include "core/hle/service/qtm/qtm_sp.h"
8#include "core/hle/service/qtm/qtm_u.h"
9#include "core/hle/service/service.h"
10
11namespace Service {
12namespace QTM {
13
14void Init() {
15 AddService(new QTM_S());
16 AddService(new QTM_SP());
17 AddService(new QTM_U());
18}
19
20} // namespace QTM
21} // namespace Service
diff --git a/src/core/hle/service/qtm/qtm.h b/src/core/hle/service/qtm/qtm.h
new file mode 100644
index 000000000..33b774c79
--- /dev/null
+++ b/src/core/hle/service/qtm/qtm.h
@@ -0,0 +1,14 @@
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
7namespace Service {
8namespace QTM {
9
10/// Initializes all QTM services.
11void Init();
12
13} // namespace QTM
14} // namespace Service
diff --git a/src/core/hle/service/qtm/qtm_s.cpp b/src/core/hle/service/qtm/qtm_s.cpp
new file mode 100644
index 000000000..ad7df24a0
--- /dev/null
+++ b/src/core/hle/service/qtm/qtm_s.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/qtm/qtm_s.h"
6
7namespace Service {
8namespace QTM {
9
10const Interface::FunctionInfo FunctionTable[] = {
11 // clang-format off
12 // qtm common commands
13 {0x00010080, nullptr, "GetHeadtrackingInfoRaw"},
14 {0x00020080, nullptr, "GetHeadtrackingInfo"},
15 // clang-format on
16};
17
18QTM_S::QTM_S() {
19 Register(FunctionTable);
20}
21
22} // namespace QTM
23} // namespace Service
diff --git a/src/core/hle/service/qtm/qtm_s.h b/src/core/hle/service/qtm/qtm_s.h
new file mode 100644
index 000000000..e66138ed0
--- /dev/null
+++ b/src/core/hle/service/qtm/qtm_s.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 QTM {
11
12class QTM_S final : public Interface {
13public:
14 QTM_S();
15
16 std::string GetPortName() const override {
17 return "qtm:s";
18 }
19};
20
21} // namespace QTM
22} // namespace Service
diff --git a/src/core/hle/service/qtm/qtm_sp.cpp b/src/core/hle/service/qtm/qtm_sp.cpp
new file mode 100644
index 000000000..6e0695d34
--- /dev/null
+++ b/src/core/hle/service/qtm/qtm_sp.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/qtm/qtm_sp.h"
6
7namespace Service {
8namespace QTM {
9
10const Interface::FunctionInfo FunctionTable[] = {
11 // clang-format off
12 // qtm common commands
13 {0x00010080, nullptr, "GetHeadtrackingInfoRaw"},
14 {0x00020080, nullptr, "GetHeadtrackingInfo"},
15 // clang-format on
16};
17
18QTM_SP::QTM_SP() {
19 Register(FunctionTable);
20}
21
22} // namespace QTM
23} // namespace Service
diff --git a/src/core/hle/service/qtm/qtm_sp.h b/src/core/hle/service/qtm/qtm_sp.h
new file mode 100644
index 000000000..0ae0618fc
--- /dev/null
+++ b/src/core/hle/service/qtm/qtm_sp.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 QTM {
11
12class QTM_SP final : public Interface {
13public:
14 QTM_SP();
15
16 std::string GetPortName() const override {
17 return "qtm:sp";
18 }
19};
20
21} // namespace QTM
22} // namespace Service
diff --git a/src/core/hle/service/qtm/qtm_u.cpp b/src/core/hle/service/qtm/qtm_u.cpp
new file mode 100644
index 000000000..a0f808432
--- /dev/null
+++ b/src/core/hle/service/qtm/qtm_u.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/qtm/qtm_u.h"
6
7namespace Service {
8namespace QTM {
9
10const Interface::FunctionInfo FunctionTable[] = {
11 // clang-format off
12 // qtm common commands
13 {0x00010080, nullptr, "GetHeadtrackingInfoRaw"},
14 {0x00020080, nullptr, "GetHeadtrackingInfo"},
15 // clang-format on
16};
17
18QTM_U::QTM_U() {
19 Register(FunctionTable);
20}
21
22} // namespace QTM
23} // namespace Service
diff --git a/src/core/hle/service/qtm/qtm_u.h b/src/core/hle/service/qtm/qtm_u.h
new file mode 100644
index 000000000..1ed4c0adc
--- /dev/null
+++ b/src/core/hle/service/qtm/qtm_u.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 QTM {
11
12class QTM_U final : public Interface {
13public:
14 QTM_U();
15
16 std::string GetPortName() const override {
17 return "qtm:u";
18 }
19};
20
21} // namespace QTM
22} // namespace Service
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index 5f16c18fa..407ca4139 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -26,6 +26,7 @@
26#include "core/hle/service/ir/ir.h" 26#include "core/hle/service/ir/ir.h"
27#include "core/hle/service/ldr_ro/ldr_ro.h" 27#include "core/hle/service/ldr_ro/ldr_ro.h"
28#include "core/hle/service/mic_u.h" 28#include "core/hle/service/mic_u.h"
29#include "core/hle/service/mvd/mvd.h"
29#include "core/hle/service/ndm/ndm.h" 30#include "core/hle/service/ndm/ndm.h"
30#include "core/hle/service/news/news.h" 31#include "core/hle/service/news/news.h"
31#include "core/hle/service/nfc/nfc.h" 32#include "core/hle/service/nfc/nfc.h"
@@ -34,6 +35,7 @@
34#include "core/hle/service/nwm_uds.h" 35#include "core/hle/service/nwm_uds.h"
35#include "core/hle/service/pm_app.h" 36#include "core/hle/service/pm_app.h"
36#include "core/hle/service/ptm/ptm.h" 37#include "core/hle/service/ptm/ptm.h"
38#include "core/hle/service/qtm/qtm.h"
37#include "core/hle/service/service.h" 39#include "core/hle/service/service.h"
38#include "core/hle/service/soc_u.h" 40#include "core/hle/service/soc_u.h"
39#include "core/hle/service/srv.h" 41#include "core/hle/service/srv.h"
@@ -121,11 +123,13 @@ void Init() {
121 FRD::Init(); 123 FRD::Init();
122 HID::Init(); 124 HID::Init();
123 IR::Init(); 125 IR::Init();
126 MVD::Init();
124 NDM::Init(); 127 NDM::Init();
125 NEWS::Init(); 128 NEWS::Init();
126 NFC::Init(); 129 NFC::Init();
127 NIM::Init(); 130 NIM::Init();
128 PTM::Init(); 131 PTM::Init();
132 QTM::Init();
129 133
130 AddService(new AC_U::Interface); 134 AddService(new AC_U::Interface);
131 AddService(new ACT_A::Interface); 135 AddService(new ACT_A::Interface);