summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2018-12-13 18:43:59 -0500
committer AJR <ajrhacker@users.noreply.github.com>2018-12-13 18:46:32 -0500
commit0e6b9d138058731f3c2037170cee046594f67684 (patch)
tree2f614ab16951eedfd373067fad68bb35f016d776
parentcefe336561eca14680e6b0e092fbe8c929e06a27 (diff)
upd765: Add (mostly standard) clocks to all devices in the family (nw)
These clocks are currently unused, and their sources and dividers are often unclear. In some cases they are clearly software-configurable, which has not been emulated at all.
-rw-r--r--src/devices/bus/a2bus/corvfdc02.cpp2
-rw-r--r--src/devices/bus/bbc/fdc/opus.cpp2
-rw-r--r--src/devices/bus/cbmiec/fd2000.cpp8
-rw-r--r--src/devices/bus/cpc/ddi1.cpp2
-rw-r--r--src/devices/bus/epson_sio/pf10.cpp2
-rw-r--r--src/devices/bus/epson_sio/tf20.cpp2
-rw-r--r--src/devices/bus/hexbus/hx5102.cpp2
-rw-r--r--src/devices/bus/iq151/disc2.cpp2
-rw-r--r--src/devices/bus/isa/fdc.cpp6
-rw-r--r--src/devices/bus/isa/mufdc.cpp2
-rw-r--r--src/devices/bus/isbx/compis_fdc.cpp2
-rw-r--r--src/devices/bus/isbx/isbc_218a.cpp2
-rw-r--r--src/devices/bus/kc/d004.cpp6
-rw-r--r--src/devices/bus/msx_cart/disk.cpp2
-rw-r--r--src/devices/bus/newbrain/fdc.cpp2
-rw-r--r--src/devices/bus/spc1000/fdd.cpp2
-rw-r--r--src/devices/machine/fdc37c93x.cpp2
-rw-r--r--src/devices/machine/pc_fdc.cpp2
-rw-r--r--src/devices/machine/pdc.cpp2
-rw-r--r--src/devices/machine/upd765.cpp2
-rw-r--r--src/devices/machine/upd765.h36
-rw-r--r--src/mame/drivers/a5105.cpp2
-rw-r--r--src/mame/drivers/alphatro.cpp2
-rw-r--r--src/mame/drivers/altos486.cpp26
-rw-r--r--src/mame/drivers/amstrad.cpp8
-rw-r--r--src/mame/drivers/amust.cpp2
-rw-r--r--src/mame/drivers/apc.cpp2
-rw-r--r--src/mame/drivers/attache.cpp4
-rw-r--r--src/mame/drivers/ax20.cpp2
-rw-r--r--src/mame/drivers/bebox.cpp2
-rw-r--r--src/mame/drivers/bw12.cpp2
-rw-r--r--src/mame/drivers/czk80.cpp10
-rw-r--r--src/mame/drivers/d6809.cpp2
-rw-r--r--src/mame/drivers/dim68k.cpp2
-rw-r--r--src/mame/drivers/dmv.cpp2
-rw-r--r--src/mame/drivers/dps1.cpp6
-rw-r--r--src/mame/drivers/duet16.cpp2
-rw-r--r--src/mame/drivers/elwro800.cpp2
-rw-r--r--src/mame/drivers/fanucspmg.cpp2
-rw-r--r--src/mame/drivers/fs3216.cpp2
-rw-r--r--src/mame/drivers/hec2hrp.cpp6
-rw-r--r--src/mame/drivers/hp16500.cpp11
-rw-r--r--src/mame/drivers/ibm6580.cpp8
-rw-r--r--src/mame/drivers/ibmpcjr.cpp2
-rw-r--r--src/mame/drivers/kdt6.cpp2
-rw-r--r--src/mame/drivers/m5.cpp2
-rw-r--r--src/mame/drivers/microdec.cpp2
-rw-r--r--src/mame/drivers/mikromik.cpp2
-rw-r--r--src/mame/drivers/mpc3000.cpp2
-rw-r--r--src/mame/drivers/msx.cpp2
-rw-r--r--src/mame/drivers/mz3500.cpp2
-rw-r--r--src/mame/drivers/mz6500.cpp2
-rw-r--r--src/mame/drivers/nanos.cpp2
-rw-r--r--src/mame/drivers/nc.cpp2
-rw-r--r--src/mame/drivers/olyboss.cpp4
-rw-r--r--src/mame/drivers/p8k.cpp10
-rw-r--r--src/mame/drivers/pasopia7.cpp2
-rw-r--r--src/mame/drivers/pc100.cpp2
-rw-r--r--src/mame/drivers/pc8801.cpp2
-rw-r--r--src/mame/drivers/pc88va.cpp2
-rw-r--r--src/mame/drivers/pc9801.cpp4
-rw-r--r--src/mame/drivers/pcw.cpp2
-rw-r--r--src/mame/drivers/pcw16.cpp2
-rw-r--r--src/mame/drivers/peoplepc.cpp2
-rw-r--r--src/mame/drivers/prof180x.cpp2
-rw-r--r--src/mame/drivers/prof80.cpp2
-rw-r--r--src/mame/drivers/pwrview.cpp2
-rw-r--r--src/mame/drivers/pyl601.cpp2
-rw-r--r--src/mame/drivers/qx10.cpp2
-rw-r--r--src/mame/drivers/rc702.cpp2
-rw-r--r--src/mame/drivers/sage2.cpp2
-rw-r--r--src/mame/drivers/sg1000.cpp2
-rw-r--r--src/mame/drivers/specpls3.cpp2
-rw-r--r--src/mame/drivers/tandy2k.cpp2
-rw-r--r--src/mame/drivers/tim011.cpp4
-rw-r--r--src/mame/drivers/wangpc.cpp2
-rw-r--r--src/mame/drivers/x68k.cpp2
-rw-r--r--src/mame/machine/ibm6580_fdc.cpp4
-rw-r--r--src/mame/machine/isbc_208.cpp2
79 files changed, 144 insertions, 141 deletions
diff --git a/src/devices/bus/a2bus/corvfdc02.cpp b/src/devices/bus/a2bus/corvfdc02.cpp
index 4b67b6e364f..7d4bc6ed785 100644
--- a/src/devices/bus/a2bus/corvfdc02.cpp
+++ b/src/devices/bus/a2bus/corvfdc02.cpp
@@ -54,7 +54,7 @@ ROM_END
void a2bus_corvfdc02_device::device_add_mconfig(machine_config &config)
{
- UPD765A(config, m_fdc, true, false);
+ UPD765A(config, m_fdc, 8'000'000, true, false);
m_fdc->intrq_wr_callback().set(FUNC(a2bus_corvfdc02_device::intrq_w));
m_fdc->drq_wr_callback().set(FUNC(a2bus_corvfdc02_device::drq_w));
FLOPPY_CONNECTOR(config, m_con1, corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats);
diff --git a/src/devices/bus/bbc/fdc/opus.cpp b/src/devices/bus/bbc/fdc/opus.cpp
index de142f79da1..a8e2bb3c54d 100644
--- a/src/devices/bus/bbc/fdc/opus.cpp
+++ b/src/devices/bus/bbc/fdc/opus.cpp
@@ -95,7 +95,7 @@ ROM_END
void bbc_opus8272_device::device_add_mconfig(machine_config &config)
{
- I8272A(config, m_fdc, true);
+ I8272A(config, m_fdc, 8'000'000, true);
m_fdc->intrq_wr_callback().set(DEVICE_SELF_OWNER, FUNC(bbc_fdc_slot_device::intrq_w));
FLOPPY_CONNECTOR(config, m_floppy0, bbc_floppies_525, "525qd", bbc_opusfdc_device::floppy_formats).enable_sound(true);
diff --git a/src/devices/bus/cbmiec/fd2000.cpp b/src/devices/bus/cbmiec/fd2000.cpp
index 9cd66c57b57..002c9a64dc7 100644
--- a/src/devices/bus/cbmiec/fd2000.cpp
+++ b/src/devices/bus/cbmiec/fd2000.cpp
@@ -217,9 +217,9 @@ FLOPPY_FORMATS_END
void fd2000_device::add_common_devices(machine_config &config)
{
- M65C02(config, m_maincpu, XTAL(24'000'000)/12);
+ M65C02(config, m_maincpu, 24_MHz_XTAL / 12);
- via6522_device &via(VIA6522(config, G65SC22P2_TAG, XTAL(24'000'000)/12));
+ via6522_device &via(VIA6522(config, G65SC22P2_TAG, 24_MHz_XTAL / 12));
via.readpa_handler().set(FUNC(fd2000_device::via_pa_r));
via.readpb_handler().set(FUNC(fd2000_device::via_pb_r));
via.writepa_handler().set(FUNC(fd2000_device::via_pa_w));
@@ -230,7 +230,7 @@ void fd2000_device::device_add_mconfig(machine_config &config)
{
add_common_devices(config);
m_maincpu->set_addrmap(AS_PROGRAM, &fd2000_device::fd2000_mem);
- DP8473(config, m_fdc, 0);
+ DP8473(config, m_fdc, 24_MHz_XTAL);
FLOPPY_CONNECTOR(config, DP8473V_TAG":0", fd2000_floppies, "35hd", floppy_image_device::default_floppy_formats, true);//fd2000_device::floppy_formats);
}
@@ -238,7 +238,7 @@ void fd4000_device::device_add_mconfig(machine_config &config)
{
add_common_devices(config);
m_maincpu->set_addrmap(AS_PROGRAM, &fd4000_device::fd4000_mem);
- PC8477A(config, m_fdc, 0);
+ PC8477A(config, m_fdc, 24_MHz_XTAL);
FLOPPY_CONNECTOR(config, PC8477AV1_TAG":0", fd4000_floppies, "35hd", floppy_image_device::default_floppy_formats, true);//fd2000_device::floppy_formats);
}
diff --git a/src/devices/bus/cpc/ddi1.cpp b/src/devices/bus/cpc/ddi1.cpp
index 6e75738d76a..80a60bcf6c0 100644
--- a/src/devices/bus/cpc/ddi1.cpp
+++ b/src/devices/bus/cpc/ddi1.cpp
@@ -41,7 +41,7 @@ const tiny_rom_entry *cpc_ddi1_device::device_rom_region() const
// device machine config
MACHINE_CONFIG_START(cpc_ddi1_device::device_add_mconfig)
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 4'000'000, true, true);
MCFG_FLOPPY_DRIVE_ADD("upd765:0", ddi1_floppies, "3ssdd", floppy_image_device::default_floppy_formats)
MCFG_SOFTWARE_LIST_ADD("flop_list","cpc_flop")
diff --git a/src/devices/bus/epson_sio/pf10.cpp b/src/devices/bus/epson_sio/pf10.cpp
index 11e60f39282..462de5ecaa3 100644
--- a/src/devices/bus/epson_sio/pf10.cpp
+++ b/src/devices/bus/epson_sio/pf10.cpp
@@ -70,7 +70,7 @@ MACHINE_CONFIG_START(epson_pf10_device::device_add_mconfig)
m_cpu->out_p2_cb().set(FUNC(epson_pf10_device::port2_w));
m_cpu->out_ser_tx_cb().set(FUNC(epson_pf10_device::hd6303_tx_w));
- UPD765A(config, m_fdc, false, true);
+ UPD765A(config, m_fdc, 4'000'000, false, true);
MCFG_FLOPPY_DRIVE_ADD("upd765a:0", pf10_floppies, "smd165", floppy_image_device::default_floppy_formats)
MCFG_EPSON_SIO_ADD("sio", nullptr)
diff --git a/src/devices/bus/epson_sio/tf20.cpp b/src/devices/bus/epson_sio/tf20.cpp
index fa625195b6d..22959af2730 100644
--- a/src/devices/bus/epson_sio/tf20.cpp
+++ b/src/devices/bus/epson_sio/tf20.cpp
@@ -102,7 +102,7 @@ MACHINE_CONFIG_START(epson_tf20_device::device_add_mconfig)
m_mpsc->out_dtra_callback().set(FUNC(epson_tf20_device::dtra_w));
// floppy disk controller
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, XTAL_CR1, true, true);
m_fdc->intrq_wr_callback().set_inputline(m_cpu, INPUT_LINE_IRQ0);
// floppy drives
diff --git a/src/devices/bus/hexbus/hx5102.cpp b/src/devices/bus/hexbus/hx5102.cpp
index 1fbced1bc80..bf0f9d541cb 100644
--- a/src/devices/bus/hexbus/hx5102.cpp
+++ b/src/devices/bus/hexbus/hx5102.cpp
@@ -688,7 +688,7 @@ void hx5102_device::device_add_mconfig(machine_config& config)
// Not connected: Select lines (DS0, DS1), Head load (HDL), VCO
// Tied to 1: READY
// Tied to 0: TC
- I8272A(config, m_floppy_ctrl, false);
+ I8272A(config, m_floppy_ctrl, 8'000'000, false);
m_floppy_ctrl->intrq_wr_callback().set(FUNC(hx5102_device::fdc_irq_w));
m_floppy_ctrl->drq_wr_callback().set(FUNC(hx5102_device::fdc_drq_w));
diff --git a/src/devices/bus/iq151/disc2.cpp b/src/devices/bus/iq151/disc2.cpp
index e3445d61897..db9919ef516 100644
--- a/src/devices/bus/iq151/disc2.cpp
+++ b/src/devices/bus/iq151/disc2.cpp
@@ -74,7 +74,7 @@ void iq151_disc2_device::device_reset()
void iq151_disc2_device::device_add_mconfig(machine_config &config)
{
- UPD765A(config, m_fdc, false, true);
+ UPD765A(config, m_fdc, 8'000'000, false, true);
FLOPPY_CONNECTOR(config, "fdc:1", iq151_disc2_floppies, "8sssd", iq151_disc2_device::floppy_formats);
FLOPPY_CONNECTOR(config, "fdc:2", iq151_disc2_floppies, "8sssd", iq151_disc2_device::floppy_formats);
}
diff --git a/src/devices/bus/isa/fdc.cpp b/src/devices/bus/isa/fdc.cpp
index 92930eb5aa8..f31b0f5f9dd 100644
--- a/src/devices/bus/isa/fdc.cpp
+++ b/src/devices/bus/isa/fdc.cpp
@@ -111,7 +111,7 @@ isa8_fdc_smc_device::isa8_fdc_smc_device(const machine_config &mconfig, const ch
void isa8_fdc_smc_device::device_add_mconfig(machine_config &config)
{
- smc37c78_device &smc(SMC37C78(config, m_fdc));
+ smc37c78_device &smc(SMC37C78(config, m_fdc, 24'000'000));
smc.intrq_wr_callback().set(FUNC(isa8_fdc_device::irq_w));
smc.drq_wr_callback().set(FUNC(isa8_fdc_device::drq_w));
FLOPPY_CONNECTOR(config, "fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats);
@@ -124,7 +124,7 @@ isa8_fdc_ps2_device::isa8_fdc_ps2_device(const machine_config &mconfig, const ch
void isa8_fdc_ps2_device::device_add_mconfig(machine_config &config)
{
- n82077aa_device &n82077aa(N82077AA(config, m_fdc, n82077aa_device::MODE_PS2));
+ n82077aa_device &n82077aa(N82077AA(config, m_fdc, 24'000'000, n82077aa_device::MODE_PS2));
n82077aa.intrq_wr_callback().set(FUNC(isa8_fdc_device::irq_w));
n82077aa.drq_wr_callback().set(FUNC(isa8_fdc_device::drq_w));
FLOPPY_CONNECTOR(config, "fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats);
@@ -137,7 +137,7 @@ isa8_fdc_superio_device::isa8_fdc_superio_device(const machine_config &mconfig,
void isa8_fdc_superio_device::device_add_mconfig(machine_config &config)
{
- pc_fdc_superio_device &superio(PC_FDC_SUPERIO(config, m_fdc));
+ pc_fdc_superio_device &superio(PC_FDC_SUPERIO(config, m_fdc, 24'000'000));
superio.intrq_wr_callback().set(FUNC(isa8_fdc_device::irq_w));
superio.drq_wr_callback().set(FUNC(isa8_fdc_device::drq_w));
FLOPPY_CONNECTOR(config, "fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats);
diff --git a/src/devices/bus/isa/mufdc.cpp b/src/devices/bus/isa/mufdc.cpp
index d402403e4a6..8930a080d8f 100644
--- a/src/devices/bus/isa/mufdc.cpp
+++ b/src/devices/bus/isa/mufdc.cpp
@@ -47,7 +47,7 @@ static void drives(device_slot_interface &device)
void mufdc_device::device_add_mconfig(machine_config &config)
{
- mcs3201_device &mcs3201(MCS3201(config, m_fdc));
+ mcs3201_device &mcs3201(MCS3201(config, m_fdc, 24_MHz_XTAL));
mcs3201.input_handler().set(FUNC(mufdc_device::fdc_input_r));
mcs3201.intrq_wr_callback().set(FUNC(mufdc_device::fdc_irq_w));
mcs3201.drq_wr_callback().set(FUNC(mufdc_device::fdc_drq_w));
diff --git a/src/devices/bus/isbx/compis_fdc.cpp b/src/devices/bus/isbx/compis_fdc.cpp
index 4a14beacb09..e1d464a37c2 100644
--- a/src/devices/bus/isbx/compis_fdc.cpp
+++ b/src/devices/bus/isbx/compis_fdc.cpp
@@ -56,7 +56,7 @@ static void compis_floppies(device_slot_interface &device)
void compis_fdc_device::device_add_mconfig(machine_config &config)
{
- I8272A(config, m_fdc, true);
+ I8272A(config, m_fdc, 8'000'000, true);
m_fdc->intrq_wr_callback().set(FUNC(compis_fdc_device::fdc_irq));
m_fdc->drq_wr_callback().set(FUNC(compis_fdc_device::fdc_drq));
FLOPPY_CONNECTOR(config, m_floppy0, compis_floppies, "525qd", compis_fdc_device::floppy_formats);
diff --git a/src/devices/bus/isbx/isbc_218a.cpp b/src/devices/bus/isbx/isbc_218a.cpp
index b52054ae5db..9b142fa95ae 100644
--- a/src/devices/bus/isbx/isbc_218a.cpp
+++ b/src/devices/bus/isbx/isbc_218a.cpp
@@ -56,7 +56,7 @@ static void isbc_218a_floppies(device_slot_interface &device)
void isbc_218a_device::device_add_mconfig(machine_config &config)
{
- I8272A(config, m_fdc, true);
+ I8272A(config, m_fdc, 8_MHz_XTAL, true);
m_fdc->intrq_wr_callback().set(FUNC(isbc_218a_device::fdc_irq));
m_fdc->drq_wr_callback().set(FUNC(isbc_218a_device::fdc_drq));
FLOPPY_CONNECTOR(config, m_floppy0, isbc_218a_floppies, "525dd", isbc_218a_device::floppy_formats);
diff --git a/src/devices/bus/kc/d004.cpp b/src/devices/bus/kc/d004.cpp
index b2345db03dc..188166640cd 100644
--- a/src/devices/bus/kc/d004.cpp
+++ b/src/devices/bus/kc/d004.cpp
@@ -152,18 +152,18 @@ void kc_d004_device::device_reset()
void kc_d004_device::device_add_mconfig(machine_config &config)
{
- Z80(config, m_cpu, XTAL(8'000'000)/2);
+ Z80(config, m_cpu, 8_MHz_XTAL / 2);
m_cpu->set_addrmap(AS_PROGRAM, &kc_d004_device::kc_d004_mem);
m_cpu->set_addrmap(AS_IO, &kc_d004_device::kc_d004_io);
m_cpu->set_daisy_config(kc_d004_daisy_chain);
- z80ctc_device &ctc(Z80CTC(config, Z80CTC_TAG, XTAL(8'000'000)/2));
+ z80ctc_device &ctc(Z80CTC(config, Z80CTC_TAG, 8_MHz_XTAL / 2));
ctc.intr_callback().set_inputline(Z80_TAG, 0);
ctc.zc_callback<0>().set(Z80CTC_TAG, FUNC(z80ctc_device::trg1));
ctc.zc_callback<1>().set(Z80CTC_TAG, FUNC(z80ctc_device::trg2));
ctc.zc_callback<2>().set(Z80CTC_TAG, FUNC(z80ctc_device::trg3));
- UPD765A(config, m_fdc, 0);
+ UPD765A(config, m_fdc, 8_MHz_XTAL);
m_fdc->set_ready_line_connected(false);
m_fdc->set_select_lines_connected(false);
m_fdc->intrq_wr_callback().set(FUNC(kc_d004_device::fdc_irq));
diff --git a/src/devices/bus/msx_cart/disk.cpp b/src/devices/bus/msx_cart/disk.cpp
index cbaba85f01c..a0e03e54920 100644
--- a/src/devices/bus/msx_cart/disk.cpp
+++ b/src/devices/bus/msx_cart/disk.cpp
@@ -232,7 +232,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(msx_cart_fsfd1a_device::device_add_mconfig)
- TC8566AF(config, m_fdc);
+ TC8566AF(config, m_fdc, 16'000'000);
// Double sided 3.5" floppy drive
MCFG_FLOPPY_DRIVE_ADD("fdc:0", msx_floppies, "35dd", msx_cart_disk_device::floppy_formats)
diff --git a/src/devices/bus/newbrain/fdc.cpp b/src/devices/bus/newbrain/fdc.cpp
index c3378dd5108..597def0509b 100644
--- a/src/devices/bus/newbrain/fdc.cpp
+++ b/src/devices/bus/newbrain/fdc.cpp
@@ -109,7 +109,7 @@ MACHINE_CONFIG_START(newbrain_fdc_device::device_add_mconfig)
MCFG_DEVICE_PROGRAM_MAP(newbrain_fdc_mem)
MCFG_DEVICE_IO_MAP(newbrain_fdc_io)
- UPD765A(config, m_fdc, false, true);
+ UPD765A(config, m_fdc, 8'000'000, false, true);
m_fdc->intrq_wr_callback().set(FUNC(newbrain_fdc_device::fdc_int_w));
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", newbrain_floppies, "525dd", floppy_image_device::default_floppy_formats)
diff --git a/src/devices/bus/spc1000/fdd.cpp b/src/devices/bus/spc1000/fdd.cpp
index dd91cbe898c..f3d669fbf21 100644
--- a/src/devices/bus/spc1000/fdd.cpp
+++ b/src/devices/bus/spc1000/fdd.cpp
@@ -95,7 +95,7 @@ void spc1000_fdd_exp_device::device_add_mconfig(machine_config &config)
m_ppi->out_pc_callback().set(FUNC(spc1000_fdd_exp_device::i8255_c_w));
// floppy disk controller
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 4'000'000, true, true);
m_fdc->intrq_wr_callback().set_inputline(m_cpu, INPUT_LINE_IRQ0);
// floppy drives
diff --git a/src/devices/machine/fdc37c93x.cpp b/src/devices/machine/fdc37c93x.cpp
index d285bac1ee9..05c87fd38ef 100644
--- a/src/devices/machine/fdc37c93x.cpp
+++ b/src/devices/machine/fdc37c93x.cpp
@@ -243,7 +243,7 @@ FLOPPY_FORMATS_END
void fdc37c93x_device::device_add_mconfig(machine_config &config)
{
// floppy disc controller
- smc37c78_device &fdcdev(SMC37C78(config, floppy_controller_fdcdev));
+ smc37c78_device &fdcdev(SMC37C78(config, floppy_controller_fdcdev, 24'000'000));
fdcdev.intrq_wr_callback().set(FUNC(fdc37c93x_device::irq_floppy_w));
fdcdev.drq_wr_callback().set(FUNC(fdc37c93x_device::drq_floppy_w));
FLOPPY_CONNECTOR(config, "fdc:0", pc_hd_floppies, "35hd", fdc37c93x_device::floppy_formats);
diff --git a/src/devices/machine/pc_fdc.cpp b/src/devices/machine/pc_fdc.cpp
index 35b83a82aac..601c4c813c5 100644
--- a/src/devices/machine/pc_fdc.cpp
+++ b/src/devices/machine/pc_fdc.cpp
@@ -75,7 +75,7 @@ void pc_fdc_family_device::dma_w(uint8_t data)
void pc_fdc_family_device::device_add_mconfig(machine_config &config)
{
- UPD765A(config, fdc, false, false);
+ UPD765A(config, fdc, 8'000'000, false, false);
fdc->intrq_wr_callback().set(FUNC(pc_fdc_family_device::irq_w));
fdc->drq_wr_callback().set(FUNC(pc_fdc_family_device::drq_w));
}
diff --git a/src/devices/machine/pdc.cpp b/src/devices/machine/pdc.cpp
index 23e6b1b45ac..99964762548 100644
--- a/src/devices/machine/pdc.cpp
+++ b/src/devices/machine/pdc.cpp
@@ -264,7 +264,7 @@ void pdc_device::device_add_mconfig(machine_config &config)
//MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
/* Floppy Disk Controller - uPD765a - NEC D765AC-2 */
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 4'000'000, true, true);
m_fdc->intrq_wr_callback().set(FUNC(pdc_device::fdc_irq));
m_fdc->drq_wr_callback().set(m_dma8237, FUNC(am9517a_device::dreq0_w)); //.invert();
diff --git a/src/devices/machine/upd765.cpp b/src/devices/machine/upd765.cpp
index 3925a866145..bfbf277449b 100644
--- a/src/devices/machine/upd765.cpp
+++ b/src/devices/machine/upd765.cpp
@@ -46,7 +46,7 @@ DEFINE_DEVICE_TYPE(UPD72065, upd72065_device, "upd72065", "NEC
DEFINE_DEVICE_TYPE(I82072, i82072_device, "i82072", "Intel 82072 FDC")
DEFINE_DEVICE_TYPE(SMC37C78, smc37c78_device, "smc37c78", "SMC FDC73C78 FDC")
DEFINE_DEVICE_TYPE(N82077AA, n82077aa_device, "n82077aa", "Intel N82077AA FDC")
-DEFINE_DEVICE_TYPE(PC_FDC_SUPERIO, pc_fdc_superio_device, "pc_fdc_superio", "PC FDC SUPERIO")
+DEFINE_DEVICE_TYPE(PC_FDC_SUPERIO, pc_fdc_superio_device, "pc_fdc_superio", "Winbond PC FDC Super I/O")
DEFINE_DEVICE_TYPE(DP8473, dp8473_device, "dp8473", "National Semiconductor DP8473 FDC")
DEFINE_DEVICE_TYPE(PC8477A, pc8477a_device, "pc8477a", "National Semiconductor PC8477A FDC")
DEFINE_DEVICE_TYPE(WD37C65C, wd37c65c_device, "wd37c65c", "Western Digital WD37C65C FDC")
diff --git a/src/devices/machine/upd765.h b/src/devices/machine/upd765.h
index 270a563bf0c..dd2e30ce78a 100644
--- a/src/devices/machine/upd765.h
+++ b/src/devices/machine/upd765.h
@@ -379,8 +379,8 @@ protected:
class upd765a_device : public upd765_family_device {
public:
- upd765a_device(const machine_config &mconfig, const char *tag, device_t *owner, bool ready, bool select)
- : upd765a_device(mconfig, tag, owner, 0U)
+ upd765a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, bool ready, bool select)
+ : upd765a_device(mconfig, tag, owner, clock)
{
set_ready_line_connected(ready);
set_select_lines_connected(select);
@@ -392,8 +392,8 @@ public:
class upd765b_device : public upd765_family_device {
public:
- upd765b_device(const machine_config &mconfig, const char *tag, device_t *owner, bool ready, bool select)
- : upd765b_device(mconfig, tag, owner, 0U)
+ upd765b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, bool ready, bool select)
+ : upd765b_device(mconfig, tag, owner, clock)
{
set_ready_line_connected(ready);
set_select_lines_connected(select);
@@ -405,8 +405,8 @@ public:
class i8272a_device : public upd765_family_device {
public:
- i8272a_device(const machine_config &mconfig, const char *tag, device_t *owner, bool ready)
- : i8272a_device(mconfig, tag, owner, 0U)
+ i8272a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, bool ready)
+ : i8272a_device(mconfig, tag, owner, clock)
{
set_ready_line_connected(ready);
}
@@ -417,12 +417,12 @@ public:
class i82072_device : public upd765_family_device {
public:
- i82072_device(const machine_config &mconfig, const char *tag, device_t *owner, bool ready)
- : i82072_device(mconfig, tag, owner)
+ i82072_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, bool ready)
+ : i82072_device(mconfig, tag, owner, clock)
{
set_ready_line_connected(ready);
}
- i82072_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 24'000'000);
+ i82072_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void map(address_map &map) override;
@@ -456,7 +456,7 @@ private:
class smc37c78_device : public upd765_family_device {
public:
- smc37c78_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ smc37c78_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void map(address_map &map) override;
};
@@ -478,8 +478,8 @@ public:
class n82077aa_device : public upd765_family_device {
public:
- n82077aa_device(const machine_config &mconfig, const char *tag, device_t *owner, int mode)
- : n82077aa_device(mconfig, tag, owner, 0U)
+ n82077aa_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, int mode)
+ : n82077aa_device(mconfig, tag, owner, clock)
{
set_mode(mode);
}
@@ -490,35 +490,35 @@ public:
class pc_fdc_superio_device : public upd765_family_device {
public:
- pc_fdc_superio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ pc_fdc_superio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void map(address_map &map) override;
};
class dp8473_device : public upd765_family_device {
public:
- dp8473_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ dp8473_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void map(address_map &map) override;
};
class pc8477a_device : public upd765_family_device {
public:
- pc8477a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ pc8477a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void map(address_map &map) override;
};
class wd37c65c_device : public upd765_family_device {
public:
- wd37c65c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ wd37c65c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void map(address_map &map) override;
};
class mcs3201_device : public upd765_family_device {
public:
- mcs3201_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ mcs3201_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// configuration helpers
auto input_handler() { return m_input_handler.bind(); }
@@ -535,7 +535,7 @@ private:
class tc8566af_device : public upd765_family_device {
public:
- tc8566af_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ tc8566af_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void map(address_map &map) override;
diff --git a/src/mame/drivers/a5105.cpp b/src/mame/drivers/a5105.cpp
index c4eec0078dc..6f0a31c9c9c 100644
--- a/src/mame/drivers/a5105.cpp
+++ b/src/mame/drivers/a5105.cpp
@@ -608,7 +608,7 @@ MACHINE_CONFIG_START(a5105_state::a5105)
MCFG_CASSETTE_ADD( "cassette" )
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8'000'000, true, true);
MCFG_FLOPPY_DRIVE_ADD("upd765a:0", a5105_floppies, "525qd", a5105_state::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("upd765a:1", a5105_floppies, "525qd", a5105_state::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("upd765a:2", a5105_floppies, "525qd", a5105_state::floppy_formats)
diff --git a/src/mame/drivers/alphatro.cpp b/src/mame/drivers/alphatro.cpp
index 375f5cb24cd..815272e277c 100644
--- a/src/mame/drivers/alphatro.cpp
+++ b/src/mame/drivers/alphatro.cpp
@@ -751,7 +751,7 @@ MACHINE_CONFIG_START(alphatro_state::alphatro)
WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25);
/* Devices */
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 16_MHz_XTAL / 2, true, true); // clocked through SED-9420C
m_fdc->intrq_wr_callback().set(FUNC(alphatro_state::fdc_irq_w));
m_fdc->drq_wr_callback().set(m_dmac, FUNC(i8257_device::dreq2_w));
MCFG_FLOPPY_DRIVE_ADD("fdc:0", alphatro_floppies, "525dd", alphatro_state::floppy_formats)
diff --git a/src/mame/drivers/altos486.cpp b/src/mame/drivers/altos486.cpp
index 59c93029038..fa115fe4ae8 100644
--- a/src/mame/drivers/altos486.cpp
+++ b/src/mame/drivers/altos486.cpp
@@ -134,12 +134,12 @@ void altos486_state::altos486_z80_io(address_map &map)
void altos486_state::altos486(machine_config &config)
{
- I80186(config, m_maincpu, XTAL(8'000'000));
+ I80186(config, m_maincpu, 32_MHz_XTAL / 4);
m_maincpu->set_addrmap(AS_PROGRAM, &altos486_state::altos486_mem);
m_maincpu->set_addrmap(AS_IO, &altos486_state::altos486_io);
m_maincpu->set_irq_acknowledge_callback("pic8259", FUNC(pic8259_device::inta_cb)); // yes, really
- z80_device &iocpu(Z80(config, "iocpu", XTAL(8'000'000) / 2));
+ z80_device &iocpu(Z80(config, "iocpu", 32_MHz_XTAL / 8));
iocpu.set_addrmap(AS_PROGRAM, &altos486_state::altos486_z80_mem);
iocpu.set_addrmap(AS_IO, &altos486_state::altos486_z80_io);
@@ -150,10 +150,10 @@ void altos486_state::altos486(machine_config &config)
I8255(config, "ppi8255");
- UPD765A(config, "fdc", false, false);
+ UPD765A(config, "fdc", 32_MHz_XTAL / 4, false, false);
FLOPPY_CONNECTOR(config, "fdc:0", altos486_floppies, "525qd", altos486_state::floppy_formats).set_fixed(true);
- z80sio0_device& sio0(Z80SIO0(config, "sio0", 4000000));
+ z80sio0_device& sio0(Z80SIO0(config, "sio0", 32_MHz_XTAL / 8));
sio0.out_txda_callback().set("rs232a", FUNC(rs232_port_device::write_txd));
sio0.out_dtra_callback().set("rs232a", FUNC(rs232_port_device::write_dtr));
sio0.out_rtsa_callback().set("rs232a", FUNC(rs232_port_device::write_rts));
@@ -162,7 +162,7 @@ void altos486_state::altos486(machine_config &config)
sio0.out_rtsb_callback().set("rs232b", FUNC(rs232_port_device::write_rts));
//sio0.out_int_callback().set(FUNC(altos486_state::sio_interrupt));
- z80sio0_device& sio1(Z80SIO0(config, "sio1", 4000000));
+ z80sio0_device& sio1(Z80SIO0(config, "sio1", 32_MHz_XTAL / 8));
sio1.out_txda_callback().set("rs232c", FUNC(rs232_port_device::write_txd));
sio1.out_dtra_callback().set("rs232c", FUNC(rs232_port_device::write_dtr));
sio1.out_rtsa_callback().set("rs232c", FUNC(rs232_port_device::write_rts));
@@ -171,13 +171,13 @@ void altos486_state::altos486(machine_config &config)
sio1.out_rtsb_callback().set("rs232d", FUNC(rs232_port_device::write_rts));
//sio1.out_int_callback().set(FUNC(altos486_state::sio_interrupt));
- z80sio0_device& sio2(Z80SIO0(config, "sio2", 4000000));
+ z80sio0_device& sio2(Z80SIO0(config, "sio2", 32_MHz_XTAL / 8));
sio2.out_txda_callback().set("rs232_lp", FUNC(rs232_port_device::write_txd));
sio2.out_dtra_callback().set("rs232_lp", FUNC(rs232_port_device::write_dtr));
sio2.out_rtsa_callback().set("rs232_lp", FUNC(rs232_port_device::write_rts));
//sio2.out_int_callback().set(FUNC(altos486_state::sio_interrupt));
- i8274_device& i8274(I8274(config, "i8274", XTAL(16'000'000)/4));
+ i8274_device& i8274(I8274(config, "i8274", 32_MHz_XTAL / 8));
i8274.out_txda_callback().set("rs422_wn", FUNC(rs232_port_device::write_txd));
i8274.out_dtra_callback().set("rs422_wn", FUNC(rs232_port_device::write_dtr));
i8274.out_rtsa_callback().set("rs422_wn", FUNC(rs232_port_device::write_rts));
@@ -215,14 +215,14 @@ void altos486_state::altos486(machine_config &config)
rs422_wn.cts_handler().set("i8274", FUNC(z80dart_device::ctsa_w));
pit8253_device &pit0(PIT8253(config, "pit0", 0));
- pit0.set_clk<0>(XTAL(22'118'400)/18);
- pit0.set_clk<1>(XTAL(22'118'400)/144);
- pit0.set_clk<2>(XTAL(22'118'400)/18);
+ pit0.set_clk<0>(XTAL(22'118'400)/18); // FIXME
+ pit0.set_clk<1>(XTAL(22'118'400)/144); // FIXME
+ pit0.set_clk<2>(XTAL(22'118'400)/18); // FIXME
pit8253_device &pit1(PIT8253(config, "pit1", 0));
- pit1.set_clk<0>(XTAL(22'118'400)/18);
- pit1.set_clk<1>(XTAL(22'118'400)/144);
- pit1.set_clk<2>(XTAL(22'118'400)/18);
+ pit1.set_clk<0>(XTAL(22'118'400)/18); // FIXME
+ pit1.set_clk<1>(XTAL(22'118'400)/144); // FIXME
+ pit1.set_clk<2>(XTAL(22'118'400)/18); // FIXME
}
diff --git a/src/mame/drivers/amstrad.cpp b/src/mame/drivers/amstrad.cpp
index 5a12e859c66..60de93a33e7 100644
--- a/src/mame/drivers/amstrad.cpp
+++ b/src/mame/drivers/amstrad.cpp
@@ -985,7 +985,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(amstrad_state::cpc664)
amstrad_base(config);
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 16_MHz_XTAL / 4, true, true);
MCFG_FLOPPY_DRIVE_ADD("upd765:0", amstrad_floppies, "3ssdd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("upd765:1", amstrad_floppies, "35ssdd", floppy_image_device::default_floppy_formats)
MCFG_SOFTWARE_LIST_ADD("flop_list","cpc_flop")
@@ -1003,7 +1003,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(amstrad_state::cpc6128)
amstrad_base(config);
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 16_MHz_XTAL / 4, true, true);
MCFG_FLOPPY_DRIVE_ADD("upd765:0", amstrad_floppies, "3ssdd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("upd765:1", amstrad_floppies, "35ssdd", floppy_image_device::default_floppy_formats)
MCFG_SOFTWARE_LIST_ADD("flop_list","cpc_flop")
@@ -1089,7 +1089,7 @@ MACHINE_CONFIG_START(amstrad_state::cpcplus)
MCFG_CASSETTE_INTERFACE("cpc_cass")
MCFG_SOFTWARE_LIST_ADD("cass_list","cpc_cass")
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 40_MHz_XTAL / 10, true, true);
cpcplus_cartslot(config);
@@ -1176,7 +1176,7 @@ MACHINE_CONFIG_START(amstrad_state::aleste)
MCFG_DEVICE_ADD("rtc", MC146818, 4.194304_MHz_XTAL)
- I8272A(config.replace(), m_fdc, true);
+ I8272A(config.replace(), m_fdc, 16_MHz_XTAL / 4, true);
MCFG_DEVICE_REMOVE("exp")
MCFG_DEVICE_ADD("exp", CPC_EXPANSION_SLOT, 0)
diff --git a/src/mame/drivers/amust.cpp b/src/mame/drivers/amust.cpp
index e6ff479a44f..aaaff1b6707 100644
--- a/src/mame/drivers/amust.cpp
+++ b/src/mame/drivers/amust.cpp
@@ -463,7 +463,7 @@ MACHINE_CONFIG_START(amust_state::amust)
crtc.out_hsync_callback().set(FUNC(amust_state::hsync_w));
crtc.out_vsync_callback().set(FUNC(amust_state::vsync_w));
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8'000'000, true, true);
m_fdc->drq_wr_callback().set(FUNC(amust_state::drq_w));
m_fdc->intrq_wr_callback().set(FUNC(amust_state::intrq_w));
MCFG_FLOPPY_DRIVE_ADD("fdc:0", amust_floppies, "525qd", floppy_image_device::default_floppy_formats)
diff --git a/src/mame/drivers/apc.cpp b/src/mame/drivers/apc.cpp
index 297e5f83683..d55c88424ba 100644
--- a/src/mame/drivers/apc.cpp
+++ b/src/mame/drivers/apc.cpp
@@ -974,7 +974,7 @@ MACHINE_CONFIG_START(apc_state::apc)
NVRAM(config, m_cmos, nvram_device::DEFAULT_ALL_1);
UPD1990A(config, m_rtc);
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8'000'000, true, true);
m_fdc->intrq_wr_callback().set(m_i8259_s, FUNC(pic8259_device::ir4_w));
m_fdc->drq_wr_callback().set(m_dmac, FUNC(am9517a_device::dreq1_w));
MCFG_FLOPPY_DRIVE_ADD(m_fdc_connector[0], apc_floppies, "8", apc_floppy_formats)
diff --git a/src/mame/drivers/attache.cpp b/src/mame/drivers/attache.cpp
index bfd792e874c..6797007386c 100644
--- a/src/mame/drivers/attache.cpp
+++ b/src/mame/drivers/attache.cpp
@@ -1179,7 +1179,7 @@ MACHINE_CONFIG_START(attache_state::attache)
m_dma->out_iow_callback<0>().set(FUNC(attache_state::fdc_dma_w));
// m_dma->out_dack_callback<0>().set(FUNC(attache_state::fdc_dack_w));
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8_MHz_XTAL, true, true);
m_fdc->intrq_wr_callback().set(m_ctc, FUNC(z80ctc_device::trg3));
m_fdc->drq_wr_callback().set(m_dma, FUNC(am9517a_device::dreq0_w)).invert();
FLOPPY_CONNECTOR(config, "fdc:0", attache_floppies, "525dd", floppy_image_device::default_floppy_formats);
@@ -1267,7 +1267,7 @@ MACHINE_CONFIG_START(attache816_state::attache816)
m_dma->out_iow_callback<0>().set(FUNC(attache_state::fdc_dma_w));
// m_dma->out_dack_callback<0>().set(FUNC(attache_state::fdc_dack_w));
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8_MHz_XTAL, true, true);
m_fdc->intrq_wr_callback().set(m_ctc, FUNC(z80ctc_device::trg3));
m_fdc->drq_wr_callback().set(m_dma, FUNC(am9517a_device::dreq0_w)).invert();
FLOPPY_CONNECTOR(config, "fdc:0", attache_floppies, "525dd", floppy_image_device::default_floppy_formats);
diff --git a/src/mame/drivers/ax20.cpp b/src/mame/drivers/ax20.cpp
index 4047d3ff3e1..0803fe9f5b3 100644
--- a/src/mame/drivers/ax20.cpp
+++ b/src/mame/drivers/ax20.cpp
@@ -149,7 +149,7 @@ MACHINE_CONFIG_START(ax20_state::ax20)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_ax20)
MCFG_PALETTE_ADD_MONOCHROME("palette")
- I8272A(config, m_fdc, true);
+ I8272A(config, m_fdc, 8'000'000, true);
/* Devices */
MCFG_FLOPPY_DRIVE_ADD("fdc:0", ax20_floppies, "525dd", isa8_fdc_device::floppy_formats)
diff --git a/src/mame/drivers/bebox.cpp b/src/mame/drivers/bebox.cpp
index 50fe68e9899..7a8d888907a 100644
--- a/src/mame/drivers/bebox.cpp
+++ b/src/mame/drivers/bebox.cpp
@@ -222,7 +222,7 @@ void bebox_state::bebox_peripherals(machine_config &config)
/*MCFG_PCI_BUS_DEVICE(12, nullptr, scsi53c810_pci_read, scsi53c810_pci_write)*/
- SMC37C78(config, m_smc37c78, 0);
+ SMC37C78(config, m_smc37c78, 24'000'000);
m_smc37c78->intrq_wr_callback().set(FUNC(bebox_state::fdc_interrupt));
m_smc37c78->drq_wr_callback().set(m_dma8237[0], FUNC(am9517a_device::dreq2_w));
diff --git a/src/mame/drivers/bw12.cpp b/src/mame/drivers/bw12.cpp
index bee069bbe1d..4af465d7974 100644
--- a/src/mame/drivers/bw12.cpp
+++ b/src/mame/drivers/bw12.cpp
@@ -580,7 +580,7 @@ MACHINE_CONFIG_START(bw12_state::common)
/* devices */
MCFG_TIMER_DRIVER_ADD(FLOPPY_TIMER_TAG, bw12_state, floppy_motor_off_tick)
- UPD765A(config, m_fdc, false, true);
+ UPD765A(config, m_fdc, 8'000'000, false, true);
PIA6821(config, m_pia, 0);
m_pia->readpa_handler().set(FUNC(bw12_state::pia_pa_r));
diff --git a/src/mame/drivers/czk80.cpp b/src/mame/drivers/czk80.cpp
index 69180a85481..6eeca07ca68 100644
--- a/src/mame/drivers/czk80.cpp
+++ b/src/mame/drivers/czk80.cpp
@@ -190,29 +190,29 @@ void czk80_state::kbd_put(u8 data)
void czk80_state::czk80(machine_config &config)
{
/* basic machine hardware */
- Z80(config, m_maincpu, XTAL(16'000'000) / 4);
+ Z80(config, m_maincpu, 16_MHz_XTAL / 4);
m_maincpu->set_addrmap(AS_PROGRAM, &czk80_state::czk80_mem);
m_maincpu->set_addrmap(AS_IO, &czk80_state::czk80_io);
m_maincpu->set_daisy_config(daisy_chain);
GENERIC_TERMINAL(config, m_terminal, 0);
m_terminal->set_keyboard_callback(FUNC(czk80_state::kbd_put));
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8_MHz_XTAL, true, true);
FLOPPY_CONNECTOR(config, "fdc:0", czk80_floppies, "525dd", floppy_image_device::default_floppy_formats);
- z80ctc_device& ctc(Z80CTC(config, "ctc", XTAL(16'000'000) / 4));
+ z80ctc_device& ctc(Z80CTC(config, "ctc", 16_MHz_XTAL / 4));
ctc.intr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
ctc.zc_callback<0>().set(FUNC(czk80_state::ctc_z0_w));
ctc.zc_callback<1>().set(FUNC(czk80_state::ctc_z1_w));
ctc.zc_callback<2>().set(FUNC(czk80_state::ctc_z2_w));
- z80dart_device& dart(Z80DART(config, "dart", XTAL(16'000'000) / 4));
+ z80dart_device& dart(Z80DART(config, "dart", 16_MHz_XTAL / 4));
//dart.out_txda_callback().set("rs232", FUNC(rs232_port_device::write_txd));
//dart.out_dtra_callback().set("rs232", FUNC(rs232_port_device::write_dtr));
//dart.out_rtsa_callback().set("rs232", FUNC(rs232_port_device::write_rts));
dart.out_int_callback().set_inputline("maincpu", INPUT_LINE_IRQ0);
- z80pio_device& pio(Z80PIO(config, "pio", XTAL(16'000'000)/4));
+ z80pio_device& pio(Z80PIO(config, "pio", 16_MHz_XTAL / 4));
pio.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
}
diff --git a/src/mame/drivers/d6809.cpp b/src/mame/drivers/d6809.cpp
index f85a28f038e..9c5c8e1d543 100644
--- a/src/mame/drivers/d6809.cpp
+++ b/src/mame/drivers/d6809.cpp
@@ -202,7 +202,7 @@ MACHINE_CONFIG_START(d6809_state::d6809)
m_terminal->set_keyboard_callback(FUNC(d6809_state::kbd_put));
// Floppy
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8'000'000, true, true);
//m_fdc->drq_wr_callback().set(m_fdc, FUNC(upd765a_device::dack_w)); // pin not emulated
MCFG_FLOPPY_DRIVE_ADD("fdc:0", floppies, "525qd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_SOUND(true)
diff --git a/src/mame/drivers/dim68k.cpp b/src/mame/drivers/dim68k.cpp
index 8e14571d46d..49e6c57aae1 100644
--- a/src/mame/drivers/dim68k.cpp
+++ b/src/mame/drivers/dim68k.cpp
@@ -332,7 +332,7 @@ MACHINE_CONFIG_START(dim68k_state::dim68k)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
/* Devices */
- UPD765A(config, "fdc", true, true); // these options unknown
+ UPD765A(config, "fdc", 8'000'000, true, true); // these options unknown
MCFG_FLOPPY_DRIVE_ADD("fdc:0", dim68k_floppies, "525hd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("fdc:1", dim68k_floppies, "525hd", floppy_image_device::default_floppy_formats)
diff --git a/src/mame/drivers/dmv.cpp b/src/mame/drivers/dmv.cpp
index 2671b7377b6..21ae4639d5e 100644
--- a/src/mame/drivers/dmv.cpp
+++ b/src/mame/drivers/dmv.cpp
@@ -822,7 +822,7 @@ MACHINE_CONFIG_START(dmv_state::dmv)
m_dmac->out_iow_callback<3>().set(m_fdc, FUNC(i8272a_device::mdma_w));
m_dmac->out_dack_callback<3>().set(FUNC(dmv_state::dmac_dack3));
- I8272A(config, m_fdc, true);
+ I8272A(config, m_fdc, 8'000'000, true);
m_fdc->intrq_wr_callback().set(FUNC(dmv_state::fdc_irq));
m_fdc->drq_wr_callback().set(m_dmac, FUNC(am9517a_device::dreq3_w));
MCFG_FLOPPY_DRIVE_ADD("i8272:0", dmv_floppies, "525dd", dmv_state::floppy_formats)
diff --git a/src/mame/drivers/dps1.cpp b/src/mame/drivers/dps1.cpp
index e829be27e64..0690daab4f6 100644
--- a/src/mame/drivers/dps1.cpp
+++ b/src/mame/drivers/dps1.cpp
@@ -198,14 +198,14 @@ static void floppies(device_slot_interface &device)
MACHINE_CONFIG_START(dps1_state::dps1)
// basic machine hardware
- Z80(config, m_maincpu, 4000000);
+ Z80(config, m_maincpu, 4_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &dps1_state::mem_map);
m_maincpu->set_addrmap(AS_IO, &dps1_state::io_map);
MCFG_MACHINE_RESET_OVERRIDE(dps1_state, dps1)
/* video hardware */
- mc2661_device &uart(MC2661(config, "uart", XTAL(5'068'800)));
+ mc2661_device &uart(MC2661(config, "uart", 5.0688_MHz_XTAL)); // Signetics 2651N
uart.txd_handler().set("rs232", FUNC(rs232_port_device::write_txd));
uart.rts_handler().set("rs232", FUNC(rs232_port_device::write_rts));
uart.dtr_handler().set("rs232", FUNC(rs232_port_device::write_dtr));
@@ -219,7 +219,7 @@ MACHINE_CONFIG_START(dps1_state::dps1)
AM9519(config, "am9519b", 0);
// floppy
- UPD765A(config, m_fdc, false, true);
+ UPD765A(config, m_fdc, 16_MHz_XTAL / 2, false, true);
//m_fdc->intrq_wr_callback().set(FUNC(dps1_state::fdc_int_w)); // doesn't appear to be used
m_fdc->drq_wr_callback().set(FUNC(dps1_state::fdc_drq_w));
MCFG_FLOPPY_DRIVE_ADD("fdc:0", floppies, "floppy0", floppy_image_device::default_floppy_formats)
diff --git a/src/mame/drivers/duet16.cpp b/src/mame/drivers/duet16.cpp
index a9f95fabbeb..4943f29a49f 100644
--- a/src/mame/drivers/duet16.cpp
+++ b/src/mame/drivers/duet16.cpp
@@ -407,7 +407,7 @@ MACHINE_CONFIG_START(duet16_state::duet16)
MCFG_INPUT_MERGER_ANY_HIGH("tmint")
MCFG_INPUT_MERGER_OUTPUT_HANDLER(WRITELINE("pic", pic8259_device, ir0_w)) // INT6
- UPD765A(config, m_fdc, true, false);
+ UPD765A(config, m_fdc, 8_MHz_XTAL, true, false);
m_fdc->drq_wr_callback().set(m_dmac, FUNC(am9517a_device::dreq0_w));
m_fdc->intrq_wr_callback().set(m_pic, FUNC(pic8259_device::ir3_w)); // INT4
MCFG_FLOPPY_DRIVE_ADD("fdc:0", duet16_floppies, "525qd", floppy_image_device::default_floppy_formats)
diff --git a/src/mame/drivers/elwro800.cpp b/src/mame/drivers/elwro800.cpp
index 778ff0052bf..33af3e7f4e9 100644
--- a/src/mame/drivers/elwro800.cpp
+++ b/src/mame/drivers/elwro800.cpp
@@ -579,7 +579,7 @@ MACHINE_CONFIG_START(elwro800_state::elwro800)
MCFG_VIDEO_START_OVERRIDE(elwro800_state, spectrum)
- UPD765A(config, "upd765", true, true);
+ UPD765A(config, "upd765", 8_MHz_XTAL / 2, true, true);
I8255A(config, m_i8255, 0);
m_i8255->in_pa_callback().set_ioport("JOY");
diff --git a/src/mame/drivers/fanucspmg.cpp b/src/mame/drivers/fanucspmg.cpp
index 992b9f0fc09..3e14e07baf9 100644
--- a/src/mame/drivers/fanucspmg.cpp
+++ b/src/mame/drivers/fanucspmg.cpp
@@ -995,7 +995,7 @@ MACHINE_CONFIG_START(fanucspmg_state::fanucspmg)
m_pic[1]->out_int_callback().set(m_pic[0], FUNC(pic8259_device::ir7_w));
m_pic[1]->in_sp_callback().set_constant(0);
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8'000'000, true, true);
m_fdc->intrq_wr_callback().set(m_pic[0], FUNC(pic8259_device::ir3_w));
m_fdc->drq_wr_callback().set(m_dmac, FUNC(i8257_device::dreq0_w));
MCFG_FLOPPY_DRIVE_ADD(FDC_TAG":0", fanuc_floppies, "525dd", fanucspmg_state::floppy_formats)
diff --git a/src/mame/drivers/fs3216.cpp b/src/mame/drivers/fs3216.cpp
index 070faf92313..ed2b11b1852 100644
--- a/src/mame/drivers/fs3216.cpp
+++ b/src/mame/drivers/fs3216.cpp
@@ -178,7 +178,7 @@ void fs3216_state::fs3216(machine_config &config)
Z80DART(config, "dart", 44.2368_MHz_XTAL / 8); // Z8470BPS
- UPD765A(config, m_fdc, true, false);
+ UPD765A(config, m_fdc, 16_MHz_XTAL / 2, true, false);
X2212(config, m_earom);
diff --git a/src/mame/drivers/hec2hrp.cpp b/src/mame/drivers/hec2hrp.cpp
index 9b5cd732fea..bfa41800e1f 100644
--- a/src/mame/drivers/hec2hrp.cpp
+++ b/src/mame/drivers/hec2hrp.cpp
@@ -464,7 +464,7 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2mx40)
MCFG_DEVICE_ADD("disc2cpu", Z80, 4_MHz_XTAL)
MCFG_DEVICE_PROGRAM_MAP(hecdisc2_mem)
MCFG_DEVICE_IO_MAP(hecdisc2_io)
- UPD765A(config, m_upd_fdc, false, true);
+ UPD765A(config, m_upd_fdc, 8'000'000, false, true);
m_upd_fdc->intrq_wr_callback().set(FUNC(hec2hrp_state::disc2_fdc_interrupt));
m_upd_fdc->drq_wr_callback().set(FUNC(hec2hrp_state::disc2_fdc_dma_irq));
MCFG_FLOPPY_DRIVE_ADD(m_upd_connector[0], hector_floppies, "525hd", floppy_image_device::default_floppy_formats)
@@ -504,7 +504,7 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2hrx)
MCFG_DEVICE_ADD("disc2cpu", Z80, 4_MHz_XTAL)
MCFG_DEVICE_PROGRAM_MAP(hecdisc2_mem)
MCFG_DEVICE_IO_MAP(hecdisc2_io)
- UPD765A(config, m_upd_fdc, false, true);
+ UPD765A(config, m_upd_fdc, 8'000'000, false, true);
m_upd_fdc->intrq_wr_callback().set(FUNC(hec2hrp_state::disc2_fdc_interrupt));
m_upd_fdc->drq_wr_callback().set(FUNC(hec2hrp_state::disc2_fdc_dma_irq));
MCFG_FLOPPY_DRIVE_ADD(m_upd_connector[0], hector_floppies, "525hd", floppy_image_device::default_floppy_formats)
@@ -575,7 +575,7 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2mx80)
MCFG_DEVICE_ADD("disc2cpu", Z80, 4_MHz_XTAL)
MCFG_DEVICE_PROGRAM_MAP(hecdisc2_mem)
MCFG_DEVICE_IO_MAP(hecdisc2_io)
- UPD765A(config, m_upd_fdc, false, true);
+ UPD765A(config, m_upd_fdc, 8'000'000, false, true);
m_upd_fdc->intrq_wr_callback().set(FUNC(hec2hrp_state::disc2_fdc_interrupt));
m_upd_fdc->drq_wr_callback().set(FUNC(hec2hrp_state::disc2_fdc_dma_irq));
MCFG_FLOPPY_DRIVE_ADD(m_upd_connector[0], hector_floppies, "525hd", floppy_image_device::default_floppy_formats)
diff --git a/src/mame/drivers/hp16500.cpp b/src/mame/drivers/hp16500.cpp
index b4f15cc1029..f3bc942d289 100644
--- a/src/mame/drivers/hp16500.cpp
+++ b/src/mame/drivers/hp16500.cpp
@@ -65,7 +65,7 @@ public:
m_mlc(*this, "mlc")
{ }
- void hp16500(machine_config &config);
+ void hp16500b(machine_config &config);
void hp16500a(machine_config &config);
void hp1651(machine_config &config);
void hp1650(machine_config &config);
@@ -477,7 +477,8 @@ MACHINE_CONFIG_START(hp16500_state::hp16500a)
SPEAKER(config, "rspeaker").front_right();
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(hp16500_state::hp16500)
+void hp16500_state::hp16500b(machine_config &config)
+{
/* basic machine hardware */
M68EC030(config, m_maincpu, 25'000'000);
m_maincpu->set_addrmap(AS_PROGRAM, &hp16500_state::hp16500_map);
@@ -498,9 +499,11 @@ MACHINE_CONFIG_START(hp16500_state::hp16500)
// later with a 16500b specific keyboard implementation
HP_HIL_SLOT(config, "hil1", "mlc", hp_hil_devices, "hp_ipc_kbd");
+ //WD37C65C(config, "fdc", 16_MHz_XTAL);
+
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
-MACHINE_CONFIG_END
+}
static INPUT_PORTS_START( hp16500 )
INPUT_PORTS_END
@@ -534,4 +537,4 @@ ROM_END
COMP( 1989, hp1650b, 0, 0, hp1650, hp16500, hp16500_state, empty_init, "Hewlett Packard", "HP 1650b", MACHINE_NOT_WORKING|MACHINE_NO_SOUND)
COMP( 1989, hp1651b, 0, 0, hp1651, hp16500, hp16500_state, empty_init, "Hewlett Packard", "HP 1651b", MACHINE_NOT_WORKING|MACHINE_NO_SOUND)
COMP( 1991, hp165ka0, 0, 0, hp16500a, hp16500, hp16500_state, empty_init, "Hewlett Packard", "HP 16500a", MACHINE_NOT_WORKING|MACHINE_NO_SOUND)
-COMP( 1991, hp16500b, 0, 0, hp16500, hp16500, hp16500_state, empty_init, "Hewlett Packard", "HP 16500b", MACHINE_NOT_WORKING|MACHINE_NO_SOUND)
+COMP( 1991, hp16500b, 0, 0, hp16500b, hp16500, hp16500_state, empty_init, "Hewlett Packard", "HP 16500b", MACHINE_NOT_WORKING|MACHINE_NO_SOUND)
diff --git a/src/mame/drivers/ibm6580.cpp b/src/mame/drivers/ibm6580.cpp
index 6bad9e72d5b..cf62f4b26c5 100644
--- a/src/mame/drivers/ibm6580.cpp
+++ b/src/mame/drivers/ibm6580.cpp
@@ -882,7 +882,7 @@ static void dw_floppies(device_slot_interface &device)
}
MACHINE_CONFIG_START(ibm6580_state::ibm6580)
- MCFG_DEVICE_ADD("maincpu", I8086, XTAL(14'745'600)/3)
+ MCFG_DEVICE_ADD("maincpu", I8086, 14.7456_MHz_XTAL / 3)
MCFG_DEVICE_PROGRAM_MAP(ibm6580_mem)
MCFG_DEVICE_IO_MAP(ibm6580_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb)
@@ -890,7 +890,7 @@ MACHINE_CONFIG_START(ibm6580_state::ibm6580)
RAM(config, RAM_TAG).set_default_size("128K").set_extra_options("160K,192K,224K,256K,320K,384K");
MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(25'000'000)/2, 833, 0, 640, 428, 0, 400)
+ MCFG_SCREEN_RAW_PARAMS(25_MHz_XTAL / 2, 833, 0, 640, 428, 0, 400)
MCFG_SCREEN_UPDATE_DRIVER(ibm6580_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, ibm6580_state, vblank_w))
@@ -916,7 +916,7 @@ MACHINE_CONFIG_START(ibm6580_state::ibm6580)
m_kbd->out_strobe_handler().set(FUNC(ibm6580_state::kb_strobe_w));
m_kbd->out_strobe_handler().append(m_ppi8255, FUNC(i8255_device::pc4_w));
- I8257(config, m_dma8257, XTAL(14'745'600)/3);
+ I8257(config, m_dma8257, 14.7456_MHz_XTAL / 3);
m_dma8257->out_hrq_cb().set(FUNC(ibm6580_state::hrq_w));
m_dma8257->out_tc_cb().set(m_fdc, FUNC(upd765a_device::tc_line_w));
m_dma8257->in_memr_cb().set(FUNC(ibm6580_state::memory_read_byte));
@@ -924,7 +924,7 @@ MACHINE_CONFIG_START(ibm6580_state::ibm6580)
m_dma8257->in_ior_cb<0>().set(m_fdc, FUNC(upd765a_device::mdma_r));
m_dma8257->out_iow_cb<0>().set(m_fdc, FUNC(upd765a_device::mdma_w));
- UPD765A(config, m_fdc, false, false);
+ UPD765A(config, m_fdc, 24_MHz_XTAL / 3, false, false);
m_fdc->intrq_wr_callback().set(FUNC(ibm6580_state::floppy_intrq));
// m_fdc->intrq_wr_callback().append(m_pic8259, FUNC(pic8259_device::ir4_w));
m_fdc->drq_wr_callback().set(m_dma8257, FUNC(i8257_device::dreq0_w));
diff --git a/src/mame/drivers/ibmpcjr.cpp b/src/mame/drivers/ibmpcjr.cpp
index 8829ed707c6..c1b64410518 100644
--- a/src/mame/drivers/ibmpcjr.cpp
+++ b/src/mame/drivers/ibmpcjr.cpp
@@ -660,7 +660,7 @@ MACHINE_CONFIG_START(pcjr_state::ibmpcjr)
MCFG_CASSETTE_ADD( "cassette")
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED)
- UPD765A(config, m_fdc, false, false);
+ UPD765A(config, m_fdc, 8'000'000, false, false);
MCFG_FLOPPY_DRIVE_ADD("fdc:0", pcjr_floppies, "525dd", isa8_fdc_device::floppy_formats)
MCFG_SLOT_FIXED(true)
diff --git a/src/mame/drivers/kdt6.cpp b/src/mame/drivers/kdt6.cpp
index e201993d87a..0b0c6eb6eca 100644
--- a/src/mame/drivers/kdt6.cpp
+++ b/src/mame/drivers/kdt6.cpp
@@ -709,7 +709,7 @@ MACHINE_CONFIG_START(kdt6_state::psi98)
UPD1990A(config, m_rtc);
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8'000'000, true, true);
m_fdc->intrq_wr_callback().set("ctc1", FUNC(z80ctc_device::trg0));
m_fdc->drq_wr_callback().set(FUNC(kdt6_state::fdc_drq_w));
MCFG_FLOPPY_DRIVE_ADD("fdc:0", kdt6_floppies, "fd55f", floppy_image_device::default_floppy_formats)
diff --git a/src/mame/drivers/m5.cpp b/src/mame/drivers/m5.cpp
index 3d9ee11c460..ecef78735a7 100644
--- a/src/mame/drivers/m5.cpp
+++ b/src/mame/drivers/m5.cpp
@@ -1443,7 +1443,7 @@ MACHINE_CONFIG_START(m5_state::m5)
m_ppi->in_pc_callback().set(FUNC(m5_state::ppi_pc_r));
m_ppi->out_pc_callback().set(FUNC(m5_state::ppi_pc_w));
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8'000'000, true, true);
m_fdc->intrq_wr_callback().set_inputline(m_fd5cpu, INPUT_LINE_IRQ0);
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", m5_floppies, "525dd", m5_state::floppy_formats)
diff --git a/src/mame/drivers/microdec.cpp b/src/mame/drivers/microdec.cpp
index 7449b881c9c..ad3d925352f 100644
--- a/src/mame/drivers/microdec.cpp
+++ b/src/mame/drivers/microdec.cpp
@@ -226,7 +226,7 @@ void microdec_state::microdec(machine_config &config)
rs232b.dsr_handler().set("uart2", FUNC(i8251_device::write_dsr));
rs232b.cts_handler().set("uart2", FUNC(i8251_device::write_cts));
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8'000'000, true, true);
m_fdc->intrq_wr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
FLOPPY_CONNECTOR(config, "fdc:0", microdec_floppies, "525hd", floppy_image_device::default_floppy_formats).enable_sound(true);
//FLOPPY_CONNECTOR(config, "fdc:1", microdec_floppies, "525hd", floppy_image_device::default_floppy_formats).enable_sound(true);
diff --git a/src/mame/drivers/mikromik.cpp b/src/mame/drivers/mikromik.cpp
index 3598457087c..11be36e599c 100644
--- a/src/mame/drivers/mikromik.cpp
+++ b/src/mame/drivers/mikromik.cpp
@@ -490,7 +490,7 @@ MACHINE_CONFIG_START(mm1_state::mm1)
m_pit->set_clk<2>(6.144_MHz_XTAL/2/2);
m_pit->out_handler<2>().set(FUNC(mm1_state::auxc_w));
- UPD765A(config, m_fdc, /* 16_MHz_XTAL/2/2, */ true, true);
+ UPD765A(config, m_fdc, 16_MHz_XTAL/2, true, true);
m_fdc->intrq_wr_callback().set_inputline(m_maincpu, I8085_RST55_LINE);
m_fdc->drq_wr_callback().set(m_dmac, FUNC(am9517a_device::dreq3_w));
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", mm1_floppies, "525qd", mm1_state::floppy_formats)
diff --git a/src/mame/drivers/mpc3000.cpp b/src/mame/drivers/mpc3000.cpp
index 0b8d94edd15..41db7183a7d 100644
--- a/src/mame/drivers/mpc3000.cpp
+++ b/src/mame/drivers/mpc3000.cpp
@@ -216,7 +216,7 @@ void mpc3000_state::mpc3000(machine_config &config)
MCFG_PALETTE_ADD("palette", 2)
MCFG_PALETTE_INIT_OWNER(mpc3000_state, mpc3000)
- UPD72065(config, m_fdc, 0, true, true); // TODO: upd72068 supports motor control
+ UPD72065(config, m_fdc, 16_MHz_XTAL, true, true); // clocked by V53 CLKOUT (TODO: upd72068 supports motor control)
//m_fdc->intrq_wr_callback().set(m_maincpu, FUNC(v53a_device::ir?_w));
//m_fdc->drq_wr_callback().set(m_maincpu, FUNC(v53a_device::drq?_w));
diff --git a/src/mame/drivers/msx.cpp b/src/mame/drivers/msx.cpp
index 97355b6eeb2..2c0bd54d668 100644
--- a/src/mame/drivers/msx.cpp
+++ b/src/mame/drivers/msx.cpp
@@ -1310,7 +1310,7 @@ void msx_state::msx_mb8877a(machine_config & config)
void msx_state::msx_tc8566af(machine_config &config)
{
- TC8566AF(config, "fdc");
+ TC8566AF(config, "fdc", 16'000'000);
}
void msx_state::msx_microsol(machine_config &config)
diff --git a/src/mame/drivers/mz3500.cpp b/src/mame/drivers/mz3500.cpp
index 10a5b39383b..5fceed32114 100644
--- a/src/mame/drivers/mz3500.cpp
+++ b/src/mame/drivers/mz3500.cpp
@@ -827,7 +827,7 @@ MACHINE_CONFIG_START(mz3500_state::mz3500)
ppi.out_pb_callback().set(FUNC(mz3500_state::mz3500_pb_w));
ppi.out_pc_callback().set(FUNC(mz3500_state::mz3500_pc_w));
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8'000'000, true, true);
m_fdc->intrq_wr_callback().set_inputline(m_master, INPUT_LINE_IRQ0);
MCFG_FLOPPY_DRIVE_ADD("upd765a:0", mz3500_floppies, "525ssdd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("upd765a:1", mz3500_floppies, "525ssdd", floppy_image_device::default_floppy_formats)
diff --git a/src/mame/drivers/mz6500.cpp b/src/mame/drivers/mz6500.cpp
index 0e78bcdf745..c0db3e4506a 100644
--- a/src/mame/drivers/mz6500.cpp
+++ b/src/mame/drivers/mz6500.cpp
@@ -170,7 +170,7 @@ MACHINE_CONFIG_START(mz6500_state::mz6500)
m_hgdc->set_addrmap(0, &mz6500_state::upd7220_map);
m_hgdc->set_display_pixels_callback(FUNC(mz6500_state::hgdc_display_pixels), this);
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8000000, true, true);
MCFG_FLOPPY_DRIVE_ADD("upd765:0", mz6500_floppies, "525hd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("upd765:1", mz6500_floppies, "525hd", floppy_image_device::default_floppy_formats)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/nanos.cpp b/src/mame/drivers/nanos.cpp
index 1c511c10adb..cec0b5669b9 100644
--- a/src/mame/drivers/nanos.cpp
+++ b/src/mame/drivers/nanos.cpp
@@ -516,7 +516,7 @@ MACHINE_CONFIG_START(nanos_state::nanos)
m_pio->out_pb_callback().set(FUNC(nanos_state::port_b_w));
/* UPD765 */
- UPD765A(config, m_fdc, false, true);
+ UPD765A(config, m_fdc, 8'000'000, false, true);
MCFG_FLOPPY_DRIVE_ADD(m_floppy, nanos_floppies, "525hd", nanos_state::floppy_formats)
/* internal ram */
diff --git a/src/mame/drivers/nc.cpp b/src/mame/drivers/nc.cpp
index 1630eb6aa6e..9401f3e773e 100644
--- a/src/mame/drivers/nc.cpp
+++ b/src/mame/drivers/nc.cpp
@@ -1483,7 +1483,7 @@ MACHINE_CONFIG_START(nc200_state::nc200)
m_uart->rxrdy_handler().set(FUNC(nc200_state::nc200_rxrdy_callback));
m_uart->txrdy_handler().set(FUNC(nc200_state::nc200_txrdy_callback));
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8'000'000, true, true);
m_fdc->intrq_wr_callback().set(FUNC(nc200_state::nc200_fdc_interrupt));
MCFG_FLOPPY_DRIVE_ADD("upd765:0", ibmpc_floppies, "525dd", ibmpc_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("upd765:1", ibmpc_floppies, "525dd", ibmpc_floppy_formats)
diff --git a/src/mame/drivers/olyboss.cpp b/src/mame/drivers/olyboss.cpp
index 19d28fa6cc9..65229b9fcb4 100644
--- a/src/mame/drivers/olyboss.cpp
+++ b/src/mame/drivers/olyboss.cpp
@@ -449,7 +449,7 @@ MACHINE_CONFIG_START( olyboss_state::olybossd )
AM9519(config, m_uic, 0);
m_uic->out_int_callback().set_inputline("maincpu", 0);
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8'000'000, true, true);
m_fdc->intrq_wr_callback().set(m_uic, FUNC(am9519_device::ireq2_w)).invert();
m_fdc->drq_wr_callback().set(m_dma, FUNC(i8257_device::dreq0_w));
FLOPPY_CONNECTOR(config, m_fdd0, bosscd_floppies, "525qd", floppy_image_device::default_floppy_formats);
@@ -515,7 +515,7 @@ MACHINE_CONFIG_START( olyboss_state::bossb85 )
PIC8259(config, m_pic, 0);
m_pic->out_int_callback().set_inputline(m_maincpu, 0);
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8'000'000, true, true);
m_fdc->intrq_wr_callback().set_inputline(m_maincpu, I8085_RST65_LINE);
m_fdc->drq_wr_callback().set(m_dma, FUNC(i8257_device::dreq0_w));
MCFG_FLOPPY_DRIVE_ADD("fdc:0", bossb_floppies, "525dd", floppy_image_device::default_floppy_formats)
diff --git a/src/mame/drivers/p8k.cpp b/src/mame/drivers/p8k.cpp
index 9e6625a21a7..a5302baf1aa 100644
--- a/src/mame/drivers/p8k.cpp
+++ b/src/mame/drivers/p8k.cpp
@@ -418,7 +418,7 @@ GFXDECODE_END
MACHINE_CONFIG_START(p8k_state::p8k)
/* basic machine hardware */
- z80_device& maincpu(Z80(config, "maincpu", XTAL(4'000'000)));
+ z80_device& maincpu(Z80(config, "maincpu", 16_MHz_XTAL / 4));
maincpu.set_daisy_config(p8k_daisy_chain);
maincpu.set_addrmap(AS_PROGRAM, &p8k_state::p8k_memmap);
maincpu.set_addrmap(AS_IO, &p8k_state::p8k_iomap);
@@ -426,7 +426,7 @@ MACHINE_CONFIG_START(p8k_state::p8k)
MCFG_MACHINE_RESET_OVERRIDE(p8k_state,p8k)
/* peripheral hardware */
- z80dma_device& dma(Z80DMA(config, "dma", XTAL(4'000'000)));
+ z80dma_device& dma(Z80DMA(config, "dma", 16_MHz_XTAL / 4));
dma.out_busreq_callback().set(FUNC(p8k_state::p8k_dma_irq_w));
dma.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
dma.in_mreq_callback().set(FUNC(p8k_state::memory_read_byte));
@@ -450,7 +450,7 @@ MACHINE_CONFIG_START(p8k_state::p8k)
// Baud Gen 0, Baud Gen 1, Baud Gen 2,
ctc1.intr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
- z80sio_device& sio(Z80SIO(config, "sio", XTAL(4'000'000)));
+ z80sio_device& sio(Z80SIO(config, "sio", 16_MHz_XTAL / 4));
sio.out_txdb_callback().set("rs232", FUNC(rs232_port_device::write_txd));
sio.out_dtrb_callback().set("rs232", FUNC(rs232_port_device::write_dtr));
sio.out_rtsb_callback().set("rs232", FUNC(rs232_port_device::write_rts));
@@ -460,7 +460,7 @@ MACHINE_CONFIG_START(p8k_state::p8k)
rs232.rxd_handler().set("sio", FUNC(z80sio_device::rxb_w));
rs232.cts_handler().set("sio", FUNC(z80sio_device::ctsb_w));
- z80sio_device& sio1(Z80SIO(config, "sio1", XTAL(4'000'000)));
+ z80sio_device& sio1(Z80SIO(config, "sio1", 16_MHz_XTAL / 4));
sio1.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
z80pio_device& pio0(Z80PIO(config, "pio0", 1229000));
@@ -473,7 +473,7 @@ MACHINE_CONFIG_START(p8k_state::p8k)
m_pio2->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
m_pio2->in_pa_callback().set_ioport("DSW");
- I8272A(config, m_i8272, true);
+ I8272A(config, m_i8272, 16_MHz_XTAL / 8, true);
m_i8272->drq_wr_callback().set("dma", FUNC(z80dma_device::rdy_w));
MCFG_FLOPPY_DRIVE_ADD("i8272:0", p8k_floppies, "525hd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("i8272:1", p8k_floppies, "525hd", floppy_image_device::default_floppy_formats)
diff --git a/src/mame/drivers/pasopia7.cpp b/src/mame/drivers/pasopia7.cpp
index 6958c1b4316..3e750193123 100644
--- a/src/mame/drivers/pasopia7.cpp
+++ b/src/mame/drivers/pasopia7.cpp
@@ -966,7 +966,7 @@ MACHINE_CONFIG_START(pasopia7_state::p7_base)
m_ppi2->in_pc_callback().set(FUNC(pasopia7_state::nmi_reg_r));
m_ppi2->out_pc_callback().set(FUNC(pasopia7_state::nmi_reg_w));
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8'000'000, true, true);
MCFG_FLOPPY_DRIVE_ADD("fdc:0", pasopia7_floppies, "525hd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("fdc:1", pasopia7_floppies, "525hd", floppy_image_device::default_floppy_formats)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pc100.cpp b/src/mame/drivers/pc100.cpp
index be1e7ac3e84..deee05ca664 100644
--- a/src/mame/drivers/pc100.cpp
+++ b/src/mame/drivers/pc100.cpp
@@ -667,7 +667,7 @@ MACHINE_CONFIG_START(pc100_state::pc100)
//i8251.rts_handler().set("rs232", FUNC(rs232_port_device::write_rts));
i8251.rxrdy_handler().set(m_pic, FUNC(pic8259_device::ir1_w));
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8'000'000, true, true);
m_fdc->intrq_wr_callback().set(FUNC(pc100_state::irqnmi_w));
m_fdc->drq_wr_callback().set(FUNC(pc100_state::drqnmi_w));
diff --git a/src/mame/drivers/pc8801.cpp b/src/mame/drivers/pc8801.cpp
index 67390407e52..aaef108e59a 100644
--- a/src/mame/drivers/pc8801.cpp
+++ b/src/mame/drivers/pc8801.cpp
@@ -2370,7 +2370,7 @@ MACHINE_CONFIG_START(pc8801_state::pc8801)
d8255_slave.in_pc_callback().set(FUNC(pc8801_state::fdc_8255_c_r));
d8255_slave.out_pc_callback().set(FUNC(pc8801_state::fdc_8255_c_w));
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8'000'000, true, true);
m_fdc->intrq_wr_callback().set_inputline(m_fdccpu, INPUT_LINE_IRQ0);
#if USE_PROPER_I8214
diff --git a/src/mame/drivers/pc88va.cpp b/src/mame/drivers/pc88va.cpp
index 2c2b67d2ca1..5906ed879ce 100644
--- a/src/mame/drivers/pc88va.cpp
+++ b/src/mame/drivers/pc88va.cpp
@@ -1648,7 +1648,7 @@ MACHINE_CONFIG_START(pc88va_state::pc88va)
m_dmac->in_memr_callback().set(FUNC(pc88va_state::dma_memr_cb));
m_dmac->out_memw_callback().set(FUNC(pc88va_state::dma_memw_cb));
- UPD765A(config, m_fdc, false, true);
+ UPD765A(config, m_fdc, 8000000, false, true);
m_fdc->intrq_wr_callback().set(FUNC(pc88va_state::fdc_irq));
m_fdc->drq_wr_callback().set(FUNC(pc88va_state::fdc_drq));
FLOPPY_CONNECTOR(config, m_fdd[0], pc88va_floppies, "525hd", pc88va_state::floppy_formats);
diff --git a/src/mame/drivers/pc9801.cpp b/src/mame/drivers/pc9801.cpp
index 8831b5e954a..a2fa19bd268 100644
--- a/src/mame/drivers/pc9801.cpp
+++ b/src/mame/drivers/pc9801.cpp
@@ -2351,7 +2351,7 @@ MACHINE_CONFIG_START(pc9801_state::pc9801_common)
I8251(config, m_sio, 0);
- UPD765A(config, m_fdc_2hd, true, true);
+ UPD765A(config, m_fdc_2hd, 8'000'000, true, true);
m_fdc_2hd->intrq_wr_callback().set(m_pic2, FUNC(pic8259_device::ir3_w));
m_fdc_2hd->drq_wr_callback().set(m_dmac, FUNC(am9517a_device::dreq2_w)).invert();
FLOPPY_CONNECTOR(config, "upd765_2hd:0", pc9801_floppies, "525hd", pc9801_state::floppy_formats);
@@ -2401,7 +2401,7 @@ MACHINE_CONFIG_START(pc9801_state::pc9801)
// TODO: maybe force dips to avoid beep error
RAM(config, m_ram).set_default_size("640K").set_extra_options("128K,256K,384K,512K");
- UPD765A(config, m_fdc_2dd, false, true);
+ UPD765A(config, m_fdc_2dd, 8'000'000, false, true);
m_fdc_2dd->intrq_wr_callback().set(FUNC(pc9801_state::fdc_2dd_irq));
m_fdc_2dd->drq_wr_callback().set(m_dmac, FUNC(am9517a_device::dreq3_w)).invert();
FLOPPY_CONNECTOR(config, "upd765_2dd:0", pc9801_floppies, "525dd", pc9801_state::floppy_formats);
diff --git a/src/mame/drivers/pcw.cpp b/src/mame/drivers/pcw.cpp
index 3cb03bb101a..c0f1a3626f1 100644
--- a/src/mame/drivers/pcw.cpp
+++ b/src/mame/drivers/pcw.cpp
@@ -1261,7 +1261,7 @@ void pcw_state::pcw(machine_config &config)
SPEAKER(config, "mono").front_center();
BEEP(config, m_beeper, 3750).add_route(ALL_OUTPUTS, "mono", 1.00);
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 4'000'000, true, true);
m_fdc->intrq_wr_callback().set(FUNC(pcw_state::pcw_fdc_interrupt));
FLOPPY_CONNECTOR(config, "upd765:0", pcw_floppies, "3dsdd", floppy_image_device::default_floppy_formats);
diff --git a/src/mame/drivers/pcw16.cpp b/src/mame/drivers/pcw16.cpp
index a74a4f76048..f05ee9717b5 100644
--- a/src/mame/drivers/pcw16.cpp
+++ b/src/mame/drivers/pcw16.cpp
@@ -1063,7 +1063,7 @@ MACHINE_CONFIG_START(pcw16_state::pcw16)
pc_lpt_device &lpt(PC_LPT(config, "lpt"));
lpt.irq_handler().set_inputline(m_maincpu, 0);
- PC_FDC_SUPERIO(config, m_fdc);
+ PC_FDC_SUPERIO(config, m_fdc, 48_MHz_XTAL / 2);
m_fdc->intrq_wr_callback().set(FUNC(pcw16_state::fdc_interrupt));
MCFG_FLOPPY_DRIVE_ADD("fdc:0", pcw16_floppies, "35hd", pcw16_state::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("fdc:1", pcw16_floppies, "35hd", pcw16_state::floppy_formats)
diff --git a/src/mame/drivers/peoplepc.cpp b/src/mame/drivers/peoplepc.cpp
index 10e4c8a4fe0..d747c97ed5c 100644
--- a/src/mame/drivers/peoplepc.cpp
+++ b/src/mame/drivers/peoplepc.cpp
@@ -290,7 +290,7 @@ MACHINE_CONFIG_START(peoplepc_state::olypeopl)
m_dmac->in_ior_cb<0>().set("upd765", FUNC(upd765a_device::mdma_r));
m_dmac->out_iow_cb<0>().set("upd765", FUNC(upd765a_device::mdma_w));
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8'000'000, true, true);
m_fdc->intrq_wr_callback().set("pic8259_0", FUNC(pic8259_device::ir2_w));
m_fdc->drq_wr_callback().set(m_dmac, FUNC(i8257_device::dreq0_w));
MCFG_FLOPPY_DRIVE_ADD("upd765:0", peoplepc_floppies, "525qd", peoplepc_state::floppy_formats)
diff --git a/src/mame/drivers/prof180x.cpp b/src/mame/drivers/prof180x.cpp
index a6ecb6ab273..5c50a37cf6c 100644
--- a/src/mame/drivers/prof180x.cpp
+++ b/src/mame/drivers/prof180x.cpp
@@ -253,7 +253,7 @@ MACHINE_CONFIG_START(prof180x_state::prof180x)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
/* devices */
- UPD765A(config, FDC9268_TAG, false, true);
+ UPD765A(config, FDC9268_TAG, 8'000'000, false, true);
MCFG_FLOPPY_DRIVE_ADD(FDC9268_TAG ":0", prof180x_floppies, "35dd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FDC9268_TAG ":1", prof180x_floppies, "35dd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FDC9268_TAG ":2", prof180x_floppies, "35dd", floppy_image_device::default_floppy_formats)
diff --git a/src/mame/drivers/prof80.cpp b/src/mame/drivers/prof80.cpp
index 2d38f744002..32c63660a2f 100644
--- a/src/mame/drivers/prof80.cpp
+++ b/src/mame/drivers/prof80.cpp
@@ -464,7 +464,7 @@ MACHINE_CONFIG_START(prof80_state::prof80)
UPD1990A(config, m_rtc);
// FDC
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8'000'000, true, true);
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", prof80_floppies, "525qd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", prof80_floppies, "525qd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":2", prof80_floppies, nullptr, floppy_image_device::default_floppy_formats)
diff --git a/src/mame/drivers/pwrview.cpp b/src/mame/drivers/pwrview.cpp
index e2e12f97988..f9295d7d81c 100644
--- a/src/mame/drivers/pwrview.cpp
+++ b/src/mame/drivers/pwrview.cpp
@@ -420,7 +420,7 @@ MACHINE_CONFIG_START(pwrview_state::pwrview)
m_pit->set_clk<2>(XTAL(16'000'000)/16);
// floppy disk controller
- UPD765A(config, "fdc", true, true); // Rockwell R7675P
+ UPD765A(config, "fdc", 8'000'000, true, true); // Rockwell R7675P
//fdc.intrq_wr_callback().set("pic1", FUNC(pic8259_device::ir6_w));
//fdc.drq_wr_callback().set(m_maincpu, FUNC(i80186_cpu_device::drq1_w));
MCFG_FLOPPY_DRIVE_ADD("fdc:0", pwrview_floppies, "525dd", floppy_image_device::default_floppy_formats)
diff --git a/src/mame/drivers/pyl601.cpp b/src/mame/drivers/pyl601.cpp
index 861df9814d6..76440684d7c 100644
--- a/src/mame/drivers/pyl601.cpp
+++ b/src/mame/drivers/pyl601.cpp
@@ -571,7 +571,7 @@ MACHINE_CONFIG_START(pyl601_state::pyl601)
crtc.set_char_width(8); /* ? */
crtc.set_update_row_callback(FUNC(pyl601_state::pyl601_update_row), this);
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8'000'000, true, true);
MCFG_FLOPPY_DRIVE_ADD("upd765:0", pyl601_floppies, "525hd", pyl601_state::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("upd765:1", pyl601_floppies, "525hd", pyl601_state::floppy_formats)
MCFG_SOFTWARE_LIST_ADD("flop_list","pyl601")
diff --git a/src/mame/drivers/qx10.cpp b/src/mame/drivers/qx10.cpp
index 3303cb96d19..0c508a51f42 100644
--- a/src/mame/drivers/qx10.cpp
+++ b/src/mame/drivers/qx10.cpp
@@ -809,7 +809,7 @@ MACHINE_CONFIG_START(qx10_state::qx10)
MC146818(config, m_rtc, 32.768_kHz_XTAL);
m_rtc->irq().set(m_pic_s, FUNC(pic8259_device::ir2_w));
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8'000'000, true, true);
m_fdc->intrq_wr_callback().set(FUNC(qx10_state::qx10_upd765_interrupt));
m_fdc->drq_wr_callback().set(m_dma_1, FUNC(am9517a_device::dreq0_w)).invert();
FLOPPY_CONNECTOR(config, m_floppy[0], qx10_floppies, "525dd", floppy_image_device::default_floppy_formats);
diff --git a/src/mame/drivers/rc702.cpp b/src/mame/drivers/rc702.cpp
index d29dfad2a64..42f71a295eb 100644
--- a/src/mame/drivers/rc702.cpp
+++ b/src/mame/drivers/rc702.cpp
@@ -362,7 +362,7 @@ MACHINE_CONFIG_START(rc702_state::rc702)
m_dma->out_iow_callback<3>().set("crtc", FUNC(i8275_device::dack_w));
m_dma->out_dack_callback<1>().set(FUNC(rc702_state::dack1_w));
- UPD765A(config, m_fdc, true, true);
+ UPD765A(config, m_fdc, 8_MHz_XTAL, true, true);
m_fdc->intrq_wr_callback().set(m_ctc1, FUNC(z80ctc_device::trg3));
m_fdc->drq_wr_callback().set(m_dma, FUNC(am9517a_device::dreq1_w));
MCFG_FLOPPY_DRIVE_ADD("fdc:0", floppies, "525qd", floppy_image_device::default_floppy_formats)
diff --git a/src/mame/drivers/sage2.cpp b/src/mame/drivers/sage2.cpp
index 5e425f0f941..a995314c165 100644
--- a/src/mame/drivers/sage2.cpp
+++ b/src/mame/drivers/sage2.cpp
@@ -467,7 +467,7 @@ MACHINE_CONFIG_START(sage2_state::sage2)
rs232b.rxd_handler().set(m_usart1, FUNC(i8251_device::write_rxd));
rs232b.dsr_handler().set(m_usart1, FUNC(i8251_device::write_dsr));
- UPD765A(config, m_fdc, false, false);
+ UPD765A(config, m_fdc, 8'000'000, false, false);
m_fdc->intrq_wr_callback().set(FUNC(sage2_state::fdc_irq));
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
diff --git a/src/mame/drivers/sg1000.cpp b/src/mame/drivers/sg1000.cpp
index 2344d2582a7..ce1a99ab3f1 100644
--- a/src/mame/drivers/sg1000.cpp
+++ b/src/mame/drivers/sg1000.cpp
@@ -649,7 +649,7 @@ MACHINE_CONFIG_START(sf7000_state::sf7000)
rs232.rxd_handler().set(UPD8251_TAG, FUNC(i8251_device::write_rxd));
rs232.dsr_handler().set(UPD8251_TAG, FUNC(i8251_device::write_dsr));
- UPD765A(config, m_fdc, false, false);
+ UPD765A(config, m_fdc, 8'000'000, false, false);
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", sf7000_floppies, "3ssdd", sf7000_state::floppy_formats)
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
diff --git a/src/mame/drivers/specpls3.cpp b/src/mame/drivers/specpls3.cpp
index 15089e10516..deee57e2cec 100644
--- a/src/mame/drivers/specpls3.cpp
+++ b/src/mame/drivers/specpls3.cpp
@@ -389,7 +389,7 @@ MACHINE_CONFIG_START(spectrum_state::spectrum_plus3)
MCFG_MACHINE_RESET_OVERRIDE(spectrum_state, spectrum_plus3 )
- UPD765A(config, m_upd765, true, true);
+ UPD765A(config, m_upd765, 4'000'000, true, true);
MCFG_FLOPPY_DRIVE_ADD("upd765:0", specpls3_floppies, "3ssdd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("upd765:1", specpls3_floppies, "3ssdd", floppy_image_device::default_floppy_formats)
diff --git a/src/mame/drivers/tandy2k.cpp b/src/mame/drivers/tandy2k.cpp
index 52c3be8cbf7..79019164e21 100644
--- a/src/mame/drivers/tandy2k.cpp
+++ b/src/mame/drivers/tandy2k.cpp
@@ -851,7 +851,7 @@ MACHINE_CONFIG_START(tandy2k_state::tandy2k)
PIC8259(config, m_pic1, 0);
m_pic1->out_int_callback().set(m_maincpu, FUNC(i80186_cpu_device::int1_w));
- I8272A(config, m_fdc, true);
+ I8272A(config, m_fdc, 16_MHz_XTAL / 4, true);
m_fdc->set_select_lines_connected(true);
m_fdc->intrq_wr_callback().set(m_pic0, FUNC(pic8259_device::ir4_w));
m_fdc->drq_wr_callback().set(FUNC(tandy2k_state::fdc_drq_w));
diff --git a/src/mame/drivers/tim011.cpp b/src/mame/drivers/tim011.cpp
index eabf4f92de8..5148f655404 100644
--- a/src/mame/drivers/tim011.cpp
+++ b/src/mame/drivers/tim011.cpp
@@ -140,8 +140,8 @@ MACHINE_CONFIG_START(tim011_state::tim011)
// MCFG_DEVICE_ADD("keyboard",CDP1802, XTAL(1'750'000)) // CDP1802, unknown clock
- // FDC9266 location U43 XTAL(8'000'000)
- UPD765A(config, m_fdc, true, true);
+ // FDC9266 location U43
+ UPD765A(config, m_fdc, XTAL(8'000'000), true, true);
m_fdc->intrq_wr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ2);
/* floppy drives */
diff --git a/src/mame/drivers/wangpc.cpp b/src/mame/drivers/wangpc.cpp
index 1be93bb9be3..4b0c4da1326 100644
--- a/src/mame/drivers/wangpc.cpp
+++ b/src/mame/drivers/wangpc.cpp
@@ -1327,7 +1327,7 @@ MACHINE_CONFIG_START(wangpc_state::wangpc)
m_epci->dtr_handler().set(RS232_TAG, FUNC(rs232_port_device::write_dtr));
m_epci->txemt_dschg_handler().set(FUNC(wangpc_state::epci_irq_w));
- UPD765A(config, m_fdc, false, false);
+ UPD765A(config, m_fdc, 8'000'000, false, false);
m_fdc->intrq_wr_callback().set(FUNC(wangpc_state::fdc_irq));
m_fdc->drq_wr_callback().set(FUNC(wangpc_state::fdc_drq));
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", wangpc_floppies, "525dd", wangpc_state::floppy_formats)
diff --git a/src/mame/drivers/x68k.cpp b/src/mame/drivers/x68k.cpp
index 37930c5408c..4371aea9c12 100644
--- a/src/mame/drivers/x68k.cpp
+++ b/src/mame/drivers/x68k.cpp
@@ -1616,7 +1616,7 @@ MACHINE_CONFIG_START(x68k_state::x68000_base)
FILTER_VOLUME(config, m_adpcm_out[0]).add_route(ALL_OUTPUTS, "lspeaker", 1.0);
FILTER_VOLUME(config, m_adpcm_out[1]).add_route(ALL_OUTPUTS, "rspeaker", 1.0);
- UPD72065(config, m_upd72065, 0, true, false);
+ UPD72065(config, m_upd72065, 16_MHz_XTAL / 2, true, false); // clocked through SED9420CAC
m_upd72065->intrq_wr_callback().set(FUNC(x68k_state::fdc_irq));
m_upd72065->drq_wr_callback().set(m_hd63450, FUNC(hd63450_device::drq0_w));
FLOPPY_CONNECTOR(config, "upd72065:0", x68k_floppies, "525hd", x68k_state::floppy_formats);
diff --git a/src/mame/machine/ibm6580_fdc.cpp b/src/mame/machine/ibm6580_fdc.cpp
index 556cc718ef2..8a3e997ef62 100644
--- a/src/mame/machine/ibm6580_fdc.cpp
+++ b/src/mame/machine/ibm6580_fdc.cpp
@@ -31,7 +31,7 @@ const tiny_rom_entry *dw_fdc_device::device_rom_region() const
void dw_fdc_device::device_add_mconfig(machine_config &config)
{
- I8048(config, m_mcu, XTAL(24'000'000)/4); // divisor is unverified
+ I8048(config, m_mcu, 24_MHz_XTAL / 4); // divisor is unverified
// m_mcu->bus_in_cb().set(FUNC(dw_fdc_device::bus_r));
// m_mcu->bus_out_cb().set(FUNC(dw_fdc_device::bus_w));
m_mcu->p1_out_cb().set(FUNC(dw_fdc_device::p1_w));
@@ -41,7 +41,7 @@ void dw_fdc_device::device_add_mconfig(machine_config &config)
I8255(config, "ppi8255", 0);
- UPD765A(config, "upd765", false, false);
+ UPD765A(config, "upd765", 24_MHz_XTAL / 3, false, false);
// m_upd_fdc->intrq_wr_callback().set("pic8259", FUNC(pic8259_device::ir4_w));
// m_upd_fdc->drq_wr_callback().set("dma8257", FUNC(dma8257_device::XXX));
// MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", wangpc_floppies, "525dd", wangpc_state::floppy_formats)
diff --git a/src/mame/machine/isbc_208.cpp b/src/mame/machine/isbc_208.cpp
index 22456234ad7..04789cd8ecf 100644
--- a/src/mame/machine/isbc_208.cpp
+++ b/src/mame/machine/isbc_208.cpp
@@ -41,7 +41,7 @@ void isbc_208_device::device_add_mconfig(machine_config &config)
m_dmac->in_ior_callback<0>().set(m_fdc, FUNC(i8272a_device::mdma_r));
m_dmac->out_iow_callback<0>().set(m_fdc, FUNC(i8272a_device::mdma_w));
- I8272A(config, m_fdc, true);
+ I8272A(config, m_fdc, 8_MHz_XTAL, true);
m_fdc->intrq_wr_callback().set(FUNC(isbc_208_device::irq_w));
m_fdc->drq_wr_callback().set(m_dmac, FUNC(am9517a_device::dreq0_w));
FLOPPY_CONNECTOR(config, "fdc:0", isbc_208_floppies, "525dd", isbc_208_device::floppy_formats);