diff options
Diffstat (limited to 'src/devices/bus/isa/fdc.cpp')
-rw-r--r-- | src/devices/bus/isa/fdc.cpp | 97 |
1 files changed, 37 insertions, 60 deletions
diff --git a/src/devices/bus/isa/fdc.cpp b/src/devices/bus/isa/fdc.cpp index 2c37cb176dd..ddaf8409a8c 100644 --- a/src/devices/bus/isa/fdc.cpp +++ b/src/devices/bus/isa/fdc.cpp @@ -31,46 +31,6 @@ static SLOT_INTERFACE_START( pc_hd_floppies ) SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) SLOT_INTERFACE_END -static MACHINE_CONFIG_START( cfg_xt ) - MCFG_PC_FDC_XT_ADD("fdc") - MCFG_PC_FDC_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w)) - MCFG_PC_FDC_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w)) - MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_dd_floppies, "525dd", isa8_fdc_device::floppy_formats) - MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_dd_floppies, "525dd", isa8_fdc_device::floppy_formats) -MACHINE_CONFIG_END - -static MACHINE_CONFIG_START( cfg_at ) - MCFG_PC_FDC_AT_ADD("fdc") - MCFG_PC_FDC_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w)) - MCFG_PC_FDC_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w)) - MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats) - MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats) -MACHINE_CONFIG_END - -static MACHINE_CONFIG_START( cfg_smc ) - MCFG_SMC37C78_ADD("fdc") - MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w)) - MCFG_UPD765_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w)) - MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats) - MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats) -MACHINE_CONFIG_END - -static MACHINE_CONFIG_START( cfg_ps2 ) - MCFG_N82077AA_ADD("fdc", n82077aa_device::MODE_PS2) - MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w)) - MCFG_UPD765_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w)) - MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats) - MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats) -MACHINE_CONFIG_END - -static MACHINE_CONFIG_START( cfg_superio ) - MCFG_PC_FDC_SUPERIO_ADD("fdc") - MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w)) - MCFG_UPD765_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w)) - MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats) - MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats) -MACHINE_CONFIG_END - isa8_fdc_device::isa8_fdc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, type, tag, owner, clock), @@ -115,50 +75,67 @@ void isa8_fdc_device::eop_w(int state) fdc->tc_w(state == ASSERT_LINE); } + isa8_fdc_xt_device::isa8_fdc_xt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_XT, tag, owner, clock) { } -machine_config_constructor isa8_fdc_xt_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(cfg_xt); -} +MACHINE_CONFIG_MEMBER( isa8_fdc_xt_device::device_add_mconfig ) + MCFG_PC_FDC_XT_ADD("fdc") + MCFG_PC_FDC_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w)) + MCFG_PC_FDC_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w)) + MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_dd_floppies, "525dd", isa8_fdc_device::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_dd_floppies, "525dd", isa8_fdc_device::floppy_formats) +MACHINE_CONFIG_END + isa8_fdc_at_device::isa8_fdc_at_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_AT, tag, owner, clock) { } -machine_config_constructor isa8_fdc_at_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(cfg_at); -} +MACHINE_CONFIG_MEMBER( isa8_fdc_at_device::device_add_mconfig ) + MCFG_PC_FDC_AT_ADD("fdc") + MCFG_PC_FDC_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w)) + MCFG_PC_FDC_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w)) + MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats) +MACHINE_CONFIG_END isa8_fdc_smc_device::isa8_fdc_smc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_SMC, tag, owner, clock) { } -machine_config_constructor isa8_fdc_smc_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(cfg_smc); -} +MACHINE_CONFIG_MEMBER( isa8_fdc_smc_device::device_add_mconfig ) + MCFG_SMC37C78_ADD("fdc") + MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w)) + MCFG_UPD765_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w)) + MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats) +MACHINE_CONFIG_END isa8_fdc_ps2_device::isa8_fdc_ps2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_PS2, tag, owner, clock) { } -machine_config_constructor isa8_fdc_ps2_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(cfg_ps2); -} +MACHINE_CONFIG_MEMBER( isa8_fdc_ps2_device::device_add_mconfig ) + MCFG_N82077AA_ADD("fdc", n82077aa_device::MODE_PS2) + MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w)) + MCFG_UPD765_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w)) + MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats) +MACHINE_CONFIG_END isa8_fdc_superio_device::isa8_fdc_superio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_fdc_device(mconfig, ISA8_FDC_SUPERIO, tag, owner, clock) { } -machine_config_constructor isa8_fdc_superio_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(cfg_superio); -} +MACHINE_CONFIG_MEMBER( isa8_fdc_superio_device::device_add_mconfig ) + MCFG_PC_FDC_SUPERIO_ADD("fdc") + MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(isa8_fdc_device, irq_w)) + MCFG_UPD765_DRQ_CALLBACK(WRITELINE(isa8_fdc_device, drq_w)) + MCFG_FLOPPY_DRIVE_ADD("fdc:0", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD("fdc:1", pc_hd_floppies, "35hd", isa8_fdc_device::floppy_formats) +MACHINE_CONFIG_END DEFINE_DEVICE_TYPE(ISA8_FDC_XT, isa8_fdc_xt_device, "isa8_fdc_xt", "ISA 8bits XT FDC hookup") DEFINE_DEVICE_TYPE(ISA8_FDC_AT, isa8_fdc_at_device, "isa8_fdc_at", "ISA 8bits AT FDC hookup") |