diff options
author | yz70s <yz70s@users.noreply.github.com> | 2015-10-27 23:44:43 +0100 |
---|---|---|
committer | yz70s <yz70s@users.noreply.github.com> | 2015-10-27 23:44:43 +0100 |
commit | cc8b7c6f11ac5df293d4fa7c119344481776eb13 (patch) | |
tree | 5ad6265e68086e9291935661de9d71f3d1eb59fd | |
parent | 1a165ff7d349ea5f77b9523abcb6c311dc6fd2c0 (diff) |
atahle.c: call fill_buffer using a timer only when ultra dma is enabled (nw)
Otherwise some drivers have problems.
-rw-r--r-- | src/devices/machine/atahle.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/devices/machine/atahle.c b/src/devices/machine/atahle.c index 850ab39d34f..4bab8c790f5 100644 --- a/src/devices/machine/atahle.c +++ b/src/devices/machine/atahle.c @@ -470,8 +470,12 @@ void ata_hle_device::read_buffer_empty() if ((multi_word_dma_mode() >= 0) || (ultra_dma_mode() >= 0)) set_dmarq(CLEAR_LINE); - m_buffer_empty_timer->enable(true); - m_buffer_empty_timer->adjust(attotime::zero); + if (ultra_dma_mode() >= 0) { + m_buffer_empty_timer->enable(true); + m_buffer_empty_timer->adjust(attotime::zero); + } + else + fill_buffer(); } void ata_hle_device::write_buffer_full() |