diff options
author | Sebastian Valle <subv2112@gmail.com> | 2016-12-11 20:40:44 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-11 20:40:44 +0100 |
commit | 77fd4f42376c115d0082dbc8fed6b3ed588f37bf (patch) | |
tree | 2b3f2fc4e58a29e76a6130a70260b2fecfd0c6a7 | |
parent | citra-qt: Make constructors explicit where applicable (diff) | |
parent | APT::GetStartupArgument: force clear startup argument (diff) | |
download | yuzu-77fd4f42376c115d0082dbc8fed6b3ed588f37bf.tar yuzu-77fd4f42376c115d0082dbc8fed6b3ed588f37bf.tar.gz yuzu-77fd4f42376c115d0082dbc8fed6b3ed588f37bf.tar.bz2 yuzu-77fd4f42376c115d0082dbc8fed6b3ed588f37bf.tar.lz yuzu-77fd4f42376c115d0082dbc8fed6b3ed588f37bf.tar.xz yuzu-77fd4f42376c115d0082dbc8fed6b3ed588f37bf.tar.zst yuzu-77fd4f42376c115d0082dbc8fed6b3ed588f37bf.zip |
-rw-r--r-- | src/core/hle/service/apt/apt.cpp | 12 | ||||
-rw-r--r-- | src/core/hle/service/apt/apt.h | 4 |
2 files changed, 11 insertions, 5 deletions
diff --git a/src/core/hle/service/apt/apt.cpp b/src/core/hle/service/apt/apt.cpp index 31e5e07b2..615fe31ea 100644 --- a/src/core/hle/service/apt/apt.cpp +++ b/src/core/hle/service/apt/apt.cpp @@ -458,12 +458,16 @@ void GetStartupArgument(Service::Interface* self) { return; } - LOG_WARNING(Service_APT, "(stubbed) called startup_argument_type=%u , parameter_size=0x%08x , " - "parameter_value=0x%08x", - startup_argument_type, parameter_size, Memory::Read32(cmd_buff[41])); + u32 addr = cmd_buff[65]; + if (addr && parameter_size) { + Memory::ZeroBlock(addr, parameter_size); + } + + LOG_WARNING(Service_APT, "(stubbed) called startup_argument_type=%u , parameter_size=0x%08x", + startup_argument_type, parameter_size); cmd_buff[1] = RESULT_SUCCESS.raw; - cmd_buff[2] = (parameter_size > 0) ? 1 : 0; + cmd_buff[2] = 0; } void CheckNew3DSApp(Service::Interface* self) { diff --git a/src/core/hle/service/apt/apt.h b/src/core/hle/service/apt/apt.h index 44dbd8757..e6a8be870 100644 --- a/src/core/hle/service/apt/apt.h +++ b/src/core/hle/service/apt/apt.h @@ -407,9 +407,11 @@ void CancelLibraryApplet(Service::Interface* self); * Inputs: * 1 : Parameter Size (capped to 0x300) * 2 : StartupArgumentType + * 65 : Output buffer for startup argument * Outputs: * 0 : Return header - * 1 : u8, Exists (0 = does not exist, 1 = exists) + * 1 : Result of function, 0 on success, otherwise error code + * 2 : u8, Exists (0 = does not exist, 1 = exists) */ void GetStartupArgument(Service::Interface* self); |