Difference between revisions of "PTM Services"
(Remove information on PTM Save to prevent duplicating dedicated page) |
|||
(17 intermediate revisions by 6 users not shown) | |||
Line 38: | Line 38: | ||
|- | |- | ||
| 0x000B00C2 | | 0x000B00C2 | ||
− | | GetStepHistory | + | | [[PTM:GetStepHistory|GetStepHistory]] |
|- | |- | ||
| 0x000C0000 | | 0x000C0000 | ||
Line 53: | Line 53: | ||
|} | |} | ||
− | The above commands are available for all PTM services. | + | The above commands are available for all PTM services, except the SetSystemTime service. |
=PlayHistory PTM Service "ptm:play" = | =PlayHistory PTM Service "ptm:play" = | ||
Line 62: | Line 62: | ||
|- | |- | ||
| 0x08070082 | | 0x08070082 | ||
− | | GetPlayHistory | + | | [[PTM:GetPlayHistory|GetPlayHistory]] |
|- | |- | ||
| 0x08080000 | | 0x08080000 | ||
Line 74: | Line 74: | ||
|} | |} | ||
− | + | =SystemControl PTM Service "ptm:s"= | |
+ | Identical to the below "ptm:sysm" | ||
=SysMenu PTM Service "ptm:sysm"= | =SysMenu PTM Service "ptm:sysm"= | ||
Line 101: | Line 102: | ||
|- | |- | ||
| 0x040700C0 | | 0x040700C0 | ||
− | | ShutdownAsync | + | | [[PTM:ShutdownAsync|ShutdownAsync]] |
|- | |- | ||
| 0x04080000 | | 0x04080000 | ||
Line 131: | Line 132: | ||
|- | |- | ||
| 0x08070082 | | 0x08070082 | ||
− | | GetPlayHistory | + | | [[PTM:GetPlayHistory|GetPlayHistory]] |
|- | |- | ||
| 0x08080000 | | 0x08080000 | ||
Line 155: | Line 156: | ||
|- | |- | ||
| 0x080F0000 | | 0x080F0000 | ||
− | | | + | | [[PTMSYSM:GetSoftwareClosedFlag|GetSoftwareClosedFlag]] |
|- | |- | ||
| 0x08100000 | | 0x08100000 | ||
− | | | + | | [[PTMSYSM:ClearSoftwareClosedFlag|ClearSoftwareClosedFlag]] |
|- | |- | ||
| 0x08110000 | | 0x08110000 | ||
Line 171: | Line 172: | ||
| 0x08140000 | | 0x08140000 | ||
| GetLegacyJumpProhibitedFlag | | GetLegacyJumpProhibitedFlag | ||
+ | |- | ||
+ | | 0x08150040 | ||
+ | | SetPlayHistoryRecordingMode | ||
+ | |- | ||
+ | | 0x0816.... | ||
+ | | Abstraction for mcu::RTC::GetSystemClock | ||
+ | |- | ||
+ | | 0x0817.... | ||
+ | | Abstraction for mcu::RTC::SetSystemClock | ||
+ | |- | ||
+ | | 0x08180040 | ||
+ | | [[PTMSYSM:ConfigureNew3DSCPU|ConfigureNew3DSCPU]] | ||
+ | |- | ||
|} | |} | ||
=GetSystemTime PTM Service "ptm:gets"= | =GetSystemTime PTM Service "ptm:gets"= | ||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Command Header | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x04010000 | ||
+ | | GetSystemTime | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | =SetSystemTime PTM Service "ptm:sets"= | ||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Command Header | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x00010080 | ||
+ | | SetSystemTime | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | =PTM [[System_SaveData]]= | ||
+ | ''Main article: [[PTM Savegame]]'' | ||
− | + | During system boot PTM attempts to open the [[PTM Savegame|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. | |
+ | |||
+ | Savedata contents: | ||
+ | * "/Pedometer.dat" | ||
+ | * "/PlayHistory.dat" Filesize is 0xD5DE8. |
Latest revision as of 02:37, 27 November 2023
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 servicesEdit
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, except the SetSystemTime service.
PlayHistory PTM Service "ptm:play"Edit
Command Header | Description |
---|---|
0x08070082 | GetPlayHistory |
0x08080000 | GetPlayHistoryStart |
0x08090000 | GetPlayHistoryLength |
0x080B0080 | CalcPlayHistoryStart |
SystemControl PTM Service "ptm:s"Edit
Identical to the below "ptm:sysm"
SysMenu PTM Service "ptm:sysm"Edit
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 | GetSoftwareClosedFlag |
0x08100000 | ClearSoftwareClosedFlag |
0x08110000 | GetShellStatus |
0x08120000 | IsShutdownByBatteryEmpty |
0x08130000 | FormatSavedata |
0x08140000 | GetLegacyJumpProhibitedFlag |
0x08150040 | SetPlayHistoryRecordingMode |
0x0816.... | Abstraction for mcu::RTC::GetSystemClock |
0x0817.... | Abstraction for mcu::RTC::SetSystemClock |
0x08180040 | ConfigureNew3DSCPU |
GetSystemTime PTM Service "ptm:gets"Edit
Command Header | Description |
---|---|
0x04010000 | GetSystemTime |
SetSystemTime PTM Service "ptm:sets"Edit
Command Header | Description |
---|---|
0x00010080 | SetSystemTime |
PTM System_SaveDataEdit
Main article: PTM Savegame
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.
Savedata contents:
- "/Pedometer.dat"
- "/PlayHistory.dat" Filesize is 0xD5DE8.