summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2019-06-07 01:24:23 +1000
committer Robbbert <Robbbert@users.noreply.github.com>2019-06-07 01:24:23 +1000
commit4162b349b2be40e377699efa83b577bc06afa4e3 (patch)
treecf7dfbbf443ffebed2fd3ef887e1841437c17a8c
parentd0d95fb05b402e3f84055ae5f73ca05232b0dba4 (diff)
(nw) spc1000 : fixed cassette save
-rw-r--r--src/mame/drivers/spc1000.cpp7
1 files 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);
}