From d93b5a2cf4aa48553018dbf80cefcdd3c97b7969 Mon Sep 17 00:00:00 2001 From: Angelo Salese Date: Mon, 13 Feb 2023 09:52:56 +0100 Subject: [PATCH] machine/amigafdc.cpp: simplify dsksync behaviour, makes swordsod and itcame to boot without hacks at very least (#10895) --- src/devices/machine/amigafdc.cpp | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/src/devices/machine/amigafdc.cpp b/src/devices/machine/amigafdc.cpp index 15694a95f49..3f8cb887901 100644 --- a/src/devices/machine/amigafdc.cpp +++ b/src/devices/machine/amigafdc.cpp @@ -289,25 +289,11 @@ void amiga_fdc_device::live_run(const attotime &limit) if(dma_state == DMA_WAIT_START) { cur_live.bit_counter = 0; - if(!(dsklen & 0x3fff)) + if(dsklen & 0x3fff) + dma_state = DMA_RUNNING_BYTE_0; + else dma_done(); - else if(dsklen & 0x4000) { - dskbyt |= 0x2000; - cur_live.bit_counter = 0; - dma_value = dma_read(); - - } else { - LOGSYNC("%s: DSKSYNC on %06x %d\n", this->tag(), dskpt, dma_state); - dma_write(dsksync); - } - - } else if(dma_state != DMA_IDLE) { - LOGSYNC("%s: DSKSYNC on %06x %d\n", this->tag(), dskpt, dma_state); - dma_write(dsksync); - cur_live.bit_counter = 0; - - } else if(cur_live.bit_counter != 8) - cur_live.bit_counter = 0; + } } dskbyt |= 0x1000;