Merge pull request #264 from wheremyfoodat/amiibi

Add NFC::CommunicationGetResult
This commit is contained in:
wheremyfoodat 2023-09-08 17:25:58 +03:00 committed by GitHub
commit 59265a2203
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -29,6 +29,7 @@ void NFCService::reset() {
void NFCService::handleSyncRequest(u32 messagePointer) {
const u32 command = mem.read32(messagePointer);
switch (command) {
case NFCCommands::CommunicationGetResult: communicationGetResult(messagePointer); break;
case NFCCommands::CommunicationGetStatus: communicationGetStatus(messagePointer); break;
case NFCCommands::Initialize: initialize(messagePointer); break;
case NFCCommands::GetTagInRangeEvent: getTagInRangeEvent(messagePointer); break;
@ -119,6 +120,21 @@ void NFCService::communicationGetStatus(u32 messagePointer) {
mem.write8(messagePointer + 8, static_cast<u32>(adapterStatus));
}
void NFCService::communicationGetResult(u32 messagePointer) {
log("NFC::CommunicationGetResult");
if (!initialized) {
Helpers::warn("NFC::CommunicationGetResult: Old 3DS NFC Adapter not initialized\n");
}
mem.write32(messagePointer, IPC::responseHeader(0x12, 2, 0));
mem.write32(messagePointer + 4, Result::Success);
// On N3DS: This always writes 0 here
// On O3DS with the NFC adapter: Returns a result code for NFC communication
mem.write32(messagePointer + 8, 0);
}
void NFCService::startCommunication(u32 messagePointer) {
log("NFC::StartCommunication\n");
// adapterStatus = Old3DSAdapterStatus::Active;