summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar bunnei2014-11-23 14:32:55 -0500
committerGravatar bunnei2014-11-23 14:32:55 -0500
commitaa986370f3d19d93c24fcd158c551f2a994eec58 (patch)
tree1d1d0a92efa278d7254c99245c10aa3b78ed700d
parentMerge pull request #211 from linkmauve/master (diff)
parentAdd more services and some fixes, along with more "override" (diff)
downloadyuzu-aa986370f3d19d93c24fcd158c551f2a994eec58.tar.gz
yuzu-aa986370f3d19d93c24fcd158c551f2a994eec58.tar.xz
yuzu-aa986370f3d19d93c24fcd158c551f2a994eec58.zip
Merge pull request #190 from purpasmart96/more_services
Add more services and general fixes
Diffstat (limited to '')
-rw-r--r--src/core/CMakeLists.txt12
-rw-r--r--src/core/hle/service/ac_u.cpp6
-rw-r--r--src/core/hle/service/ac_u.h2
-rw-r--r--src/core/hle/service/am_net.cpp47
-rw-r--r--src/core/hle/service/am_net.h27
-rw-r--r--src/core/hle/service/cfg_i.cpp59
-rw-r--r--src/core/hle/service/cfg_i.h27
-rw-r--r--src/core/hle/service/cfg_u.h2
-rw-r--r--src/core/hle/service/csnd_snd.cpp39
-rw-r--r--src/core/hle/service/csnd_snd.h27
-rw-r--r--src/core/hle/service/dsp_dsp.cpp4
-rw-r--r--src/core/hle/service/dsp_dsp.h2
-rw-r--r--src/core/hle/service/err_f.h2
-rw-r--r--src/core/hle/service/frd_u.h2
-rw-r--r--src/core/hle/service/ir_rst.cpp36
-rw-r--r--src/core/hle/service/ir_rst.h27
-rw-r--r--src/core/hle/service/ir_u.cpp45
-rw-r--r--src/core/hle/service/ir_u.h27
-rw-r--r--src/core/hle/service/mic_u.h2
-rw-r--r--src/core/hle/service/nwm_uds.h2
-rw-r--r--src/core/hle/service/pm_app.cpp35
-rw-r--r--src/core/hle/service/pm_app.h27
-rw-r--r--src/core/hle/service/ptm_u.cpp6
-rw-r--r--src/core/hle/service/ptm_u.h2
-rw-r--r--src/core/hle/service/service.cpp12
-rw-r--r--src/core/hle/service/soc_u.h2
26 files changed, 464 insertions, 17 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 2315cc791..b3bfbca9e 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -31,18 +31,24 @@ set(SRCS
31 hle/kernel/shared_memory.cpp 31 hle/kernel/shared_memory.cpp
32 hle/kernel/thread.cpp 32 hle/kernel/thread.cpp
33 hle/service/ac_u.cpp 33 hle/service/ac_u.cpp
34 hle/service/am_net.cpp
34 hle/service/apt_u.cpp 35 hle/service/apt_u.cpp
35 hle/service/boss_u.cpp 36 hle/service/boss_u.cpp
37 hle/service/cfg_i.cpp
36 hle/service/cfg_u.cpp 38 hle/service/cfg_u.cpp
39 hle/service/csnd_snd.cpp
37 hle/service/dsp_dsp.cpp 40 hle/service/dsp_dsp.cpp
38 hle/service/err_f.cpp 41 hle/service/err_f.cpp
39 hle/service/fs_user.cpp 42 hle/service/fs_user.cpp
40 hle/service/frd_u.cpp 43 hle/service/frd_u.cpp
41 hle/service/gsp_gpu.cpp 44 hle/service/gsp_gpu.cpp
42 hle/service/hid_user.cpp 45 hle/service/hid_user.cpp
46 hle/service/ir_rst.cpp
47 hle/service/ir_u.cpp
43 hle/service/mic_u.cpp 48 hle/service/mic_u.cpp
44 hle/service/ndm_u.cpp 49 hle/service/ndm_u.cpp
45 hle/service/nwm_uds.cpp 50 hle/service/nwm_uds.cpp
51 hle/service/pm_app.cpp
46 hle/service/ptm_u.cpp 52 hle/service/ptm_u.cpp
47 hle/service/service.cpp 53 hle/service/service.cpp
48 hle/service/soc_u.cpp 54 hle/service/soc_u.cpp
@@ -103,18 +109,24 @@ set(HEADERS
103 hle/kernel/shared_memory.h 109 hle/kernel/shared_memory.h
104 hle/kernel/thread.h 110 hle/kernel/thread.h
105 hle/service/ac_u.h 111 hle/service/ac_u.h
112 hle/service/am_net.h
106 hle/service/apt_u.h 113 hle/service/apt_u.h
107 hle/service/boss_u.h 114 hle/service/boss_u.h
115 hle/service/cfg_i.h
108 hle/service/cfg_u.h 116 hle/service/cfg_u.h
117 hle/service/csnd_snd.h
109 hle/service/dsp_dsp.h 118 hle/service/dsp_dsp.h
110 hle/service/err_f.h 119 hle/service/err_f.h
111 hle/service/fs_user.h 120 hle/service/fs_user.h
112 hle/service/frd_u.h 121 hle/service/frd_u.h
113 hle/service/gsp_gpu.h 122 hle/service/gsp_gpu.h
114 hle/service/hid_user.h 123 hle/service/hid_user.h
124 hle/service/ir_rst.h
125 hle/service/ir_u.h
115 hle/service/mic_u.h 126 hle/service/mic_u.h
116 hle/service/ndm_u.h 127 hle/service/ndm_u.h
117 hle/service/nwm_uds.h 128 hle/service/nwm_uds.h
129 hle/service/pm_app.h
118 hle/service/ptm_u.h 130 hle/service/ptm_u.h
119 hle/service/service.h 131 hle/service/service.h
120 hle/service/soc_u.h 132 hle/service/soc_u.h
diff --git a/src/core/hle/service/ac_u.cpp b/src/core/hle/service/ac_u.cpp
index b39603bdf..9af96f6b8 100644
--- a/src/core/hle/service/ac_u.cpp
+++ b/src/core/hle/service/ac_u.cpp
@@ -22,12 +22,12 @@ const Interface::FunctionInfo FunctionTable[] = {
22 {0x000E0042, nullptr, "GetCurrentAPInfo"}, 22 {0x000E0042, nullptr, "GetCurrentAPInfo"},
23 {0x00100042, nullptr, "GetCurrentNZoneInfo"}, 23 {0x00100042, nullptr, "GetCurrentNZoneInfo"},
24 {0x00110042, nullptr, "GetNZoneApNumService"}, 24 {0x00110042, nullptr, "GetNZoneApNumService"},
25 {0x00240042, nullptr, "AddDenyApType "}, 25 {0x00240042, nullptr, "AddDenyApType"},
26 {0x00270002, nullptr, "GetInfraPriority "}, 26 {0x00270002, nullptr, "GetInfraPriority"},
27 {0x002D0082, nullptr, "SetRequestEulaVersion"}, 27 {0x002D0082, nullptr, "SetRequestEulaVersion"},
28 {0x00300004, nullptr, "RegisterDisconnectEvent"}, 28 {0x00300004, nullptr, "RegisterDisconnectEvent"},
29 {0x003C0042, nullptr, "GetAPSSIDList"}, 29 {0x003C0042, nullptr, "GetAPSSIDList"},
30 {0x003E0042, nullptr, "IsConnected "}, 30 {0x003E0042, nullptr, "IsConnected"},
31 {0x00400042, nullptr, "SetClientVersion"}, 31 {0x00400042, nullptr, "SetClientVersion"},
32}; 32};
33 33
diff --git a/src/core/hle/service/ac_u.h b/src/core/hle/service/ac_u.h
index 8509a793e..c91b28353 100644
--- a/src/core/hle/service/ac_u.h
+++ b/src/core/hle/service/ac_u.h
@@ -21,7 +21,7 @@ public:
21 * Gets the string port name used by CTROS for the service 21 * Gets the string port name used by CTROS for the service
22 * @return Port name of service 22 * @return Port name of service
23 */ 23 */
24 std::string GetPortName() const { 24 std::string GetPortName() const override {
25 return "ac:u"; 25 return "ac:u";
26 } 26 }
27}; 27};
diff --git a/src/core/hle/service/am_net.cpp b/src/core/hle/service/am_net.cpp
new file mode 100644
index 000000000..403cac353
--- /dev/null
+++ b/src/core/hle/service/am_net.cpp
@@ -0,0 +1,47 @@
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/am_net.h"
8
9////////////////////////////////////////////////////////////////////////////////////////////////////
10// Namespace AM_NET
11
12namespace AM_NET {
13
14const Interface::FunctionInfo FunctionTable[] = {
15 {0x08010000, nullptr, "OpenTicket"},
16 {0x08020002, nullptr, "TicketAbortInstall"},
17 {0x08030002, nullptr, "TicketFinalizeInstall"},
18 {0x08040100, nullptr, "InstallTitleBegin"},
19 {0x08050000, nullptr, "InstallTitleAbort"},
20 {0x080600C0, nullptr, "InstallTitleResume"},
21 {0x08070000, nullptr, "InstallTitleAbortTMD"},
22 {0x08080000, nullptr, "InstallTitleFinish"},
23 {0x080A0000, nullptr, "OpenTMD"},
24 {0x080B0002, nullptr, "TMDAbortInstall"},
25 {0x080C0042, nullptr, "TMDFinalizeInstall"},
26 {0x080E0040, nullptr, "OpenContentCreate"},
27 {0x080F0002, nullptr, "ContentAbortInstall"},
28 {0x08100040, nullptr, "OpenContentResume"},
29 {0x08120002, nullptr, "ContentFinalizeInstall"},
30 {0x08130000, nullptr, "GetTotalContents"},
31 {0x08140042, nullptr, "GetContentIndexes"},
32 {0x08150044, nullptr, "GetContentsInfo"},
33 {0x08190108, nullptr, "Unknown"},
34 {0x081B00C2, nullptr, "InstallTitlesFinish"},
35};
36
37////////////////////////////////////////////////////////////////////////////////////////////////////
38// Interface class
39
40Interface::Interface() {
41 Register(FunctionTable, ARRAY_SIZE(FunctionTable));
42}
43
44Interface::~Interface() {
45}
46
47} // namespace
diff --git a/src/core/hle/service/am_net.h b/src/core/hle/service/am_net.h
new file mode 100644
index 000000000..4816e1697
--- /dev/null
+++ b/src/core/hle/service/am_net.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 AM_NET
11
12namespace AM_NET {
13
14class Interface : public Service::Interface {
15public:
16 Interface();
17 ~Interface();
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 "am:net";
24 }
25};
26
27} // namespace
diff --git a/src/core/hle/service/cfg_i.cpp b/src/core/hle/service/cfg_i.cpp
new file mode 100644
index 000000000..88d13d459
--- /dev/null
+++ b/src/core/hle/service/cfg_i.cpp
@@ -0,0 +1,59 @@
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/cfg_i.h"
8
9////////////////////////////////////////////////////////////////////////////////////////////////////
10// Namespace CFG_I
11
12namespace CFG_I {
13
14const Interface::FunctionInfo FunctionTable[] = {
15 {0x04010082, nullptr, "GetConfigInfoBlk8"},
16 {0x04020082, nullptr, "GetConfigInfoBlk4"},
17 {0x04030000, nullptr, "UpdateConfigNANDSavegame"},
18 {0x04040042, nullptr, "GetLocalFriendCodeSeedData"},
19 {0x04050000, nullptr, "GetLocalFriendCodeSeed"},
20 {0x04060000, nullptr, "SecureInfoGetRegion"},
21 {0x04070000, nullptr, "SecureInfoGetByte101"},
22 {0x04080042, nullptr, "SecureInfoGetSerialNo"},
23 {0x04090000, nullptr, "UpdateConfigBlk00040003"},
24 {0x08010082, nullptr, "GetConfigInfoBlk8"},
25 {0x08020082, nullptr, "GetConfigInfoBlk4"},
26 {0x08030000, nullptr, "UpdateConfigNANDSavegame"},
27 {0x080400C2, nullptr, "CreateConfigInfoBlk"},
28 {0x08050000, nullptr, "DeleteConfigNANDSavefile"},
29 {0x08060000, nullptr, "FormatConfig"},
30 {0x08070000, nullptr, "Unknown"},
31 {0x08080000, nullptr, "UpdateConfigBlk1"},
32 {0x08090000, nullptr, "UpdateConfigBlk2"},
33 {0x080A0000, nullptr, "UpdateConfigBlk3"},
34 {0x080B0082, nullptr, "SetGetLocalFriendCodeSeedData"},
35 {0x080C0042, nullptr, "SetLocalFriendCodeSeedSignature"},
36 {0x080D0000, nullptr, "DeleteCreateNANDLocalFriendCodeSeed"},
37 {0x080E0000, nullptr, "VerifySigLocalFriendCodeSeed"},
38 {0x080F0042, nullptr, "GetLocalFriendCodeSeedData"},
39 {0x08100000, nullptr, "GetLocalFriendCodeSeed"},
40 {0x08110084, nullptr, "SetSecureInfo"},
41 {0x08120000, nullptr, "DeleteCreateNANDSecureInfo"},
42 {0x08130000, nullptr, "VerifySigSecureInfo"},
43 {0x08140042, nullptr, "SecureInfoGetData"},
44 {0x08150042, nullptr, "SecureInfoGetSignature"},
45 {0x08160000, nullptr, "SecureInfoGetRegion"},
46 {0x08170000, nullptr, "SecureInfoGetByte101"},
47 {0x08180042, nullptr, "SecureInfoGetSerialNo"},
48};
49////////////////////////////////////////////////////////////////////////////////////////////////////
50// Interface class
51
52Interface::Interface() {
53 Register(FunctionTable, ARRAY_SIZE(FunctionTable));
54}
55
56Interface::~Interface() {
57}
58
59} // namespace
diff --git a/src/core/hle/service/cfg_i.h b/src/core/hle/service/cfg_i.h
new file mode 100644
index 000000000..fe343c968
--- /dev/null
+++ b/src/core/hle/service/cfg_i.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 CFG_I
11
12namespace CFG_I {
13
14class Interface : public Service::Interface {
15public:
16 Interface();
17 ~Interface();
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 "cfg:i";
24 }
25};
26
27} // namespace
diff --git a/src/core/hle/service/cfg_u.h b/src/core/hle/service/cfg_u.h
index 7525bd7c6..8075d19a8 100644
--- a/src/core/hle/service/cfg_u.h
+++ b/src/core/hle/service/cfg_u.h
@@ -19,7 +19,7 @@ public:
19 * Gets the string port name used by CTROS for the service 19 * Gets the string port name used by CTROS for the service
20 * @return Port name of service 20 * @return Port name of service
21 */ 21 */
22 std::string GetPortName() const { 22 std::string GetPortName() const override {
23 return "cfg:u"; 23 return "cfg:u";
24 } 24 }
25}; 25};
diff --git a/src/core/hle/service/csnd_snd.cpp b/src/core/hle/service/csnd_snd.cpp
new file mode 100644
index 000000000..6e59a9bf3
--- /dev/null
+++ b/src/core/hle/service/csnd_snd.cpp
@@ -0,0 +1,39 @@
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/csnd_snd.h"
8
9////////////////////////////////////////////////////////////////////////////////////////////////////
10// Namespace CSND_SND
11
12namespace CSND_SND {
13
14const Interface::FunctionInfo FunctionTable[] = {
15 {0x00010140, nullptr, "Initialize"},
16 {0x00020000, nullptr, "Shutdown"},
17 {0x00030040, nullptr, "Unknown"},
18 {0x00040080, nullptr, "Unknown"},
19 {0x00050000, nullptr, "Unknown"},
20 {0x00060000, nullptr, "Unknown"},
21 {0x00070000, nullptr, "Unknown"},
22 {0x00080040, nullptr, "Unknown"},
23 {0x00090082, nullptr, "FlushDCache"},
24 {0x000A0082, nullptr, "StoreDCache"},
25 {0x000B0082, nullptr, "InvalidateDCache"},
26 {0x000C0000, nullptr, "Unknown"},
27};
28
29////////////////////////////////////////////////////////////////////////////////////////////////////
30// Interface class
31
32Interface::Interface() {
33 Register(FunctionTable, ARRAY_SIZE(FunctionTable));
34}
35
36Interface::~Interface() {
37}
38
39} // namespace
diff --git a/src/core/hle/service/csnd_snd.h b/src/core/hle/service/csnd_snd.h
new file mode 100644
index 000000000..31cc85b07
--- /dev/null
+++ b/src/core/hle/service/csnd_snd.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 CSND_SND
11
12namespace CSND_SND {
13
14class Interface : public Service::Interface {
15public:
16 Interface();
17 ~Interface();
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 "csnd:SND";
24 }
25};
26
27} // namespace
diff --git a/src/core/hle/service/dsp_dsp.cpp b/src/core/hle/service/dsp_dsp.cpp
index 9e84ac938..bbcf26f61 100644
--- a/src/core/hle/service/dsp_dsp.cpp
+++ b/src/core/hle/service/dsp_dsp.cpp
@@ -26,12 +26,12 @@ const Interface::FunctionInfo FunctionTable[] = {
26 {0x001100C2, nullptr, "LoadComponent"}, 26 {0x001100C2, nullptr, "LoadComponent"},
27 {0x00120000, nullptr, "UnloadComponent"}, 27 {0x00120000, nullptr, "UnloadComponent"},
28 {0x00130082, nullptr, "FlushDataCache"}, 28 {0x00130082, nullptr, "FlushDataCache"},
29 {0x00140082, nullptr, "InvalidateDCache "}, 29 {0x00140082, nullptr, "InvalidateDCache"},
30 {0x00150082, nullptr, "RegisterInterruptEvents"}, 30 {0x00150082, nullptr, "RegisterInterruptEvents"},
31 {0x00160000, nullptr, "GetSemaphoreEventHandle"}, 31 {0x00160000, nullptr, "GetSemaphoreEventHandle"},
32 {0x00170040, nullptr, "SetSemaphoreMask"}, 32 {0x00170040, nullptr, "SetSemaphoreMask"},
33 {0x00180040, nullptr, "GetPhysicalAddress"}, 33 {0x00180040, nullptr, "GetPhysicalAddress"},
34 {0x00190040, nullptr, "GetVirtualAddress" }, 34 {0x00190040, nullptr, "GetVirtualAddress"},
35 {0x001A0042, nullptr, "SetIirFilterI2S1_cmd1"}, 35 {0x001A0042, nullptr, "SetIirFilterI2S1_cmd1"},
36 {0x001B0042, nullptr, "SetIirFilterI2S1_cmd2"}, 36 {0x001B0042, nullptr, "SetIirFilterI2S1_cmd2"},
37 {0x001C0082, nullptr, "SetIirFilterEQ"}, 37 {0x001C0082, nullptr, "SetIirFilterEQ"},
diff --git a/src/core/hle/service/dsp_dsp.h b/src/core/hle/service/dsp_dsp.h
index c439ed266..c4ce44245 100644
--- a/src/core/hle/service/dsp_dsp.h
+++ b/src/core/hle/service/dsp_dsp.h
@@ -19,7 +19,7 @@ public:
19 * Gets the string port name used by CTROS for the service 19 * Gets the string port name used by CTROS for the service
20 * @return Port name of service 20 * @return Port name of service
21 */ 21 */
22 std::string GetPortName() const { 22 std::string GetPortName() const override {
23 return "dsp:DSP"; 23 return "dsp:DSP";
24 } 24 }
25}; 25};
diff --git a/src/core/hle/service/err_f.h b/src/core/hle/service/err_f.h
index 8b636b96c..6d7141c1b 100644
--- a/src/core/hle/service/err_f.h
+++ b/src/core/hle/service/err_f.h
@@ -19,7 +19,7 @@ namespace ERR_F {
19 * Gets the string port name used by CTROS for the service 19 * Gets the string port name used by CTROS for the service
20 * @return Port name of service 20 * @return Port name of service
21 */ 21 */
22 std::string GetPortName() const { 22 std::string GetPortName() const override {
23 return "err:f"; 23 return "err:f";
24 } 24 }
25 }; 25 };
diff --git a/src/core/hle/service/frd_u.h b/src/core/hle/service/frd_u.h
index 9df8a815a..4020c6664 100644
--- a/src/core/hle/service/frd_u.h
+++ b/src/core/hle/service/frd_u.h
@@ -19,7 +19,7 @@ namespace FRD_U {
19 * Gets the string port name used by CTROS for the service 19 * Gets the string port name used by CTROS for the service
20 * @return Port name of service 20 * @return Port name of service
21 */ 21 */
22 std::string GetPortName() const { 22 std::string GetPortName() const override {
23 return "frd:u"; 23 return "frd:u";
24 } 24 }
25 }; 25 };
diff --git a/src/core/hle/service/ir_rst.cpp b/src/core/hle/service/ir_rst.cpp
new file mode 100644
index 000000000..be15db231
--- /dev/null
+++ b/src/core/hle/service/ir_rst.cpp
@@ -0,0 +1,36 @@
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/ir_rst.h"
8
9////////////////////////////////////////////////////////////////////////////////////////////////////
10// Namespace IR_RST
11
12namespace IR_RST {
13
14const Interface::FunctionInfo FunctionTable[] = {
15 {0x00010000, nullptr, "GetHandles"},
16 {0x00020080, nullptr, "Initialize"},
17 {0x00030000, nullptr, "Shutdown"},
18 {0x00040000, nullptr, "Unknown"},
19 {0x00050000, nullptr, "Unknown"},
20 {0x00060000, nullptr, "Unknown"},
21 {0x00070080, nullptr, "Unknown"},
22 {0x00080000, nullptr, "Unknown"},
23 {0x00090000, nullptr, "Unknown"},
24};
25
26////////////////////////////////////////////////////////////////////////////////////////////////////
27// Interface class
28
29Interface::Interface() {
30 Register(FunctionTable, ARRAY_SIZE(FunctionTable));
31}
32
33Interface::~Interface() {
34}
35
36} // namespace
diff --git a/src/core/hle/service/ir_rst.h b/src/core/hle/service/ir_rst.h
new file mode 100644
index 000000000..73effd7e3
--- /dev/null
+++ b/src/core/hle/service/ir_rst.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 IR_RST
11
12namespace IR_RST {
13
14class Interface : public Service::Interface {
15public:
16 Interface();
17 ~Interface();
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 "ir:rst";
24 }
25};
26
27} // namespace
diff --git a/src/core/hle/service/ir_u.cpp b/src/core/hle/service/ir_u.cpp
new file mode 100644
index 000000000..aa9db6f6d
--- /dev/null
+++ b/src/core/hle/service/ir_u.cpp
@@ -0,0 +1,45 @@
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/ir_u.h"
8
9////////////////////////////////////////////////////////////////////////////////////////////////////
10// Namespace IR_U
11
12namespace IR_U {
13
14const Interface::FunctionInfo FunctionTable[] = {
15 {0x00010000, nullptr, "Initialize"},
16 {0x00020000, nullptr, "Shutdown"},
17 {0x00030042, nullptr, "StartSendTransfer"},
18 {0x00040000, nullptr, "WaitSendTransfer"},
19 {0x000500C2, nullptr, "StartRecvTransfer"},
20 {0x00060000, nullptr, "WaitRecvTransfer"},
21 {0x00070080, nullptr, "GetRecvTransferCount"},
22 {0x00080000, nullptr, "GetSendState"},
23 {0x00090040, nullptr, "SetBitRate"},
24 {0x000A0000, nullptr, "GetBitRate"},
25 {0x000B0040, nullptr, "SetIRLEDState"},
26 {0x000C0000, nullptr, "GetIRLEDRecvState"},
27 {0x000D0000, nullptr, "GetSendFinishedEvent"},
28 {0x000E0000, nullptr, "GetRecvFinishedEvent"},
29 {0x000F0000, nullptr, "GetTransferState"},
30 {0x00100000, nullptr, "GetErrorStatus"},
31 {0x00110040, nullptr, "SetSleepModeActive"},
32 {0x00120040, nullptr, "SetSleepModeState"},
33};
34
35////////////////////////////////////////////////////////////////////////////////////////////////////
36// Interface class
37
38Interface::Interface() {
39 Register(FunctionTable, ARRAY_SIZE(FunctionTable));
40}
41
42Interface::~Interface() {
43}
44
45} // namespace
diff --git a/src/core/hle/service/ir_u.h b/src/core/hle/service/ir_u.h
new file mode 100644
index 000000000..86d98d079
--- /dev/null
+++ b/src/core/hle/service/ir_u.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 IR_U
11
12namespace IR_U {
13
14class Interface : public Service::Interface {
15public:
16 Interface();
17 ~Interface();
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 "ir:u";
24 }
25};
26
27} // namespace
diff --git a/src/core/hle/service/mic_u.h b/src/core/hle/service/mic_u.h
index 72ba048ef..2a495f3a9 100644
--- a/src/core/hle/service/mic_u.h
+++ b/src/core/hle/service/mic_u.h
@@ -21,7 +21,7 @@ public:
21 * Gets the string port name used by CTROS for the service 21 * Gets the string port name used by CTROS for the service
22 * @return Port name of service 22 * @return Port name of service
23 */ 23 */
24 std::string GetPortName() const { 24 std::string GetPortName() const override {
25 return "mic:u"; 25 return "mic:u";
26 } 26 }
27}; 27};
diff --git a/src/core/hle/service/nwm_uds.h b/src/core/hle/service/nwm_uds.h
index a956ca812..69d2c2002 100644
--- a/src/core/hle/service/nwm_uds.h
+++ b/src/core/hle/service/nwm_uds.h
@@ -21,7 +21,7 @@ public:
21 * Gets the string port name used by CTROS for the service 21 * Gets the string port name used by CTROS for the service
22 * @return Port name of service 22 * @return Port name of service
23 */ 23 */
24 std::string GetPortName() const { 24 std::string GetPortName() const override {
25 return "nwm:UDS"; 25 return "nwm:UDS";
26 } 26 }
27}; 27};
diff --git a/src/core/hle/service/pm_app.cpp b/src/core/hle/service/pm_app.cpp
new file mode 100644
index 000000000..90e9b1bfa
--- /dev/null
+++ b/src/core/hle/service/pm_app.cpp
@@ -0,0 +1,35 @@
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/pm_app.h"
8
9////////////////////////////////////////////////////////////////////////////////////////////////////
10// Namespace PM_APP
11
12namespace PM_APP {
13
14const Interface::FunctionInfo FunctionTable[] = {
15 {0x00010140, nullptr, "LaunchTitle"},
16 {0x00020082, nullptr, "LaunchFIRMSetParams"},
17 {0x00030080, nullptr, "TerminateProcesse"},
18 {0x00040100, nullptr, "TerminateProcessTID"},
19 {0x000500C0, nullptr, "TerminateProcessTID_unknown"},
20 {0x00070042, nullptr, "GetFIRMLaunchParams"},
21 {0x00080100, nullptr, "GetTitleExheaderFlags"},
22 {0x00090042, nullptr, "SetFIRMLaunchParams"},
23};
24
25////////////////////////////////////////////////////////////////////////////////////////////////////
26// Interface class
27
28Interface::Interface() {
29 Register(FunctionTable, ARRAY_SIZE(FunctionTable));
30}
31
32Interface::~Interface() {
33}
34
35} // namespace
diff --git a/src/core/hle/service/pm_app.h b/src/core/hle/service/pm_app.h
new file mode 100644
index 000000000..28c38f582
--- /dev/null
+++ b/src/core/hle/service/pm_app.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 PM_APP
11
12namespace PM_APP {
13
14class Interface : public Service::Interface {
15public:
16 Interface();
17 ~Interface();
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 "pm:app";
24 }
25};
26
27} // namespace
diff --git a/src/core/hle/service/ptm_u.cpp b/src/core/hle/service/ptm_u.cpp
index f6a14d509..d9122dbbc 100644
--- a/src/core/hle/service/ptm_u.cpp
+++ b/src/core/hle/service/ptm_u.cpp
@@ -17,13 +17,13 @@ const Interface::FunctionInfo FunctionTable[] = {
17 {0x00030000, nullptr, "GetRtcAlarm"}, 17 {0x00030000, nullptr, "GetRtcAlarm"},
18 {0x00040000, nullptr, "CancelRtcAlarm"}, 18 {0x00040000, nullptr, "CancelRtcAlarm"},
19 {0x00050000, nullptr, "GetAdapterState"}, 19 {0x00050000, nullptr, "GetAdapterState"},
20 {0x00060000, nullptr, "GetShellState "}, 20 {0x00060000, nullptr, "GetShellState"},
21 {0x00070000, nullptr, "GetBatteryLevel"}, 21 {0x00070000, nullptr, "GetBatteryLevel"},
22 {0x00080000, nullptr, "GetBatteryChargeState"}, 22 {0x00080000, nullptr, "GetBatteryChargeState"},
23 {0x00090000, nullptr, "GetPedometerState"}, 23 {0x00090000, nullptr, "GetPedometerState"},
24 {0x000A0042, nullptr, "GetStepHistoryEntry"}, 24 {0x000A0042, nullptr, "GetStepHistoryEntry"},
25 {0x000B00C2, nullptr, "GetStepHistory "}, 25 {0x000B00C2, nullptr, "GetStepHistory"},
26 {0x000C0000, nullptr, "GetTotalStepCount "}, 26 {0x000C0000, nullptr, "GetTotalStepCount"},
27 {0x000D0040, nullptr, "SetPedometerRecordingMode"}, 27 {0x000D0040, nullptr, "SetPedometerRecordingMode"},
28 {0x000E0000, nullptr, "GetPedometerRecordingMode"}, 28 {0x000E0000, nullptr, "GetPedometerRecordingMode"},
29 {0x000F0084, nullptr, "GetStepHistoryAll"}, 29 {0x000F0084, nullptr, "GetStepHistoryAll"},
diff --git a/src/core/hle/service/ptm_u.h b/src/core/hle/service/ptm_u.h
index 82749fa39..f8d9f57be 100644
--- a/src/core/hle/service/ptm_u.h
+++ b/src/core/hle/service/ptm_u.h
@@ -21,7 +21,7 @@ public:
21 * Gets the string port name used by CTROS for the service 21 * Gets the string port name used by CTROS for the service
22 * @return Port name of service 22 * @return Port name of service
23 */ 23 */
24 std::string GetPortName() const { 24 std::string GetPortName() const override {
25 return "ptm:u"; 25 return "ptm:u";
26 } 26 }
27}; 27};
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index 5906e2060..abc8d5edb 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -7,18 +7,24 @@
7 7
8#include "core/hle/service/service.h" 8#include "core/hle/service/service.h"
9#include "core/hle/service/ac_u.h" 9#include "core/hle/service/ac_u.h"
10#include "core/hle/service/am_net.h"
10#include "core/hle/service/apt_u.h" 11#include "core/hle/service/apt_u.h"
11#include "core/hle/service/boss_u.h" 12#include "core/hle/service/boss_u.h"
13#include "core/hle/service/cfg_i.h"
12#include "core/hle/service/cfg_u.h" 14#include "core/hle/service/cfg_u.h"
15#include "core/hle/service/csnd_snd.h"
13#include "core/hle/service/dsp_dsp.h" 16#include "core/hle/service/dsp_dsp.h"
14#include "core/hle/service/err_f.h" 17#include "core/hle/service/err_f.h"
15#include "core/hle/service/fs_user.h" 18#include "core/hle/service/fs_user.h"
16#include "core/hle/service/frd_u.h" 19#include "core/hle/service/frd_u.h"
17#include "core/hle/service/gsp_gpu.h" 20#include "core/hle/service/gsp_gpu.h"
18#include "core/hle/service/hid_user.h" 21#include "core/hle/service/hid_user.h"
22#include "core/hle/service/ir_rst.h"
23#include "core/hle/service/ir_u.h"
19#include "core/hle/service/mic_u.h" 24#include "core/hle/service/mic_u.h"
20#include "core/hle/service/ndm_u.h" 25#include "core/hle/service/ndm_u.h"
21#include "core/hle/service/nwm_uds.h" 26#include "core/hle/service/nwm_uds.h"
27#include "core/hle/service/pm_app.h"
22#include "core/hle/service/ptm_u.h" 28#include "core/hle/service/ptm_u.h"
23#include "core/hle/service/soc_u.h" 29#include "core/hle/service/soc_u.h"
24#include "core/hle/service/srv.h" 30#include "core/hle/service/srv.h"
@@ -78,18 +84,24 @@ void Init() {
78 84
79 g_manager->AddService(new SRV::Interface); 85 g_manager->AddService(new SRV::Interface);
80 g_manager->AddService(new AC_U::Interface); 86 g_manager->AddService(new AC_U::Interface);
87 g_manager->AddService(new AM_NET::Interface);
81 g_manager->AddService(new APT_U::Interface); 88 g_manager->AddService(new APT_U::Interface);
82 g_manager->AddService(new BOSS_U::Interface); 89 g_manager->AddService(new BOSS_U::Interface);
90 g_manager->AddService(new CFG_I::Interface);
83 g_manager->AddService(new CFG_U::Interface); 91 g_manager->AddService(new CFG_U::Interface);
92 g_manager->AddService(new CSND_SND::Interface);
84 g_manager->AddService(new DSP_DSP::Interface); 93 g_manager->AddService(new DSP_DSP::Interface);
85 g_manager->AddService(new ERR_F::Interface); 94 g_manager->AddService(new ERR_F::Interface);
86 g_manager->AddService(new FRD_U::Interface); 95 g_manager->AddService(new FRD_U::Interface);
87 g_manager->AddService(new FS_User::Interface); 96 g_manager->AddService(new FS_User::Interface);
88 g_manager->AddService(new GSP_GPU::Interface); 97 g_manager->AddService(new GSP_GPU::Interface);
89 g_manager->AddService(new HID_User::Interface); 98 g_manager->AddService(new HID_User::Interface);
99 g_manager->AddService(new IR_RST::Interface);
100 g_manager->AddService(new IR_U::Interface);
90 g_manager->AddService(new MIC_U::Interface); 101 g_manager->AddService(new MIC_U::Interface);
91 g_manager->AddService(new NDM_U::Interface); 102 g_manager->AddService(new NDM_U::Interface);
92 g_manager->AddService(new NWM_UDS::Interface); 103 g_manager->AddService(new NWM_UDS::Interface);
104 g_manager->AddService(new PM_APP::Interface);
93 g_manager->AddService(new PTM_U::Interface); 105 g_manager->AddService(new PTM_U::Interface);
94 g_manager->AddService(new SOC_U::Interface); 106 g_manager->AddService(new SOC_U::Interface);
95 g_manager->AddService(new SSL_C::Interface); 107 g_manager->AddService(new SSL_C::Interface);
diff --git a/src/core/hle/service/soc_u.h b/src/core/hle/service/soc_u.h
index e27a2b1fe..d5590a683 100644
--- a/src/core/hle/service/soc_u.h
+++ b/src/core/hle/service/soc_u.h
@@ -19,7 +19,7 @@ public:
19 * Gets the string port name used by CTROS for the service 19 * Gets the string port name used by CTROS for the service
20 * @return Port name of service 20 * @return Port name of service
21 */ 21 */
22 std::string GetPortName() const { 22 std::string GetPortName() const override {
23 return "soc:U"; 23 return "soc:U";
24 } 24 }
25}; 25};