diff --git a/include/services/boss.hpp b/include/services/boss.hpp index 182f74ec..4a5db7c5 100644 --- a/include/services/boss.hpp +++ b/include/services/boss.hpp @@ -15,6 +15,7 @@ class BOSSService { void getStorageEntryInfo(u32 messagePointer); // Unknown what this is, name taken from Citra void getTaskIdList(u32 messagePointer); void receiveProperty(u32 messagePointer); + void registerStorageEntry(u32 messagePointer); void unregisterStorage(u32 messagePointer); s8 optoutFlag; diff --git a/src/core/services/boss.cpp b/src/core/services/boss.cpp index afce9f1a..992f4e2e 100644 --- a/src/core/services/boss.cpp +++ b/src/core/services/boss.cpp @@ -7,6 +7,7 @@ namespace BOSSCommands { GetOptoutFlag = 0x000A0000, GetTaskIdList = 0x000E0000, ReceiveProperty = 0x00160082, + RegisterStorageEntry = 0x002F0140, GetStorageEntryInfo = 0x00300000 }; } @@ -29,6 +30,7 @@ void BOSSService::handleSyncRequest(u32 messagePointer) { case BOSSCommands::GetTaskIdList: getTaskIdList(messagePointer); break; case BOSSCommands::InitializeSession: initializeSession(messagePointer); break; case BOSSCommands::ReceiveProperty: receiveProperty(messagePointer); break; + case BOSSCommands::RegisterStorageEntry: registerStorageEntry(messagePointer); break; case BOSSCommands::UnregisterStorage: unregisterStorage(messagePointer); break; default: Helpers::panic("BOSS service requested. Command: %08X\n", command); } @@ -67,6 +69,11 @@ void BOSSService::receiveProperty(u32 messagePointer) { mem.write32(messagePointer + 8, 0); // Read size } +void BOSSService::registerStorageEntry(u32 messagePointer) { + log("BOSS::RegisterStorageEntry (stubbed)\n"); + mem.write32(messagePointer + 4, Result::Success); +} + void BOSSService::unregisterStorage(u32 messagePointer) { log("BOSS::UnregisterStorage (stubbed)\n"); mem.write32(messagePointer + 4, Result::Success);