summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan Woyak <jordan.woyak@gmail.com>2026-02-16 18:20:49 -0600
committerJordan Woyak <jordan.woyak@gmail.com>2026-02-16 18:59:57 -0600
commit9674b1fa8f7c28b572ef6966eac8b98a947f0837 (patch)
treef1812349de928c90cfa0e07040f7baad108ec155
parent23f5d096ae750ec1f87a05026f8279f28221692f (diff)
MagneticCardReader: Automatically insert a blank card when Command_A0_Clean is received.
-rw-r--r--Source/Core/Core/HW/MagCard/MagneticCardReader.cpp14
1 files 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();
}