Merge pull request #2291 from lioncash/svc
service: Add the cfg:nor service
This commit is contained in:
		@@ -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";
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user