aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar bunnei <bunneidev@gmail.com>2014-12-03 09:58:52 -0500
committerGravatar bunnei <bunneidev@gmail.com>2014-12-03 09:58:52 -0500
commite2e56c7bacc80434f0b8a6bdaaca478053f7a17b (patch)
tree91fcd01ff7fc978ca4ee26e29dceb8f07c50a3c5 /src
parentd5be332d21a24776aca917e5fcf747eed32ae543 (diff)
parent4cdaac44d300531eaffa29cb826183aaf905ee6f (diff)
Merge pull request #219 from Subv/ptm
PTM_U: Implemented the GetShellState function.
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/ptm_u.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/core/hle/service/ptm_u.cpp b/src/core/hle/service/ptm_u.cpp
index d9122dbb..1ce32ee4 100644
--- a/src/core/hle/service/ptm_u.cpp
+++ b/src/core/hle/service/ptm_u.cpp
@@ -11,13 +11,30 @@
namespace PTM_U {
+static bool shell_open = true;
+
+/*
+ * PTM_User::GetShellState service function.
+ * Outputs:
+ * 1 : Result of function, 0 on success, otherwise error code
+ * 2 : Whether the 3DS's physical shell casing is open (1) or closed (0)
+ */
+static void GetShellState(Service::Interface* self) {
+ u32* cmd_buff = Service::GetCommandBuffer();
+
+ cmd_buff[1] = 0;
+ cmd_buff[2] = shell_open ? 1 : 0;
+
+ DEBUG_LOG(KERNEL, "PTM_U::GetShellState called");
+}
+
const Interface::FunctionInfo FunctionTable[] = {
{0x00010002, nullptr, "RegisterAlarmClient"},
{0x00020080, nullptr, "SetRtcAlarm"},
{0x00030000, nullptr, "GetRtcAlarm"},
{0x00040000, nullptr, "CancelRtcAlarm"},
{0x00050000, nullptr, "GetAdapterState"},
- {0x00060000, nullptr, "GetShellState"},
+ {0x00060000, GetShellState, "GetShellState"},
{0x00070000, nullptr, "GetBatteryLevel"},
{0x00080000, nullptr, "GetBatteryChargeState"},
{0x00090000, nullptr, "GetPedometerState"},