From: Toni Wilen Date: Thu, 1 Mar 2018 15:50:10 +0000 (+0200) Subject: Check that new DSKLEN value does not have WRITE bit set. X-Git-Tag: 4000~158 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=4effc5e56d77df4918a2d078657206004e13f7ac;p=francis%2Fwinuae.git Check that new DSKLEN value does not have WRITE bit set. --- 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;