summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorGravatar bunnei2016-12-09 14:15:20 -0500
committerGravatar GitHub2016-12-09 14:15:20 -0500
commit6edb024d3854488e99a90e1d14b9943a3260acc9 (patch)
treed05bd103551d6e110bd53307f26cf202aeb33062 /src/core
parentMerge pull request #2292 from lioncash/bool (diff)
parentservice: Add cfg:nor service (diff)
downloadyuzu-6edb024d3854488e99a90e1d14b9943a3260acc9.tar.gz
yuzu-6edb024d3854488e99a90e1d14b9943a3260acc9.tar.xz
yuzu-6edb024d3854488e99a90e1d14b9943a3260acc9.zip
Merge pull request #2291 from lioncash/svc
service: Add the cfg:nor service
Diffstat (limited to 'src/core')
-rw-r--r--src/core/CMakeLists.txt2
-rw-r--r--src/core/hle/service/cfg/cfg.cpp8
-rw-r--r--src/core/hle/service/cfg/cfg_i.cpp2
-rw-r--r--src/core/hle/service/cfg/cfg_i.h4
-rw-r--r--src/core/hle/service/cfg/cfg_nor.cpp23
-rw-r--r--src/core/hle/service/cfg/cfg_nor.h22
-rw-r--r--src/core/hle/service/cfg/cfg_s.cpp2
-rw-r--r--src/core/hle/service/cfg/cfg_s.h4
-rw-r--r--src/core/hle/service/cfg/cfg_u.cpp2
-rw-r--r--src/core/hle/service/cfg/cfg_u.h4
10 files changed, 61 insertions, 12 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index c2c04473c..e26677079 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -77,6 +77,7 @@ set(SRCS
77 hle/service/cecd/cecd_u.cpp 77 hle/service/cecd/cecd_u.cpp
78 hle/service/cfg/cfg.cpp 78 hle/service/cfg/cfg.cpp
79 hle/service/cfg/cfg_i.cpp 79 hle/service/cfg/cfg_i.cpp
80 hle/service/cfg/cfg_nor.cpp
80 hle/service/cfg/cfg_s.cpp 81 hle/service/cfg/cfg_s.cpp
81 hle/service/cfg/cfg_u.cpp 82 hle/service/cfg/cfg_u.cpp
82 hle/service/csnd_snd.cpp 83 hle/service/csnd_snd.cpp
@@ -239,6 +240,7 @@ set(HEADERS
239 hle/service/cecd/cecd_u.h 240 hle/service/cecd/cecd_u.h
240 hle/service/cfg/cfg.h 241 hle/service/cfg/cfg.h
241 hle/service/cfg/cfg_i.h 242 hle/service/cfg/cfg_i.h
243 hle/service/cfg/cfg_nor.h
242 hle/service/cfg/cfg_s.h 244 hle/service/cfg/cfg_s.h
243 hle/service/cfg/cfg_u.h 245 hle/service/cfg/cfg_u.h
244 hle/service/csnd_snd.h 246 hle/service/csnd_snd.h
diff --git a/src/core/hle/service/cfg/cfg.cpp b/src/core/hle/service/cfg/cfg.cpp
index d554c3f54..65655f45d 100644
--- a/src/core/hle/service/cfg/cfg.cpp
+++ b/src/core/hle/service/cfg/cfg.cpp
@@ -12,6 +12,7 @@
12#include "core/hle/result.h" 12#include "core/hle/result.h"
13#include "core/hle/service/cfg/cfg.h" 13#include "core/hle/service/cfg/cfg.h"
14#include "core/hle/service/cfg/cfg_i.h" 14#include "core/hle/service/cfg/cfg_i.h"
15#include "core/hle/service/cfg/cfg_nor.h"
15#include "core/hle/service/cfg/cfg_s.h" 16#include "core/hle/service/cfg/cfg_s.h"
16#include "core/hle/service/cfg/cfg_u.h" 17#include "core/hle/service/cfg/cfg_u.h"
17#include "core/hle/service/fs/archive.h" 18#include "core/hle/service/fs/archive.h"
@@ -528,9 +529,10 @@ ResultCode LoadConfigNANDSaveFile() {
528} 529}
529 530
530void Init() { 531void Init() {
531 AddService(new CFG_I_Interface); 532 AddService(new CFG_I);
532 AddService(new CFG_S_Interface); 533 AddService(new CFG_NOR);
533 AddService(new CFG_U_Interface); 534 AddService(new CFG_S);
535 AddService(new CFG_U);
534 536
535 LoadConfigNANDSaveFile(); 537 LoadConfigNANDSaveFile();
536} 538}
diff --git a/src/core/hle/service/cfg/cfg_i.cpp b/src/core/hle/service/cfg/cfg_i.cpp
index 46312da4b..e8db0fc42 100644
--- a/src/core/hle/service/cfg/cfg_i.cpp
+++ b/src/core/hle/service/cfg/cfg_i.cpp
@@ -56,7 +56,7 @@ const Interface::FunctionInfo FunctionTable[] = {
56 {0x08180042, nullptr, "SecureInfoGetSerialNo"}, 56 {0x08180042, nullptr, "SecureInfoGetSerialNo"},
57}; 57};
58 58
59CFG_I_Interface::CFG_I_Interface() { 59CFG_I::CFG_I() {
60 Register(FunctionTable); 60 Register(FunctionTable);
61} 61}
62 62
diff --git a/src/core/hle/service/cfg/cfg_i.h b/src/core/hle/service/cfg/cfg_i.h
index d0a2cce39..8cfd47633 100644
--- a/src/core/hle/service/cfg/cfg_i.h
+++ b/src/core/hle/service/cfg/cfg_i.h
@@ -9,9 +9,9 @@
9namespace Service { 9namespace Service {
10namespace CFG { 10namespace CFG {
11 11
12class CFG_I_Interface : public Service::Interface { 12class CFG_I final : public Interface {
13public: 13public:
14 CFG_I_Interface(); 14 CFG_I();
15 15
16 std::string GetPortName() const override { 16 std::string GetPortName() const override {
17 return "cfg:i"; 17 return "cfg:i";
diff --git a/src/core/hle/service/cfg/cfg_nor.cpp b/src/core/hle/service/cfg/cfg_nor.cpp
new file mode 100644
index 000000000..4ce02d115
--- /dev/null
+++ b/src/core/hle/service/cfg/cfg_nor.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/cfg/cfg.h"
6#include "core/hle/service/cfg/cfg_nor.h"
7
8namespace Service {
9namespace CFG {
10
11const Interface::FunctionInfo FunctionTable[] = {
12 {0x00010040, nullptr, "Initialize"},
13 {0x00020000, nullptr, "Shutdown"},
14 {0x00050082, nullptr, "ReadData"},
15 {0x00060082, nullptr, "WriteData"},
16};
17
18CFG_NOR::CFG_NOR() {
19 Register(FunctionTable);
20}
21
22} // namespace CFG
23} // namespace Service
diff --git a/src/core/hle/service/cfg/cfg_nor.h b/src/core/hle/service/cfg/cfg_nor.h
new file mode 100644
index 000000000..c337718e7
--- /dev/null
+++ b/src/core/hle/service/cfg/cfg_nor.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 CFG {
11
12class CFG_NOR final : public Interface {
13public:
14 CFG_NOR();
15
16 std::string GetPortName() const override {
17 return "cfg:nor";
18 }
19};
20
21} // namespace CFG
22} // namespace Service
diff --git a/src/core/hle/service/cfg/cfg_s.cpp b/src/core/hle/service/cfg/cfg_s.cpp
index 564a9bb08..9386fe33d 100644
--- a/src/core/hle/service/cfg/cfg_s.cpp
+++ b/src/core/hle/service/cfg/cfg_s.cpp
@@ -33,7 +33,7 @@ const Interface::FunctionInfo FunctionTable[] = {
33 {0x04090000, nullptr, "UpdateConfigBlk00040003"}, 33 {0x04090000, nullptr, "UpdateConfigBlk00040003"},
34}; 34};
35 35
36CFG_S_Interface::CFG_S_Interface() { 36CFG_S::CFG_S() {
37 Register(FunctionTable); 37 Register(FunctionTable);
38} 38}
39 39
diff --git a/src/core/hle/service/cfg/cfg_s.h b/src/core/hle/service/cfg/cfg_s.h
index 5568d6485..99fea46ee 100644
--- a/src/core/hle/service/cfg/cfg_s.h
+++ b/src/core/hle/service/cfg/cfg_s.h
@@ -9,9 +9,9 @@
9namespace Service { 9namespace Service {
10namespace CFG { 10namespace CFG {
11 11
12class CFG_S_Interface : public Service::Interface { 12class CFG_S final : public Interface {
13public: 13public:
14 CFG_S_Interface(); 14 CFG_S();
15 15
16 std::string GetPortName() const override { 16 std::string GetPortName() const override {
17 return "cfg:s"; 17 return "cfg:s";
diff --git a/src/core/hle/service/cfg/cfg_u.cpp b/src/core/hle/service/cfg/cfg_u.cpp
index 4c82846c0..7b66fee22 100644
--- a/src/core/hle/service/cfg/cfg_u.cpp
+++ b/src/core/hle/service/cfg/cfg_u.cpp
@@ -23,7 +23,7 @@ const Interface::FunctionInfo FunctionTable[] = {
23 {0x000B0000, nullptr, "IsFangateSupported"}, 23 {0x000B0000, nullptr, "IsFangateSupported"},
24}; 24};
25 25
26CFG_U_Interface::CFG_U_Interface() { 26CFG_U::CFG_U() {
27 Register(FunctionTable); 27 Register(FunctionTable);
28} 28}
29 29
diff --git a/src/core/hle/service/cfg/cfg_u.h b/src/core/hle/service/cfg/cfg_u.h
index 5303d8ac6..fc7844714 100644
--- a/src/core/hle/service/cfg/cfg_u.h
+++ b/src/core/hle/service/cfg/cfg_u.h
@@ -9,9 +9,9 @@
9namespace Service { 9namespace Service {
10namespace CFG { 10namespace CFG {
11 11
12class CFG_U_Interface : public Service::Interface { 12class CFG_U final : public Interface {
13public: 13public:
14 CFG_U_Interface(); 14 CFG_U();
15 15
16 std::string GetPortName() const override { 16 std::string GetPortName() const override {
17 return "cfg:u"; 17 return "cfg:u";