summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2021-01-23 14:14:46 +0100
committer Olivier Galibert <galibert@pobox.com>2021-01-23 14:17:17 +0100
commit098fea5f56719297cce4579510cf38d0198d2372 (patch)
treea3c002af6be0dc51bf370f9faef817d5962533e4 /src/devices/machine
parent2efc649c73c5c3bb80042bf8671640b9666f1b8f (diff)
iwm: motor/devsel is a little weird, hope this works
Diffstat (limited to 'src/devices/machine')
-rw-r--r--src/devices/machine/iwm.cpp10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/devices/machine/iwm.cpp b/src/devices/machine/iwm.cpp
index 982371840ff..9c9525fc9a2 100644
--- a/src/devices/machine/iwm.cpp
+++ b/src/devices/machine/iwm.cpp
@@ -111,7 +111,7 @@ void iwm_device::set_floppy(floppy_image_device *floppy)
if(m_floppy && !m_disable_mon)
m_floppy->mon_w(true);
m_floppy = floppy;
- if(m_active && !m_disable_mon)
+ if(m_floppy && !m_disable_mon)
m_floppy->mon_w(false);
update_phases();
}
@@ -168,21 +168,15 @@ u8 iwm_device::control(int offset, u8 data)
changed ^= m_control | (m_phases & 0xf);
if(changed & 0x20)
- m_devsel_cb(m_disable_mon && !(m_control & 0x10) ? 0 : m_control & 0x20 ? 2 : 1);
+ m_devsel_cb(m_control & 0x20 ? 2 : 1);
if(changed & 0x10) {
if(m_control & 0x10) {
m_active = MODE_ACTIVE;
- if(m_floppy && !m_disable_mon)
- m_floppy->mon_w(false);
m_status |= 0x20;
} else {
if(m_mode & 0x04) {
m_active = MODE_IDLE;
- if(m_floppy && !m_disable_mon) {
- m_floppy->mon_w(true);
- m_floppy->seek_phase_w(0);
- }
m_status &= ~0x20;
} else {
m_active = MODE_DELAY;