summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/smartboard.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/smartboard.cpp')
-rw-r--r--src/mame/machine/smartboard.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/mame/machine/smartboard.cpp b/src/mame/machine/smartboard.cpp
index eff768d1003..e4cef490e4f 100644
--- a/src/mame/machine/smartboard.cpp
+++ b/src/mame/machine/smartboard.cpp
@@ -278,10 +278,10 @@ u8 tasc_sb30_device::read()
void tasc_sb30_device::write(u8 data)
{
- if (BIT(data, 3) && !BIT(m_data, 3))
+ if (!BIT(data, 3) && BIT(m_data, 3))
m_position = 0;
- if (BIT(data, 6) && !BIT(m_data, 6))
+ if (!BIT(data, 6) && BIT(m_data, 6))
{
if (m_position < 0x40)
{
@@ -289,17 +289,16 @@ void tasc_sb30_device::write(u8 data)
int y = m_position % 8;
m_out_leds[y][x] = BIT(data, 7);
}
+
+ m_shift = 0;
}
if (!BIT(data, 7) && BIT(m_data, 7))
{
m_position++;
- if (m_position >= 0x40)
- {
+
+ if (m_position == 0x40)
m_shift++;
- if (m_position & 1)
- m_shift = 0;
- }
}
m_data = data;