diff --git a/src/mame/drivers/pocketc.cpp b/src/mame/drivers/pocketc.cpp index d35e3ffc747..50ba0cb0d7a 100644 --- a/src/mame/drivers/pocketc.cpp +++ b/src/mame/drivers/pocketc.cpp @@ -4,6 +4,10 @@ Sharp pocket computers PC1401/PC1403 PeT mess@utanet.at May 2000 + + pc1403 and pc1403h can be convinced to work if you hit Enter once or twice + as soon as it is started. + ******************************************************************************/ #include "emu.h" diff --git a/src/mame/machine/pc1251.cpp b/src/mame/machine/pc1251.cpp index 7abc31af973..6f79918e5ed 100644 --- a/src/mame/machine/pc1251.cpp +++ b/src/mame/machine/pc1251.cpp @@ -30,9 +30,11 @@ READ8_MEMBER(pc1251_state::in_a_r) data |= 0x02; // problem with the deg lcd } - for (int bit = 0, key = 1; bit < 3; bit++, key++) - if (BIT(m_outb, bit)) - data |= m_keys[key]->read(); + if (BIT(m_outb, 1)) + data |= m_keys[1]->read(); + + if (BIT(m_outb, 2)) + data |= m_keys[2]->read(); for (int bit = 0, key = 3; bit < 7; bit++, key++) if (BIT(m_outa, bit)) diff --git a/src/mame/machine/pc1401.cpp b/src/mame/machine/pc1401.cpp index e29bc1e1ce3..e9f595cacd5 100644 --- a/src/mame/machine/pc1401.cpp +++ b/src/mame/machine/pc1401.cpp @@ -36,7 +36,7 @@ READ8_MEMBER(pc1401_state::in_a_r) int data = m_outa; for (int bit = 0; bit < 5; bit++) - if (BIT(m_outb, 0)) + if (BIT(m_outb, bit)) data |= m_keys[bit]->read(); if (m_outb & 0x20)