mirror of
https://git.suyu.dev/suyu/suyu
synced 2024-11-01 04:47:53 +00:00
Merge pull request #2291 from lioncash/svc
service: Add the cfg:nor service
This commit is contained in:
commit
6edb024d38
10 changed files with 61 additions and 12 deletions
|
@ -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
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ const Interface::FunctionInfo FunctionTable[] = {
|
|||
{0x08180042, nullptr, "SecureInfoGetSerialNo"},
|
||||
};
|
||||
|
||||
CFG_I_Interface::CFG_I_Interface() {
|
||||
CFG_I::CFG_I() {
|
||||
Register(FunctionTable);
|
||||
}
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
23
src/core/hle/service/cfg/cfg_nor.cpp
Normal file
23
src/core/hle/service/cfg/cfg_nor.cpp
Normal 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
|
22
src/core/hle/service/cfg/cfg_nor.h
Normal file
22
src/core/hle/service/cfg/cfg_nor.h
Normal 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
|
|
@ -33,7 +33,7 @@ const Interface::FunctionInfo FunctionTable[] = {
|
|||
{0x04090000, nullptr, "UpdateConfigBlk00040003"},
|
||||
};
|
||||
|
||||
CFG_S_Interface::CFG_S_Interface() {
|
||||
CFG_S::CFG_S() {
|
||||
Register(FunctionTable);
|
||||
}
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -23,7 +23,7 @@ const Interface::FunctionInfo FunctionTable[] = {
|
|||
{0x000B0000, nullptr, "IsFangateSupported"},
|
||||
};
|
||||
|
||||
CFG_U_Interface::CFG_U_Interface() {
|
||||
CFG_U::CFG_U() {
|
||||
Register(FunctionTable);
|
||||
}
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
Loading…
Reference in a new issue