summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
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
commitcc8b7c6f11ac5df293d4fa7c119344481776eb13 (patch)
tree5ad6265e68086e9291935661de9d71f3d1eb59fd
parent1a165ff7d349ea5f77b9523abcb6c311dc6fd2c0 (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.c8
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()