Add SetLedForceOff

This commit is contained in:
Nomi 2023-09-26 02:32:08 +02:00
parent ba98f9f117
commit c306a96bd7
2 changed files with 12 additions and 0 deletions

View file

@ -11,6 +11,7 @@ class LCDService {
MAKE_LOG_FUNCTION(log, gspLCDLogger)
// Service commands
void setLedForceOff(u32 messagePointer);
public:
LCDService(Memory& mem) : mem(mem) {}

View file

@ -3,6 +3,7 @@
namespace LCDCommands {
enum : u32 {
SetLedForceOff = 0x00130040,
};
}
@ -11,6 +12,16 @@ void LCDService::reset() {}
void LCDService::handleSyncRequest(u32 messagePointer) {
const u32 command = mem.read32(messagePointer);
switch (command) {
case LCDCommands::SetLedForceOff: setLedForceOff(messagePointer); break;
default: Helpers::panic("LCD service requested. Command: %08X\n", command);
}
}
void LCDService::setLedForceOff(u32 messagePointer) {
const u8 state = mem.read8(messagePointer + 4);
log("LCD::SetLedForceOff (state = %X)\n", state);
mem.write32(messagePointer, IPC::responseHeader(0x13, 1, 0));
mem.write32(messagePointer + 4, Result::Success);
}