| @@ -123,7 +123,9 @@ set(SRCS | ||||
|             hle/service/nwm_uds.cpp | ||||
|             hle/service/pm_app.cpp | ||||
|             hle/service/ptm/ptm.cpp | ||||
|             hle/service/ptm/ptm_gets.cpp | ||||
|             hle/service/ptm/ptm_play.cpp | ||||
|             hle/service/ptm/ptm_sets.cpp | ||||
|             hle/service/ptm/ptm_sysm.cpp | ||||
|             hle/service/ptm/ptm_u.cpp | ||||
|             hle/service/qtm/qtm.cpp | ||||
| @@ -283,7 +285,9 @@ set(HEADERS | ||||
|             hle/service/nwm_uds.h | ||||
|             hle/service/pm_app.h | ||||
|             hle/service/ptm/ptm.h | ||||
|             hle/service/ptm/ptm_gets.h | ||||
|             hle/service/ptm/ptm_play.h | ||||
|             hle/service/ptm/ptm_sets.h | ||||
|             hle/service/ptm/ptm_sysm.h | ||||
|             hle/service/ptm/ptm_u.h | ||||
|             hle/service/qtm/qtm.h | ||||
|   | ||||
| @@ -6,7 +6,9 @@ | ||||
| #include "core/file_sys/file_backend.h" | ||||
| #include "core/hle/service/fs/archive.h" | ||||
| #include "core/hle/service/ptm/ptm.h" | ||||
| #include "core/hle/service/ptm/ptm_gets.h" | ||||
| #include "core/hle/service/ptm/ptm_play.h" | ||||
| #include "core/hle/service/ptm/ptm_sets.h" | ||||
| #include "core/hle/service/ptm/ptm_sysm.h" | ||||
| #include "core/hle/service/ptm/ptm_u.h" | ||||
| #include "core/hle/service/service.h" | ||||
| @@ -106,9 +108,12 @@ void CheckNew3DS(Service::Interface* self) { | ||||
| } | ||||
|  | ||||
| void Init() { | ||||
|     AddService(new PTM_Play_Interface); | ||||
|     AddService(new PTM_Sysm_Interface); | ||||
|     AddService(new PTM_U_Interface); | ||||
|     AddService(new PTM_Gets); | ||||
|     AddService(new PTM_Play); | ||||
|     AddService(new PTM_S); | ||||
|     AddService(new PTM_Sets); | ||||
|     AddService(new PTM_Sysm); | ||||
|     AddService(new PTM_U); | ||||
|  | ||||
|     shell_open = true; | ||||
|     battery_is_charging = true; | ||||
|   | ||||
							
								
								
									
										37
									
								
								src/core/hle/service/ptm/ptm_gets.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								src/core/hle/service/ptm/ptm_gets.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,37 @@ | ||||
| // Copyright 2016 Citra Emulator Project | ||||
| // Licensed under GPLv2 or any later version | ||||
| // Refer to the license.txt file included. | ||||
|  | ||||
| #include "core/hle/service/ptm/ptm.h" | ||||
| #include "core/hle/service/ptm/ptm_gets.h" | ||||
|  | ||||
| namespace Service { | ||||
| namespace PTM { | ||||
|  | ||||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     // ptm:u common commands | ||||
|     {0x00010002, nullptr, "RegisterAlarmClient"}, | ||||
|     {0x00020080, nullptr, "SetRtcAlarm"}, | ||||
|     {0x00030000, nullptr, "GetRtcAlarm"}, | ||||
|     {0x00040000, nullptr, "CancelRtcAlarm"}, | ||||
|     {0x00050000, GetAdapterState, "GetAdapterState"}, | ||||
|     {0x00060000, GetShellState, "GetShellState"}, | ||||
|     {0x00070000, GetBatteryLevel, "GetBatteryLevel"}, | ||||
|     {0x00080000, GetBatteryChargeState, "GetBatteryChargeState"}, | ||||
|     {0x00090000, nullptr, "GetPedometerState"}, | ||||
|     {0x000A0042, nullptr, "GetStepHistoryEntry"}, | ||||
|     {0x000B00C2, nullptr, "GetStepHistory"}, | ||||
|     {0x000C0000, GetTotalStepCount, "GetTotalStepCount"}, | ||||
|     {0x000D0040, nullptr, "SetPedometerRecordingMode"}, | ||||
|     {0x000E0000, nullptr, "GetPedometerRecordingMode"}, | ||||
|     {0x000F0084, nullptr, "GetStepHistoryAll"}, | ||||
|     // ptm:gets | ||||
|     {0x04010000, nullptr, "GetSystemTime"}, | ||||
| }; | ||||
|  | ||||
| PTM_Gets::PTM_Gets() { | ||||
|     Register(FunctionTable); | ||||
| } | ||||
|  | ||||
| } // namespace PTM | ||||
| } // namespace Service | ||||
							
								
								
									
										22
									
								
								src/core/hle/service/ptm/ptm_gets.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								src/core/hle/service/ptm/ptm_gets.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 PTM { | ||||
|  | ||||
| class PTM_Gets final : public Interface { | ||||
| public: | ||||
|     PTM_Gets(); | ||||
|  | ||||
|     std::string GetPortName() const override { | ||||
|         return "ptm:gets"; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| } // namespace PTM | ||||
| } // namespace Service | ||||
| @@ -2,19 +2,37 @@ | ||||
| // Licensed under GPLv2 or any later version | ||||
| // Refer to the license.txt file included. | ||||
|  | ||||
| #include "core/hle/service/ptm/ptm.h" | ||||
| #include "core/hle/service/ptm/ptm_play.h" | ||||
|  | ||||
| namespace Service { | ||||
| namespace PTM { | ||||
|  | ||||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     // ptm:u common commands | ||||
|     {0x00010002, nullptr, "RegisterAlarmClient"}, | ||||
|     {0x00020080, nullptr, "SetRtcAlarm"}, | ||||
|     {0x00030000, nullptr, "GetRtcAlarm"}, | ||||
|     {0x00040000, nullptr, "CancelRtcAlarm"}, | ||||
|     {0x00050000, GetAdapterState, "GetAdapterState"}, | ||||
|     {0x00060000, GetShellState, "GetShellState"}, | ||||
|     {0x00070000, GetBatteryLevel, "GetBatteryLevel"}, | ||||
|     {0x00080000, GetBatteryChargeState, "GetBatteryChargeState"}, | ||||
|     {0x00090000, nullptr, "GetPedometerState"}, | ||||
|     {0x000A0042, nullptr, "GetStepHistoryEntry"}, | ||||
|     {0x000B00C2, nullptr, "GetStepHistory"}, | ||||
|     {0x000C0000, GetTotalStepCount, "GetTotalStepCount"}, | ||||
|     {0x000D0040, nullptr, "SetPedometerRecordingMode"}, | ||||
|     {0x000E0000, nullptr, "GetPedometerRecordingMode"}, | ||||
|     {0x000F0084, nullptr, "GetStepHistoryAll"}, | ||||
|     // ptm:play | ||||
|     {0x08070082, nullptr, "GetPlayHistory"}, | ||||
|     {0x08080000, nullptr, "GetPlayHistoryStart"}, | ||||
|     {0x08090000, nullptr, "GetPlayHistoryLength"}, | ||||
|     {0x080B0080, nullptr, "CalcPlayHistoryStart"}, | ||||
| }; | ||||
|  | ||||
| PTM_Play_Interface::PTM_Play_Interface() { | ||||
| PTM_Play::PTM_Play() { | ||||
|     Register(FunctionTable); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -9,9 +9,9 @@ | ||||
| namespace Service { | ||||
| namespace PTM { | ||||
|  | ||||
| class PTM_Play_Interface : public Service::Interface { | ||||
| class PTM_Play final : public Interface { | ||||
| public: | ||||
|     PTM_Play_Interface(); | ||||
|     PTM_Play(); | ||||
|  | ||||
|     std::string GetPortName() const override { | ||||
|         return "ptm:play"; | ||||
|   | ||||
							
								
								
									
										20
									
								
								src/core/hle/service/ptm/ptm_sets.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								src/core/hle/service/ptm/ptm_sets.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| // Copyright 2016 Citra Emulator Project | ||||
| // Licensed under GPLv2 or any later version | ||||
| // Refer to the license.txt file included. | ||||
|  | ||||
| #include "core/hle/service/ptm/ptm_sets.h" | ||||
|  | ||||
| namespace Service { | ||||
| namespace PTM { | ||||
|  | ||||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     // Note that this service does not have access to ptm:u's common commands | ||||
|     {0x00010080, nullptr, "SetSystemTime"}, | ||||
| }; | ||||
|  | ||||
| PTM_Sets::PTM_Sets() { | ||||
|     Register(FunctionTable); | ||||
| } | ||||
|  | ||||
| } // namespace PTM | ||||
| } // namespace Service | ||||
							
								
								
									
										22
									
								
								src/core/hle/service/ptm/ptm_sets.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								src/core/hle/service/ptm/ptm_sets.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 PTM { | ||||
|  | ||||
| class PTM_Sets final : public Interface { | ||||
| public: | ||||
|     PTM_Sets(); | ||||
|  | ||||
|     std::string GetPortName() const override { | ||||
|         return "ptm:sets"; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| } // namespace PTM | ||||
| } // namespace Service | ||||
| @@ -9,6 +9,23 @@ namespace Service { | ||||
| namespace PTM { | ||||
|  | ||||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     // ptm:u common commands | ||||
|     {0x00010002, nullptr, "RegisterAlarmClient"}, | ||||
|     {0x00020080, nullptr, "SetRtcAlarm"}, | ||||
|     {0x00030000, nullptr, "GetRtcAlarm"}, | ||||
|     {0x00040000, nullptr, "CancelRtcAlarm"}, | ||||
|     {0x00050000, GetAdapterState, "GetAdapterState"}, | ||||
|     {0x00060000, GetShellState, "GetShellState"}, | ||||
|     {0x00070000, GetBatteryLevel, "GetBatteryLevel"}, | ||||
|     {0x00080000, GetBatteryChargeState, "GetBatteryChargeState"}, | ||||
|     {0x00090000, nullptr, "GetPedometerState"}, | ||||
|     {0x000A0042, nullptr, "GetStepHistoryEntry"}, | ||||
|     {0x000B00C2, nullptr, "GetStepHistory"}, | ||||
|     {0x000C0000, GetTotalStepCount, "GetTotalStepCount"}, | ||||
|     {0x000D0040, nullptr, "SetPedometerRecordingMode"}, | ||||
|     {0x000E0000, nullptr, "GetPedometerRecordingMode"}, | ||||
|     {0x000F0084, nullptr, "GetStepHistoryAll"}, | ||||
|     // ptm:sysm | ||||
|     {0x040100C0, nullptr, "SetRtcAlarmEx"}, | ||||
|     {0x04020042, nullptr, "ReplySleepQuery"}, | ||||
|     {0x04030042, nullptr, "NotifySleepPreparationComplete"}, | ||||
| @@ -42,7 +59,11 @@ const Interface::FunctionInfo FunctionTable[] = { | ||||
|     {0x08180040, nullptr, "ConfigureNew3DSCPU"}, | ||||
| }; | ||||
|  | ||||
| PTM_Sysm_Interface::PTM_Sysm_Interface() { | ||||
| PTM_S::PTM_S() { | ||||
|     Register(FunctionTable); | ||||
| } | ||||
|  | ||||
| PTM_Sysm::PTM_Sysm() { | ||||
|     Register(FunctionTable); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -9,9 +9,18 @@ | ||||
| namespace Service { | ||||
| namespace PTM { | ||||
|  | ||||
| class PTM_Sysm_Interface : public Interface { | ||||
| class PTM_S final : public Interface { | ||||
| public: | ||||
|     PTM_Sysm_Interface(); | ||||
|     PTM_S(); | ||||
|  | ||||
|     std::string GetPortName() const override { | ||||
|         return "ptm:s"; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| class PTM_Sysm final : public Interface { | ||||
| public: | ||||
|     PTM_Sysm(); | ||||
|  | ||||
|     std::string GetPortName() const override { | ||||
|         return "ptm:sysm"; | ||||
|   | ||||
| @@ -26,7 +26,7 @@ const Interface::FunctionInfo FunctionTable[] = { | ||||
|     {0x000F0084, nullptr, "GetStepHistoryAll"}, | ||||
| }; | ||||
|  | ||||
| PTM_U_Interface::PTM_U_Interface() { | ||||
| PTM_U::PTM_U() { | ||||
|     Register(FunctionTable); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -9,9 +9,9 @@ | ||||
| namespace Service { | ||||
| namespace PTM { | ||||
|  | ||||
| class PTM_U_Interface : public Interface { | ||||
| class PTM_U final : public Interface { | ||||
| public: | ||||
|     PTM_U_Interface(); | ||||
|     PTM_U(); | ||||
|  | ||||
|     std::string GetPortName() const override { | ||||
|         return "ptm:u"; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user