diff options
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 |
commit | 4162b349b2be40e377699efa83b577bc06afa4e3 (patch) | |
tree | cf7dfbbf443ffebed2fd3ef887e1841437c17a8c | |
parent | d0d95fb05b402e3f84055ae5f73ca05232b0dba4 (diff) |
(nw) spc1000 : fixed cassette save
-rw-r--r-- | src/mame/drivers/spc1000.cpp | 7 |
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); } |