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);