From 4effc5e56d77df4918a2d078657206004e13f7ac Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Thu, 1 Mar 2018 17:50:10 +0200 Subject: [PATCH] Check that new DSKLEN value does not have WRITE bit set. --- disk.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/disk.cpp b/disk.cpp index a5b8ffc3..de4ff072 100644 --- a/disk.cpp +++ b/disk.cpp @@ -3886,7 +3886,7 @@ void DSKLEN (uae_u16 v, int hpos) dsklength2 = dsklength = dsklen & 0x3fff; if ((v & 0x8000) && (prev & 0x8000)) { - if (dskdmaen == DSKDMA_READ) { + if (dskdmaen == DSKDMA_READ && !(v & 0x4000)) { // update only currently active DMA length, don't change DMA state write_log(_T("warning: Disk read DMA length rewrite %d -> %d. (%04x) PC=%08x\n"), prev & 0x3fff, v & 0x3fff, v, M68K_GETPC); return; -- 2.47.3