summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorVincent Pelletier <plr.vincent@gmail.com>2022-09-17 00:11:49 +0000
committerVincent Pelletier <plr.vincent@gmail.com>2022-09-28 22:29:50 +0000
commitfbf9d6ea17fda1d50f359f6d9f912d8fc081c3e4 (patch)
treee63cdd42b975c92ea6fede8b93c4dcb97fa76b7a /Source/Core
parentd9cd819a76d4f1c171c47cdc81dc2ef7c0adb07f (diff)
SI: Ignore non-standard setGameID command
Avoids a panic when loading recent swiss. Not enough to have it run, unfortunately.
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/HW/SI/SI_Device.h1
-rw-r--r--Source/Core/Core/HW/SI/SI_DeviceGCController.cpp8
2 files changed, 9 insertions, 0 deletions
diff --git a/Source/Core/Core/HW/SI/SI_Device.h b/Source/Core/Core/HW/SI/SI_Device.h
index d109432b90..2ae8de0d23 100644
--- a/Source/Core/Core/HW/SI/SI_Device.h
+++ b/Source/Core/Core/HW/SI/SI_Device.h
@@ -47,6 +47,7 @@ enum class EBufferCommands : u8
CMD_STATUS = 0x00,
CMD_READ_GBA = 0x14,
CMD_WRITE_GBA = 0x15,
+ CMD_SET_GAME_ID = 0x1d,
CMD_DIRECT = 0x40,
CMD_ORIGIN = 0x41,
CMD_RECALIBRATE = 0x42,
diff --git a/Source/Core/Core/HW/SI/SI_DeviceGCController.cpp b/Source/Core/Core/HW/SI/SI_DeviceGCController.cpp
index 2672f70f63..3bd11c09d1 100644
--- a/Source/Core/Core/HW/SI/SI_DeviceGCController.cpp
+++ b/Source/Core/Core/HW/SI/SI_DeviceGCController.cpp
@@ -105,6 +105,14 @@ int CSIDevice_GCController::RunBuffer(u8* buffer, int request_length)
return sizeof(SOrigin);
}
+ // GameID packet, no response needed, nothing to do
+ // On real hardware, this is used to configure the BlueRetro controler
+ // adapter, while licensed accessories ignore this command.
+ case EBufferCommands::CMD_SET_GAME_ID:
+ {
+ return 0;
+ }
+
// DEFAULT
default:
{