diff options
| author | 2014-11-11 00:32:18 -0500 | |
|---|---|---|
| committer | 2014-11-11 23:51:54 -0500 | |
| commit | 9fb549cb845e275b8f2a3a69368ee363dca9dc20 (patch) | |
| tree | 1f6a39d44c2ca350f6b3c6d9700e8b9d84368aa0 | |
| parent | APT_U: Set a valid parameter buffer size in GlanceParameter. (diff) | |
| download | yuzu-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.cpp | 30 |
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 | */ | ||
| 158 | void 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 | |||
| 147 | const Interface::FunctionInfo FunctionTable[] = { | 175 | const 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"}, |