Merge pull request #190 from purpasmart96/more_services

Add more services and general fixes
This commit is contained in:
bunnei 2014-11-23 14:32:55 -05:00
commit aa986370f3
26 changed files with 464 additions and 17 deletions

View File

@ -31,18 +31,24 @@ set(SRCS
hle/kernel/shared_memory.cpp hle/kernel/shared_memory.cpp
hle/kernel/thread.cpp hle/kernel/thread.cpp
hle/service/ac_u.cpp hle/service/ac_u.cpp
hle/service/am_net.cpp
hle/service/apt_u.cpp hle/service/apt_u.cpp
hle/service/boss_u.cpp hle/service/boss_u.cpp
hle/service/cfg_i.cpp
hle/service/cfg_u.cpp hle/service/cfg_u.cpp
hle/service/csnd_snd.cpp
hle/service/dsp_dsp.cpp hle/service/dsp_dsp.cpp
hle/service/err_f.cpp hle/service/err_f.cpp
hle/service/fs_user.cpp hle/service/fs_user.cpp
hle/service/frd_u.cpp hle/service/frd_u.cpp
hle/service/gsp_gpu.cpp hle/service/gsp_gpu.cpp
hle/service/hid_user.cpp hle/service/hid_user.cpp
hle/service/ir_rst.cpp
hle/service/ir_u.cpp
hle/service/mic_u.cpp hle/service/mic_u.cpp
hle/service/ndm_u.cpp hle/service/ndm_u.cpp
hle/service/nwm_uds.cpp hle/service/nwm_uds.cpp
hle/service/pm_app.cpp
hle/service/ptm_u.cpp hle/service/ptm_u.cpp
hle/service/service.cpp hle/service/service.cpp
hle/service/soc_u.cpp hle/service/soc_u.cpp
@ -103,18 +109,24 @@ set(HEADERS
hle/kernel/shared_memory.h hle/kernel/shared_memory.h
hle/kernel/thread.h hle/kernel/thread.h
hle/service/ac_u.h hle/service/ac_u.h
hle/service/am_net.h
hle/service/apt_u.h hle/service/apt_u.h
hle/service/boss_u.h hle/service/boss_u.h
hle/service/cfg_i.h
hle/service/cfg_u.h hle/service/cfg_u.h
hle/service/csnd_snd.h
hle/service/dsp_dsp.h hle/service/dsp_dsp.h
hle/service/err_f.h hle/service/err_f.h
hle/service/fs_user.h hle/service/fs_user.h
hle/service/frd_u.h hle/service/frd_u.h
hle/service/gsp_gpu.h hle/service/gsp_gpu.h
hle/service/hid_user.h hle/service/hid_user.h
hle/service/ir_rst.h
hle/service/ir_u.h
hle/service/mic_u.h hle/service/mic_u.h
hle/service/ndm_u.h hle/service/ndm_u.h
hle/service/nwm_uds.h hle/service/nwm_uds.h
hle/service/pm_app.h
hle/service/ptm_u.h hle/service/ptm_u.h
hle/service/service.h hle/service/service.h
hle/service/soc_u.h hle/service/soc_u.h

View File

@ -21,7 +21,7 @@ public:
* Gets the string port name used by CTROS for the service * Gets the string port name used by CTROS for the service
* @return Port name of service * @return Port name of service
*/ */
std::string GetPortName() const { std::string GetPortName() const override {
return "ac:u"; return "ac:u";
} }
}; };

View File

