wd_fdc: Increase HLD idle timeout to 15 revolutions except for FD1771 and FD1781

This commit is contained in:
AJR 2020-02-20 18:52:36 -05:00
parent c953c990b5
commit 5eca3782e3
2 changed files with 25 additions and 1 deletions

View File

@ -1339,7 +1339,7 @@ void wd_fdc_device_base::index_callback(floppy_image_device *floppy, int state)
floppy->mon_w(1);
}
if (head_control && motor_timeout >= 3)
if (head_control && motor_timeout >= hld_timeout)
{
hld = false;
@ -2511,6 +2511,7 @@ fd1771_device::fd1771_device(const machine_config &mconfig, const char *tag, dev
side_control = false;
side_compare = false;
head_control = true;
hld_timeout = 3;
motor_control = false;
ready_hooked = true;
}
@ -2535,6 +2536,7 @@ fd1781_device::fd1781_device(const machine_config &mconfig, const char *tag, dev
side_control = false;
side_compare = false;
head_control = true;
hld_timeout = 3;
motor_control = false;
ready_hooked = true;
}
@ -2561,6 +2563,7 @@ fd1791_device::fd1791_device(const machine_config &mconfig, const char *tag, dev
side_control = false;
side_compare = true;
head_control = true;
hld_timeout = 15;
motor_control = false;
ready_hooked = true;
}
@ -2576,6 +2579,7 @@ fd1792_device::fd1792_device(const machine_config &mconfig, const char *tag, dev
side_control = false;
side_compare = true;
head_control = true;
hld_timeout = 15;
motor_control = false;
ready_hooked = true;
}
@ -2591,6 +2595,7 @@ fd1793_device::fd1793_device(const machine_config &mconfig, const char *tag, dev
side_control = false;
side_compare = true;
head_control = true;
hld_timeout = 15;
motor_control = false;
ready_hooked = true;
}
@ -2606,6 +2611,7 @@ kr1818vg93_device::kr1818vg93_device(const machine_config &mconfig, const char *
side_control = false;
side_compare = true;
head_control = true;
hld_timeout = 15;
motor_control = false;
ready_hooked = true;
}
@ -2621,6 +2627,7 @@ fd1794_device::fd1794_device(const machine_config &mconfig, const char *tag, dev
side_control = false;
side_compare = true;
head_control = true;
hld_timeout = 15;
motor_control = false;
ready_hooked = true;
}
@ -2636,6 +2643,7 @@ fd1795_device::fd1795_device(const machine_config &mconfig, const char *tag, dev
side_control = true;
side_compare = false;
head_control = true;
hld_timeout = 15;
motor_control = false;
ready_hooked = true;
}
@ -2659,6 +2667,7 @@ fd1797_device::fd1797_device(const machine_config &mconfig, const char *tag, dev
side_control = true;
side_compare = false;
head_control = true;
hld_timeout = 15;
motor_control = false;
ready_hooked = true;
}
@ -2682,6 +2691,7 @@ mb8866_device::mb8866_device(const machine_config &mconfig, const char *tag, dev
side_control = false;
side_compare = true;
head_control = true;
hld_timeout = 15;
motor_control = false;
ready_hooked = true;
}
@ -2697,6 +2707,7 @@ mb8876_device::mb8876_device(const machine_config &mconfig, const char *tag, dev
side_control = false;
side_compare = true;
head_control = true;
hld_timeout = 15;
motor_control = false;
ready_hooked = true;
}
@ -2712,6 +2723,7 @@ mb8877_device::mb8877_device(const machine_config &mconfig, const char *tag, dev
side_control = false;
side_compare = true;
head_control = true;
hld_timeout = 15;
motor_control = false;
ready_hooked = true;
}
@ -2727,6 +2739,7 @@ fd1761_device::fd1761_device(const machine_config &mconfig, const char *tag, dev
side_control = false;
side_compare = true;
head_control = true;
hld_timeout = 15;
motor_control = false;
ready_hooked = true;
}
@ -2742,6 +2755,7 @@ fd1763_device::fd1763_device(const machine_config &mconfig, const char *tag, dev
side_control = false;
side_compare = true;
head_control = true;
hld_timeout = 15;
motor_control = false;
ready_hooked = true;
}
@ -2757,6 +2771,7 @@ fd1765_device::fd1765_device(const machine_config &mconfig, const char *tag, dev
side_control = true;
side_compare = false;
head_control = true;
hld_timeout = 15;
motor_control = false;
ready_hooked = true;
}
@ -2780,6 +2795,7 @@ fd1767_device::fd1767_device(const machine_config &mconfig, const char *tag, dev
side_control = true;
side_compare = false;
head_control = true;
hld_timeout = 15;
motor_control = false;
ready_hooked = true;
}
@ -2803,6 +2819,7 @@ wd2791_device::wd2791_device(const machine_config &mconfig, const char *tag, dev
side_control = false;
side_compare = true;
head_control = true;
hld_timeout = 15;
motor_control = false;
ready_hooked = true;
}
@ -2818,6 +2835,7 @@ wd2793_device::wd2793_device(const machine_config &mconfig, const char *tag, dev
side_control = false;
side_compare = true;
head_control = true;
hld_timeout = 15;
motor_control = false;
ready_hooked = true;
}
@ -2833,6 +2851,7 @@ wd2795_device::wd2795_device(const machine_config &mconfig, const char *tag, dev
side_control = true;
side_compare = false;
head_control = true;
hld_timeout = 15;
motor_control = false;
ready_hooked = true;
}
@ -2856,6 +2875,7 @@ wd2797_device::wd2797_device(const machine_config &mconfig, const char *tag, dev
side_control = true;
side_compare = false;
head_control = true;
hld_timeout = 15;
motor_control = false;
ready_hooked = true;
}
@ -2879,6 +2899,7 @@ wd1770_device::wd1770_device(const machine_config &mconfig, const char *tag, dev
side_control = false;
side_compare = false;
head_control = false;
hld_timeout = 0;
motor_control = true;
ready_hooked = false;
}
@ -2896,6 +2917,7 @@ wd1772_device::wd1772_device(const machine_config &mconfig, const char *tag, dev
side_control = false;
side_compare = false;
head_control = false;
hld_timeout = 0;
motor_control = true;
ready_hooked = false;
@ -2921,6 +2943,7 @@ wd1773_device::wd1773_device(const machine_config &mconfig, const char *tag, dev
side_control = false;
side_compare = true;
head_control = false;
hld_timeout = 0;
motor_control = false;
ready_hooked = true;
}

View File

@ -102,6 +102,7 @@ protected:
bool side_control;
bool side_compare;
bool head_control;
int hld_timeout;
bool motor_control;
bool ready_hooked;
int clock_ratio;