diff options
| author | 2016-12-08 01:49:46 -0800 | |
|---|---|---|
| committer | 2016-12-08 01:49:45 -0800 | |
| commit | 1840685ee89f6ea6b21ed57a2f43228a0e75437c (patch) | |
| tree | 304a7eec4f7d0f81737d2ef8fa5fd86e198e5b63 | |
| parent | Merge pull request #2274 from degasus/master (diff) | |
| parent | service: Add mvd and qtm services (diff) | |
| download | yuzu-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.txt | 12 | ||||
| -rw-r--r-- | src/core/hle/service/mvd/mvd.cpp | 17 | ||||
| -rw-r--r-- | src/core/hle/service/mvd/mvd.h | 14 | ||||
| -rw-r--r-- | src/core/hle/service/mvd/mvd_std.cpp | 32 | ||||
| -rw-r--r-- | src/core/hle/service/mvd/mvd_std.h | 22 | ||||
| -rw-r--r-- | src/core/hle/service/qtm/qtm.cpp | 21 | ||||
| -rw-r--r-- | src/core/hle/service/qtm/qtm.h | 14 | ||||
| -rw-r--r-- | src/core/hle/service/qtm/qtm_s.cpp | 23 | ||||
| -rw-r--r-- | src/core/hle/service/qtm/qtm_s.h | 22 | ||||
| -rw-r--r-- | src/core/hle/service/qtm/qtm_sp.cpp | 23 | ||||
| -rw-r--r-- | src/core/hle/service/qtm/qtm_sp.h | 22 | ||||
| -rw-r--r-- | src/core/hle/service/qtm/qtm_u.cpp | 23 | ||||
| -rw-r--r-- | src/core/hle/service/qtm/qtm_u.h | 22 | ||||
| -rw-r--r-- | src/core/hle/service/service.cpp | 4 |
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 | |||
| 9 | namespace Service { | ||
| 10 | namespace MVD { | ||
| 11 | |||
| 12 | void 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 | |||
| 7 | namespace Service { | ||
| 8 | namespace MVD { | ||
| 9 | |||
| 10 | /// Initializes all MVD services. | ||
| 11 | void 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 | |||
| 7 | namespace Service { | ||
| 8 | namespace MVD { | ||
| 9 | |||
| 10 | const 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 | |||
| 27 | MVD_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 | |||
| 9 | namespace Service { | ||
| 10 | namespace MVD { | ||
| 11 | |||
| 12 | class MVD_STD final : public Interface { | ||
| 13 | public: | ||
| 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 | |||
| 11 | namespace Service { | ||
| 12 | namespace QTM { | ||
| 13 | |||
| 14 | void 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 | |||
| 7 | namespace Service { | ||
| 8 | namespace QTM { | ||
| 9 | |||
| 10 | /// Initializes all QTM services. | ||
| 11 | void 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 | |||
| 7 | namespace Service { | ||
| 8 | namespace QTM { | ||
| 9 | |||
| 10 | const 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 | |||
| 18 | QTM_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 | |||
| 9 | namespace Service { | ||
| 10 | namespace QTM { | ||
| 11 | |||
| 12 | class QTM_S final : public Interface { | ||
| 13 | public: | ||
| 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 | |||
| 7 | namespace Service { | ||
| 8 | namespace QTM { | ||
| 9 | |||
| 10 | const 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 | |||
| 18 | QTM_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 | |||
| 9 | namespace Service { | ||
| 10 | namespace QTM { | ||
| 11 | |||
| 12 | class QTM_SP final : public Interface { | ||
| 13 | public: | ||
| 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 | |||
| 7 | namespace Service { | ||
| 8 | namespace QTM { | ||
| 9 | |||
| 10 | const 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 | |||
| 18 | QTM_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 | |||
| 9 | namespace Service { | ||
| 10 | namespace QTM { | ||
| 11 | |||
| 12 | class QTM_U final : public Interface { | ||
| 13 | public: | ||
| 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); |