summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar bunnei2014-11-11 00:32:18 -0500
committerGravatar bunnei2014-11-11 23:51:54 -0500
commit9fb549cb845e275b8f2a3a69368ee363dca9dc20 (patch)
tree1f6a39d44c2ca350f6b3c6d9700e8b9d84368aa0
parentAPT_U: Set a valid parameter buffer size in GlanceParameter. (diff)
downloadyuzu-9fb549cb845e275b8f2a3a69368ee363dca9dc20.tar.gz
yuzu-9fb549cb845e275b8f2a3a69368ee363dca9dc20.tar.xz
yuzu-9fb549cb845e275b8f2a3a69368ee363dca9dc20.zip
APT_U: Added stub for function AppletUtility.
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/apt_u.cpp30
1 files changed, 29 insertions, 1 deletions
diff --git a/src/core/hle/service/apt_u.cpp b/src/core/hle/service/apt_u.cpp
index 9cac9aef9..4f41ec5f4 100644
--- a/src/core/hle/service/apt_u.cpp
+++ b/src/core/hle/service/apt_u.cpp
@@ -144,6 +144,34 @@ void GlanceParameter(Service::Interface* self) {
144 WARN_LOG(KERNEL, "(STUBBED) called app_id=0x%08X, buffer_size=0x%08X", app_id, buffer_size); 144 WARN_LOG(KERNEL, "(STUBBED) called app_id=0x%08X, buffer_size=0x%08X", app_id, buffer_size);
145} 145}
146 146
147/**
148 * APT_U::AppletUtility service function
149 * Inputs:
150 * 1 : Unknown, but clearly used for something
151 * 2 : Buffer 1 size (purpose is unknown)
152 * 3 : Buffer 2 size (purpose is unknown)
153 * 5 : Buffer 1 address (purpose is unknown)
154 * 65 : Buffer 2 address (purpose is unknown)
155 * Outputs:
156 * 1 : Result of function, 0 on success, otherwise error code
157 */
158void AppletUtility(Service::Interface* self) {
159 u32* cmd_buff = Service::GetCommandBuffer();
160
161 // These are from 3dbrew - I'm not really sure what they're used for.
162 u32 unk = cmd_buff[1];
163 u32 buffer1_size = cmd_buff[2];
164 u32 buffer2_size = cmd_buff[3];
165 u32 buffer1_addr = cmd_buff[5];
166 u32 buffer2_addr = cmd_buff[65];
167
168 cmd_buff[1] = 0; // No error
169
170 WARN_LOG(KERNEL, "(STUBBED) called unk=0x%08X, buffer1_size=0x%08x, buffer2_size=0x%08x, "
171 "buffer1_addr=0x%08x, buffer2_addr=0x%08x", unk, buffer1_size, buffer2_size,
172 buffer1_addr, buffer2_addr);
173}
174
147const Interface::FunctionInfo FunctionTable[] = { 175const Interface::FunctionInfo FunctionTable[] = {
148 {0x00010040, GetLockHandle, "GetLockHandle"}, 176 {0x00010040, GetLockHandle, "GetLockHandle"},
149 {0x00020080, Initialize, "Initialize"}, 177 {0x00020080, Initialize, "Initialize"},
@@ -219,7 +247,7 @@ const Interface::FunctionInfo FunctionTable[] = {
219 {0x00480100, nullptr, "GetProgramInfo"}, 247 {0x00480100, nullptr, "GetProgramInfo"},
220 {0x00490180, nullptr, "Reboot"}, 248 {0x00490180, nullptr, "Reboot"},
221 {0x004A0040, nullptr, "GetCaptureInfo"}, 249 {0x004A0040, nullptr, "GetCaptureInfo"},
222 {0x004B00C2, nullptr, "AppletUtility"}, 250 {0x004B00C2, AppletUtility, "AppletUtility"},
223 {0x004C0000, nullptr, "SetFatalErrDispMode"}, 251 {0x004C0000, nullptr, "SetFatalErrDispMode"},
224 {0x004D0080, nullptr, "GetAppletProgramInfo"}, 252 {0x004D0080, nullptr, "GetAppletProgramInfo"},
225 {0x004E0000, nullptr, "HardwareResetAsync"}, 253 {0x004E0000, nullptr, "HardwareResetAsync"},