|
|
@ -2,57 +2,44 @@
|
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
|
|
|
|
#include "common/make_unique.h"
|
|
|
|
|
|
|
|
#include "core/file_sys/archive_extsavedata.h"
|
|
|
|
|
|
|
|
#include "core/hle/hle.h"
|
|
|
|
#include "core/hle/hle.h"
|
|
|
|
|
|
|
|
#include "core/hle/service/ptm/ptm.h"
|
|
|
|
#include "core/hle/service/ptm/ptm_sysm.h"
|
|
|
|
#include "core/hle/service/ptm/ptm_sysm.h"
|
|
|
|
|
|
|
|
|
|
|
|
namespace Service {
|
|
|
|
namespace Service {
|
|
|
|
namespace PTM {
|
|
|
|
namespace PTM {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Returns whether the system is powering off (?)
|
|
|
|
|
|
|
|
* Outputs:
|
|
|
|
|
|
|
|
* 1: Result code, 0 on success, otherwise error code
|
|
|
|
|
|
|
|
* 2: Whether the system is going through a power off
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
static void IsLegacyPowerOff(Service::Interface* self) {
|
|
|
|
|
|
|
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
|
|
|
|
|
|
|
cmd_buff[1] = RESULT_SUCCESS.raw;
|
|
|
|
|
|
|
|
cmd_buff[2] = 0;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const Interface::FunctionInfo FunctionTable[] = {
|
|
|
|
const Interface::FunctionInfo FunctionTable[] = {
|
|
|
|
{0x040100C0, nullptr, "SetRtcAlarmEx"},
|
|
|
|
{0x040100C0, nullptr, "SetRtcAlarmEx"},
|
|
|
|
{0x04020042, nullptr, "ReplySleepQuery"},
|
|
|
|
{0x04020042, nullptr, "ReplySleepQuery"},
|
|
|
|
{0x04030042, nullptr, "NotifySleepPreparationComplete"},
|
|
|
|
{0x04030042, nullptr, "NotifySleepPreparationComplete"},
|
|
|
|
{0x04040102, nullptr, "SetWakeupTrigger"},
|
|
|
|
{0x04040102, nullptr, "SetWakeupTrigger"},
|
|
|
|
{0x04050000, nullptr, "GetAwakeReason"},
|
|
|
|
{0x04050000, nullptr, "GetAwakeReason"},
|
|
|
|
{0x04060000, nullptr, "RequestSleep"},
|
|
|
|
{0x04060000, nullptr, "RequestSleep"},
|
|
|
|
{0x040700C0, nullptr, "ShutdownAsync"},
|
|
|
|
{0x040700C0, nullptr, "ShutdownAsync"},
|
|
|
|
{0x04080000, nullptr, "Awake"},
|
|
|
|
{0x04080000, nullptr, "Awake"},
|
|
|
|
{0x04090080, nullptr, "RebootAsync"},
|
|
|
|
{0x04090080, nullptr, "RebootAsync"},
|
|
|
|
{0x040A0000, nullptr, "CheckNew3DS"},
|
|
|
|
{0x040A0000, nullptr, "CheckNew3DS"},
|
|
|
|
{0x08010640, nullptr, "SetInfoLEDPattern"},
|
|
|
|
{0x08010640, nullptr, "SetInfoLEDPattern"},
|
|
|
|
{0x08020040, nullptr, "SetInfoLEDPatternHeader"},
|
|
|
|
{0x08020040, nullptr, "SetInfoLEDPatternHeader"},
|
|
|
|
{0x08030000, nullptr, "GetInfoLEDStatus"},
|
|
|
|
{0x08030000, nullptr, "GetInfoLEDStatus"},
|
|
|
|
{0x08040040, nullptr, "SetBatteryEmptyLEDPattern"},
|
|
|
|
{0x08040040, nullptr, "SetBatteryEmptyLEDPattern"},
|
|
|
|
{0x08050000, nullptr, "ClearStepHistory"},
|
|
|
|
{0x08050000, nullptr, "ClearStepHistory"},
|
|
|
|
{0x080600C2, nullptr, "SetStepHistory"},
|
|
|
|
{0x080600C2, nullptr, "SetStepHistory"},
|
|
|
|
{0x08070082, nullptr, "GetPlayHistory"},
|
|
|
|
{0x08070082, nullptr, "GetPlayHistory"},
|
|
|
|
{0x08080000, nullptr, "GetPlayHistoryStart"},
|
|
|
|
{0x08080000, nullptr, "GetPlayHistoryStart"},
|
|
|
|
{0x08090000, nullptr, "GetPlayHistoryLength"},
|
|
|
|
{0x08090000, nullptr, "GetPlayHistoryLength"},
|
|
|
|
{0x080A0000, nullptr, "ClearPlayHistory"},
|
|
|
|
{0x080A0000, nullptr, "ClearPlayHistory"},
|
|
|
|
{0x080B0080, nullptr, "CalcPlayHistoryStart"},
|
|
|
|
{0x080B0080, nullptr, "CalcPlayHistoryStart"},
|
|
|
|
{0x080C0080, nullptr, "SetUserTime"},
|
|
|
|
{0x080C0080, nullptr, "SetUserTime"},
|
|
|
|
{0x080D0000, nullptr, "InvalidateSystemTime"},
|
|
|
|
{0x080D0000, nullptr, "InvalidateSystemTime"},
|
|
|
|
{0x080E0140, nullptr, "NotifyPlayEvent"},
|
|
|
|
{0x080E0140, nullptr, "NotifyPlayEvent"},
|
|
|
|
{0x080F0000, IsLegacyPowerOff, "IsLegacyPowerOff"},
|
|
|
|
{0x080F0000, IsLegacyPowerOff, "IsLegacyPowerOff"},
|
|
|
|
{0x08100000, nullptr, "ClearLegacyPowerOff"},
|
|
|
|
{0x08100000, nullptr, "ClearLegacyPowerOff"},
|
|
|
|
{0x08110000, nullptr, "GetShellStatus"},
|
|
|
|
{0x08110000, nullptr, "GetShellStatus"},
|
|
|
|
{0x08120000, nullptr, "IsShutdownByBatteryEmpty"},
|
|
|
|
{0x08120000, nullptr, "IsShutdownByBatteryEmpty"},
|
|
|
|
{0x08130000, nullptr, "FormatSavedata"},
|
|
|
|
{0x08130000, nullptr, "FormatSavedata"},
|
|
|
|
{0x08140000, nullptr, "GetLegacyJumpProhibitedFlag"}
|
|
|
|
{0x08140000, nullptr, "GetLegacyJumpProhibitedFlag"}
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
PTM_Sysm_Interface::PTM_Sysm_Interface() {
|
|
|
|
PTM_Sysm_Interface::PTM_Sysm_Interface() {
|
|
|
|