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/cfg/cfg.cpp
hle/service/cfg/cfg_i.cpp
hle/service/cfg/cfg_nor.cpp
hle/service/cfg/cfg_s.cpp
hle/service/cfg/cfg_u.cpp
hle/service/csnd_snd.cpp
@ -239,6 +240,7 @@ set(HEADERS
hle/service/cecd/cecd_u.h
hle/service/cfg/cfg.h
hle/service/cfg/cfg_i.h
hle/service/cfg/cfg_nor.h
hle/service/cfg/cfg_s.h
hle/service/cfg/cfg_u.h
hle/service/csnd_snd.h

View file

@ -12,6 +12,7 @@
#include "core/hle/result.h"
#include "core/hle/service/cfg/cfg.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_u.h"
#include "core/hle/service/fs/archive.h"
@ -528,9 +529,10 @@ ResultCode LoadConfigNANDSaveFile() {
}
void Init() {
AddService(new CFG_I_Interface);
AddService(new CFG_S_Interface);
AddService(new CFG_U_Interface);
AddService(new CFG_I);
AddService(new CFG_NOR);
AddService(new CFG_S);
AddService(new CFG_U);
LoadConfigNANDSaveFile();
}

View file

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

View file

@ -9,9 +9,9 @@
namespace Service {
namespace CFG {
class CFG_I_Interface : public Service::Interface {
class CFG_I final : public Interface {
public:
CFG_I_Interface();
CFG_I();
std::string GetPortName() const override {
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"},
};
CFG_S_Interface::CFG_S_Interface() {
CFG_S::CFG_S() {
Register(FunctionTable);
}

View file

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

View file

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

View file

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