From 7972f7fb8b53a65636e5e0c69a42f2245e57d01a Mon Sep 17 00:00:00 2001 From: Dirk Best Date: Wed, 2 Aug 2017 23:26:13 +0200 Subject: [PATCH] Coco FDC: Fix MT06640 (possibly also MT06639) --- src/devices/bus/coco/coco_fdc.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/devices/bus/coco/coco_fdc.cpp b/src/devices/bus/coco/coco_fdc.cpp index f56bc047c5f..89a9d8bd548 100644 --- a/src/devices/bus/coco/coco_fdc.cpp +++ b/src/devices/bus/coco/coco_fdc.cpp @@ -273,11 +273,12 @@ void coco_fdc_device_base::dskreg_w(uint8_t data) else if (data & 0x40) drive = 3; + // the motor is always turned on or off for all drives for (int i = 0; i < 4; i++) { floppy_image_device *floppy = m_floppies[i]->get_device(); if (floppy) - floppy->mon_w(((i == drive) && (data & 0x08)) ? CLEAR_LINE : ASSERT_LINE); + floppy->mon_w(BIT(data, 3) ? 0 : 1); } head = ((data & 0x40) && (drive != 3)) ? 1 : 0;