|
|
|
@ -2386,7 +2386,7 @@ void wd_fdc_digital_t::digital_pll_t::commit(floppy_image_device *floppy, const
|
|
|
|
|
write_position = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fd1771_t::fd1771_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1771, "FD1771", tag, owner, clock, "fd1771", __FILE__)
|
|
|
|
|
fd1771_t::fd1771_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1771, "FD1771 FDC", tag, owner, clock, "fd1771", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
const static int fd1771_step_times[4] = { 12000, 12000, 20000, 40000 };
|
|
|
|
|
|
|
|
|
@ -2411,7 +2411,7 @@ int fd1771_t::calc_sector_size(UINT8 size, UINT8 command) const
|
|
|
|
|
return size ? size << 4 : 4096;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fd1781_t::fd1781_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1781, "FD1781", tag, owner, clock, "fd1781", __FILE__)
|
|
|
|
|
fd1781_t::fd1781_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1781, "FD1781 FDC", tag, owner, clock, "fd1781", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
const static int fd1781_step_times[4] = { 6000, 12000, 20000, 40000 };
|
|
|
|
|
|
|
|
|
@ -2439,7 +2439,7 @@ int fd1781_t::calc_sector_size(UINT8 size, UINT8 command) const
|
|
|
|
|
const int wd_fdc_t::fd179x_step_times[4] = { 6000, 12000, 20000, 30000 };
|
|
|
|
|
const int wd_fdc_t::fd176x_step_times[4] = { 12000, 24000, 40000, 60000 };
|
|
|
|
|
|
|
|
|
|
fd1791_t::fd1791_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1791, "FD1791", tag, owner, clock, "fd1791", __FILE__)
|
|
|
|
|
fd1791_t::fd1791_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1791, "FD1791 FDC", tag, owner, clock, "fd1791", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = fd179x_step_times;
|
|
|
|
|
delay_register_commit = 4;
|
|
|
|
@ -2455,7 +2455,7 @@ fd1791_t::fd1791_t(const machine_config &mconfig, const char *tag, device_t *own
|
|
|
|
|
nonsticky_immint = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fd1792_t::fd1792_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1792, "FD1792", tag, owner, clock, "fd1792", __FILE__)
|
|
|
|
|
fd1792_t::fd1792_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1792, "FD1792 FDC", tag, owner, clock, "fd1792", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = fd179x_step_times;
|
|
|
|
|
delay_register_commit = 4;
|
|
|
|
@ -2471,7 +2471,7 @@ fd1792_t::fd1792_t(const machine_config &mconfig, const char *tag, device_t *own
|
|
|
|
|
nonsticky_immint = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fd1793_t::fd1793_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1793, "FD1793", tag, owner, clock, "fd1793", __FILE__)
|
|
|
|
|
fd1793_t::fd1793_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1793, "FD1793 FDC", tag, owner, clock, "fd1793", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = fd179x_step_times;
|
|
|
|
|
delay_register_commit = 4;
|
|
|
|
@ -2487,7 +2487,7 @@ fd1793_t::fd1793_t(const machine_config &mconfig, const char *tag, device_t *own
|
|
|
|
|
nonsticky_immint = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
kr1818vg93_t::kr1818vg93_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, KR1818VG93, "KR1818VG93", tag, owner, clock, "kr1818vg93", __FILE__)
|
|
|
|
|
kr1818vg93_t::kr1818vg93_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, KR1818VG93, "KR1818VG93 FDC", tag, owner, clock, "kr1818vg93", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = fd179x_step_times;
|
|
|
|
|
delay_register_commit = 4;
|
|
|
|
@ -2503,7 +2503,7 @@ kr1818vg93_t::kr1818vg93_t(const machine_config &mconfig, const char *tag, devic
|
|
|
|
|
nonsticky_immint = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fd1794_t::fd1794_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1794, "FD1794", tag, owner, clock, "fd1794", __FILE__)
|
|
|
|
|
fd1794_t::fd1794_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1794, "FD1794 FDC", tag, owner, clock, "fd1794", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = fd179x_step_times;
|
|
|
|
|
delay_register_commit = 4;
|
|
|
|
@ -2519,7 +2519,7 @@ fd1794_t::fd1794_t(const machine_config &mconfig, const char *tag, device_t *own
|
|
|
|
|
nonsticky_immint = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fd1795_t::fd1795_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1795, "FD1795", tag, owner, clock, "fd1795", __FILE__)
|
|
|
|
|
fd1795_t::fd1795_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1795, "FD1795 FDC", tag, owner, clock, "fd1795", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = fd179x_step_times;
|
|
|
|
|
delay_register_commit = 4;
|
|
|
|
@ -2543,7 +2543,7 @@ int fd1795_t::calc_sector_size(UINT8 size, UINT8 command) const
|
|
|
|
|
return 128 << ((size + 1) & 3);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fd1797_t::fd1797_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1797, "FD1797", tag, owner, clock, "fd1797", __FILE__)
|
|
|
|
|
fd1797_t::fd1797_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1797, "FD1797 FDC", tag, owner, clock, "fd1797", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = fd179x_step_times;
|
|
|
|
|
delay_register_commit = 4;
|
|
|
|
@ -2567,7 +2567,7 @@ int fd1797_t::calc_sector_size(UINT8 size, UINT8 command) const
|
|
|
|
|
return 128 << ((size + 1) & 3);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
mb8866_t::mb8866_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, MB8866, "MB8866", tag, owner, clock, "mb8866", __FILE__)
|
|
|
|
|
mb8866_t::mb8866_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, MB8866, "MB8866 FDC", tag, owner, clock, "mb8866", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = fd179x_step_times;
|
|
|
|
|
delay_register_commit = 4;
|
|
|
|
@ -2583,7 +2583,7 @@ mb8866_t::mb8866_t(const machine_config &mconfig, const char *tag, device_t *own
|
|
|
|
|
nonsticky_immint = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
mb8876_t::mb8876_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, MB8876, "MB8876", tag, owner, clock, "mb8876", __FILE__)
|
|
|
|
|
mb8876_t::mb8876_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, MB8876, "MB8876 FDC", tag, owner, clock, "mb8876", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = fd179x_step_times;
|
|
|
|
|
delay_register_commit = 4;
|
|
|
|
@ -2599,7 +2599,7 @@ mb8876_t::mb8876_t(const machine_config &mconfig, const char *tag, device_t *own
|
|
|
|
|
nonsticky_immint = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
mb8877_t::mb8877_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, MB8877, "MB8877", tag, owner, clock, "mb8877", __FILE__)
|
|
|
|
|
mb8877_t::mb8877_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, MB8877, "MB8877 FDC", tag, owner, clock, "mb8877", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = fd179x_step_times;
|
|
|
|
|
delay_register_commit = 4;
|
|
|
|
@ -2615,7 +2615,7 @@ mb8877_t::mb8877_t(const machine_config &mconfig, const char *tag, device_t *own
|
|
|
|
|
nonsticky_immint = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fd1761_t::fd1761_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1761, "FD1761", tag, owner, clock, "fd1761", __FILE__)
|
|
|
|
|
fd1761_t::fd1761_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1761, "FD1761 FDC", tag, owner, clock, "fd1761", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = fd176x_step_times;
|
|
|
|
|
delay_register_commit = 16;
|
|
|
|
@ -2631,7 +2631,7 @@ fd1761_t::fd1761_t(const machine_config &mconfig, const char *tag, device_t *own
|
|
|
|
|
nonsticky_immint = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fd1763_t::fd1763_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1763, "FD1763", tag, owner, clock, "fd1763", __FILE__)
|
|
|
|
|
fd1763_t::fd1763_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1763, "FD1763 FDC", tag, owner, clock, "fd1763", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = fd176x_step_times;
|
|
|
|
|
delay_register_commit = 16;
|
|
|
|
@ -2647,7 +2647,7 @@ fd1763_t::fd1763_t(const machine_config &mconfig, const char *tag, device_t *own
|
|
|
|
|
nonsticky_immint = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fd1765_t::fd1765_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1765, "FD1765", tag, owner, clock, "fd1765", __FILE__)
|
|
|
|
|
fd1765_t::fd1765_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1765, "FD1765 FDC", tag, owner, clock, "fd1765", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = fd176x_step_times;
|
|
|
|
|
delay_register_commit = 16;
|
|
|
|
@ -2671,7 +2671,7 @@ int fd1765_t::calc_sector_size(UINT8 size, UINT8 command) const
|
|
|
|
|
return 128 << ((size + 1) & 3);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fd1767_t::fd1767_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1767, "FD1767", tag, owner, clock, "fd1767", __FILE__)
|
|
|
|
|
fd1767_t::fd1767_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, FD1767, "FD1767 FDC", tag, owner, clock, "fd1767", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = fd179x_step_times;
|
|
|
|
|
delay_register_commit = 16;
|
|
|
|
@ -2695,7 +2695,7 @@ int fd1767_t::calc_sector_size(UINT8 size, UINT8 command) const
|
|
|
|
|
return 128 << ((size + 1) & 3);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
wd2791_t::wd2791_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, WD2791, "WD2791", tag, owner, clock, "wd2791", __FILE__)
|
|
|
|
|
wd2791_t::wd2791_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, WD2791, "WD2791 FDC", tag, owner, clock, "wd2791", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = fd179x_step_times;
|
|
|
|
|
delay_register_commit = 16;
|
|
|
|
@ -2711,7 +2711,7 @@ wd2791_t::wd2791_t(const machine_config &mconfig, const char *tag, device_t *own
|
|
|
|
|
nonsticky_immint = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
wd2793_t::wd2793_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, WD2793, "WD2793", tag, owner, clock, "wd2793", __FILE__)
|
|
|
|
|
wd2793_t::wd2793_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, WD2793, "WD2793 FDC", tag, owner, clock, "wd2793", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = fd179x_step_times;
|
|
|
|
|
delay_register_commit = 16;
|
|
|
|
@ -2727,7 +2727,7 @@ wd2793_t::wd2793_t(const machine_config &mconfig, const char *tag, device_t *own
|
|
|
|
|
nonsticky_immint = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
wd2795_t::wd2795_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, WD2795, "WD2795", tag, owner, clock, "wd2795", __FILE__)
|
|
|
|
|
wd2795_t::wd2795_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, WD2795, "WD2795 FDC", tag, owner, clock, "wd2795", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = fd179x_step_times;
|
|
|
|
|
delay_register_commit = 16;
|
|
|
|
@ -2751,7 +2751,7 @@ int wd2795_t::calc_sector_size(UINT8 size, UINT8 command) const
|
|
|
|
|
return 128 << ((size + 1) & 3);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
wd2797_t::wd2797_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, WD2797, "WD2797", tag, owner, clock, "wd2797", __FILE__)
|
|
|
|
|
wd2797_t::wd2797_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_analog_t(mconfig, WD2797, "WD2797 FDC", tag, owner, clock, "wd2797", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = fd179x_step_times;
|
|
|
|
|
delay_register_commit = 16;
|
|
|
|
@ -2775,7 +2775,7 @@ int wd2797_t::calc_sector_size(UINT8 size, UINT8 command) const
|
|
|
|
|
return 128 << ((size + 1) & 3);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
wd1770_t::wd1770_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_digital_t(mconfig, WD1770, "WD1770", tag, owner, clock, "wd1770", __FILE__)
|
|
|
|
|
wd1770_t::wd1770_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_digital_t(mconfig, WD1770, "WD1770 FDC", tag, owner, clock, "wd1770", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = wd_digital_step_times;
|
|
|
|
|
delay_register_commit = 32;
|
|
|
|
@ -2791,7 +2791,7 @@ wd1770_t::wd1770_t(const machine_config &mconfig, const char *tag, device_t *own
|
|
|
|
|
nonsticky_immint = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
wd1772_t::wd1772_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_digital_t(mconfig, WD1772, "WD1772", tag, owner, clock, "wd1772", __FILE__)
|
|
|
|
|
wd1772_t::wd1772_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_digital_t(mconfig, WD1772, "WD1772 FDC", tag, owner, clock, "wd1772", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
const static int wd1772_step_times[4] = { 12000, 24000, 4000, 6000 };
|
|
|
|
|
|
|
|
|
@ -2814,7 +2814,7 @@ int wd1772_t::settle_time() const
|
|
|
|
|
return 30000;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
wd1773_t::wd1773_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_digital_t(mconfig, WD1773, "WD1773", tag, owner, clock, "wd1773", __FILE__)
|
|
|
|
|
wd1773_t::wd1773_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : wd_fdc_digital_t(mconfig, WD1773, "WD1773 FDC", tag, owner, clock, "wd1773", __FILE__)
|
|
|
|
|
{
|
|
|
|
|
step_times = wd_digital_step_times;
|
|
|
|
|
delay_register_commit = 32;
|
|
|
|
|