@ -0,0 +1,47 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2
// Refer to the license.txt file included.
#include "common/log.h"
#include "core/hle/hle.h"
#include "core/hle/service/am_net.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace AM_NET
namespace AM_NET {
const Interface::FunctionInfo FunctionTable[] = {
{0x08010000, nullptr, "OpenTicket"},
{0x08020002, nullptr, "TicketAbortInstall"},
{0x08030002, nullptr, "TicketFinalizeInstall"},
{0x08040100, nullptr, "InstallTitleBegin"},
{0x08050000, nullptr, "InstallTitleAbort"},
{0x080600C0, nullptr, "InstallTitleResume"},
{0x08070000, nullptr, "InstallTitleAbortTMD"},
{0x08080000, nullptr, "InstallTitleFinish"},
{0x080A0000, nullptr, "OpenTMD"},
{0x080B0002, nullptr, "TMDAbortInstall"},
{0x080C0042, nullptr, "TMDFinalizeInstall"},
{0x080E0040, nullptr, "OpenContentCreate"},
{0x080F0002, nullptr, "ContentAbortInstall"},
{0x08100040, nullptr, "OpenContentResume"},
{0x08120002, nullptr, "ContentFinalizeInstall"},
{0x08130000, nullptr, "GetTotalContents"},
{0x08140042, nullptr, "GetContentIndexes"},
{0x08150044, nullptr, "GetContentsInfo"},
{0x08190108, nullptr, "Unknown"},
{0x081B00C2, nullptr, "InstallTitlesFinish"},
};
////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class
Interface::Interface() {
Register(FunctionTable, ARRAY_SIZE(FunctionTable));
}
Interface::~Interface() {
}
} // namespace

View File

@ -0,0 +1,27 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2
// Refer to the license.txt file included.
#pragma once
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace AM_NET
namespace AM_NET {
class Interface : public Service::Interface {
public:
Interface();
~Interface();
/**
* Gets the string port name used by CTROS for the service
* @return Port name of service
*/
std::string GetPortName() const override {
return "am:net";
}
};
} // namespace

View File

@ -0,0 +1,59 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2
// Refer to the license.txt file included.
#include "common/log.h"
#include "core/hle/hle.h"
#include "core/hle/service/cfg_i.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace CFG_I
namespace CFG_I {
const Interface::FunctionInfo FunctionTable[] = {
{0x04010082, nullptr, "GetConfigInfoBlk8"},
{0x04020082, nullptr, "GetConfigInfoBlk4"},
{0x04030000, nullptr, "UpdateConfigNANDSavegame"},
{0x04040042, nullptr, "GetLocalFriendCodeSeedData"},
{0x04050000, nullptr, "GetLocalFriendCodeSeed"},
{0x04060000, nullptr, "SecureInfoGetRegion"},
{0x04070000, nullptr, "SecureInfoGetByte101"},
{0x04080042, nullptr, "SecureInfoGetSerialNo"},
{0x04090000, nullptr, "UpdateConfigBlk00040003"},
{0x08010082, nullptr, "GetConfigInfoBlk8"},
{0x08020082, nullptr, "GetConfigInfoBlk4"},
{0x08030000, nullptr, "UpdateConfigNANDSavegame"},
{0x080400C2, nullptr, "CreateConfigInfoBlk"},
{0x08050000, nullptr, "DeleteConfigNANDSavefile"},
{0x08060000, nullptr, "FormatConfig"},
{0x08070000, nullptr, "Unknown"},
{0x08080000, nullptr, "UpdateConfigBlk1"},
{0x08090000, nullptr, "UpdateConfigBlk2"},
{0x080A0000, nullptr, "UpdateConfigBlk3"},
{0x080B0082, nullptr, "SetGetLocalFriendCodeSeedData"},
{0x080C0042, nullptr, "SetLocalFriendCodeSeedSignature"},
{0x080D0000, nullptr, "DeleteCreateNANDLocalFriendCodeSeed"},
{0x080E0000, nullptr, "VerifySigLocalFriendCodeSeed"},
{0x080F0042, nullptr, "GetLocalFriendCodeSeedData"},
{0x08100000, nullptr, "GetLocalFriendCodeSeed"},
{0x08110084, nullptr, "SetSecureInfo"},
{0x08120000, nullptr, "DeleteCreateNANDSecureInfo"},
{0x08130000, nullptr, "VerifySigSecureInfo"},
{0x08140042, nullptr, "SecureInfoGetData"},
{0x08150042, nullptr, "SecureInfoGetSignature"},
{0x08160000, nullptr, "SecureInfoGetRegion"},
{0x08170000, nullptr, "SecureInfoGetByte101"},
{0x08180042, nullptr, "SecureInfoGetSerialNo"},
};
////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class
Interface::Interface() {
Register(FunctionTable, ARRAY_SIZE(FunctionTable));
}
Interface::~Interface() {
}
} // namespace

View File

