aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/ptm
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2017-04-06 14:44:52 -0400
committerGitHub <noreply@github.com>2017-04-06 14:44:52 -0400
commit26979cd6efb2c8e3870742f2ae5b1e93ec21782d (patch)
treeb689d7d51adabd07b69f84e9bf2ae7474240e12f /src/core/hle/service/ptm
parent37b7df9c59caa9245129171dbeeb5434e0191966 (diff)
parente60b433efa779f34ba5040ce5e048f9a90437291 (diff)
Merge pull request #2533 from Lectem/apt_ipchelper
IpcHelper enhancement and APT refactor
Diffstat (limited to 'src/core/hle/service/ptm')
-rw-r--r--src/core/hle/service/ptm/ptm.cpp12
-rw-r--r--src/core/hle/service/ptm/ptm.h2
2 files changed, 10 insertions, 4 deletions
diff --git a/src/core/hle/service/ptm/ptm.cpp b/src/core/hle/service/ptm/ptm.cpp
index 2542f8303..e373ed47a 100644
--- a/src/core/hle/service/ptm/ptm.cpp
+++ b/src/core/hle/service/ptm/ptm.cpp
@@ -92,8 +92,7 @@ void GetSoftwareClosedFlag(Service::Interface* self) {
LOG_WARNING(Service_PTM, "(STUBBED) called");
}
-void CheckNew3DS(Service::Interface* self) {
- u32* cmd_buff = Kernel::GetCommandBuffer();
+void CheckNew3DS(IPC::RequestBuilder& rb) {
const bool is_new_3ds = Settings::values.is_new_3ds;
if (is_new_3ds) {
@@ -101,12 +100,17 @@ void CheckNew3DS(Service::Interface* self) {
"settings. Citra does not fully support New 3DS emulation yet!");
}
- cmd_buff[1] = RESULT_SUCCESS.raw;
- cmd_buff[2] = is_new_3ds ? 1 : 0;
+ rb.Push(RESULT_SUCCESS);
+ rb.Push(is_new_3ds);
LOG_WARNING(Service_PTM, "(STUBBED) called isNew3DS = 0x%08x", static_cast<u32>(is_new_3ds));
}
+void CheckNew3DS(Service::Interface* self) {
+ IPC::RequestBuilder rb(Kernel::GetCommandBuffer(), 0x40A, 0, 0); // 0x040A0000
+ CheckNew3DS(rb);
+}
+
void Init() {
AddService(new PTM_Gets);
AddService(new PTM_Play);
diff --git a/src/core/hle/service/ptm/ptm.h b/src/core/hle/service/ptm/ptm.h
index a1a628012..683fb445b 100644
--- a/src/core/hle/service/ptm/ptm.h
+++ b/src/core/hle/service/ptm/ptm.h
@@ -5,6 +5,7 @@
#pragma once
#include "common/common_types.h"
+#include "core/hle/ipc_helpers.h"
namespace Service {
@@ -97,6 +98,7 @@ void GetSoftwareClosedFlag(Interface* self);
* 2: u8 output: 0 = Old3DS, 1 = New3DS.
*/
void CheckNew3DS(Interface* self);
+void CheckNew3DS(IPC::RequestBuilder& rb);
/// Initialize the PTM service
void Init();