citra-emu
/
citra-canary
Archived
1
0
Fork 0

Merge pull request #2291 from lioncash/svc

service: Add the cfg:nor service
This commit is contained in:
bunnei 2016-12-09 14:15:20 -05:00 committed by GitHub
commit 6edb024d38
10 changed files with 61 additions and 12 deletions

View File

@ -77,6 +77,7 @@ set(SRCS
hle/service/cecd/cecd_u.cpp hle/service/cecd/cecd_u.cpp
hle/service/cfg/cfg.cpp hle/service/cfg/cfg.cpp
hle/service/cfg/cfg_i.cpp hle/service/cfg/cfg_i.cpp
hle/service/cfg/cfg_nor.cpp
hle/service/cfg/cfg_s.cpp hle/service/cfg/cfg_s.cpp
hle/service/cfg/cfg_u.cpp hle/service/cfg/cfg_u.cpp
hle/service/csnd_snd.cpp hle/service/csnd_snd.cpp
@ -239,6 +240,7 @@ set(HEADERS
hle/service/cecd/cecd_u.h hle/service/cecd/cecd_u.h
hle/service/cfg/cfg.h hle/service/cfg/cfg.h
hle/service/cfg/cfg_i.h hle/service/cfg/cfg_i.h
hle/service/cfg/cfg_nor.h
hle/service/cfg/cfg_s.h hle/service/cfg/cfg_s.h
hle/service/cfg/cfg_u.h hle/service/cfg/cfg_u.h
hle/service/csnd_snd.h hle/service/csnd_snd.h

View File

@ -12,6 +12,7 @@
#include "core/hle/result.h" #include "core/hle/result.h"
#include "core/hle/service/cfg/cfg.h" #include "core/hle/service/cfg/cfg.h"
#include "core/hle/service/cfg/cfg_i.h" #include "core/hle/service/cfg/cfg_i.h"
#include "core/hle/service/cfg/cfg_nor.h"
#include "core/hle/service/cfg/cfg_s.h" #include "core/hle/service/cfg/cfg_s.h"
#include "core/hle/service/cfg/cfg_u.h" #include "core/hle/service/cfg/cfg_u.h"
#include "core/hle/service/fs/archive.h" #include "core/hle/service/fs/archive.h"
@ -528,9 +529,10 @@ ResultCode LoadConfigNANDSaveFile() {
} }
void Init() { void Init() {
AddService(new CFG_I_Interface); AddService(new CFG_I);
AddService(new CFG_S_Interface); AddService(new CFG_NOR);
AddService(new CFG_U_Interface); AddService(new CFG_S);
AddService(new CFG_U);
LoadConfigNANDSaveFile(); LoadConfigNANDSaveFile();
} }

View File

@ -56,7 +56,7 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x08180042, nullptr, "SecureInfoGetSerialNo"}, {0x08180042, nullptr, "SecureInfoGetSerialNo"},
}; };
CFG_I_Interface::CFG_I_Interface() { CFG_I::CFG_I() {
Register(FunctionTable); Register(FunctionTable);
} }

View File

@ -9,9 +9,9 @@
namespace Service { namespace Service {
namespace CFG { namespace CFG {
class CFG_I_Interface : public Service::Interface { class CFG_I final : public Interface {
public: public:
CFG_I_Interface(); CFG_I();
std::string GetPortName() const override { std::string GetPortName() const override {
return "cfg:i"; return "cfg:i";

View File

@ -0,0 +1,23 @@
// Copyright 2016 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/service/cfg/cfg.h"
#include "core/hle/service/cfg/cfg_nor.h"
namespace Service {
namespace CFG {
const Interface::FunctionInfo FunctionTable[] = {
{0x00010040, nullptr, "Initialize"},
{0x00020000, nullptr, "Shutdown"},
{0x00050082, nullptr, "ReadData"},
{0x00060082, nullptr, "WriteData"},
};
CFG_NOR::CFG_NOR() {
Register(FunctionTable);
}
} // namespace CFG
} // namespace Service

View File

@ -0,0 +1,22 @@
// Copyright 2016 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include "core/hle/service/service.h"
namespace Service {
namespace CFG {
class CFG_NOR final : public Interface {
public:
CFG_NOR();
std::string GetPortName() const override {
return "cfg:nor";
}
};
} // namespace CFG
} // namespace Service

View File

@ -33,7 +33,7 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x04090000, nullptr, "UpdateConfigBlk00040003"}, {0x04090000, nullptr, "UpdateConfigBlk00040003"},
}; };
CFG_S_Interface::CFG_S_Interface() { CFG_S::CFG_S() {
Register(FunctionTable); Register(FunctionTable);
} }

View File

@ -9,9 +9,9 @@
namespace Service { namespace Service {
namespace CFG { namespace CFG {
class CFG_S_Interface : public Service::Interface { class CFG_S final : public Interface {
public: public:
CFG_S_Interface(); CFG_S();
std::string GetPortName() const override { std::string GetPortName() const override {
return "cfg:s"; return "cfg:s";

View File

@ -23,7 +23,7 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x000B0000, nullptr, "IsFangateSupported"}, {0x000B0000, nullptr, "IsFangateSupported"},
}; };
CFG_U_Interface::CFG_U_Interface() { CFG_U::CFG_U() {
Register(FunctionTable); Register(FunctionTable);
} }

View File

@ -9,9 +9,9 @@
namespace Service { namespace Service {
namespace CFG { namespace CFG {
class CFG_U_Interface : public Service::Interface { class CFG_U final : public Interface {
public: public:
CFG_U_Interface(); CFG_U();
std::string GetPortName() const override { std::string GetPortName() const override {
return "cfg:u"; return "cfg:u";