summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/emu/bus/a1bus/a1cassette.c3
-rw-r--r--src/emu/bus/a2bus/a2corvus.c12
-rw-r--r--src/emu/bus/a2bus/a2diskii.c8
-rw-r--r--src/emu/bus/adamnet/ddp.c3
-rw-r--r--src/emu/bus/bml3/bml3mp1802.c5
-rw-r--r--src/emu/bus/bml3/bml3mp1805.c5
-rw-r--r--src/emu/bus/coco/coco_fdc.c8
-rw-r--r--src/emu/bus/ieee488/c8050.c16
-rw-r--r--src/emu/bus/ieee488/hardbox.c12
-rw-r--r--src/emu/bus/ieee488/softbox.c13
-rw-r--r--src/emu/bus/pet/c2n.c3
-rw-r--r--src/emu/bus/scsi/scsicd.c5
-rw-r--r--src/emu/bus/scsi/scsicd.h2
-rw-r--r--src/emu/bus/scsi/scsihd.c5
-rw-r--r--src/emu/bus/scsi/scsihd.h2
-rw-r--r--src/emu/bus/ti99_peb/peribox.c74
-rw-r--r--src/emu/diimage.c3
-rw-r--r--src/emu/diimage.h5
-rw-r--r--src/emu/imagedev/cartslot.h40
-rw-r--r--src/emu/imagedev/cassette.c4
-rw-r--r--src/emu/imagedev/cassette.h2
-rw-r--r--src/emu/imagedev/chd_cd.c18
-rw-r--r--src/emu/imagedev/chd_cd.h23
-rw-r--r--src/emu/imagedev/diablo.c15
-rw-r--r--src/emu/imagedev/diablo.h27
-rw-r--r--src/emu/imagedev/flopdrv.c46
-rw-r--r--src/emu/imagedev/flopdrv.h23
-rw-r--r--src/emu/imagedev/floppy.h1
-rw-r--r--src/emu/imagedev/harddriv.c15
-rw-r--r--src/emu/imagedev/harddriv.h30
-rw-r--r--src/emu/imagedev/snapquik.h7
-rw-r--r--src/emu/machine/atapicdr.c5
-rw-r--r--src/emu/machine/atapicdr.h2
-rw-r--r--src/emu/machine/corvushd.c2
-rw-r--r--src/emu/machine/corvushd.h2
-rw-r--r--src/emu/machine/nscsi_cd.c5
-rw-r--r--src/emu/machine/nscsi_cd.h2
-rw-r--r--src/emu/machine/nscsi_hd.c5
-rw-r--r--src/emu/machine/nscsi_hd.h2
-rw-r--r--src/mame/drivers/3do.c11
-rw-r--r--src/mame/drivers/cd32.c8
-rw-r--r--src/mame/drivers/cdi.c23
-rw-r--r--src/mame/drivers/jaguar.c9
-rw-r--r--src/mess/drivers/a2600.c3
-rw-r--r--src/mess/drivers/abc80.c1
-rw-r--r--src/mess/drivers/abc80x.c1
-rw-r--r--src/mess/drivers/ace.c1
-rw-r--r--src/mess/drivers/aim65.c2
-rw-r--r--src/mess/drivers/alesis.c3
-rw-r--r--src/mess/drivers/alphatro.c3
-rw-r--r--src/mess/drivers/amiga.c10
-rw-r--r--src/mess/drivers/amstrad.c3
-rw-r--r--src/mess/drivers/apf.c7
-rw-r--r--src/mess/drivers/apogee.c3
-rw-r--r--src/mess/drivers/apple2.c1
-rw-r--r--src/mess/drivers/apple2gs.c16
-rw-r--r--src/mess/drivers/apple3.c6
-rw-r--r--src/mess/drivers/applix.c1
-rw-r--r--src/mess/drivers/aquarius.c1
-rw-r--r--src/mess/drivers/asst128.c1
-rw-r--r--src/mess/drivers/atom.c9
-rw-r--r--src/mess/drivers/ax20.c6
-rw-r--r--src/mess/drivers/bbc.c11
-rw-r--r--src/mess/drivers/bk.c3
-rw-r--r--src/mess/drivers/bob85.c1
-rw-r--r--src/mess/drivers/c80.c1
-rw-r--r--src/mess/drivers/cgenie.c7
-rw-r--r--src/mess/drivers/compis.c1
-rw-r--r--src/mess/drivers/comx35.c1
-rw-r--r--src/mess/drivers/cosmicos.c1
-rw-r--r--src/mess/drivers/crvision.c2
-rw-r--r--src/mess/drivers/d6800.c1
-rw-r--r--src/mess/drivers/dai.c1
-rw-r--r--src/mess/drivers/dgn_beta.c6
-rw-r--r--src/mess/drivers/dragon.c6
-rw-r--r--src/mess/drivers/electron.c1
-rw-r--r--src/mess/drivers/elf.c1
-rw-r--r--src/mess/drivers/elwro800.c1
-rw-r--r--src/mess/drivers/ep64.c3
-rw-r--r--src/mess/drivers/eti660.c1
-rw-r--r--src/mess/drivers/exp85.c1
-rw-r--r--src/mess/drivers/fc100.c1
-rw-r--r--src/mess/drivers/fm7.c11
-rw-r--r--src/mess/drivers/fmtowns.c8
-rw-r--r--src/mess/drivers/galaxy.c3
-rw-r--r--src/mess/drivers/h8.c3
-rw-r--r--src/mess/drivers/hec2hrp.c7
-rw-r--r--src/mess/drivers/huebler.c1
-rw-r--r--src/mess/drivers/ibmpcjr.c1
-rw-r--r--src/mess/drivers/interact.c3
-rw-r--r--src/mess/drivers/intv.c1
-rw-r--r--src/mess/drivers/iq151.c3
-rw-r--r--src/mess/drivers/jr100.c1
-rw-r--r--src/mess/drivers/jtc.c1
-rw-r--r--src/mess/drivers/jupiter.c6
-rw-r--r--src/mess/drivers/kc.c3
-rw-r--r--src/mess/drivers/kim1.c1
-rw-r--r--src/mess/drivers/kyocera.c1
-rw-r--r--src/mess/drivers/lc80.c1
-rw-r--r--src/mess/drivers/lisa.c8
-rw-r--r--src/mess/drivers/lviv.c3
-rw-r--r--src/mess/drivers/m5.c1
-rw-r--r--src/mess/drivers/mac.c8
-rw-r--r--src/mess/drivers/macpci.c8
-rw-r--r--src/mess/drivers/mbc200.c8
-rw-r--r--src/mess/drivers/mbc55x.c8
-rw-r--r--src/mess/drivers/mbee.c7
-rw-r--r--src/mess/drivers/mc10.c4
-rw-r--r--src/mess/drivers/mc1000.c1
-rw-r--r--src/mess/drivers/mc1502.c1
-rw-r--r--src/mess/drivers/megadriv.c18
-rw-r--r--src/mess/drivers/mikro80.c1
-rw-r--r--src/mess/drivers/mikrosha.c3
-rw-r--r--src/mess/drivers/mpf1.c1
-rw-r--r--src/mess/drivers/ms0515.c6
-rw-r--r--src/mess/drivers/msx.c3
-rw-r--r--src/mess/drivers/mtx.c1
-rw-r--r--src/mess/drivers/myb3k.c6
-rw-r--r--src/mess/drivers/mz2000.c9
-rw-r--r--src/mess/drivers/mz2500.c8
-rw-r--r--src/mess/drivers/mz700.c3
-rw-r--r--src/mess/drivers/mz80.c1
-rw-r--r--src/mess/drivers/nascom1.c6
-rw-r--r--src/mess/drivers/nes.c11
-rw-r--r--src/mess/drivers/newbrain.c1
-rw-r--r--src/mess/drivers/ng_aes.c10
-rw-r--r--src/mess/drivers/ondra.c3
-rw-r--r--src/mess/drivers/orao.c3
-rw-r--r--src/mess/drivers/oric.c1
-rw-r--r--src/mess/drivers/orion.c3
-rw-r--r--src/mess/drivers/osbexec.c6
-rw-r--r--src/mess/drivers/osborne1.c8
-rw-r--r--src/mess/drivers/osi.c7
-rw-r--r--src/mess/drivers/partner.c3
-rw-r--r--src/mess/drivers/pc6001.c1
-rw-r--r--src/mess/drivers/pc8001.c1
-rw-r--r--src/mess/drivers/pc8801.c4
-rw-r--r--src/mess/drivers/pecom.c3
-rw-r--r--src/mess/drivers/pegasus.c1
-rw-r--r--src/mess/drivers/phc25.c1
-rw-r--r--src/mess/drivers/pk8000.c1
-rw-r--r--src/mess/drivers/pk8020.c9
-rw-r--r--src/mess/drivers/pmd85.c1
-rw-r--r--src/mess/drivers/poisk1.c1
-rw-r--r--src/mess/drivers/poly88.c1
-rw-r--r--src/mess/drivers/poly880.c1
-rw-r--r--src/mess/drivers/primo.c1
-rw-r--r--src/mess/drivers/ptcsol.c1
-rw-r--r--src/mess/drivers/pv2000.c1
-rw-r--r--src/mess/drivers/px4.c1
-rw-r--r--src/mess/drivers/px8.c1
-rw-r--r--src/mess/drivers/ql.c32
-rw-r--r--src/mess/drivers/radio86.c3
-rw-r--r--src/mess/drivers/rainbow.c8
-rw-r--r--src/mess/drivers/rm380z.c6
-rw-r--r--src/mess/drivers/rmnimbus.c8
-rw-r--r--src/mess/drivers/samcoupe.c3
-rw-r--r--src/mess/drivers/saturn.c15
-rw-r--r--src/mess/drivers/sg1000.c3
-rw-r--r--src/mess/drivers/smc777.c8
-rw-r--r--src/mess/drivers/softbox.c12
-rw-r--r--src/mess/drivers/sorcerer.c11
-rw-r--r--src/mess/drivers/spc1000.c1
-rw-r--r--src/mess/drivers/special.c3
-rw-r--r--src/mess/drivers/spectrum.c3
-rw-r--r--src/mess/drivers/super80.c1
-rw-r--r--src/mess/drivers/svi318.c11
-rw-r--r--src/mess/drivers/swtpc09.c6
-rw-r--r--src/mess/drivers/thomson.c59
-rw-r--r--src/mess/drivers/ti990_4.c6
-rw-r--r--src/mess/drivers/tiki100.c1
-rw-r--r--src/mess/drivers/tmc1800.c1
-rw-r--r--src/mess/drivers/tmc2000e.c1
-rw-r--r--src/mess/drivers/tmc600.c1
-rw-r--r--src/mess/drivers/trs80.c7
-rw-r--r--src/mess/drivers/tvc.c3
-rw-r--r--src/mess/drivers/unixpc.c6
-rw-r--r--src/mess/drivers/ut88.c3
-rw-r--r--src/mess/drivers/vector06.c7
-rw-r--r--src/mess/drivers/vg5k.c3
-rw-r--r--src/mess/drivers/vip.c3
-rw-r--r--src/mess/drivers/vtech1.c7
-rw-r--r--src/mess/drivers/vtech2.c7
-rw-r--r--src/mess/drivers/x07.c3
-rw-r--r--src/mess/drivers/x1.c11
-rw-r--r--src/mess/drivers/x1twin.c11
-rw-r--r--src/mess/drivers/z100.c8
-rw-r--r--src/mess/drivers/z1013.c1
-rw-r--r--src/mess/drivers/z80ne.c8
-rw-r--r--src/mess/drivers/zx.c1
-rw-r--r--src/mess/includes/next.h1
-rw-r--r--src/mess/machine/atarifdc.c8
-rw-r--r--src/mess/machine/beta.c6
-rw-r--r--src/mess/machine/c65.c1
-rw-r--r--src/mess/machine/coco.c1
-rw-r--r--src/mess/machine/concept_exp.c6
-rw-r--r--src/mess/machine/genpc.c1
-rw-r--r--src/mess/machine/microdrv.c12
-rw-r--r--src/mess/machine/microdrv.h19
-rw-r--r--src/mess/machine/pce_cd.c9
-rw-r--r--src/mess/machine/psxcd.c8
-rw-r--r--src/mess/machine/rx01.c8
-rw-r--r--src/mess/machine/ti99/990_hd.c14
203 files changed, 309 insertions, 981 deletions
diff --git a/src/emu/bus/a1bus/a1cassette.c b/src/emu/bus/a1bus/a1cassette.c
index 0b7e53a5bea..33f781229a8 100644
--- a/src/emu/bus/a1bus/a1cassette.c
+++ b/src/emu/bus/a1bus/a1cassette.c
@@ -27,8 +27,7 @@ static const cassette_interface apple1_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED),
- "apple1_cass",
- NULL
+ "apple1_cass"
};
MACHINE_CONFIG_FRAGMENT( cassette )
diff --git a/src/emu/bus/a2bus/a2corvus.c b/src/emu/bus/a2bus/a2corvus.c
index 783e6fe7054..44a0ae8c0b3 100644
--- a/src/emu/bus/a2bus/a2corvus.c
+++ b/src/emu/bus/a2bus/a2corvus.c
@@ -57,10 +57,14 @@ const device_type A2BUS_CORVUS = &device_creator<a2bus_corvus_device>;
static MACHINE_CONFIG_FRAGMENT(corvus)
MCFG_DEVICE_ADD(CORVUS_HD_TAG, CORVUS_HDC, 0)
- MCFG_HARDDISK_CONFIG_ADD("harddisk1", corvus_hdc_t::hd_intf)
- MCFG_HARDDISK_CONFIG_ADD("harddisk2", corvus_hdc_t::hd_intf)
- MCFG_HARDDISK_CONFIG_ADD("harddisk3", corvus_hdc_t::hd_intf)
- MCFG_HARDDISK_CONFIG_ADD("harddisk4", corvus_hdc_t::hd_intf)
+ MCFG_HARDDISK_ADD("harddisk1")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk2")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk3")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk4")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
MACHINE_CONFIG_END
ROM_START( corvus )
diff --git a/src/emu/bus/a2bus/a2diskii.c b/src/emu/bus/a2bus/a2diskii.c
index 5f0bcd11f87..b896acc2fda 100644
--- a/src/emu/bus/a2bus/a2diskii.c
+++ b/src/emu/bus/a2bus/a2diskii.c
@@ -41,15 +41,9 @@ const applefdc_interface fdc_interface =
static const floppy_interface floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(apple2),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
MACHINE_CONFIG_FRAGMENT( diskii )
diff --git a/src/emu/bus/adamnet/ddp.c b/src/emu/bus/adamnet/ddp.c
index 8755d266f5e..5cc71853953 100644
--- a/src/emu/bus/adamnet/ddp.c
+++ b/src/emu/bus/adamnet/ddp.c
@@ -88,8 +88,7 @@ static const cassette_interface adam_cassette_interface =
coleco_adam_cassette_formats,
&adam_cassette_options,
(cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED),
- "adam_cass",
- NULL
+ "adam_cass"
};
diff --git a/src/emu/bus/bml3/bml3mp1802.c b/src/emu/bus/bml3/bml3mp1802.c
index be953016fc4..fb00f9d7acd 100644
--- a/src/emu/bus/bml3/bml3mp1802.c
+++ b/src/emu/bus/bml3/bml3mp1802.c
@@ -23,11 +23,6 @@ const device_type BML3BUS_MP1802 = &device_creator<bml3bus_mp1802_device>;
static const floppy_interface bml3_mp1802_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSDD,
LEGACY_FLOPPY_OPTIONS_NAME(default),
NULL
diff --git a/src/emu/bus/bml3/bml3mp1805.c b/src/emu/bus/bml3/bml3mp1805.c
index 7b679d4881c..225a48d254f 100644
--- a/src/emu/bus/bml3/bml3mp1805.c
+++ b/src/emu/bus/bml3/bml3mp1805.c
@@ -23,11 +23,6 @@ const device_type BML3BUS_MP1805 = &device_creator<bml3bus_mp1805_device>;
static const floppy_interface bml3_mp1805_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_3_SSDD,
LEGACY_FLOPPY_OPTIONS_NAME(default),
NULL
diff --git a/src/emu/bus/coco/coco_fdc.c b/src/emu/bus/coco/coco_fdc.c
index 305622c5873..190ca2585e4 100644
--- a/src/emu/bus/coco/coco_fdc.c
+++ b/src/emu/bus/coco/coco_fdc.c
@@ -94,15 +94,9 @@
static const floppy_interface coco_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(coco),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
diff --git a/src/emu/bus/ieee488/c8050.c b/src/emu/bus/ieee488/c8050.c
index 262b70aa693..22cf3eda78f 100644
--- a/src/emu/bus/ieee488/c8050.c
+++ b/src/emu/bus/ieee488/c8050.c
@@ -684,15 +684,9 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface c8050_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_SSDD,
LEGACY_FLOPPY_OPTIONS_NAME(c8050),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
@@ -702,15 +696,9 @@ static const floppy_interface c8050_floppy_interface =
static const floppy_interface c8250_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSQD,
LEGACY_FLOPPY_OPTIONS_NAME(c8250),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
diff --git a/src/emu/bus/ieee488/hardbox.c b/src/emu/bus/ieee488/hardbox.c
index 9564c870b9d..ce6ff83557f 100644
--- a/src/emu/bus/ieee488/hardbox.c
+++ b/src/emu/bus/ieee488/hardbox.c
@@ -286,10 +286,14 @@ static MACHINE_CONFIG_FRAGMENT( hardbox )
MCFG_I8255_OUT_PORTC_CB(WRITE8(hardbox_device, ppi1_pc_w))
MCFG_DEVICE_ADD(CORVUS_HDC_TAG, CORVUS_HDC, 0)
- MCFG_HARDDISK_CONFIG_ADD("harddisk1", corvus_hdc_t::hd_intf)
- MCFG_HARDDISK_CONFIG_ADD("harddisk2", corvus_hdc_t::hd_intf)
- MCFG_HARDDISK_CONFIG_ADD("harddisk3", corvus_hdc_t::hd_intf)
- MCFG_HARDDISK_CONFIG_ADD("harddisk4", corvus_hdc_t::hd_intf)
+ MCFG_HARDDISK_ADD("harddisk1")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk2")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk3")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk4")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
MACHINE_CONFIG_END
diff --git a/src/emu/bus/ieee488/softbox.c b/src/emu/bus/ieee488/softbox.c
index 2d129e3979e..09c2d30f03a 100644
--- a/src/emu/bus/ieee488/softbox.c
+++ b/src/emu/bus/ieee488/softbox.c
@@ -264,11 +264,14 @@ static MACHINE_CONFIG_FRAGMENT( softbox )
MCFG_COM8116_FT_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_txc))
MCFG_DEVICE_ADD(CORVUS_HDC_TAG, CORVUS_HDC, 0)
- MCFG_HARDDISK_CONFIG_ADD("harddisk1", corvus_hdc_t::hd_intf)
- MCFG_HARDDISK_CONFIG_ADD("harddisk2", corvus_hdc_t::hd_intf)
- MCFG_HARDDISK_CONFIG_ADD("harddisk3", corvus_hdc_t::hd_intf)
- MCFG_HARDDISK_CONFIG_ADD("harddisk4", corvus_hdc_t::hd_intf)
-
+ MCFG_HARDDISK_ADD("harddisk1")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk2")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk3")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk4")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
//MCFG_IMI7000_BUS_ADD("imi5000h", NULL, NULL, NULL)
MACHINE_CONFIG_END
diff --git a/src/emu/bus/pet/c2n.c b/src/emu/bus/pet/c2n.c
index ad139e7730d..64b4e40ffed 100644
--- a/src/emu/bus/pet/c2n.c
+++ b/src/emu/bus/pet/c2n.c
@@ -31,8 +31,7 @@ const cassette_interface cbm_cassette_interface =
cbm_cassette_formats,
NULL,
(cassette_state) (CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED),
- "cbm_cass",
- NULL
+ "cbm_cass"
};
diff --git a/src/emu/bus/scsi/scsicd.c b/src/emu/bus/scsi/scsicd.c
index 0ae5b97dce6..fb1f1cafbd2 100644
--- a/src/emu/bus/scsi/scsicd.c
+++ b/src/emu/bus/scsi/scsicd.c
@@ -29,10 +29,9 @@ void scsicd_device::device_start()
scsihle_device::device_start();
}
-cdrom_interface scsicd_device::cd_intf = { "cdrom", NULL };
-
static MACHINE_CONFIG_FRAGMENT(scsi_cdrom)
- MCFG_CDROM_ADD("image", scsicd_device::cd_intf)
+ MCFG_CDROM_ADD("image")
+ MCFG_CDROM_INTERFACE("cdrom")
MCFG_SOUND_ADD("cdda", CDDA, 0)
MACHINE_CONFIG_END
diff --git a/src/emu/bus/scsi/scsicd.h b/src/emu/bus/scsi/scsicd.h
index 67e10df2572..e8de6d4b080 100644
--- a/src/emu/bus/scsi/scsicd.h
+++ b/src/emu/bus/scsi/scsicd.h
@@ -21,8 +21,6 @@ public:
scsicd_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
virtual machine_config_constructor device_mconfig_additions() const;
- static struct cdrom_interface cd_intf;
-
protected:
virtual void device_start();
};
diff --git a/src/emu/bus/scsi/scsihd.c b/src/emu/bus/scsi/scsihd.c
index 637dacfcab9..3534146999a 100644
--- a/src/emu/bus/scsi/scsihd.c
+++ b/src/emu/bus/scsi/scsihd.c
@@ -28,10 +28,9 @@ void scsihd_device::device_start()
scsihle_device::device_start();
}
-harddisk_interface scsihd_device::hd_intf = { "scsi_hdd", NULL };
-
static MACHINE_CONFIG_FRAGMENT(scsi_harddisk)
- MCFG_HARDDISK_CONFIG_ADD("image", scsihd_device::hd_intf)
+ MCFG_HARDDISK_ADD("image")
+ MCFG_HARDDISK_INTERFACE("scsi_hdd")
MACHINE_CONFIG_END
machine_config_constructor scsihd_device::device_mconfig_additions() const
diff --git a/src/emu/bus/scsi/scsihd.h b/src/emu/bus/scsi/scsihd.h
index de64e099c4b..6b6362480a3 100644
--- a/src/emu/bus/scsi/scsihd.h
+++ b/src/emu/bus/scsi/scsihd.h
@@ -21,8 +21,6 @@ public:
scsihd_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
virtual machine_config_constructor device_mconfig_additions() const;
- static struct harddisk_interface hd_intf;
-
protected:
virtual void device_start();
};
diff --git a/src/emu/bus/ti99_peb/peribox.c b/src/emu/bus/ti99_peb/peribox.c
index 32434090b19..63f3c93b135 100644
--- a/src/emu/bus/ti99_peb/peribox.c
+++ b/src/emu/bus/ti99_peb/peribox.c
@@ -225,15 +225,9 @@ CRUCLK* 51||52 DBIN
// TODO: Connect other lines (think about how to propagate to the controller)
static const floppy_interface ti99_4_floppy_interface =
{
- DEVCB_DEVICE_LINE_MEMBER( DEVICE_SELF_OWNER, peribox_device, indexhole ), // Index hole (floppy out, line)
- DEVCB_NULL, // Motor (floppy in, line)
- DEVCB_NULL, // Track 0 (out, line)
- DEVCB_NULL, // Write protect (out, line)
- DEVCB_NULL, // Ready (out, line)
FLOPPY_STANDARD_5_25_DSHD, // type
LEGACY_FLOPPY_OPTIONS_NAME(ti99), // image formats
- NULL, // interface
- NULL // display info
+ NULL // interface
};
peribox_device::peribox_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
@@ -457,7 +451,19 @@ MACHINE_CONFIG_FRAGMENT( peribox_device )
MCFG_PERIBOX_SLOT_ADD( PEBSLOT7, peribox_slot7 )
MCFG_PERIBOX_SLOT_ADD( PEBSLOT8, peribox_slot8 )
- MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(ti99_4_floppy_interface)
+ MCFG_DEVICE_ADD(FLOPPY_0, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
+ MCFG_DEVICE_ADD(FLOPPY_1, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
+ MCFG_DEVICE_ADD(FLOPPY_2, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
+ MCFG_DEVICE_ADD(FLOPPY_3, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
+
MCFG_MFMHD_3_DRIVES_ADD()
MACHINE_CONFIG_END
@@ -512,7 +518,18 @@ MACHINE_CONFIG_FRAGMENT( peribox_gen_device )
MCFG_PERIBOX_SLOT_ADD( PEBSLOT7, peribox_slot7nobwg )
MCFG_PERIBOX_SLOT_ADD( PEBSLOT8, peribox_slot8nobwg )
- MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(ti99_4_floppy_interface)
+ MCFG_DEVICE_ADD(FLOPPY_0, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
+ MCFG_DEVICE_ADD(FLOPPY_1, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
+ MCFG_DEVICE_ADD(FLOPPY_2, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
+ MCFG_DEVICE_ADD(FLOPPY_3, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
MCFG_MFMHD_3_DRIVES_ADD()
MACHINE_CONFIG_END
@@ -554,7 +571,18 @@ MACHINE_CONFIG_FRAGMENT( peribox_998_device )
MCFG_PERIBOX_SLOT_ADD( PEBSLOT7, peribox_slot998 )
MCFG_PERIBOX_SLOT_ADD( PEBSLOT8, peribox_slot8nobwg )
- MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(ti99_4_floppy_interface)
+ MCFG_DEVICE_ADD(FLOPPY_0, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
+ MCFG_DEVICE_ADD(FLOPPY_1, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
+ MCFG_DEVICE_ADD(FLOPPY_2, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
+ MCFG_DEVICE_ADD(FLOPPY_3, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
MCFG_MFMHD_3_DRIVES_ADD()
MACHINE_CONFIG_END
@@ -597,7 +625,18 @@ MACHINE_CONFIG_FRAGMENT( peribox_sg_device )
MCFG_PERIBOX_SLOT_ADD( PEBSLOT7, peribox_slot7 )
MCFG_PERIBOX_SLOT_ADD( PEBSLOT8, peribox_slot7 )
- MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(ti99_4_floppy_interface)
+ MCFG_DEVICE_ADD(FLOPPY_0, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
+ MCFG_DEVICE_ADD(FLOPPY_1, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
+ MCFG_DEVICE_ADD(FLOPPY_2, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
+ MCFG_DEVICE_ADD(FLOPPY_3, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
MCFG_MFMHD_3_DRIVES_ADD()
MACHINE_CONFIG_END
@@ -627,7 +666,18 @@ MACHINE_CONFIG_FRAGMENT( peribox_ev_device )
MCFG_PERIBOX_SLOT_ADD( PEBSLOT7, peribox_slot7 )
MCFG_PERIBOX_SLOT_ADD( PEBSLOT8, peribox_slot8 )
- MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(ti99_4_floppy_interface)
+ MCFG_DEVICE_ADD(FLOPPY_0, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
+ MCFG_DEVICE_ADD(FLOPPY_1, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
+ MCFG_DEVICE_ADD(FLOPPY_2, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
+ MCFG_DEVICE_ADD(FLOPPY_3, LEGACY_FLOPPY, 0)
+ MCFG_DEVICE_CONFIG(ti99_4_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(peribox_device, indexhole))
MCFG_MFMHD_3_DRIVES_ADD()
MACHINE_CONFIG_END
diff --git a/src/emu/diimage.c b/src/emu/diimage.c
index b8a31e185db..e1fe0691ca8 100644
--- a/src/emu/diimage.c
+++ b/src/emu/diimage.c
@@ -1035,9 +1035,6 @@ bool device_image_interface::finish_load()
{
image_checkhash();
- if (m_from_swlist)
- call_display_info();
-
if (has_been_created())
{
err = call_create(m_create_format, m_create_args);
diff --git a/src/emu/diimage.h b/src/emu/diimage.h
index f97fa25a5b0..5a35899ba4e 100644
--- a/src/emu/diimage.h
+++ b/src/emu/diimage.h
@@ -104,7 +104,6 @@ typedef delegate<int (device_image_interface &)> device_image_load_delegate;
typedef delegate<void (device_image_interface &)> device_image_func_delegate;
// legacy
typedef void (*device_image_partialhash_func)(hash_collection &, const unsigned char *, unsigned long, const char *);
-typedef void (*device_image_display_info_func)(device_image_interface &image);
//**************************************************************************
// MACROS
@@ -115,9 +114,6 @@ typedef void (*device_image_display_info_func)(device_image_interface &image);
#define IMAGE_VERIFY_PASS FALSE
#define IMAGE_VERIFY_FAIL TRUE
-#define DEVICE_IMAGE_DISPLAY_INFO_NAME(name) device_image_display_info_func##name
-#define DEVICE_IMAGE_DISPLAY_INFO(name) void DEVICE_IMAGE_DISPLAY_INFO_NAME(name)(device_image_interface &image)
-
#define DEVICE_IMAGE_LOAD_MEMBER_NAME(_name) device_image_load_##_name
#define DEVICE_IMAGE_LOAD_NAME(_class,_name) _class::DEVICE_IMAGE_LOAD_MEMBER_NAME(_name)
#define DECLARE_DEVICE_IMAGE_LOAD_MEMBER(_name) int DEVICE_IMAGE_LOAD_MEMBER_NAME(_name)(device_image_interface &image)
@@ -152,7 +148,6 @@ public:
virtual bool call_create(int format_type, option_resolution *format_options) { return FALSE; }
virtual void call_unload() { }
virtual void call_display() { }
- virtual void call_display_info() { }
virtual device_image_partialhash_func get_partial_hash() const { return NULL; }
virtual bool core_opens_image_file() const { return TRUE; }
virtual iodevice_t image_type() const = 0;
diff --git a/src/emu/imagedev/cartslot.h b/src/emu/imagedev/cartslot.h
index 9b524dbda9f..f30e590f45b 100644
--- a/src/emu/imagedev/cartslot.h
+++ b/src/emu/imagedev/cartslot.h
@@ -35,10 +35,17 @@ public:
cartslot_image_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual ~cartslot_image_device();
+ static void static_set_device_load(device_t &device, device_image_load_delegate callback) { downcast<cartslot_image_device &>(device).m_device_image_load = callback; }
+ static void static_set_device_unload(device_t &device, device_image_func_delegate callback) { downcast<cartslot_image_device &>(device).m_device_image_unload = callback; }
+ static void static_set_partialhash(device_t &device, device_image_partialhash_func callback) { downcast<cartslot_image_device &>(device).m_device_image_partialhash = callback; }
+
+ static void static_set_extensions(device_t &device, const char *_extensions) { downcast<cartslot_image_device &>(device).m_extensions = _extensions; }
+ static void static_set_interface(device_t &device, const char *_interface) { downcast<cartslot_image_device &>(device).m_interface = _interface; }
+ static void static_set_must_be_loaded(device_t &device, bool _must_be_loaded) { downcast<cartslot_image_device &>(device).m_must_be_loaded = _must_be_loaded; }
+
// image-level overrides
virtual bool call_load();
virtual void call_unload();
- virtual void call_display_info() { if (!m_device_image_displayinfo.isnull()) m_device_image_displayinfo(*this); }
virtual bool call_softlist_load(software_list_device &swlist, const char *swname, const rom_entry *start_entry) { load_software_part_region( *this, swlist, swname, start_entry ); return TRUE; }
virtual device_image_partialhash_func get_partial_hash() const { return m_device_image_partialhash; }
@@ -53,14 +60,6 @@ public:
virtual const char *file_extensions() const { return m_extensions; }
virtual const option_guide *create_option_guide() const { return NULL; }
- void set_extensions(const char *_extensions) { m_extensions = _extensions; }
- void set_interface(const char *_interface) { m_interface = _interface; }
- void set_must_be_loaded(bool _must_be_loaded) { m_must_be_loaded = _must_be_loaded; }
- void set_device_load(device_image_load_delegate _load) { m_device_image_load = _load; }
- void set_device_unload(device_image_func_delegate _unload) { m_device_image_unload = _unload; }
- void set_partialhash(device_image_partialhash_func _partialhash) { m_device_image_partialhash = _partialhash; }
- void set_displayinfo(device_image_func_delegate _displayinfo) { m_device_image_displayinfo = _displayinfo; }
-
protected:
// device-level overrides
virtual void device_config_complete();
@@ -76,7 +75,6 @@ protected:
device_image_load_delegate m_device_image_load;
device_image_func_delegate m_device_image_unload;
device_image_partialhash_func m_device_image_partialhash;
- device_image_func_delegate m_device_image_displayinfo;
};
// device type definition
@@ -90,28 +88,26 @@ extern const device_type CARTSLOT;
MCFG_DEVICE_ADD(_tag, CARTSLOT, 0)
#define MCFG_CARTSLOT_MODIFY(_tag) \
MCFG_DEVICE_MODIFY(_tag)
+
#define MCFG_CARTSLOT_EXTENSION_LIST(_extensions) \
- static_cast<cartslot_image_device *>(device)->set_extensions(_extensions);
+ cartslot_image_device::static_set_extensions(*device, _extensions);
#define MCFG_CARTSLOT_INTERFACE(_interface) \
- static_cast<cartslot_image_device *>(device)->set_interface(_interface);
+ cartslot_image_device::static_set_interface(*device, _interface);
#define MCFG_CARTSLOT_NOT_MANDATORY \
- static_cast<cartslot_image_device *>(device)->set_must_be_loaded(FALSE);
+ cartslot_image_device::static_set_must_be_loaded(*device, FALSE);
#define MCFG_CARTSLOT_MANDATORY \
- static_cast<cartslot_image_device *>(device)->set_must_be_loaded(TRUE);
+ cartslot_image_device::static_set_must_be_loaded(*device, TRUE);
-#define MCFG_CARTSLOT_LOAD(_class,_load) \
- static_cast<cartslot_image_device *>(device)->set_device_load( DEVICE_IMAGE_LOAD_DELEGATE(_class,_load));
+#define MCFG_CARTSLOT_LOAD(_class,_method) \
+ cartslot_image_device::static_set_device_load(*device, device_image_load_delegate(&DEVICE_IMAGE_LOAD_NAME(_class,_method), #_class "::device_image_load_" #_method, downcast<_class *>(owner)));
-#define MCFG_CARTSLOT_UNLOAD(_class,_unload) \
- static_cast<cartslot_image_device *>(device)->set_device_unload( DEVICE_IMAGE_UNLOAD_DELEGATE(_class,_unload));
+#define MCFG_CARTSLOT_UNLOAD(_class,_method) \
+ cartslot_image_device::static_set_device_unload(*device, device_image_func_delegate(&DEVICE_IMAGE_UNLOAD_NAME(_class,_method), #_class "::device_image_unload_" #_method, downcast<_class *>(owner)));
#define MCFG_CARTSLOT_PARTIALHASH(_partialhash) \
- static_cast<cartslot_image_device *>(device)->set_partialhash(_partialhash);
-
-#define MCFG_CARTSLOT_DISPLAY_INFO(_class,_displayinfo) \
- static_cast<cartslot_image_device *>(device)->set_displayinfo(&DEVICE_IMAGE_DISPLAY_INFO_NAME(_class,_displayinfo));
+ cartslot_image_device::static_set_partialhash(*device, _partialhash);
#endif /* __CARTSLOT_H__ */
diff --git a/src/emu/imagedev/cassette.c b/src/emu/imagedev/cassette.c
index 73e45cbac9c..f05294ce299 100644
--- a/src/emu/imagedev/cassette.c
+++ b/src/emu/imagedev/cassette.c
@@ -24,8 +24,7 @@ const cassette_interface default_cassette_interface =
cassette_default_formats,
NULL,
CASSETTE_PLAY,
- "cass",
- NULL
+ "cass"
};
@@ -71,7 +70,6 @@ void cassette_image_device::device_config_complete()
memset(&m_create_opts, 0, sizeof(m_create_opts));
memset(&m_default_state, 0, sizeof(m_default_state));
memset(&m_interface, 0, sizeof(m_interface));
- memset(&m_device_displayinfo, 0, sizeof(m_device_displayinfo));
}
m_extension_list[0] = '\0';
diff --git a/src/emu/imagedev/cassette.h b/src/emu/imagedev/cassette.h
index 7fd6c2ea4fb..7feb2b3b5ec 100644
--- a/src/emu/imagedev/cassette.h
+++ b/src/emu/imagedev/cassette.h
@@ -45,7 +45,6 @@ struct cassette_interface
const struct CassetteOptions *m_create_opts;
cassette_state m_default_state;
const char * m_interface;
- device_image_display_info_func m_device_displayinfo;
};
// ======================> cassette_image_device
@@ -64,7 +63,6 @@ public:
virtual bool call_create(int format_type, option_resolution *format_options);
virtual void call_unload();
virtual void call_display();
- virtual void call_display_info() { if (m_device_displayinfo) m_device_displayinfo(*this); }
virtual bool call_softlist_load(software_list_device &swlist, const char *swname, const rom_entry *start_entry) { return load_software(swlist, swname, start_entry); }
virtual iodevice_t image_type() const { return IO_CASSETTE; }
diff --git a/src/emu/imagedev/chd_cd.c b/src/emu/imagedev/chd_cd.c
index 098792a20a2..091502b3d2d 100644
--- a/src/emu/imagedev/chd_cd.c
+++ b/src/emu/imagedev/chd_cd.c
@@ -26,13 +26,15 @@ const device_type CDROM = &device_creator<cdrom_image_device>;
cdrom_image_device::cdrom_image_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, CDROM, "CD-ROM Image", tag, owner, clock, "cdrom_image", __FILE__),
- device_image_interface(mconfig, *this)
+ device_image_interface(mconfig, *this),
+ m_interface(NULL)
{
}
cdrom_image_device::cdrom_image_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source)
: device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_image_interface(mconfig, *this)
+ device_image_interface(mconfig, *this),
+ m_interface(NULL)
{
}
//-------------------------------------------------
@@ -51,18 +53,6 @@ cdrom_image_device::~cdrom_image_device()
void cdrom_image_device::device_config_complete()
{
- // inherit a copy of the static data
- const cdrom_interface *intf = reinterpret_cast<const cdrom_interface *>(static_config());
- if (intf != NULL)
- *static_cast<cdrom_interface *>(this) = *intf;
-
- // or initialize to defaults if none provided
- else
- {
- memset(&m_interface, 0, sizeof(m_interface));
- memset(&m_device_displayinfo, 0, sizeof(m_device_displayinfo));
- }
-
m_extension_list = "chd,cue,toc,nrg,gdi,iso,cdr";
m_formatlist.append(*global_alloc(image_device_format("chdcd", "CD-ROM drive", m_extension_list, cd_option_spec)));
diff --git a/src/emu/imagedev/chd_cd.h b/src/emu/imagedev/chd_cd.h
index 1504a28f13f..49bad527ffb 100644
--- a/src/emu/imagedev/chd_cd.h
+++ b/src/emu/imagedev/chd_cd.h
@@ -14,19 +14,11 @@
/***************************************************************************
TYPE DEFINITIONS
***************************************************************************/
-// ======================> cdrom_interface
-
-struct cdrom_interface
-{
- const char * m_interface;
- device_image_display_info_func m_device_displayinfo;
-};
// ======================> cdrom_image_device
class cdrom_image_device : public device_t,
- public cdrom_interface,
- public device_image_interface
+ public device_image_interface
{
public:
// construction/destruction
@@ -34,10 +26,11 @@ public:
cdrom_image_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
virtual ~cdrom_image_device();
+ static void static_set_interface(device_t &device, const char *_interface) { downcast<cdrom_image_device &>(device).m_interface = _interface; }
+
// image-level overrides
virtual bool call_load();
virtual void call_unload();
- virtual void call_display_info() { if (m_device_displayinfo) m_device_displayinfo(*this); }
virtual bool call_softlist_load(software_list_device &swlist, const char *swname, const rom_entry *start_entry) { load_software_part_region(*this, swlist, swname, start_entry ); return TRUE; }
virtual iodevice_t image_type() const { return IO_CDROM; }
@@ -62,6 +55,7 @@ protected:
chd_file m_self_chd;
cdrom_file *m_cdrom_handle;
const char *m_extension_list;
+ const char *m_interface;
};
// device type definition
@@ -72,7 +66,10 @@ extern const device_type CDROM;
***************************************************************************/
-#define MCFG_CDROM_ADD(_tag, _config) \
- MCFG_DEVICE_ADD(_tag, CDROM, 0) \
- MCFG_DEVICE_CONFIG(_config)
+#define MCFG_CDROM_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, CDROM, 0)
+
+#define MCFG_CDROM_INTERFACE(_interface) \
+ cdrom_image_device::static_set_interface(*device, _interface);
+
#endif /* CHD_CD_H */
diff --git a/src/emu/imagedev/diablo.c b/src/emu/imagedev/diablo.c
index 269b819688d..4fefea270c4 100644
--- a/src/emu/imagedev/diablo.c
+++ b/src/emu/imagedev/diablo.c
@@ -37,7 +37,8 @@ diablo_image_device::diablo_image_device(const machine_config &mconfig, const ch
m_chd(NULL),
m_hard_disk_handle(NULL),
m_device_image_load(device_image_load_delegate()),
- m_device_image_unload(device_image_func_delegate())
+ m_device_image_unload(device_image_func_delegate()),
+ m_interface(NULL)
{
}
@@ -57,18 +58,6 @@ diablo_image_device::~diablo_image_device()
void diablo_image_device::device_config_complete()
{
- // inherit a copy of the static data
- const diablo_interface *intf = reinterpret_cast<const diablo_interface *>(static_config());
- if (intf != NULL)
- *static_cast<diablo_interface *>(this) = *intf;
-
- // or initialize to defaults if none provided
- else
- {
- memset(&m_interface, 0, sizeof(m_interface));
- memset(&m_device_displayinfo, 0, sizeof(m_device_displayinfo));
- }
-
m_formatlist.append(*global_alloc(image_device_format("chd", "CHD Hard drive", "chd,dsk", dsk_option_spec)));
// set brief and instance name
diff --git a/src/emu/imagedev/diablo.h b/src/emu/imagedev/diablo.h
index bf064990452..44601b4f9ec 100644
--- a/src/emu/imagedev/diablo.h
+++ b/src/emu/imagedev/diablo.h
@@ -17,18 +17,9 @@
TYPE DEFINITIONS
***************************************************************************/
-// ======================> diablo_interface
-
-struct diablo_interface
-{
- const char * m_interface;
- device_image_display_info_func m_device_displayinfo;
-};
-
// ======================> diablo_image_device
class diablo_image_device : public device_t,
- public diablo_interface,
public device_image_interface
{
public:
@@ -36,14 +27,14 @@ public:
diablo_image_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual ~diablo_image_device();
- void set_device_load(device_image_load_delegate _load) { m_device_image_load = _load; }
- void set_device_unload(device_image_func_delegate _unload) { m_device_image_unload = _unload; }
+ static void static_set_device_load(device_t &device, device_image_load_delegate callback) { downcast<diablo_image_device &>(device).m_device_image_load = callback; }
+ static void static_set_device_unload(device_t &device, device_image_func_delegate callback) { downcast<diablo_image_device &>(device).m_device_image_unload = callback; }
+ static void static_set_interface(device_t &device, const char *_interface) { downcast<diablo_image_device &>(device).m_interface = _interface; }
// image-level overrides
virtual bool call_load();
virtual bool call_create(int create_format, option_resolution *create_args);
virtual void call_unload();
- virtual void call_display_info() { if (m_device_displayinfo) m_device_displayinfo(*this); }
virtual bool call_softlist_load(software_list_device &swlist, const char *swname, const rom_entry *start_entry) { load_software_part_region(*this, swlist, swname, start_entry ); return TRUE; }
virtual iodevice_t image_type() const { return IO_HARDDISK; }
@@ -76,6 +67,7 @@ protected:
device_image_load_delegate m_device_image_load;
device_image_func_delegate m_device_image_unload;
+ const char * m_interface;
};
// device type definition
@@ -91,10 +83,13 @@ extern const device_type DIABLO;
MCFG_DEVICE_ADD(_tag, DIABLO, 0) \
MCFG_DEVICE_CONFIG(_config)
-#define MCFG_DIABLO_LOAD(_class,_load) \
- static_cast<diablo_image_device *>(device)->set_device_load( DEVICE_IMAGE_LOAD_DELEGATE(_class,_load));
+#define MCFG_DIABLO_LOAD(_class,_method) \
+ diablo_image_device::static_set_device_load(*device, device_image_load_delegate(&DEVICE_IMAGE_LOAD_NAME(_class,_method), #_class "::device_image_load_" #_method, downcast<_class *>(owner)));
+
+#define MCFG_DIABLO_UNLOAD(_class,_method) \
+ diablo_image_device::static_set_device_unload(*device, device_image_func_delegate(&DEVICE_IMAGE_UNLOAD_NAME(_class,_method), #_class "::device_image_unload_" #_method, downcast<_class *>(owner)));
-#define MCFG_DIABLO_UNLOAD(_class,_unload) \
- static_cast<diablo_image_device *>(device)->set_device_unload( DEVICE_IMAGE_UNLOAD_DELEGATE(_class,_unload));
+#define MCFG_DIABLO_INTERFACE(_interface) \
+ diablo_image_device::static_set_interface(*device, _interface);
#endif /* _IMAGEDEV_DIABLO_H_ */
diff --git a/src/emu/imagedev/flopdrv.c b/src/emu/imagedev/flopdrv.c
index 8bb9aedc535..d3fb79073ee 100644
--- a/src/emu/imagedev/flopdrv.c
+++ b/src/emu/imagedev/flopdrv.c
@@ -122,7 +122,6 @@ void legacy_floppy_image_device::floppy_drive_init()
/* initialise flags */
m_flags = 0;
m_index_pulse_callback = NULL;
- m_ready_state_change_callback = NULL;
m_index_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(legacy_floppy_image_device::floppy_drive_index_callback),this));
m_idx = 0;
@@ -194,10 +193,7 @@ void legacy_floppy_image_device::floppy_drive_set_flag_state(int flag, int state
if (flag & FLOPPY_DRIVE_READY)
{
/* trigger state change callback */
- m_out_rdy_func(new_state ? ASSERT_LINE : CLEAR_LINE);
-
- if (m_ready_state_change_callback)
- m_ready_state_change_callback(m_controller, this, new_state);
+ //m_out_rdy_func(new_state ? ASSERT_LINE : CLEAR_LINE);
}
}
}
@@ -270,7 +266,7 @@ void legacy_floppy_image_device::floppy_drive_seek(signed int signed_tracks)
/* set track 0 flag */
m_tk00 = (m_current_track == 0) ? CLEAR_LINE : ASSERT_LINE;
- m_out_tk00_func(m_tk00);
+ //m_out_tk00_func(m_tk00);
/* clear disk changed flag */
m_dskchg = ASSERT_LINE;
@@ -393,11 +389,6 @@ void legacy_floppy_image_device::floppy_drive_set_index_pulse_callback(void (*ca
m_index_pulse_callback = callback;
}
-void legacy_floppy_image_device::floppy_drive_set_ready_state_change_callback(void (*callback)(device_t *controller,device_t *img, int state))
-{
- m_ready_state_change_callback = callback;
-}
-
int legacy_floppy_image_device::floppy_drive_get_current_track()
{
return m_current_track;
@@ -473,7 +464,7 @@ error:
TIMER_CALLBACK_MEMBER( legacy_floppy_image_device::set_wpt )
{
m_wpt = param;
- m_out_wpt_func(param);
+ //m_out_wpt_func(param);
}
legacy_floppy_image_device *floppy_get_device(running_machine &machine,int drive)
@@ -645,7 +636,7 @@ WRITE_LINE_MEMBER( legacy_floppy_image_device::floppy_stp_w )
}
/* update track 0 line with new status */
- m_out_tk00_func(m_tk00);
+ //m_out_tk00_func(m_tk00);
}
m_stp = state;
@@ -704,6 +695,7 @@ const device_type LEGACY_FLOPPY = &device_creator<legacy_floppy_image_device>;
legacy_floppy_image_device::legacy_floppy_image_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, LEGACY_FLOPPY, "Floppy Disk", tag, owner, clock, "legacy_floppy_image", __FILE__),
device_image_interface(mconfig, *this),
+ m_out_idx_func(*this),
m_drtn(0),
m_stp(0),
m_wtg(0),
@@ -721,7 +713,6 @@ legacy_floppy_image_device::legacy_floppy_image_device(const machine_config &mco
m_current_track(0),
m_index_pulse_callback(NULL),
m_rpm(0.0f),
- m_ready_state_change_callback(NULL),
m_id_index(0),
m_controller(NULL),
m_floppy(NULL),
@@ -736,6 +727,7 @@ legacy_floppy_image_device::legacy_floppy_image_device(const machine_config &mco
legacy_floppy_image_device::legacy_floppy_image_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source)
: device_t(mconfig, type, name, tag, owner, clock, shortname, source),
device_image_interface(mconfig, *this),
+ m_out_idx_func(*this),
m_drtn(0),
m_stp(0),
m_wtg(0),
@@ -753,7 +745,6 @@ legacy_floppy_image_device::legacy_floppy_image_device(const machine_config &mco
m_current_track(0),
m_index_pulse_callback(NULL),
m_rpm(0.0f),
- m_ready_state_change_callback(NULL),
m_id_index(0),
m_controller(NULL),
m_floppy(NULL),
@@ -786,20 +777,20 @@ void legacy_floppy_image_device::device_start()
m_active = FALSE;
/* resolve callbacks */
- m_out_idx_func.resolve(m_config->out_idx_func, *this);
- m_in_mon_func.resolve(m_config->in_mon_func, *this);
- m_out_tk00_func.resolve(m_config->out_tk00_func, *this);
- m_out_wpt_func.resolve(m_config->out_wpt_func, *this);
- m_out_rdy_func.resolve(m_config->out_rdy_func, *this);
+ m_out_idx_func.resolve_safe();
+ //m_in_mon_func.resolve(m_config->in_mon_func, *this);
+ //m_out_tk00_func.resolve(m_config->out_tk00_func, *this);
+ //m_out_wpt_func.resolve(m_config->out_wpt_func, *this);
+ //m_out_rdy_func.resolve(m_config->out_rdy_func, *this);
// m_out_dskchg_func.resolve(m_config->out_dskchg_func, *this);
/* by default we are not write-protected */
m_wpt = ASSERT_LINE;
- m_out_wpt_func(m_wpt);
+ //m_out_wpt_func(m_wpt);
/* not at track 0 */
m_tk00 = ASSERT_LINE;
- m_out_tk00_func(m_tk00);
+ //m_out_tk00_func(m_tk00);
/* motor off */
m_mon = ASSERT_LINE;
@@ -850,7 +841,7 @@ bool legacy_floppy_image_device::call_load()
/* push disk halfway into drive */
m_wpt = CLEAR_LINE;
- m_out_wpt_func(m_wpt);
+ //m_out_wpt_func(m_wpt);
/* set timer for disk load */
int next_wpt;
@@ -879,19 +870,12 @@ void legacy_floppy_image_device::call_unload()
/* pull disk halfway out of drive */
m_wpt = CLEAR_LINE;
- m_out_wpt_func(m_wpt);
+ //m_out_wpt_func(m_wpt);
/* set timer for disk eject */
machine().scheduler().timer_set(attotime::from_msec(250), timer_expired_delegate(FUNC(legacy_floppy_image_device::set_wpt),this), ASSERT_LINE);
}
-void legacy_floppy_image_device::call_display_info()
-{
- if (((floppy_interface*)(this)->static_config())->device_displayinfo) {
- ((floppy_interface*)(this)->static_config())->device_displayinfo(*this);
- }
-}
-
bool legacy_floppy_image_device::is_creatable() const
{
int cnt = 0;
diff --git a/src/emu/imagedev/flopdrv.h b/src/emu/imagedev/flopdrv.h
index 94a3520d5bb..2b197573bc4 100644
--- a/src/emu/imagedev/flopdrv.h
+++ b/src/emu/imagedev/flopdrv.h
@@ -62,17 +62,9 @@ struct floppy_type_t
struct floppy_interface
{
- devcb_write_line out_idx_func; /* index */
- devcb_read_line in_mon_func; /* motor on */
- devcb_write_line out_tk00_func; /* track 00 */
- devcb_write_line out_wpt_func; /* write protect */
- devcb_write_line out_rdy_func; /* ready */
-// devcb_write_line out_dskchg_func; /* disk changed */
-
floppy_type_t floppy_type;
const struct FloppyFormat *formats;
const char *interface;
- device_image_display_info_func device_displayinfo;
};
struct chrn_id
@@ -90,6 +82,8 @@ struct chrn_id
/* set if index has just occurred */
#define FLOPPY_DRIVE_INDEX 0x0020
+#define MCFG_LEGACY_FLOPPY_IDX_CB(_devcb) \
+ devcb = &legacy_floppy_image_device::set_out_idx_func(*device, DEVCB2_##_devcb);
class legacy_floppy_image_device : public device_t,
public device_image_interface
@@ -100,11 +94,12 @@ public:
legacy_floppy_image_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
~legacy_floppy_image_device();
+ template<class _Object> static devcb2_base &set_out_idx_func(device_t &device, _Object object) { return downcast<legacy_floppy_image_device &>(device).m_out_idx_func.set_callback(object); }
+
virtual bool call_load();
virtual bool call_softlist_load(software_list_device &swlist, const char *swname, const rom_entry *start_entry) { return load_software(swlist, swname, start_entry); }
virtual bool call_create(int format_type, option_resolution *format_options);
virtual void call_unload();
- virtual void call_display_info();
virtual iodevice_t image_type() const { return IO_FLOPPY; }
@@ -132,7 +127,6 @@ public:
void floppy_install_load_proc(void (*proc)(device_image_interface &image));
void floppy_install_unload_proc(void (*proc)(device_image_interface &image));
void floppy_drive_set_index_pulse_callback(void (*callback)(device_t *controller,device_t *image, int state));
- void floppy_drive_set_ready_state_change_callback(void (*callback)(device_t *controller,device_t *img, int state));
int floppy_drive_get_current_track();
UINT64 floppy_drive_get_current_track_size(int head);
void floppy_drive_set_rpm(float rpm);
@@ -175,12 +169,7 @@ protected:
virtual void device_start();
/* callbacks */
- devcb_resolved_write_line m_out_idx_func;
- devcb_resolved_read_line m_in_mon_func;
- devcb_resolved_write_line m_out_tk00_func;
- devcb_resolved_write_line m_out_wpt_func;
- devcb_resolved_write_line m_out_rdy_func;
- devcb_resolved_write_line m_out_dskchg_func;
+ devcb2_write_line m_out_idx_func;
/* state of input lines */
int m_drtn; /* direction */
@@ -218,8 +207,6 @@ protected:
/* rotation per minute => gives index pulse frequency */
float m_rpm;
- void (*m_ready_state_change_callback)(device_t *controller,device_t *img, int state);
-
int m_id_index;
device_t *m_controller;
diff --git a/src/emu/imagedev/floppy.h b/src/emu/imagedev/floppy.h
index 51d007a1cb3..a82a4feccf0 100644
--- a/src/emu/imagedev/floppy.h
+++ b/src/emu/imagedev/floppy.h
@@ -70,7 +70,6 @@ public:
virtual bool call_load();
virtual void call_unload();
virtual bool call_create(int format_type, option_resolution *format_options);
- virtual void call_display_info() {}
virtual bool call_softlist_load(software_list_device &swlist, const char *swname, const rom_entry *start_entry) { return load_software(swlist, swname, start_entry); }
virtual const char *image_interface() const = 0;
virtual iodevice_t image_type() const { return IO_FLOPPY; }
diff --git a/src/emu/imagedev/harddriv.c b/src/emu/imagedev/harddriv.c
index 03639711520..39df8d250a4 100644
--- a/src/emu/imagedev/harddriv.c
+++ b/src/emu/imagedev/harddriv.c
@@ -42,7 +42,8 @@ harddisk_image_device::harddisk_image_device(const machine_config &mconfig, cons
m_chd(NULL),
m_hard_disk_handle(NULL),
m_device_image_load(device_image_load_delegate()),
- m_device_image_unload(device_image_func_delegate())
+ m_device_image_unload(device_image_func_delegate()),
+ m_interface(NULL)
{
}
@@ -62,18 +63,6 @@ harddisk_image_device::~harddisk_image_device()
void harddisk_image_device::device_config_complete()
{
- // inherit a copy of the static data
- const harddisk_interface *intf = reinterpret_cast<const harddisk_interface *>(static_config());
- if (intf != NULL)
- *static_cast<harddisk_interface *>(this) = *intf;
-
- // or initialize to defaults if none provided
- else
- {
- memset(&m_interface, 0, sizeof(m_interface));
- memset(&m_device_displayinfo, 0, sizeof(m_device_displayinfo));
- }
-
m_formatlist.append(*global_alloc(image_device_format("chd", "CHD Hard drive", "chd,hd", hd_option_spec)));
// set brief and instance name
diff --git a/src/emu/imagedev/harddriv.h b/src/emu/imagedev/harddriv.h
index 33f019a8460..f808dc7e3ea 100644
--- a/src/emu/imagedev/harddriv.h
+++ b/src/emu/imagedev/harddriv.h
@@ -15,18 +15,9 @@
TYPE DEFINITIONS
***************************************************************************/
-// ======================> harddisk_interface
-
-struct harddisk_interface
-{
- const char * m_interface;
- device_image_display_info_func m_device_displayinfo;
-};
-
// ======================> harddisk_image_device
class harddisk_image_device : public device_t,
- public harddisk_interface,
public device_image_interface
{
public:
@@ -34,14 +25,14 @@ public:
harddisk_image_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual ~harddisk_image_device();
- void set_device_load(device_image_load_delegate _load) { m_device_image_load = _load; }
- void set_device_unload(device_image_func_delegate _unload) { m_device_image_unload = _unload; }
+ static void static_set_device_load(device_t &device, device_image_load_delegate callback) { downcast<harddisk_image_device &>(device).m_device_image_load = callback; }
+ static void static_set_device_unload(device_t &device, device_image_func_delegate callback) { downcast<harddisk_image_device &>(device).m_device_image_unload = callback; }
+ static void static_set_interface(device_t &device, const char *_interface) { downcast<harddisk_image_device &>(device).m_interface = _interface; }
// image-level overrides
virtual bool call_load();
virtual bool call_create(int create_format, option_resolution *create_args);
virtual void call_unload();
- virtual void call_display_info() { if (m_device_displayinfo) m_device_displayinfo(*this); }
virtual bool call_softlist_load(software_list_device &swlist, const char *swname, const rom_entry *start_entry) { load_software_part_region(*this, swlist, swname, start_entry ); return TRUE; }
virtual iodevice_t image_type() const { return IO_HARDDISK; }
@@ -74,6 +65,7 @@ protected:
device_image_load_delegate m_device_image_load;
device_image_func_delegate m_device_image_unload;
+ const char * m_interface;
};
// device type definition
@@ -85,14 +77,14 @@ extern const device_type HARDDISK;
#define MCFG_HARDDISK_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, HARDDISK, 0)
-#define MCFG_HARDDISK_CONFIG_ADD(_tag,_config) \
- MCFG_DEVICE_ADD(_tag, HARDDISK, 0) \
- MCFG_DEVICE_CONFIG(_config)
-#define MCFG_HARDDISK_LOAD(_class,_load) \
- static_cast<harddisk_image_device *>(device)->set_device_load( DEVICE_IMAGE_LOAD_DELEGATE(_class,_load));
+#define MCFG_HARDDISK_LOAD(_class,_method) \
+ harddisk_image_device::static_set_device_load(*device, device_image_load_delegate(&DEVICE_IMAGE_LOAD_NAME(_class,_method), #_class "::device_image_load_" #_method, downcast<_class *>(owner)));
+
+#define MCFG_HARDDISK_UNLOAD(_class,_method) \
+ harddisk_image_device::static_set_device_unload(*device, device_image_func_delegate(&DEVICE_IMAGE_UNLOAD_NAME(_class,_method), #_class "::device_image_unload_" #_method, downcast<_class *>(owner)));
-#define MCFG_HARDDISK_UNLOAD(_class,_unload) \
- static_cast<harddisk_image_device *>(device)->set_device_unload( DEVICE_IMAGE_UNLOAD_DELEGATE(_class,_unload));
+#define MCFG_HARDDISK_INTERFACE(_interface) \
+ harddisk_image_device::static_set_interface(*device, _interface);
#endif /* HARDDRIV_H */
diff --git a/src/emu/imagedev/snapquik.h b/src/emu/imagedev/snapquik.h
index 11bc025d3c9..fcee39909b1 100644
--- a/src/emu/imagedev/snapquik.h
+++ b/src/emu/imagedev/snapquik.h
@@ -21,6 +21,8 @@ public:
snapshot_image_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
virtual ~snapshot_image_device();
+ static void static_set_interface(device_t &device, const char *_interface) { downcast<snapshot_image_device &>(device).m_interface = _interface; }
+
// image-level overrides
virtual bool call_load();
virtual bool call_softlist_load(software_list_device &swlist, const char *swname, const rom_entry *start_entry) { return load_software(swlist, swname, start_entry); }
@@ -37,7 +39,6 @@ public:
TIMER_CALLBACK_MEMBER(process_snapshot_or_quickload);
void set_handler(snapquick_load_delegate load, const char *ext, seconds_t sec) { m_load = load; m_file_extensions = ext; m_delay_seconds = sec; };
- void set_interface(const char *_interface) { m_interface = _interface; }
protected:
// device-level overrides
virtual void device_config_complete();
@@ -88,13 +89,13 @@ extern const device_type QUICKLOAD;
static_cast<snapshot_image_device *>(device)->set_handler(SNAPSHOT_LOAD_DELEGATE(_class,_load), _file_extensions, _delay);
#define MCFG_SNAPSHOT_INTERFACE(_interface) \
- static_cast<snapshot_image_device *>(device)->set_interface(_interface);
+ snapshot_image_device::static_set_interface(*device, _interface);
#define MCFG_QUICKLOAD_ADD(_tag, _class, _load, _file_extensions, _delay) \
MCFG_DEVICE_ADD(_tag, QUICKLOAD, 0) \
static_cast<quickload_image_device *>(device)->set_handler(QUICKLOAD_LOAD_DELEGATE(_class,_load), _file_extensions, _delay);
#define MCFG_QUICKLOAD_INTERFACE(_interface) \
- static_cast<quickload_image_device *>(device)->set_interface(_interface);
+ quickload_image_device::static_set_interface(*device, _interface);
#endif /* __SNAPQUIK_H__ */
diff --git a/src/emu/machine/atapicdr.c b/src/emu/machine/atapicdr.c
index 2ac2728f827..21dc7b99f9a 100644
--- a/src/emu/machine/atapicdr.c
+++ b/src/emu/machine/atapicdr.c
@@ -15,10 +15,9 @@ atapi_cdrom_device::atapi_cdrom_device(const machine_config &mconfig, device_typ
{
}
-cdrom_interface atapi_cdrom_device::cd_intf = { "cdrom", NULL };
-
static MACHINE_CONFIG_FRAGMENT( atapicdr )
- MCFG_CDROM_ADD("image", atapi_cdrom_device::cd_intf)
+ MCFG_CDROM_ADD("image")
+ MCFG_CDROM_INTERFACE("cdrom")
MCFG_SOUND_ADD("cdda", CDDA, 0)
MACHINE_CONFIG_END
diff --git a/src/emu/machine/atapicdr.h b/src/emu/machine/atapicdr.h
index c5c6817a839..e589279e719 100644
--- a/src/emu/machine/atapicdr.h
+++ b/src/emu/machine/atapicdr.h
@@ -26,8 +26,6 @@ public:
atapi_cdrom_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
atapi_cdrom_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock,const char *shortname, const char *source);
- static struct cdrom_interface cd_intf;
-
protected:
// device-level overrides
virtual void device_start();
diff --git a/src/emu/machine/corvushd.c b/src/emu/machine/corvushd.c
index 9884d963e20..9242e727b7b 100644
--- a/src/emu/machine/corvushd.c
+++ b/src/emu/machine/corvushd.c
@@ -70,8 +70,6 @@
const device_type CORVUS_HDC = &device_creator<corvus_hdc_t>;
-harddisk_interface corvus_hdc_t::hd_intf = { "corvus_hdd", NULL };
-
corvus_hdc_t::corvus_hdc_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, CORVUS_HDC, "Corvus Flat Cable HDC", tag, owner, clock, "corvus_hdc", __FILE__),
m_status(0),
diff --git a/src/emu/machine/corvushd.h b/src/emu/machine/corvushd.h
index 7cdffa25a1d..09e3fcaf25c 100644
--- a/src/emu/machine/corvushd.h
+++ b/src/emu/machine/corvushd.h
@@ -186,8 +186,6 @@ public:
DECLARE_WRITE8_MEMBER( write );
DECLARE_READ8_MEMBER( status_r );
- static struct harddisk_interface hd_intf;
-
protected:
// device-level overrides
virtual void device_start();
diff --git a/src/emu/machine/nscsi_cd.c b/src/emu/machine/nscsi_cd.c
index 5ba6cd6115a..b832f54e47f 100644
--- a/src/emu/machine/nscsi_cd.c
+++ b/src/emu/machine/nscsi_cd.c
@@ -28,10 +28,9 @@ void nscsi_cdrom_device::device_reset()
cur_lba = -1;
}
-cdrom_interface nscsi_cdrom_device::cd_intf = { "cdrom", NULL };
-
static MACHINE_CONFIG_FRAGMENT(scsi_cdrom)
- MCFG_CDROM_ADD("image", nscsi_cdrom_device::cd_intf)
+ MCFG_CDROM_ADD("image")
+ MCFG_CDROM_INTERFACE("cdrom")
MACHINE_CONFIG_END
machine_config_constructor nscsi_cdrom_device::device_mconfig_additions() const
diff --git a/src/emu/machine/nscsi_cd.h b/src/emu/machine/nscsi_cd.h
index 967d2597232..10855f86c5b 100644
--- a/src/emu/machine/nscsi_cd.h
+++ b/src/emu/machine/nscsi_cd.h
@@ -10,8 +10,6 @@ public:
nscsi_cdrom_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual machine_config_constructor device_mconfig_additions() const;
- static struct cdrom_interface cd_intf;
-
protected:
virtual void device_start();
virtual void device_reset();
diff --git a/src/emu/machine/nscsi_hd.c b/src/emu/machine/nscsi_hd.c
index 2eeed489992..10ae415f42e 100644
--- a/src/emu/machine/nscsi_hd.c
+++ b/src/emu/machine/nscsi_hd.c
@@ -38,10 +38,9 @@ void nscsi_harddisk_device::device_reset()
cur_lba = -1;
}
-harddisk_interface nscsi_harddisk_device::hd_intf = { "scsi_hdd", NULL };
-
static MACHINE_CONFIG_FRAGMENT(scsi_harddisk)
- MCFG_HARDDISK_CONFIG_ADD("image", nscsi_harddisk_device::hd_intf)
+ MCFG_HARDDISK_ADD("image")
+ MCFG_HARDDISK_INTERFACE("scsi_hdd")
MACHINE_CONFIG_END
machine_config_constructor nscsi_harddisk_device::device_mconfig_additions() const
diff --git a/src/emu/machine/nscsi_hd.h b/src/emu/machine/nscsi_hd.h
index effe912dc79..84b98ab5dc7 100644
--- a/src/emu/machine/nscsi_hd.h
+++ b/src/emu/machine/nscsi_hd.h
@@ -12,8 +12,6 @@ public:
virtual machine_config_constructor device_mconfig_additions() const;
- static struct harddisk_interface hd_intf;
-
protected:
virtual void device_start();
virtual void device_reset();
diff --git a/src/mame/drivers/3do.c b/src/mame/drivers/3do.c
index de0d186cb4a..8628aa86ea6 100644
--- a/src/mame/drivers/3do.c
+++ b/src/mame/drivers/3do.c
@@ -152,13 +152,6 @@ void _3do_state::machine_reset()
m_clio.cstatbits = 0x01; /* bit 0 = reset of clio caused by power on */
}
-struct cdrom_interface _3do_cdrom =
-{
- NULL,
- NULL
-};
-
-
static MACHINE_CONFIG_START( 3do, _3do_state )
/* Basic machine hardware */
@@ -175,7 +168,7 @@ static MACHINE_CONFIG_START( 3do, _3do_state )
MCFG_SCREEN_RAW_PARAMS( X2_CLOCK_NTSC / 2, 1592, 254, 1534, 263, 22, 262 )
MCFG_SCREEN_UPDATE_DRIVER(_3do_state, screen_update__3do)
- MCFG_CDROM_ADD( "cdrom", _3do_cdrom)
+ MCFG_CDROM_ADD("cdrom")
MACHINE_CONFIG_END
@@ -193,7 +186,7 @@ static MACHINE_CONFIG_START( 3do_pal, _3do_state )
MCFG_SCREEN_RAW_PARAMS( X2_CLOCK_PAL / 2, 1592, 254, 1534, 263, 22, 262 ) // TODO: proper params
MCFG_SCREEN_UPDATE_DRIVER(_3do_state, screen_update__3do)
- MCFG_CDROM_ADD( "cdrom", _3do_cdrom)
+ MCFG_CDROM_ADD("cdrom")
MACHINE_CONFIG_END
#if 0
diff --git a/src/mame/drivers/cd32.c b/src/mame/drivers/cd32.c
index 4cee7e3516c..4bb0fc1abe1 100644
--- a/src/mame/drivers/cd32.c
+++ b/src/mame/drivers/cd32.c
@@ -795,14 +795,10 @@ static MACHINE_CONFIG_START( cd32base, cd32_state )
MCFG_AMIGA_FDC_INDEX_CALLBACK(DEVWRITELINE("cia_1", legacy_mos6526_device, flag_w))
MACHINE_CONFIG_END
-struct cdrom_interface cd32_cdrom =
-{
- "cd32_cdrom",
- NULL
-};
static MACHINE_CONFIG_DERIVED( cd32, cd32base )
- MCFG_CDROM_ADD( "cdrom", cd32_cdrom )
+ MCFG_CDROM_ADD( "cdrom" )
+ MCFG_CDROM_INTERFACE("cd32_cdrom")
MCFG_SOFTWARE_LIST_ADD("cd_list","cd32")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cdi.c b/src/mame/drivers/cdi.c
index 38fe4741c39..44c7a6d53f7 100644
--- a/src/mame/drivers/cdi.c
+++ b/src/mame/drivers/cdi.c
@@ -303,19 +303,6 @@ MACHINE_RESET_MEMBER(cdi_state,quizrr42)
m_scc->set_quizard_mcu_ack(0x57);
}
-static DEVICE_IMAGE_DISPLAY_INFO(cdi_cdinfo)
-{
- const char *compatibility = image.get_feature("compatibility");
- if (compatibility)
- {
- if (!core_stricmp(compatibility, "DVC"))
- {
- osd_printf_warning("This software requires the Digital Video Cartridge to work.\n");
- osd_printf_warning("Therefore, it might not work in MESS at present.\n");
- }
- }
-}
-
/*************************
* Machine Drivers *
*************************/
@@ -366,20 +353,16 @@ static MACHINE_CONFIG_START( cdi, cdi_state )
MCFG_MK48T08_ADD( "mk48t08" )
MACHINE_CONFIG_END
-struct cdrom_interface cdi_cdrom =
-{
- "cdi_cdrom",
- DEVICE_IMAGE_DISPLAY_INFO_NAME(cdi_cdinfo)
-};
-
// Standard CD-i system, with CD-ROM image device (MESS) and Software List (MESS)
static MACHINE_CONFIG_DERIVED( cdi_base, cdi )
MCFG_MACHINE_RESET_OVERRIDE(cdi_state, cdi )
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( cdimono1, cdi_base )
- MCFG_CDROM_ADD( "cdrom", cdi_cdrom )
+ MCFG_CDROM_ADD( "cdrom" )
+ MCFG_CDROM_INTERFACE("cdi_cdrom")
MCFG_SOFTWARE_LIST_ADD("cd_list","cdi")
+ MCFG_SOFTWARE_LIST_FILTER("cd_list","!DVC")
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( quizard, cdi_base )
diff --git a/src/mame/drivers/jaguar.c b/src/mame/drivers/jaguar.c
index 89c8452cc36..939d719c987 100644
--- a/src/mame/drivers/jaguar.c
+++ b/src/mame/drivers/jaguar.c
@@ -1891,12 +1891,6 @@ static MACHINE_CONFIG_START( jaguar, jaguar_state )
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MACHINE_CONFIG_END
-struct cdrom_interface jagcd_cdrom =
-{
- "jag_cdrom",
- NULL
-};
-
static MACHINE_CONFIG_DERIVED( jaguarcd, jaguar )
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(jaguarcd_map)
@@ -1909,7 +1903,8 @@ static MACHINE_CONFIG_DERIVED( jaguarcd, jaguar )
MCFG_JAGUAR_IRQ_HANDLER(WRITELINE(jaguar_state, dsp_cpu_int))
MCFG_CPU_PROGRAM_MAP(jagcd_dsp_map)
- MCFG_CDROM_ADD( "cdrom",jagcd_cdrom )
+ MCFG_CDROM_ADD("cdrom")
+ MCFG_CDROM_INTERFACE("jag_cdrom")
MACHINE_CONFIG_END
/*************************************
diff --git a/src/mess/drivers/a2600.c b/src/mess/drivers/a2600.c
index 7d55a3093fb..03f87dfa097 100644
--- a/src/mess/drivers/a2600.c
+++ b/src/mess/drivers/a2600.c
@@ -1900,8 +1900,7 @@ static const cassette_interface a2600_cassette_interface =
a26_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- "a2600_cass",
- NULL
+ "a2600_cass"
};
static MACHINE_CONFIG_FRAGMENT(a2600_cartslot)
diff --git a/src/mess/drivers/abc80.c b/src/mess/drivers/abc80.c
index 0722e79f36c..372ae5845cd 100644
--- a/src/mess/drivers/abc80.c
+++ b/src/mess/drivers/abc80.c
@@ -407,7 +407,6 @@ static const cassette_interface abc80_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/abc80x.c b/src/mess/drivers/abc80x.c
index a68826e5b3c..02fe2cc41ac 100644
--- a/src/mess/drivers/abc80x.c
+++ b/src/mess/drivers/abc80x.c
@@ -773,7 +773,6 @@ static const cassette_interface cass_intf =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/ace.c b/src/mess/drivers/ace.c
index d0647578e2d..dd4dbf90c04 100644
--- a/src/mess/drivers/ace.c
+++ b/src/mess/drivers/ace.c
@@ -539,7 +539,6 @@ static const cassette_interface ace_cassette_interface =
ace_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/aim65.c b/src/mess/drivers/aim65.c
index b44750d18f4..5bc534029a3 100644
--- a/src/mess/drivers/aim65.c
+++ b/src/mess/drivers/aim65.c
@@ -151,7 +151,6 @@ static const cassette_interface aim65_1_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
@@ -161,7 +160,6 @@ static const cassette_interface aim65_2_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_RECORD | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/alesis.c b/src/mess/drivers/alesis.c
index eefa0527c7d..d37282c0893 100644
--- a/src/mess/drivers/alesis.c
+++ b/src/mess/drivers/alesis.c
@@ -248,8 +248,7 @@ static const cassette_interface hr16_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED),
- "hr16_cass",
- NULL
+ "hr16_cass"
};
static MACHINE_CONFIG_START( hr16, alesis_state )
diff --git a/src/mess/drivers/alphatro.c b/src/mess/drivers/alphatro.c
index 626632b52f1..efdd73a487d 100644
--- a/src/mess/drivers/alphatro.c
+++ b/src/mess/drivers/alphatro.c
@@ -449,8 +449,7 @@ static const cassette_interface alphatro_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state) (CASSETTE_PLAY | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- "alphatro_cass",
- NULL
+ "alphatro_cass"
};
static MACHINE_CONFIG_START( alphatro, alphatro_state )
diff --git a/src/mess/drivers/amiga.c b/src/mess/drivers/amiga.c
index e6099da8a6b..72a00a2f8cc 100644
--- a/src/mess/drivers/amiga.c
+++ b/src/mess/drivers/amiga.c
@@ -639,12 +639,6 @@ static MACHINE_CONFIG_DERIVED( a500ntsc, ntsc )
MCFG_SOFTWARE_LIST_ADD("flop_ecs","amigaecs_flop")
MACHINE_CONFIG_END
-struct cdrom_interface cdtv_cdrom =
-{
- "cdrom",
- NULL
-};
-
static MACHINE_CONFIG_DERIVED_CLASS( cdtv, ntsc, cdtv_state)
MCFG_CPU_REPLACE("maincpu", M68000, CDTV_CLOCK_X1 / 4)
MCFG_CPU_PROGRAM_MAP(cdtv_mem)
@@ -668,7 +662,9 @@ static MACHINE_CONFIG_DERIVED_CLASS( cdtv, ntsc, cdtv_state)
MCFG_SOUND_ROUTE( 1, "rspeaker", 1.0 )
/* cdrom */
- MCFG_CDROM_ADD( "cdrom", cdtv_cdrom)
+ MCFG_CDROM_ADD( "cdrom")
+ MCFG_CDROM_INTERFACE("cdrom")
+
MCFG_SOFTWARE_LIST_ADD("cd_list", "cdtv")
MCFG_DEVICE_ADD("tpi6525", TPI6525, 0)
diff --git a/src/mess/drivers/amstrad.c b/src/mess/drivers/amstrad.c
index 2bb009279f4..5d644e5ae7a 100644
--- a/src/mess/drivers/amstrad.c
+++ b/src/mess/drivers/amstrad.c
@@ -808,8 +808,7 @@ static const cassette_interface amstrad_cassette_interface =
cdt_cassette_formats,
NULL,
(cassette_state) (CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- "cpc_cass",
- NULL
+ "cpc_cass"
};
static SLOT_INTERFACE_START( amstrad_floppies )
diff --git a/src/mess/drivers/apf.c b/src/mess/drivers/apf.c
index 08c1d9eb31a..f6e8458d4bc 100644
--- a/src/mess/drivers/apf.c
+++ b/src/mess/drivers/apf.c
@@ -483,7 +483,6 @@ static const cassette_interface apf_cassette_interface =
apf_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY),
- NULL,
NULL
};
@@ -498,14 +497,8 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface apfimag_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_SSDD_40,
LEGACY_FLOPPY_OPTIONS_NAME(apfimag),
- NULL,
NULL
};
diff --git a/src/mess/drivers/apogee.c b/src/mess/drivers/apogee.c
index 4905c9c4c51..fbf599a51df 100644
--- a/src/mess/drivers/apogee.c
+++ b/src/mess/drivers/apogee.c
@@ -147,8 +147,7 @@ static const cassette_interface apogee_cassette_interface =
rka_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
- "apogee_cass",
- NULL
+ "apogee_cass"
};
static const INT16 speaker_levels[] = {-32767, -10922, 10922, 32767};
diff --git a/src/mess/drivers/apple2.c b/src/mess/drivers/apple2.c
index 25ca070cf63..5ca2da586dc 100644
--- a/src/mess/drivers/apple2.c
+++ b/src/mess/drivers/apple2.c
@@ -944,7 +944,6 @@ static const cassette_interface apple2_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/apple2gs.c b/src/mess/drivers/apple2gs.c
index 0209da08829..6bdf0c6fdde 100644
--- a/src/mess/drivers/apple2gs.c
+++ b/src/mess/drivers/apple2gs.c
@@ -163,28 +163,16 @@ READ8_MEMBER(apple2gs_state::apple2gs_adc_read)
static const floppy_interface apple2gs_floppy35_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(apple35_iigs),
- "floppy_3_5",
- NULL
+ "floppy_3_5"
};
static const floppy_interface apple2gs_floppy525_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(apple2),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
diff --git a/src/mess/drivers/apple3.c b/src/mess/drivers/apple3.c
index cf1f48eb348..7abd270d7f8 100644
--- a/src/mess/drivers/apple3.c
+++ b/src/mess/drivers/apple3.c
@@ -31,14 +31,8 @@ ADDRESS_MAP_END
static const floppy_interface apple3_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(apple2),
- NULL,
NULL
};
diff --git a/src/mess/drivers/applix.c b/src/mess/drivers/applix.c
index 0af94b4d305..50cd77fec1c 100644
--- a/src/mess/drivers/applix.c
+++ b/src/mess/drivers/applix.c
@@ -836,7 +836,6 @@ static const cassette_interface applix_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/aquarius.c b/src/mess/drivers/aquarius.c
index efeb107475a..e1c979290d1 100644
--- a/src/mess/drivers/aquarius.c
+++ b/src/mess/drivers/aquarius.c
@@ -352,7 +352,6 @@ static const cassette_interface aquarius_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/asst128.c b/src/mess/drivers/asst128.c
index d3f343e4266..ad5eb5719e0 100644
--- a/src/mess/drivers/asst128.c
+++ b/src/mess/drivers/asst128.c
@@ -95,7 +95,6 @@ static const cassette_interface asst128_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/atom.c b/src/mess/drivers/atom.c
index 5f99daaa38b..dee31105a5e 100644
--- a/src/mess/drivers/atom.c
+++ b/src/mess/drivers/atom.c
@@ -597,15 +597,9 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface atom_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_SSDD_40,
LEGACY_FLOPPY_OPTIONS_NAME(atom),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
/*-------------------------------------------------
@@ -626,7 +620,6 @@ static const cassette_interface atom_cassette_interface =
atom_cassette_formats,
NULL,
(cassette_state) (CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/ax20.c b/src/mess/drivers/ax20.c
index 5928552f533..b2328c9406b 100644
--- a/src/mess/drivers/ax20.c
+++ b/src/mess/drivers/ax20.c
@@ -96,14 +96,8 @@ GFXDECODE_END
static const floppy_interface ax20_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSDD_40, // TODO
LEGACY_FLOPPY_OPTIONS_NAME(default),
- NULL,
NULL
};
diff --git a/src/mess/drivers/bbc.c b/src/mess/drivers/bbc.c
index 10d83389261..3fc41547808 100644
--- a/src/mess/drivers/bbc.c
+++ b/src/mess/drivers/bbc.c
@@ -583,8 +583,7 @@ static const cassette_interface bbc_cassette_interface =
bbc_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY),
- "bbc_cass",
- NULL
+ "bbc_cass"
};
@@ -612,15 +611,9 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface bbc_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSDD,
LEGACY_FLOPPY_OPTIONS_NAME(bbc),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
WRITE_LINE_MEMBER(bbc_state::econet_clk_w)
diff --git a/src/mess/drivers/bk.c b/src/mess/drivers/bk.c
index d6e4b225ab7..10c00eb0ce0 100644
--- a/src/mess/drivers/bk.c
+++ b/src/mess/drivers/bk.c
@@ -161,8 +161,7 @@ static const cassette_interface bk0010_cassette_interface =
/*rk8_cassette_formats*/cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
- "bk0010_cass",
- NULL
+ "bk0010_cass"
};
diff --git a/src/mess/drivers/bob85.c b/src/mess/drivers/bob85.c
index 028f4ad804d..0f2d70b7c8f 100644
--- a/src/mess/drivers/bob85.c
+++ b/src/mess/drivers/bob85.c
@@ -191,7 +191,6 @@ static const cassette_interface bob85_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/c80.c b/src/mess/drivers/c80.c
index 56f231105ed..10d10b46c8d 100644
--- a/src/mess/drivers/c80.c
+++ b/src/mess/drivers/c80.c
@@ -251,7 +251,6 @@ static const cassette_interface c80_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED ),
- NULL,
NULL
};
diff --git a/src/mess/drivers/cgenie.c b/src/mess/drivers/cgenie.c
index e4a6149134d..e002e255c0f 100644
--- a/src/mess/drivers/cgenie.c
+++ b/src/mess/drivers/cgenie.c
@@ -487,7 +487,6 @@ static const cassette_interface cgenie_cassette_interface =
cgenie_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED),
- NULL,
NULL
};
@@ -503,14 +502,8 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface cgenie_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(cgenie),
- NULL,
NULL
};
diff --git a/src/mess/drivers/compis.c b/src/mess/drivers/compis.c
index 67bcdb479b1..1151d88dae6 100644
--- a/src/mess/drivers/compis.c
+++ b/src/mess/drivers/compis.c
@@ -599,7 +599,6 @@ static const cassette_interface compis_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/comx35.c b/src/mess/drivers/comx35.c
index 60d868955fb..f8ff546cbbe 100644
--- a/src/mess/drivers/comx35.c
+++ b/src/mess/drivers/comx35.c
@@ -523,7 +523,6 @@ static const cassette_interface cassette_intf =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/cosmicos.c b/src/mess/drivers/cosmicos.c
index 582c30b0840..88751fc09a1 100644
--- a/src/mess/drivers/cosmicos.c
+++ b/src/mess/drivers/cosmicos.c
@@ -505,7 +505,6 @@ static const cassette_interface cosmicos_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/crvision.c b/src/mess/drivers/crvision.c
index ae298a41eee..365bd02ad18 100644
--- a/src/mess/drivers/crvision.c
+++ b/src/mess/drivers/crvision.c
@@ -695,7 +695,6 @@ static const cassette_interface crvision_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
@@ -708,7 +707,6 @@ static const cassette_interface lasr2001_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/d6800.c b/src/mess/drivers/d6800.c
index 97fc58b5f8c..01cd5df8ba6 100644
--- a/src/mess/drivers/d6800.c
+++ b/src/mess/drivers/d6800.c
@@ -342,7 +342,6 @@ static const cassette_interface d6800_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/dai.c b/src/mess/drivers/dai.c
index 706b0adbf65..1078c9a265d 100644
--- a/src/mess/drivers/dai.c
+++ b/src/mess/drivers/dai.c
@@ -166,7 +166,6 @@ static const cassette_interface dai_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/dgn_beta.c b/src/mess/drivers/dgn_beta.c
index 7a744fe606d..4a6a10cde18 100644
--- a/src/mess/drivers/dgn_beta.c
+++ b/src/mess/drivers/dgn_beta.c
@@ -288,14 +288,8 @@ PALETTE_INIT_MEMBER(dgn_beta_state, dgn)
static const floppy_interface dgnbeta_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(coco),
- NULL,
NULL
};
diff --git a/src/mess/drivers/dragon.c b/src/mess/drivers/dragon.c
index 003118016cc..62730793b46 100644
--- a/src/mess/drivers/dragon.c
+++ b/src/mess/drivers/dragon.c
@@ -124,14 +124,8 @@ SLOT_INTERFACE_END
static const floppy_interface coco_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(coco),
- NULL,
NULL
};
diff --git a/src/mess/drivers/electron.c b/src/mess/drivers/electron.c
index b6d5916eaf1..745a26abe2d 100644
--- a/src/mess/drivers/electron.c
+++ b/src/mess/drivers/electron.c
@@ -175,7 +175,6 @@ static const cassette_interface electron_cassette_interface =
uef_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY),
- NULL,
NULL
};
diff --git a/src/mess/drivers/elf.c b/src/mess/drivers/elf.c
index 2fc17dc1706..a149f737b36 100644
--- a/src/mess/drivers/elf.c
+++ b/src/mess/drivers/elf.c
@@ -220,7 +220,6 @@ static const cassette_interface elf_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/elwro800.c b/src/mess/drivers/elwro800.c
index 9611e5f00c0..4f146b5bea0 100644
--- a/src/mess/drivers/elwro800.c
+++ b/src/mess/drivers/elwro800.c
@@ -514,7 +514,6 @@ static const cassette_interface elwro800jr_cassette_interface =
tzx_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/ep64.c b/src/mess/drivers/ep64.c
index 5efee2561bb..792323e53b8 100644
--- a/src/mess/drivers/ep64.c
+++ b/src/mess/drivers/ep64.c
@@ -475,8 +475,7 @@ static const cassette_interface cass_intf =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED),
- "ep64_cass",
- NULL
+ "ep64_cass"
};
diff --git a/src/mess/drivers/eti660.c b/src/mess/drivers/eti660.c
index 2a9733abecc..f5c08819723 100644
--- a/src/mess/drivers/eti660.c
+++ b/src/mess/drivers/eti660.c
@@ -203,7 +203,6 @@ static const cassette_interface eti660_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/exp85.c b/src/mess/drivers/exp85.c
index 63523224ddc..89caf64065e 100644
--- a/src/mess/drivers/exp85.c
+++ b/src/mess/drivers/exp85.c
@@ -180,7 +180,6 @@ static const cassette_interface exp85_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/fc100.c b/src/mess/drivers/fc100.c
index b6e41b0e246..163d8679bc3 100644
--- a/src/mess/drivers/fc100.c
+++ b/src/mess/drivers/fc100.c
@@ -480,7 +480,6 @@ static const cassette_interface fc100_cassette_interface =
fc100_cassette_formats,
NULL,
(cassette_state) (CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/fm7.c b/src/mess/drivers/fm7.c
index 53277cf9ddf..a79ba357c5c 100644
--- a/src/mess/drivers/fm7.c
+++ b/src/mess/drivers/fm7.c
@@ -1996,21 +1996,14 @@ static const cassette_interface fm7_cassette_interface =
fm7_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- "fm7_cass",
- NULL
+ "fm7_cass"
};
static const floppy_interface fm7_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(default),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
static MACHINE_CONFIG_START( fm7, fm7_state )
diff --git a/src/mess/drivers/fmtowns.c b/src/mess/drivers/fmtowns.c
index cd9c5c74f5e..744b3a68c9e 100644
--- a/src/mess/drivers/fmtowns.c
+++ b/src/mess/drivers/fmtowns.c
@@ -2671,12 +2671,6 @@ static GFXDECODE_START( towns )
GFXDECODE_ENTRY( "user", 0x180000, fnt_chars_16x16, 0, 16 )
GFXDECODE_END
-struct cdrom_interface towns_cdrom =
-{
- NULL,
- NULL
-};
-
static MACHINE_CONFIG_FRAGMENT( towns_base )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu",I386, 16000000)
@@ -2734,7 +2728,7 @@ static MACHINE_CONFIG_FRAGMENT( towns_base )
MCFG_FLOPPY_DRIVE_ADD("fdc:0", towns_floppies, "35hd", towns_state::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("fdc:1", towns_floppies, "35hd", towns_state::floppy_formats)
- MCFG_CDROM_ADD("cdrom",towns_cdrom)
+ MCFG_CDROM_ADD("cdrom")
MCFG_DEVICE_ADD("scsi", SCSI_PORT, 0)
MCFG_SCSIDEV_ADD("scsi:" SCSI_PORT_DEVICE1, "harddisk", SCSIHD, SCSI_ID_0)
diff --git a/src/mess/drivers/galaxy.c b/src/mess/drivers/galaxy.c
index 65de85a2bc4..6e70f6b047b 100644
--- a/src/mess/drivers/galaxy.c
+++ b/src/mess/drivers/galaxy.c
@@ -159,8 +159,7 @@ static const cassette_interface galaxy_cassette_interface =
gtp_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
- "galaxy_cass",
- NULL
+ "galaxy_cass"
};
diff --git a/src/mess/drivers/h8.c b/src/mess/drivers/h8.c
index 8ae98ff76d8..277fe2a5b8d 100644
--- a/src/mess/drivers/h8.c
+++ b/src/mess/drivers/h8.c
@@ -311,8 +311,7 @@ static const cassette_interface h8_cassette_interface =
NULL,
//(cassette_state) (CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
(cassette_state) (CASSETTE_PLAY | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- "h8_cass",
- NULL
+ "h8_cass"
};
static MACHINE_CONFIG_START( h8, h8_state )
diff --git a/src/mess/drivers/hec2hrp.c b/src/mess/drivers/hec2hrp.c
index 5226150c946..ed9d2e93096 100644
--- a/src/mess/drivers/hec2hrp.c
+++ b/src/mess/drivers/hec2hrp.c
@@ -385,7 +385,6 @@ static const cassette_interface hector_cassette_interface =
hector_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
@@ -409,14 +408,8 @@ const wd17xx_interface hector_wd17xx_interface =
const floppy_interface minidisc_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_3_5_DSDD,
LEGACY_FLOPPY_OPTIONS_NAME(hector_minidisc),
- NULL,
NULL
};
diff --git a/src/mess/drivers/huebler.c b/src/mess/drivers/huebler.c
index 9ef6b2cf4ab..9e5a1044b0f 100644
--- a/src/mess/drivers/huebler.c
+++ b/src/mess/drivers/huebler.c
@@ -311,7 +311,6 @@ static const cassette_interface amu880_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/ibmpcjr.c b/src/mess/drivers/ibmpcjr.c
index 8bc4cee947f..a253595f08c 100644
--- a/src/mess/drivers/ibmpcjr.c
+++ b/src/mess/drivers/ibmpcjr.c
@@ -552,7 +552,6 @@ static const cassette_interface pcjr_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/interact.c b/src/mess/drivers/interact.c
index 3ed77b4f049..23318eff8ff 100644
--- a/src/mess/drivers/interact.c
+++ b/src/mess/drivers/interact.c
@@ -103,8 +103,7 @@ static const cassette_interface interact_cassette_interface =
hector_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MASK_SPEAKER),
- "interact_cass",
- NULL
+ "interact_cass"
};
/* Discrete Sound */
diff --git a/src/mess/drivers/intv.c b/src/mess/drivers/intv.c
index 603c5f40ede..9266f2fc54c 100644
--- a/src/mess/drivers/intv.c
+++ b/src/mess/drivers/intv.c
@@ -143,7 +143,6 @@ static const cassette_interface ecs_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED),
- NULL,
NULL
};
*/
diff --git a/src/mess/drivers/iq151.c b/src/mess/drivers/iq151.c
index 62c77b75c87..712579d4c2d 100644
--- a/src/mess/drivers/iq151.c
+++ b/src/mess/drivers/iq151.c
@@ -366,8 +366,7 @@ static const cassette_interface iq151_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED),
- "iq151_cass",
- NULL
+ "iq151_cass"
};
static SLOT_INTERFACE_START(iq151_cart)
diff --git a/src/mess/drivers/jr100.c b/src/mess/drivers/jr100.c
index dd3e82df04b..fc4960fd34c 100644
--- a/src/mess/drivers/jr100.c
+++ b/src/mess/drivers/jr100.c
@@ -298,7 +298,6 @@ static const cassette_interface jr100_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/jtc.c b/src/mess/drivers/jtc.c
index 72165607cfb..2bfabe69ead 100644
--- a/src/mess/drivers/jtc.c
+++ b/src/mess/drivers/jtc.c
@@ -686,7 +686,6 @@ static const cassette_interface jtc_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/jupiter.c b/src/mess/drivers/jupiter.c
index 630ce16926b..23fcbf10cc5 100644
--- a/src/mess/drivers/jupiter.c
+++ b/src/mess/drivers/jupiter.c
@@ -185,14 +185,8 @@ UINT32 jupiter3_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap
#if 0
static const floppy_interface jupiter_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_SSDD_40,
LEGACY_FLOPPY_OPTIONS_NAME(default),
- NULL,
NULL
};
#endif
diff --git a/src/mess/drivers/kc.c b/src/mess/drivers/kc.c
index d7f36013be2..1481b4162d2 100644
--- a/src/mess/drivers/kc.c
+++ b/src/mess/drivers/kc.c
@@ -92,8 +92,7 @@ static const cassette_interface kc_cassette_interface =
kc_cassette_formats,
NULL,
CASSETTE_PLAY,
- "kc_cass",
- NULL
+ "kc_cass"
};
static MACHINE_CONFIG_START( kc85_3, kc_state )
diff --git a/src/mess/drivers/kim1.c b/src/mess/drivers/kim1.c
index c9c4f38417b..7b1537da12b 100644
--- a/src/mess/drivers/kim1.c
+++ b/src/mess/drivers/kim1.c
@@ -318,7 +318,6 @@ static const cassette_interface kim1_cassette_interface =
kim1_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/kyocera.c b/src/mess/drivers/kyocera.c
index 7707cc15766..b3061ef4169 100644
--- a/src/mess/drivers/kyocera.c
+++ b/src/mess/drivers/kyocera.c
@@ -1314,7 +1314,6 @@ static const cassette_interface kc85_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/lc80.c b/src/mess/drivers/lc80.c
index 83764077526..414bf632a6c 100644
--- a/src/mess/drivers/lc80.c
+++ b/src/mess/drivers/lc80.c
@@ -326,7 +326,6 @@ static const cassette_interface lc80_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/lisa.c b/src/mess/drivers/lisa.c
index 072eb9774bb..3bd85209368 100644
--- a/src/mess/drivers/lisa.c
+++ b/src/mess/drivers/lisa.c
@@ -103,15 +103,9 @@ static const applefdc_interface lisa210_fdc_interface =
static const floppy_interface lisa_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(apple35_mac),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
/***************************************************************************
diff --git a/src/mess/drivers/lviv.c b/src/mess/drivers/lviv.c
index 1c5584fb976..14c0194de35 100644
--- a/src/mess/drivers/lviv.c
+++ b/src/mess/drivers/lviv.c
@@ -420,8 +420,7 @@ static const cassette_interface lviv_cassette_interface =
lviv_lvt_format,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED),
- "lviv_cass",
- NULL
+ "lviv_cass"
};
diff --git a/src/mess/drivers/m5.c b/src/mess/drivers/m5.c
index eabe2b2ec72..e846ccb5ae1 100644
--- a/src/mess/drivers/m5.c
+++ b/src/mess/drivers/m5.c
@@ -410,7 +410,6 @@ static const cassette_interface cassette_intf =
sordm5_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY),
- NULL,
NULL
};
diff --git a/src/mess/drivers/mac.c b/src/mess/drivers/mac.c
index a7b6db9fd3c..c90ef4ae46f 100644
--- a/src/mess/drivers/mac.c
+++ b/src/mess/drivers/mac.c
@@ -879,15 +879,9 @@ SLOT_INTERFACE_END
static const floppy_interface mac_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_3_5_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(apple35_mac),
- "floppy_3_5",
- NULL
+ "floppy_3_5"
};
static MACHINE_CONFIG_START( mac512ke, mac_state )
diff --git a/src/mess/drivers/macpci.c b/src/mess/drivers/macpci.c
index ac49b6a7d6d..ab15b5ad4f3 100644
--- a/src/mess/drivers/macpci.c
+++ b/src/mess/drivers/macpci.c
@@ -86,12 +86,6 @@ UINT32 macpci_state::screen_update_pippin(screen_device &screen, bitmap_ind16 &b
return 0;
}
-struct cdrom_interface pippin_cdrom =
-{
- NULL,
- NULL
-};
-
static MACHINE_CONFIG_START( pippin, macpci_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", PPC603, 66000000)
@@ -115,7 +109,7 @@ static MACHINE_CONFIG_START( pippin, macpci_state )
MCFG_SOUND_ROUTE( 0, "lspeaker", 1.00 )
MCFG_SOUND_ROUTE( 1, "rspeaker", 1.00 )
- MCFG_CDROM_ADD("cdrom",pippin_cdrom)
+ MCFG_CDROM_ADD("cdrom")
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("32M")
diff --git a/src/mess/drivers/mbc200.c b/src/mess/drivers/mbc200.c
index 2e4fc087ac9..6e3f93f04f6 100644
--- a/src/mess/drivers/mbc200.c
+++ b/src/mess/drivers/mbc200.c
@@ -184,15 +184,9 @@ static const wd17xx_interface mbc200_mb8876_interface =
};
static const floppy_interface mbc200_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_SSDD_40,
LEGACY_FLOPPY_OPTIONS_NAME(default),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
static const gfx_layout mbc200_chars_8x8 =
diff --git a/src/mess/drivers/mbc55x.c b/src/mess/drivers/mbc55x.c
index 5b2b4eae3ab..ef03005dc55 100644
--- a/src/mess/drivers/mbc55x.c
+++ b/src/mess/drivers/mbc55x.c
@@ -32,15 +32,9 @@ const unsigned char mbc55x_palette[SCREEN_NO_COLOURS][3] =
static const floppy_interface mbc55x_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSSD_35,
LEGACY_FLOPPY_OPTIONS_NAME(pc),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
static ADDRESS_MAP_START(mbc55x_mem, AS_PROGRAM, 8, mbc55x_state)
diff --git a/src/mess/drivers/mbee.c b/src/mess/drivers/mbee.c
index ed543170355..a9f0607047f 100644
--- a/src/mess/drivers/mbee.c
+++ b/src/mess/drivers/mbee.c
@@ -638,14 +638,8 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface mbee_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(mbee),
- NULL,
NULL
};
#endif
@@ -665,7 +659,6 @@ static const cassette_interface mbee_cassette_interface =
mbee_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/mc10.c b/src/mess/drivers/mc10.c
index 011a5cbc67f..bb09d505161 100644
--- a/src/mess/drivers/mc10.c
+++ b/src/mess/drivers/mc10.c
@@ -482,7 +482,6 @@ static const cassette_interface mc10_cassette_interface =
coco_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
- NULL,
NULL
};
@@ -491,8 +490,7 @@ static const cassette_interface alice32_cassette_interface =
alice32_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
- "alice32_cass",
- NULL
+ "alice32_cass"
};
static const mc6847_interface mc10_mc6847_intf =
diff --git a/src/mess/drivers/mc1000.c b/src/mess/drivers/mc1000.c
index 78d0997e2ae..7643549ec6e 100644
--- a/src/mess/drivers/mc1000.c
+++ b/src/mess/drivers/mc1000.c
@@ -429,7 +429,6 @@ static const cassette_interface mc1000_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/mc1502.c b/src/mess/drivers/mc1502.c
index e0b01c6b3e6..3de8cb266c9 100644
--- a/src/mess/drivers/mc1502.c
+++ b/src/mess/drivers/mc1502.c
@@ -36,7 +36,6 @@ static const cassette_interface mc1502_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/megadriv.c b/src/mess/drivers/megadriv.c
index a8692fe1894..4f27fc446b6 100644
--- a/src/mess/drivers/megadriv.c
+++ b/src/mess/drivers/megadriv.c
@@ -680,12 +680,6 @@ ROM_END
/****************************************** SegaCD emulation ****************************************/
-struct cdrom_interface scd_cdrom =
-{
- "scd_cdrom",
- NULL
-};
-
static MACHINE_CONFIG_START( genesis_scd, md_cons_state )
MCFG_FRAGMENT_ADD( md_ntsc )
@@ -698,7 +692,8 @@ static MACHINE_CONFIG_START( genesis_scd, md_cons_state )
MCFG_DEVICE_ADD("segacd", SEGA_SEGACD_US, 0)
MCFG_GFX_PALETTE("gen_vdp:palette")
- MCFG_CDROM_ADD( "cdrom",scd_cdrom )
+ MCFG_CDROM_ADD( "cdrom" )
+ MCFG_CDROM_INTERFACE("scd_cdrom")
MCFG_SOFTWARE_LIST_ADD("cd_list","segacd")
MACHINE_CONFIG_END
@@ -715,7 +710,8 @@ static MACHINE_CONFIG_START( md_scd, md_cons_state )
MCFG_DEVICE_ADD("segacd", SEGA_SEGACD_EUROPE, 0)
MCFG_GFX_PALETTE("gen_vdp:palette")
- MCFG_CDROM_ADD( "cdrom",scd_cdrom )
+ MCFG_CDROM_ADD( "cdrom" )
+ MCFG_CDROM_INTERFACE("scd_cdrom")
MCFG_SOFTWARE_LIST_ADD("cd_list","megacd")
MACHINE_CONFIG_END
@@ -732,7 +728,8 @@ static MACHINE_CONFIG_START( mdj_scd, md_cons_state )
MCFG_DEVICE_ADD("segacd", SEGA_SEGACD_JAPAN, 0)
MCFG_GFX_PALETTE("gen_vdp:palette")
- MCFG_CDROM_ADD( "cdrom",scd_cdrom )
+ MCFG_CDROM_ADD( "cdrom" )
+ MCFG_CDROM_INTERFACE("scd_cdrom")
MCFG_SOFTWARE_LIST_ADD("cd_list","megacdj")
MACHINE_CONFIG_END
@@ -743,7 +740,8 @@ static MACHINE_CONFIG_DERIVED( genesis_32x_scd, genesis_32x )
MCFG_DEVICE_ADD("segacd", SEGA_SEGACD_US, 0)
MCFG_GFX_PALETTE("gen_vdp:palette")
- MCFG_CDROM_ADD( "cdrom",scd_cdrom )
+ MCFG_CDROM_ADD( "cdrom" )
+ MCFG_CDROM_INTERFACE("scd_cdrom")
MCFG_MACHINE_START_OVERRIDE(md_cons_state, ms_megacd)
diff --git a/src/mess/drivers/mikro80.c b/src/mess/drivers/mikro80.c
index ab7a60e7df9..f9f2b07dcf5 100644
--- a/src/mess/drivers/mikro80.c
+++ b/src/mess/drivers/mikro80.c
@@ -144,7 +144,6 @@ static const cassette_interface mikro80_cassette_interface =
rk8_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/mikrosha.c b/src/mess/drivers/mikrosha.c
index 6dcfd93e2f5..5480c6b4d57 100644
--- a/src/mess/drivers/mikrosha.c
+++ b/src/mess/drivers/mikrosha.c
@@ -145,8 +145,7 @@ static const cassette_interface mikrosha_cassette_interface =
rkm_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
- "mikrosha_cass",
- NULL
+ "mikrosha_cass"
};
diff --git a/src/mess/drivers/mpf1.c b/src/mess/drivers/mpf1.c
index 8c5ad5d33a2..86d1c4969f1 100644
--- a/src/mess/drivers/mpf1.c
+++ b/src/mess/drivers/mpf1.c
@@ -280,7 +280,6 @@ static const cassette_interface mpf1_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/ms0515.c b/src/mess/drivers/ms0515.c
index 8d68ccf7526..70bf766ce27 100644
--- a/src/mess/drivers/ms0515.c
+++ b/src/mess/drivers/ms0515.c
@@ -154,14 +154,8 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface ms0515_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(ms0515),
- NULL,
NULL
};
diff --git a/src/mess/drivers/msx.c b/src/mess/drivers/msx.c
index 3e1da09104b..307962cfcd1 100644
--- a/src/mess/drivers/msx.c
+++ b/src/mess/drivers/msx.c
@@ -1067,8 +1067,7 @@ static const cassette_interface msx_cassette_interface =
fmsx_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY),
- "msx_cass",
- NULL
+ "msx_cass"
};
diff --git a/src/mess/drivers/mtx.c b/src/mess/drivers/mtx.c
index 27d776de5c4..64322b69584 100644
--- a/src/mess/drivers/mtx.c
+++ b/src/mess/drivers/mtx.c
@@ -272,7 +272,6 @@ static const cassette_interface mtx_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/myb3k.c b/src/mess/drivers/myb3k.c
index f90339d3400..fdb867301e8 100644
--- a/src/mess/drivers/myb3k.c
+++ b/src/mess/drivers/myb3k.c
@@ -244,14 +244,8 @@ static const wd17xx_interface myb3k_wd17xx_interface =
static const floppy_interface myb3k_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSDD_40, //todo
LEGACY_FLOPPY_OPTIONS_NAME(default),
- NULL,
NULL
};
diff --git a/src/mess/drivers/mz2000.c b/src/mess/drivers/mz2000.c
index 24a44e9f05b..3596d51789c 100644
--- a/src/mess/drivers/mz2000.c
+++ b/src/mess/drivers/mz2000.c
@@ -797,14 +797,8 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface mz2000_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_3_5_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(default),
- NULL,
NULL
};
@@ -813,8 +807,7 @@ static const cassette_interface mz2000_cassette_interface =
mz700_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- "mz_cass",
- NULL
+ "mz_cass"
};
static MACHINE_CONFIG_START( mz2000, mz2000_state )
diff --git a/src/mess/drivers/mz2500.c b/src/mess/drivers/mz2500.c
index e355b6fdeb6..761479f80de 100644
--- a/src/mess/drivers/mz2500.c
+++ b/src/mess/drivers/mz2500.c
@@ -1220,15 +1220,9 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface mz2500_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_3_5_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(default),
- "floppy_3_5",
- NULL
+ "floppy_3_5"
};
static ADDRESS_MAP_START(mz2500_map, AS_PROGRAM, 8, mz2500_state )
diff --git a/src/mess/drivers/mz700.c b/src/mess/drivers/mz700.c
index 4e9bf52ddbe..21e25afa6f8 100644
--- a/src/mess/drivers/mz700.c
+++ b/src/mess/drivers/mz700.c
@@ -322,8 +322,7 @@ static const cassette_interface mz700_cassette_interface =
mz700_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- "mz_cass",
- NULL
+ "mz_cass"
};
diff --git a/src/mess/drivers/mz80.c b/src/mess/drivers/mz80.c
index ccea2b63518..c535241aac7 100644
--- a/src/mess/drivers/mz80.c
+++ b/src/mess/drivers/mz80.c
@@ -265,7 +265,6 @@ static const cassette_interface mz80k_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/nascom1.c b/src/mess/drivers/nascom1.c
index bca108ecd21..4feb2945fa7 100644
--- a/src/mess/drivers/nascom1.c
+++ b/src/mess/drivers/nascom1.c
@@ -312,14 +312,8 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface nascom2_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(nascom2),
- NULL,
NULL
};
diff --git a/src/mess/drivers/nes.c b/src/mess/drivers/nes.c
index 04318dbfb96..5d221204e34 100644
--- a/src/mess/drivers/nes.c
+++ b/src/mess/drivers/nes.c
@@ -648,15 +648,9 @@ void nes_state::ppu_nmi(int *ppu_regs)
static const floppy_interface nes_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(nes_only),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
@@ -665,8 +659,7 @@ static const cassette_interface fc_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- "fc_cass",
- NULL
+ "fc_cass"
};
diff --git a/src/mess/drivers/newbrain.c b/src/mess/drivers/newbrain.c
index 6fdd0a21e1a..145d1069eb1 100644
--- a/src/mess/drivers/newbrain.c
+++ b/src/mess/drivers/newbrain.c
@@ -1300,7 +1300,6 @@ static const cassette_interface newbrain_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/ng_aes.c b/src/mess/drivers/ng_aes.c
index 826af07ea08..5ef97363945 100644
--- a/src/mess/drivers/ng_aes.c
+++ b/src/mess/drivers/ng_aes.c
@@ -1461,13 +1461,6 @@ UINT32 ng_aes_state::screen_update_neocd(screen_device &screen, bitmap_rgb32 &bi
}
-struct cdrom_interface neocd_cdrom =
-{
- "neocd_cdrom",
- NULL
-};
-
-
static MACHINE_CONFIG_DERIVED_CLASS( neocd, neogeo_base, ng_aes_state )
MCFG_CPU_MODIFY("maincpu")
@@ -1493,7 +1486,8 @@ static MACHINE_CONFIG_DERIVED_CLASS( neocd, neogeo_base, ng_aes_state )
MCFG_MACHINE_START_OVERRIDE(ng_aes_state,neocd)
MCFG_MACHINE_RESET_OVERRIDE(ng_aes_state,neocd)
- MCFG_CDROM_ADD( "cdrom",neocd_cdrom )
+ MCFG_CDROM_ADD( "cdrom" )
+ MCFG_CDROM_INTERFACE("neocd_cdrom")
MCFG_SOFTWARE_LIST_ADD("cd_list","neocd")
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/ondra.c b/src/mess/drivers/ondra.c
index 15892f342cd..50cca61c3f4 100644
--- a/src/mess/drivers/ondra.c
+++ b/src/mess/drivers/ondra.c
@@ -115,8 +115,7 @@ static const cassette_interface ondra_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- "ondra_cass",
- NULL
+ "ondra_cass"
};
/* Machine driver */
diff --git a/src/mess/drivers/orao.c b/src/mess/drivers/orao.c
index 7f8b8a2235d..7e37f317d7f 100644
--- a/src/mess/drivers/orao.c
+++ b/src/mess/drivers/orao.c
@@ -167,8 +167,7 @@ static const cassette_interface orao_cassette_interface =
orao_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
- "orao_cass",
- NULL
+ "orao_cass"
};
diff --git a/src/mess/drivers/oric.c b/src/mess/drivers/oric.c
index 0692ea83602..194eef573ab 100644
--- a/src/mess/drivers/oric.c
+++ b/src/mess/drivers/oric.c
@@ -783,7 +783,6 @@ static const cassette_interface oric_cassette_interface =
oric_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/orion.c b/src/mess/drivers/orion.c
index f86813762cc..d9df5c0d261 100644
--- a/src/mess/drivers/orion.c
+++ b/src/mess/drivers/orion.c
@@ -78,8 +78,7 @@ static const cassette_interface orion_cassette_interface =
rko_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
- "orion_cass",
- NULL
+ "orion_cass"
};
FLOPPY_FORMATS_MEMBER( orion_state::orion_floppy_formats )
diff --git a/src/mess/drivers/osbexec.c b/src/mess/drivers/osbexec.c
index 71326d0ab63..21f5105b7a9 100644
--- a/src/mess/drivers/osbexec.c
+++ b/src/mess/drivers/osbexec.c
@@ -477,14 +477,8 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface osbexec_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_SSDD_40,
LEGACY_FLOPPY_OPTIONS_NAME(osbexec),
- NULL,
NULL
};
diff --git a/src/mess/drivers/osborne1.c b/src/mess/drivers/osborne1.c
index c4ca6c44fe9..6e01813c09b 100644
--- a/src/mess/drivers/osborne1.c
+++ b/src/mess/drivers/osborne1.c
@@ -201,15 +201,9 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface osborne1_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_SSDD_40,
LEGACY_FLOPPY_OPTIONS_NAME(osborne1),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
/* F4 Character Displayer */
diff --git a/src/mess/drivers/osi.c b/src/mess/drivers/osi.c
index 88da4f5e0fa..563d53efc85 100644
--- a/src/mess/drivers/osi.c
+++ b/src/mess/drivers/osi.c
@@ -697,14 +697,8 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface osi_floppy_interface =
{
- DEVCB_DRIVER_LINE_MEMBER(sb2m600_state,osi470_index_callback),
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_SSDD_40,
LEGACY_FLOPPY_OPTIONS_NAME(osi),
- NULL,
NULL
};
@@ -838,6 +832,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( c1pmf, c1p, c1pmf_state )
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia_1", acia6850_device, write_txc))
MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, osi_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(sb2m600_state, osi470_index_callback))
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
diff --git a/src/mess/drivers/partner.c b/src/mess/drivers/partner.c
index a3c099f6559..332ba876811 100644
--- a/src/mess/drivers/partner.c
+++ b/src/mess/drivers/partner.c
@@ -139,8 +139,7 @@ static const cassette_interface partner_cassette_interface =
rkp_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
- "partner_cass",
- NULL
+ "partner_cass"
};
FLOPPY_FORMATS_MEMBER( partner_state::floppy_formats )
diff --git a/src/mess/drivers/pc6001.c b/src/mess/drivers/pc6001.c
index d946828de2b..644e9670e8b 100644
--- a/src/mess/drivers/pc6001.c
+++ b/src/mess/drivers/pc6001.c
@@ -2243,7 +2243,6 @@ static const cassette_interface pc6001_cassette_interface =
pc6001_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
#endif
diff --git a/src/mess/drivers/pc8001.c b/src/mess/drivers/pc8001.c
index b77ac725b6d..c37726cc92b 100644
--- a/src/mess/drivers/pc8001.c
+++ b/src/mess/drivers/pc8001.c
@@ -478,7 +478,6 @@ static const cassette_interface pc8001_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/pc8801.c b/src/mess/drivers/pc8801.c
index 248ee99cb76..fabd01e9ed1 100644
--- a/src/mess/drivers/pc8801.c
+++ b/src/mess/drivers/pc8801.c
@@ -2248,8 +2248,7 @@ static const cassette_interface pc88_cassette_interface =
cassette_default_formats, // we need T88 format support!
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- "pc8801_cass",
- NULL
+ "pc8801_cass"
};
#endif
@@ -2597,7 +2596,6 @@ static const cassette_interface pc8801_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/pecom.c b/src/mess/drivers/pecom.c
index ecaf80685df..5e25acc6c61 100644
--- a/src/mess/drivers/pecom.c
+++ b/src/mess/drivers/pecom.c
@@ -171,8 +171,7 @@ static const cassette_interface pecom_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- "pecom_cass",
- NULL
+ "pecom_cass"
};
/* Machine driver */
diff --git a/src/mess/drivers/pegasus.c b/src/mess/drivers/pegasus.c
index 81395ad0d43..fa2bdfa4613 100644
--- a/src/mess/drivers/pegasus.c
+++ b/src/mess/drivers/pegasus.c
@@ -283,7 +283,6 @@ static const cassette_interface pegasus_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED|CASSETTE_MOTOR_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/phc25.c b/src/mess/drivers/phc25.c
index fb77b46202f..9dd9b9c4105 100644
--- a/src/mess/drivers/phc25.c
+++ b/src/mess/drivers/phc25.c
@@ -358,7 +358,6 @@ static const cassette_interface phc25_cassette_interface =
phc25_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/pk8000.c b/src/mess/drivers/pk8000.c
index c5f0953683d..625518dbaee 100644
--- a/src/mess/drivers/pk8000.c
+++ b/src/mess/drivers/pk8000.c
@@ -349,7 +349,6 @@ static const cassette_interface pk8000_cassette_interface =
fmsx_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY),
- NULL,
NULL
};
diff --git a/src/mess/drivers/pk8020.c b/src/mess/drivers/pk8020.c
index dc9174a456a..3ccd9239008 100644
--- a/src/mess/drivers/pk8020.c
+++ b/src/mess/drivers/pk8020.c
@@ -145,7 +145,6 @@ static const cassette_interface pk8020_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_PLAY),
- NULL,
NULL
};
@@ -160,15 +159,9 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface pk8020_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(pk8020),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
static const wd17xx_interface pk8020_wd17xx_interface =
diff --git a/src/mess/drivers/pmd85.c b/src/mess/drivers/pmd85.c
index ef630b43cc1..f3e9c06bb2c 100644
--- a/src/mess/drivers/pmd85.c
+++ b/src/mess/drivers/pmd85.c
@@ -538,7 +538,6 @@ static const cassette_interface pmd85_cassette_interface =
pmd85_cassette_formats,
&pmd85_cassette_options,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/poisk1.c b/src/mess/drivers/poisk1.c
index 5cce8dbea38..43bcbe3f5f8 100644
--- a/src/mess/drivers/poisk1.c
+++ b/src/mess/drivers/poisk1.c
@@ -174,7 +174,6 @@ static const cassette_interface p1_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/poly88.c b/src/mess/drivers/poly88.c
index 76db2ee3082..b96b591934b 100644
--- a/src/mess/drivers/poly88.c
+++ b/src/mess/drivers/poly88.c
@@ -144,7 +144,6 @@ static const cassette_interface poly88_cassette_interface =
cassette_default_formats,
&poly88_cassette_options,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/poly880.c b/src/mess/drivers/poly880.c
index 69f66424099..818cd5bf5c3 100644
--- a/src/mess/drivers/poly880.c
+++ b/src/mess/drivers/poly880.c
@@ -246,7 +246,6 @@ static const cassette_interface poly880_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/primo.c b/src/mess/drivers/primo.c
index 7b401d06487..75612b4b2b4 100644
--- a/src/mess/drivers/primo.c
+++ b/src/mess/drivers/primo.c
@@ -243,7 +243,6 @@ static const cassette_interface primo_cassette_interface =
primo_ptp_format,
&primo_cassette_options,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/ptcsol.c b/src/mess/drivers/ptcsol.c
index 54538e29bab..4fe135988e7 100644
--- a/src/mess/drivers/ptcsol.c
+++ b/src/mess/drivers/ptcsol.c
@@ -553,7 +553,6 @@ static const cassette_interface sol20_cassette_interface =
sol20_cassette_formats,//cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/pv2000.c b/src/mess/drivers/pv2000.c
index ed769c6f2f2..2227b6b00a1 100644
--- a/src/mess/drivers/pv2000.c
+++ b/src/mess/drivers/pv2000.c
@@ -388,7 +388,6 @@ static const cassette_interface pv2000_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/px4.c b/src/mess/drivers/px4.c
index 60ecfb711c5..e5b9f972b55 100644
--- a/src/mess/drivers/px4.c
+++ b/src/mess/drivers/px4.c
@@ -1364,7 +1364,6 @@ static const cassette_interface px4_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_PLAY | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_DISABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/px8.c b/src/mess/drivers/px8.c
index bfdf1d823ff..2c5eec7310b 100644
--- a/src/mess/drivers/px8.c
+++ b/src/mess/drivers/px8.c
@@ -731,7 +731,6 @@ static const cassette_interface px8_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/ql.c b/src/mess/drivers/ql.c
index e69b0ddd144..eff423cfd46 100644
--- a/src/mess/drivers/ql.c
+++ b/src/mess/drivers/ql.c
@@ -945,14 +945,8 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface ql_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(ql),
- NULL,
NULL
};
@@ -964,28 +958,6 @@ wd17xx_interface ql_wd17xx_interface =
{FLOPPY_0, FLOPPY_1, FLOPPY_2, FLOPPY_3}
};
-//-------------------------------------------------
-// MICRODRIVE_CONFIG( mdv1_config )
-//-------------------------------------------------
-
-static MICRODRIVE_CONFIG( mdv1_config )
-{
- NULL,
- NULL,
-};
-
-
-//-------------------------------------------------
-// MICRODRIVE_CONFIG( mdv2_config )
-//-------------------------------------------------
-
-static MICRODRIVE_CONFIG( mdv2_config )
-{
- NULL,
- NULL
-};
-
-
//**************************************************************************
// MACHINE INITIALIZATION
@@ -1151,9 +1123,9 @@ static MACHINE_CONFIG_START( ql, ql_state )
MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(ql_floppy_interface)
MCFG_WD1772_ADD(WD1772_TAG,ql_wd17xx_interface)
- MCFG_MICRODRIVE_ADD(MDV_1, mdv1_config)
+ MCFG_MICRODRIVE_ADD(MDV_1)
MCFG_MICRODRIVE_COMMS_OUT_CALLBACK(DEVWRITELINE(MDV_2, microdrive_image_device, comms_in_w))
- MCFG_MICRODRIVE_ADD(MDV_2, mdv2_config)
+ MCFG_MICRODRIVE_ADD(MDV_2)
MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL) // wired as DCE
MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) // wired as DTE
MCFG_RS232_CTS_HANDLER(DEVWRITELINE(ZX8302_TAG, zx8302_device, write_cts2))
diff --git a/src/mess/drivers/radio86.c b/src/mess/drivers/radio86.c
index 8ea40caedd4..d5f5321ded8 100644
--- a/src/mess/drivers/radio86.c
+++ b/src/mess/drivers/radio86.c
@@ -320,8 +320,7 @@ static const cassette_interface radio86_cassette_interface =
rkr_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
- "radio86_cass",
- NULL
+ "radio86_cass"
};
diff --git a/src/mess/drivers/rainbow.c b/src/mess/drivers/rainbow.c
index 052be9d847d..351631cd69f 100644
--- a/src/mess/drivers/rainbow.c
+++ b/src/mess/drivers/rainbow.c
@@ -1204,15 +1204,9 @@ const wd17xx_interface rainbow_wd17xx_interface =
static const floppy_interface floppy_intf =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_SSDD_80,
LEGACY_FLOPPY_OPTIONS_NAME( dec100_floppy ),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
static MACHINE_CONFIG_START( rainbow, rainbow_state )
diff --git a/src/mess/drivers/rm380z.c b/src/mess/drivers/rm380z.c
index a35fa766ac5..f96ababd0f0 100644
--- a/src/mess/drivers/rm380z.c
+++ b/src/mess/drivers/rm380z.c
@@ -120,14 +120,8 @@ INPUT_PORTS_END
static const floppy_interface rm380z_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_SSSD,
LEGACY_FLOPPY_OPTIONS_NAME(default),
- NULL,
NULL
};
diff --git a/src/mess/drivers/rmnimbus.c b/src/mess/drivers/rmnimbus.c
index 6fba0afbf90..499b7248051 100644
--- a/src/mess/drivers/rmnimbus.c
+++ b/src/mess/drivers/rmnimbus.c
@@ -46,15 +46,9 @@ const unsigned char nimbus_palette[SCREEN_NO_COLOURS][3] =
static const floppy_interface nimbus_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_3_5_DSDD,
LEGACY_FLOPPY_OPTIONS_NAME(pc),
- "floppy_3_5",
- NULL
+ "floppy_3_5"
};
/* Null port handlers for now, I believe that the IO ports are used for */
diff --git a/src/mess/drivers/samcoupe.c b/src/mess/drivers/samcoupe.c
index 0e45a08ceaa..629bd30ab61 100644
--- a/src/mess/drivers/samcoupe.c
+++ b/src/mess/drivers/samcoupe.c
@@ -521,8 +521,7 @@ static const cassette_interface samcoupe_cassette_interface =
tzx_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
- "samcoupe_cass",
- NULL
+ "samcoupe_cass"
};
FLOPPY_FORMATS_MEMBER( samcoupe_state::floppy_formats )
diff --git a/src/mess/drivers/saturn.c b/src/mess/drivers/saturn.c
index f9031f64923..a09496d7f99 100644
--- a/src/mess/drivers/saturn.c
+++ b/src/mess/drivers/saturn.c
@@ -696,12 +696,6 @@ MACHINE_RESET_MEMBER(sat_console_state,saturn)
}
-struct cdrom_interface saturn_cdrom =
-{
- "sat_cdrom",
- NULL
-};
-
static MACHINE_CONFIG_START( saturn, sat_console_state )
/* basic machine hardware */
@@ -773,7 +767,8 @@ SLOT_INTERFACE_END
MACHINE_CONFIG_DERIVED( saturnus, saturn )
- MCFG_CDROM_ADD( "cdrom",saturn_cdrom )
+ MCFG_CDROM_ADD( "cdrom" )
+ MCFG_CDROM_INTERFACE("sat_cdrom")
MCFG_SOFTWARE_LIST_ADD("cd_list","saturn")
MCFG_SOFTWARE_LIST_FILTER("cd_list","NTSC-U")
@@ -783,7 +778,8 @@ MACHINE_CONFIG_DERIVED( saturnus, saturn )
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED( saturneu, saturn )
- MCFG_CDROM_ADD( "cdrom",saturn_cdrom )
+ MCFG_CDROM_ADD( "cdrom" )
+ MCFG_CDROM_INTERFACE("sat_cdrom")
MCFG_SOFTWARE_LIST_ADD("cd_list","saturn")
MCFG_SOFTWARE_LIST_FILTER("cd_list","PAL")
@@ -793,7 +789,8 @@ MACHINE_CONFIG_DERIVED( saturneu, saturn )
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED( saturnjp, saturn )
- MCFG_CDROM_ADD( "cdrom",saturn_cdrom )
+ MCFG_CDROM_ADD( "cdrom" )
+ MCFG_CDROM_INTERFACE("sat_cdrom")
MCFG_SOFTWARE_LIST_ADD("cd_list","saturn")
MCFG_SOFTWARE_LIST_FILTER("cd_list","NTSC-J")
diff --git a/src/mess/drivers/sg1000.c b/src/mess/drivers/sg1000.c
index 0cd21e3677e..2467d892a00 100644
--- a/src/mess/drivers/sg1000.c
+++ b/src/mess/drivers/sg1000.c
@@ -548,8 +548,7 @@ const cassette_interface sc3000_cassette_interface =
sc3000_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- "sc3000_cass",
- NULL
+ "sc3000_cass"
};
/*-------------------------------------------------
diff --git a/src/mess/drivers/smc777.c b/src/mess/drivers/smc777.c
index b4637015beb..33a1a258778 100644
--- a/src/mess/drivers/smc777.c
+++ b/src/mess/drivers/smc777.c
@@ -1040,15 +1040,9 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface smc777_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_SSDD,
LEGACY_FLOPPY_OPTIONS_NAME(smc777),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
INTERRUPT_GEN_MEMBER(smc777_state::smc777_vblank_irq)
diff --git a/src/mess/drivers/softbox.c b/src/mess/drivers/softbox.c
index 324a8e3b5f1..bc387c1cbcd 100644
--- a/src/mess/drivers/softbox.c
+++ b/src/mess/drivers/softbox.c
@@ -401,10 +401,14 @@ static MACHINE_CONFIG_START( softbox, softbox_state )
MCFG_CBM_IEEE488_ADD("c8050")
MCFG_DEVICE_ADD(CORVUS_HDC_TAG, CORVUS_HDC, 0)
- MCFG_HARDDISK_CONFIG_ADD("harddisk1", corvus_hdc_t::hd_intf)
- MCFG_HARDDISK_CONFIG_ADD("harddisk2", corvus_hdc_t::hd_intf)
- MCFG_HARDDISK_CONFIG_ADD("harddisk3", corvus_hdc_t::hd_intf)
- MCFG_HARDDISK_CONFIG_ADD("harddisk4", corvus_hdc_t::hd_intf)
+ MCFG_HARDDISK_ADD("harddisk1")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk2")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk3")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
+ MCFG_HARDDISK_ADD("harddisk4")
+ MCFG_HARDDISK_INTERFACE("corvus_hdd")
MCFG_IMI7000_BUS_ADD("imi5000h", NULL, NULL, NULL)
diff --git a/src/mess/drivers/sorcerer.c b/src/mess/drivers/sorcerer.c
index 2f3e13e4296..1e877226e87 100644
--- a/src/mess/drivers/sorcerer.c
+++ b/src/mess/drivers/sorcerer.c
@@ -391,21 +391,14 @@ static const cassette_interface sorcerer_cassette_interface =
sorcerer_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- "sorcerer_cass",
- NULL
+ "sorcerer_cass"
};
static const floppy_interface sorcerer_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_8_SSSD,
LEGACY_FLOPPY_OPTIONS_NAME(sorcerer),
- "floppy_8",
- NULL
+ "floppy_8"
};
diff --git a/src/mess/drivers/spc1000.c b/src/mess/drivers/spc1000.c
index 21ad4f2cb6e..03967cde7bc 100644
--- a/src/mess/drivers/spc1000.c
+++ b/src/mess/drivers/spc1000.c
@@ -302,7 +302,6 @@ static const cassette_interface spc1000_cassette_interface =
spc1000_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/special.c b/src/mess/drivers/special.c
index 05d0f459f55..4349c605e0d 100644
--- a/src/mess/drivers/special.c
+++ b/src/mess/drivers/special.c
@@ -347,8 +347,7 @@ static const cassette_interface special_cassette_interface =
rks_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
- "special_cass",
- NULL
+ "special_cass"
};
FLOPPY_FORMATS_MEMBER( special_state::specimx_floppy_formats )
diff --git a/src/mess/drivers/spectrum.c b/src/mess/drivers/spectrum.c
index f5e4eabd39e..d99cdbcbe58 100644
--- a/src/mess/drivers/spectrum.c
+++ b/src/mess/drivers/spectrum.c
@@ -653,8 +653,7 @@ static const cassette_interface spectrum_cassette_interface =
tzx_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
- "spectrum_cass",
- NULL
+ "spectrum_cass"
};
DEVICE_IMAGE_LOAD_MEMBER( spectrum_state,spectrum_cart )
diff --git a/src/mess/drivers/super80.c b/src/mess/drivers/super80.c
index 4f6bc687157..620788ea6bc 100644
--- a/src/mess/drivers/super80.c
+++ b/src/mess/drivers/super80.c
@@ -651,7 +651,6 @@ static const cassette_interface super80_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/svi318.c b/src/mess/drivers/svi318.c
index 9b2f621e195..52ecb012ea3 100644
--- a/src/mess/drivers/svi318.c
+++ b/src/mess/drivers/svi318.c
@@ -270,21 +270,14 @@ static const cassette_interface svi318_cassette_interface =
svi_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY),
- "svi318_cass",
- NULL
+ "svi318_cass"
};
static const floppy_interface svi318_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(svi318),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
static MACHINE_CONFIG_FRAGMENT( svi318_cartslot )
diff --git a/src/mess/drivers/swtpc09.c b/src/mess/drivers/swtpc09.c
index e5820033d48..3fb3c4e9ec1 100644
--- a/src/mess/drivers/swtpc09.c
+++ b/src/mess/drivers/swtpc09.c
@@ -122,14 +122,8 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface swtpc09_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(swtpc09),
- NULL,
NULL
};
diff --git a/src/mess/drivers/thomson.c b/src/mess/drivers/thomson.c
index 8f7ed59ae30..d3bd8dbc38d 100644
--- a/src/mess/drivers/thomson.c
+++ b/src/mess/drivers/thomson.c
@@ -584,53 +584,10 @@ WRITE_LINE_MEMBER( thomson_state::fdc_index_3_w )
thomson_index_callback(machine().device<legacy_floppy_image_device>(FLOPPY_3), state);
}
-static const floppy_interface thomson_floppy_interface_0 =
+static const floppy_interface thomson_floppy_interface =
{
- DEVCB_DRIVER_LINE_MEMBER(thomson_state, fdc_index_0_w),
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(thomson),
- NULL,
- NULL
-};
-
-static const floppy_interface thomson_floppy_interface_1 =
-{
- DEVCB_DRIVER_LINE_MEMBER(thomson_state, fdc_index_1_w),
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- FLOPPY_STANDARD_5_25_DSHD,
- LEGACY_FLOPPY_OPTIONS_NAME(thomson),
- NULL,
- NULL
-};
-static const floppy_interface thomson_floppy_interface_2 =
-{
- DEVCB_DRIVER_LINE_MEMBER(thomson_state, fdc_index_2_w),
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- FLOPPY_STANDARD_5_25_DSHD,
- LEGACY_FLOPPY_OPTIONS_NAME(thomson),
- NULL,
- NULL
-};
-static const floppy_interface thomson_floppy_interface_3 =
-{
- DEVCB_DRIVER_LINE_MEMBER(thomson_state, fdc_index_3_w),
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- FLOPPY_STANDARD_5_25_DSHD,
- LEGACY_FLOPPY_OPTIONS_NAME(thomson),
- NULL,
NULL
};
@@ -641,7 +598,6 @@ const cassette_interface to7_cassette_interface =
to7_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
@@ -650,7 +606,6 @@ const cassette_interface mo5_cassette_interface =
mo5_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
@@ -708,13 +663,17 @@ static MACHINE_CONFIG_START( to7, thomson_state )
MCFG_DEVICE_ADD("mc6843", MC6843, 0)
MCFG_WD2793_ADD("wd2793", default_wd17xx_interface )
MCFG_DEVICE_ADD(FLOPPY_0, LEGACY_FLOPPY, 0)
- MCFG_DEVICE_CONFIG(thomson_floppy_interface_0)
+ MCFG_DEVICE_CONFIG(thomson_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(thomson_state, fdc_index_0_w))
MCFG_DEVICE_ADD(FLOPPY_1, LEGACY_FLOPPY, 0)
- MCFG_DEVICE_CONFIG(thomson_floppy_interface_1)
+ MCFG_DEVICE_CONFIG(thomson_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(thomson_state, fdc_index_1_w))
MCFG_DEVICE_ADD(FLOPPY_2, LEGACY_FLOPPY, 0)
- MCFG_DEVICE_CONFIG(thomson_floppy_interface_2)
+ MCFG_DEVICE_CONFIG(thomson_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(thomson_state, fdc_index_2_w))
MCFG_DEVICE_ADD(FLOPPY_3, LEGACY_FLOPPY, 0)
- MCFG_DEVICE_CONFIG(thomson_floppy_interface_3)
+ MCFG_DEVICE_CONFIG(thomson_floppy_interface)
+ MCFG_LEGACY_FLOPPY_IDX_CB(WRITELINE(thomson_state, fdc_index_3_w))
/* network */
MCFG_DEVICE_ADD( "mc6854", MC6854, 0 )
diff --git a/src/mess/drivers/ti990_4.c b/src/mess/drivers/ti990_4.c
index 08a718d0f78..5256dcb4dbf 100644
--- a/src/mess/drivers/ti990_4.c
+++ b/src/mess/drivers/ti990_4.c
@@ -264,14 +264,8 @@ ADDRESS_MAP_END
static const floppy_interface ti990_4_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_8_DSSD,
LEGACY_FLOPPY_OPTIONS_NAME(fd800),
- NULL,
NULL
};
diff --git a/src/mess/drivers/tiki100.c b/src/mess/drivers/tiki100.c
index 186f8a31c3b..5ae8d18d1d6 100644
--- a/src/mess/drivers/tiki100.c
+++ b/src/mess/drivers/tiki100.c
@@ -612,7 +612,6 @@ static const cassette_interface cassette_intf =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/tmc1800.c b/src/mess/drivers/tmc1800.c
index 2b315ce870e..9c95988fe5e 100644
--- a/src/mess/drivers/tmc1800.c
+++ b/src/mess/drivers/tmc1800.c
@@ -700,7 +700,6 @@ static const cassette_interface tmc1800_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/tmc2000e.c b/src/mess/drivers/tmc2000e.c
index 9a3cb2bfc90..03f237c7684 100644
--- a/src/mess/drivers/tmc2000e.c
+++ b/src/mess/drivers/tmc2000e.c
@@ -287,7 +287,6 @@ static const cassette_interface tmc2000_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/tmc600.c b/src/mess/drivers/tmc600.c
index 65903982034..ae772dfdf8b 100644
--- a/src/mess/drivers/tmc600.c
+++ b/src/mess/drivers/tmc600.c
@@ -257,7 +257,6 @@ static const cassette_interface tmc600_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/trs80.c b/src/mess/drivers/trs80.c
index 9fcfad91b15..24e1599a90d 100644
--- a/src/mess/drivers/trs80.c
+++ b/src/mess/drivers/trs80.c
@@ -550,20 +550,13 @@ static const cassette_interface trs80l2_cassette_interface =
trs80l2_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY),
- NULL,
NULL
};
static const floppy_interface trs80_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(trs80),
- NULL,
NULL
};
diff --git a/src/mess/drivers/tvc.c b/src/mess/drivers/tvc.c
index ead91f0c9e5..89a23b2468d 100644
--- a/src/mess/drivers/tvc.c
+++ b/src/mess/drivers/tvc.c
@@ -637,8 +637,7 @@ static const cassette_interface tvc_cassette_interface =
tvc64_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED),
- "tvc_cass",
- NULL
+ "tvc_cass"
};
extern SLOT_INTERFACE_START(tvc_exp)
diff --git a/src/mess/drivers/unixpc.c b/src/mess/drivers/unixpc.c
index 9e5e8dfb6a5..f153eb2894b 100644
--- a/src/mess/drivers/unixpc.c
+++ b/src/mess/drivers/unixpc.c
@@ -180,14 +180,8 @@ INPUT_PORTS_END
static const floppy_interface unixpc_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSDD,
LEGACY_FLOPPY_OPTIONS_NAME(default),
- NULL,
NULL
};
diff --git a/src/mess/drivers/ut88.c b/src/mess/drivers/ut88.c
index bc4d97616c4..8e5e3695fd8 100644
--- a/src/mess/drivers/ut88.c
+++ b/src/mess/drivers/ut88.c
@@ -180,8 +180,7 @@ static const cassette_interface ut88_cassette_interface =
rku_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED),
- "ut88_cass",
- NULL
+ "ut88_cass"
};
/* Machine driver */
diff --git a/src/mess/drivers/vector06.c b/src/mess/drivers/vector06.c
index a588316296f..6a9dbc54971 100644
--- a/src/mess/drivers/vector06.c
+++ b/src/mess/drivers/vector06.c
@@ -124,7 +124,6 @@ static const cassette_interface vector_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
@@ -139,14 +138,8 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface vector_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(vector),
- NULL,
NULL
};
diff --git a/src/mess/drivers/vg5k.c b/src/mess/drivers/vg5k.c
index 51d2df6ede7..7459c486e8d 100644
--- a/src/mess/drivers/vg5k.c
+++ b/src/mess/drivers/vg5k.c
@@ -356,8 +356,7 @@ static const cassette_interface vg5k_cassette_interface =
vg5k_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MASK_SPEAKER),
- "vg5k_cass",
- NULL
+ "vg5k_cass"
};
diff --git a/src/mess/drivers/vip.c b/src/mess/drivers/vip.c
index fbd275fd54e..3adb4eba173 100644
--- a/src/mess/drivers/vip.c
+++ b/src/mess/drivers/vip.c
@@ -567,8 +567,7 @@ static const cassette_interface vip_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED),
- "vip_cass",
- NULL
+ "vip_cass"
};
diff --git a/src/mess/drivers/vtech1.c b/src/mess/drivers/vtech1.c
index 3d11484fcb0..0246b366058 100644
--- a/src/mess/drivers/vtech1.c
+++ b/src/mess/drivers/vtech1.c
@@ -459,14 +459,8 @@ WRITE8_MEMBER(vtech1_state::vtech1_fdc_w)
static const floppy_interface vtech1_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(vtech1_only),
- NULL,
NULL
};
@@ -898,7 +892,6 @@ static const cassette_interface laser_cassette_interface =
vtech1_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY),
- NULL,
NULL
};
diff --git a/src/mess/drivers/vtech2.c b/src/mess/drivers/vtech2.c
index 27f3bd856d9..d437a5bfe9f 100644
--- a/src/mess/drivers/vtech2.c
+++ b/src/mess/drivers/vtech2.c
@@ -406,20 +406,13 @@ static const cassette_interface laser_cassette_interface =
vtech2_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY),
- NULL,
NULL
};
static const floppy_interface vtech2_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_SSDD_40,
LEGACY_FLOPPY_OPTIONS_NAME(default),
- NULL,
NULL
};
diff --git a/src/mess/drivers/x07.c b/src/mess/drivers/x07.c
index 76608eae342..a39fff34248 100644
--- a/src/mess/drivers/x07.c
+++ b/src/mess/drivers/x07.c
@@ -1462,8 +1462,7 @@ static const cassette_interface x07_cassette_interface =
x07_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- "x07_cass",
- NULL
+ "x07_cass"
};
static MACHINE_CONFIG_START( x07, x07_state )
diff --git a/src/mess/drivers/x1.c b/src/mess/drivers/x1.c
index b2e93f6867c..fdc3e534c7d 100644
--- a/src/mess/drivers/x1.c
+++ b/src/mess/drivers/x1.c
@@ -2271,8 +2271,7 @@ static const cassette_interface x1_cassette_interface =
x1_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- "x1_cass",
- NULL
+ "x1_cass"
};
@@ -2475,15 +2474,9 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface x1_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSDD_40,
LEGACY_FLOPPY_OPTIONS_NAME(x1),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
static MACHINE_CONFIG_START( x1, x1_state )
diff --git a/src/mess/drivers/x1twin.c b/src/mess/drivers/x1twin.c
index 273307e0211..d0797e0c68e 100644
--- a/src/mess/drivers/x1twin.c
+++ b/src/mess/drivers/x1twin.c
@@ -417,8 +417,7 @@ static const cassette_interface x1_cassette_interface =
x1_cassette_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- "x1_cass",
- NULL
+ "x1_cass"
};
static LEGACY_FLOPPY_OPTIONS_START( x1 )
@@ -432,15 +431,9 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface x1_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSDD_40,
LEGACY_FLOPPY_OPTIONS_NAME(x1),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
diff --git a/src/mess/drivers/z100.c b/src/mess/drivers/z100.c
index 67649a9388d..32ee9cc7deb 100644
--- a/src/mess/drivers/z100.c
+++ b/src/mess/drivers/z100.c
@@ -661,15 +661,9 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface z100_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSDD_40,
LEGACY_FLOPPY_OPTIONS_NAME(z100),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
void z100_state::machine_start()
diff --git a/src/mess/drivers/z1013.c b/src/mess/drivers/z1013.c
index 1e794e1aa5b..e05d7d3758b 100644
--- a/src/mess/drivers/z1013.c
+++ b/src/mess/drivers/z1013.c
@@ -366,7 +366,6 @@ static const cassette_interface z1013_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/drivers/z80ne.c b/src/mess/drivers/z80ne.c
index 28ae718e384..c8ccba0da41 100644
--- a/src/mess/drivers/z80ne.c
+++ b/src/mess/drivers/z80ne.c
@@ -405,7 +405,6 @@ static const cassette_interface z80ne_cassettea_config =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
@@ -414,20 +413,13 @@ static const cassette_interface z80ne_cassetteb_config =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
static const floppy_interface z80netf_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(z80ne),
- NULL,
NULL
};
diff --git a/src/mess/drivers/zx.c b/src/mess/drivers/zx.c
index bd58876e210..122041693c9 100644
--- a/src/mess/drivers/zx.c
+++ b/src/mess/drivers/zx.c
@@ -370,7 +370,6 @@ static const cassette_interface zx81_cassette_interface =
zx81_p_format,
NULL,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/includes/next.h b/src/mess/includes/next.h
index d73778e4fe6..ecc218dcadc 100644
--- a/src/mess/includes/next.h
+++ b/src/mess/includes/next.h
@@ -115,7 +115,6 @@ public:
DECLARE_WRITE_LINE_MEMBER(mo_drq);
DECLARE_FLOPPY_FORMATS( floppy_formats );
- static const cdrom_interface cdrom_intf;
void vblank_w(screen_device &screen, bool vblank_state);
protected:
diff --git a/src/mess/machine/atarifdc.c b/src/mess/machine/atarifdc.c
index 9b07cd20e5e..8aa73fce4b8 100644
--- a/src/mess/machine/atarifdc.c
+++ b/src/mess/machine/atarifdc.c
@@ -730,15 +730,9 @@ WRITE_LINE_MEMBER(atari_fdc_device::pia_cb2_w)
static const floppy_interface atari_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(atari_only),
- "floppy_5_25",
- NULL
+ "floppy_5_25"
};
static MACHINE_CONFIG_FRAGMENT( atari_fdc )
diff --git a/src/mess/machine/beta.c b/src/mess/machine/beta.c
index 7f2beec1194..3ade699e28b 100644
--- a/src/mess/machine/beta.c
+++ b/src/mess/machine/beta.c
@@ -194,14 +194,8 @@ WRITE8_MEMBER(beta_disk_device::data_w)
static const floppy_interface beta_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSDD,
LEGACY_FLOPPY_OPTIONS_NAME(trd),
- NULL,
NULL
};
diff --git a/src/mess/machine/c65.c b/src/mess/machine/c65.c
index f0e8a8520d0..67f28a77806 100644
--- a/src/mess/machine/c65.c
+++ b/src/mess/machine/c65.c
@@ -381,7 +381,6 @@ const cassette_interface cbm_cassette_interface =
cbm_cassette_formats,
NULL,
(cassette_state) (CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
#endif
diff --git a/src/mess/machine/coco.c b/src/mess/machine/coco.c
index a20827733ff..2a9ec8143b5 100644
--- a/src/mess/machine/coco.c
+++ b/src/mess/machine/coco.c
@@ -1208,7 +1208,6 @@ const cassette_interface coco_state::coco_cassette_interface =
coco_cassette_formats,
NULL,
(cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED),
- NULL,
NULL
};
diff --git a/src/mess/machine/concept_exp.c b/src/mess/machine/concept_exp.c
index b861bc3ccd0..c9fe0088fd7 100644
--- a/src/mess/machine/concept_exp.c
+++ b/src/mess/machine/concept_exp.c
@@ -316,14 +316,8 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface concept_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(concept),
- NULL,
NULL
};
diff --git a/src/mess/machine/genpc.c b/src/mess/machine/genpc.c
index 1c06ff586f2..aacc89b7686 100644
--- a/src/mess/machine/genpc.c
+++ b/src/mess/machine/genpc.c
@@ -605,7 +605,6 @@ static const cassette_interface ibm5150_cassette_interface =
cassette_default_formats,
NULL,
(cassette_state)(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED),
- NULL,
NULL
};
diff --git a/src/mess/machine/microdrv.c b/src/mess/machine/microdrv.c
index 8bd568609f9..88e70249ffc 100644
--- a/src/mess/machine/microdrv.c
+++ b/src/mess/machine/microdrv.c
@@ -64,18 +64,6 @@ microdrive_image_device::~microdrive_image_device()
void microdrive_image_device::device_config_complete()
{
- // inherit a copy of the static data
- const microdrive_interface *intf = reinterpret_cast<const microdrive_interface *>(static_config());
- if (intf != NULL)
- *static_cast<microdrive_interface *>(this) = *intf;
-
- // or initialize to defaults if none provided
- else
- {
- memset(&m_interface, 0, sizeof(m_interface));
- memset(&m_device_displayinfo, 0, sizeof(m_device_displayinfo));
- }
-
// set brief and instance name
update_names();
}
diff --git a/src/mess/machine/microdrv.h b/src/mess/machine/microdrv.h
index 7696f57c5ad..f42179e9dbd 100644
--- a/src/mess/machine/microdrv.h
+++ b/src/mess/machine/microdrv.h
@@ -21,13 +21,8 @@
#define MDV_2 "mdv2"
-#define MCFG_MICRODRIVE_ADD(_tag, _config) \
- MCFG_DEVICE_ADD(_tag, MICRODRIVE, 0) \
- MCFG_DEVICE_CONFIG(_config)
-
-#define MICRODRIVE_CONFIG(_name) \
- const microdrive_interface (_name) =
-
+#define MCFG_MICRODRIVE_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, MICRODRIVE, 0)
#define MCFG_MICRODRIVE_COMMS_OUT_CALLBACK(_write) \
devcb = &microdrive_image_device::set_comms_out_wr_callback(*device, DEVCB2_##_write);
@@ -38,18 +33,9 @@
TYPE DEFINITIONS
***************************************************************************/
-// ======================> microdrive_interface
-
-struct microdrive_interface
-{
- const char * m_interface;
- device_image_display_info_func m_device_displayinfo;
-};
-
// ======================> microdrive_image_device
class microdrive_image_device : public device_t,
- public microdrive_interface,
public device_image_interface
{
public:
@@ -62,7 +48,6 @@ public:
// image-level overrides
virtual bool call_load();
virtual void call_unload();
- virtual void call_display_info() { if (m_device_displayinfo) m_device_displayinfo(*this); }
virtual bool call_softlist_load(software_list_device &swlist, const char *swname, const rom_entry *start_entry) { return load_software(swlist, swname, start_entry); }
virtual iodevice_t image_type() const { return IO_CASSETTE; }
diff --git a/src/mess/machine/pce_cd.c b/src/mess/machine/pce_cd.c
index f9bd8bf5d28..301d2bfaeee 100644
--- a/src/mess/machine/pce_cd.c
+++ b/src/mess/machine/pce_cd.c
@@ -229,17 +229,12 @@ void pce_cd_device::late_setup()
m_msm->change_clock_w((PCE_CD_CLOCK / 6) / m_adpcm_clock_divider);
}
-struct cdrom_interface pce_cdrom =
-{
- "pce_cdrom",
- NULL
-};
-
// TODO: left and right speaker tags should be passed from the parent config, instead of using the hard-coded ones below!?!
static MACHINE_CONFIG_FRAGMENT( pce_cd )
MCFG_NVRAM_ADD_0FILL("bram")
- MCFG_CDROM_ADD("cdrom", pce_cdrom)
+ MCFG_CDROM_ADD("cdrom")
+ MCFG_CDROM_INTERFACE("pce_cdrom")
MCFG_SOUND_ADD( "msm5205", MSM5205, PCE_CD_CLOCK / 6 )
MCFG_MSM5205_VCLK_CB(WRITELINE(pce_cd_device, msm5205_int)) /* interrupt function */
diff --git a/src/mess/machine/psxcd.c b/src/mess/machine/psxcd.c
index 25ab627cc37..d29e9dc309f 100644
--- a/src/mess/machine/psxcd.c
+++ b/src/mess/machine/psxcd.c
@@ -83,17 +83,11 @@ enum submode_flags
const device_type PSXCD = &device_creator<psxcd_device>;
-static struct cdrom_interface psx_cdrom =
-{
- "psx_cdrom",
- NULL
-};
-
psxcd_device::psxcd_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
cdrom_image_device(mconfig, PSXCD, "PSX Cdrom", tag, owner, clock, "psx_cd", __FILE__),
m_irq_handler(*this)
{
- static_set_static_config(*this, &psx_cdrom);
+ static_set_interface(*this, "psx_cdrom");
}
diff --git a/src/mess/machine/rx01.c b/src/mess/machine/rx01.c
index da72c8f09cb..91d01694d27 100644
--- a/src/mess/machine/rx01.c
+++ b/src/mess/machine/rx01.c
@@ -26,15 +26,9 @@ LEGACY_FLOPPY_OPTIONS_END
static const floppy_interface rx01_floppy_interface =
{
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_NULL,
FLOPPY_STANDARD_8_SSSD,
LEGACY_FLOPPY_OPTIONS_NAME(rx01),
- "floppy_8",
- NULL
+ "floppy_8"
};
diff --git a/src/mess/machine/ti99/990_hd.c b/src/mess/machine/ti99/990_hd.c
index 86e319bf66d..b8dcf64e3d0 100644
--- a/src/mess/machine/ti99/990_hd.c
+++ b/src/mess/machine/ti99/990_hd.c
@@ -957,23 +957,17 @@ WRITE16_MEMBER(ti990_hdc_device::write)
}
-static const struct harddisk_interface ti990_harddisk_config =
-{
- NULL,
- NULL
-};
-
static MACHINE_CONFIG_FRAGMENT( ti990_hdc )
- MCFG_HARDDISK_CONFIG_ADD( "harddisk1", ti990_harddisk_config )
+ MCFG_HARDDISK_ADD( "harddisk1" )
MCFG_HARDDISK_LOAD(ti990_hdc_device, ti990_hd)
MCFG_HARDDISK_UNLOAD(ti990_hdc_device, ti990_hd)
- MCFG_HARDDISK_CONFIG_ADD( "harddisk2", ti990_harddisk_config )
+ MCFG_HARDDISK_ADD( "harddisk2" )
MCFG_HARDDISK_LOAD(ti990_hdc_device, ti990_hd)
MCFG_HARDDISK_UNLOAD(ti990_hdc_device, ti990_hd)
- MCFG_HARDDISK_CONFIG_ADD( "harddisk3", ti990_harddisk_config )
+ MCFG_HARDDISK_ADD( "harddisk3" )
MCFG_HARDDISK_LOAD(ti990_hdc_device, ti990_hd)
MCFG_HARDDISK_UNLOAD(ti990_hdc_device, ti990_hd)
- MCFG_HARDDISK_CONFIG_ADD( "harddisk4", ti990_harddisk_config )
+ MCFG_HARDDISK_ADD( "harddisk4" )
MCFG_HARDDISK_LOAD(ti990_hdc_device, ti990_hd)
MCFG_HARDDISK_UNLOAD(ti990_hdc_device, ti990_hd)
MACHINE_CONFIG_END