From 0c9c97e5ea40208bcb6991ebec34ccc1d76ad1e7 Mon Sep 17 00:00:00 2001 From: pippo2931 Date: Wed, 23 Nov 2016 19:57:56 -0800 Subject: Bravely Default/Second stuck #1822 (#2188) * Bravely Default/Second stuck #1822 CancelLibraryApplet stub * Log parameter. * Taking care of comments * Sync with 3DBrew * White space ? * lower case --- src/core/hle/service/apt/apt.cpp | 9 +++++++++ src/core/hle/service/apt/apt.h | 11 +++++++++++ src/core/hle/service/apt/apt_a.cpp | 2 +- src/core/hle/service/apt/apt_u.cpp | 2 +- 4 files changed, 22 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/core/hle/service/apt/apt.cpp b/src/core/hle/service/apt/apt.cpp index c7198293e..31e5e07b2 100644 --- a/src/core/hle/service/apt/apt.cpp +++ b/src/core/hle/service/apt/apt.cpp @@ -396,6 +396,15 @@ void StartLibraryApplet(Service::Interface* self) { cmd_buff[1] = applet->Start(parameter).raw; } +void CancelLibraryApplet(Service::Interface* self) { + u32* cmd_buff = Kernel::GetCommandBuffer(); + u32 exiting = cmd_buff[1] & 0xFF; + + cmd_buff[1] = 1; // TODO: Find the return code meaning + + LOG_WARNING(Service_APT, "(STUBBED) called exiting=%u", exiting); +} + void SetScreenCapPostPermission(Service::Interface* self) { u32* cmd_buff = Kernel::GetCommandBuffer(); diff --git a/src/core/hle/service/apt/apt.h b/src/core/hle/service/apt/apt.h index cbcba96a5..44dbd8757 100644 --- a/src/core/hle/service/apt/apt.h +++ b/src/core/hle/service/apt/apt.h @@ -391,6 +391,17 @@ void PreloadLibraryApplet(Service::Interface* self); */ void StartLibraryApplet(Service::Interface* self); +/** + * APT::CancelLibraryApplet service function + * Inputs: + * 0 : Command header [0x003B0040] + * 1 : u8, Application exiting (0 = not exiting, 1 = exiting) + * Outputs: + * 0 : Header code + * 1 : Result code + */ +void CancelLibraryApplet(Service::Interface* self); + /** * APT::GetStartupArgument service function * Inputs: diff --git a/src/core/hle/service/apt/apt_a.cpp b/src/core/hle/service/apt/apt_a.cpp index f27ad91b7..a7a0c8a41 100644 --- a/src/core/hle/service/apt/apt_a.cpp +++ b/src/core/hle/service/apt/apt_a.cpp @@ -25,7 +25,7 @@ const Interface::FunctionInfo FunctionTable[] = { {0x00160040, PreloadLibraryApplet, "PreloadLibraryApplet"}, {0x00180040, PrepareToStartLibraryApplet, "PrepareToStartLibraryApplet"}, {0x001E0084, StartLibraryApplet, "StartLibraryApplet"}, - {0x003B0040, nullptr, "CancelLibraryApplet?"}, + {0x003B0040, CancelLibraryApplet, "CancelLibraryApplet"}, {0x003E0080, nullptr, "ReplySleepQuery"}, {0x00430040, NotifyToWait, "NotifyToWait?"}, {0x00440000, GetSharedFont, "GetSharedFont?"}, diff --git a/src/core/hle/service/apt/apt_u.cpp b/src/core/hle/service/apt/apt_u.cpp index d6ad42e21..a731c39f6 100644 --- a/src/core/hle/service/apt/apt_u.cpp +++ b/src/core/hle/service/apt/apt_u.cpp @@ -67,7 +67,7 @@ const Interface::FunctionInfo FunctionTable[] = { {0x00380040, nullptr, "PreloadResidentApplet"}, {0x00390040, nullptr, "PrepareToStartResidentApplet"}, {0x003A0044, nullptr, "StartResidentApplet"}, - {0x003B0040, nullptr, "CancelLibraryApplet"}, + {0x003B0040, CancelLibraryApplet, "CancelLibraryApplet"}, {0x003C0042, nullptr, "SendDspSleep"}, {0x003D0042, nullptr, "SendDspWakeUp"}, {0x003E0080, nullptr, "ReplySleepQuery"}, -- cgit v1.2.3