@ -0,0 +1,27 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2
// Refer to the license.txt file included.
#pragma once
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace CFG_I
namespace CFG_I {
class Interface : public Service::Interface {
public:
Interface();
~Interface();
/**
* Gets the string port name used by CTROS for the service
* @return Port name of service
*/
std::string GetPortName() const override {
return "cfg:i";
}
};
} // namespace

View File

@ -19,7 +19,7 @@ public:
* Gets the string port name used by CTROS for the service * Gets the string port name used by CTROS for the service
* @return Port name of service * @return Port name of service
*/ */
std::string GetPortName() const { std::string GetPortName() const override {
return "cfg:u"; return "cfg:u";
} }
}; };

View File

@ -0,0 +1,39 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2
// Refer to the license.txt file included.
#include "common/log.h"
#include "core/hle/hle.h"
#include "core/hle/service/csnd_snd.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace CSND_SND
namespace CSND_SND {
const Interface::FunctionInfo FunctionTable[] = {
{0x00010140, nullptr, "Initialize"},
{0x00020000, nullptr, "Shutdown"},
{0x00030040, nullptr, "Unknown"},
{0x00040080, nullptr, "Unknown"},
{0x00050000, nullptr, "Unknown"},
{0x00060000, nullptr, "Unknown"},
{0x00070000, nullptr, "Unknown"},
{0x00080040, nullptr, "Unknown"},
{0x00090082, nullptr, "FlushDCache"},
{0x000A0082, nullptr, "StoreDCache"},
{0x000B0082, nullptr, "InvalidateDCache"},
{0x000C0000, nullptr, "Unknown"},
};
////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class
Interface::Interface() {
Register(FunctionTable, ARRAY_SIZE(FunctionTable));
}
Interface::~Interface() {
}
} // namespace

View File

@ -0,0 +1,27 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2
// Refer to the license.txt file included.
#pragma once
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace CSND_SND
namespace CSND_SND {
class Interface : public Service::Interface {
public:
Interface();
~Interface();
/**
* Gets the string port name used by CTROS for the service
* @return Port name of service
*/
std::string GetPortName() const override {
return "csnd:SND";
}
};
} // namespace

View File

@ -19,7 +19,7 @@ public:
* Gets the string port name used by CTROS for the service * Gets the string port name used by CTROS for the service
* @return Port name of service * @return Port name of service
*/ */
std::string GetPortName() const { std::string GetPortName() const override {
return "dsp:DSP"; return "dsp:DSP";
} }
}; };

View File

@ -19,7 +19,7 @@ namespace ERR_F {
* Gets the string port name used by CTROS for the service * Gets the string port name used by CTROS for the service
* @return Port name of service * @return Port name of service
*/ */
std::string GetPortName() const { std::string GetPortName() const override {
return "err:f"; return "err:f";
} }
}; };

View File

@ -19,7 +19,7 @@ namespace FRD_U {
* Gets the string port name used by CTROS for the service * Gets the string port name used by CTROS for the service
* @return Port name of service * @return Port name of service
*/ */
std::string GetPortName() const { std::string GetPortName() const override {
return "frd:u"; return "frd:u";
} }
}; };

View File

@ -0,0 +1,36 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2
// Refer to the license.txt file included.
#include "common/log.h"
#include "core/hle/hle.h"
#include "core/hle/service/ir_rst.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace IR_RST
namespace IR_RST {
const Interface::FunctionInfo FunctionTable[] = {
{0x00010000, nullptr, "GetHandles"},
{0x00020080, nullptr, "Initialize"},
{0x00030000, nullptr, "Shutdown"},
{0x00040000, nullptr, "Unknown"},
{0x00050000, nullptr, "Unknown"},
{0x00060000, nullptr, "Unknown"},
{0x00070080, nullptr, "Unknown"},
{0x00080000, nullptr, "Unknown"},
{0x00090000, nullptr, "Unknown"},
};
////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class
Interface::Interface() {
Register(FunctionTable, ARRAY_SIZE(FunctionTable));
}
Interface::~Interface() {
}
} // namespace

View File

@ -0,0 +1,27 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2
// Refer to the license.txt file included.
#pragma once
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace IR_RST
namespace IR_RST {
class Interface : public Service::Interface {
public:
Interface();
~Interface();
/**
* Gets the string port name used by CTROS for the service
* @return Port name of service
*/
std::string GetPortName() const override {
return "ir:rst";
}
};
} // namespace

