summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Dirk Best <mail@dirk-best.de>2019-02-23 11:02:33 +0100
committer Dirk Best <mail@dirk-best.de>2019-02-23 20:41:17 +0100
commit2d3c2599a69419ea78783ade1e2784d6d51e951f (patch)
tree12501207bfbd59db3bd472db935e9aaf98627608 /src
parent6d4ba81467d94a838fb132aa9a0c5bdbffc6fd6d (diff)
i8089: Fix 16-bit target DMA transfers without DRQ
Diffstat (limited to 'src')
-rw-r--r--src/devices/cpu/i8089/i8089_channel.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/devices/cpu/i8089/i8089_channel.cpp b/src/devices/cpu/i8089/i8089_channel.cpp
index 8d58a2aa4cc..02bb12daa8c 100644
--- a/src/devices/cpu/i8089/i8089_channel.cpp
+++ b/src/devices/cpu/i8089/i8089_channel.cpp
@@ -374,11 +374,10 @@ int i8089_channel_device::execute_run()
// do we need to read another byte?
if (BIT(m_r[PSW].w, 1) && !BIT(m_r[PSW].w, 0) && !m_store_hi)
{
+ m_store_hi = true;
+
if (CC_SYNC == 0x02)
- {
- m_store_hi = true;
m_dma_state = DMA_WAIT_FOR_DEST_DRQ;
- }
else
m_dma_state = DMA_STORE_BYTE_HIGH;
}