mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	Services: Added some missing services.
cfg:s, ptm:sysm, apt:s. apt:s is almost exactly the same as apt:u as per 3dbrew
This commit is contained in:
		
							parent
							
								
									682e6bc8d9
								
							
						
					
					
						commit
						cf071cd897
					
				
					 9 changed files with 364 additions and 1 deletions
				
			
		|  | @ -38,11 +38,13 @@ set(SRCS | |||
|             hle/service/am_app.cpp | ||||
|             hle/service/am_net.cpp | ||||
|             hle/service/apt_a.cpp | ||||
|             hle/service/apt_s.cpp | ||||
|             hle/service/apt_u.cpp | ||||
|             hle/service/boss_u.cpp | ||||
|             hle/service/cecd_u.cpp | ||||
|             hle/service/cfg/cfg.cpp | ||||
|             hle/service/cfg/cfg_i.cpp | ||||
|             hle/service/cfg/cfg_s.cpp | ||||
|             hle/service/cfg/cfg_u.cpp | ||||
|             hle/service/csnd_snd.cpp | ||||
|             hle/service/dsp_dsp.cpp | ||||
|  | @ -63,6 +65,7 @@ set(SRCS | |||
|             hle/service/nwm_uds.cpp | ||||
|             hle/service/pm_app.cpp | ||||
|             hle/service/ptm_u.cpp | ||||
|             hle/service/ptm_sysm.cpp | ||||
|             hle/service/service.cpp | ||||
|             hle/service/soc_u.cpp | ||||
|             hle/service/srv.cpp | ||||
|  | @ -131,11 +134,13 @@ set(HEADERS | |||
|             hle/service/am_app.h | ||||
|             hle/service/am_net.h | ||||
|             hle/service/apt_a.h | ||||
|             hle/service/apt_s.h | ||||
|             hle/service/apt_u.h | ||||
|             hle/service/boss_u.h | ||||
|             hle/service/cecd_u.h | ||||
|             hle/service/cfg/cfg.h | ||||
|             hle/service/cfg/cfg_i.h | ||||
|             hle/service/cfg/cfg_s.h | ||||
|             hle/service/cfg/cfg_u.h | ||||
|             hle/service/csnd_snd.h | ||||
|             hle/service/dsp_dsp.h | ||||
|  | @ -156,6 +161,7 @@ set(HEADERS | |||
|             hle/service/nwm_uds.h | ||||
|             hle/service/pm_app.h | ||||
|             hle/service/ptm_u.h | ||||
|             hle/service/ptm_sysm.h | ||||
|             hle/service/service.h | ||||
|             hle/service/soc_u.h | ||||
|             hle/service/srv.h | ||||
|  |  | |||
							
								
								
									
										121
									
								
								src/core/hle/service/apt_s.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										121
									
								
								src/core/hle/service/apt_s.cpp
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,121 @@ | |||
| // Copyright 2015 Citra Emulator Project
 | ||||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| 
 | ||||
| #include "common/common.h" | ||||
| #include "common/file_util.h" | ||||
| 
 | ||||
| #include "core/hle/hle.h" | ||||
| #include "core/hle/kernel/event.h" | ||||
| #include "core/hle/kernel/mutex.h" | ||||
| #include "core/hle/kernel/shared_memory.h" | ||||
| #include "core/hle/service/apt_s.h" | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||
| // Namespace APT_S
 | ||||
| 
 | ||||
| namespace APT_U { | ||||
|     extern void GetLockHandle(Service::Interface* self); | ||||
|     extern void Initialize(Service::Interface* self); | ||||
|     extern void Enable(Service::Interface* self); | ||||
|     extern void InquireNotification(Service::Interface* self); | ||||
|     extern void GetSharedFont(Service::Interface* self); | ||||
|     extern void AppletUtility(Service::Interface* self); | ||||
|     extern void GlanceParameter(Service::Interface* self); | ||||
|     extern void ReceiveParameter(Service::Interface* self); | ||||
| } | ||||
| 
 | ||||
| namespace APT_S { | ||||
| 
 | ||||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     {0x00010040, APT_U::GetLockHandle,         "GetLockHandle"}, | ||||
|     {0x00020080, APT_U::Initialize,            "Initialize"}, | ||||
|     {0x00030040, APT_U::Enable,                "Enable"}, | ||||
|     {0x00040040, nullptr,                      "Finalize"}, | ||||
|     {0x00050040, nullptr,                      "GetAppletManInfo"}, | ||||
|     {0x00060040, nullptr,                      "GetAppletInfo"}, | ||||
|     {0x00070000, nullptr,                      "GetLastSignaledAppletId"}, | ||||
|     {0x00080000, nullptr,                      "CountRegisteredApplet"}, | ||||
|     {0x00090040, nullptr,                      "IsRegistered"}, | ||||
|     {0x000A0040, nullptr,                      "GetAttribute"}, | ||||
|     {0x000B0040, APT_U::InquireNotification,   "InquireNotification"}, | ||||
|     {0x000C0104, nullptr,                      "SendParameter"}, | ||||
|     {0x000D0080, APT_U::ReceiveParameter,      "ReceiveParameter"}, | ||||
|     {0x000E0080, APT_U::GlanceParameter,       "GlanceParameter"}, | ||||
|     {0x000F0100, nullptr,                      "CancelParameter"}, | ||||
|     {0x001000C2, nullptr,                      "DebugFunc"}, | ||||
|     {0x001100C0, nullptr,                      "MapProgramIdForDebug"}, | ||||
|     {0x00120040, nullptr,                      "SetHomeMenuAppletIdForDebug"}, | ||||
|     {0x00130000, nullptr,                      "GetPreparationState"}, | ||||
|     {0x00140040, nullptr,                      "SetPreparationState"}, | ||||
|     {0x00150140, nullptr,                      "PrepareToStartApplication"}, | ||||
|     {0x00160040, nullptr,                      "PreloadLibraryApplet"}, | ||||
|     {0x00170040, nullptr,                      "FinishPreloadingLibraryApplet"}, | ||||
|     {0x00180040, nullptr,                      "PrepareToStartLibraryApplet"}, | ||||
|     {0x00190040, nullptr,                      "PrepareToStartSystemApplet"}, | ||||
|     {0x001A0000, nullptr,                      "PrepareToStartNewestHomeMenu"}, | ||||
|     {0x001B00C4, nullptr,                      "StartApplication"}, | ||||
|     {0x001C0000, nullptr,                      "WakeupApplication"}, | ||||
|     {0x001D0000, nullptr,                      "CancelApplication"}, | ||||
|     {0x001E0084, nullptr,                      "StartLibraryApplet"}, | ||||
|     {0x001F0084, nullptr,                      "StartSystemApplet"}, | ||||
|     {0x00200044, nullptr,                      "StartNewestHomeMenu"}, | ||||
|     {0x00210000, nullptr,                      "OrderToCloseApplication"}, | ||||
|     {0x00220040, nullptr,                      "PrepareToCloseApplication"}, | ||||
|     {0x00230040, nullptr,                      "PrepareToJumpToApplication"}, | ||||
|     {0x00240044, nullptr,                      "JumpToApplication"}, | ||||
|     {0x002500C0, nullptr,                      "PrepareToCloseLibraryApplet"}, | ||||
|     {0x00260000, nullptr,                      "PrepareToCloseSystemApplet"}, | ||||
|     {0x00270044, nullptr,                      "CloseApplication"}, | ||||
|     {0x00280044, nullptr,                      "CloseLibraryApplet"}, | ||||
|     {0x00290044, nullptr,                      "CloseSystemApplet"}, | ||||
|     {0x002A0000, nullptr,                      "OrderToCloseSystemApplet"}, | ||||
|     {0x002B0000, nullptr,                      "PrepareToJumpToHomeMenu"}, | ||||
|     {0x002C0044, nullptr,                      "JumpToHomeMenu"}, | ||||
|     {0x002D0000, nullptr,                      "PrepareToLeaveHomeMenu"}, | ||||
|     {0x002E0044, nullptr,                      "LeaveHomeMenu"}, | ||||
|     {0x002F0040, nullptr,                      "PrepareToLeaveResidentApplet"}, | ||||
|     {0x00300044, nullptr,                      "LeaveResidentApplet"}, | ||||
|     {0x00310100, nullptr,                      "PrepareToDoApplicationJump"}, | ||||
|     {0x00320084, nullptr,                      "DoApplicationJump"}, | ||||
|     {0x00330000, nullptr,                      "GetProgramIdOnApplicationJump"}, | ||||
|     {0x00340084, nullptr,                      "SendDeliverArg"}, | ||||
|     {0x00350080, nullptr,                      "ReceiveDeliverArg"}, | ||||
|     {0x00360040, nullptr,                      "LoadSysMenuArg"}, | ||||
|     {0x00370042, nullptr,                      "StoreSysMenuArg"}, | ||||
|     {0x00380040, nullptr,                      "PreloadResidentApplet"}, | ||||
|     {0x00390040, nullptr,                      "PrepareToStartResidentApplet"}, | ||||
|     {0x003A0044, nullptr,                      "StartResidentApplet"}, | ||||
|     {0x003B0040, nullptr,                      "CancelLibraryApplet"}, | ||||
|     {0x003C0042, nullptr,                      "SendDspSleep"}, | ||||
|     {0x003D0042, nullptr,                      "SendDspWakeUp"}, | ||||
|     {0x003E0080, nullptr,                      "ReplySleepQuery"}, | ||||
|     {0x003F0040, nullptr,                      "ReplySleepNotificationComplete"}, | ||||
|     {0x00400042, nullptr,                      "SendCaptureBufferInfo"}, | ||||
|     {0x00410040, nullptr,                      "ReceiveCaptureBufferInfo"}, | ||||
|     {0x00420080, nullptr,                      "SleepSystem"}, | ||||
|     {0x00430040, nullptr,                      "NotifyToWait"}, | ||||
|     {0x00440000, APT_U::GetSharedFont,         "GetSharedFont"}, | ||||
|     {0x00450040, nullptr,                      "GetWirelessRebootInfo"}, | ||||
|     {0x00460104, nullptr,                      "Wrap"}, | ||||
|     {0x00470104, nullptr,                      "Unwrap"}, | ||||
|     {0x00480100, nullptr,                      "GetProgramInfo"}, | ||||
|     {0x00490180, nullptr,                      "Reboot"}, | ||||
|     {0x004A0040, nullptr,                      "GetCaptureInfo"}, | ||||
|     {0x004B00C2, APT_U::AppletUtility,         "AppletUtility"}, | ||||
|     {0x004C0000, nullptr,                      "SetFatalErrDispMode"}, | ||||
|     {0x004D0080, nullptr,                      "GetAppletProgramInfo"}, | ||||
|     {0x004E0000, nullptr,                      "HardwareResetAsync"}, | ||||
|     {0x004F0080, nullptr,                      "SetApplicationCpuTimeLimit"}, | ||||
|     {0x00500040, nullptr,                      "GetApplicationCpuTimeLimit"}, | ||||
| }; | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||
| // Interface class
 | ||||
| 
 | ||||
| Interface::Interface() { | ||||
|     Register(FunctionTable, ARRAY_SIZE(FunctionTable)); | ||||
| } | ||||
| 
 | ||||
| } // namespace
 | ||||
							
								
								
									
										30
									
								
								src/core/hle/service/apt_s.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								src/core/hle/service/apt_s.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,30 @@ | |||
| // Copyright 2015 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 APT_S
 | ||||
| 
 | ||||
| namespace APT_S { | ||||
| 
 | ||||
| // Application and title launching service. These services handle signaling for home/power button as
 | ||||
| // well. Only one session for either APT service can be open at a time, normally processes close the
 | ||||
| // service handle immediately once finished using the service. The commands for APT:U and APT:S are
 | ||||
| // exactly the same, however certain commands are only accessible with APT:S(NS module will call
 | ||||
| // svcBreak when the command isn't accessible). See http://3dbrew.org/wiki/NS#APT_Services.
 | ||||
| 
 | ||||
| /// Interface to "APT:S" service
 | ||||
| class Interface : public Service::Interface { | ||||
| public: | ||||
|     Interface(); | ||||
| 
 | ||||
|     std::string GetPortName() const override { | ||||
|         return "APT:S"; | ||||
|     } | ||||
| }; | ||||
| 
 | ||||
| } // namespace
 | ||||
|  | @ -10,7 +10,7 @@ | |||
| #include "core/hle/kernel/event.h" | ||||
| #include "core/hle/kernel/mutex.h" | ||||
| #include "core/hle/kernel/shared_memory.h" | ||||
| #include "apt_u.h" | ||||
| #include "core/hle/service/apt_u.h" | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||
| // Namespace APT_U
 | ||||
|  |  | |||
							
								
								
									
										98
									
								
								src/core/hle/service/cfg/cfg_s.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								src/core/hle/service/cfg/cfg_s.cpp
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,98 @@ | |||
| // Copyright 2015 Citra Emulator Project
 | ||||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include "common/log.h" | ||||
| #include "core/hle/hle.h" | ||||
| #include "core/hle/service/cfg/cfg.h" | ||||
| #include "core/hle/service/cfg/cfg_s.h" | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||
| // Namespace CFG_S
 | ||||
| 
 | ||||
| namespace CFG_S { | ||||
|      | ||||
| /**
 | ||||
|  * CFG_S::GetConfigInfoBlk2 service function | ||||
|  *  Inputs: | ||||
|  *      0 : 0x00010082 | ||||
|  *      1 : Size | ||||
|  *      2 : Block ID | ||||
|  *      3 : Descriptor for the output buffer | ||||
|  *      4 : Output buffer pointer | ||||
|  *  Outputs: | ||||
|  *      1 : Result of function, 0 on success, otherwise error code | ||||
|  */ | ||||
| static void GetConfigInfoBlk2(Service::Interface* self) { | ||||
|     u32* cmd_buffer = Kernel::GetCommandBuffer(); | ||||
|     u32 size = cmd_buffer[1]; | ||||
|     u32 block_id = cmd_buffer[2]; | ||||
|     u8* data_pointer = Memory::GetPointer(cmd_buffer[4]); | ||||
| 
 | ||||
|     if (data_pointer == nullptr) { | ||||
|         cmd_buffer[1] = -1; // TODO(Subv): Find the right error code
 | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     cmd_buffer[1] = Service::CFG::GetConfigInfoBlock(block_id, size, 0x2, data_pointer).raw; | ||||
| } | ||||
| 
 | ||||
| /**
 | ||||
|  * CFG_S::GetConfigInfoBlk8 service function | ||||
|  *  Inputs: | ||||
|  *      0 : 0x04010082 | ||||
|  *      1 : Size | ||||
|  *      2 : Block ID | ||||
|  *      3 : Descriptor for the output buffer | ||||
|  *      4 : Output buffer pointer | ||||
|  *  Outputs: | ||||
|  *      1 : Result of function, 0 on success, otherwise error code | ||||
|  */ | ||||
| static void GetConfigInfoBlk8(Service::Interface* self) { | ||||
|     u32* cmd_buffer = Kernel::GetCommandBuffer(); | ||||
|     u32 size = cmd_buffer[1]; | ||||
|     u32 block_id = cmd_buffer[2]; | ||||
|     u8* data_pointer = Memory::GetPointer(cmd_buffer[4]); | ||||
| 
 | ||||
|     if (data_pointer == nullptr) { | ||||
|         cmd_buffer[1] = -1; // TODO(Subv): Find the right error code
 | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     cmd_buffer[1] = Service::CFG::GetConfigInfoBlock(block_id, size, 0x8, data_pointer).raw; | ||||
| } | ||||
| 
 | ||||
| /**
 | ||||
|  * CFG_S::UpdateConfigNANDSavegame service function | ||||
|  *  Inputs: | ||||
|  *      0 : 0x04030000 | ||||
|  *  Outputs: | ||||
|  *      1 : Result of function, 0 on success, otherwise error code | ||||
|  */ | ||||
| static void UpdateConfigNANDSavegame(Service::Interface* self) { | ||||
|     u32* cmd_buffer = Kernel::GetCommandBuffer(); | ||||
|     cmd_buffer[1] = Service::CFG::UpdateConfigNANDSavegame().raw; | ||||
| } | ||||
| 
 | ||||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     {0x00010082, GetConfigInfoBlk2,                    "GetConfigInfoBlk2"}, | ||||
|     {0x00020000, nullptr,                              "SecureInfoGetRegion"}, | ||||
|     {0x04010082, GetConfigInfoBlk8,                    "GetConfigInfoBlk8"}, | ||||
|     {0x04020082, nullptr,                              "SetConfigInfoBlk4"}, | ||||
|     {0x04030000, UpdateConfigNANDSavegame,             "UpdateConfigNANDSavegame"}, | ||||
|     {0x04040042, nullptr,                              "GetLocalFriendCodeSeedData"}, | ||||
|     {0x04050000, nullptr,                              "GetLocalFriendCodeSeed"}, | ||||
|     {0x04060000, nullptr,                              "SecureInfoGetRegion"}, | ||||
|     {0x04070000, nullptr,                              "SecureInfoGetByte101"}, | ||||
|     {0x04080042, nullptr,                              "SecureInfoGetSerialNo"}, | ||||
|     {0x04090000, nullptr,                              "UpdateConfigBlk00040003"}, | ||||
| }; | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||
| // Interface class
 | ||||
| 
 | ||||
| Interface::Interface() { | ||||
|     Register(FunctionTable, ARRAY_SIZE(FunctionTable)); | ||||
| } | ||||
| 
 | ||||
| } // namespace
 | ||||
							
								
								
									
										23
									
								
								src/core/hle/service/cfg/cfg_s.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								src/core/hle/service/cfg/cfg_s.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,23 @@ | |||
| // Copyright 2015 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 CFG_S
 | ||||
| 
 | ||||
| namespace CFG_S { | ||||
| 
 | ||||
| class Interface : public Service::Interface { | ||||
| public: | ||||
|     Interface(); | ||||
| 
 | ||||
|     std::string GetPortName() const override { | ||||
|         return "cfg:s"; | ||||
|     } | ||||
| }; | ||||
| 
 | ||||
| } // namespace
 | ||||
							
								
								
									
										56
									
								
								src/core/hle/service/ptm_sysm.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								src/core/hle/service/ptm_sysm.cpp
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,56 @@ | |||
| // Copyright 2015 Citra Emulator Project
 | ||||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include "common/log.h" | ||||
| #include "common/make_unique.h" | ||||
| #include "core/file_sys/archive_extsavedata.h" | ||||
| #include "core/hle/hle.h" | ||||
| #include "core/hle/service/ptm_sysm.h" | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||
| // Namespace PTM_SYSM
 | ||||
| 
 | ||||
| namespace PTM_SYSM { | ||||
| 
 | ||||
| const Interface::FunctionInfo FunctionTable[] = { | ||||
|     {0x040100C0, nullptr, "SetRtcAlarmEx"}, | ||||
|     {0x04020042, nullptr, "ReplySleepQuery"}, | ||||
|     {0x04030042, nullptr, "NotifySleepPreparationComplete"}, | ||||
|     {0x04040102, nullptr, "SetWakeupTrigger"}, | ||||
|     {0x04050000, nullptr, "GetAwakeReason"}, | ||||
|     {0x04060000, nullptr, "RequestSleep"}, | ||||
|     {0x040700C0, nullptr, "ShutdownAsync"}, | ||||
|     {0x04080000, nullptr, "Awake"}, | ||||
|     {0x04090080, nullptr, "RebootAsync"}, | ||||
|     {0x040A0000, nullptr, "CheckNew3DS"}, | ||||
|     {0x08010640, nullptr, "SetInfoLEDPattern"}, | ||||
|     {0x08020040, nullptr, "SetInfoLEDPatternHeader"}, | ||||
|     {0x08030000, nullptr, "GetInfoLEDStatus"}, | ||||
|     {0x08040040, nullptr, "SetBatteryEmptyLEDPattern"}, | ||||
|     {0x08050000, nullptr, "ClearStepHistory"}, | ||||
|     {0x080600C2, nullptr, "SetStepHistory"}, | ||||
|     {0x08070082, nullptr, "GetPlayHistory"}, | ||||
|     {0x08080000, nullptr, "GetPlayHistoryStart"}, | ||||
|     {0x08090000, nullptr, "GetPlayHistoryLength"}, | ||||
|     {0x080A0000, nullptr, "ClearPlayHistory"}, | ||||
|     {0x080B0080, nullptr, "CalcPlayHistoryStart"}, | ||||
|     {0x080C0080, nullptr, "SetUserTime"}, | ||||
|     {0x080D0000, nullptr, "InvalidateSystemTime"}, | ||||
|     {0x080E0140, nullptr, "NotifyPlayEvent"}, | ||||
|     {0x080F0000, nullptr, "IsLegacyPowerOff"}, | ||||
|     {0x08100000, nullptr, "ClearLegacyPowerOff"}, | ||||
|     {0x08110000, nullptr, "GetShellStatus"}, | ||||
|     {0x08120000, nullptr, "IsShutdownByBatteryEmpty"}, | ||||
|     {0x08130000, nullptr, "FormatSavedata"}, | ||||
|     {0x08140000, nullptr, "GetLegacyJumpProhibitedFlag"} | ||||
| }; | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||
| // Interface class
 | ||||
| 
 | ||||
| Interface::Interface() { | ||||
|     Register(FunctionTable, ARRAY_SIZE(FunctionTable)); | ||||
| } | ||||
| 
 | ||||
| } // namespace
 | ||||
							
								
								
									
										23
									
								
								src/core/hle/service/ptm_sysm.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								src/core/hle/service/ptm_sysm.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,23 @@ | |||
| // Copyright 2015 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 PTM_SYSM
 | ||||
| 
 | ||||
| namespace PTM_SYSM { | ||||
| 
 | ||||
| class Interface : public Service::Interface { | ||||
| public: | ||||
|     Interface(); | ||||
| 
 | ||||
|     std::string GetPortName() const override { | ||||
|         return "ptm:sysm"; | ||||
|     } | ||||
| }; | ||||
| 
 | ||||
| } // namespace
 | ||||
|  | @ -11,10 +11,12 @@ | |||
| #include "core/hle/service/am_app.h" | ||||
| #include "core/hle/service/am_net.h" | ||||
| #include "core/hle/service/apt_a.h" | ||||
| #include "core/hle/service/apt_s.h" | ||||
| #include "core/hle/service/apt_u.h" | ||||
| #include "core/hle/service/boss_u.h" | ||||
| #include "core/hle/service/cecd_u.h" | ||||
| #include "core/hle/service/cfg/cfg_i.h" | ||||
| #include "core/hle/service/cfg/cfg_s.h" | ||||
| #include "core/hle/service/cfg/cfg_u.h" | ||||
| #include "core/hle/service/csnd_snd.h" | ||||
| #include "core/hle/service/dsp_dsp.h" | ||||
|  | @ -34,6 +36,7 @@ | |||
| #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_sysm.h" | ||||
| #include "core/hle/service/soc_u.h" | ||||
| #include "core/hle/service/srv.h" | ||||
| #include "core/hle/service/ssl_c.h" | ||||
|  | @ -85,10 +88,12 @@ void Init() { | |||
|     g_manager->AddService(new AM_APP::Interface); | ||||
|     g_manager->AddService(new AM_NET::Interface); | ||||
|     g_manager->AddService(new APT_A::Interface); | ||||
|     g_manager->AddService(new APT_S::Interface); | ||||
|     g_manager->AddService(new APT_U::Interface); | ||||
|     g_manager->AddService(new BOSS_U::Interface); | ||||
|     g_manager->AddService(new CECD_U::Interface); | ||||
|     g_manager->AddService(new CFG_I::Interface); | ||||
|     g_manager->AddService(new CFG_S::Interface); | ||||
|     g_manager->AddService(new CFG_U::Interface); | ||||
|     g_manager->AddService(new CSND_SND::Interface); | ||||
|     g_manager->AddService(new DSP_DSP::Interface); | ||||
|  | @ -108,6 +113,7 @@ void Init() { | |||
|     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_SYSM::Interface); | ||||
|     g_manager->AddService(new SOC_U::Interface); | ||||
|     g_manager->AddService(new SSL_C::Interface); | ||||
|     g_manager->AddService(new Y2R_U::Interface); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue