abc80x: Fixed the ABC 850/852/856 hard disk drives. [Curt Coder]

This commit is contained in:
Curt Coder 2020-04-16 20:42:08 +03:00
parent cb48319a86
commit 29faba1902
3 changed files with 10 additions and 7 deletions

View File

@ -204,7 +204,7 @@ WRITE_LINE_MEMBER( luxor_55_21056_device::write_sasi_bsy )
if (m_sasi_bsy)
{
m_sasibus->write_sel(!m_sasi_bsy);
m_sasibus->write_sel(0);
}
}
@ -228,7 +228,8 @@ WRITE_LINE_MEMBER( luxor_55_21056_device::write_sasi_req )
if (m_sasi_req)
{
m_sasibus->write_ack(!m_sasi_req);
m_req = 0;
m_sasibus->write_ack(!m_req);
}
}
@ -511,8 +512,8 @@ READ8_MEMBER( luxor_55_21056_device::sasi_status_r )
data |= m_rdy ^ STAT_DIR;
data |= !m_sasi_req << 1;
data |= !m_sasi_io << 2;
data |= (m_req || m_sasi_req) << 1;
data |= m_sasi_io << 2;
data |= !m_sasi_cd << 3;
data |= !m_sasi_msg << 4;
data |= !m_sasi_bsy << 5;
@ -567,7 +568,8 @@ READ8_MEMBER( luxor_55_21056_device::sasi_data_r )
{
uint8_t data = m_sasi_data_in->read();
m_sasibus->write_ack(!m_sasi_req);
m_req = !m_sasi_req;
m_sasibus->write_ack(!m_req);
return data;
}
@ -586,7 +588,8 @@ WRITE8_MEMBER( luxor_55_21056_device::sasi_data_w )
m_sasi_data_out->write(m_sasi_data);
}
m_sasibus->write_ack(!m_sasi_req);
m_req = !m_sasi_req;
m_sasibus->write_ack(!m_req);
}

View File

@ -89,6 +89,7 @@ private:
int m_cs;
int m_rdy;
int m_req;
int m_sasi_req;
int m_sasi_io;
int m_sasi_cd;

View File

@ -141,7 +141,6 @@ Notes:
TODO:
- abc850 is broken
- abc806 30K banking
- cassette
- abc800 video card bus