mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-04-08 07:05:40 +12:00
[BOSS] Stub SendProperty
This commit is contained in:
parent
68ef15419f
commit
02632afb75
2 changed files with 17 additions and 1 deletions
|
@ -24,6 +24,7 @@ class BOSSService {
|
||||||
void receiveProperty(u32 messagePointer);
|
void receiveProperty(u32 messagePointer);
|
||||||
void registerNewArrivalEvent(u32 messagePointer);
|
void registerNewArrivalEvent(u32 messagePointer);
|
||||||
void registerStorageEntry(u32 messagePointer);
|
void registerStorageEntry(u32 messagePointer);
|
||||||
|
void sendProperty(u32 messagePointer);
|
||||||
void unregisterStorage(u32 messagePointer);
|
void unregisterStorage(u32 messagePointer);
|
||||||
void unregisterTask(u32 messagePointer);
|
void unregisterTask(u32 messagePointer);
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@ namespace BOSSCommands {
|
||||||
UnregisterTask = 0x000C0082,
|
UnregisterTask = 0x000C0082,
|
||||||
GetTaskIdList = 0x000E0000,
|
GetTaskIdList = 0x000E0000,
|
||||||
GetNsDataIdList = 0x00100102,
|
GetNsDataIdList = 0x00100102,
|
||||||
|
SendProperty = 0x00140082,
|
||||||
ReceiveProperty = 0x00160082,
|
ReceiveProperty = 0x00160082,
|
||||||
CancelTask = 0x001E0042,
|
CancelTask = 0x001E0042,
|
||||||
GetTaskState = 0x00200082,
|
GetTaskState = 0x00200082,
|
||||||
|
@ -41,6 +42,7 @@ void BOSSService::handleSyncRequest(u32 messagePointer) {
|
||||||
case BOSSCommands::ReceiveProperty: receiveProperty(messagePointer); break;
|
case BOSSCommands::ReceiveProperty: receiveProperty(messagePointer); break;
|
||||||
case BOSSCommands::RegisterNewArrivalEvent: registerNewArrivalEvent(messagePointer); break;
|
case BOSSCommands::RegisterNewArrivalEvent: registerNewArrivalEvent(messagePointer); break;
|
||||||
case BOSSCommands::RegisterStorageEntry: registerStorageEntry(messagePointer); break;
|
case BOSSCommands::RegisterStorageEntry: registerStorageEntry(messagePointer); break;
|
||||||
|
case BOSSCommands::SendProperty: sendProperty(messagePointer); break;
|
||||||
case BOSSCommands::UnregisterStorage: unregisterStorage(messagePointer); break;
|
case BOSSCommands::UnregisterStorage: unregisterStorage(messagePointer); break;
|
||||||
case BOSSCommands::UnregisterTask: unregisterTask(messagePointer); break;
|
case BOSSCommands::UnregisterTask: unregisterTask(messagePointer); break;
|
||||||
default: Helpers::panic("BOSS service requested. Command: %08X\n", command);
|
default: Helpers::panic("BOSS service requested. Command: %08X\n", command);
|
||||||
|
@ -113,12 +115,25 @@ void BOSSService::getStorageEntryInfo(u32 messagePointer) {
|
||||||
mem.write16(messagePointer + 12, 0); // s16, unknown meaning
|
mem.write16(messagePointer + 12, 0); // s16, unknown meaning
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BOSSService::sendProperty(u32 messagePointer) {
|
||||||
|
const u32 id = mem.read32(messagePointer + 4);
|
||||||
|
const u32 size = mem.read32(messagePointer + 8);
|
||||||
|
const u32 ptr = mem.read32(messagePointer + 16);
|
||||||
|
|
||||||
|
log("BOSS::SendProperty (id = %d, size = %08X, ptr = %08X) (stubbed)\n", id, size, ptr);
|
||||||
|
mem.write32(messagePointer, IPC::responseHeader(0x14, 1, 2));
|
||||||
|
mem.write32(messagePointer + 4, Result::Success);
|
||||||
|
mem.write32(messagePointer + 8, 0); // Read size
|
||||||
|
// TODO: Should this do anything else?
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void BOSSService::receiveProperty(u32 messagePointer) {
|
void BOSSService::receiveProperty(u32 messagePointer) {
|
||||||
const u32 id = mem.read32(messagePointer + 4);
|
const u32 id = mem.read32(messagePointer + 4);
|
||||||
const u32 size = mem.read32(messagePointer + 8);
|
const u32 size = mem.read32(messagePointer + 8);
|
||||||
const u32 ptr = mem.read32(messagePointer + 16);
|
const u32 ptr = mem.read32(messagePointer + 16);
|
||||||
|
|
||||||
log("BOSS::ReceiveProperty(stubbed) (id = %d, size = %08X, ptr = %08X)\n", id, size, ptr);
|
log("BOSS::ReceiveProperty (id = %d, size = %08X, ptr = %08X) (stubbed)\n", id, size, ptr);
|
||||||
mem.write32(messagePointer, IPC::responseHeader(0x16, 2, 2));
|
mem.write32(messagePointer, IPC::responseHeader(0x16, 2, 2));
|
||||||
mem.write32(messagePointer + 4, Result::Success);
|
mem.write32(messagePointer + 4, Result::Success);
|
||||||
mem.write32(messagePointer + 8, 0); // Read size
|
mem.write32(messagePointer + 8, 0); // Read size
|
||||||
|
|
Loading…
Add table
Reference in a new issue