diff --git a/src/mess/drivers/crvision.c b/src/mess/drivers/crvision.c index 817a23ce7d3..b6c165f8fcc 100644 --- a/src/mess/drivers/crvision.c +++ b/src/mess/drivers/crvision.c @@ -669,12 +669,13 @@ WRITE_LINE_MEMBER( laser2001_state::pia_ca2_w ) WRITE_LINE_MEMBER(laser2001_state::write_centronics_busy) { m_centronics_busy = state; - m_pia->cb1_w(m_psg->ready_r() && m_centronics_busy); + m_pia->cb1_w(pia_cb1_r()); } READ_LINE_MEMBER( laser2001_state::pia_cb1_r ) { - return m_psg->ready_r() && m_centronics_busy; + /* actually this is a diode-AND (READY & _BUSY), but ctronics.c returns busy status if no device is mounted -> Manager won't boot */ + return m_psg->ready_r() && (!m_centronics_busy || m_pia->ca2_output_z()); } WRITE_LINE_MEMBER( laser2001_state::pia_cb2_w )