View File

@ -0,0 +1,45 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2
// Refer to the license.txt file included.
#include "common/log.h"
#include "core/hle/hle.h"
#include "core/hle/service/ir_u.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace IR_U
namespace IR_U {
const Interface::FunctionInfo FunctionTable[] = {
{0x00010000, nullptr, "Initialize"},
{0x00020000, nullptr, "Shutdown"},
{0x00030042, nullptr, "StartSendTransfer"},
{0x00040000, nullptr, "WaitSendTransfer"},
{0x000500C2, nullptr, "StartRecvTransfer"},
{0x00060000, nullptr, "WaitRecvTransfer"},
{0x00070080, nullptr, "GetRecvTransferCount"},
{0x00080000, nullptr, "GetSendState"},
{0x00090040, nullptr, "SetBitRate"},
{0x000A0000, nullptr, "GetBitRate"},
{0x000B0040, nullptr, "SetIRLEDState"},
{0x000C0000, nullptr, "GetIRLEDRecvState"},
{0x000D0000, nullptr, "GetSendFinishedEvent"},
{0x000E0000, nullptr, "GetRecvFinishedEvent"},
{0x000F0000, nullptr, "GetTransferState"},
{0x00100000, nullptr, "GetErrorStatus"},
{0x00110040, nullptr, "SetSleepModeActive"},
{0x00120040, nullptr, "SetSleepModeState"},
};
////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class
Interface::Interface() {
Register(FunctionTable, ARRAY_SIZE(FunctionTable));
}
Interface::~Interface() {
}
} // namespace

View File

@ -0,0 +1,27 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2
// Refer to the license.txt file included.
#pragma once
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace IR_U
namespace IR_U {
class Interface : public Service::Interface {
public:
Interface();
~Interface();
/**
* Gets the string port name used by CTROS for the service
* @return Port name of service
*/
std::string GetPortName() const override {
return "ir:u";
}
};
} // namespace

View File

@ -21,7 +21,7 @@ public:
* Gets the string port name used by CTROS for the service * Gets the string port name used by CTROS for the service
* @return Port name of service * @return Port name of service
*/ */
std::string GetPortName() const { std::string GetPortName() const override {
return "mic:u"; return "mic:u";
} }
}; };

View File

@ -21,7 +21,7 @@ public:
* Gets the string port name used by CTROS for the service * Gets the string port name used by CTROS for the service
* @return Port name of service * @return Port name of service
*/ */
std::string GetPortName() const { std::string GetPortName() const override {
return "nwm:UDS"; return "nwm:UDS";
} }
}; };

View File

@ -0,0 +1,35 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2
// Refer to the license.txt file included.
#include "common/log.h"
#include "core/hle/hle.h"
#include "core/hle/service/pm_app.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace PM_APP
namespace PM_APP {
const Interface::FunctionInfo FunctionTable[] = {
{0x00010140, nullptr, "LaunchTitle"},
{0x00020082, nullptr, "LaunchFIRMSetParams"},
{0x00030080, nullptr, "TerminateProcesse"},
{0x00040100, nullptr, "TerminateProcessTID"},
{0x000500C0, nullptr, "TerminateProcessTID_unknown"},
{0x00070042, nullptr, "GetFIRMLaunchParams"},
{0x00080100, nullptr, "GetTitleExheaderFlags"},
{0x00090042, nullptr, "SetFIRMLaunchParams"},
};
////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class
Interface::Interface() {
Register(FunctionTable, ARRAY_SIZE(FunctionTable));
}
Interface::~Interface() {
}
} // namespace

View File

@ -0,0 +1,27 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2
// Refer to the license.txt file included.
#pragma once
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace PM_APP
namespace PM_APP {
class Interface : public Service::Interface {
public:
Interface();
~Interface();
/**
* Gets the string port name used by CTROS for the service
* @return Port name of service
*/
std::string GetPortName() const override {
return "pm:app";
}
};
} // namespace

View File

@ -21,7 +21,7 @@ public:
* Gets the string port name used by CTROS for the service * Gets the string port name used by CTROS for the service
* @return Port name of service * @return Port name of service
*/ */
std::string GetPortName() const { std::string GetPortName() const override {
return "ptm:u"; return "ptm:u";
} }
}; };

View File

