From 9674b1fa8f7c28b572ef6966eac8b98a947f0837 Mon Sep 17 00:00:00 2001 From: Jordan Woyak Date: Mon, 16 Feb 2026 18:20:49 -0600 Subject: [PATCH] MagneticCardReader: Automatically insert a blank card when Command_A0_Clean is received. --- Source/Core/Core/HW/MagCard/MagneticCardReader.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/Source/Core/Core/HW/MagCard/MagneticCardReader.cpp b/Source/Core/Core/HW/MagCard/MagneticCardReader.cpp index e84ef48a98..abb93359e1 100644 --- a/Source/Core/Core/HW/MagCard/MagneticCardReader.cpp +++ b/Source/Core/Core/HW/MagCard/MagneticCardReader.cpp @@ -409,24 +409,22 @@ void MagneticCardReader::Command_A0_Clean() switch (m_current_step) { case 2: - if (!IsCardPresent()) + // TODO: How is this command supposed to behave if a card is already in the machine ? + if (!IsCardLoaded()) { - m_status.s = S::WAITING_FOR_CARD; - --m_current_step; - break; + NOTICE_LOG_FMT(SERIALINTERFACE_CARD, "Inserting cleaning card."); + Core::DisplayMessage("Inserting cleaning card", 4000); + MoveCard(R::THERMAL_HEAD); } break; case 3: - MoveCard(R::THERMAL_HEAD); - break; - case 4: EjectCard(); break; default: break; } - if (m_current_step >= 4) + if (m_current_step >= 3) FinishCommand(); }