diff options
Diffstat (limited to 'src/mess/machine/kc_d004.c')
-rw-r--r-- | src/mess/machine/kc_d004.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/mess/machine/kc_d004.c b/src/mess/machine/kc_d004.c index e72bd603d2a..83810272830 100644 --- a/src/mess/machine/kc_d004.c +++ b/src/mess/machine/kc_d004.c @@ -454,7 +454,16 @@ READ8_MEMBER(kc_d004_gide_device::gide_r) data_shift = 8; if (io_addr == 0x06 || io_addr == 0x07 || io_addr > 0x08 || (io_addr == 0x08 && !m_lh)) - m_ide_data = m_ide->ide_bus_r(ide_cs, io_addr & 0x07); + { + if (ide_cs == 0 ) + { + m_ide_data = m_ide->read_cs0(space, io_addr & 0x07, 0xffff); + } + else + { + m_ide_data = m_ide->read_cs1(space, io_addr & 0x07, 0xffff); + } + } data = (m_ide_data >> data_shift) & 0xff; } @@ -494,7 +503,16 @@ WRITE8_MEMBER(kc_d004_gide_device::gide_w) m_ide_data = (data << data_shift) | (m_ide_data & (0xff00 >> data_shift)); if (io_addr == 0x06 || io_addr == 0x07 || io_addr > 0x08 || (io_addr == 0x08 && m_lh)) - m_ide->ide_bus_w(ide_cs, io_addr & 0x07, m_ide_data); + { + if (ide_cs == 0) + { + m_ide->write_cs0(space, io_addr & 0x07, m_ide_data, 0xffff); + } + else + { + m_ide->write_cs1(space, io_addr & 0x07, m_ide_data, 0xffff); + } + } } m_lh = (io_addr == 0x08) ? !m_lh : ((io_addr > 0x08) ? 0 : m_lh); |