From cc8b7c6f11ac5df293d4fa7c119344481776eb13 Mon Sep 17 00:00:00 2001 From: yz70s Date: Tue, 27 Oct 2015 23:44:43 +0100 Subject: [PATCH] atahle.c: call fill_buffer using a timer only when ultra dma is enabled (nw) Otherwise some drivers have problems. --- src/devices/machine/atahle.c | 8 ++++++-- 1 file 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()