From 977cb0403c9c804ffd302bc3ecddce23cd5d3a0a Mon Sep 17 00:00:00 2001 From: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com> Date: Sun, 20 Aug 2023 03:08:34 +0300 Subject: [PATCH] Stub DLC::GetPatchTitleInfo to fail --- include/services/am.hpp | 1 + src/core/services/am.cpp | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/include/services/am.hpp b/include/services/am.hpp index d961734f..672909ff 100644 --- a/include/services/am.hpp +++ b/include/services/am.hpp @@ -12,6 +12,7 @@ class AMService { // Service commands void getDLCTitleInfo(u32 messagePointer); + void getPatchTitleInfo(u32 messagePointer); void listTitleInfo(u32 messagePointer); public: diff --git a/src/core/services/am.cpp b/src/core/services/am.cpp index 5e2956d8..32e6a0b3 100644 --- a/src/core/services/am.cpp +++ b/src/core/services/am.cpp @@ -4,7 +4,8 @@ namespace AMCommands { enum : u32 { GetDLCTitleInfo = 0x10050084, - ListTitleInfo = 0x10070102 + ListTitleInfo = 0x10070102, + GetPatchTitleInfo = 0x100D0084, }; } @@ -13,6 +14,7 @@ void AMService::reset() {} void AMService::handleSyncRequest(u32 messagePointer) { const u32 command = mem.read32(messagePointer); switch (command) { + case AMCommands::GetPatchTitleInfo: getPatchTitleInfo(messagePointer); break; case AMCommands::GetDLCTitleInfo: getDLCTitleInfo(messagePointer); break; case AMCommands::ListTitleInfo: listTitleInfo(messagePointer); break; default: Helpers::panic("AM service requested. Command: %08X\n", command); @@ -42,7 +44,16 @@ void AMService::listTitleInfo(u32 messagePointer) { void AMService::getDLCTitleInfo(u32 messagePointer) { log("AM::GetDLCTitleInfo (stubbed to fail)\n"); + Helpers::warn("Unimplemented AM::GetDLCTitleInfo. Will need to be implemented to support DLC\n"); mem.write32(messagePointer, IPC::responseHeader(0x1005, 1, 4)); - mem.write32(messagePointer + 4, -1); + mem.write32(messagePointer + 4, Result::FailurePlaceholder); +} + +void AMService::getPatchTitleInfo(u32 messagePointer) { + log("AM::GetPatchTitleInfo (stubbed to fail)\n"); + Helpers::warn("Unimplemented AM::GetDLCTitleInfo. Will need to be implemented to support updates\n"); + + mem.write32(messagePointer, IPC::responseHeader(0x100D, 1, 4)); + mem.write32(messagePointer + 4, Result::FailurePlaceholder); } \ No newline at end of file