summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/isa/fdc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/isa/fdc.cpp')
-rw-r--r--src/devices/bus/isa/fdc.cpp97
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")