From 9274b3f14d43a6f4ce309c30118f13872832e979 Mon Sep 17 00:00:00 2001 From: brian218 Date: Mon, 5 Dec 2022 15:24:53 +0800 Subject: [PATCH] USIO: Fixed "Card Reader Not Connected" Error --- rpcs3/Emu/Io/usio.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/rpcs3/Emu/Io/usio.cpp b/rpcs3/Emu/Io/usio.cpp index fa7a22ae6f..9b1cea3e63 100644 --- a/rpcs3/Emu/Io/usio.cpp +++ b/rpcs3/Emu/Io/usio.cpp @@ -394,15 +394,22 @@ void usb_device_usio::usio_read(u8 channel, u16 reg, u16 size) { // Get Buffer, rarely gives a reply on real HW // First U16 seems to be a timestamp of sort - // Purpose seems related to BananaPass + // Purpose seems related to connectivity check q_replies.push({0x7E, 0xE4, 0x00, 0x00, 0x74, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}); break; } case 0x0080: { - // Purpose unknown + // Card reader check - 1 ensure(size == 0x10); - q_replies.push({0x02, 0x03, 0x00, 0x00, 0xFF, 0x0F, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x10, 0x00}); + q_replies.push({0x02, 0x03, 0x06, 0x00, 0xFF, 0x0F, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x10, 0x00}); + break; + } + case 0x7000: + { + // Card reader check - 2 + ensure(size == 0x06); + // No data returned break; } case 0x1080: