A total of 24 sessions can be open for each of these services combined. The commands for each service are handled by the PTM module main() thread.
User PTM Service "ptm:u" / PTM services
Command Header | Description |
---|---|
0x00010002 | RegisterAlarmClient |
0x00020080 | SetRtcAlarm |
0x00030000 | GetRtcAlarm |
0x00040000 | CancelRtcAlarm |
0x00050000 | GetAdapterState |
0x00060000 | GetShellState |
0x00070000 | GetBatteryLevel |
0x00080000 | GetBatteryChargeState |
0x00090000 | GetPedometerState |
0x000A0042 | GetStepHistoryEntry |
0x000B00C2 | GetStepHistory |
0x000C0000 | GetTotalStepCount |
0x000D0040 | SetPedometerRecordingMode |
0x000E0000 | GetPedometerRecordingMode |
0x000F0084 | GetStepHistoryAll |
The above commands are available for all PTM services.
PlayHistory PTM Service "ptm:play"
Command Header | Description |
---|---|
0x08070082 | GetPlayHistory |
0x08080000 | GetPlayHistoryStart |
0x08090000 | GetPlayHistoryLength |
0x080B0080 | CalcPlayHistoryStart |
SystemControl PTM Service "ptm:s"
Identical to the below "ptm:sysm"
SysMenu PTM Service "ptm:sysm"
Command Header | Description |
---|---|
0x040100C0 | SetRtcAlarmEx |
0x04020042 | ReplySleepQuery |
0x04030042 | NotifySleepPreparationComplete |
0x04040102 | SetWakeupTrigger |
0x04050000 | GetAwakeReason |
0x04060000 | RequestSleep |
0x040700C0 | ShutdownAsync |
0x04080000 | Awake |
0x04090080 | RebootAsync |
0x040A0000 | CheckNew3DS (Added with 8.0.0-18) |
0x08010640 | SetInfoLEDPattern (These 4 LED commands are used for the notification LED, see MCU regarding boot fail with invalid parameters) |
0x08020040 | SetInfoLEDPatternHeader |
0x08030000 | GetInfoLEDStatus |
0x08040040 | SetBatteryEmptyLEDPattern |
0x08050000 | ClearStepHistory |
0x080600C2 | SetStepHistory |
0x08070082 | GetPlayHistory |
0x08080000 | GetPlayHistoryStart |
0x08090000 | GetPlayHistoryLength |
0x080A0000 | ClearPlayHistory |
0x080B0080 | CalcPlayHistoryStart |
0x080C0080 | SetUserTime |
0x080D0000 | InvalidateSystemTime |
0x080E0140 | NotifyPlayEvent |
0x080F0000 | IsLegacyPowerOff |
0x08100000 | ClearLegacyPowerOff |
0x08110000 | GetShellStatus |
0x08120000 | IsShutdownByBatteryEmpty |
0x08130000 | FormatSavedata |
0x08140000 | GetLegacyJumpProhibitedFlag |
0x0814... | unknown |
0x0815... | unknown |
0x0816.... | unknown |
0x0817.... | unknown |
0x08180040 | ConfigureNew3DSCPU |
GetSystemTime PTM Service "ptm:gets"
Command Header | Description |
---|---|
0x04010000 | GetSystemTime |
SetSystemTime? PTM Service "ptm:sets"
PTM System_SaveData
During system boot PTM attempts to open the PTM savedata, if this fails it will repeatedly keep trying to open the archive. When opening the archive is failing due to savedata corruption, PTM eventually(during system boot) deletes the savedata then creates it again.