@ -7,18 +7,24 @@
#include "core/hle/service/service.h" #include "core/hle/service/service.h"
#include "core/hle/service/ac_u.h" #include "core/hle/service/ac_u.h"
#include "core/hle/service/am_net.h"
#include "core/hle/service/apt_u.h" #include "core/hle/service/apt_u.h"
#include "core/hle/service/boss_u.h" #include "core/hle/service/boss_u.h"
#include "core/hle/service/cfg_i.h"
#include "core/hle/service/cfg_u.h" #include "core/hle/service/cfg_u.h"
#include "core/hle/service/csnd_snd.h"
#include "core/hle/service/dsp_dsp.h" #include "core/hle/service/dsp_dsp.h"
#include "core/hle/service/err_f.h" #include "core/hle/service/err_f.h"
#include "core/hle/service/fs_user.h" #include "core/hle/service/fs_user.h"
#include "core/hle/service/frd_u.h" #include "core/hle/service/frd_u.h"
#include "core/hle/service/gsp_gpu.h" #include "core/hle/service/gsp_gpu.h"
#include "core/hle/service/hid_user.h" #include "core/hle/service/hid_user.h"
#include "core/hle/service/ir_rst.h"
#include "core/hle/service/ir_u.h"
#include "core/hle/service/mic_u.h" #include "core/hle/service/mic_u.h"
#include "core/hle/service/ndm_u.h" #include "core/hle/service/ndm_u.h"
#include "core/hle/service/nwm_uds.h" #include "core/hle/service/nwm_uds.h"
#include "core/hle/service/pm_app.h"
#include "core/hle/service/ptm_u.h" #include "core/hle/service/ptm_u.h"
#include "core/hle/service/soc_u.h" #include "core/hle/service/soc_u.h"
#include "core/hle/service/srv.h" #include "core/hle/service/srv.h"
@ -78,18 +84,24 @@ void Init() {
g_manager->AddService(new SRV::Interface); g_manager->AddService(new SRV::Interface);
g_manager->AddService(new AC_U::Interface); g_manager->AddService(new AC_U::Interface);
g_manager->AddService(new AM_NET::Interface);
g_manager->AddService(new APT_U::Interface); g_manager->AddService(new APT_U::Interface);
g_manager->AddService(new BOSS_U::Interface); g_manager->AddService(new BOSS_U::Interface);
g_manager->AddService(new CFG_I::Interface);
g_manager->AddService(new CFG_U::Interface); g_manager->AddService(new CFG_U::Interface);
g_manager->AddService(new CSND_SND::Interface);
g_manager->AddService(new DSP_DSP::Interface); g_manager->AddService(new DSP_DSP::Interface);
g_manager->AddService(new ERR_F::Interface); g_manager->AddService(new ERR_F::Interface);
g_manager->AddService(new FRD_U::Interface); g_manager->AddService(new FRD_U::Interface);
g_manager->AddService(new FS_User::Interface); g_manager->AddService(new FS_User::Interface);
g_manager->AddService(new GSP_GPU::Interface); g_manager->AddService(new GSP_GPU::Interface);
g_manager->AddService(new HID_User::Interface); g_manager->AddService(new HID_User::Interface);
g_manager->AddService(new IR_RST::Interface);
g_manager->AddService(new IR_U::Interface);
g_manager->AddService(new MIC_U::Interface); g_manager->AddService(new MIC_U::Interface);
g_manager->AddService(new NDM_U::Interface); g_manager->AddService(new NDM_U::Interface);
g_manager->AddService(new NWM_UDS::Interface); g_manager->AddService(new NWM_UDS::Interface);
g_manager->AddService(new PM_APP::Interface);
g_manager->AddService(new PTM_U::Interface); g_manager->AddService(new PTM_U::Interface);
g_manager->AddService(new SOC_U::Interface); g_manager->AddService(new SOC_U::Interface);
g_manager->AddService(new SSL_C::Interface); g_manager->AddService(new SSL_C::Interface);

View File

@ -19,7 +19,7 @@ public:
* Gets the string port name used by CTROS for the service * Gets the string port name used by CTROS for the service
* @return Port name of service * @return Port name of service
*/ */
std::string GetPortName() const { std::string GetPortName() const override {
return "soc:U"; return "soc:U";
} }
}; };