From 6c983b16d325aecec6e0fb811f5165caed16a116 Mon Sep 17 00:00:00 2001 From: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com> Date: Mon, 24 Jul 2023 23:57:17 +0300 Subject: [PATCH] [AC] Stub GetLastErrorCode --- include/services/ac.hpp | 1 + src/core/services/ac.cpp | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/include/services/ac.hpp b/include/services/ac.hpp index e9aa8920..42129662 100644 --- a/include/services/ac.hpp +++ b/include/services/ac.hpp @@ -11,6 +11,7 @@ class ACService { MAKE_LOG_FUNCTION(log, acLogger) // Service commands + void getLastErrorCode(u32 messagePointer); void setClientVersion(u32 messagePointer); public: diff --git a/src/core/services/ac.cpp b/src/core/services/ac.cpp index 4c533e05..68868dbf 100644 --- a/src/core/services/ac.cpp +++ b/src/core/services/ac.cpp @@ -3,7 +3,8 @@ namespace ACCommands { enum : u32 { - SetClientVersion = 0x00400042 + GetLastErrorCode = 0x000A0000, + SetClientVersion = 0x00400042, }; } @@ -12,11 +13,20 @@ void ACService::reset() {} void ACService::handleSyncRequest(u32 messagePointer) { const u32 command = mem.read32(messagePointer); switch (command) { + case ACCommands::GetLastErrorCode: getLastErrorCode(messagePointer); break; case ACCommands::SetClientVersion: setClientVersion(messagePointer); break; default: Helpers::panic("AC service requested. Command: %08X\n", command); } } +void ACService::getLastErrorCode(u32 messagePointer) { + log("AC::GetLastErrorCode (stubbed)\n"); + + mem.write32(messagePointer, IPC::responseHeader(0x0A, 2, 0)); + mem.write32(messagePointer + 4, Result::Success); + mem.write32(messagePointer + 8, 0); // Hopefully this means no error? +} + void ACService::setClientVersion(u32 messagePointer) { u32 version = mem.read32(messagePointer + 4); log("AC::SetClientVersion (version = %d)\n", version);