diff options
author | cracyc <cracyc@users.noreply.github.com> | 2016-06-11 08:30:57 -0500 |
---|---|---|
committer | cracyc <cracyc@users.noreply.github.com> | 2016-06-11 08:30:57 -0500 |
commit | 96e08f7ae979368922902bc6efc93239f0ef2914 (patch) | |
tree | 06564f3839122f0ca1e73da13b930251a11ec61b | |
parent | a5bd5a08c8b41e6a54040bfacb47539ca819bf0f (diff) |
wd_fdc: suppress index pulse irq when busy. (nw)
--
Did bunch of testing, found no regressions but nothing that even enables the index pulse irq other than the rainbow.
-rw-r--r-- | src/devices/machine/wd_fdc.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/devices/machine/wd_fdc.cpp b/src/devices/machine/wd_fdc.cpp index 84fcbf5ceb8..3db1b1113f6 100644 --- a/src/devices/machine/wd_fdc.cpp +++ b/src/devices/machine/wd_fdc.cpp @@ -243,7 +243,7 @@ void wd_fdc_t::command_end() void wd_fdc_t::seek_start(int state) { - if (TRACE_COMMAND) logerror("seek %d (track=%d)\n", data, track); + if (TRACE_COMMAND) logerror("seek %d %x (track=%d)\n", state, data, track); main_state = state; status &= ~(S_CRC|S_RNF|S_SPIN); if(head_control) { @@ -1273,12 +1273,6 @@ void wd_fdc_t::index_callback(floppy_image_device *floppy, int state) return; } - if(!intrq && (intrq_cond & I_IDX)) { - intrq = true; - if(!intrq_cb.isnull()) - intrq_cb(intrq); - } - switch(sub_state) { case IDLE: if(motor_control || head_control) { @@ -1300,6 +1294,12 @@ void wd_fdc_t::index_callback(floppy_image_device *floppy, int state) status &= ~S_HLD; // todo: should get this value from the drive } } + + if(!intrq && (intrq_cond & I_IDX)) { + intrq = true; + if(!intrq_cb.isnull()) + intrq_cb(intrq); + } break; case SPINUP: |