From 4162b349b2be40e377699efa83b577bc06afa4e3 Mon Sep 17 00:00:00 2001 From: Robbbert Date: Fri, 7 Jun 2019 01:24:23 +1000 Subject: (nw) spc1000 : fixed cassette save --- src/mame/drivers/spc1000.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/mame/drivers/spc1000.cpp b/src/mame/drivers/spc1000.cpp index aeffb799bdb..1d6d586ac93 100644 --- a/src/mame/drivers/spc1000.cpp +++ b/src/mame/drivers/spc1000.cpp @@ -222,11 +222,14 @@ WRITE8_MEMBER( spc1000_state::cass_w ) { attotime time = machine().scheduler().time(); m_cass->output(BIT(data, 0) ? -1.0 : 1.0); - if (BIT(data, 1) && (time - m_time).as_attoseconds()/ATTOSECONDS_PER_MICROSECOND > 100) + if (BIT(data, 1) || (((time - m_time).as_attoseconds()/ATTOSECONDS_PER_MILLISECOND) < 1000)) { - m_cass->change_state((m_cass->get_state() & CASSETTE_MASK_MOTOR) == CASSETTE_MOTOR_DISABLED ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED, CASSETTE_MASK_MOTOR); + m_cass->change_state(CASSETTE_MOTOR_ENABLED, CASSETTE_MASK_MOTOR); m_time = time; } + else + m_cass->change_state(CASSETTE_MOTOR_DISABLED, CASSETTE_MASK_MOTOR); + m_centronics->write_strobe(BIT(data, 2) ? true : false); } -- cgit v1.2.3