summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2018-05-04 03:01:32 +1000
committer Vas Crabb <vas@vastheman.com>2018-05-04 03:01:32 +1000
commit32a73f450da82c345b0f694bee311af34a5e717d (patch)
treede6259ee4c0120e992f348afcc9078e16bbe49d4 /src/mame/drivers
parentaa96f47092f764f089c2ce9e0f26d756197150e8 (diff)
Make MCFG_DEVICE_ADD and callable device types more flexible:
* Allows defaulted clocks (see subtle example with vboy) * Allows additional constructors (see RS232 port in tranz330) * Allows use of device finder in place of tag in MCFG_DEVICE_ADD * Requires out-of-line destructor for devices using incomplete types * Requires XTAL or explicit u32 for clocks for devices with private types Devices must still define the standard constructor. When writing additional constructors, be aware that the constructor runs before device_add_mconfig in the context of the existing device, not the new device. See osborne1, zorba, tranz330, and vboy for examples of this in use. Compilation is a bit slower, but this is temporary while refactoring is in progress. Eliminated the need for MCFG_SOUND_ROUTE_EX. Removed macros from slot option configuration - they just obfuscated code and slowed it down with needless dynamic casts, but didn't actually simplify it.
Diffstat (limited to 'src/mame/drivers')
-rw-r--r--src/mame/drivers/1942.cpp12
-rw-r--r--src/mame/drivers/20pacgal.cpp2
-rw-r--r--src/mame/drivers/4004clk.cpp2
-rw-r--r--src/mame/drivers/40love.cpp4
-rw-r--r--src/mame/drivers/4enlinea.cpp9
-rw-r--r--src/mame/drivers/8080bw.cpp2
-rw-r--r--src/mame/drivers/a2600.cpp55
-rw-r--r--src/mame/drivers/a5105.cpp7
-rw-r--r--src/mame/drivers/a7150.cpp2
-rw-r--r--src/mame/drivers/aa310.cpp25
-rw-r--r--src/mame/drivers/abc1600.cpp7
-rw-r--r--src/mame/drivers/adam.cpp2
-rw-r--r--src/mame/drivers/advision.cpp2
-rw-r--r--src/mame/drivers/agat.cpp15
-rw-r--r--src/mame/drivers/aim65.cpp10
-rw-r--r--src/mame/drivers/alpha68k.cpp12
-rw-r--r--src/mame/drivers/alphatpx.cpp21
-rw-r--r--src/mame/drivers/alphatro.cpp7
-rw-r--r--src/mame/drivers/altos486.cpp9
-rw-r--r--src/mame/drivers/altos5.cpp7
-rw-r--r--src/mame/drivers/altos8600.cpp7
-rw-r--r--src/mame/drivers/amiga.cpp7
-rw-r--r--src/mame/drivers/ampro.cpp7
-rw-r--r--src/mame/drivers/amstrad.cpp183
-rw-r--r--src/mame/drivers/amust.cpp7
-rw-r--r--src/mame/drivers/apc.cpp7
-rw-r--r--src/mame/drivers/apf.cpp18
-rw-r--r--src/mame/drivers/apple1.cpp9
-rw-r--r--src/mame/drivers/apple2.cpp106
-rw-r--r--src/mame/drivers/apple2e.cpp112
-rw-r--r--src/mame/drivers/apple2gs.cpp51
-rw-r--r--src/mame/drivers/apple3.cpp24
-rw-r--r--src/mame/drivers/applix.cpp11
-rw-r--r--src/mame/drivers/apricot.cpp9
-rw-r--r--src/mame/drivers/apricotf.cpp9
-rw-r--r--src/mame/drivers/apricotp.cpp7
-rw-r--r--src/mame/drivers/arcadia.cpp9
-rw-r--r--src/mame/drivers/aristmk5.cpp16
-rw-r--r--src/mame/drivers/armedf.cpp24
-rw-r--r--src/mame/drivers/asst128.cpp7
-rw-r--r--src/mame/drivers/astrohome.cpp30
-rw-r--r--src/mame/drivers/at.cpp7
-rw-r--r--src/mame/drivers/atari400.cpp2
-rw-r--r--src/mame/drivers/atari_s1.cpp2
-rw-r--r--src/mame/drivers/atari_s2.cpp4
-rw-r--r--src/mame/drivers/atarist.cpp7
-rw-r--r--src/mame/drivers/atlantis.cpp2
-rw-r--r--src/mame/drivers/atom.cpp7
-rw-r--r--src/mame/drivers/atpci.cpp20
-rw-r--r--src/mame/drivers/attache.cpp7
-rw-r--r--src/mame/drivers/aussiebyte.cpp7
-rw-r--r--src/mame/drivers/ax20.cpp7
-rw-r--r--src/mame/drivers/b2m.cpp7
-rw-r--r--src/mame/drivers/bbc.cpp24
-rw-r--r--src/mame/drivers/bebox.cpp16
-rw-r--r--src/mame/drivers/bigbord2.cpp7
-rw-r--r--src/mame/drivers/bigevglf.cpp2
-rw-r--r--src/mame/drivers/binbug.cpp2
-rw-r--r--src/mame/drivers/bitgraph.cpp2
-rw-r--r--src/mame/drivers/bking.cpp2
-rw-r--r--src/mame/drivers/bml3.cpp11
-rw-r--r--src/mame/drivers/btime.cpp12
-rw-r--r--src/mame/drivers/bullet.cpp31
-rw-r--r--src/mame/drivers/bw12.cpp16
-rw-r--r--src/mame/drivers/bw2.cpp7
-rw-r--r--src/mame/drivers/bwing.cpp2
-rw-r--r--src/mame/drivers/byvid.cpp2
-rw-r--r--src/mame/drivers/c128.cpp16
-rw-r--r--src/mame/drivers/c64.cpp7
-rw-r--r--src/mame/drivers/calchase.cpp8
-rw-r--r--src/mame/drivers/camplynx.cpp9
-rw-r--r--src/mame/drivers/capbowl.cpp2
-rw-r--r--src/mame/drivers/cc40.cpp2
-rw-r--r--src/mame/drivers/cchasm.cpp4
-rw-r--r--src/mame/drivers/ccs2810.cpp9
-rw-r--r--src/mame/drivers/ccs300.cpp2
-rw-r--r--src/mame/drivers/champbas.cpp8
-rw-r--r--src/mame/drivers/channelf.cpp17
-rw-r--r--src/mame/drivers/cheekyms.cpp16
-rw-r--r--src/mame/drivers/chihiro.cpp20
-rw-r--r--src/mame/drivers/chsuper.cpp2
-rw-r--r--src/mame/drivers/circusc.cpp8
-rw-r--r--src/mame/drivers/ckz80.cpp2
-rw-r--r--src/mame/drivers/cmi.cpp15
-rw-r--r--src/mame/drivers/cntsteer.cpp2
-rw-r--r--src/mame/drivers/coco12.cpp44
-rw-r--r--src/mame/drivers/coco3.cpp2
-rw-r--r--src/mame/drivers/cocoloco.cpp6
-rw-r--r--src/mame/drivers/concept.cpp11
-rw-r--r--src/mame/drivers/coolpool.cpp4
-rw-r--r--src/mame/drivers/cop01.cpp2
-rw-r--r--src/mame/drivers/cosmic.cpp8
-rw-r--r--src/mame/drivers/craft.cpp2
-rw-r--r--src/mame/drivers/crvision.cpp19
-rw-r--r--src/mame/drivers/cubeqst.cpp32
-rw-r--r--src/mame/drivers/cvs.cpp6
-rw-r--r--src/mame/drivers/cxgz80.cpp2
-rw-r--r--src/mame/drivers/cyberbal.cpp4
-rw-r--r--src/mame/drivers/cybiko.cpp6
-rw-r--r--src/mame/drivers/czk80.cpp7
-rw-r--r--src/mame/drivers/dectalk.cpp2
-rw-r--r--src/mame/drivers/dgn_beta.cpp7
-rw-r--r--src/mame/drivers/digel804.cpp4
-rw-r--r--src/mame/drivers/dim68k.cpp7
-rw-r--r--src/mame/drivers/dmax8000.cpp7
-rw-r--r--src/mame/drivers/dmv.cpp66
-rw-r--r--src/mame/drivers/dps1.cpp7
-rw-r--r--src/mame/drivers/dragon.cpp28
-rw-r--r--src/mame/drivers/duet16.cpp16
-rw-r--r--src/mame/drivers/einstein.cpp17
-rw-r--r--src/mame/drivers/elwro800.cpp7
-rw-r--r--src/mame/drivers/enmirage.cpp7
-rw-r--r--src/mame/drivers/equites.cpp4
-rw-r--r--src/mame/drivers/ertictac.cpp16
-rw-r--r--src/mame/drivers/esq1.cpp16
-rw-r--r--src/mame/drivers/esq5505.cpp39
-rw-r--r--src/mame/drivers/esqasr.cpp32
-rw-r--r--src/mame/drivers/esqkt.cpp32
-rw-r--r--src/mame/drivers/esripsys.cpp4
-rw-r--r--src/mame/drivers/et3400.cpp2
-rw-r--r--src/mame/drivers/eurocom2.cpp9
-rw-r--r--src/mame/drivers/excali64.cpp7
-rw-r--r--src/mame/drivers/exp85.cpp2
-rw-r--r--src/mame/drivers/exterm.cpp4
-rw-r--r--src/mame/drivers/fantland.cpp2
-rw-r--r--src/mame/drivers/fanucspmg.cpp7
-rw-r--r--src/mame/drivers/fccpu20.cpp49
-rw-r--r--src/mame/drivers/fccpu30.cpp9
-rw-r--r--src/mame/drivers/fidel6502.cpp18
-rw-r--r--src/mame/drivers/fidel68k.cpp6
-rw-r--r--src/mame/drivers/fidelmcs48.cpp2
-rw-r--r--src/mame/drivers/fidelz80.cpp6
-rw-r--r--src/mame/drivers/finalizr.cpp2
-rw-r--r--src/mame/drivers/firebeat.cpp11
-rw-r--r--src/mame/drivers/flstory.cpp8
-rw-r--r--src/mame/drivers/fm7.cpp7
-rw-r--r--src/mame/drivers/fmtowns.cpp7
-rw-r--r--src/mame/drivers/force68k.cpp9
-rw-r--r--src/mame/drivers/fruitpc.cpp11
-rw-r--r--src/mame/drivers/galaxian.cpp22
-rw-r--r--src/mame/drivers/galeb.cpp2
-rw-r--r--src/mame/drivers/galivan.cpp8
-rw-r--r--src/mame/drivers/gamecom.cpp6
-rw-r--r--src/mame/drivers/gb.cpp72
-rw-r--r--src/mame/drivers/gba.cpp43
-rw-r--r--src/mame/drivers/gei.cpp2
-rw-r--r--src/mame/drivers/gimix.cpp9
-rw-r--r--src/mame/drivers/gkigt.cpp2
-rw-r--r--src/mame/drivers/go2000.cpp2
-rw-r--r--src/mame/drivers/goupil.cpp7
-rw-r--r--src/mame/drivers/gp32.cpp4
-rw-r--r--src/mame/drivers/guab.cpp9
-rw-r--r--src/mame/drivers/gyruss.cpp30
-rw-r--r--src/mame/drivers/h89.cpp2
-rw-r--r--src/mame/drivers/hankin.cpp2
-rw-r--r--src/mame/drivers/harddriv.cpp4
-rw-r--r--src/mame/drivers/hec2hrp.cpp14
-rw-r--r--src/mame/drivers/hh_cop400.cpp4
-rw-r--r--src/mame/drivers/hk68v10.cpp5
-rw-r--r--src/mame/drivers/homedata.cpp6
-rw-r--r--src/mame/drivers/homelab.cpp6
-rw-r--r--src/mame/drivers/horizon.cpp23
-rw-r--r--src/mame/drivers/hp48.cpp2
-rw-r--r--src/mame/drivers/hp64k.cpp7
-rw-r--r--src/mame/drivers/hp80.cpp14
-rw-r--r--src/mame/drivers/hp9845.cpp16
-rw-r--r--src/mame/drivers/hp9k_3xx.cpp13
-rw-r--r--src/mame/drivers/hp_ipc.cpp7
-rw-r--r--src/mame/drivers/ht68k.cpp7
-rw-r--r--src/mame/drivers/hyhoo.cpp2
-rw-r--r--src/mame/drivers/hyperspt.cpp2
-rw-r--r--src/mame/drivers/ibm6580.cpp7
-rw-r--r--src/mame/drivers/ibmpcjr.cpp20
-rw-r--r--src/mame/drivers/imds2.cpp7
-rw-r--r--src/mame/drivers/indiana.cpp15
-rw-r--r--src/mame/drivers/indy_indigo2.cpp2
-rw-r--r--src/mame/drivers/instantm.cpp2
-rw-r--r--src/mame/drivers/intellec4.cpp4
-rw-r--r--src/mame/drivers/interpro.cpp36
-rw-r--r--src/mame/drivers/iq151.cpp29
-rw-r--r--src/mame/drivers/iris3130.cpp2
-rw-r--r--src/mame/drivers/ironhors.cpp8
-rw-r--r--src/mame/drivers/isbc.cpp6
-rw-r--r--src/mame/drivers/isbc8010.cpp2
-rw-r--r--src/mame/drivers/itt3030.cpp9
-rw-r--r--src/mame/drivers/jaguar.cpp15
-rw-r--r--src/mame/drivers/jankenmn.cpp2
-rw-r--r--src/mame/drivers/juicebox.cpp2
-rw-r--r--src/mame/drivers/junofrst.cpp2
-rw-r--r--src/mame/drivers/jupiter.cpp7
-rw-r--r--src/mame/drivers/kaypro.cpp11
-rw-r--r--src/mame/drivers/kc.cpp36
-rw-r--r--src/mame/drivers/kchamp.cpp2
-rw-r--r--src/mame/drivers/kdt6.cpp7
-rw-r--r--src/mame/drivers/kingobox.cpp4
-rw-r--r--src/mame/drivers/konamigx.cpp8
-rw-r--r--src/mame/drivers/ksayakyu.cpp2
-rw-r--r--src/mame/drivers/ksys573.cpp8
-rw-r--r--src/mame/drivers/ladyfrog.cpp2
-rw-r--r--src/mame/drivers/laserbas.cpp12
-rw-r--r--src/mame/drivers/lasso.cpp2
-rw-r--r--src/mame/drivers/lazercmd.cpp16
-rw-r--r--src/mame/drivers/lb186.cpp18
-rw-r--r--src/mame/drivers/leland.cpp4
-rw-r--r--src/mame/drivers/littlerb.cpp4
-rw-r--r--src/mame/drivers/looping.cpp2
-rw-r--r--src/mame/drivers/luckybal.cpp2
-rw-r--r--src/mame/drivers/m20.cpp14
-rw-r--r--src/mame/drivers/m5.cpp23
-rw-r--r--src/mame/drivers/m72.cpp2
-rw-r--r--src/mame/drivers/m90.cpp2
-rw-r--r--src/mame/drivers/mac.cpp72
-rw-r--r--src/mame/drivers/mac128.cpp2
-rw-r--r--src/mame/drivers/madalien.cpp6
-rw-r--r--src/mame/drivers/magicfly.cpp2
-rw-r--r--src/mame/drivers/magtouch.cpp11
-rw-r--r--src/mame/drivers/mappy.cpp2
-rw-r--r--src/mame/drivers/matmania.cpp4
-rw-r--r--src/mame/drivers/mbc200.cpp7
-rw-r--r--src/mame/drivers/mbc55x.cpp11
-rw-r--r--src/mame/drivers/mbee.cpp9
-rw-r--r--src/mame/drivers/mc10.cpp4
-rw-r--r--src/mame/drivers/meadows.cpp4
-rw-r--r--src/mame/drivers/megazone.cpp2
-rw-r--r--src/mame/drivers/mephistp.cpp2
-rw-r--r--src/mame/drivers/meyc8080.cpp2
-rw-r--r--src/mame/drivers/meyc8088.cpp2
-rw-r--r--src/mame/drivers/mfabfz.cpp2
-rw-r--r--src/mame/drivers/mice.cpp4
-rw-r--r--src/mame/drivers/microdec.cpp7
-rw-r--r--src/mame/drivers/microkit.cpp2
-rw-r--r--src/mame/drivers/microvsn.cpp2
-rw-r--r--src/mame/drivers/mikro80.cpp2
-rw-r--r--src/mame/drivers/mikromik.cpp7
-rw-r--r--src/mame/drivers/mini2440.cpp4
-rw-r--r--src/mame/drivers/miniforce.cpp13
-rw-r--r--src/mame/drivers/miniframe.cpp7
-rw-r--r--src/mame/drivers/mjsister.cpp2
-rw-r--r--src/mame/drivers/mk14.cpp4
-rw-r--r--src/mame/drivers/mogura.cpp4
-rw-r--r--src/mame/drivers/mpz80.cpp19
-rw-r--r--src/mame/drivers/mrgame.cpp6
-rw-r--r--src/mame/drivers/ms0515.cpp7
-rw-r--r--src/mame/drivers/msx.cpp15
-rw-r--r--src/mame/drivers/mtouchxl.cpp9
-rw-r--r--src/mame/drivers/murogem.cpp2
-rw-r--r--src/mame/drivers/murogmbl.cpp4
-rw-r--r--src/mame/drivers/mvme147.cpp7
-rw-r--r--src/mame/drivers/myb3k.cpp11
-rw-r--r--src/mame/drivers/mycom.cpp7
-rw-r--r--src/mame/drivers/mz2000.cpp7
-rw-r--r--src/mame/drivers/mz2500.cpp7
-rw-r--r--src/mame/drivers/mz3500.cpp7
-rw-r--r--src/mame/drivers/mz6500.cpp7
-rw-r--r--src/mame/drivers/mzr8105.cpp7
-rw-r--r--src/mame/drivers/namcos1.cpp4
-rw-r--r--src/mame/drivers/nanos.cpp7
-rw-r--r--src/mame/drivers/nbmj8688.cpp4
-rw-r--r--src/mame/drivers/nbmj8891.cpp2
-rw-r--r--src/mame/drivers/nbmj8900.cpp2
-rw-r--r--src/mame/drivers/nbmj8991.cpp6
-rw-r--r--src/mame/drivers/nbmj9195.cpp4
-rw-r--r--src/mame/drivers/nc.cpp7
-rw-r--r--src/mame/drivers/next.cpp20
-rw-r--r--src/mame/drivers/ngen.cpp14
-rw-r--r--src/mame/drivers/ngp.cpp4
-rw-r--r--src/mame/drivers/nightgal.cpp2
-rw-r--r--src/mame/drivers/notetaker.cpp9
-rw-r--r--src/mame/drivers/novagmcs48.cpp2
-rw-r--r--src/mame/drivers/nycaptor.cpp6
-rw-r--r--src/mame/drivers/nyny.cpp2
-rw-r--r--src/mame/drivers/octopus.cpp35
-rw-r--r--src/mame/drivers/olyboss.cpp21
-rw-r--r--src/mame/drivers/oric.cpp7
-rw-r--r--src/mame/drivers/orion.cpp7
-rw-r--r--src/mame/drivers/osbexec.cpp7
-rw-r--r--src/mame/drivers/osborne1.cpp31
-rw-r--r--src/mame/drivers/osi.cpp7
-rw-r--r--src/mame/drivers/othello.cpp2
-rw-r--r--src/mame/drivers/p8k.cpp7
-rw-r--r--src/mame/drivers/palm.cpp2
-rw-r--r--src/mame/drivers/pandoras.cpp2
-rw-r--r--src/mame/drivers/partner.cpp7
-rw-r--r--src/mame/drivers/pasopia7.cpp7
-rw-r--r--src/mame/drivers/pastelg.cpp4
-rw-r--r--src/mame/drivers/pc100.cpp7
-rw-r--r--src/mame/drivers/pc1512.cpp14
-rw-r--r--src/mame/drivers/pc8801.cpp7
-rw-r--r--src/mame/drivers/pc88va.cpp7
-rw-r--r--src/mame/drivers/pc9801.cpp37
-rw-r--r--src/mame/drivers/pcat_dyn.cpp18
-rw-r--r--src/mame/drivers/pcd.cpp9
-rw-r--r--src/mame/drivers/pce.cpp15
-rw-r--r--src/mame/drivers/pcw.cpp7
-rw-r--r--src/mame/drivers/pcw16.cpp14
-rw-r--r--src/mame/drivers/pcxt.cpp9
-rw-r--r--src/mame/drivers/peoplepc.cpp16
-rw-r--r--src/mame/drivers/pet.cpp7
-rw-r--r--src/mame/drivers/pg685.cpp14
-rw-r--r--src/mame/drivers/pimps.cpp2
-rw-r--r--src/mame/drivers/pipbug.cpp2
-rw-r--r--src/mame/drivers/pk8020.cpp7
-rw-r--r--src/mame/drivers/plus4.cpp9
-rw-r--r--src/mame/drivers/pockstat.cpp2
-rw-r--r--src/mame/drivers/polepos.cpp2
-rw-r--r--src/mame/drivers/pong.cpp6
-rw-r--r--src/mame/drivers/popeye.cpp6
-rw-r--r--src/mame/drivers/ppmast93.cpp2
-rw-r--r--src/mame/drivers/prof180x.cpp7
-rw-r--r--src/mame/drivers/prof80.cpp7
-rw-r--r--src/mame/drivers/proteus.cpp7
-rw-r--r--src/mame/drivers/pt68k4.cpp28
-rw-r--r--src/mame/drivers/pulsar.cpp9
-rw-r--r--src/mame/drivers/pwrview.cpp7
-rw-r--r--src/mame/drivers/pyl601.cpp7
-rw-r--r--src/mame/drivers/qtsbc.cpp2
-rw-r--r--src/mame/drivers/quantum.cpp4
-rw-r--r--src/mame/drivers/quasar.cpp2
-rw-r--r--src/mame/drivers/quizshow.cpp2
-rw-r--r--src/mame/drivers/qx10.cpp14
-rw-r--r--src/mame/drivers/rainbow.cpp13
-rw-r--r--src/mame/drivers/rastersp.cpp15
-rw-r--r--src/mame/drivers/rc702.cpp7
-rw-r--r--src/mame/drivers/rc759.cpp7
-rw-r--r--src/mame/drivers/replicator.cpp2
-rw-r--r--src/mame/drivers/risc2500.cpp2
-rw-r--r--src/mame/drivers/rltennis.cpp4
-rw-r--r--src/mame/drivers/rm380z.cpp7
-rw-r--r--src/mame/drivers/rmnimbus.cpp14
-rw-r--r--src/mame/drivers/route16.cpp2
-rw-r--r--src/mame/drivers/rowamet.cpp2
-rw-r--r--src/mame/drivers/royalmah.cpp2
-rw-r--r--src/mame/drivers/s11.cpp4
-rw-r--r--src/mame/drivers/s11a.cpp4
-rw-r--r--src/mame/drivers/s11b.cpp4
-rw-r--r--src/mame/drivers/s3.cpp2
-rw-r--r--src/mame/drivers/s4.cpp2
-rw-r--r--src/mame/drivers/s6.cpp2
-rw-r--r--src/mame/drivers/s6a.cpp2
-rw-r--r--src/mame/drivers/s7.cpp2
-rw-r--r--src/mame/drivers/s8.cpp2
-rw-r--r--src/mame/drivers/s8a.cpp2
-rw-r--r--src/mame/drivers/s9.cpp2
-rw-r--r--src/mame/drivers/sage2.cpp9
-rw-r--r--src/mame/drivers/samcoupe.cpp7
-rw-r--r--src/mame/drivers/sapi1.cpp2
-rw-r--r--src/mame/drivers/saturn.cpp19
-rw-r--r--src/mame/drivers/savquest.cpp7
-rw-r--r--src/mame/drivers/sbasketb.cpp2
-rw-r--r--src/mame/drivers/sbrain.cpp7
-rw-r--r--src/mame/drivers/sbrkout.cpp2
-rw-r--r--src/mame/drivers/scv.cpp19
-rw-r--r--src/mame/drivers/scyclone.cpp8
-rw-r--r--src/mame/drivers/sdk80.cpp2
-rw-r--r--src/mame/drivers/sdk86.cpp2
-rw-r--r--src/mame/drivers/seattlecmp.cpp2
-rw-r--r--src/mame/drivers/segapico.cpp22
-rw-r--r--src/mame/drivers/segas16a.cpp2
-rw-r--r--src/mame/drivers/segas24.cpp2
-rw-r--r--src/mame/drivers/seicross.cpp2
-rw-r--r--src/mame/drivers/senjyo.cpp2
-rw-r--r--src/mame/drivers/sg1000.cpp7
-rw-r--r--src/mame/drivers/shangkid.cpp2
-rw-r--r--src/mame/drivers/shisen.cpp2
-rw-r--r--src/mame/drivers/sitcom.cpp6
-rw-r--r--src/mame/drivers/slicer.cpp9
-rw-r--r--src/mame/drivers/smc777.cpp7
-rw-r--r--src/mame/drivers/snk6502.cpp2
-rw-r--r--src/mame/drivers/softbox.cpp2
-rw-r--r--src/mame/drivers/sorcerer.cpp2
-rw-r--r--src/mame/drivers/spc1000.cpp9
-rw-r--r--src/mame/drivers/special.cpp11
-rw-r--r--src/mame/drivers/specpls3.cpp7
-rw-r--r--src/mame/drivers/squale.cpp7
-rw-r--r--src/mame/drivers/ssozumo.cpp2
-rw-r--r--src/mame/drivers/sun3x.cpp7
-rw-r--r--src/mame/drivers/sun4.cpp22
-rw-r--r--src/mame/drivers/suna16.cpp24
-rw-r--r--src/mame/drivers/suna8.cpp8
-rw-r--r--src/mame/drivers/super6.cpp9
-rw-r--r--src/mame/drivers/super80.cpp7
-rw-r--r--src/mame/drivers/superslave.cpp2
-rw-r--r--src/mame/drivers/swtpc09.cpp19
-rw-r--r--src/mame/drivers/sys9002.cpp4
-rw-r--r--src/mame/drivers/tagteam.cpp2
-rw-r--r--src/mame/drivers/taito.cpp2
-rw-r--r--src/mame/drivers/taitogn.cpp13
-rw-r--r--src/mame/drivers/taitosj.cpp2
-rw-r--r--src/mame/drivers/tandy2k.cpp7
-rw-r--r--src/mame/drivers/tavernie.cpp7
-rw-r--r--src/mame/drivers/tceptor.cpp2
-rw-r--r--src/mame/drivers/tdv2324.cpp7
-rw-r--r--src/mame/drivers/terracre.cpp4
-rw-r--r--src/mame/drivers/testconsole.cpp8
-rw-r--r--src/mame/drivers/thomson.cpp17
-rw-r--r--src/mame/drivers/tiki100.cpp11
-rw-r--r--src/mame/drivers/tim011.cpp7
-rw-r--r--src/mame/drivers/tim100.cpp4
-rw-r--r--src/mame/drivers/tnzs.cpp2
-rw-r--r--src/mame/drivers/trackfld.cpp4
-rw-r--r--src/mame/drivers/tranz330.cpp10
-rw-r--r--src/mame/drivers/tricep.cpp2
-rw-r--r--src/mame/drivers/trs80.cpp7
-rw-r--r--src/mame/drivers/trs80m2.cpp9
-rw-r--r--src/mame/drivers/truco.cpp2
-rw-r--r--src/mame/drivers/trucocl.cpp2
-rw-r--r--src/mame/drivers/ts802.cpp7
-rw-r--r--src/mame/drivers/ts803.cpp7
-rw-r--r--src/mame/drivers/tsamurai.cpp10
-rw-r--r--src/mame/drivers/tsispch.cpp2
-rw-r--r--src/mame/drivers/turrett.cpp7
-rw-r--r--src/mame/drivers/tvc.cpp7
-rw-r--r--src/mame/drivers/unixpc.cpp7
-rw-r--r--src/mame/drivers/ut88.cpp2
-rw-r--r--src/mame/drivers/v1050.cpp9
-rw-r--r--src/mame/drivers/v6809.cpp7
-rw-r--r--src/mame/drivers/vboy.cpp11
-rw-r--r--src/mame/drivers/vc4000.cpp13
-rw-r--r--src/mame/drivers/vcombat.cpp4
-rw-r--r--src/mame/drivers/vector06.cpp7
-rw-r--r--src/mame/drivers/vectrex.cpp13
-rw-r--r--src/mame/drivers/vg5k.cpp2
-rw-r--r--src/mame/drivers/vidbrain.cpp2
-rw-r--r--src/mame/drivers/videopkr.cpp2
-rw-r--r--src/mame/drivers/vigilant.cpp6
-rw-r--r--src/mame/drivers/vis.cpp13
-rw-r--r--src/mame/drivers/vixen.cpp7
-rw-r--r--src/mame/drivers/wangpc.cpp7
-rw-r--r--src/mame/drivers/wheelfir.cpp4
-rw-r--r--src/mame/drivers/wicat.cpp7
-rw-r--r--src/mame/drivers/wildpkr.cpp2
-rw-r--r--src/mame/drivers/williams.cpp8
-rw-r--r--src/mame/drivers/wmg.cpp2
-rw-r--r--src/mame/drivers/wswan.cpp11
-rw-r--r--src/mame/drivers/wyvernf0.cpp2
-rw-r--r--src/mame/drivers/x1.cpp7
-rw-r--r--src/mame/drivers/x1twin.cpp7
-rw-r--r--src/mame/drivers/x68k.cpp25
-rw-r--r--src/mame/drivers/xbox.cpp18
-rw-r--r--src/mame/drivers/xerox820.cpp15
-rw-r--r--src/mame/drivers/xor100.cpp14
-rw-r--r--src/mame/drivers/xtheball.cpp2
-rw-r--r--src/mame/drivers/z100.cpp7
-rw-r--r--src/mame/drivers/z80ne.cpp7
-rw-r--r--src/mame/drivers/z88.cpp21
-rw-r--r--src/mame/drivers/zorba.cpp33
446 files changed, 2322 insertions, 2032 deletions
diff --git a/src/mame/drivers/1942.cpp b/src/mame/drivers/1942.cpp
index 3834ae340bb..0906b49e065 100644
--- a/src/mame/drivers/1942.cpp
+++ b/src/mame/drivers/1942.cpp
@@ -595,17 +595,17 @@ MACHINE_CONFIG_START(_1942_state::_1942)
MCFG_AY8910_OUTPUT_TYPE(AY8910_RESISTOR_OUTPUT)
MCFG_AY8910_RES_LOADS(10000.0, 10000.0, 10000.0)
- MCFG_SOUND_ROUTE_EX(0, "snd_nl", 1.0, 0)
- MCFG_SOUND_ROUTE_EX(1, "snd_nl", 1.0, 1)
- MCFG_SOUND_ROUTE_EX(2, "snd_nl", 1.0, 2)
+ MCFG_SOUND_ROUTE(0, "snd_nl", 1.0, 0)
+ MCFG_SOUND_ROUTE(1, "snd_nl", 1.0, 1)
+ MCFG_SOUND_ROUTE(2, "snd_nl", 1.0, 2)
MCFG_SOUND_ADD("ay2", AY8910, AUDIO_CLOCK) /* 1.5 MHz */
MCFG_AY8910_OUTPUT_TYPE(AY8910_RESISTOR_OUTPUT)
MCFG_AY8910_RES_LOADS(10000.0, 10000.0, 10000.0)
- MCFG_SOUND_ROUTE_EX(0, "snd_nl", 1.0, 3)
- MCFG_SOUND_ROUTE_EX(1, "snd_nl", 1.0, 4)
- MCFG_SOUND_ROUTE_EX(2, "snd_nl", 1.0, 5)
+ MCFG_SOUND_ROUTE(0, "snd_nl", 1.0, 3)
+ MCFG_SOUND_ROUTE(1, "snd_nl", 1.0, 4)
+ MCFG_SOUND_ROUTE(2, "snd_nl", 1.0, 5)
/* NETLIST configuration using internal AY8910 resistor values */
diff --git a/src/mame/drivers/20pacgal.cpp b/src/mame/drivers/20pacgal.cpp
index dfed3dd3101..e3618cd5226 100644
--- a/src/mame/drivers/20pacgal.cpp
+++ b/src/mame/drivers/20pacgal.cpp
@@ -416,7 +416,7 @@ MACHINE_CONFIG_START(_20pacgal_state::_20pacgal)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/4004clk.cpp b/src/mame/drivers/4004clk.cpp
index b1385e2474f..243212fcf18 100644
--- a/src/mame/drivers/4004clk.cpp
+++ b/src/mame/drivers/4004clk.cpp
@@ -152,7 +152,7 @@ MACHINE_CONFIG_START(nixieclock_state::_4004clk)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MCFG_CLOCK_ADD("clk", 60)
MCFG_CLOCK_SIGNAL_HANDLER(INPUTLINE("maincpu", I4004_TEST_LINE))
diff --git a/src/mame/drivers/40love.cpp b/src/mame/drivers/40love.cpp
index 7c27c9207c7..eb0059b357f 100644
--- a/src/mame/drivers/40love.cpp
+++ b/src/mame/drivers/40love.cpp
@@ -765,7 +765,7 @@ MACHINE_CONFIG_START(fortyl_state::_40love)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(fortyl_state::undoukai)
@@ -831,7 +831,7 @@ MACHINE_CONFIG_START(fortyl_state::undoukai)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
/*******************************************************************************/
diff --git a/src/mame/drivers/4enlinea.cpp b/src/mame/drivers/4enlinea.cpp
index 2c3df6bc81c..406ddc091a2 100644
--- a/src/mame/drivers/4enlinea.cpp
+++ b/src/mame/drivers/4enlinea.cpp
@@ -475,9 +475,10 @@ void _4enlinea_state::machine_reset()
* Machine Drivers *
***********************************/
-SLOT_INTERFACE_START( 4enlinea_isa8_cards )
- SLOT_INTERFACE_INTERNAL("4enlinea", ISA8_CGA_4ENLINEA)
-SLOT_INTERFACE_END
+void _4enlinea_isa8_cards(device_slot_interface &device)
+{
+ device.option_add_internal("4enlinea", ISA8_CGA_4ENLINEA);
+}
/* TODO: irq sources are unknown */
INTERRUPT_GEN_MEMBER(_4enlinea_state::_4enlinea_irq)
@@ -514,7 +515,7 @@ MACHINE_CONFIG_START(_4enlinea_state::_4enlinea)
MCFG_DEVICE_ADD("isa", ISA8, 0)
MCFG_ISA8_CPU("maincpu")
- MCFG_ISA8_SLOT_ADD("isa", "isa1", 4enlinea_isa8_cards, "4enlinea", true)
+ MCFG_ISA8_SLOT_ADD("isa", "isa1", _4enlinea_isa8_cards, "4enlinea", true)
/* 6845 clock is a guess, since it's a UM6845R embedded in the UM487F.
diff --git a/src/mame/drivers/8080bw.cpp b/src/mame/drivers/8080bw.cpp
index fbe26412783..92e3241de53 100644
--- a/src/mame/drivers/8080bw.cpp
+++ b/src/mame/drivers/8080bw.cpp
@@ -1582,7 +1582,7 @@ MACHINE_CONFIG_START(_8080bw_state::schaser)
MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C
MCFG_SN76477_ENVELOPE_PARAMS(1, 0) // envelope 1, 2
MCFG_SN76477_ENABLE(1) // enable
- MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 0)
+ MCFG_SOUND_ROUTE(0, "discrete", 1.0, 0)
MCFG_SOUND_ADD("discrete", DISCRETE, 0)
MCFG_DISCRETE_INTF(schaser)
diff --git a/src/mame/drivers/a2600.cpp b/src/mame/drivers/a2600.cpp
index 15f75b2a03f..e8f29143b64 100644
--- a/src/mame/drivers/a2600.cpp
+++ b/src/mame/drivers/a2600.cpp
@@ -466,33 +466,34 @@ static INPUT_PORTS_START( a2600 )
INPUT_PORTS_END
-static SLOT_INTERFACE_START(a2600_cart)
- SLOT_INTERFACE_INTERNAL("a26_2k", A26_ROM_2K)
- SLOT_INTERFACE_INTERNAL("a26_4k", A26_ROM_4K)
- SLOT_INTERFACE_INTERNAL("a26_f4", A26_ROM_F4)
- SLOT_INTERFACE_INTERNAL("a26_f6", A26_ROM_F6)
- SLOT_INTERFACE_INTERNAL("a26_f8", A26_ROM_F8)
- SLOT_INTERFACE_INTERNAL("a26_f8sw", A26_ROM_F8_SW)
- SLOT_INTERFACE_INTERNAL("a26_fa", A26_ROM_FA)
- SLOT_INTERFACE_INTERNAL("a26_fe", A26_ROM_FE)
- SLOT_INTERFACE_INTERNAL("a26_3e", A26_ROM_3E)
- SLOT_INTERFACE_INTERNAL("a26_3f", A26_ROM_3F)
- SLOT_INTERFACE_INTERNAL("a26_e0", A26_ROM_E0)
- SLOT_INTERFACE_INTERNAL("a26_e7", A26_ROM_E7)
- SLOT_INTERFACE_INTERNAL("a26_ua", A26_ROM_UA)
- SLOT_INTERFACE_INTERNAL("a26_cv", A26_ROM_CV)
- SLOT_INTERFACE_INTERNAL("a26_dc", A26_ROM_DC)
- SLOT_INTERFACE_INTERNAL("a26_fv", A26_ROM_FV)
- SLOT_INTERFACE_INTERNAL("a26_jvp", A26_ROM_JVP)
- SLOT_INTERFACE_INTERNAL("a26_cm", A26_ROM_COMPUMATE)
- SLOT_INTERFACE_INTERNAL("a26_ss", A26_ROM_SUPERCHARGER)
- SLOT_INTERFACE_INTERNAL("a26_dpc", A26_ROM_DPC)
- SLOT_INTERFACE_INTERNAL("a26_4in1", A26_ROM_4IN1)
- SLOT_INTERFACE_INTERNAL("a26_8in1", A26_ROM_8IN1)
- SLOT_INTERFACE_INTERNAL("a26_32in1", A26_ROM_32IN1)
- SLOT_INTERFACE_INTERNAL("a26_x07", A26_ROM_X07)
- SLOT_INTERFACE_INTERNAL("a26_harmony", A26_ROM_HARMONY)
-SLOT_INTERFACE_END
+static void a2600_cart(device_slot_interface &device)
+{
+ device.option_add_internal("a26_2k", A26_ROM_2K);
+ device.option_add_internal("a26_4k", A26_ROM_4K);
+ device.option_add_internal("a26_f4", A26_ROM_F4);
+ device.option_add_internal("a26_f6", A26_ROM_F6);
+ device.option_add_internal("a26_f8", A26_ROM_F8);
+ device.option_add_internal("a26_f8sw", A26_ROM_F8_SW);
+ device.option_add_internal("a26_fa", A26_ROM_FA);
+ device.option_add_internal("a26_fe", A26_ROM_FE);
+ device.option_add_internal("a26_3e", A26_ROM_3E);
+ device.option_add_internal("a26_3f", A26_ROM_3F);
+ device.option_add_internal("a26_e0", A26_ROM_E0);
+ device.option_add_internal("a26_e7", A26_ROM_E7);
+ device.option_add_internal("a26_ua", A26_ROM_UA);
+ device.option_add_internal("a26_cv", A26_ROM_CV);
+ device.option_add_internal("a26_dc", A26_ROM_DC);
+ device.option_add_internal("a26_fv", A26_ROM_FV);
+ device.option_add_internal("a26_jvp", A26_ROM_JVP);
+ device.option_add_internal("a26_cm", A26_ROM_COMPUMATE);
+ device.option_add_internal("a26_ss", A26_ROM_SUPERCHARGER);
+ device.option_add_internal("a26_dpc", A26_ROM_DPC);
+ device.option_add_internal("a26_4in1", A26_ROM_4IN1);
+ device.option_add_internal("a26_8in1", A26_ROM_8IN1);
+ device.option_add_internal("a26_32in1", A26_ROM_32IN1);
+ device.option_add_internal("a26_x07", A26_ROM_X07);
+ device.option_add_internal("a26_harmony", A26_ROM_HARMONY);
+}
MACHINE_CONFIG_START(a2600_state::a2600_cartslot)
MCFG_VCS_CARTRIDGE_ADD("cartslot", a2600_cart, nullptr)
diff --git a/src/mame/drivers/a5105.cpp b/src/mame/drivers/a5105.cpp
index 8f2f6ff92de..d7ff5e2bbd9 100644
--- a/src/mame/drivers/a5105.cpp
+++ b/src/mame/drivers/a5105.cpp
@@ -554,9 +554,10 @@ FLOPPY_FORMATS_MEMBER( a5105_state::floppy_formats )
FLOPPY_A5105_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( a5105_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void a5105_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
static const z80_daisy_config a5105_daisy_chain[] =
{
diff --git a/src/mame/drivers/a7150.cpp b/src/mame/drivers/a7150.cpp
index 849e2c115c2..28100de1308 100644
--- a/src/mame/drivers/a7150.cpp
+++ b/src/mame/drivers/a7150.cpp
@@ -468,7 +468,7 @@ MACHINE_CONFIG_START(a7150_state::a7150)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_rxd))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_cts))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_dsr))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("keyboard", kbd_rs232_defaults)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", kbd_rs232_defaults)
MCFG_ISBC_215_ADD("isbc_215g", 0x4a, "maincpu")
MCFG_ISBC_215_IRQ(DEVWRITELINE("pic8259", pic8259_device, ir5_w))
diff --git a/src/mame/drivers/aa310.cpp b/src/mame/drivers/aa310.cpp
index 472fcfd372a..b8e69af9d66 100644
--- a/src/mame/drivers/aa310.cpp
+++ b/src/mame/drivers/aa310.cpp
@@ -378,10 +378,11 @@ FLOPPY_FORMATS_MEMBER( aa310_state::floppy_formats )
FLOPPY_PC_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( aa310_floppies )
- SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
- SLOT_INTERFACE( "35hd", FLOPPY_35_HD )
-SLOT_INTERFACE_END
+static void aa310_floppies(device_slot_interface &device)
+{
+ device.option_add("35dd", FLOPPY_35_DD);
+ device.option_add("35hd", FLOPPY_35_HD);
+}
WRITE_LINE_MEMBER( archimedes_state::a310_kart_tx_w )
{
@@ -443,14 +444,14 @@ MACHINE_CONFIG_START(aa310_state::aa310)
MCFG_SOUND_ADD("dac6", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.1) // unknown DAC
MCFG_SOUND_ADD("dac7", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.1) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac0", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac3", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac4", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac5", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac6", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac7", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac0", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac3", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac4", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac5", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac6", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac7", -1.0, DAC_VREF_NEG_INPUT)
/* Expansion slots - 2-card backplane */
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/abc1600.cpp b/src/mame/drivers/abc1600.cpp
index d5ff89756cc..1a489221a1d 100644
--- a/src/mame/drivers/abc1600.cpp
+++ b/src/mame/drivers/abc1600.cpp
@@ -775,9 +775,10 @@ WRITE8_MEMBER( abc1600_state::cio_pc_w )
m_nvram->sk_w(clock);
}
-static SLOT_INTERFACE_START( abc1600_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void abc1600_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
WRITE_LINE_MEMBER( abc1600_state::fdc_drq_w )
{
diff --git a/src/mame/drivers/adam.cpp b/src/mame/drivers/adam.cpp
index a3a9f322cf9..17face6d9cb 100644
--- a/src/mame/drivers/adam.cpp
+++ b/src/mame/drivers/adam.cpp
@@ -1084,7 +1084,7 @@ MACHINE_CONFIG_START(adam_state::adam)
MCFG_ADAMNET_SLOT_ADD("net3", adamnet_devices, "ddp")
MCFG_ADAMNET_SLOT_ADD("net4", adamnet_devices, "fdc")
MCFG_ADAMNET_SLOT_ADD("net5", adamnet_devices, "fdc")
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("fdc", drive2)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("fdc", drive2)
MCFG_ADAMNET_SLOT_ADD("net6", adamnet_devices, nullptr)
MCFG_ADAMNET_SLOT_ADD("net7", adamnet_devices, nullptr)
MCFG_ADAMNET_SLOT_ADD("net8", adamnet_devices, nullptr)
diff --git a/src/mame/drivers/advision.cpp b/src/mame/drivers/advision.cpp
index 6278c1e90a7..d5356485abb 100644
--- a/src/mame/drivers/advision.cpp
+++ b/src/mame/drivers/advision.cpp
@@ -94,7 +94,7 @@ MACHINE_CONFIG_START(advision_state::advision)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_2BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
/* cartridge */
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "advision_cart")
diff --git a/src/mame/drivers/agat.cpp b/src/mame/drivers/agat.cpp
index 43a5f93b84f..d9768d18084 100644
--- a/src/mame/drivers/agat.cpp
+++ b/src/mame/drivers/agat.cpp
@@ -1063,14 +1063,15 @@ static INPUT_PORTS_START(agat7)
PORT_INCLUDE(agat7_joystick)
INPUT_PORTS_END
-static SLOT_INTERFACE_START(agat7_cards)
+static void agat7_cards(device_slot_interface &device)
+{
// Standard cards
- SLOT_INTERFACE("a7lang", A2BUS_AGAT7LANGCARD) // Agat-7 RAM Language Card -- decimal 3.089.119
- SLOT_INTERFACE("a7ram", A2BUS_AGAT7RAM) // Agat-7 32K RAM Card -- decimal 3.089.119-01, KR565RU6D chips
- SLOT_INTERFACE("a7fdc", A2BUS_AGAT7_FDC) // Disk II clone -- decimal 3.089.105
- SLOT_INTERFACE("a7fdc840", A2BUS_AGAT840K_HLE) // 840K floppy controller -- decimal 7.104.351 or 3.089.023?
- SLOT_INTERFACE("a7ports", A2BUS_AGAT7_PORTS) // Serial-parallel card -- decimal 3.089.106
+ device.option_add("a7lang", A2BUS_AGAT7LANGCARD); // Agat-7 RAM Language Card -- decimal 3.089.119
+ device.option_add("a7ram", A2BUS_AGAT7RAM); // Agat-7 32K RAM Card -- decimal 3.089.119-01, KR565RU6D chips
+ device.option_add("a7fdc", A2BUS_AGAT7_FDC); // Disk II clone -- decimal 3.089.105
+ device.option_add("a7fdc840", A2BUS_AGAT840K_HLE); // 840K floppy controller -- decimal 7.104.351 or 3.089.023?
+ device.option_add("a7ports", A2BUS_AGAT7_PORTS); // Serial-parallel card -- decimal 3.089.106
// Printer card (agat9) -- decimal 3.089.174
// 3rd party cards
@@ -1080,7 +1081,7 @@ static SLOT_INTERFACE_START(agat7_cards)
// Nippel ADC (digital oscilloscope)
// Nippel Clock (mc146818)
// Nippel Co-processor (R65C02 clone + dual-ported RAM)
-SLOT_INTERFACE_END
+}
MACHINE_CONFIG_START(agat7_state::agat7)
MCFG_CPU_ADD("maincpu", M6502, XTAL(14'300'000) / 14)
diff --git a/src/mame/drivers/aim65.cpp b/src/mame/drivers/aim65.cpp
index 5a37b2f1758..cb6485d3654 100644
--- a/src/mame/drivers/aim65.cpp
+++ b/src/mame/drivers/aim65.cpp
@@ -194,15 +194,15 @@ MACHINE_CONFIG_START(aim65_state::aim65)
MCFG_DEFAULT_LAYOUT(layout_aim65)
/* alpha-numeric display */
- MCFG_DEVICE_ADD("ds1", DL1416T, 0)
+ MCFG_DEVICE_ADD("ds1", DL1416T, u32(0))
MCFG_DL1416_UPDATE_HANDLER(WRITE16(aim65_state, aim65_update_ds<1>))
- MCFG_DEVICE_ADD("ds2", DL1416T, 0)
+ MCFG_DEVICE_ADD("ds2", DL1416T, u32(0))
MCFG_DL1416_UPDATE_HANDLER(WRITE16(aim65_state, aim65_update_ds<2>))
- MCFG_DEVICE_ADD("ds3", DL1416T, 0)
+ MCFG_DEVICE_ADD("ds3", DL1416T, u32(0))
MCFG_DL1416_UPDATE_HANDLER(WRITE16(aim65_state, aim65_update_ds<3>))
- MCFG_DEVICE_ADD("ds4", DL1416T, 0)
+ MCFG_DEVICE_ADD("ds4", DL1416T, u32(0))
MCFG_DL1416_UPDATE_HANDLER(WRITE16(aim65_state, aim65_update_ds<4>))
- MCFG_DEVICE_ADD("ds5", DL1416T, 0)
+ MCFG_DEVICE_ADD("ds5", DL1416T, u32(0))
MCFG_DL1416_UPDATE_HANDLER(WRITE16(aim65_state, aim65_update_ds<5>))
/* Sound - wave sound only */
diff --git a/src/mame/drivers/alpha68k.cpp b/src/mame/drivers/alpha68k.cpp
index d52fba92347..89eee69e27c 100644
--- a/src/mame/drivers/alpha68k.cpp
+++ b/src/mame/drivers/alpha68k.cpp
@@ -1984,7 +1984,7 @@ MACHINE_CONFIG_START(alpha68k_state::sstingry)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.75) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(alpha68k_state::kyros)
@@ -2036,7 +2036,7 @@ MACHINE_CONFIG_START(alpha68k_state::kyros)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.75) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(alpha68k_state::jongbou)
@@ -2172,7 +2172,7 @@ MACHINE_CONFIG_START(alpha68k_state::alpha68k_II)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.75) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(alpha68k_state::btlfieldb)
@@ -2229,7 +2229,7 @@ MACHINE_CONFIG_START(alpha68k_state::alpha68k_II_gm)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.75) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(alpha68k_state::alpha68k_V)
@@ -2278,7 +2278,7 @@ MACHINE_CONFIG_START(alpha68k_state::alpha68k_V)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.75) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(alpha68k_state::alpha68k_V_sb)
@@ -2327,7 +2327,7 @@ MACHINE_CONFIG_START(alpha68k_state::alpha68k_V_sb)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.75) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(alpha68k_state::tnextspc)
diff --git a/src/mame/drivers/alphatpx.cpp b/src/mame/drivers/alphatpx.cpp
index b1d1b6dca59..e4ae3c3843e 100644
--- a/src/mame/drivers/alphatpx.cpp
+++ b/src/mame/drivers/alphatpx.cpp
@@ -1169,17 +1169,20 @@ WRITE8_MEMBER(alphatp_34_state::fdc_cmd_w)
// FLOPPY - Drive definitions
//**************************************************************************
-static SLOT_INTERFACE_START( alphatp2_floppies ) // two BASF 2471 drives
- SLOT_INTERFACE("525ssdd", FLOPPY_525_SSDD)
-SLOT_INTERFACE_END
+static void alphatp2_floppies(device_slot_interface &device) // two BASF 2471 drives
+{
+ device.option_add("525ssdd", FLOPPY_525_SSDD);
+}
-static SLOT_INTERFACE_START( alphatp2su_floppies )
- SLOT_INTERFACE("525dd", FLOPPY_525_DD)
-SLOT_INTERFACE_END
+static void alphatp2su_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
-static SLOT_INTERFACE_START( alphatp3_floppies ) // P3: two BASF 6106 drives
- SLOT_INTERFACE("525qd", FLOPPY_525_QD) // P30: two Shugart SA465-3AA drives
-SLOT_INTERFACE_END
+static void alphatp3_floppies(device_slot_interface &device) // P3: two BASF 6106 drives
+{
+ device.option_add("525qd", FLOPPY_525_QD); // P30: two Shugart SA465-3AA drives
+}
//**************************************************************************
// MACHINE - Alphatronic P1, P2, P2S, P2U and Hell 2069
diff --git a/src/mame/drivers/alphatro.cpp b/src/mame/drivers/alphatro.cpp
index f91550288f8..13ed126e1ed 100644
--- a/src/mame/drivers/alphatro.cpp
+++ b/src/mame/drivers/alphatro.cpp
@@ -693,9 +693,10 @@ FLOPPY_FORMATS_MEMBER( alphatro_state::floppy_formats )
FLOPPY_PC_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( alphatro_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void alphatro_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
MACHINE_CONFIG_START(alphatro_state::alphatro)
/* basic machine hardware */
diff --git a/src/mame/drivers/altos486.cpp b/src/mame/drivers/altos486.cpp
index 73746f9348b..a912487c64f 100644
--- a/src/mame/drivers/altos486.cpp
+++ b/src/mame/drivers/altos486.cpp
@@ -101,9 +101,10 @@ FLOPPY_FORMATS_MEMBER( altos486_state::floppy_formats )
FLOPPY_TD0_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( altos486_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void altos486_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
void altos486_state::altos486_mem(address_map &map)
{
@@ -186,7 +187,7 @@ MACHINE_CONFIG_START(altos486_state::altos486)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("sio0", z80dart_device, rxa_w))
MCFG_RS232_DCD_HANDLER(DEVWRITELINE("sio0", z80dart_device, dcda_w))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("sio0", z80dart_device, ctsa_w))
- //MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", altos486_terminal)
+ //MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", altos486_terminal)
MCFG_RS232_PORT_ADD("rs232b", default_rs232_devices, NULL)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("sio0", z80dart_device, rxb_w))
diff --git a/src/mame/drivers/altos5.cpp b/src/mame/drivers/altos5.cpp
index 2e8c15ceae6..1d4cef15081 100644
--- a/src/mame/drivers/altos5.cpp
+++ b/src/mame/drivers/altos5.cpp
@@ -357,9 +357,10 @@ QUICKLOAD_LOAD_MEMBER( altos5_state, altos5 )
}
-static SLOT_INTERFACE_START( altos5_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void altos5_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
WRITE_LINE_MEMBER( altos5_state::fdc_intrq_w )
{
diff --git a/src/mame/drivers/altos8600.cpp b/src/mame/drivers/altos8600.cpp
index 1912594c91c..a4deb8b808b 100644
--- a/src/mame/drivers/altos8600.cpp
+++ b/src/mame/drivers/altos8600.cpp
@@ -720,9 +720,10 @@ void altos8600_state::dmac_io(address_map &map)
map(0x0400, 0x05ff).rw(this, FUNC(altos8600_state::mmuaddr_r), FUNC(altos8600_state::mmuaddr_w));
}
-static SLOT_INTERFACE_START(altos8600_floppies)
- SLOT_INTERFACE( "8dd", FLOPPY_8_DSDD )
-SLOT_INTERFACE_END
+static void altos8600_floppies(device_slot_interface &device)
+{
+ device.option_add("8dd", FLOPPY_8_DSDD);
+}
MACHINE_CONFIG_START(altos8600_state::altos8600)
MCFG_CPU_ADD("maincpu", I8086, 5_MHz_XTAL)
diff --git a/src/mame/drivers/amiga.cpp b/src/mame/drivers/amiga.cpp
index 9409ca59563..7bbc48c355a 100644
--- a/src/mame/drivers/amiga.cpp
+++ b/src/mame/drivers/amiga.cpp
@@ -1365,9 +1365,10 @@ INPUT_PORTS_END
// MACHINE DRIVERS
//**************************************************************************
-static SLOT_INTERFACE_START( amiga_floppies )
- SLOT_INTERFACE("35dd", FLOPPY_35_DD)
-SLOT_INTERFACE_END
+static void amiga_floppies(device_slot_interface &device)
+{
+ device.option_add("35dd", FLOPPY_35_DD);
+}
// basic elements common to all amigas
MACHINE_CONFIG_START(amiga_state::amiga_base)
diff --git a/src/mame/drivers/ampro.cpp b/src/mame/drivers/ampro.cpp
index 7eaf2ad1784..91d0477a4b3 100644
--- a/src/mame/drivers/ampro.cpp
+++ b/src/mame/drivers/ampro.cpp
@@ -125,9 +125,10 @@ static const z80_daisy_config daisy_chain_intf[] =
{ nullptr }
};
-static SLOT_INTERFACE_START( ampro_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void ampro_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
/* Input ports */
static INPUT_PORTS_START( ampro )
diff --git a/src/mame/drivers/amstrad.cpp b/src/mame/drivers/amstrad.cpp
index 2927b07a376..1d378d3fc46 100644
--- a/src/mame/drivers/amstrad.cpp
+++ b/src/mame/drivers/amstrad.cpp
@@ -796,14 +796,16 @@ speed of 3.8 MHz */
*/
-static SLOT_INTERFACE_START( amstrad_floppies )
- SLOT_INTERFACE( "3ssdd", FLOPPY_3_SSDD )
- SLOT_INTERFACE( "35ssdd", FLOPPY_35_DD )
-SLOT_INTERFACE_END
+static void amstrad_floppies(device_slot_interface &device)
+{
+ device.option_add("3ssdd", FLOPPY_3_SSDD);
+ device.option_add("35ssdd", FLOPPY_35_DD);
+}
-static SLOT_INTERFACE_START( aleste_floppies )
- SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
-SLOT_INTERFACE_END
+static void aleste_floppies(device_slot_interface &device)
+{
+ device.option_add("35dd", FLOPPY_35_DD);
+}
FLOPPY_FORMATS_MEMBER( amstrad_state::aleste_floppy_formats )
FLOPPY_MSX_FORMAT
@@ -818,87 +820,92 @@ MACHINE_CONFIG_START(amstrad_state::cpcplus_cartslot)
MCFG_SOFTWARE_LIST_ADD("cart_list", "gx4000")
MACHINE_CONFIG_END
-SLOT_INTERFACE_START(cpc464_exp_cards)
- SLOT_INTERFACE("ddi1", CPC_DDI1)
- SLOT_INTERFACE("ssa1", CPC_SSA1)
- SLOT_INTERFACE("dkspeech", CPC_DKSPEECH)
- SLOT_INTERFACE("rom", CPC_ROM)
- SLOT_INTERFACE("multiface2", CPC_MFACE2)
- SLOT_INTERFACE("pds", CPC_PDS)
- SLOT_INTERFACE("rs232", CPC_RS232)
- SLOT_INTERFACE("amsrs232", CPC_RS232_AMS)
- SLOT_INTERFACE("sf2", CPC_SYMBIFACE2)
- SLOT_INTERFACE("amdrum", CPC_AMDRUM)
- SLOT_INTERFACE("playcity", CPC_PLAYCITY)
- SLOT_INTERFACE("smartwatch", CPC_SMARTWATCH)
- SLOT_INTERFACE("brunword4", CPC_BRUNWORD_MK4)
- SLOT_INTERFACE("hd20", CPC_HD20)
- SLOT_INTERFACE("doubler", CPC_DOUBLER)
- SLOT_INTERFACE("transtape", CPC_TRANSTAPE)
-SLOT_INTERFACE_END
-
-SLOT_INTERFACE_START(cpc_exp_cards)
- SLOT_INTERFACE("ssa1", CPC_SSA1)
- SLOT_INTERFACE("dkspeech", CPC_DKSPEECH)
- SLOT_INTERFACE("rom", CPC_ROM)
- SLOT_INTERFACE("multiface2", CPC_MFACE2)
- SLOT_INTERFACE("pds", CPC_PDS)
- SLOT_INTERFACE("rs232", CPC_RS232)
- SLOT_INTERFACE("amsrs232", CPC_RS232_AMS)
- SLOT_INTERFACE("sf2", CPC_SYMBIFACE2)
- SLOT_INTERFACE("amdrum", CPC_AMDRUM)
- SLOT_INTERFACE("playcity", CPC_PLAYCITY)
- SLOT_INTERFACE("smartwatch", CPC_SMARTWATCH)
- SLOT_INTERFACE("brunword4", CPC_BRUNWORD_MK4)
- SLOT_INTERFACE("hd20", CPC_HD20)
- SLOT_INTERFACE("doubler", CPC_DOUBLER)
- SLOT_INTERFACE("transtape", CPC_TRANSTAPE)
-SLOT_INTERFACE_END
-
-SLOT_INTERFACE_START(cpcplus_exp_cards)
- SLOT_INTERFACE("ssa1", CPC_SSA1)
- SLOT_INTERFACE("dkspeech", CPC_DKSPEECH)
- SLOT_INTERFACE("rom", CPC_ROM)
- SLOT_INTERFACE("pds", CPC_PDS)
- SLOT_INTERFACE("rs232", CPC_RS232)
- SLOT_INTERFACE("amsrs232", CPC_RS232_AMS)
- SLOT_INTERFACE("sf2", CPC_SYMBIFACE2)
- SLOT_INTERFACE("amdrum", CPC_AMDRUM)
- SLOT_INTERFACE("playcity", CPC_PLAYCITY)
- SLOT_INTERFACE("smartwatch", CPC_SMARTWATCH)
- SLOT_INTERFACE("hd20", CPC_HD20)
- SLOT_INTERFACE("doubler", CPC_DOUBLER)
- SLOT_INTERFACE("transtape", CPC_TRANSTAPE) // Plus compatible?
-SLOT_INTERFACE_END
-
-SLOT_INTERFACE_START(aleste_exp_cards)
- SLOT_INTERFACE("ssa1", CPC_SSA1)
- SLOT_INTERFACE("dkspeech", CPC_DKSPEECH)
- SLOT_INTERFACE("rom", CPC_ROM)
- SLOT_INTERFACE("multiface2", CPC_MFACE2)
- SLOT_INTERFACE("pds", CPC_PDS)
- SLOT_INTERFACE("rs232", CPC_RS232)
- SLOT_INTERFACE("amsrs232", CPC_RS232_AMS)
- SLOT_INTERFACE("sf2", CPC_SYMBIFACE2)
- SLOT_INTERFACE("amdrum", CPC_AMDRUM)
- SLOT_INTERFACE("playcity", CPC_PLAYCITY)
- SLOT_INTERFACE("smartwatch", CPC_SMARTWATCH)
- SLOT_INTERFACE("brunword4", CPC_BRUNWORD_MK4)
- SLOT_INTERFACE("hd20", CPC_HD20)
- SLOT_INTERFACE("doubler", CPC_DOUBLER)
- SLOT_INTERFACE("transtape", CPC_TRANSTAPE)
- SLOT_INTERFACE("magicsound", AL_MAGICSOUND)
-SLOT_INTERFACE_END
-
-SLOT_INTERFACE_START(amstrad_centronics_devices)
- SLOT_INTERFACE("pl80", COMX_PL80)
- SLOT_INTERFACE("ex800", EPSON_EX800)
- SLOT_INTERFACE("lx800", EPSON_LX800)
- SLOT_INTERFACE("lx810l", EPSON_LX810L)
- SLOT_INTERFACE("ap2000", EPSON_AP2000)
- SLOT_INTERFACE("printer", CENTRONICS_PRINTER)
- SLOT_INTERFACE("digiblst", CENTRONICS_DIGIBLASTER)
-SLOT_INTERFACE_END
+void cpc464_exp_cards(device_slot_interface &device)
+{
+ device.option_add("ddi1", CPC_DDI1);
+ device.option_add("ssa1", CPC_SSA1);
+ device.option_add("dkspeech", CPC_DKSPEECH);
+ device.option_add("rom", CPC_ROM);
+ device.option_add("multiface2", CPC_MFACE2);
+ device.option_add("pds", CPC_PDS);
+ device.option_add("rs232", CPC_RS232);
+ device.option_add("amsrs232", CPC_RS232_AMS);
+ device.option_add("sf2", CPC_SYMBIFACE2);
+ device.option_add("amdrum", CPC_AMDRUM);
+ device.option_add("playcity", CPC_PLAYCITY);
+ device.option_add("smartwatch", CPC_SMARTWATCH);
+ device.option_add("brunword4", CPC_BRUNWORD_MK4);
+ device.option_add("hd20", CPC_HD20);
+ device.option_add("doubler", CPC_DOUBLER);
+ device.option_add("transtape", CPC_TRANSTAPE);
+}
+
+void cpc_exp_cards(device_slot_interface &device)
+{
+ device.option_add("ssa1", CPC_SSA1);
+ device.option_add("dkspeech", CPC_DKSPEECH);
+ device.option_add("rom", CPC_ROM);
+ device.option_add("multiface2", CPC_MFACE2);
+ device.option_add("pds", CPC_PDS);
+ device.option_add("rs232", CPC_RS232);
+ device.option_add("amsrs232", CPC_RS232_AMS);
+ device.option_add("sf2", CPC_SYMBIFACE2);
+ device.option_add("amdrum", CPC_AMDRUM);
+ device.option_add("playcity", CPC_PLAYCITY);
+ device.option_add("smartwatch", CPC_SMARTWATCH);
+ device.option_add("brunword4", CPC_BRUNWORD_MK4);
+ device.option_add("hd20", CPC_HD20);
+ device.option_add("doubler", CPC_DOUBLER);
+ device.option_add("transtape", CPC_TRANSTAPE);
+}
+
+void cpcplus_exp_cards(device_slot_interface &device)
+{
+ device.option_add("ssa1", CPC_SSA1);
+ device.option_add("dkspeech", CPC_DKSPEECH);
+ device.option_add("rom", CPC_ROM);
+ device.option_add("pds", CPC_PDS);
+ device.option_add("rs232", CPC_RS232);
+ device.option_add("amsrs232", CPC_RS232_AMS);
+ device.option_add("sf2", CPC_SYMBIFACE2);
+ device.option_add("amdrum", CPC_AMDRUM);
+ device.option_add("playcity", CPC_PLAYCITY);
+ device.option_add("smartwatch", CPC_SMARTWATCH);
+ device.option_add("hd20", CPC_HD20);
+ device.option_add("doubler", CPC_DOUBLER);
+ device.option_add("transtape", CPC_TRANSTAPE); // Plus compatible?
+}
+
+void aleste_exp_cards(device_slot_interface &device)
+{
+ device.option_add("ssa1", CPC_SSA1);
+ device.option_add("dkspeech", CPC_DKSPEECH);
+ device.option_add("rom", CPC_ROM);
+ device.option_add("multiface2", CPC_MFACE2);
+ device.option_add("pds", CPC_PDS);
+ device.option_add("rs232", CPC_RS232);
+ device.option_add("amsrs232", CPC_RS232_AMS);
+ device.option_add("sf2", CPC_SYMBIFACE2);
+ device.option_add("amdrum", CPC_AMDRUM);
+ device.option_add("playcity", CPC_PLAYCITY);
+ device.option_add("smartwatch", CPC_SMARTWATCH);
+ device.option_add("brunword4", CPC_BRUNWORD_MK4);
+ device.option_add("hd20", CPC_HD20);
+ device.option_add("doubler", CPC_DOUBLER);
+ device.option_add("transtape", CPC_TRANSTAPE);
+ device.option_add("magicsound", AL_MAGICSOUND);
+}
+
+void amstrad_centronics_devices(device_slot_interface &device)
+{
+ device.option_add("pl80", COMX_PL80);
+ device.option_add("ex800", EPSON_EX800);
+ device.option_add("lx800", EPSON_LX800);
+ device.option_add("lx810l", EPSON_LX810L);
+ device.option_add("ap2000", EPSON_AP2000);
+ device.option_add("printer", CENTRONICS_PRINTER);
+ device.option_add("digiblst", CENTRONICS_DIGIBLASTER);
+}
MACHINE_CONFIG_START(amstrad_state::amstrad_base)
/* Machine hardware */
diff --git a/src/mame/drivers/amust.cpp b/src/mame/drivers/amust.cpp
index 0836ac65c6e..83b93c60246 100644
--- a/src/mame/drivers/amust.cpp
+++ b/src/mame/drivers/amust.cpp
@@ -198,9 +198,10 @@ void amust_state::io_map(address_map &map)
map(0x14, 0x17).rw("pit", FUNC(pit8253_device::read), FUNC(pit8253_device::write));
}
-static SLOT_INTERFACE_START( amust_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void amust_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
/* Input ports */
static INPUT_PORTS_START( amust )
diff --git a/src/mame/drivers/apc.cpp b/src/mame/drivers/apc.cpp
index 0d982b2a1ac..95213e51826 100644
--- a/src/mame/drivers/apc.cpp
+++ b/src/mame/drivers/apc.cpp
@@ -916,9 +916,10 @@ static const floppy_format_type apc_floppy_formats[] = {
nullptr
};
-static SLOT_INTERFACE_START( apc_floppies )
- SLOT_INTERFACE( "8", FLOPPY_8_DSDD )
-SLOT_INTERFACE_END
+static void apc_floppies(device_slot_interface &device)
+{
+ device.option_add("8", FLOPPY_8_DSDD);
+}
MACHINE_CONFIG_START(apc_state::apc)
diff --git a/src/mame/drivers/apf.cpp b/src/mame/drivers/apf.cpp
index 5fc3b8ec472..2f9ff38a3fb 100644
--- a/src/mame/drivers/apf.cpp
+++ b/src/mame/drivers/apf.cpp
@@ -502,16 +502,18 @@ static INPUT_PORTS_START( apfimag )
INPUT_PORTS_END
-static SLOT_INTERFACE_START( apf_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_SSDD )
-SLOT_INTERFACE_END
+static void apf_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_SSDD);
+}
-static SLOT_INTERFACE_START(apf_cart)
- SLOT_INTERFACE_INTERNAL("std", APF_ROM_STD)
- SLOT_INTERFACE_INTERNAL("basic", APF_ROM_BASIC)
- SLOT_INTERFACE_INTERNAL("spacedst", APF_ROM_SPACEDST)
-SLOT_INTERFACE_END
+static void apf_cart(device_slot_interface &device)
+{
+ device.option_add_internal("std", APF_ROM_STD);
+ device.option_add_internal("basic", APF_ROM_BASIC);
+ device.option_add_internal("spacedst", APF_ROM_SPACEDST);
+}
MACHINE_CONFIG_START(apf_state::apfm1000)
diff --git a/src/mame/drivers/apple1.cpp b/src/mame/drivers/apple1.cpp
index fcb9f4c81c5..181880a7be0 100644
--- a/src/mame/drivers/apple1.cpp
+++ b/src/mame/drivers/apple1.cpp
@@ -588,10 +588,11 @@ static INPUT_PORTS_START( apple1 )
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Clear") PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F2))
INPUT_PORTS_END
-static SLOT_INTERFACE_START(apple1_cards)
- SLOT_INTERFACE("cassette", A1BUS_CASSETTE)
- SLOT_INTERFACE("cffa", A1BUS_CFFA)
-SLOT_INTERFACE_END
+static void apple1_cards(device_slot_interface &device)
+{
+ device.option_add("cassette", A1BUS_CASSETTE);
+ device.option_add("cffa", A1BUS_CFFA);
+}
MACHINE_CONFIG_START(apple1_state::apple1)
MCFG_CPU_ADD(A1_CPU_TAG, M6502, 960000) // effective CPU speed
diff --git a/src/mame/drivers/apple2.cpp b/src/mame/drivers/apple2.cpp
index a862608c252..bf78aca9a3b 100644
--- a/src/mame/drivers/apple2.cpp
+++ b/src/mame/drivers/apple2.cpp
@@ -1319,58 +1319,60 @@ static INPUT_PORTS_START( apple2p )
PORT_DIPSETTING( 0x00, "RESET" )
INPUT_PORTS_END
-static SLOT_INTERFACE_START(apple2_slot0_cards)
- SLOT_INTERFACE("lang", A2BUS_RAMCARD16K) /* Apple II RAM Language Card */
- SLOT_INTERFACE("ssram", A2BUS_RAMCARD128K) /* Saturn Systems 128K extended language card */
-SLOT_INTERFACE_END
-
-static SLOT_INTERFACE_START(apple2_cards)
- SLOT_INTERFACE("diskii", A2BUS_DISKII) /* Disk II Controller Card */
- SLOT_INTERFACE("diskiing", A2BUS_DISKIING) /* Disk II Controller Card, cycle-accurate version */
- SLOT_INTERFACE("diskiing13", A2BUS_DISKIING13) /* Disk II Controller Card, cycle-accurate version */
- SLOT_INTERFACE("mockingboard", A2BUS_MOCKINGBOARD) /* Sweet Micro Systems Mockingboard */
- SLOT_INTERFACE("phasor", A2BUS_PHASOR) /* Applied Engineering Phasor */
- SLOT_INTERFACE("cffa2", A2BUS_CFFA2) /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 65C02/65816 firmware */
- SLOT_INTERFACE("cffa202", A2BUS_CFFA2_6502) /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 6502 firmware */
- SLOT_INTERFACE("memexp", A2BUS_MEMEXP) /* Apple II Memory Expansion Card */
- SLOT_INTERFACE("ramfactor", A2BUS_RAMFACTOR) /* Applied Engineering RamFactor */
- SLOT_INTERFACE("thclock", A2BUS_THUNDERCLOCK) /* ThunderWare ThunderClock Plus */
- SLOT_INTERFACE("softcard", A2BUS_SOFTCARD) /* Microsoft SoftCard */
- SLOT_INTERFACE("videoterm", A2BUS_VIDEOTERM) /* Videx VideoTerm */
- SLOT_INTERFACE("ssc", A2BUS_SSC) /* Apple Super Serial Card */
- SLOT_INTERFACE("swyft", A2BUS_SWYFT) /* IAI SwyftCard */
- SLOT_INTERFACE("themill", A2BUS_THEMILL) /* Stellation Two The Mill (6809 card) */
- SLOT_INTERFACE("sam", A2BUS_SAM) /* SAM Software Automated Mouth (8-bit DAC + speaker) */
- SLOT_INTERFACE("alfam2", A2BUS_ALFAM2) /* ALF Apple Music II */
- SLOT_INTERFACE("echoii", A2BUS_ECHOII) /* Street Electronics Echo II */
- SLOT_INTERFACE("ap16", A2BUS_IBSAP16) /* IBS AP16 (German VideoTerm clone) */
- SLOT_INTERFACE("ap16alt", A2BUS_IBSAP16ALT) /* IBS AP16 (German VideoTerm clone), alternate revision */
- SLOT_INTERFACE("vtc1", A2BUS_VTC1) /* Unknown VideoTerm clone #1 */
- SLOT_INTERFACE("vtc2", A2BUS_VTC2) /* Unknown VideoTerm clone #2 */
- SLOT_INTERFACE("arcbd", A2BUS_ARCADEBOARD) /* Third Millenium Engineering Arcade Board */
- SLOT_INTERFACE("midi", A2BUS_MIDI) /* Generic 6840+6850 MIDI board */
- SLOT_INTERFACE("zipdrive", A2BUS_ZIPDRIVE) /* ZIP Technologies IDE card */
- SLOT_INTERFACE("echoiiplus", A2BUS_ECHOPLUS) /* Street Electronics Echo Plus (Echo II + Mockingboard clone) */
- SLOT_INTERFACE("scsi", A2BUS_SCSI) /* Apple II SCSI Card */
- SLOT_INTERFACE("applicard", A2BUS_APPLICARD) /* PCPI Applicard */
- SLOT_INTERFACE("aesms", A2BUS_AESMS) /* Applied Engineering Super Music Synthesizer */
- SLOT_INTERFACE("ultraterm", A2BUS_ULTRATERM) /* Videx UltraTerm (original) */
- SLOT_INTERFACE("ultratermenh", A2BUS_ULTRATERMENH) /* Videx UltraTerm (enhanced //e) */
- SLOT_INTERFACE("aevm80", A2BUS_AEVIEWMASTER80) /* Applied Engineering ViewMaster 80 */
- SLOT_INTERFACE("parallel", A2BUS_PIC) /* Apple Parallel Interface Card */
- SLOT_INTERFACE("corvus", A2BUS_CORVUS) /* Corvus flat-cable HDD interface (see notes in a2corvus.c) */
- SLOT_INTERFACE("mcms1", A2BUS_MCMS1) /* Mountain Computer Music System, card 1 of 2 */
- SLOT_INTERFACE("mcms2", A2BUS_MCMS2) /* Mountain Computer Music System, card 2 of 2. must be in card 1's slot + 1! */
- SLOT_INTERFACE("dx1", A2BUS_DX1) /* Decillonix DX-1 sampler card */
- SLOT_INTERFACE("tm2ho", A2BUS_TIMEMASTERHO) /* Applied Engineering TimeMaster II H.O. */
- SLOT_INTERFACE("mouse", A2BUS_MOUSE) /* Apple II Mouse Card */
- SLOT_INTERFACE("ezcgi", A2BUS_EZCGI) /* E-Z Color Graphics Interface */
- SLOT_INTERFACE("ezcgi9938", A2BUS_EZCGI_9938) /* E-Z Color Graphics Interface (TMS9938) */
- SLOT_INTERFACE("ezcgi9958", A2BUS_EZCGI_9958) /* E-Z Color Graphics Interface (TMS9958) */
- SLOT_INTERFACE("ssprite", A2BUS_SSPRITE) /* Synetix SuperSprite Board */
- SLOT_INTERFACE("ssbapple", A2BUS_SSBAPPLE) /* SSB Apple speech board */
-// SLOT_INTERFACE("magicmusician", A2BUS_MAGICMUSICIAN) /* Magic Musician Card */
-SLOT_INTERFACE_END
+static void apple2_slot0_cards(device_slot_interface &device)
+{
+ device.option_add("lang", A2BUS_RAMCARD16K); /* Apple II RAM Language Card */
+ device.option_add("ssram", A2BUS_RAMCARD128K); /* Saturn Systems 128K extended language card */
+}
+
+static void apple2_cards(device_slot_interface &device)
+{
+ device.option_add("diskii", A2BUS_DISKII); /* Disk II Controller Card */
+ device.option_add("diskiing", A2BUS_DISKIING); /* Disk II Controller Card, cycle-accurate version */
+ device.option_add("diskiing13", A2BUS_DISKIING13); /* Disk II Controller Card, cycle-accurate version */
+ device.option_add("mockingboard", A2BUS_MOCKINGBOARD); /* Sweet Micro Systems Mockingboard */
+ device.option_add("phasor", A2BUS_PHASOR); /* Applied Engineering Phasor */
+ device.option_add("cffa2", A2BUS_CFFA2); /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 65C02/65816 firmware */
+ device.option_add("cffa202", A2BUS_CFFA2_6502); /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 6502 firmware */
+ device.option_add("memexp", A2BUS_MEMEXP); /* Apple II Memory Expansion Card */
+ device.option_add("ramfactor", A2BUS_RAMFACTOR); /* Applied Engineering RamFactor */
+ device.option_add("thclock", A2BUS_THUNDERCLOCK); /* ThunderWare ThunderClock Plus */
+ device.option_add("softcard", A2BUS_SOFTCARD); /* Microsoft SoftCard */
+ device.option_add("videoterm", A2BUS_VIDEOTERM); /* Videx VideoTerm */
+ device.option_add("ssc", A2BUS_SSC); /* Apple Super Serial Card */
+ device.option_add("swyft", A2BUS_SWYFT); /* IAI SwyftCard */
+ device.option_add("themill", A2BUS_THEMILL); /* Stellation Two The Mill (6809 card) */
+ device.option_add("sam", A2BUS_SAM); /* SAM Software Automated Mouth (8-bit DAC + speaker) */
+ device.option_add("alfam2", A2BUS_ALFAM2); /* ALF Apple Music II */
+ device.option_add("echoii", A2BUS_ECHOII); /* Street Electronics Echo II */
+ device.option_add("ap16", A2BUS_IBSAP16); /* IBS AP16 (German VideoTerm clone) */
+ device.option_add("ap16alt", A2BUS_IBSAP16ALT); /* IBS AP16 (German VideoTerm clone), alternate revision */
+ device.option_add("vtc1", A2BUS_VTC1); /* Unknown VideoTerm clone #1 */
+ device.option_add("vtc2", A2BUS_VTC2); /* Unknown VideoTerm clone #2 */
+ device.option_add("arcbd", A2BUS_ARCADEBOARD); /* Third Millenium Engineering Arcade Board */
+ device.option_add("midi", A2BUS_MIDI); /* Generic 6840+6850 MIDI board */
+ device.option_add("zipdrive", A2BUS_ZIPDRIVE); /* ZIP Technologies IDE card */
+ device.option_add("echoiiplus", A2BUS_ECHOPLUS); /* Street Electronics Echo Plus (Echo II + Mockingboard clone) */
+ device.option_add("scsi", A2BUS_SCSI); /* Apple II SCSI Card */
+ device.option_add("applicard", A2BUS_APPLICARD); /* PCPI Applicard */
+ device.option_add("aesms", A2BUS_AESMS); /* Applied Engineering Super Music Synthesizer */
+ device.option_add("ultraterm", A2BUS_ULTRATERM); /* Videx UltraTerm (original) */
+ device.option_add("ultratermenh", A2BUS_ULTRATERMENH); /* Videx UltraTerm (enhanced //e) */
+ device.option_add("aevm80", A2BUS_AEVIEWMASTER80); /* Applied Engineering ViewMaster 80 */
+ device.option_add("parallel", A2BUS_PIC); /* Apple Parallel Interface Card */
+ device.option_add("corvus", A2BUS_CORVUS); /* Corvus flat-cable HDD interface (see notes in a2corvus.c) */
+ device.option_add("mcms1", A2BUS_MCMS1); /* Mountain Computer Music System, card 1 of 2 */
+ device.option_add("mcms2", A2BUS_MCMS2); /* Mountain Computer Music System, card 2 of 2. must be in card 1's slot + 1! */
+ device.option_add("dx1", A2BUS_DX1); /* Decillonix DX-1 sampler card */
+ device.option_add("tm2ho", A2BUS_TIMEMASTERHO); /* Applied Engineering TimeMaster II H.O. */
+ device.option_add("mouse", A2BUS_MOUSE); /* Apple II Mouse Card */
+ device.option_add("ezcgi", A2BUS_EZCGI); /* E-Z Color Graphics Interface */
+ device.option_add("ezcgi9938", A2BUS_EZCGI_9938); /* E-Z Color Graphics Interface (TMS9938) */
+ device.option_add("ezcgi9958", A2BUS_EZCGI_9958); /* E-Z Color Graphics Interface (TMS9958) */
+ device.option_add("ssprite", A2BUS_SSPRITE); /* Synetix SuperSprite Board */
+ device.option_add("ssbapple", A2BUS_SSBAPPLE); /* SSB Apple speech board */
+// device.option_add("magicmusician", A2BUS_MAGICMUSICIAN); /* Magic Musician Card */
+}
MACHINE_CONFIG_START(napple2_state::apple2_common)
/* basic machine hardware */
diff --git a/src/mame/drivers/apple2e.cpp b/src/mame/drivers/apple2e.cpp
index 1c3d35f9c9e..f79f4fcfea5 100644
--- a/src/mame/drivers/apple2e.cpp
+++ b/src/mame/drivers/apple2e.cpp
@@ -3827,61 +3827,63 @@ INPUT_PORTS_START( apple2ep )
PORT_INCLUDE(apple2_sysconfig)
INPUT_PORTS_END
-static SLOT_INTERFACE_START(apple2_cards)
- SLOT_INTERFACE("diskii", A2BUS_DISKII) /* Disk II Controller Card */
- SLOT_INTERFACE("diskiing", A2BUS_DISKIING) /* Disk II Controller Card, cycle-accurate version */
- SLOT_INTERFACE("diskiing13", A2BUS_DISKIING13) /* Disk II Controller Card, cycle-accurate version */
- SLOT_INTERFACE("mockingboard", A2BUS_MOCKINGBOARD) /* Sweet Micro Systems Mockingboard */
- SLOT_INTERFACE("phasor", A2BUS_PHASOR) /* Applied Engineering Phasor */
- SLOT_INTERFACE("cffa2", A2BUS_CFFA2) /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 65C02/65816 firmware */
- SLOT_INTERFACE("cffa202", A2BUS_CFFA2_6502) /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 6502 firmware */
- SLOT_INTERFACE("memexp", A2BUS_MEMEXP) /* Apple II Memory Expansion Card */
- SLOT_INTERFACE("ramfactor", A2BUS_RAMFACTOR) /* Applied Engineering RamFactor */
- SLOT_INTERFACE("thclock", A2BUS_THUNDERCLOCK) /* ThunderWare ThunderClock Plus */
- SLOT_INTERFACE("softcard", A2BUS_SOFTCARD) /* Microsoft SoftCard */
- SLOT_INTERFACE("videoterm", A2BUS_VIDEOTERM) /* Videx VideoTerm */
- SLOT_INTERFACE("ssc", A2BUS_SSC) /* Apple Super Serial Card */
- SLOT_INTERFACE("swyft", A2BUS_SWYFT) /* IAI SwyftCard */
- SLOT_INTERFACE("themill", A2BUS_THEMILL) /* Stellation Two The Mill (6809 card) */
- SLOT_INTERFACE("sam", A2BUS_SAM) /* SAM Software Automated Mouth (8-bit DAC + speaker) */
- SLOT_INTERFACE("alfam2", A2BUS_ALFAM2) /* ALF Apple Music II */
- SLOT_INTERFACE("echoii", A2BUS_ECHOII) /* Street Electronics Echo II */
- SLOT_INTERFACE("ap16", A2BUS_IBSAP16) /* IBS AP16 (German VideoTerm clone) */
- SLOT_INTERFACE("ap16alt", A2BUS_IBSAP16ALT) /* IBS AP16 (German VideoTerm clone), alternate revision */
- SLOT_INTERFACE("vtc1", A2BUS_VTC1) /* Unknown VideoTerm clone #1 */
- SLOT_INTERFACE("vtc2", A2BUS_VTC2) /* Unknown VideoTerm clone #2 */
- SLOT_INTERFACE("arcbd", A2BUS_ARCADEBOARD) /* Third Millenium Engineering Arcade Board */
- SLOT_INTERFACE("midi", A2BUS_MIDI) /* Generic 6840+6850 MIDI board */
- SLOT_INTERFACE("zipdrive", A2BUS_ZIPDRIVE) /* ZIP Technologies IDE card */
- SLOT_INTERFACE("echoiiplus", A2BUS_ECHOPLUS) /* Street Electronics Echo Plus (Echo II + Mockingboard clone) */
- SLOT_INTERFACE("scsi", A2BUS_SCSI) /* Apple II SCSI Card */
- SLOT_INTERFACE("applicard", A2BUS_APPLICARD) /* PCPI Applicard */
- SLOT_INTERFACE("aesms", A2BUS_AESMS) /* Applied Engineering Super Music Synthesizer */
- SLOT_INTERFACE("ultraterm", A2BUS_ULTRATERM) /* Videx UltraTerm (original) */
- SLOT_INTERFACE("ultratermenh", A2BUS_ULTRATERMENH) /* Videx UltraTerm (enhanced //e) */
- SLOT_INTERFACE("aevm80", A2BUS_AEVIEWMASTER80) /* Applied Engineering ViewMaster 80 */
- SLOT_INTERFACE("parallel", A2BUS_PIC) /* Apple Parallel Interface Card */
- SLOT_INTERFACE("corvus", A2BUS_CORVUS) /* Corvus flat-cable HDD interface (see notes in a2corvus.c) */
- SLOT_INTERFACE("mcms1", A2BUS_MCMS1) /* Mountain Computer Music System, card 1 of 2 */
- SLOT_INTERFACE("mcms2", A2BUS_MCMS2) /* Mountain Computer Music System, card 2 of 2. must be in card 1's slot + 1! */
- SLOT_INTERFACE("dx1", A2BUS_DX1) /* Decillonix DX-1 sampler card */
- SLOT_INTERFACE("tm2ho", A2BUS_TIMEMASTERHO) /* Applied Engineering TimeMaster II H.O. */
- SLOT_INTERFACE("mouse", A2BUS_MOUSE) /* Apple II Mouse Card */
- SLOT_INTERFACE("ezcgi", A2BUS_EZCGI) /* E-Z Color Graphics Interface */
- SLOT_INTERFACE("ezcgi9938", A2BUS_EZCGI_9938) /* E-Z Color Graphics Interface (TMS9938) */
- SLOT_INTERFACE("ezcgi9958", A2BUS_EZCGI_9958) /* E-Z Color Graphics Interface (TMS9958) */
-// SLOT_INTERFACE("magicmusician", A2BUS_MAGICMUSICIAN) /* Magic Musician Card */
- SLOT_INTERFACE("pcxport", A2BUS_PCXPORTER) /* Applied Engineering PC Transporter */
- SLOT_INTERFACE("ssprite", A2BUS_SSPRITE) /* Synetix SuperSprite Board */
- SLOT_INTERFACE("ssbapple", A2BUS_SSBAPPLE) /* SSB Apple speech board */
- SLOT_INTERFACE("twarp", A2BUS_TRANSWARP) /* AE TransWarp accelerator */
-SLOT_INTERFACE_END
-
-static SLOT_INTERFACE_START(apple2eaux_cards)
- SLOT_INTERFACE("std80", A2EAUX_STD80COL) /* Apple IIe Standard 80 Column Card */
- SLOT_INTERFACE("ext80", A2EAUX_EXT80COL) /* Apple IIe Extended 80 Column Card */
- SLOT_INTERFACE("rw3", A2EAUX_RAMWORKS3) /* Applied Engineering RamWorks III */
-SLOT_INTERFACE_END
+static void apple2_cards(device_slot_interface &device)
+{
+ device.option_add("diskii", A2BUS_DISKII); /* Disk II Controller Card */
+ device.option_add("diskiing", A2BUS_DISKIING); /* Disk II Controller Card, cycle-accurate version */
+ device.option_add("diskiing13", A2BUS_DISKIING13); /* Disk II Controller Card, cycle-accurate version */
+ device.option_add("mockingboard", A2BUS_MOCKINGBOARD); /* Sweet Micro Systems Mockingboard */
+ device.option_add("phasor", A2BUS_PHASOR); /* Applied Engineering Phasor */
+ device.option_add("cffa2", A2BUS_CFFA2); /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 65C02/65816 firmware */
+ device.option_add("cffa202", A2BUS_CFFA2_6502); /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 6502 firmware */
+ device.option_add("memexp", A2BUS_MEMEXP); /* Apple II Memory Expansion Card */
+ device.option_add("ramfactor", A2BUS_RAMFACTOR); /* Applied Engineering RamFactor */
+ device.option_add("thclock", A2BUS_THUNDERCLOCK); /* ThunderWare ThunderClock Plus */
+ device.option_add("softcard", A2BUS_SOFTCARD); /* Microsoft SoftCard */
+ device.option_add("videoterm", A2BUS_VIDEOTERM); /* Videx VideoTerm */
+ device.option_add("ssc", A2BUS_SSC); /* Apple Super Serial Card */
+ device.option_add("swyft", A2BUS_SWYFT); /* IAI SwyftCard */
+ device.option_add("themill", A2BUS_THEMILL); /* Stellation Two The Mill (6809 card) */
+ device.option_add("sam", A2BUS_SAM); /* SAM Software Automated Mouth (8-bit DAC + speaker) */
+ device.option_add("alfam2", A2BUS_ALFAM2); /* ALF Apple Music II */
+ device.option_add("echoii", A2BUS_ECHOII); /* Street Electronics Echo II */
+ device.option_add("ap16", A2BUS_IBSAP16); /* IBS AP16 (German VideoTerm clone) */
+ device.option_add("ap16alt", A2BUS_IBSAP16ALT); /* IBS AP16 (German VideoTerm clone), alternate revision */
+ device.option_add("vtc1", A2BUS_VTC1); /* Unknown VideoTerm clone #1 */
+ device.option_add("vtc2", A2BUS_VTC2); /* Unknown VideoTerm clone #2 */
+ device.option_add("arcbd", A2BUS_ARCADEBOARD); /* Third Millenium Engineering Arcade Board */
+ device.option_add("midi", A2BUS_MIDI); /* Generic 6840+6850 MIDI board */
+ device.option_add("zipdrive", A2BUS_ZIPDRIVE); /* ZIP Technologies IDE card */
+ device.option_add("echoiiplus", A2BUS_ECHOPLUS); /* Street Electronics Echo Plus (Echo II + Mockingboard clone) */
+ device.option_add("scsi", A2BUS_SCSI); /* Apple II SCSI Card */
+ device.option_add("applicard", A2BUS_APPLICARD); /* PCPI Applicard */
+ device.option_add("aesms", A2BUS_AESMS); /* Applied Engineering Super Music Synthesizer */
+ device.option_add("ultraterm", A2BUS_ULTRATERM); /* Videx UltraTerm (original) */
+ device.option_add("ultratermenh", A2BUS_ULTRATERMENH); /* Videx UltraTerm (enhanced //e) */
+ device.option_add("aevm80", A2BUS_AEVIEWMASTER80); /* Applied Engineering ViewMaster 80 */
+ device.option_add("parallel", A2BUS_PIC); /* Apple Parallel Interface Card */
+ device.option_add("corvus", A2BUS_CORVUS); /* Corvus flat-cable HDD interface (see notes in a2corvus.c) */
+ device.option_add("mcms1", A2BUS_MCMS1); /* Mountain Computer Music System, card 1 of 2 */
+ device.option_add("mcms2", A2BUS_MCMS2); /* Mountain Computer Music System, card 2 of 2. must be in card 1's slot + 1! */
+ device.option_add("dx1", A2BUS_DX1); /* Decillonix DX-1 sampler card */
+ device.option_add("tm2ho", A2BUS_TIMEMASTERHO); /* Applied Engineering TimeMaster II H.O. */
+ device.option_add("mouse", A2BUS_MOUSE); /* Apple II Mouse Card */
+ device.option_add("ezcgi", A2BUS_EZCGI); /* E-Z Color Graphics Interface */
+ device.option_add("ezcgi9938", A2BUS_EZCGI_9938); /* E-Z Color Graphics Interface (TMS9938) */
+ device.option_add("ezcgi9958", A2BUS_EZCGI_9958); /* E-Z Color Graphics Interface (TMS9958) */
+// device.option_add("magicmusician", A2BUS_MAGICMUSICIAN); /* Magic Musician Card */
+ device.option_add("pcxport", A2BUS_PCXPORTER); /* Applied Engineering PC Transporter */
+ device.option_add("ssprite", A2BUS_SSPRITE); /* Synetix SuperSprite Board */
+ device.option_add("ssbapple", A2BUS_SSBAPPLE); /* SSB Apple speech board */
+ device.option_add("twarp", A2BUS_TRANSWARP); /* AE TransWarp accelerator */
+}
+
+static void apple2eaux_cards(device_slot_interface &device)
+{
+ device.option_add("std80", A2EAUX_STD80COL); /* Apple IIe Standard 80 Column Card */
+ device.option_add("ext80", A2EAUX_EXT80COL); /* Apple IIe Extended 80 Column Card */
+ device.option_add("rw3", A2EAUX_RAMWORKS3); /* Applied Engineering RamWorks III */
+}
MACHINE_CONFIG_START(apple2e_state::apple2e)
/* basic machine hardware */
diff --git a/src/mame/drivers/apple2gs.cpp b/src/mame/drivers/apple2gs.cpp
index 47eb5e98518..5d47280fabe 100644
--- a/src/mame/drivers/apple2gs.cpp
+++ b/src/mame/drivers/apple2gs.cpp
@@ -286,31 +286,32 @@ WRITE_LINE_MEMBER(apple2gs_state::a2bus_inh_w)
apple2_update_memory();
}
-static SLOT_INTERFACE_START(apple2_cards)
- SLOT_INTERFACE("diskii", A2BUS_DISKII) /* Disk II Controller Card */
- SLOT_INTERFACE("mockingboard", A2BUS_MOCKINGBOARD) /* Sweet Micro Systems Mockingboard */
- SLOT_INTERFACE("phasor", A2BUS_PHASOR) /* Applied Engineering Phasor */
- SLOT_INTERFACE("cffa2", A2BUS_CFFA2) /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 65C02/65816 firmware */
- SLOT_INTERFACE("cffa202", A2BUS_CFFA2_6502) /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 6502 firmware */
- SLOT_INTERFACE("memexp", A2BUS_MEMEXP) /* Apple II Memory Expansion Card */
- SLOT_INTERFACE("ramfactor", A2BUS_RAMFACTOR) /* Applied Engineering RamFactor */
- SLOT_INTERFACE("thclock", A2BUS_THUNDERCLOCK) /* ThunderWare ThunderClock Plus */
- SLOT_INTERFACE("ssc", A2BUS_SSC) /* Apple Super Serial Card */
- SLOT_INTERFACE("sam", A2BUS_SAM) /* SAM Software Automated Mouth (8-bit DAC + speaker) */
- SLOT_INTERFACE("alfam2", A2BUS_ALFAM2) /* ALF Apple Music II */
- SLOT_INTERFACE("echoii", A2BUS_ECHOII) /* Street Electronics Echo II */
- SLOT_INTERFACE("arcbd", A2BUS_ARCADEBOARD) /* Third Millenium Engineering Arcade Board */
- SLOT_INTERFACE("midi", A2BUS_MIDI) /* Generic 6840+6850 MIDI board */
- SLOT_INTERFACE("vulcan", A2BUS_VULCAN) /* AE Vulcan IDE card */
- SLOT_INTERFACE("vulcangold", A2BUS_VULCANGOLD) /* AE Vulcan Gold IDE card */
- SLOT_INTERFACE("zipdrive", A2BUS_ZIPDRIVE) /* ZIP Technologies IDE card */
- SLOT_INTERFACE("echoiiplus", A2BUS_ECHOPLUS) /* Street Electronics Echo Plus (Echo II + Mockingboard clone) */
-// SLOT_INTERFACE("mdturbo", A2BUS_UDRIVE_TURBO) /* ///SHH Systeme MicroDrive Turbo IDE card */
-
-// SLOT_INTERFACE("softcard", A2BUS_SOFTCARD) /* Microsoft SoftCard */ // appears not to be IIgs compatible?
- SLOT_INTERFACE("scsi", A2BUS_SCSI) /* Apple II SCSI Card */
- SLOT_INTERFACE("hsscsi", A2BUS_HSSCSI) /* Apple II High-Speed SCSI Card */
-SLOT_INTERFACE_END
+static void apple2_cards(device_slot_interface &device)
+{
+ device.option_add("diskii", A2BUS_DISKII); /* Disk II Controller Card */
+ device.option_add("mockingboard", A2BUS_MOCKINGBOARD); /* Sweet Micro Systems Mockingboard */
+ device.option_add("phasor", A2BUS_PHASOR); /* Applied Engineering Phasor */
+ device.option_add("cffa2", A2BUS_CFFA2); /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 65C02/65816 firmware */
+ device.option_add("cffa202", A2BUS_CFFA2_6502); /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 6502 firmware */
+ device.option_add("memexp", A2BUS_MEMEXP); /* Apple II Memory Expansion Card */
+ device.option_add("ramfactor", A2BUS_RAMFACTOR); /* Applied Engineering RamFactor */
+ device.option_add("thclock", A2BUS_THUNDERCLOCK); /* ThunderWare ThunderClock Plus */
+ device.option_add("ssc", A2BUS_SSC); /* Apple Super Serial Card */
+ device.option_add("sam", A2BUS_SAM); /* SAM Software Automated Mouth (8-bit DAC + speaker) */
+ device.option_add("alfam2", A2BUS_ALFAM2); /* ALF Apple Music II */
+ device.option_add("echoii", A2BUS_ECHOII); /* Street Electronics Echo II */
+ device.option_add("arcbd", A2BUS_ARCADEBOARD); /* Third Millenium Engineering Arcade Board */
+ device.option_add("midi", A2BUS_MIDI); /* Generic 6840+6850 MIDI board */
+ device.option_add("vulcan", A2BUS_VULCAN); /* AE Vulcan IDE card */
+ device.option_add("vulcangold", A2BUS_VULCANGOLD); /* AE Vulcan Gold IDE card */
+ device.option_add("zipdrive", A2BUS_ZIPDRIVE); /* ZIP Technologies IDE card */
+ device.option_add("echoiiplus", A2BUS_ECHOPLUS); /* Street Electronics Echo Plus (Echo II + Mockingboard clone) */
+// device.option_add("mdturbo", A2BUS_UDRIVE_TURBO); /* ///SHH Systeme MicroDrive Turbo IDE card */
+
+// device.option_add("softcard", A2BUS_SOFTCARD); /* Microsoft SoftCard */ // appears not to be IIgs compatible?
+ device.option_add("scsi", A2BUS_SCSI); /* Apple II SCSI Card */
+ device.option_add("hsscsi", A2BUS_HSSCSI); /* Apple II High-Speed SCSI Card */
+}
MACHINE_CONFIG_START(apple2gs_state::apple2gs)
/* basic machine hardware */
diff --git a/src/mame/drivers/apple3.cpp b/src/mame/drivers/apple3.cpp
index 98469e157ef..77c2cd75887 100644
--- a/src/mame/drivers/apple3.cpp
+++ b/src/mame/drivers/apple3.cpp
@@ -36,16 +36,18 @@ void apple3_state::apple3_map(address_map &map)
map(0x0000, 0xffff).rw(this, FUNC(apple3_state::apple3_memory_r), FUNC(apple3_state::apple3_memory_w));
}
-static SLOT_INTERFACE_START(apple3_cards)
- SLOT_INTERFACE("cffa2", A2BUS_CFFA2_6502) /* CFFA2000 Compact Flash for Apple II (www.dreher.net), 6502 firmware */
- SLOT_INTERFACE("applicard", A2BUS_APPLICARD) /* PCPI Applicard */
- SLOT_INTERFACE("thclock", A2BUS_THUNDERCLOCK) /* ThunderWare ThunderClock Plus - driver assumes slot 2 by default */
- SLOT_INTERFACE("mouse", A2BUS_MOUSE) /* Apple II Mouse Card */
-SLOT_INTERFACE_END
+static void apple3_cards(device_slot_interface &device)
+{
+ device.option_add("cffa2", A2BUS_CFFA2_6502); // CFFA2000 Compact Flash for Apple II (www.dreher.net), 6502 firmware
+ device.option_add("applicard", A2BUS_APPLICARD); // PCPI Applicard
+ device.option_add("thclock", A2BUS_THUNDERCLOCK); // ThunderWare ThunderClock Plus - driver assumes slot 2 by default
+ device.option_add("mouse", A2BUS_MOUSE); // Apple II Mouse Card
+}
-static SLOT_INTERFACE_START( a3_floppies )
- SLOT_INTERFACE( "525", FLOPPY_525_SD )
-SLOT_INTERFACE_END
+static void a3_floppies(device_slot_interface &device)
+{
+ device.option_add("525", FLOPPY_525_SD);
+}
FLOPPY_FORMATS_MEMBER( apple3_state::floppy_formats )
FLOPPY_A216S_FORMAT, FLOPPY_RWTS18_FORMAT, FLOPPY_EDD_FORMAT, FLOPPY_WOZ_FORMAT
@@ -148,8 +150,8 @@ MACHINE_CONFIG_START(apple3_state::apple3)
MCFG_SOUND_ADD("bell", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99)
MCFG_SOUND_ADD("dac", DAC_6BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.125) // 6522.b5(pb0-pb5) + 320k,160k,80k,40k,20k,10k
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "bell", 1.0, DAC_VREF_POS_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "bell", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_TIMER_DRIVER_ADD_PERIODIC("c040", apple3_state, apple3_c040_tick, attotime::from_hz(2000))
diff --git a/src/mame/drivers/applix.cpp b/src/mame/drivers/applix.cpp
index 94634aabc4d..d4f95115a9e 100644
--- a/src/mame/drivers/applix.cpp
+++ b/src/mame/drivers/applix.cpp
@@ -743,9 +743,10 @@ FLOPPY_FORMATS_MEMBER( applix_state::floppy_formats )
FLOPPY_APPLIX_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( applix_floppies )
- SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
-SLOT_INTERFACE_END
+static void applix_floppies(device_slot_interface &device)
+{
+ device.option_add("35dd", FLOPPY_35_DD);
+}
PALETTE_INIT_MEMBER(applix_state, applix)
@@ -873,8 +874,8 @@ MACHINE_CONFIG_START(applix_state::applix)
MCFG_SOUND_ADD("ldac", DAC0800, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // 74ls374.u20 + dac0800.u21 + 4052.u23
MCFG_SOUND_ADD("rdac", DAC0800, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // 74ls374.u20 + dac0800.u21 + 4052.u23
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
diff --git a/src/mame/drivers/apricot.cpp b/src/mame/drivers/apricot.cpp
index 16cc6d7d16d..3ad783046ce 100644
--- a/src/mame/drivers/apricot.cpp
+++ b/src/mame/drivers/apricot.cpp
@@ -250,10 +250,11 @@ FLOPPY_FORMATS_MEMBER( apricot_state::floppy_formats )
FLOPPY_APRIDISK_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( apricot_floppies )
- SLOT_INTERFACE("d31v", SONY_OA_D31V)
- SLOT_INTERFACE("d32w", SONY_OA_D32W)
-SLOT_INTERFACE_END
+static void apricot_floppies(device_slot_interface &device)
+{
+ device.option_add("d31v", SONY_OA_D31V);
+ device.option_add("d32w", SONY_OA_D32W);
+}
//**************************************************************************
diff --git a/src/mame/drivers/apricotf.cpp b/src/mame/drivers/apricotf.cpp
index 6f43e2162bc..cc29c5e5784 100644
--- a/src/mame/drivers/apricotf.cpp
+++ b/src/mame/drivers/apricotf.cpp
@@ -319,10 +319,11 @@ FLOPPY_FORMATS_MEMBER( f1_state::floppy_formats )
FLOPPY_APRIDISK_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( apricotf_floppies )
- SLOT_INTERFACE( "d31v", SONY_OA_D31V )
- SLOT_INTERFACE( "d32w", SONY_OA_D32W )
-SLOT_INTERFACE_END
+void apricotf_floppies(device_slot_interface &device)
+{
+ device.option_add("d31v", SONY_OA_D31V);
+ device.option_add("d32w", SONY_OA_D32W);
+}
diff --git a/src/mame/drivers/apricotp.cpp b/src/mame/drivers/apricotp.cpp
index e9bf1dd4d44..c1868990dcb 100644
--- a/src/mame/drivers/apricotp.cpp
+++ b/src/mame/drivers/apricotp.cpp
@@ -574,9 +574,10 @@ FLOPPY_FORMATS_MEMBER( fp_state::floppy_formats )
FLOPPY_APRIDISK_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( fp_floppies )
- SLOT_INTERFACE("d32w", SONY_OA_D32W)
-SLOT_INTERFACE_END
+static void fp_floppies(device_slot_interface &device)
+{
+ device.option_add("d32w", SONY_OA_D32W);
+}
//-------------------------------------------------
diff --git a/src/mame/drivers/arcadia.cpp b/src/mame/drivers/arcadia.cpp
index 2236e88c172..1a545ea4db6 100644
--- a/src/mame/drivers/arcadia.cpp
+++ b/src/mame/drivers/arcadia.cpp
@@ -464,10 +464,11 @@ void arcadia_state::machine_start()
}
}
-static SLOT_INTERFACE_START(arcadia_cart)
- SLOT_INTERFACE_INTERNAL("std", ARCADIA_ROM_STD)
- SLOT_INTERFACE_INTERNAL("golf", ARCADIA_ROM_GOLF)
-SLOT_INTERFACE_END
+static void arcadia_cart(device_slot_interface &device)
+{
+ device.option_add_internal("std", ARCADIA_ROM_STD);
+ device.option_add_internal("golf", ARCADIA_ROM_GOLF);
+}
MACHINE_CONFIG_START(arcadia_state::arcadia)
diff --git a/src/mame/drivers/aristmk5.cpp b/src/mame/drivers/aristmk5.cpp
index 06eb7267f0e..aa6a9e8952f 100644
--- a/src/mame/drivers/aristmk5.cpp
+++ b/src/mame/drivers/aristmk5.cpp
@@ -2101,14 +2101,14 @@ MACHINE_CONFIG_START(aristmk5_state::aristmk5)
MCFG_SOUND_ADD("dac6", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.1) // unknown DAC
MCFG_SOUND_ADD("dac7", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.1) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac0", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac3", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac4", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac5", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac6", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac7", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac0", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac3", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac4", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac5", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac6", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac7", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/armedf.cpp b/src/mame/drivers/armedf.cpp
index efaac40124e..4fc0769878b 100644
--- a/src/mame/drivers/armedf.cpp
+++ b/src/mame/drivers/armedf.cpp
@@ -1266,8 +1266,8 @@ MACHINE_CONFIG_START(armedf_state::terraf_sound)
MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.8) // 10-pin SIP with 74HC374P latch
MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.8) // 10-pin SIP with 74HC374P latch
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(armedf_state::terraf)
@@ -1353,8 +1353,8 @@ MACHINE_CONFIG_START(armedf_state::terrafjb)
MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.8) // unknown DAC
MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.8) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(armedf_state::terrafb)
@@ -1440,8 +1440,8 @@ MACHINE_CONFIG_START(armedf_state::armedf)
MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(armedf_state::cclimbr2)
@@ -1490,8 +1490,8 @@ MACHINE_CONFIG_START(armedf_state::cclimbr2)
MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC
MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(armedf_state::legion)
@@ -1540,8 +1540,8 @@ MACHINE_CONFIG_START(armedf_state::legion)
MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // 10-pin SIP with 74HC374P latch
MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // 10-pin SIP with 74HC374P latch
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(armedf_state::legionjb)
@@ -1588,8 +1588,8 @@ MACHINE_CONFIG_START(armedf_state::legionjb)
MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC
MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(bigfghtr_state::bigfghtr)
diff --git a/src/mame/drivers/asst128.cpp b/src/mame/drivers/asst128.cpp
index 3e73e3ae57e..32dfc693bb1 100644
--- a/src/mame/drivers/asst128.cpp
+++ b/src/mame/drivers/asst128.cpp
@@ -86,9 +86,10 @@ void asst128_state::asst128_io(address_map &map)
map(0x03f4, 0x03f5).m("fdc:upd765", FUNC(upd765a_device::map));
}
-static SLOT_INTERFACE_START( asst128_floppies )
- SLOT_INTERFACE( "525ssqd", FLOPPY_525_SSQD )
-SLOT_INTERFACE_END
+static void asst128_floppies(device_slot_interface &device)
+{
+ device.option_add("525ssqd", FLOPPY_525_SSQD);
+}
FLOPPY_FORMATS_MEMBER( asst128_state::asst128_formats )
FLOPPY_ASST128_FORMAT
diff --git a/src/mame/drivers/astrohome.cpp b/src/mame/drivers/astrohome.cpp
index fcec6699453..e12c1ea1886 100644
--- a/src/mame/drivers/astrohome.cpp
+++ b/src/mame/drivers/astrohome.cpp
@@ -179,20 +179,22 @@ INPUT_PORTS_END
*
*************************************/
-static SLOT_INTERFACE_START(astrocade_cart)
- SLOT_INTERFACE_INTERNAL("rom", ASTROCADE_ROM_STD)
- SLOT_INTERFACE_INTERNAL("rom_256k", ASTROCADE_ROM_256K)
- SLOT_INTERFACE_INTERNAL("rom_512k", ASTROCADE_ROM_512K)
-SLOT_INTERFACE_END
-
-static SLOT_INTERFACE_START(astrocade_exp)
- SLOT_INTERFACE("blue_ram_4k", ASTROCADE_BLUERAM_4K)
- SLOT_INTERFACE("blue_ram_16k", ASTROCADE_BLUERAM_16K)
- SLOT_INTERFACE("blue_ram_32k", ASTROCADE_BLUERAM_32K)
- SLOT_INTERFACE("viper_sys1", ASTROCADE_VIPER_SYS1)
- SLOT_INTERFACE("lil_white_ram", ASTROCADE_WHITERAM)
- SLOT_INTERFACE("rl64_ram", ASTROCADE_RL64RAM)
-SLOT_INTERFACE_END
+static void astrocade_cart(device_slot_interface &device)
+{
+ device.option_add_internal("rom", ASTROCADE_ROM_STD);
+ device.option_add_internal("rom_256k", ASTROCADE_ROM_256K);
+ device.option_add_internal("rom_512k", ASTROCADE_ROM_512K);
+}
+
+static void astrocade_exp(device_slot_interface &device)
+{
+ device.option_add("blue_ram_4k", ASTROCADE_BLUERAM_4K);
+ device.option_add("blue_ram_16k", ASTROCADE_BLUERAM_16K);
+ device.option_add("blue_ram_32k", ASTROCADE_BLUERAM_32K);
+ device.option_add("viper_sys1", ASTROCADE_VIPER_SYS1);
+ device.option_add("lil_white_ram", ASTROCADE_WHITERAM);
+ device.option_add("rl64_ram", ASTROCADE_RL64RAM);
+}
MACHINE_CONFIG_START(astrocde_mess_state::astrocde)
diff --git a/src/mame/drivers/at.cpp b/src/mame/drivers/at.cpp
index f1d0d71796d..ff7042251be 100644
--- a/src/mame/drivers/at.cpp
+++ b/src/mame/drivers/at.cpp
@@ -416,9 +416,10 @@ void at_state::cfg_single_360K(device_t *device)
dynamic_cast<device_slot_interface &>(*device->subdevice("fdc:1")).set_default_option("");
}
-static SLOT_INTERFACE_START( pci_devices )
- SLOT_INTERFACE_INTERNAL("vt82c505", VT82C505)
-SLOT_INTERFACE_END
+static void pci_devices(device_slot_interface &device)
+{
+ device.option_add_internal("vt82c505", VT82C505);
+}
MACHINE_CONFIG_START(at_state::ibm5170)
/* basic machine hardware */
diff --git a/src/mame/drivers/atari400.cpp b/src/mame/drivers/atari400.cpp
index d179d64c704..a30a07a9ec1 100644
--- a/src/mame/drivers/atari400.cpp
+++ b/src/mame/drivers/atari400.cpp
@@ -2154,7 +2154,7 @@ MACHINE_CONFIG_START(a400_state::atari_common)
atari_common_nodac(config);
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.03)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
diff --git a/src/mame/drivers/atari_s1.cpp b/src/mame/drivers/atari_s1.cpp
index c0f8595e1b2..310ee762156 100644
--- a/src/mame/drivers/atari_s1.cpp
+++ b/src/mame/drivers/atari_s1.cpp
@@ -461,7 +461,7 @@ MACHINE_CONFIG_START(atari_s1_state::atari_s1)
MCFG_SOUND_ADD("dac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
/* Video */
MCFG_DEFAULT_LAYOUT(layout_atari_s1)
diff --git a/src/mame/drivers/atari_s2.cpp b/src/mame/drivers/atari_s2.cpp
index 9c176aaaea9..ca4c6c9d898 100644
--- a/src/mame/drivers/atari_s2.cpp
+++ b/src/mame/drivers/atari_s2.cpp
@@ -494,8 +494,8 @@ MACHINE_CONFIG_START(atari_s2_state::atari_s2)
MCFG_SOUND_ADD("dac", DAC_4BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.15) // r23-r26 (68k,33k,18k,8.2k)
MCFG_SOUND_ADD("dac1", DAC_3BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.15) // r18-r20 (100k,47k,100k)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
/* Video */
MCFG_DEFAULT_LAYOUT(layout_atari_s2)
diff --git a/src/mame/drivers/atarist.cpp b/src/mame/drivers/atarist.cpp
index 6742aa2dd3b..2371d953ea0 100644
--- a/src/mame/drivers/atarist.cpp
+++ b/src/mame/drivers/atarist.cpp
@@ -2015,9 +2015,10 @@ FLOPPY_FORMATS_MEMBER( st_state::floppy_formats )
FLOPPY_ST_FORMAT, FLOPPY_MSA_FORMAT, FLOPPY_PASTI_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( atari_floppies )
- SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
-SLOT_INTERFACE_END
+static void atari_floppies(device_slot_interface &device)
+{
+ device.option_add("35dd", FLOPPY_35_DD);
+}
diff --git a/src/mame/drivers/atlantis.cpp b/src/mame/drivers/atlantis.cpp
index 5954dd949ce..727802eaf2b 100644
--- a/src/mame/drivers/atlantis.cpp
+++ b/src/mame/drivers/atlantis.cpp
@@ -880,7 +880,7 @@ MACHINE_CONFIG_START(atlantis_state::mwskins)
MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart1", ins8250_uart_device, dsr_w))
MCFG_RS232_RI_HANDLER(DEVWRITELINE("uart1", ins8250_uart_device, ri_w))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart1", ins8250_uart_device, cts_w))
- //MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("com1", mwskins_comm)
+ //MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("com1", mwskins_comm)
MCFG_RS232_PORT_ADD("com2", default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart2", ins8250_uart_device, rx_w))
diff --git a/src/mame/drivers/atom.cpp b/src/mame/drivers/atom.cpp
index c1237b8bc80..acf570a9b41 100644
--- a/src/mame/drivers/atom.cpp
+++ b/src/mame/drivers/atom.cpp
@@ -695,9 +695,10 @@ image_init_result atom_state::load_cart(device_image_interface &image, generic_s
return image_init_result::PASS;
}
-static SLOT_INTERFACE_START(atom_floppies)
- SLOT_INTERFACE("525sssd", FLOPPY_525_SSSD)
-SLOT_INTERFACE_END
+static void atom_floppies(device_slot_interface &device)
+{
+ device.option_add("525sssd", FLOPPY_525_SSSD);
+}
FLOPPY_FORMATS_MEMBER(atom_state::floppy_formats)
FLOPPY_ATOM_FORMAT
diff --git a/src/mame/drivers/atpci.cpp b/src/mame/drivers/atpci.cpp
index 1024b81bb43..3d76c709dff 100644
--- a/src/mame/drivers/atpci.cpp
+++ b/src/mame/drivers/atpci.cpp
@@ -72,15 +72,17 @@ void at586_state::superio_config(device_t *device)
}
-static SLOT_INTERFACE_START( isa_internal_devices )
- SLOT_INTERFACE("fdc37c93x", FDC37C93X)
-SLOT_INTERFACE_END
-
-static SLOT_INTERFACE_START( pci_devices )
- SLOT_INTERFACE_INTERNAL("i82439tx", I82439TX)
- SLOT_INTERFACE_INTERNAL("i82371ab", I82371AB)
- SLOT_INTERFACE_INTERNAL("i82371sb", I82371SB)
-SLOT_INTERFACE_END
+static void isa_internal_devices(device_slot_interface &device)
+{
+ device.option_add("fdc37c93x", FDC37C93X);
+}
+
+static void pci_devices(device_slot_interface &device)
+{
+ device.option_add_internal("i82439tx", I82439TX);
+ device.option_add_internal("i82371ab", I82371AB);
+ device.option_add_internal("i82371sb", I82371SB);
+}
void at586_state::at586_map(address_map &map)
{
diff --git a/src/mame/drivers/attache.cpp b/src/mame/drivers/attache.cpp
index b2b85861db9..dcbcee180ee 100644
--- a/src/mame/drivers/attache.cpp
+++ b/src/mame/drivers/attache.cpp
@@ -1049,9 +1049,10 @@ static const z80_daisy_config attache_daisy_chain[] =
{ nullptr }
};
-static SLOT_INTERFACE_START( attache_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void attache_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
void attache_state::driver_start()
{
diff --git a/src/mame/drivers/aussiebyte.cpp b/src/mame/drivers/aussiebyte.cpp
index db42528aeb3..d0633d0856d 100644
--- a/src/mame/drivers/aussiebyte.cpp
+++ b/src/mame/drivers/aussiebyte.cpp
@@ -419,9 +419,10 @@ WRITE_LINE_MEMBER( aussiebyte_state::fdc_drq_w )
m_dma->rdy_w(state);
}
-static SLOT_INTERFACE_START( aussiebyte_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void aussiebyte_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
/***********************************************************
diff --git a/src/mame/drivers/ax20.cpp b/src/mame/drivers/ax20.cpp
index b79cf78819d..278c3229649 100644
--- a/src/mame/drivers/ax20.cpp
+++ b/src/mame/drivers/ax20.cpp
@@ -122,9 +122,10 @@ static GFXDECODE_START( ax20 )
GFXDECODE_ENTRY( "chargen", 0x0000, ax20_charlayout, 0, 1 )
GFXDECODE_END
-static SLOT_INTERFACE_START( ax20_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void ax20_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
MACHINE_CONFIG_START(ax20_state::ax20)
/* basic machine hardware */
diff --git a/src/mame/drivers/b2m.cpp b/src/mame/drivers/b2m.cpp
index bd2c10d023e..c7bf2eea000 100644
--- a/src/mame/drivers/b2m.cpp
+++ b/src/mame/drivers/b2m.cpp
@@ -182,9 +182,10 @@ FLOPPY_FORMATS_MEMBER( b2m_state::b2m_floppy_formats )
FLOPPY_SMX_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( b2m_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void b2m_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
/* Machine driver */
diff --git a/src/mame/drivers/bbc.cpp b/src/mame/drivers/bbc.cpp
index 65d4859d90d..dec458a817f 100644
--- a/src/mame/drivers/bbc.cpp
+++ b/src/mame/drivers/bbc.cpp
@@ -764,17 +764,19 @@ FLOPPY_FORMATS_MEMBER( bbc_state::floppy_formats_bbc )
FLOPPY_PC_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( bbc_floppies_525 )
- SLOT_INTERFACE("525sssd", FLOPPY_525_SSSD)
- SLOT_INTERFACE("525sd", FLOPPY_525_SD)
- SLOT_INTERFACE("525ssdd", FLOPPY_525_SSDD)
- SLOT_INTERFACE("525dd", FLOPPY_525_DD)
- SLOT_INTERFACE("525qd", FLOPPY_525_QD)
-SLOT_INTERFACE_END
-
-static SLOT_INTERFACE_START( bbc_floppies_35 )
- SLOT_INTERFACE("35dd", FLOPPY_35_DD)
-SLOT_INTERFACE_END
+static void bbc_floppies_525(device_slot_interface &device)
+{
+ device.option_add("525sssd", FLOPPY_525_SSSD);
+ device.option_add("525sd", FLOPPY_525_SD);
+ device.option_add("525ssdd", FLOPPY_525_SSDD);
+ device.option_add("525dd", FLOPPY_525_DD);
+ device.option_add("525qd", FLOPPY_525_QD);
+}
+
+static void bbc_floppies_35(device_slot_interface &device)
+{
+ device.option_add("35dd", FLOPPY_35_DD);
+}
static const char *const bbc_sample_names[] =
diff --git a/src/mame/drivers/bebox.cpp b/src/mame/drivers/bebox.cpp
index a43fa382d5b..2e51eada11c 100644
--- a/src/mame/drivers/bebox.cpp
+++ b/src/mame/drivers/bebox.cpp
@@ -116,9 +116,10 @@ FLOPPY_FORMATS_MEMBER( bebox_state::floppy_formats )
FLOPPY_PC_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( bebox_floppies )
- SLOT_INTERFACE( "35hd", FLOPPY_35_HD )
-SLOT_INTERFACE_END
+static void bebox_floppies(device_slot_interface &device)
+{
+ device.option_add("35hd", FLOPPY_35_HD);
+}
void bebox_state::mpc105_config(device_t *device)
{
@@ -138,10 +139,11 @@ WRITE_LINE_MEMBER(bebox_state::bebox_keyboard_interrupt)
m_pic8259_1->ir1_w(state);
}
-static SLOT_INTERFACE_START( pci_devices )
- SLOT_INTERFACE_INTERNAL("mpc105", MPC105)
- SLOT_INTERFACE("cirrus", PCI_CIRRUS_SVGA)
-SLOT_INTERFACE_END
+static void pci_devices(device_slot_interface &device)
+{
+ device.option_add("mpc105", MPC105);
+ device.option_add("cirrus", PCI_CIRRUS_SVGA);
+}
MACHINE_CONFIG_START(bebox_state::bebox)
/* basic machine hardware */
diff --git a/src/mame/drivers/bigbord2.cpp b/src/mame/drivers/bigbord2.cpp
index 22f1ec6b0e1..f6efc16d38b 100644
--- a/src/mame/drivers/bigbord2.cpp
+++ b/src/mame/drivers/bigbord2.cpp
@@ -403,9 +403,10 @@ static const z80_daisy_config daisy_chain[] =
/* WD1793 Interface */
-static SLOT_INTERFACE_START( bigbord2_floppies )
- SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD )
-SLOT_INTERFACE_END
+static void bigbord2_floppies(device_slot_interface &device)
+{
+ device.option_add("8dsdd", FLOPPY_8_DSDD);
+}
/* Machine Initialization */
diff --git a/src/mame/drivers/bigevglf.cpp b/src/mame/drivers/bigevglf.cpp
index e5fc7fc70c0..bd4f5d296a3 100644
--- a/src/mame/drivers/bigevglf.cpp
+++ b/src/mame/drivers/bigevglf.cpp
@@ -443,7 +443,7 @@ MACHINE_CONFIG_START(bigevglf_state::bigevglf)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mame/drivers/binbug.cpp b/src/mame/drivers/binbug.cpp
index 4673efec2c1..d5d2871ce2a 100644
--- a/src/mame/drivers/binbug.cpp
+++ b/src/mame/drivers/binbug.cpp
@@ -320,7 +320,7 @@ MACHINE_CONFIG_START(binbug_state::binbug)
/* Keyboard */
MCFG_RS232_PORT_ADD("keyboard", default_rs232_devices, "keyboard")
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("keyboard", keyboard)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", keyboard)
/* Cassette */
MCFG_CASSETTE_ADD( "cassette" )
diff --git a/src/mame/drivers/bitgraph.cpp b/src/mame/drivers/bitgraph.cpp
index 9e956a85930..c9c28465ea0 100644
--- a/src/mame/drivers/bitgraph.cpp
+++ b/src/mame/drivers/bitgraph.cpp
@@ -522,7 +522,7 @@ MACHINE_CONFIG_START(bitgraph_state::bg_motherboard)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(ACIA1_TAG, acia6850_device, write_rxd))
MCFG_RS232_DCD_HANDLER(DEVWRITELINE(ACIA1_TAG, acia6850_device, write_dcd))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE(ACIA1_TAG, acia6850_device, write_cts))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("keyboard", kbd_rs232_defaults)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", kbd_rs232_defaults)
MCFG_DEVICE_ADD(ACIA2_TAG, ACIA6850, 0)
MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE(RS232_D_TAG, rs232_port_device, write_txd))
diff --git a/src/mame/drivers/bking.cpp b/src/mame/drivers/bking.cpp
index 68507be9584..3bc2c610757 100644
--- a/src/mame/drivers/bking.cpp
+++ b/src/mame/drivers/bking.cpp
@@ -440,7 +440,7 @@ MACHINE_CONFIG_START(bking_state::bking)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(bking_state::bking3)
diff --git a/src/mame/drivers/bml3.cpp b/src/mame/drivers/bml3.cpp
index 1cb795549ae..5a3824e13c8 100644
--- a/src/mame/drivers/bml3.cpp
+++ b/src/mame/drivers/bml3.cpp
@@ -960,11 +960,12 @@ static const ay8910_interface ay8910_config =
};
#endif
-static SLOT_INTERFACE_START(bml3_cards)
- SLOT_INTERFACE("bml3mp1802", BML3BUS_MP1802) /* MP-1802 Floppy Controller Card */
- SLOT_INTERFACE("bml3mp1805", BML3BUS_MP1805) /* MP-1805 Floppy Controller Card */
- SLOT_INTERFACE("bml3kanji", BML3BUS_KANJI)
-SLOT_INTERFACE_END
+static void bml3_cards(device_slot_interface &device)
+{
+ device.option_add("bml3mp1802", BML3BUS_MP1802); // MP-1802 Floppy Controller Card
+ device.option_add("bml3mp1805", BML3BUS_MP1805); // MP-1805 Floppy Controller Card
+ device.option_add("bml3kanji", BML3BUS_KANJI);
+}
MACHINE_CONFIG_START(bml3_state::bml3_common)
diff --git a/src/mame/drivers/btime.cpp b/src/mame/drivers/btime.cpp
index 61deac62966..d156ae222fc 100644
--- a/src/mame/drivers/btime.cpp
+++ b/src/mame/drivers/btime.cpp
@@ -1315,16 +1315,16 @@ MACHINE_CONFIG_START(btime_state::btime)
MCFG_AY8910_OUTPUT_TYPE(AY8910_DISCRETE_OUTPUT)
MCFG_AY8910_RES_LOADS(RES_K(5), RES_K(5), RES_K(5))
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(btime_state, ay_audio_nmi_enable_w))
- MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 0)
- MCFG_SOUND_ROUTE_EX(1, "discrete", 1.0, 1)
- MCFG_SOUND_ROUTE_EX(2, "discrete", 1.0, 2)
+ MCFG_SOUND_ROUTE(0, "discrete", 1.0, 0)
+ MCFG_SOUND_ROUTE(1, "discrete", 1.0, 1)
+ MCFG_SOUND_ROUTE(2, "discrete", 1.0, 2)
MCFG_SOUND_ADD("ay2", AY8910, HCLK2)
MCFG_AY8910_OUTPUT_TYPE(AY8910_DISCRETE_OUTPUT)
MCFG_AY8910_RES_LOADS(RES_K(1), RES_K(5), RES_K(5))
- MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 3)
- MCFG_SOUND_ROUTE_EX(1, "discrete", 1.0, 4)
- MCFG_SOUND_ROUTE_EX(2, "discrete", 1.0, 5)
+ MCFG_SOUND_ROUTE(0, "discrete", 1.0, 3)
+ MCFG_SOUND_ROUTE(1, "discrete", 1.0, 4)
+ MCFG_SOUND_ROUTE(2, "discrete", 1.0, 5)
MCFG_SOUND_ADD("discrete", DISCRETE, 0)
MCFG_DISCRETE_INTF(btime_sound)
diff --git a/src/mame/drivers/bullet.cpp b/src/mame/drivers/bullet.cpp
index 62f0b8d91b9..19b8bffaae2 100644
--- a/src/mame/drivers/bullet.cpp
+++ b/src/mame/drivers/bullet.cpp
@@ -934,20 +934,23 @@ WRITE_LINE_MEMBER( bulletf_state::cstrb_w )
m_centronics->write_strobe(!state);
}
-static SLOT_INTERFACE_START( bullet_525_floppies )
- SLOT_INTERFACE( "525sd", FLOPPY_525_SD )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void bullet_525_floppies(device_slot_interface &device)
+{
+ device.option_add("525sd", FLOPPY_525_SD);
+ device.option_add("525dd", FLOPPY_525_DD);
+ device.option_add("525qd", FLOPPY_525_QD);
+}
-static SLOT_INTERFACE_START( bullet_8_floppies )
- SLOT_INTERFACE( "8dssd", FLOPPY_8_DSSD )
- SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD )
-SLOT_INTERFACE_END
+static void bullet_8_floppies(device_slot_interface &device)
+{
+ device.option_add("8dssd", FLOPPY_8_DSSD);
+ device.option_add("8dsdd", FLOPPY_8_DSDD);
+}
-static SLOT_INTERFACE_START( bullet_35_floppies )
- SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
-SLOT_INTERFACE_END
+static void bullet_35_floppies(device_slot_interface &device)
+{
+ device.option_add("35dd", FLOPPY_35_DD);
+}
WRITE_LINE_MEMBER( bullet_state::fdc_drq_w )
{
@@ -1165,7 +1168,7 @@ MACHINE_CONFIG_START(bullet_state::bullet)
MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "terminal")
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w))
@@ -1246,7 +1249,7 @@ MACHINE_CONFIG_START(bulletf_state::bulletf)
MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "terminal")
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w))
diff --git a/src/mame/drivers/bw12.cpp b/src/mame/drivers/bw12.cpp
index 02a3b9b00b8..3c1f6dfabaf 100644
--- a/src/mame/drivers/bw12.cpp
+++ b/src/mame/drivers/bw12.cpp
@@ -508,17 +508,19 @@ void bw12_state::machine_reset()
}
}
-static SLOT_INTERFACE_START( bw12_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_SSDD )
-SLOT_INTERFACE_END
+static void bw12_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_SSDD);
+}
FLOPPY_FORMATS_MEMBER( bw12_state::bw12_floppy_formats )
FLOPPY_BW12_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( bw14_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void bw14_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
FLOPPY_FORMATS_MEMBER( bw12_state::bw14_floppy_formats )
FLOPPY_BW12_FORMAT
@@ -571,7 +573,7 @@ MACHINE_CONFIG_START(bw12_state::common)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.125) // ls273.ic5 + mc1408.ic4
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
/* devices */
MCFG_TIMER_DRIVER_ADD(FLOPPY_TIMER_TAG, bw12_state, floppy_motor_off_tick)
diff --git a/src/mame/drivers/bw2.cpp b/src/mame/drivers/bw2.cpp
index 2ca8bb637b0..3a3328c6e4e 100644
--- a/src/mame/drivers/bw2.cpp
+++ b/src/mame/drivers/bw2.cpp
@@ -530,9 +530,10 @@ FLOPPY_FORMATS_MEMBER( bw2_state::floppy_formats )
FLOPPY_BW2_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( bw2_floppies )
- SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) // Teac FD-35
-SLOT_INTERFACE_END
+static void bw2_floppies(device_slot_interface &device)
+{
+ device.option_add("35dd", FLOPPY_35_DD); // Teac FD-35
+}
diff --git a/src/mame/drivers/bwing.cpp b/src/mame/drivers/bwing.cpp
index 519dd648ec8..6dbf809e1bc 100644
--- a/src/mame/drivers/bwing.cpp
+++ b/src/mame/drivers/bwing.cpp
@@ -413,7 +413,7 @@ MACHINE_CONFIG_START(bwing_state::bwing)
MCFG_SOUND_ADD("dac", DAC08, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
//****************************************************************************
diff --git a/src/mame/drivers/byvid.cpp b/src/mame/drivers/byvid.cpp
index d7f742c5017..872f4fec269 100644
--- a/src/mame/drivers/byvid.cpp
+++ b/src/mame/drivers/byvid.cpp
@@ -810,7 +810,7 @@ MACHINE_CONFIG_START(by133_state::babypac)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", ZN429E, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // U32 (Vidiot) or U6 (Cheap Squeak)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SPEAKER_STANDARD_MONO("beee")
MCFG_SOUND_ADD("beeper", BEEP, 600)
diff --git a/src/mame/drivers/c128.cpp b/src/mame/drivers/c128.cpp
index c80eaca0b95..6afdb4147dc 100644
--- a/src/mame/drivers/c128.cpp
+++ b/src/mame/drivers/c128.cpp
@@ -1599,19 +1599,21 @@ WRITE_LINE_MEMBER( c128_state::exp_reset_w )
// SLOT_INTERFACE( c128dcr_iec_devices )
//-------------------------------------------------
-SLOT_INTERFACE_START( c128dcr_iec_devices )
- SLOT_INTERFACE("c1571", C1571)
- SLOT_INTERFACE("c1571cr", C1571CR)
-SLOT_INTERFACE_END
+void c128dcr_iec_devices(device_slot_interface &device)
+{
+ device.option_add("c1571", C1571);
+ device.option_add("c1571cr", C1571CR);
+}
//-------------------------------------------------
// SLOT_INTERFACE( c128d81_iec_devices )
//-------------------------------------------------
-SLOT_INTERFACE_START( c128d81_iec_devices )
- SLOT_INTERFACE("c1563", C1563)
-SLOT_INTERFACE_END
+void c128d81_iec_devices(device_slot_interface &device)
+{
+ device.option_add("c1563", C1563);
+}
diff --git a/src/mame/drivers/c64.cpp b/src/mame/drivers/c64.cpp
index cdc4824d2e7..b9004fb54a1 100644
--- a/src/mame/drivers/c64.cpp
+++ b/src/mame/drivers/c64.cpp
@@ -1242,9 +1242,10 @@ WRITE_LINE_MEMBER( c64_state::exp_reset_w )
// SLOT_INTERFACE( sx1541_iec_devices )
//-------------------------------------------------
-SLOT_INTERFACE_START( sx1541_iec_devices )
- SLOT_INTERFACE("sx1541", SX1541)
-SLOT_INTERFACE_END
+void sx1541_iec_devices(device_slot_interface &device)
+{
+ device.option_add("sx1541", SX1541);
+}
diff --git a/src/mame/drivers/calchase.cpp b/src/mame/drivers/calchase.cpp
index c670680e5b2..c56047b7688 100644
--- a/src/mame/drivers/calchase.cpp
+++ b/src/mame/drivers/calchase.cpp
@@ -705,8 +705,8 @@ MACHINE_CONFIG_START(calchase_state::calchase)
MCFG_SOUND_ADD("ldac", DAC_12BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) // unknown DAC
MCFG_SOUND_ADD("rdac", DAC_12BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(calchase_state::hostinv)
@@ -732,8 +732,8 @@ MACHINE_CONFIG_START(calchase_state::hostinv)
MCFG_SOUND_ADD("ldac", DAC_12BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) // unknown DAC
MCFG_SOUND_ADD("rdac", DAC_12BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/camplynx.cpp b/src/mame/drivers/camplynx.cpp
index ae72292761d..9503e218318 100644
--- a/src/mame/drivers/camplynx.cpp
+++ b/src/mame/drivers/camplynx.cpp
@@ -838,9 +838,10 @@ FLOPPY_FORMATS_MEMBER( camplynx_state::camplynx_floppy_formats )
FLOPPY_CAMPLYNX_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( camplynx_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void camplynx_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
MACHINE_CONFIG_START(camplynx_state::lynx_common)
MCFG_PALETTE_ADD_3BIT_RGB("palette")
@@ -849,7 +850,7 @@ MACHINE_CONFIG_START(camplynx_state::lynx_common)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.375) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.02)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/capbowl.cpp b/src/mame/drivers/capbowl.cpp
index fa7c3a639e9..bd3cb473447 100644
--- a/src/mame/drivers/capbowl.cpp
+++ b/src/mame/drivers/capbowl.cpp
@@ -362,7 +362,7 @@ MACHINE_CONFIG_START(capbowl_state::capbowl)
MCFG_SOUND_ADD("dac", DAC0832, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cc40.cpp b/src/mame/drivers/cc40.cpp
index bcdf399b15b..b57a96815db 100644
--- a/src/mame/drivers/cc40.cpp
+++ b/src/mame/drivers/cc40.cpp
@@ -610,7 +610,7 @@ MACHINE_CONFIG_START(cc40_state::cc40)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
/* cartridge */
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "cc40_cart")
diff --git a/src/mame/drivers/cchasm.cpp b/src/mame/drivers/cchasm.cpp
index da6f86d35f0..425c00ebace 100644
--- a/src/mame/drivers/cchasm.cpp
+++ b/src/mame/drivers/cchasm.cpp
@@ -190,8 +190,8 @@ MACHINE_CONFIG_START(cchasm_state::cchasm)
MCFG_SOUND_ADD("dac1", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_SOUND_ADD("dac2", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT)
/* 6840 PTM */
MCFG_DEVICE_ADD("6840ptm", PTM6840, CCHASM_68K_CLOCK/10)
diff --git a/src/mame/drivers/ccs2810.cpp b/src/mame/drivers/ccs2810.cpp
index 55e66b067a4..97fc1fb232a 100644
--- a/src/mame/drivers/ccs2810.cpp
+++ b/src/mame/drivers/ccs2810.cpp
@@ -896,11 +896,12 @@ DRIVER_INIT_MEMBER( ccs_state, ccs2422 )
//
//*************************************
-static SLOT_INTERFACE_START( ccs_floppies )
- SLOT_INTERFACE( "8sssd", FLOPPY_8_SSSD )
-SLOT_INTERFACE_END
+static void ccs_floppies(device_slot_interface &device)
+{
+ device.option_add("8sssd", FLOPPY_8_SSSD);
+}
- //SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
+ //device.option_add("525dd", FLOPPY_525_DD);
MACHINE_CONFIG_START(ccs_state::ccs2810)
/* basic machine hardware */
diff --git a/src/mame/drivers/ccs300.cpp b/src/mame/drivers/ccs300.cpp
index a3e5dcb5ed3..56b80845024 100644
--- a/src/mame/drivers/ccs300.cpp
+++ b/src/mame/drivers/ccs300.cpp
@@ -139,7 +139,7 @@ MACHINE_CONFIG_START(ccs300_state::ccs300)
MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal")
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("sio", z80sio_device, rxa_w))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("sio", z80sio_device, ctsa_w))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) // must be exactly here
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) // must be exactly here
MCFG_DEVICE_ADD("ctc", Z80CTC, XTAL(4'000'000))
MCFG_Z80CTC_INTR_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
diff --git a/src/mame/drivers/champbas.cpp b/src/mame/drivers/champbas.cpp
index 4aac84a91b2..70c56d19ded 100644
--- a/src/mame/drivers/champbas.cpp
+++ b/src/mame/drivers/champbas.cpp
@@ -614,7 +614,7 @@ MACHINE_CONFIG_START(champbas_state::champbas)
MCFG_SOUND_ADD("dac", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.7) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(champbas_state::champbasj)
@@ -736,8 +736,8 @@ MACHINE_CONFIG_START(champbas_state::exctsccr)
MCFG_SOUND_ADD("dac1", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // unknown DAC
MCFG_SOUND_ADD("dac2", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
/* Bootleg running on a modified Champion Baseball board */
@@ -791,7 +791,7 @@ MACHINE_CONFIG_START(champbas_state::exctsccrb)
MCFG_SOUND_ADD("dac", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.7) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/channelf.cpp b/src/mame/drivers/channelf.cpp
index 374d61460dc..8f7c6daa3e1 100644
--- a/src/mame/drivers/channelf.cpp
+++ b/src/mame/drivers/channelf.cpp
@@ -191,14 +191,15 @@ void channelf_state::machine_start()
}
}
-static SLOT_INTERFACE_START(cf_cart)
- SLOT_INTERFACE_INTERNAL("std", CHANF_ROM_STD)
- SLOT_INTERFACE_INTERNAL("maze", CHANF_ROM_MAZE)
- SLOT_INTERFACE_INTERNAL("hangman", CHANF_ROM_HANGMAN)
- SLOT_INTERFACE_INTERNAL("chess", CHANF_ROM_CHESS)
- SLOT_INTERFACE_INTERNAL("multi_old",CHANF_ROM_MULTI_OLD)
- SLOT_INTERFACE_INTERNAL("multi", CHANF_ROM_MULTI_FINAL)
-SLOT_INTERFACE_END
+static void cf_cart(device_slot_interface &device)
+{
+ device.option_add_internal("std", CHANF_ROM_STD);
+ device.option_add_internal("maze", CHANF_ROM_MAZE);
+ device.option_add_internal("hangman", CHANF_ROM_HANGMAN);
+ device.option_add_internal("chess", CHANF_ROM_CHESS);
+ device.option_add_internal("multi_old",CHANF_ROM_MULTI_OLD);
+ device.option_add_internal("multi", CHANF_ROM_MULTI_FINAL);
+}
MACHINE_CONFIG_START(channelf_state::channelf_cart)
diff --git a/src/mame/drivers/cheekyms.cpp b/src/mame/drivers/cheekyms.cpp
index a9e1197878a..517cd3e5d41 100644
--- a/src/mame/drivers/cheekyms.cpp
+++ b/src/mame/drivers/cheekyms.cpp
@@ -157,14 +157,14 @@ MACHINE_CONFIG_START(cheekyms_state::cheekyms)
MCFG_SOUND_ADD("dac6", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_SOUND_ADD("dac7", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac0", 1.0, DAC_VREF_POS_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac4", 1.0, DAC_VREF_POS_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac5", 1.0, DAC_VREF_POS_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac6", 1.0, DAC_VREF_POS_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac7", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac4", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac5", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac6", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac7", 1.0, DAC_VREF_POS_INPUT)
#endif
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/chihiro.cpp b/src/mame/drivers/chihiro.cpp
index aaafc7e2b88..3e5b20ea55d 100644
--- a/src/mame/drivers/chihiro.cpp
+++ b/src/mame/drivers/chihiro.cpp
@@ -1827,15 +1827,17 @@ const tiny_rom_entry *sega_network_board::device_rom_region() const
return ROM_NAME(seganetw);
}
-static SLOT_INTERFACE_START(ide_baseboard)
- SLOT_INTERFACE("bb", IDE_BASEBOARD)
-SLOT_INTERFACE_END
-
-SLOT_INTERFACE_START(usb_baseboard)
- SLOT_INTERFACE("an2131qc", OHCI_HLEAN2131QC)
- SLOT_INTERFACE("an2131sc", OHCI_HLEAN2131SC)
- SLOT_INTERFACE("xbox_controller", OHCI_GAME_CONTROLLER)
-SLOT_INTERFACE_END
+static void ide_baseboard(device_slot_interface &device)
+{
+ device.option_add("bb", IDE_BASEBOARD);
+}
+
+void usb_baseboard(device_slot_interface &device)
+{
+ device.option_add("an2131qc", OHCI_HLEAN2131QC);
+ device.option_add("an2131sc", OHCI_HLEAN2131SC);
+ device.option_add("xbox_controller", OHCI_GAME_CONTROLLER);
+}
void chihiro_state::an2131qc_configuration(device_t *device)
{
diff --git a/src/mame/drivers/chsuper.cpp b/src/mame/drivers/chsuper.cpp
index 3bcdd3e55cf..b14df442ee9 100644
--- a/src/mame/drivers/chsuper.cpp
+++ b/src/mame/drivers/chsuper.cpp
@@ -387,7 +387,7 @@ MACHINE_CONFIG_START(chsuper_state::chsuper)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/circusc.cpp b/src/mame/drivers/circusc.cpp
index 81c2a1c707a..5bd3d21549e 100644
--- a/src/mame/drivers/circusc.cpp
+++ b/src/mame/drivers/circusc.cpp
@@ -386,14 +386,14 @@ MACHINE_CONFIG_START(circusc_state::circusc)
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
MCFG_SOUND_ADD("sn1", SN76496, XTAL(14'318'181)/8)
- MCFG_SOUND_ROUTE_EX(0, "fltdisc", 1.0, 0)
+ MCFG_SOUND_ROUTE(0, "fltdisc", 1.0, 0)
MCFG_SOUND_ADD("sn2", SN76496, XTAL(14'318'181)/8)
- MCFG_SOUND_ROUTE_EX(0, "fltdisc", 1.0, 1)
+ MCFG_SOUND_ROUTE(0, "fltdisc", 1.0, 1)
- MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE_EX(0, "fltdisc", 1.0, 2) // ls374.7g + r44+r45+r47+r48+r50+r56+r57+r58+r59 (20k) + r46+r49+r51+r52+r53+r54+r55 (10k) + upc324.3h
+ MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(0, "fltdisc", 1.0, 2) // ls374.7g + r44+r45+r47+r48+r50+r56+r57+r58+r59 (20k) + r46+r49+r51+r52+r53+r54+r55 (10k) + upc324.3h
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MCFG_SOUND_ADD("fltdisc", DISCRETE, 0)
diff --git a/src/mame/drivers/ckz80.cpp b/src/mame/drivers/ckz80.cpp
index 1943b1978c2..f75d65bc98a 100644
--- a/src/mame/drivers/ckz80.cpp
+++ b/src/mame/drivers/ckz80.cpp
@@ -453,7 +453,7 @@ MACHINE_CONFIG_START(ckz80_state::master)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_2BIT_BINARY_WEIGHTED_ONES_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cmi.cpp b/src/mame/drivers/cmi.cpp
index a8bcfe9eae7..dbf2f14acfc 100644
--- a/src/mame/drivers/cmi.cpp
+++ b/src/mame/drivers/cmi.cpp
@@ -2166,10 +2166,11 @@ WRITE_LINE_MEMBER( cmi_state::cmi_iix_vblank )
}
}
-static SLOT_INTERFACE_START( cmi2x_floppies )
- SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD )
- SLOT_INTERFACE( "8dssd", FLOPPY_8_DSSD )
-SLOT_INTERFACE_END
+static void cmi2x_floppies(device_slot_interface &device)
+{
+ device.option_add("8dsdd", FLOPPY_8_DSDD);
+ device.option_add("8dssd", FLOPPY_8_DSSD);
+}
MACHINE_CONFIG_START(cmi_state::cmi2x)
MCFG_CPU_ADD("maincpu1", MC6809E, Q209_CPU_CLOCK)
@@ -2196,11 +2197,11 @@ MACHINE_CONFIG_START(cmi_state::cmi2x)
MCFG_CPU_PROGRAM_MAP(cmi07cpu_map)
/* alpha-numeric display */
- MCFG_DEVICE_ADD("dp1", DL1416T, 0)
+ MCFG_DEVICE_ADD("dp1", DL1416T, u32(0))
MCFG_DL1416_UPDATE_HANDLER(WRITE16(cmi_state, cmi_iix_update_dp<0>))
- MCFG_DEVICE_ADD("dp2", DL1416T, 0)
+ MCFG_DEVICE_ADD("dp2", DL1416T, u32(0))
MCFG_DL1416_UPDATE_HANDLER(WRITE16(cmi_state, cmi_iix_update_dp<1>))
- MCFG_DEVICE_ADD("dp3", DL1416T, 0)
+ MCFG_DEVICE_ADD("dp3", DL1416T, u32(0))
MCFG_DL1416_UPDATE_HANDLER(WRITE16(cmi_state, cmi_iix_update_dp<2>))
/* video hardware */
diff --git a/src/mame/drivers/cntsteer.cpp b/src/mame/drivers/cntsteer.cpp
index 70dff7fd6ea..4c428204e55 100644
--- a/src/mame/drivers/cntsteer.cpp
+++ b/src/mame/drivers/cntsteer.cpp
@@ -969,7 +969,7 @@ MACHINE_CONFIG_START(cntsteer_state::cntsteer)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(cntsteer_state::zerotrgt)
diff --git a/src/mame/drivers/coco12.cpp b/src/mame/drivers/coco12.cpp
index 6ec6fc3c0f4..07ab3150fb1 100644
--- a/src/mame/drivers/coco12.cpp
+++ b/src/mame/drivers/coco12.cpp
@@ -350,30 +350,32 @@ INPUT_PORTS_END
// SLOT_INTERFACE_START(coco_cart)
//-------------------------------------------------
-SLOT_INTERFACE_START( coco_cart )
- SLOT_INTERFACE("fdc", COCO_FDC)
- SLOT_INTERFACE("fdcv11", COCO_FDC_V11)
- SLOT_INTERFACE("cc2hdb1", COCO2_HDB1)
- SLOT_INTERFACE("cc3hdb1", COCO3_HDB1)
- SLOT_INTERFACE("cp450_fdc", CP450_FDC)
- SLOT_INTERFACE("cd6809_fdc", CD6809_FDC)
- SLOT_INTERFACE("rs232", COCO_RS232)
- SLOT_INTERFACE("dcmodem", COCO_DCMODEM)
- SLOT_INTERFACE("orch90", COCO_ORCH90)
- SLOT_INTERFACE("ssc", COCO_SSC) MCFG_SLOT_OPTION_CLOCK("ssc", DERIVED_CLOCK(1, 1))
- SLOT_INTERFACE("games_master", COCO_PAK_GMC)
- SLOT_INTERFACE("banked_16k", COCO_PAK_BANKED)
- SLOT_INTERFACE("pak", COCO_PAK)
- SLOT_INTERFACE("multi", COCO_MULTIPAK) MCFG_SLOT_OPTION_CLOCK("multi", DERIVED_CLOCK(1, 1))
-SLOT_INTERFACE_END
+void coco_cart(device_slot_interface &device)
+{
+ device.option_add("fdc", COCO_FDC);
+ device.option_add("fdcv11", COCO_FDC_V11);
+ device.option_add("cc2hdb1", COCO2_HDB1);
+ device.option_add("cc3hdb1", COCO3_HDB1);
+ device.option_add("cp450_fdc", CP450_FDC);
+ device.option_add("cd6809_fdc", CD6809_FDC);
+ device.option_add("rs232", COCO_RS232);
+ device.option_add("dcmodem", COCO_DCMODEM);
+ device.option_add("orch90", COCO_ORCH90);
+ device.option_add("ssc", COCO_SSC).clock(DERIVED_CLOCK(1, 1));
+ device.option_add("games_master", COCO_PAK_GMC);
+ device.option_add("banked_16k", COCO_PAK_BANKED);
+ device.option_add("pak", COCO_PAK);
+ device.option_add("multi", COCO_MULTIPAK).clock(DERIVED_CLOCK(1, 1));
+}
//-------------------------------------------------
// SLOT_INTERFACE_START(t4426_cart)
//-------------------------------------------------
-SLOT_INTERFACE_START( t4426_cart )
- SLOT_INTERFACE("t4426", COCO_T4426)
-SLOT_INTERFACE_END
+void t4426_cart(device_slot_interface &device)
+{
+ device.option_add("t4426", COCO_T4426);
+}
//-------------------------------------------------
// MACHINE_CONFIG_START( coco_sound )
@@ -385,7 +387,7 @@ MACHINE_CONFIG_START(coco_state::coco_sound)
// 6-bit D/A: R10-15 = 10K, 20K, 40.2K, 80.6K, 162K, 324K (according to parts list); output also controls joysticks
MCFG_SOUND_ADD("dac", DAC_6BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.125)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
// Single-bit sound: R22 = 10K
MCFG_SOUND_ADD("sbs", DAC_1BIT, 0)
@@ -471,7 +473,7 @@ MACHINE_CONFIG_START(coco12_state::coco)
MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, "printer")
MCFG_RS232_DCD_HANDLER(DEVWRITELINE(PIA1_TAG, pia6821_device, ca1_w))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("printer", printer)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("printer", printer)
MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, coco_cart, "pak")
MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(coco_state, cart_w))
diff --git a/src/mame/drivers/coco3.cpp b/src/mame/drivers/coco3.cpp
index a45d61890f4..97b91870452 100644
--- a/src/mame/drivers/coco3.cpp
+++ b/src/mame/drivers/coco3.cpp
@@ -279,7 +279,7 @@ MACHINE_CONFIG_START(coco3_state::coco3)
MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, "printer")
MCFG_RS232_DCD_HANDLER(DEVWRITELINE(PIA1_TAG, pia6821_device, ca1_w))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("printer", printer)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("printer", printer)
MCFG_COCO_CARTRIDGE_ADD(CARTRIDGE_TAG, coco_cart, "fdcv11")
MCFG_COCO_CARTRIDGE_CART_CB(WRITELINE(coco_state, cart_w))
diff --git a/src/mame/drivers/cocoloco.cpp b/src/mame/drivers/cocoloco.cpp
index 5a028791fa7..9d897865f6c 100644
--- a/src/mame/drivers/cocoloco.cpp
+++ b/src/mame/drivers/cocoloco.cpp
@@ -543,9 +543,9 @@ MACHINE_CONFIG_START(cocoloco_state::cocoloco)
MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW1"))
MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW2"))
MCFG_AY8910_OUTPUT_TYPE(AY8910_RESISTOR_OUTPUT)
- MCFG_SOUND_ROUTE_EX(0, "snd_nl", 1.0, 0)
- MCFG_SOUND_ROUTE_EX(1, "snd_nl", 1.0, 1)
- MCFG_SOUND_ROUTE_EX(2, "snd_nl", 1.0, 2)
+ MCFG_SOUND_ROUTE(0, "snd_nl", 1.0, 0)
+ MCFG_SOUND_ROUTE(1, "snd_nl", 1.0, 1)
+ MCFG_SOUND_ROUTE(2, "snd_nl", 1.0, 2)
/* NETLIST configuration using internal AY8910 resistor values */
diff --git a/src/mame/drivers/concept.cpp b/src/mame/drivers/concept.cpp
index 57eb691ca98..ad7b471ff3e 100644
--- a/src/mame/drivers/concept.cpp
+++ b/src/mame/drivers/concept.cpp
@@ -201,11 +201,12 @@ INPUT_PORTS_END
/* init with simple, fixed, B/W palette */
/* Is the palette black on white or white on black??? */
-SLOT_INTERFACE_START( concept_a2_cards )
- SLOT_INTERFACE("fchdd", A2BUS_CORVUS) /* Corvus flat-cable HDD interface (see notes in a2corvus.c) */
- SLOT_INTERFACE("fdc01", A2BUS_CORVFDC01) /* Corvus WD1793 floppy controller */
- SLOT_INTERFACE("fdc02", A2BUS_CORVFDC02) /* Corvus NEC765 buffered floppy controller */
-SLOT_INTERFACE_END
+void concept_a2_cards(device_slot_interface &device)
+{
+ device.option_add("fchdd", A2BUS_CORVUS); // Corvus flat-cable HDD interface (see notes in a2corvus.c)
+ device.option_add("fdc01", A2BUS_CORVFDC01); // Corvus WD1793 floppy controller
+ device.option_add("fdc02", A2BUS_CORVFDC02); // Corvus NEC765 buffered floppy controller
+}
diff --git a/src/mame/drivers/coolpool.cpp b/src/mame/drivers/coolpool.cpp
index a0f695cf5a3..db4bcd1ff31 100644
--- a/src/mame/drivers/coolpool.cpp
+++ b/src/mame/drivers/coolpool.cpp
@@ -749,7 +749,7 @@ MACHINE_CONFIG_START(coolpool_state::amerdart)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_12BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
@@ -796,7 +796,7 @@ MACHINE_CONFIG_START(coolpool_state::coolpool)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_12BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cop01.cpp b/src/mame/drivers/cop01.cpp
index 45f2a7a2935..7fe9c133037 100644
--- a/src/mame/drivers/cop01.cpp
+++ b/src/mame/drivers/cop01.cpp
@@ -528,7 +528,7 @@ MACHINE_CONFIG_START(mightguy_state::mightguy)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) // unknown DAC
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cosmic.cpp b/src/mame/drivers/cosmic.cpp
index afbb3894eb4..65401277dd5 100644
--- a/src/mame/drivers/cosmic.cpp
+++ b/src/mame/drivers/cosmic.cpp
@@ -1060,7 +1060,7 @@ MACHINE_CONFIG_START(cosmic_state::panic)
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
@@ -1122,7 +1122,7 @@ MACHINE_CONFIG_START(cosmic_state::cosmicg)
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // NE556
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
// Other DACs include 3-bit binary-weighted (100K/50K/25K) DAC combined with another NE556 for attack march
MACHINE_CONFIG_END
@@ -1148,7 +1148,7 @@ MACHINE_CONFIG_START(cosmic_state::magspot)
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
@@ -1184,7 +1184,7 @@ MACHINE_CONFIG_START(cosmic_state::nomnlnd)
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/craft.cpp b/src/mame/drivers/craft.cpp
index ec81337ac0f..7027718c20c 100644
--- a/src/mame/drivers/craft.cpp
+++ b/src/mame/drivers/craft.cpp
@@ -266,7 +266,7 @@ MACHINE_CONFIG_START(craft_state::craft)
MCFG_SPEAKER_STANDARD_MONO("avr8")
MCFG_SOUND_ADD("dac", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(0, "avr8", 0.25) // pd1/pd2/pd4/pd5/pd6/pd7 + 2k(x7) + 1k(x5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
ROM_START( craft )
diff --git a/src/mame/drivers/crvision.cpp b/src/mame/drivers/crvision.cpp
index 47dff8631d9..400e5a0cbed 100644
--- a/src/mame/drivers/crvision.cpp
+++ b/src/mame/drivers/crvision.cpp
@@ -722,15 +722,16 @@ void laser2001_state::machine_start()
MACHINE DRIVERS
***************************************************************************/
-static SLOT_INTERFACE_START(crvision_cart)
- SLOT_INTERFACE_INTERNAL("crv_rom4k", CRVISION_ROM_4K)
- SLOT_INTERFACE_INTERNAL("crv_rom6k", CRVISION_ROM_6K)
- SLOT_INTERFACE_INTERNAL("crv_rom8k", CRVISION_ROM_8K)
- SLOT_INTERFACE_INTERNAL("crv_rom10k", CRVISION_ROM_10K)
- SLOT_INTERFACE_INTERNAL("crv_rom12k", CRVISION_ROM_12K)
- SLOT_INTERFACE_INTERNAL("crv_rom16k", CRVISION_ROM_16K)
- SLOT_INTERFACE_INTERNAL("crv_rom18k", CRVISION_ROM_18K)
-SLOT_INTERFACE_END
+static void crvision_cart(device_slot_interface &device)
+{
+ device.option_add_internal("crv_rom4k", CRVISION_ROM_4K);
+ device.option_add_internal("crv_rom6k", CRVISION_ROM_6K);
+ device.option_add_internal("crv_rom8k", CRVISION_ROM_8K);
+ device.option_add_internal("crv_rom10k", CRVISION_ROM_10K);
+ device.option_add_internal("crv_rom12k", CRVISION_ROM_12K);
+ device.option_add_internal("crv_rom16k", CRVISION_ROM_16K);
+ device.option_add_internal("crv_rom18k", CRVISION_ROM_18K);
+}
/*-------------------------------------------------
MACHINE_CONFIG_START( creativision )
diff --git a/src/mame/drivers/cubeqst.cpp b/src/mame/drivers/cubeqst.cpp
index a6b2d534e90..f16603fff24 100644
--- a/src/mame/drivers/cubeqst.cpp
+++ b/src/mame/drivers/cubeqst.cpp
@@ -576,22 +576,22 @@ MACHINE_CONFIG_START(cubeqst_state::cubeqst)
MCFG_SOUND_ADD("rdac7", AD7521, 0) MCFG_SOUND_ROUTE(0, "rspeaker", 0.125) // ad7521jn.2d (59) + cd4051be.1d (24) + 1500pf.c15 (34) + tl074cn.1b (53) + r10k.rn1 (30)
MCFG_SOUND_ADD("ldac7", AD7521, 0) MCFG_SOUND_ROUTE(0, "lspeaker", 0.125) // ad7521jn.2d (59) + cd4051be.3d (24) + 1500pf.c6 (34) + tl074cn.3b (53) + r10k.rn3 (30)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "rdac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac0", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "ldac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac0", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "ldac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac2", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "ldac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac2", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac3", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "ldac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac3", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac4", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "ldac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac4", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac5", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "ldac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac5", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac6", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "ldac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac6", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac7", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "ldac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac7", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac0", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac0", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac3", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac3", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac4", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac4", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac5", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac5", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac6", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac6", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac7", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac7", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cvs.cpp b/src/mame/drivers/cvs.cpp
index 37b821f7618..eb8f3dfaa0b 100644
--- a/src/mame/drivers/cvs.cpp
+++ b/src/mame/drivers/cvs.cpp
@@ -1023,9 +1023,9 @@ MACHINE_CONFIG_START(cvs_state::cvs)
MCFG_SOUND_ADD("dac2", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_SOUND_ADD("dac3", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT)
MCFG_SOUND_ADD("tms", TMS5100, XTAL(640'000))
MCFG_TMS5110_DATA_CB(READLINE(cvs_state, speech_rom_read_bit))
diff --git a/src/mame/drivers/cxgz80.cpp b/src/mame/drivers/cxgz80.cpp
index 7fc17cf9435..c4865d8b3c8 100644
--- a/src/mame/drivers/cxgz80.cpp
+++ b/src/mame/drivers/cxgz80.cpp
@@ -413,7 +413,7 @@ MACHINE_CONFIG_START(cxgz80_state::ch2001)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cyberbal.cpp b/src/mame/drivers/cyberbal.cpp
index 2013f79eabe..612dfa83e17 100644
--- a/src/mame/drivers/cyberbal.cpp
+++ b/src/mame/drivers/cyberbal.cpp
@@ -463,8 +463,8 @@ MACHINE_CONFIG_START(cyberbal_state::cyberbal)
MCFG_SOUND_ADD("rdac", AM6012, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // AM6012.6j
MCFG_SOUND_ADD("ldac", AM6012, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // AM6012.6j
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cybiko.cpp b/src/mame/drivers/cybiko.cpp
index b6ef268fd2c..499a302cf62 100644
--- a/src/mame/drivers/cybiko.cpp
+++ b/src/mame/drivers/cybiko.cpp
@@ -429,9 +429,9 @@ MACHINE_CONFIG_START(cybiko_state::cybikov1)
/* serial debug port */
MCFG_RS232_PORT_ADD ("debug_serial", default_rs232_devices, nullptr)
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("null_modem", debug_serial)
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", debug_serial)
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("pty", debug_serial)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("null_modem", debug_serial)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", debug_serial)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("pty", debug_serial)
MCFG_DEVICE_MODIFY("debug_serial")
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("maincpu:sci2", h8_sci_device, rx_w))
diff --git a/src/mame/drivers/czk80.cpp b/src/mame/drivers/czk80.cpp
index 6d4572cc9d5..033550005e8 100644
--- a/src/mame/drivers/czk80.cpp
+++ b/src/mame/drivers/czk80.cpp
@@ -183,9 +183,10 @@ DRIVER_INIT_MEMBER( czk80_state, czk80 )
membank("bankw1")->configure_entry(0, &main[0xe000]);
}
-static SLOT_INTERFACE_START( czk80_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void czk80_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
void czk80_state::kbd_put(u8 data)
{
diff --git a/src/mame/drivers/dectalk.cpp b/src/mame/drivers/dectalk.cpp
index 6339b5f8f11..dcc5fcfb179 100644
--- a/src/mame/drivers/dectalk.cpp
+++ b/src/mame/drivers/dectalk.cpp
@@ -904,7 +904,7 @@ MACHINE_CONFIG_START(dectalk_state::dectalk)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", AD7541, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.9) // ad7541.e107 (E88 10KHz OSC, handled by timer)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
/* Y2 is a 3.579545 MHz xtal for the dtmf decoder chip */
diff --git a/src/mame/drivers/dgn_beta.cpp b/src/mame/drivers/dgn_beta.cpp
index 620f5212dcb..e07012ac648 100644
--- a/src/mame/drivers/dgn_beta.cpp
+++ b/src/mame/drivers/dgn_beta.cpp
@@ -314,9 +314,10 @@ FLOPPY_FORMATS_MEMBER(dgn_beta_state::floppy_formats )
FLOPPY_DMK_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( dgnbeta_floppies )
- SLOT_INTERFACE("dd", FLOPPY_35_DD)
-SLOT_INTERFACE_END
+static void dgnbeta_floppies(device_slot_interface &device)
+{
+ device.option_add("dd", FLOPPY_35_DD);
+}
MACHINE_CONFIG_START(dgn_beta_state::dgnbeta)
/* basic machine hardware */
diff --git a/src/mame/drivers/digel804.cpp b/src/mame/drivers/digel804.cpp
index b937342f6ec..b60b53d156e 100644
--- a/src/mame/drivers/digel804.cpp
+++ b/src/mame/drivers/digel804.cpp
@@ -661,8 +661,8 @@ MACHINE_CONFIG_START(digel804_state::digel804)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("acia", mos6551_device, write_rxd))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE("acia", mos6551_device, write_dsr))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("acia", mos6551_device, write_cts))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("null_modem", digel804_rs232_defaults)
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", digel804_rs232_defaults)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("null_modem", digel804_rs232_defaults)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", digel804_rs232_defaults)
MCFG_RAM_ADD(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("256K")
diff --git a/src/mame/drivers/dim68k.cpp b/src/mame/drivers/dim68k.cpp
index 45604e6ce5a..36b99503358 100644
--- a/src/mame/drivers/dim68k.cpp
+++ b/src/mame/drivers/dim68k.cpp
@@ -297,9 +297,10 @@ static GFXDECODE_START( dim68k )
GFXDECODE_ENTRY( "chargen", 0x0000, dim68k_charlayout, 0, 1 )
GFXDECODE_END
-static SLOT_INTERFACE_START( dim68k_floppies )
- SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
-SLOT_INTERFACE_END
+static void dim68k_floppies(device_slot_interface &device)
+{
+ device.option_add("525hd", FLOPPY_525_HD);
+}
void dim68k_state::kbd_put(u8 data)
{
diff --git a/src/mame/drivers/dmax8000.cpp b/src/mame/drivers/dmax8000.cpp
index be4b2fbef44..bd9fc5bd8b1 100644
--- a/src/mame/drivers/dmax8000.cpp
+++ b/src/mame/drivers/dmax8000.cpp
@@ -143,9 +143,10 @@ DRIVER_INIT_MEMBER( dmax8000_state, dmax8000 )
membank("bankw0")->configure_entry(0, &main[0x0000]);
}
-static SLOT_INTERFACE_START( floppies )
- SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD )
-SLOT_INTERFACE_END
+static void floppies(device_slot_interface &device)
+{
+ device.option_add("8dsdd", FLOPPY_8_DSDD);
+}
MACHINE_CONFIG_START(dmax8000_state::dmax8000)
diff --git a/src/mame/drivers/dmv.cpp b/src/mame/drivers/dmv.cpp
index 20df4ae2852..332cf37346e 100644
--- a/src/mame/drivers/dmv.cpp
+++ b/src/mame/drivers/dmv.cpp
@@ -411,10 +411,11 @@ QUICKLOAD_LOAD_MEMBER( dmv_state, dmv )
return image_init_result::PASS;
}
-static SLOT_INTERFACE_START( dmv_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void dmv_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+ device.option_add("525qd", FLOPPY_525_QD);
+}
void dmv_state::ifsel_r(address_space &space, int ifsel, offs_t offset, uint8_t &data)
@@ -727,38 +728,43 @@ FLOPPY_FORMATS_MEMBER( dmv_state::floppy_formats )
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START(dmv_slot1)
- SLOT_INTERFACE("k200", DMV_K200) // K200 64K RAM expansion
- SLOT_INTERFACE("k202", DMV_K202) // K202 192K RAM expansion
- SLOT_INTERFACE("k208", DMV_K208) // K208 448K RAM expansion
-SLOT_INTERFACE_END
+static void dmv_slot1(device_slot_interface &device)
+{
+ device.option_add("k200", DMV_K200); // K200 64K RAM expansion
+ device.option_add("k202", DMV_K202); // K202 192K RAM expansion
+ device.option_add("k208", DMV_K208); // K208 448K RAM expansion
+}
-static SLOT_INTERFACE_START(dmv_slot2_6)
- SLOT_INTERFACE("k210", DMV_K210) // K210 Centronics
- SLOT_INTERFACE("k211", DMV_K211) // K211 RS-232 Communications Interface
- SLOT_INTERFACE("k212", DMV_K212) // K212 RS-232 Printer Interface
- SLOT_INTERFACE("k213", DMV_K213) // K213 RS-232 Plotter Interface
- SLOT_INTERFACE("k233", DMV_K233) // K233 16K Shared RAM
- SLOT_INTERFACE("k801", DMV_K801) // K801 RS-232 Switchable Interface
- SLOT_INTERFACE("k803", DMV_K803) // K803 RTC module
- SLOT_INTERFACE("k806", DMV_K806) // K806 Mouse module
-SLOT_INTERFACE_END
+static void dmv_slot2_6(device_slot_interface &device)
+{
+ device.option_add("k210", DMV_K210); // K210 Centronics
+ device.option_add("k211", DMV_K211); // K211 RS-232 Communications Interface
+ device.option_add("k212", DMV_K212); // K212 RS-232 Printer Interface
+ device.option_add("k213", DMV_K213); // K213 RS-232 Plotter Interface
+ device.option_add("k233", DMV_K233); // K233 16K Shared RAM
+ device.option_add("k801", DMV_K801); // K801 RS-232 Switchable Interface
+ device.option_add("k803", DMV_K803); // K803 RTC module
+ device.option_add("k806", DMV_K806); // K806 Mouse module
+}
-static SLOT_INTERFACE_START(dmv_slot7)
- SLOT_INTERFACE("k220", DMV_K220) // K220 Diagnostic Module
- SLOT_INTERFACE("k231", DMV_K231) // K231 External 8088 module without interrupt controller
- SLOT_INTERFACE("k234", DMV_K234) // K234 External 68008 module
-SLOT_INTERFACE_END
+static void dmv_slot7(device_slot_interface &device)
+{
+ device.option_add("k220", DMV_K220); // K220 Diagnostic Module
+ device.option_add("k231", DMV_K231); // K231 External 8088 module without interrupt controller
+ device.option_add("k234", DMV_K234); // K234 External 68008 module
+}
-static SLOT_INTERFACE_START(dmv_slot2a)
+static void dmv_slot2a(device_slot_interface &device)
+{
-SLOT_INTERFACE_END
+}
-static SLOT_INTERFACE_START(dmv_slot7a)
- SLOT_INTERFACE("k230", DMV_K230) // K230 Internal 8088 module without interrupt controller
- SLOT_INTERFACE("k235", DMV_K235) // K235 Internal 8088 module with interrupt controller
-SLOT_INTERFACE_END
+static void dmv_slot7a(device_slot_interface &device)
+{
+ device.option_add("k230", DMV_K230); // K230 Internal 8088 module without interrupt controller
+ device.option_add("k235", DMV_K235); // K235 Internal 8088 module with interrupt controller
+}
MACHINE_CONFIG_START(dmv_state::dmv)
/* basic machine hardware */
diff --git a/src/mame/drivers/dps1.cpp b/src/mame/drivers/dps1.cpp
index 8ee696b9ef5..d276eed34bb 100644
--- a/src/mame/drivers/dps1.cpp
+++ b/src/mame/drivers/dps1.cpp
@@ -188,9 +188,10 @@ DRIVER_INIT_MEMBER( dps1_state, dps1 )
static INPUT_PORTS_START( dps1 )
INPUT_PORTS_END
-static SLOT_INTERFACE_START( floppies )
- SLOT_INTERFACE( "floppy0", FLOPPY_8_DSDD )
-SLOT_INTERFACE_END
+static void floppies(device_slot_interface &device)
+{
+ device.option_add("floppy0", FLOPPY_8_DSDD);
+}
MACHINE_CONFIG_START(dps1_state::dps1)
// basic machine hardware
diff --git a/src/mame/drivers/dragon.cpp b/src/mame/drivers/dragon.cpp
index eefef179f4a..f4339a8fb82 100644
--- a/src/mame/drivers/dragon.cpp
+++ b/src/mame/drivers/dragon.cpp
@@ -164,16 +164,17 @@ MC6847_GET_CHARROM_MEMBER( dragon200e_state::char_rom_r )
return m_char_rom->base()[(ch * 12 + line) & 0xfff];
}
-SLOT_INTERFACE_START( dragon_cart )
- SLOT_INTERFACE("dragon_fdc", DRAGON_FDC)
- SLOT_INTERFACE("premier_fdc", PREMIER_FDC)
- SLOT_INTERFACE("sdtandy_fdc", SDTANDY_FDC)
- SLOT_INTERFACE("jcbsnd", DRAGON_JCBSND) MCFG_SLOT_OPTION_CLOCK("jcbsnd", DERIVED_CLOCK(1, 1))
- SLOT_INTERFACE("ssc", COCO_SSC) MCFG_SLOT_OPTION_CLOCK("ssc", DERIVED_CLOCK(1, 1))
- SLOT_INTERFACE("orch90", COCO_ORCH90)
- SLOT_INTERFACE("gmc", COCO_PAK_GMC)
- SLOT_INTERFACE("pak", COCO_PAK)
-SLOT_INTERFACE_END
+void dragon_cart(device_slot_interface &device)
+{
+ device.option_add("dragon_fdc", DRAGON_FDC);
+ device.option_add("premier_fdc", PREMIER_FDC);
+ device.option_add("sdtandy_fdc", SDTANDY_FDC);
+ device.option_add("jcbsnd", DRAGON_JCBSND).clock(DERIVED_CLOCK(1, 1));
+ device.option_add("ssc", COCO_SSC).clock(DERIVED_CLOCK(1, 1));
+ device.option_add("orch90", COCO_ORCH90);
+ device.option_add("gmc", COCO_PAK_GMC);
+ device.option_add("pak", COCO_PAK);
+}
FLOPPY_FORMATS_MEMBER( dragon_alpha_state::dragon_formats )
FLOPPY_VDK_FORMAT,
@@ -181,9 +182,10 @@ FLOPPY_FORMATS_MEMBER( dragon_alpha_state::dragon_formats )
FLOPPY_SDF_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( dragon_alpha_floppies )
- SLOT_INTERFACE("dd", FLOPPY_35_DD)
-SLOT_INTERFACE_END
+static void dragon_alpha_floppies(device_slot_interface &device)
+{
+ device.option_add("dd", FLOPPY_35_DD);
+}
MACHINE_CONFIG_START(dragon_state::dragon_base)
MCFG_DEVICE_MODIFY(":")
diff --git a/src/mame/drivers/duet16.cpp b/src/mame/drivers/duet16.cpp
index 2ba24b6bd45..cce906a933c 100644
--- a/src/mame/drivers/duet16.cpp
+++ b/src/mame/drivers/duet16.cpp
@@ -333,13 +333,15 @@ static GFXDECODE_START(duet16)
GFXDECODE_END
-static SLOT_INTERFACE_START( duet16_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void duet16_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
-SLOT_INTERFACE_START(duet16_keyboard_devices)
- SLOT_INTERFACE("keyboard", SERIAL_KEYBOARD)
-SLOT_INTERFACE_END
+void duet16_keyboard_devices(device_slot_interface &device)
+{
+ device.option_add("keyboard", SERIAL_KEYBOARD);
+}
static DEVICE_INPUT_DEFAULTS_START(keyboard)
DEVICE_INPUT_DEFAULTS( "RS232_TXBAUD", 0xff, RS232_BAUD_1200 )
@@ -396,7 +398,7 @@ MACHINE_CONFIG_START(duet16_state::duet16)
MCFG_RS232_PORT_ADD("kbd", duet16_keyboard_devices, "keyboard")
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("kbusart", i8251_device, write_rxd))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("keyboard", keyboard)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", keyboard)
MCFG_INPUT_MERGER_ANY_HIGH("kbint")
MCFG_INPUT_MERGER_OUTPUT_HANDLER(DEVWRITELINE("pic", pic8259_device, ir5_w)) // INT2
diff --git a/src/mame/drivers/einstein.cpp b/src/mame/drivers/einstein.cpp
index 5de72a14224..72a6ad4af53 100644
--- a/src/mame/drivers/einstein.cpp
+++ b/src/mame/drivers/einstein.cpp
@@ -565,14 +565,15 @@ INPUT_PORTS_END
MACHINE DRIVERS
***************************************************************************/
-static SLOT_INTERFACE_START( einstein_floppies )
- SLOT_INTERFACE("3ss", TEAC_FD_30A)
- SLOT_INTERFACE("3ds", FLOPPY_3_DSDD)
- SLOT_INTERFACE("525ssqd", FLOPPY_525_SSQD)
- SLOT_INTERFACE("525qd", FLOPPY_525_QD)
- SLOT_INTERFACE("35ssdd", FLOPPY_35_SSDD)
- SLOT_INTERFACE("35dd", FLOPPY_35_DD)
-SLOT_INTERFACE_END
+static void einstein_floppies(device_slot_interface &device)
+{
+ device.option_add("3ss", TEAC_FD_30A);
+ device.option_add("3ds", FLOPPY_3_DSDD);
+ device.option_add("525ssqd", FLOPPY_525_SSQD);
+ device.option_add("525qd", FLOPPY_525_QD);
+ device.option_add("35ssdd", FLOPPY_35_SSDD);
+ device.option_add("35dd", FLOPPY_35_DD);
+}
MACHINE_CONFIG_START(einstein_state::einstein)
/* basic machine hardware */
diff --git a/src/mame/drivers/elwro800.cpp b/src/mame/drivers/elwro800.cpp
index 53d8d84410f..7e7a27017d1 100644
--- a/src/mame/drivers/elwro800.cpp
+++ b/src/mame/drivers/elwro800.cpp
@@ -542,9 +542,10 @@ INTERRUPT_GEN_MEMBER(elwro800_state::elwro800jr_interrupt)
device.execute().set_input_line(0, HOLD_LINE);
}
-static SLOT_INTERFACE_START( elwro800jr_floppies )
- SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
-SLOT_INTERFACE_END
+static void elwro800jr_floppies(device_slot_interface &device)
+{
+ device.option_add("525hd", FLOPPY_525_HD);
+}
/* F4 Character Displayer */
static const gfx_layout elwro800_charlayout =
diff --git a/src/mame/drivers/enmirage.cpp b/src/mame/drivers/enmirage.cpp
index 6377b312179..cde7563b8f5 100644
--- a/src/mame/drivers/enmirage.cpp
+++ b/src/mame/drivers/enmirage.cpp
@@ -97,9 +97,10 @@ FLOPPY_FORMATS_MEMBER( enmirage_state::floppy_formats )
FLOPPY_ESQ8IMG_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( ensoniq_floppies )
- SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
-SLOT_INTERFACE_END
+static void ensoniq_floppies(device_slot_interface &device)
+{
+ device.option_add("35dd", FLOPPY_35_DD);
+}
WRITE_LINE_MEMBER(enmirage_state::mirage_doc_irq)
{
diff --git a/src/mame/drivers/equites.cpp b/src/mame/drivers/equites.cpp
index e5c60bbb184..a9067d5a439 100644
--- a/src/mame/drivers/equites.cpp
+++ b/src/mame/drivers/equites.cpp
@@ -1081,8 +1081,8 @@ MACHINE_CONFIG_START(equites_state::common_sound)
MCFG_SOUND_ADD("dac1", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_SOUND_ADD("dac2", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SOUND_ADD("samples", SAMPLES, 0)
MCFG_SAMPLES_CHANNELS(3)
diff --git a/src/mame/drivers/ertictac.cpp b/src/mame/drivers/ertictac.cpp
index 03b983d33c8..661a1fc649d 100644
--- a/src/mame/drivers/ertictac.cpp
+++ b/src/mame/drivers/ertictac.cpp
@@ -247,14 +247,14 @@ MACHINE_CONFIG_START(ertictac_state::ertictac)
MCFG_SOUND_ADD("dac6", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.05) // unknown DAC
MCFG_SOUND_ADD("dac7", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.05) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac0", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac3", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac4", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac5", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac6", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac7", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac0", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac3", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac4", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac5", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac6", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac7", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac7", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
ROM_START( ertictac )
diff --git a/src/mame/drivers/esq1.cpp b/src/mame/drivers/esq1.cpp
index 2297bcb825b..d6875199e45 100644
--- a/src/mame/drivers/esq1.cpp
+++ b/src/mame/drivers/esq1.cpp
@@ -615,14 +615,14 @@ MACHINE_CONFIG_START(esq1_state::esq1)
MCFG_ES5503_IRQ_FUNC(WRITELINE(esq1_state, esq1_doc_irq))
MCFG_ES5503_ADC_FUNC(READ8(esq1_state, esq1_adc_read))
- MCFG_SOUND_ROUTE_EX(0, "filters", 1.0, 0)
- MCFG_SOUND_ROUTE_EX(1, "filters", 1.0, 1)
- MCFG_SOUND_ROUTE_EX(2, "filters", 1.0, 2)
- MCFG_SOUND_ROUTE_EX(3, "filters", 1.0, 3)
- MCFG_SOUND_ROUTE_EX(4, "filters", 1.0, 4)
- MCFG_SOUND_ROUTE_EX(5, "filters", 1.0, 5)
- MCFG_SOUND_ROUTE_EX(6, "filters", 1.0, 6)
- MCFG_SOUND_ROUTE_EX(7, "filters", 1.0, 7)
+ MCFG_SOUND_ROUTE(0, "filters", 1.0, 0)
+ MCFG_SOUND_ROUTE(1, "filters", 1.0, 1)
+ MCFG_SOUND_ROUTE(2, "filters", 1.0, 2)
+ MCFG_SOUND_ROUTE(3, "filters", 1.0, 3)
+ MCFG_SOUND_ROUTE(4, "filters", 1.0, 4)
+ MCFG_SOUND_ROUTE(5, "filters", 1.0, 5)
+ MCFG_SOUND_ROUTE(6, "filters", 1.0, 6)
+ MCFG_SOUND_ROUTE(7, "filters", 1.0, 7)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(esq1_state::sq80)
diff --git a/src/mame/drivers/esq5505.cpp b/src/mame/drivers/esq5505.cpp
index 14fe07729e6..a87ff198055 100644
--- a/src/mame/drivers/esq5505.cpp
+++ b/src/mame/drivers/esq5505.cpp
@@ -249,9 +249,10 @@ FLOPPY_FORMATS_MEMBER( esq5505_state::floppy_formats )
FLOPPY_ESQIMG_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( ensoniq_floppies )
- SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
-SLOT_INTERFACE_END
+static void ensoniq_floppies(device_slot_interface &device)
+{
+ device.option_add("35dd", FLOPPY_35_DD);
+}
IRQ_CALLBACK_MEMBER(esq5505_state::maincpu_irq_acknowledge_callback)
{
@@ -650,14 +651,14 @@ MACHINE_CONFIG_START(esq5505_state::vfx)
MCFG_ES5505_CHANNELS(4) /* channels */
MCFG_ES5505_IRQ_CB(WRITELINE(esq5505_state, esq5505_otis_irq)) /* irq */
MCFG_ES5505_READ_PORT_CB(READ16(esq5505_state, analog_r)) /* ADC */
- MCFG_SOUND_ROUTE_EX(0, "pump", 1.0, 0)
- MCFG_SOUND_ROUTE_EX(1, "pump", 1.0, 1)
- MCFG_SOUND_ROUTE_EX(2, "pump", 1.0, 2)
- MCFG_SOUND_ROUTE_EX(3, "pump", 1.0, 3)
- MCFG_SOUND_ROUTE_EX(4, "pump", 1.0, 4)
- MCFG_SOUND_ROUTE_EX(5, "pump", 1.0, 5)
- MCFG_SOUND_ROUTE_EX(6, "pump", 1.0, 6)
- MCFG_SOUND_ROUTE_EX(7, "pump", 1.0, 7)
+ MCFG_SOUND_ROUTE(0, "pump", 1.0, 0)
+ MCFG_SOUND_ROUTE(1, "pump", 1.0, 1)
+ MCFG_SOUND_ROUTE(2, "pump", 1.0, 2)
+ MCFG_SOUND_ROUTE(3, "pump", 1.0, 3)
+ MCFG_SOUND_ROUTE(4, "pump", 1.0, 4)
+ MCFG_SOUND_ROUTE(5, "pump", 1.0, 5)
+ MCFG_SOUND_ROUTE(6, "pump", 1.0, 6)
+ MCFG_SOUND_ROUTE(7, "pump", 1.0, 7)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(esq5505_state::eps)
@@ -729,14 +730,14 @@ MACHINE_CONFIG_START(esq5505_state::vfx32)
MCFG_ES5505_CHANNELS(4) /* channels */
MCFG_ES5505_IRQ_CB(WRITELINE(esq5505_state, esq5505_otis_irq)) /* irq */
MCFG_ES5505_READ_PORT_CB(READ16(esq5505_state, analog_r)) /* ADC */
- MCFG_SOUND_ROUTE_EX(0, "pump", 1.0, 0)
- MCFG_SOUND_ROUTE_EX(1, "pump", 1.0, 1)
- MCFG_SOUND_ROUTE_EX(2, "pump", 1.0, 2)
- MCFG_SOUND_ROUTE_EX(3, "pump", 1.0, 3)
- MCFG_SOUND_ROUTE_EX(4, "pump", 1.0, 4)
- MCFG_SOUND_ROUTE_EX(5, "pump", 1.0, 5)
- MCFG_SOUND_ROUTE_EX(6, "pump", 1.0, 6)
- MCFG_SOUND_ROUTE_EX(7, "pump", 1.0, 7)
+ MCFG_SOUND_ROUTE(0, "pump", 1.0, 0)
+ MCFG_SOUND_ROUTE(1, "pump", 1.0, 1)
+ MCFG_SOUND_ROUTE(2, "pump", 1.0, 2)
+ MCFG_SOUND_ROUTE(3, "pump", 1.0, 3)
+ MCFG_SOUND_ROUTE(4, "pump", 1.0, 4)
+ MCFG_SOUND_ROUTE(5, "pump", 1.0, 5)
+ MCFG_SOUND_ROUTE(6, "pump", 1.0, 6)
+ MCFG_SOUND_ROUTE(7, "pump", 1.0, 7)
MCFG_WD1772_ADD("wd1772", 8000000)
MCFG_FLOPPY_DRIVE_ADD("wd1772:0", ensoniq_floppies, "35dd", esq5505_state::floppy_formats)
diff --git a/src/mame/drivers/esqasr.cpp b/src/mame/drivers/esqasr.cpp
index d7330256c07..80f2a5098e1 100644
--- a/src/mame/drivers/esqasr.cpp
+++ b/src/mame/drivers/esqasr.cpp
@@ -136,14 +136,14 @@ MACHINE_CONFIG_START(esqasr_state::asr)
MCFG_ES5506_CHANNELS(4) /* channels, Not verified from real hardware */
MCFG_ES5506_IRQ_CB(WRITELINE(esqasr_state, esq5506_otto_irq)) /* irq */
MCFG_ES5506_READ_PORT_CB(READ16(esqasr_state, esq5506_read_adc))
- MCFG_SOUND_ROUTE_EX(0, "pump", 1.0, 0)
- MCFG_SOUND_ROUTE_EX(1, "pump", 1.0, 1)
- MCFG_SOUND_ROUTE_EX(2, "pump", 1.0, 2)
- MCFG_SOUND_ROUTE_EX(3, "pump", 1.0, 3)
- MCFG_SOUND_ROUTE_EX(4, "pump", 1.0, 4)
- MCFG_SOUND_ROUTE_EX(5, "pump", 1.0, 5)
- MCFG_SOUND_ROUTE_EX(6, "pump", 1.0, 6)
- MCFG_SOUND_ROUTE_EX(7, "pump", 1.0, 7)
+ MCFG_SOUND_ROUTE(0, "pump", 1.0, 0)
+ MCFG_SOUND_ROUTE(1, "pump", 1.0, 1)
+ MCFG_SOUND_ROUTE(2, "pump", 1.0, 2)
+ MCFG_SOUND_ROUTE(3, "pump", 1.0, 3)
+ MCFG_SOUND_ROUTE(4, "pump", 1.0, 4)
+ MCFG_SOUND_ROUTE(5, "pump", 1.0, 5)
+ MCFG_SOUND_ROUTE(6, "pump", 1.0, 6)
+ MCFG_SOUND_ROUTE(7, "pump", 1.0, 7)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(esqasr_state::asrx)
@@ -169,14 +169,14 @@ MACHINE_CONFIG_START(esqasr_state::asrx)
MCFG_ES5506_CHANNELS(1) /* channels */
MCFG_ES5506_IRQ_CB(WRITELINE(esqasr_state, esq5506_otto_irq)) /* irq */
MCFG_ES5506_READ_PORT_CB(READ16(esqasr_state, esq5506_read_adc))
- MCFG_SOUND_ROUTE_EX(0, "pump", 1.0, 0)
- MCFG_SOUND_ROUTE_EX(1, "pump", 1.0, 1)
- MCFG_SOUND_ROUTE_EX(2, "pump", 1.0, 2)
- MCFG_SOUND_ROUTE_EX(3, "pump", 1.0, 3)
- MCFG_SOUND_ROUTE_EX(4, "pump", 1.0, 4)
- MCFG_SOUND_ROUTE_EX(5, "pump", 1.0, 5)
- MCFG_SOUND_ROUTE_EX(6, "pump", 1.0, 6)
- MCFG_SOUND_ROUTE_EX(7, "pump", 1.0, 7)
+ MCFG_SOUND_ROUTE(0, "pump", 1.0, 0)
+ MCFG_SOUND_ROUTE(1, "pump", 1.0, 1)
+ MCFG_SOUND_ROUTE(2, "pump", 1.0, 2)
+ MCFG_SOUND_ROUTE(3, "pump", 1.0, 3)
+ MCFG_SOUND_ROUTE(4, "pump", 1.0, 4)
+ MCFG_SOUND_ROUTE(5, "pump", 1.0, 5)
+ MCFG_SOUND_ROUTE(6, "pump", 1.0, 6)
+ MCFG_SOUND_ROUTE(7, "pump", 1.0, 7)
MACHINE_CONFIG_END
static INPUT_PORTS_START( asr )
diff --git a/src/mame/drivers/esqkt.cpp b/src/mame/drivers/esqkt.cpp
index 676565be99d..dc1c8e45d89 100644
--- a/src/mame/drivers/esqkt.cpp
+++ b/src/mame/drivers/esqkt.cpp
@@ -251,14 +251,14 @@ MACHINE_CONFIG_START(esqkt_state::kt)
MCFG_ES5506_CHANNELS(4) /* channels */
MCFG_ES5506_IRQ_CB(WRITELINE(esqkt_state, esq5506_otto_irq)) /* irq */
MCFG_ES5506_READ_PORT_CB(READ16(esqkt_state, esq5506_read_adc))
- MCFG_SOUND_ROUTE_EX(0, "pump", 1.0, 0)
- MCFG_SOUND_ROUTE_EX(1, "pump", 1.0, 1)
- MCFG_SOUND_ROUTE_EX(2, "pump", 1.0, 2)
- MCFG_SOUND_ROUTE_EX(3, "pump", 1.0, 3)
- MCFG_SOUND_ROUTE_EX(4, "pump", 1.0, 4)
- MCFG_SOUND_ROUTE_EX(5, "pump", 1.0, 5)
- MCFG_SOUND_ROUTE_EX(6, "pump", 1.0, 6)
- MCFG_SOUND_ROUTE_EX(7, "pump", 1.0, 7)
+ MCFG_SOUND_ROUTE(0, "pump", 1.0, 0)
+ MCFG_SOUND_ROUTE(1, "pump", 1.0, 1)
+ MCFG_SOUND_ROUTE(2, "pump", 1.0, 2)
+ MCFG_SOUND_ROUTE(3, "pump", 1.0, 3)
+ MCFG_SOUND_ROUTE(4, "pump", 1.0, 4)
+ MCFG_SOUND_ROUTE(5, "pump", 1.0, 5)
+ MCFG_SOUND_ROUTE(6, "pump", 1.0, 6)
+ MCFG_SOUND_ROUTE(7, "pump", 1.0, 7)
MCFG_SOUND_ADD("ensoniq2", ES5506, XTAL(16'000'000))
MCFG_ES5506_REGION0("waverom") /* Bank 0 */
@@ -266,14 +266,14 @@ MACHINE_CONFIG_START(esqkt_state::kt)
MCFG_ES5506_REGION2("waverom3") /* Bank 0 */
MCFG_ES5506_REGION3("waverom4") /* Bank 1 */
MCFG_ES5506_CHANNELS(4) /* channels */
- MCFG_SOUND_ROUTE_EX(0, "pump", 1.0, 0)
- MCFG_SOUND_ROUTE_EX(1, "pump", 1.0, 1)
- MCFG_SOUND_ROUTE_EX(2, "pump", 1.0, 2)
- MCFG_SOUND_ROUTE_EX(3, "pump", 1.0, 3)
- MCFG_SOUND_ROUTE_EX(4, "pump", 1.0, 4)
- MCFG_SOUND_ROUTE_EX(5, "pump", 1.0, 5)
- MCFG_SOUND_ROUTE_EX(6, "pump", 1.0, 6)
- MCFG_SOUND_ROUTE_EX(7, "pump", 1.0, 7)
+ MCFG_SOUND_ROUTE(0, "pump", 1.0, 0)
+ MCFG_SOUND_ROUTE(1, "pump", 1.0, 1)
+ MCFG_SOUND_ROUTE(2, "pump", 1.0, 2)
+ MCFG_SOUND_ROUTE(3, "pump", 1.0, 3)
+ MCFG_SOUND_ROUTE(4, "pump", 1.0, 4)
+ MCFG_SOUND_ROUTE(5, "pump", 1.0, 5)
+ MCFG_SOUND_ROUTE(6, "pump", 1.0, 6)
+ MCFG_SOUND_ROUTE(7, "pump", 1.0, 7)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/esripsys.cpp b/src/mame/drivers/esripsys.cpp
index a06378be848..b0b64bc9ecc 100644
--- a/src/mame/drivers/esripsys.cpp
+++ b/src/mame/drivers/esripsys.cpp
@@ -698,9 +698,9 @@ MACHINE_CONFIG_START(esripsys_state::esripsys)
MCFG_SOUND_ADD("dac", MC3410, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC
MCFG_SOUND_ADD("dacvol", MC3408, 0) // unknown DAC
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dacvol", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dacvol", 1.0, DAC_VREF_POS_INPUT)
MCFG_SOUND_ADD("tms5220nl", TMS5220, 640000)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
diff --git a/src/mame/drivers/et3400.cpp b/src/mame/drivers/et3400.cpp
index a50641dbbd5..a58216dcbb4 100644
--- a/src/mame/drivers/et3400.cpp
+++ b/src/mame/drivers/et3400.cpp
@@ -233,7 +233,7 @@ MACHINE_CONFIG_START(et3400_state::et3400)
MCFG_PIA_READPA_HANDLER(READ8(et3400_state, pia_ar))
MCFG_PIA_READPB_HANDLER(READ8(et3400_state, pia_br))
MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal")
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_DEVICE_ADD("displatch1", LS259, 0) // IC28
MCFG_ADDRESSABLE_LATCH_PARALLEL_OUT_CB(WRITE8(et3400_state, led_w<1>))
diff --git a/src/mame/drivers/eurocom2.cpp b/src/mame/drivers/eurocom2.cpp
index 6be6bd3bfee..dee2bb5f195 100644
--- a/src/mame/drivers/eurocom2.cpp
+++ b/src/mame/drivers/eurocom2.cpp
@@ -427,10 +427,11 @@ FLOPPY_FORMATS_MEMBER( eurocom2_state::floppy_formats )
FLOPPY_PPG_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( eurocom_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
- SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD )
-SLOT_INTERFACE_END
+static void eurocom_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+ device.option_add("8dsdd", FLOPPY_8_DSDD);
+}
MACHINE_CONFIG_START(eurocom2_state::eurocom2)
MCFG_CPU_ADD("maincpu", MC6809, XTAL(10'717'200)/2) // EXTAL = CLK/2 = 5.3586 MHz; Q = E = 1.33965 MHz
diff --git a/src/mame/drivers/excali64.cpp b/src/mame/drivers/excali64.cpp
index 36e316d3387..d966475ec46 100644
--- a/src/mame/drivers/excali64.cpp
+++ b/src/mame/drivers/excali64.cpp
@@ -240,9 +240,10 @@ FLOPPY_FORMATS_MEMBER( excali64_state::floppy_formats )
FLOPPY_EXCALI64_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( excali64_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void excali64_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
// pulses from port E4 bit 5 restart the 74123. After 3.6 secs without a pulse, the motor gets turned off.
WRITE_LINE_MEMBER( excali64_state::motor_w )
diff --git a/src/mame/drivers/exp85.cpp b/src/mame/drivers/exp85.cpp
index b222d664219..5d118c0e16e 100644
--- a/src/mame/drivers/exp85.cpp
+++ b/src/mame/drivers/exp85.cpp
@@ -203,7 +203,7 @@ MACHINE_CONFIG_START(exp85_state::exp85)
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED)
MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal")
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
diff --git a/src/mame/drivers/exterm.cpp b/src/mame/drivers/exterm.cpp
index 812866d12e3..2491e0cf19a 100644
--- a/src/mame/drivers/exterm.cpp
+++ b/src/mame/drivers/exterm.cpp
@@ -442,9 +442,9 @@ MACHINE_CONFIG_START(exterm_state::exterm)
MCFG_SOUND_ADD("dac", AD7528, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // ad7528j.e2
MCFG_SOUND_ADD("dacvol", AD7528, 0) // ad7528j.e2
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dacvol", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dacvol", 1.0, DAC_VREF_POS_INPUT)
MCFG_YM2151_ADD("ymsnd", 4000000)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
diff --git a/src/mame/drivers/fantland.cpp b/src/mame/drivers/fantland.cpp
index a65083d887e..08b9d841be0 100644
--- a/src/mame/drivers/fantland.cpp
+++ b/src/mame/drivers/fantland.cpp
@@ -890,7 +890,7 @@ MACHINE_CONFIG_START(fantland_state::fantland)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/fanucspmg.cpp b/src/mame/drivers/fanucspmg.cpp
index 4af42b30450..8356ea6b07f 100644
--- a/src/mame/drivers/fanucspmg.cpp
+++ b/src/mame/drivers/fanucspmg.cpp
@@ -955,9 +955,10 @@ MC6845_UPDATE_ROW( fanucspmg_state::crtc_update_row_mono )
}
}
-static SLOT_INTERFACE_START( fanuc_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void fanuc_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
FLOPPY_FORMATS_MEMBER( fanucspmg_state::floppy_formats )
FLOPPY_IMD_FORMAT
diff --git a/src/mame/drivers/fccpu20.cpp b/src/mame/drivers/fccpu20.cpp
index 07a10e8b217..81fe06f8b26 100644
--- a/src/mame/drivers/fccpu20.cpp
+++ b/src/mame/drivers/fccpu20.cpp
@@ -118,33 +118,40 @@ static INPUT_PORTS_START (cpu20)
INPUT_PORTS_END
/* Slot interfaces */
-static SLOT_INTERFACE_START(cpu20_vme_cards)
- SLOT_INTERFACE("fccpu20", VME_FCCPU20)
-SLOT_INTERFACE_END
+static void cpu20_vme_cards(device_slot_interface &device)
+{
+ device.option_add("fccpu20", VME_FCCPU20);
+}
-static SLOT_INTERFACE_START(cpu21s_vme_cards)
- SLOT_INTERFACE("fccpu21s", VME_FCCPU21S)
-SLOT_INTERFACE_END
+static void cpu21s_vme_cards(device_slot_interface &device)
+{
+ device.option_add("fccpu21s", VME_FCCPU21S);
+}
-static SLOT_INTERFACE_START(cpu21_vme_cards)
- SLOT_INTERFACE("fccpu21", VME_FCCPU21)
-SLOT_INTERFACE_END
+static void cpu21_vme_cards(device_slot_interface &device)
+{
+ device.option_add("fccpu21", VME_FCCPU21);
+}
-static SLOT_INTERFACE_START(cpu21a_vme_cards)
- SLOT_INTERFACE("fccpu21a", VME_FCCPU21A)
-SLOT_INTERFACE_END
+static void cpu21a_vme_cards(device_slot_interface &device)
+{
+ device.option_add("fccpu21a", VME_FCCPU21A);
+}
-static SLOT_INTERFACE_START(cpu21ya_vme_cards)
- SLOT_INTERFACE("fccpu21ya", VME_FCCPU21YA)
-SLOT_INTERFACE_END
+static void cpu21ya_vme_cards(device_slot_interface &device)
+{
+ device.option_add("fccpu21ya", VME_FCCPU21YA);
+}
-static SLOT_INTERFACE_START(cpu21b_vme_cards)
- SLOT_INTERFACE("fccpu21b", VME_FCCPU21B)
-SLOT_INTERFACE_END
+static void cpu21b_vme_cards(device_slot_interface &device)
+{
+ device.option_add("fccpu21b", VME_FCCPU21B);
+}
-static SLOT_INTERFACE_START(cpu21yb_vme_cards)
- SLOT_INTERFACE("fccpu21yb", VME_FCCPU21YB)
-SLOT_INTERFACE_END
+static void cpu21yb_vme_cards(device_slot_interface &device)
+{
+ device.option_add("fccpu21yb", VME_FCCPU21YB);
+}
/* Machine configurations */
MACHINE_CONFIG_START(cpu20_state::cpu20)
diff --git a/src/mame/drivers/fccpu30.cpp b/src/mame/drivers/fccpu30.cpp
index 0bedae62ffb..6a451786644 100644
--- a/src/mame/drivers/fccpu30.cpp
+++ b/src/mame/drivers/fccpu30.cpp
@@ -647,10 +647,11 @@ void cpu30_state::update_irq_to_maincpu()
}
}
-static SLOT_INTERFACE_START(fccpu30_vme_cards)
- SLOT_INTERFACE("fcisio", VME_FCISIO1)
- SLOT_INTERFACE("fcscsi", VME_FCSCSI1)
-SLOT_INTERFACE_END
+static void fccpu30_vme_cards(device_slot_interface &device)
+{
+ device.option_add("fcisio", VME_FCISIO1);
+ device.option_add("fcscsi", VME_FCSCSI1);
+}
/*
* Machine configuration
diff --git a/src/mame/drivers/fidel6502.cpp b/src/mame/drivers/fidel6502.cpp
index b4846498888..1d24ccce6ac 100644
--- a/src/mame/drivers/fidel6502.cpp
+++ b/src/mame/drivers/fidel6502.cpp
@@ -1689,7 +1689,7 @@ MACHINE_CONFIG_START(fidel6502_state::rsc)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(fidel6502_state::csc)
@@ -1725,7 +1725,7 @@ MACHINE_CONFIG_START(fidel6502_state::csc)
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(fidel6502_state::su9)
@@ -1766,7 +1766,7 @@ MACHINE_CONFIG_START(fidel6502_state::eas)
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
/* cartridge */
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "fidel_scc")
@@ -1802,7 +1802,7 @@ MACHINE_CONFIG_START(fidel6502_state::sc9d)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
/* cartridge */
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "fidel_scc")
@@ -1860,7 +1860,7 @@ MACHINE_CONFIG_START(fidel6502_state::sc12)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
/* cartridge */
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "fidel_scc")
@@ -1903,7 +1903,7 @@ MACHINE_CONFIG_START(fidel6502_state::fexcel)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(fidel6502_state::fexcel4)
@@ -1995,7 +1995,7 @@ MACHINE_CONFIG_START(fidel6502_state::fdes2100d)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(fidel6502_state::fdes2000d)
@@ -2022,7 +2022,7 @@ MACHINE_CONFIG_START(fidel6502_state::fphantom)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(fidel6502_state::chesster)
@@ -2042,7 +2042,7 @@ MACHINE_CONFIG_START(fidel6502_state::chesster)
MCFG_SOUND_ADD("dac8", DAC_8BIT_R2R, 0) // m74hc374b1.ic1 + 8l513_02.z2
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac8", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac8", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac8", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac8", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(fidel6502_state::kishon)
diff --git a/src/mame/drivers/fidel68k.cpp b/src/mame/drivers/fidel68k.cpp
index c69102f3365..58d7d59b425 100644
--- a/src/mame/drivers/fidel68k.cpp
+++ b/src/mame/drivers/fidel68k.cpp
@@ -573,7 +573,7 @@ MACHINE_CONFIG_START(fidel68k_state::fex68k)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(fidel68k_state::fex68km2)
@@ -609,7 +609,7 @@ MACHINE_CONFIG_START(fidel68k_state::fdes2265)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(fidel68k_state::fdes2325)
@@ -644,7 +644,7 @@ MACHINE_CONFIG_START(fidel68k_state::eag)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
/* cartridge */
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "fidel_scc")
diff --git a/src/mame/drivers/fidelmcs48.cpp b/src/mame/drivers/fidelmcs48.cpp
index 72880a7e87e..e4d629d2fc9 100644
--- a/src/mame/drivers/fidelmcs48.cpp
+++ b/src/mame/drivers/fidelmcs48.cpp
@@ -165,7 +165,7 @@ MACHINE_CONFIG_START(fidelmcs48_state::sc6)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/fidelz80.cpp b/src/mame/drivers/fidelz80.cpp
index 92f5260dd27..b2f27aa25f8 100644
--- a/src/mame/drivers/fidelz80.cpp
+++ b/src/mame/drivers/fidelz80.cpp
@@ -1666,7 +1666,7 @@ MACHINE_CONFIG_START(fidelz80_state::bcc)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(fidelz80_state::scc)
@@ -1683,7 +1683,7 @@ MACHINE_CONFIG_START(fidelz80_state::scc)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(fidelz80_state::cc10)
@@ -1812,7 +1812,7 @@ MACHINE_CONFIG_START(fidelz80_state::dsc)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/finalizr.cpp b/src/mame/drivers/finalizr.cpp
index eb3db65eeb8..015c436345e 100644
--- a/src/mame/drivers/finalizr.cpp
+++ b/src/mame/drivers/finalizr.cpp
@@ -304,7 +304,7 @@ MACHINE_CONFIG_START(finalizr_state::finalizr)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.325) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/firebeat.cpp b/src/mame/drivers/firebeat.cpp
index ee4facc999e..c1e2eec1227 100644
--- a/src/mame/drivers/firebeat.cpp
+++ b/src/mame/drivers/firebeat.cpp
@@ -1167,9 +1167,10 @@ void firebeat_state::cdrom_config(device_t *device)
MCFG_SOUND_ROUTE(1, "^^rspeaker", 1.0)
}
-static SLOT_INTERFACE_START(firebeat_ata_devices)
- SLOT_INTERFACE("cdrom", ATAPI_FIXED_CDROM)
-SLOT_INTERFACE_END
+static void firebeat_ata_devices(device_slot_interface &device)
+{
+ device.option_add("cdrom", ATAPI_FIXED_CDROM);
+}
MACHINE_CONFIG_START(firebeat_state::firebeat)
@@ -1191,7 +1192,7 @@ MACHINE_CONFIG_START(firebeat_state::firebeat)
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(firebeat_state, ata_interrupt))
MCFG_DEVICE_MODIFY("ata:1")
- MCFG_DEVICE_CARD_MACHINE_CONFIG( "cdrom", cdrom_config )
+ MCFG_SLOT_OPTION_MACHINE_CONFIG( "cdrom", cdrom_config )
/* video hardware */
MCFG_PALETTE_ADD_RRRRRGGGGGBBBBB("palette")
@@ -1248,7 +1249,7 @@ MACHINE_CONFIG_START(firebeat_state::firebeat2)
MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(firebeat_state, ata_interrupt))
MCFG_DEVICE_MODIFY("ata:1")
- MCFG_DEVICE_CARD_MACHINE_CONFIG( "cdrom", cdrom_config )
+ MCFG_SLOT_OPTION_MACHINE_CONFIG( "cdrom", cdrom_config )
/* video hardware */
MCFG_PALETTE_ADD_RRRRRGGGGGBBBBB("palette")
diff --git a/src/mame/drivers/flstory.cpp b/src/mame/drivers/flstory.cpp
index 63988240178..c9301bf93f9 100644
--- a/src/mame/drivers/flstory.cpp
+++ b/src/mame/drivers/flstory.cpp
@@ -801,7 +801,7 @@ MACHINE_CONFIG_START(flstory_state::flstory)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(flstory_state::onna34ro)
@@ -870,7 +870,7 @@ MACHINE_CONFIG_START(flstory_state::onna34ro)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(flstory_state::onna34ro_mcu)
@@ -950,7 +950,7 @@ MACHINE_CONFIG_START(flstory_state::victnine)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
@@ -1023,7 +1023,7 @@ MACHINE_CONFIG_START(flstory_state::rumba)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mame/drivers/fm7.cpp b/src/mame/drivers/fm7.cpp
index 4a63438c638..b89fc431093 100644
--- a/src/mame/drivers/fm7.cpp
+++ b/src/mame/drivers/fm7.cpp
@@ -2052,9 +2052,10 @@ void fm7_state::machine_reset()
}
-static SLOT_INTERFACE_START( fm7_floppies )
- SLOT_INTERFACE("qd", FLOPPY_525_QD)
-SLOT_INTERFACE_END
+static void fm7_floppies(device_slot_interface &device)
+{
+ device.option_add("qd", FLOPPY_525_QD);
+}
#define MCFG_ADDRESS_BANK(tag) \
diff --git a/src/mame/drivers/fmtowns.cpp b/src/mame/drivers/fmtowns.cpp
index ecc65e2d361..ce46712ff09 100644
--- a/src/mame/drivers/fmtowns.cpp
+++ b/src/mame/drivers/fmtowns.cpp
@@ -2736,9 +2736,10 @@ FLOPPY_FORMATS_MEMBER( towns_state::floppy_formats )
FLOPPY_FMTOWNS_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( towns_floppies )
- SLOT_INTERFACE( "35hd", FLOPPY_35_HD )
-SLOT_INTERFACE_END
+static void towns_floppies(device_slot_interface &device)
+{
+ device.option_add("35hd", FLOPPY_35_HD);
+}
static const gfx_layout fnt_chars_16x16 =
{
diff --git a/src/mame/drivers/force68k.cpp b/src/mame/drivers/force68k.cpp
index c2bf82d8590..b5326076d1c 100644
--- a/src/mame/drivers/force68k.cpp
+++ b/src/mame/drivers/force68k.cpp
@@ -528,10 +528,11 @@ image_init_result force68k_state::force68k_load_cart(device_image_interface &ima
}
-static SLOT_INTERFACE_START(fccpu1_vme_cards)
- SLOT_INTERFACE("fcisio", VME_FCISIO1)
- SLOT_INTERFACE("fcscsi", VME_FCSCSI1)
-SLOT_INTERFACE_END
+static void fccpu1_vme_cards(device_slot_interface &device)
+{
+ device.option_add("fcisio", VME_FCISIO1);
+ device.option_add("fcscsi", VME_FCSCSI1);
+}
/*
* Machine configuration
diff --git a/src/mame/drivers/fruitpc.cpp b/src/mame/drivers/fruitpc.cpp
index 43db9226b67..1fa08be7216 100644
--- a/src/mame/drivers/fruitpc.cpp
+++ b/src/mame/drivers/fruitpc.cpp
@@ -115,9 +115,10 @@ INPUT_PORTS_END
//TODO: use atmb device
WRITE8_MEMBER( fruitpc_state::dma8237_1_dack_w ){ m_isabus->dack_w(1, data); }
-static SLOT_INTERFACE_START( fruitpc_isa8_cards )
- SLOT_INTERFACE("sb15", ISA8_SOUND_BLASTER_1_5)
-SLOT_INTERFACE_END
+static void fruitpc_isa8_cards(device_slot_interface &device)
+{
+ device.option_add("sb15", ISA8_SOUND_BLASTER_1_5);
+}
static DEVICE_INPUT_DEFAULTS_START( fruitpc_sb_def )
DEVICE_INPUT_DEFAULTS("CONFIG", 0x03, 0x01)
@@ -159,8 +160,8 @@ MACHINE_CONFIG_START(fruitpc_state::fruitpc)
MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq3_w))
MCFG_ISA8_SLOT_ADD("isa", "isa1", fruitpc_isa8_cards, "sb15", true)
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("sb15", fruitpc_sb_def)
- MCFG_DEVICE_CARD_MACHINE_CONFIG("sb15", fruitpc_sb_conf)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("sb15", fruitpc_sb_def)
+ MCFG_SLOT_OPTION_MACHINE_CONFIG("sb15", fruitpc_sb_conf)
MACHINE_CONFIG_END
ROM_START( fruitpc )
diff --git a/src/mame/drivers/galaxian.cpp b/src/mame/drivers/galaxian.cpp
index 11850d03e0d..623f1eb28c2 100644
--- a/src/mame/drivers/galaxian.cpp
+++ b/src/mame/drivers/galaxian.cpp
@@ -5836,9 +5836,9 @@ MACHINE_CONFIG_START(galaxian_state::konami_sound_1x_ay8910)
MCFG_AY8910_RES_LOADS(RES_K(5.1), RES_K(5.1), RES_K(5.1))
MCFG_AY8910_PORT_A_READ_CB(DEVREAD8("soundlatch", generic_latch_8_device, read))
MCFG_AY8910_PORT_B_READ_CB(READ8(galaxian_state, frogger_sound_timer_r))
- MCFG_SOUND_ROUTE_EX(0, "konami", 1.0, 0)
- MCFG_SOUND_ROUTE_EX(1, "konami", 1.0, 1)
- MCFG_SOUND_ROUTE_EX(2, "konami", 1.0, 2)
+ MCFG_SOUND_ROUTE(0, "konami", 1.0, 0)
+ MCFG_SOUND_ROUTE(1, "konami", 1.0, 1)
+ MCFG_SOUND_ROUTE(2, "konami", 1.0, 2)
MCFG_SOUND_ADD("konami", DISCRETE, 0)
MCFG_DISCRETE_INTF(konami_sound)
@@ -5861,16 +5861,16 @@ MACHINE_CONFIG_START(galaxian_state::konami_sound_2x_ay8910)
MCFG_AY8910_RES_LOADS(RES_K(5.1), RES_K(5.1), RES_K(5.1))
MCFG_AY8910_PORT_A_READ_CB(DEVREAD8("soundlatch", generic_latch_8_device, read))
MCFG_AY8910_PORT_B_READ_CB(READ8(galaxian_state, konami_sound_timer_r))
- MCFG_SOUND_ROUTE_EX(0, "konami", 1.0, 0)
- MCFG_SOUND_ROUTE_EX(1, "konami", 1.0, 1)
- MCFG_SOUND_ROUTE_EX(2, "konami", 1.0, 2)
+ MCFG_SOUND_ROUTE(0, "konami", 1.0, 0)
+ MCFG_SOUND_ROUTE(1, "konami", 1.0, 1)
+ MCFG_SOUND_ROUTE(2, "konami", 1.0, 2)
MCFG_SOUND_ADD("8910.1", AY8910, KONAMI_SOUND_CLOCK/8)
MCFG_AY8910_OUTPUT_TYPE(AY8910_DISCRETE_OUTPUT)
MCFG_AY8910_RES_LOADS(RES_K(5.1), RES_K(5.1), RES_K(5.1))
- MCFG_SOUND_ROUTE_EX(0, "konami", 1.0, 3)
- MCFG_SOUND_ROUTE_EX(1, "konami", 1.0, 4)
- MCFG_SOUND_ROUTE_EX(2, "konami", 1.0, 5)
+ MCFG_SOUND_ROUTE(0, "konami", 1.0, 3)
+ MCFG_SOUND_ROUTE(1, "konami", 1.0, 4)
+ MCFG_SOUND_ROUTE(2, "konami", 1.0, 5)
MCFG_SOUND_ADD("konami", DISCRETE, 0)
MCFG_DISCRETE_INTF(konami_sound)
@@ -6101,7 +6101,7 @@ MACHINE_CONFIG_START(galaxian_state::kingball)
/* sound hardware */
MCFG_SOUND_ADD("dac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.53) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
@@ -6318,7 +6318,7 @@ MACHINE_CONFIG_START(galaxian_state::sfx)
/* DAC for the sample player */
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // 16-pin IC (not identified by schematics)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/galeb.cpp b/src/mame/drivers/galeb.cpp
index cfd298b49d5..5b758cdad77 100644
--- a/src/mame/drivers/galeb.cpp
+++ b/src/mame/drivers/galeb.cpp
@@ -187,7 +187,7 @@ MACHINE_CONFIG_START(galeb_state::galeb)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/galivan.cpp b/src/mame/drivers/galivan.cpp
index f9560441027..854c7bb07d9 100644
--- a/src/mame/drivers/galivan.cpp
+++ b/src/mame/drivers/galivan.cpp
@@ -475,8 +475,8 @@ MACHINE_CONFIG_START(galivan_state::galivan)
MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(dangarj_state::dangarj)
@@ -535,8 +535,8 @@ MACHINE_CONFIG_START(galivan_state::ninjemak)
MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/gamecom.cpp b/src/mame/drivers/gamecom.cpp
index df803979066..a5a8ba25476 100644
--- a/src/mame/drivers/gamecom.cpp
+++ b/src/mame/drivers/gamecom.cpp
@@ -280,9 +280,9 @@ MACHINE_CONFIG_START(gamecom_state::gamecom)
MCFG_SOUND_ADD("dac0", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.05) // unknown DAC (Frequency modulation)
MCFG_SOUND_ADD("dac1", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.05) // unknown DAC (Frequency modulation)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac0", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac0", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
/* cartridge */
MCFG_GENERIC_CARTSLOT_ADD("cartslot1", generic_linear_slot, "gamecom_cart")
diff --git a/src/mame/drivers/gb.cpp b/src/mame/drivers/gb.cpp
index c2042546326..60070ff82e2 100644
--- a/src/mame/drivers/gb.cpp
+++ b/src/mame/drivers/gb.cpp
@@ -499,41 +499,43 @@ static INPUT_PORTS_START( gameboy )
INPUT_PORTS_END
-static SLOT_INTERFACE_START(gb_cart)
- SLOT_INTERFACE_INTERNAL("rom", GB_STD_ROM)
- SLOT_INTERFACE_INTERNAL("rom_mbc1", GB_ROM_MBC1)
- SLOT_INTERFACE_INTERNAL("rom_mbc1col", GB_ROM_MBC1)
- SLOT_INTERFACE_INTERNAL("rom_mbc2", GB_ROM_MBC2)
- SLOT_INTERFACE_INTERNAL("rom_mbc3", GB_ROM_MBC3)
- SLOT_INTERFACE_INTERNAL("rom_huc1", GB_ROM_MBC3)
- SLOT_INTERFACE_INTERNAL("rom_huc3", GB_ROM_MBC3)
- SLOT_INTERFACE_INTERNAL("rom_mbc5", GB_ROM_MBC5)
- SLOT_INTERFACE_INTERNAL("rom_mbc6", GB_ROM_MBC6)
- SLOT_INTERFACE_INTERNAL("rom_mbc7", GB_ROM_MBC7)
- SLOT_INTERFACE_INTERNAL("rom_tama5", GB_ROM_TAMA5)
- SLOT_INTERFACE_INTERNAL("rom_mmm01", GB_ROM_MMM01)
- SLOT_INTERFACE_INTERNAL("rom_m161", GB_ROM_M161)
- SLOT_INTERFACE_INTERNAL("rom_sachen1", GB_ROM_SACHEN1)
- SLOT_INTERFACE_INTERNAL("rom_sachen2", GB_ROM_SACHEN2)
- SLOT_INTERFACE_INTERNAL("rom_wisdom", GB_ROM_WISDOM)
- SLOT_INTERFACE_INTERNAL("rom_yong", GB_ROM_YONG)
- SLOT_INTERFACE_INTERNAL("rom_lasama", GB_ROM_LASAMA)
- SLOT_INTERFACE_INTERNAL("rom_atvrac", GB_ROM_ATVRAC)
- SLOT_INTERFACE_INTERNAL("rom_camera", GB_ROM_CAMERA)
- SLOT_INTERFACE_INTERNAL("rom_188in1", GB_ROM_188IN1)
- SLOT_INTERFACE_INTERNAL("rom_sintax", GB_ROM_SINTAX)
- SLOT_INTERFACE_INTERNAL("rom_chong", GB_ROM_CHONGWU)
- SLOT_INTERFACE_INTERNAL("rom_licheng", GB_ROM_LICHENG)
- SLOT_INTERFACE_INTERNAL("rom_digimon", GB_ROM_DIGIMON)
- SLOT_INTERFACE_INTERNAL("rom_rock8", GB_ROM_ROCKMAN8)
- SLOT_INTERFACE_INTERNAL("rom_sm3sp", GB_ROM_SM3SP)
-// SLOT_INTERFACE_INTERNAL("rom_dkong5", GB_ROM_DKONG5)
-// SLOT_INTERFACE_INTERNAL("rom_unk01", GB_ROM_UNK01)
-SLOT_INTERFACE_END
-
-static SLOT_INTERFACE_START(megaduck_cart)
- SLOT_INTERFACE_INTERNAL("rom", MEGADUCK_ROM)
-SLOT_INTERFACE_END
+static void gb_cart(device_slot_interface &device)
+{
+ device.option_add_internal("rom", GB_STD_ROM);
+ device.option_add_internal("rom_mbc1", GB_ROM_MBC1);
+ device.option_add_internal("rom_mbc1col", GB_ROM_MBC1);
+ device.option_add_internal("rom_mbc2", GB_ROM_MBC2);
+ device.option_add_internal("rom_mbc3", GB_ROM_MBC3);
+ device.option_add_internal("rom_huc1", GB_ROM_MBC3);
+ device.option_add_internal("rom_huc3", GB_ROM_MBC3);
+ device.option_add_internal("rom_mbc5", GB_ROM_MBC5);
+ device.option_add_internal("rom_mbc6", GB_ROM_MBC6);
+ device.option_add_internal("rom_mbc7", GB_ROM_MBC7);
+ device.option_add_internal("rom_tama5", GB_ROM_TAMA5);
+ device.option_add_internal("rom_mmm01", GB_ROM_MMM01);
+ device.option_add_internal("rom_m161", GB_ROM_M161);
+ device.option_add_internal("rom_sachen1", GB_ROM_SACHEN1);
+ device.option_add_internal("rom_sachen2", GB_ROM_SACHEN2);
+ device.option_add_internal("rom_wisdom", GB_ROM_WISDOM);
+ device.option_add_internal("rom_yong", GB_ROM_YONG);
+ device.option_add_internal("rom_lasama", GB_ROM_LASAMA);
+ device.option_add_internal("rom_atvrac", GB_ROM_ATVRAC);
+ device.option_add_internal("rom_camera", GB_ROM_CAMERA);
+ device.option_add_internal("rom_188in1", GB_ROM_188IN1);
+ device.option_add_internal("rom_sintax", GB_ROM_SINTAX);
+ device.option_add_internal("rom_chong", GB_ROM_CHONGWU);
+ device.option_add_internal("rom_licheng", GB_ROM_LICHENG);
+ device.option_add_internal("rom_digimon", GB_ROM_DIGIMON);
+ device.option_add_internal("rom_rock8", GB_ROM_ROCKMAN8);
+ device.option_add_internal("rom_sm3sp", GB_ROM_SM3SP);
+// device.option_add_internal("rom_dkong5", GB_ROM_DKONG5);
+// device.option_add_internal("rom_unk01", GB_ROM_UNK01);
+}
+
+static void megaduck_cart(device_slot_interface &device)
+{
+ device.option_add_internal("rom", MEGADUCK_ROM);
+}
diff --git a/src/mame/drivers/gba.cpp b/src/mame/drivers/gba.cpp
index 4f671858b35..fdc931e2916 100644
--- a/src/mame/drivers/gba.cpp
+++ b/src/mame/drivers/gba.cpp
@@ -1410,23 +1410,24 @@ void gba_state::machine_start()
}
-static SLOT_INTERFACE_START(gba_cart)
- SLOT_INTERFACE_INTERNAL("gba_rom", GBA_ROM_STD)
- SLOT_INTERFACE_INTERNAL("gba_sram", GBA_ROM_SRAM)
- SLOT_INTERFACE_INTERNAL("gba_drilldoz", GBA_ROM_DRILLDOZ) // Rumble output unemulated
- SLOT_INTERFACE_INTERNAL("gba_wariotws", GBA_ROM_WARIOTWS) // Rumble output unemulated
- SLOT_INTERFACE_INTERNAL("gba_eeprom", GBA_ROM_EEPROM)
- SLOT_INTERFACE_INTERNAL("gba_eeprom_4k", GBA_ROM_EEPROM)
- SLOT_INTERFACE_INTERNAL("gba_yoshiug", GBA_ROM_YOSHIUG)
- SLOT_INTERFACE_INTERNAL("gba_eeprom_64k", GBA_ROM_EEPROM64)
- SLOT_INTERFACE_INTERNAL("gba_boktai", GBA_ROM_BOKTAI)
- SLOT_INTERFACE_INTERNAL("gba_flash", GBA_ROM_FLASH) // Panasonic
- SLOT_INTERFACE_INTERNAL("gba_flash_rtc", GBA_ROM_FLASH_RTC) // Panasonic
- SLOT_INTERFACE_INTERNAL("gba_flash_512", GBA_ROM_FLASH) // Panasonic
- SLOT_INTERFACE_INTERNAL("gba_flash_1m", GBA_ROM_FLASH1M) // Sanyo
- SLOT_INTERFACE_INTERNAL("gba_flash_1m_rtc", GBA_ROM_FLASH1M_RTC) // Sanyo
- SLOT_INTERFACE_INTERNAL("gba_3dmatrix", GBA_ROM_3DMATRIX)
-SLOT_INTERFACE_END
+static void gba_cart(device_slot_interface &device)
+{
+ device.option_add_internal("gba_rom", GBA_ROM_STD);
+ device.option_add_internal("gba_sram", GBA_ROM_SRAM);
+ device.option_add_internal("gba_drilldoz", GBA_ROM_DRILLDOZ); // Rumble output unemulated
+ device.option_add_internal("gba_wariotws", GBA_ROM_WARIOTWS); // Rumble output unemulated
+ device.option_add_internal("gba_eeprom", GBA_ROM_EEPROM);
+ device.option_add_internal("gba_eeprom_4k", GBA_ROM_EEPROM);
+ device.option_add_internal("gba_yoshiug", GBA_ROM_YOSHIUG);
+ device.option_add_internal("gba_eeprom_64k", GBA_ROM_EEPROM64);
+ device.option_add_internal("gba_boktai", GBA_ROM_BOKTAI);
+ device.option_add_internal("gba_flash", GBA_ROM_FLASH); // Panasonic
+ device.option_add_internal("gba_flash_rtc", GBA_ROM_FLASH_RTC); // Panasonic
+ device.option_add_internal("gba_flash_512", GBA_ROM_FLASH); // Panasonic
+ device.option_add_internal("gba_flash_1m", GBA_ROM_FLASH1M); // Sanyo
+ device.option_add_internal("gba_flash_1m_rtc", GBA_ROM_FLASH1M_RTC); // Sanyo
+ device.option_add_internal("gba_3dmatrix", GBA_ROM_3DMATRIX);
+}
MACHINE_CONFIG_START(gba_state::gbadv)
@@ -1451,10 +1452,10 @@ MACHINE_CONFIG_START(gba_state::gbadv)
MCFG_SOUND_ADD("ldacb", DAC_8BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC
MCFG_SOUND_ADD("rdacb", DAC_8BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldaca", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldaca", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdaca", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdaca", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "ldacb", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldacb", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdacb", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdacb", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldaca", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldaca", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdaca", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdaca", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldacb", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldacb", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdacb", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdacb", -1.0, DAC_VREF_NEG_INPUT)
MCFG_GBA_CARTRIDGE_ADD("cartslot", gba_cart, nullptr)
MCFG_SOFTWARE_LIST_ADD("cart_list","gba")
diff --git a/src/mame/drivers/gei.cpp b/src/mame/drivers/gei.cpp
index bcb7a34ee00..104e452b8a1 100644
--- a/src/mame/drivers/gei.cpp
+++ b/src/mame/drivers/gei.cpp
@@ -1004,7 +1004,7 @@ MACHINE_CONFIG_START(gei_state::getrivia)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(gei_state::findout)
diff --git a/src/mame/drivers/gimix.cpp b/src/mame/drivers/gimix.cpp
index 995cebc3a36..d1f1cfb45a2 100644
--- a/src/mame/drivers/gimix.cpp
+++ b/src/mame/drivers/gimix.cpp
@@ -533,10 +533,11 @@ FLOPPY_FORMATS_MEMBER( gimix_state::floppy_formats )
FLOPPY_FLEX_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( gimix_floppies )
- SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
- SLOT_INTERFACE( "8dd", FLOPPY_8_DSDD )
-SLOT_INTERFACE_END
+static void gimix_floppies(device_slot_interface &device)
+{
+ device.option_add("525hd", FLOPPY_525_HD);
+ device.option_add("8dd", FLOPPY_8_DSDD);
+}
#define MCFG_ADDRESS_BANK(tag) \
MCFG_DEVICE_ADD(tag, ADDRESS_MAP_BANK, 0) \
diff --git a/src/mame/drivers/gkigt.cpp b/src/mame/drivers/gkigt.cpp
index b524a67b493..ad23fb327b8 100644
--- a/src/mame/drivers/gkigt.cpp
+++ b/src/mame/drivers/gkigt.cpp
@@ -619,7 +619,7 @@ MACHINE_CONFIG_START(igt_gameking_state::igt_gameking)
MCFG_RS232_PORT_ADD("diag", default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("quart1", sc28c94_device, rx_d_w))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_GFXDECODE_ADD("gfxdecode", "palette", igt_gameking)
diff --git a/src/mame/drivers/go2000.cpp b/src/mame/drivers/go2000.cpp
index 4b181acd502..478c6e99356 100644
--- a/src/mame/drivers/go2000.cpp
+++ b/src/mame/drivers/go2000.cpp
@@ -370,7 +370,7 @@ MACHINE_CONFIG_START(go2000_state::go2000)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
ROM_START( go2000 )
diff --git a/src/mame/drivers/goupil.cpp b/src/mame/drivers/goupil.cpp
index ca0f003307b..ec89e0b8812 100644
--- a/src/mame/drivers/goupil.cpp
+++ b/src/mame/drivers/goupil.cpp
@@ -445,9 +445,10 @@ static INPUT_PORTS_START( goupil_g1 )
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_8) PORT_CHAR('8')
INPUT_PORTS_END
-static SLOT_INTERFACE_START( goupil_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void goupil_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
void goupil_g1_state::machine_start()
{
diff --git a/src/mame/drivers/gp32.cpp b/src/mame/drivers/gp32.cpp
index b09ab860b91..036edd527a2 100644
--- a/src/mame/drivers/gp32.cpp
+++ b/src/mame/drivers/gp32.cpp
@@ -1694,8 +1694,8 @@ MACHINE_CONFIG_START(gp32_state::gp32)
MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // unknown DAC
MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_NVRAM_ADD_1FILL("nvram")
diff --git a/src/mame/drivers/guab.cpp b/src/mame/drivers/guab.cpp
index 9df666b5f28..a0a88b316e6 100644
--- a/src/mame/drivers/guab.cpp
+++ b/src/mame/drivers/guab.cpp
@@ -458,9 +458,10 @@ FLOPPY_FORMATS_MEMBER( guab_state::floppy_formats )
FLOPPY_GUAB_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( guab_floppies )
- SLOT_INTERFACE("dd", FLOPPY_35_DD)
-SLOT_INTERFACE_END
+static void guab_floppies(device_slot_interface &device)
+{
+ device.option_add("dd", FLOPPY_35_DD);
+}
//**************************************************************************
@@ -532,7 +533,7 @@ MACHINE_CONFIG_START(guab_state::guab)
MCFG_RS232_PORT_ADD("rs232_1", default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("acia6850_1", acia6850_device, write_rxd))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("acia6850_1", acia6850_device, write_cts))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("keyboard", acia_1_rs232_defaults)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", acia_1_rs232_defaults)
MCFG_DEVICE_ADD("acia_clock", CLOCK, 153600) // source? the ptm doesn't seem to output any common baud values
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("acia6850_1", acia6850_device, write_txc))
diff --git a/src/mame/drivers/gyruss.cpp b/src/mame/drivers/gyruss.cpp
index e9291a79c7b..c7a95f6cdd6 100644
--- a/src/mame/drivers/gyruss.cpp
+++ b/src/mame/drivers/gyruss.cpp
@@ -523,39 +523,39 @@ MACHINE_CONFIG_START(gyruss_state::gyruss)
MCFG_AY8910_OUTPUT_TYPE(AY8910_DISCRETE_OUTPUT)
MCFG_AY8910_RES_LOADS(RES_K(3.3), RES_K(3.3), RES_K(3.3))
MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(gyruss_state, gyruss_filter0_w))
- MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 0)
- MCFG_SOUND_ROUTE_EX(1, "discrete", 1.0, 1)
- MCFG_SOUND_ROUTE_EX(2, "discrete", 1.0, 2)
+ MCFG_SOUND_ROUTE(0, "discrete", 1.0, 0)
+ MCFG_SOUND_ROUTE(1, "discrete", 1.0, 1)
+ MCFG_SOUND_ROUTE(2, "discrete", 1.0, 2)
MCFG_SOUND_ADD("ay2", AY8910, SOUND_CLOCK/8)
MCFG_AY8910_OUTPUT_TYPE(AY8910_DISCRETE_OUTPUT)
MCFG_AY8910_RES_LOADS(RES_K(3.3), RES_K(3.3), RES_K(3.3))
MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(gyruss_state, gyruss_filter1_w))
- MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 3)
- MCFG_SOUND_ROUTE_EX(1, "discrete", 1.0, 4)
- MCFG_SOUND_ROUTE_EX(2, "discrete", 1.0, 5)
+ MCFG_SOUND_ROUTE(0, "discrete", 1.0, 3)
+ MCFG_SOUND_ROUTE(1, "discrete", 1.0, 4)
+ MCFG_SOUND_ROUTE(2, "discrete", 1.0, 5)
MCFG_SOUND_ADD("ay3", AY8910, SOUND_CLOCK/8)
MCFG_AY8910_OUTPUT_TYPE(AY8910_DISCRETE_OUTPUT)
MCFG_AY8910_RES_LOADS(RES_K(3.3), RES_K(3.3), RES_K(3.3))
MCFG_AY8910_PORT_A_READ_CB(READ8(gyruss_state, gyruss_portA_r))
- MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 6)
- MCFG_SOUND_ROUTE_EX(1, "discrete", 1.0, 7)
- MCFG_SOUND_ROUTE_EX(2, "discrete", 1.0, 8)
+ MCFG_SOUND_ROUTE(0, "discrete", 1.0, 6)
+ MCFG_SOUND_ROUTE(1, "discrete", 1.0, 7)
+ MCFG_SOUND_ROUTE(2, "discrete", 1.0, 8)
MCFG_SOUND_ADD("ay4", AY8910, SOUND_CLOCK/8)
MCFG_AY8910_OUTPUT_TYPE(AY8910_DISCRETE_OUTPUT)
MCFG_AY8910_RES_LOADS(RES_K(3.3), RES_K(3.3), RES_K(3.3))
- MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 9)
- MCFG_SOUND_ROUTE_EX(1, "discrete", 1.0, 10)
- MCFG_SOUND_ROUTE_EX(2, "discrete", 1.0, 11)
+ MCFG_SOUND_ROUTE(0, "discrete", 1.0, 9)
+ MCFG_SOUND_ROUTE(1, "discrete", 1.0, 10)
+ MCFG_SOUND_ROUTE(2, "discrete", 1.0, 11)
MCFG_SOUND_ADD("ay5", AY8910, SOUND_CLOCK/8)
MCFG_AY8910_OUTPUT_TYPE(AY8910_DISCRETE_OUTPUT)
MCFG_AY8910_RES_LOADS(RES_K(3.3), RES_K(3.3), RES_K(3.3))
- MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 12)
- MCFG_SOUND_ROUTE_EX(1, "discrete", 1.0, 13)
- MCFG_SOUND_ROUTE_EX(2, "discrete", 1.0, 14)
+ MCFG_SOUND_ROUTE(0, "discrete", 1.0, 12)
+ MCFG_SOUND_ROUTE(1, "discrete", 1.0, 13)
+ MCFG_SOUND_ROUTE(2, "discrete", 1.0, 14)
MCFG_SOUND_ADD("discrete", DISCRETE, 0)
MCFG_DISCRETE_INTF(gyruss_sound)
diff --git a/src/mame/drivers/h89.cpp b/src/mame/drivers/h89.cpp
index 92d1ca415c6..2dfcf4a2ef3 100644
--- a/src/mame/drivers/h89.cpp
+++ b/src/mame/drivers/h89.cpp
@@ -194,7 +194,7 @@ MACHINE_CONFIG_START(h89_state::h89)
MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, "terminal")
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250", ins8250_uart_device, rx_w))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_timer", h89_state, h89_irq_timer, attotime::from_hz(100))
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/hankin.cpp b/src/mame/drivers/hankin.cpp
index 312345211b9..ec88fb26bd5 100644
--- a/src/mame/drivers/hankin.cpp
+++ b/src/mame/drivers/hankin.cpp
@@ -492,7 +492,7 @@ MACHINE_CONFIG_START(hankin_state::hankin)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
/* Devices */
MCFG_DEVICE_ADD("ic10", PIA6821, 0)
diff --git a/src/mame/drivers/harddriv.cpp b/src/mame/drivers/harddriv.cpp
index 33a6a91a651..fe298971730 100644
--- a/src/mame/drivers/harddriv.cpp
+++ b/src/mame/drivers/harddriv.cpp
@@ -1629,8 +1629,8 @@ MACHINE_CONFIG_START(harddriv_state::ds3)
MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // unknown DAC
MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/hec2hrp.cpp b/src/mame/drivers/hec2hrp.cpp
index 8ba4b81cdc5..a2efc03cfbf 100644
--- a/src/mame/drivers/hec2hrp.cpp
+++ b/src/mame/drivers/hec2hrp.cpp
@@ -404,9 +404,10 @@ FLOPPY_FORMATS_MEMBER( hec2hrp_state::minidisc_formats )
FLOPPY_HMD_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( minidisc_floppies )
- SLOT_INTERFACE("dd", FLOPPY_35_DD)
-SLOT_INTERFACE_END
+static void minidisc_floppies(device_slot_interface &device)
+{
+ device.option_add("dd", FLOPPY_35_DD);
+}
/******************************************************************************/
@@ -479,9 +480,10 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2hrp)
MACHINE_CONFIG_END
-static SLOT_INTERFACE_START( hector_floppies )
- SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
-SLOT_INTERFACE_END
+static void hector_floppies(device_slot_interface &device)
+{
+ device.option_add("525hd", FLOPPY_525_HD);
+}
/*****************************************************************************/
MACHINE_CONFIG_START(hec2hrp_state::hec2mx40)
diff --git a/src/mame/drivers/hh_cop400.cpp b/src/mame/drivers/hh_cop400.cpp
index b5a009a9252..6e21b03bf47 100644
--- a/src/mame/drivers/hh_cop400.cpp
+++ b/src/mame/drivers/hh_cop400.cpp
@@ -1592,7 +1592,7 @@ MACHINE_CONFIG_START(bship82_state::bship82)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("dac", DAC_4BIT_BINARY_WEIGHTED_SIGN_MAGNITUDE, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.125) // see above
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
@@ -1814,7 +1814,7 @@ MACHINE_CONFIG_START(vidchal_state::vidchal)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("dac", DAC_4BIT_BINARY_WEIGHTED_SIGN_MAGNITUDE, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.125) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/hk68v10.cpp b/src/mame/drivers/hk68v10.cpp
index b5b6e19650b..e1839b66567 100644
--- a/src/mame/drivers/hk68v10.cpp
+++ b/src/mame/drivers/hk68v10.cpp
@@ -330,8 +330,9 @@ WRITE16_MEMBER (hk68v10_state::vme_a16_w){
* Original HBUG configuration word: 0x003D = 0000 0000 0011 1101
*/
-static SLOT_INTERFACE_START(hk68_vme_cards)
-SLOT_INTERFACE_END
+static void hk68_vme_cards(device_slot_interface &device)
+{
+}
/*
* Machine configuration
diff --git a/src/mame/drivers/homedata.cpp b/src/mame/drivers/homedata.cpp
index e5e4ffbf4c3..15a3e914722 100644
--- a/src/mame/drivers/homedata.cpp
+++ b/src/mame/drivers/homedata.cpp
@@ -1259,7 +1259,7 @@ MACHINE_CONFIG_START(homedata_state::mrokumei)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
@@ -1315,7 +1315,7 @@ MACHINE_CONFIG_START(homedata_state::reikaids)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
@@ -1368,7 +1368,7 @@ MACHINE_CONFIG_START(homedata_state::pteacher)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(homedata_state::mjkinjas)
diff --git a/src/mame/drivers/homelab.cpp b/src/mame/drivers/homelab.cpp
index 0b7ea55aeaf..e501a8eb9d8 100644
--- a/src/mame/drivers/homelab.cpp
+++ b/src/mame/drivers/homelab.cpp
@@ -768,7 +768,7 @@ MACHINE_CONFIG_START(homelab_state::homelab)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
@@ -801,7 +801,7 @@ MACHINE_CONFIG_START(homelab_state::homelab3)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
@@ -834,7 +834,7 @@ MACHINE_CONFIG_START(homelab_state::brailab4)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
diff --git a/src/mame/drivers/horizon.cpp b/src/mame/drivers/horizon.cpp
index 37d70b08223..d46932a7509 100644
--- a/src/mame/drivers/horizon.cpp
+++ b/src/mame/drivers/horizon.cpp
@@ -155,16 +155,17 @@ DEVICE_INPUT_DEFAULTS_END
#include "bus/s100/seals8k.h"
//#include "bus/s100/wunderbus.h"
-static SLOT_INTERFACE_START( horizon_s100_cards )
- SLOT_INTERFACE("mdsa", S100_MDS_A)
- SLOT_INTERFACE("mdsad", S100_MDS_AD)
- //SLOT_INTERFACE("hram", S100_HRAM)
- //SLOT_INTERFACE("ram32a", S100_RAM32A)
- //SLOT_INTERFACE("ram16a", S100_RAM16A)
- //SLOT_INTERFACE("fpb", S100_FPB)
- SLOT_INTERFACE("8ksc", S100_8K_SC)
- SLOT_INTERFACE("8kscbb", S100_8K_SC_BB)
-SLOT_INTERFACE_END
+static void horizon_s100_cards(device_slot_interface &device)
+{
+ device.option_add("mdsa", S100_MDS_A);
+ device.option_add("mdsad", S100_MDS_AD);
+ //device.option_add("hram", S100_HRAM);
+ //device.option_add("ram32a", S100_RAM32A);
+ //device.option_add("ram16a", S100_RAM16A);
+ //device.option_add("fpb", S100_FPB);
+ device.option_add("8ksc", S100_8K_SC);
+ device.option_add("8kscbb", S100_8K_SC_BB);
+}
@@ -191,7 +192,7 @@ MACHINE_CONFIG_START(horizon_state::horizon)
MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "terminal")
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_L_TAG, i8251_device, write_rxd))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_L_TAG, i8251_device, write_dsr))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_DEVICE_ADD(I8251_R_TAG, I8251, 0)
MCFG_I8251_TXD_HANDLER(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
diff --git a/src/mame/drivers/hp48.cpp b/src/mame/drivers/hp48.cpp
index 626ce407925..3baa6731cc9 100644
--- a/src/mame/drivers/hp48.cpp
+++ b/src/mame/drivers/hp48.cpp
@@ -1287,7 +1287,7 @@ MACHINE_CONFIG_START(hp48_state::hp48_common)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(hp48_state::hp48gx)
diff --git a/src/mame/drivers/hp64k.cpp b/src/mame/drivers/hp64k.cpp
index 357d86e2620..ba2da530261 100644
--- a/src/mame/drivers/hp64k.cpp
+++ b/src/mame/drivers/hp64k.cpp
@@ -1376,9 +1376,10 @@ static INPUT_PORTS_START(hp64k)
PORT_DIPSETTING(0x1e , "19200")
INPUT_PORTS_END
-static SLOT_INTERFACE_START(hp64k_floppies)
- SLOT_INTERFACE("525dd" , FLOPPY_525_DD)
-SLOT_INTERFACE_END
+static void hp64k_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd" , FLOPPY_525_DD);
+}
MACHINE_CONFIG_START(hp64k_state::hp64k)
MCFG_CPU_ADD("cpu" , HP_5061_3011 , 6250000)
diff --git a/src/mame/drivers/hp80.cpp b/src/mame/drivers/hp80.cpp
index 5e8e217bcdd..94f18b34397 100644
--- a/src/mame/drivers/hp80.cpp
+++ b/src/mame/drivers/hp80.cpp
@@ -1361,7 +1361,7 @@ MACHINE_CONFIG_START(hp85_state::hp85)
MCFG_MIXER_ROUTE(ALL_OUTPUTS , "mono" , 0.5 , 0)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0)
MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MCFG_SOUND_ADD("beeper" , BEEP , MASTER_CLOCK / 8192)
MCFG_MIXER_ROUTE(ALL_OUTPUTS , "mono" , 0.5 , 0)
@@ -1370,17 +1370,17 @@ MACHINE_CONFIG_START(hp85_state::hp85)
// Optional ROMs
MCFG_DEVICE_ADD("drawer1", HP80_OPTROM_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_device, NULL, false)
+ MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_devices, NULL, false)
MCFG_DEVICE_ADD("drawer2", HP80_OPTROM_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_device, NULL, false)
+ MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_devices, NULL, false)
MCFG_DEVICE_ADD("drawer3", HP80_OPTROM_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_device, NULL, false)
+ MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_devices, NULL, false)
MCFG_DEVICE_ADD("drawer4", HP80_OPTROM_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_device, NULL, false)
+ MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_devices, NULL, false)
MCFG_DEVICE_ADD("drawer5", HP80_OPTROM_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_device, NULL, false)
+ MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_devices, NULL, false)
MCFG_DEVICE_ADD("drawer6", HP80_OPTROM_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_device, NULL, false)
+ MCFG_DEVICE_SLOT_INTERFACE(hp80_optrom_slot_devices, NULL, false)
// I/O slots
MCFG_HP80_IO_SLOT_ADD("slot1" , 0)
diff --git a/src/mame/drivers/hp9845.cpp b/src/mame/drivers/hp9845.cpp
index bd9bc714594..ffc02ded5d4 100644
--- a/src/mame/drivers/hp9845.cpp
+++ b/src/mame/drivers/hp9845.cpp
@@ -3772,21 +3772,21 @@ MACHINE_CONFIG_START(hp9845_base_state::hp9845_base)
// Here we do away with the distinction between LPU & PPU ROMs: in the end they
// are visible to both CPUs at the same addresses.
MCFG_DEVICE_ADD("drawer1", HP_OPTROM_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_device, NULL, false)
+ MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_devices, NULL, false)
MCFG_DEVICE_ADD("drawer2", HP_OPTROM_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_device, NULL, false)
+ MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_devices, NULL, false)
MCFG_DEVICE_ADD("drawer3", HP_OPTROM_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_device, NULL, false)
+ MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_devices, NULL, false)
MCFG_DEVICE_ADD("drawer4", HP_OPTROM_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_device, NULL, false)
+ MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_devices, NULL, false)
MCFG_DEVICE_ADD("drawer5", HP_OPTROM_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_device, NULL, false)
+ MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_devices, NULL, false)
MCFG_DEVICE_ADD("drawer6", HP_OPTROM_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_device, NULL, false)
+ MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_devices, NULL, false)
MCFG_DEVICE_ADD("drawer7", HP_OPTROM_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_device, NULL, false)
+ MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_devices, NULL, false)
MCFG_DEVICE_ADD("drawer8", HP_OPTROM_SLOT, 0)
- MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_device, NULL, false)
+ MCFG_DEVICE_SLOT_INTERFACE(hp_optrom_slot_devices, NULL, false)
// I/O slots
MCFG_HP9845_IO_SLOT_ADD("slot0")
diff --git a/src/mame/drivers/hp9k_3xx.cpp b/src/mame/drivers/hp9k_3xx.cpp
index 1e9c07c1fe2..5566d158173 100644
--- a/src/mame/drivers/hp9k_3xx.cpp
+++ b/src/mame/drivers/hp9k_3xx.cpp
@@ -391,12 +391,13 @@ READ8_MEMBER(hp9k3xx_state::iocpu_test0_r)
return !m_mlc->get_int();
}
-static SLOT_INTERFACE_START(dio16_cards)
- SLOT_INTERFACE("98544", HPDIO_98544) /* 98544 High Resolution Monochrome Card */
- SLOT_INTERFACE("98603a", HPDIO_98603A) /* 98603A ROM BASIC (4.0) */
- SLOT_INTERFACE("98603b", HPDIO_98603B) /* 98603B ROM BASIC (5.1) */
- SLOT_INTERFACE("98644", HPDIO_98644) /* 98644 Async serial interface */
-SLOT_INTERFACE_END
+static void dio16_cards(device_slot_interface &device)
+{
+ device.option_add("98544", HPDIO_98544); /* 98544 High Resolution Monochrome Card */
+ device.option_add("98603a", HPDIO_98603A); /* 98603A ROM BASIC (4.0) */
+ device.option_add("98603b", HPDIO_98603B); /* 98603B ROM BASIC (5.1) */
+ device.option_add("98644", HPDIO_98644); /* 98644 Async serial interface */
+}
MACHINE_CONFIG_START(hp9k3xx_state::hp9k310)
/* basic machine hardware */
diff --git a/src/mame/drivers/hp_ipc.cpp b/src/mame/drivers/hp_ipc.cpp
index 13e159798f3..4c5da74ce81 100644
--- a/src/mame/drivers/hp_ipc.cpp
+++ b/src/mame/drivers/hp_ipc.cpp
@@ -720,9 +720,10 @@ FLOPPY_FORMATS_MEMBER( hp_ipc_state::floppy_formats )
FLOPPY_HP_IPC_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( hp_ipc_floppies )
- SLOT_INTERFACE( "35dd", SONY_OA_D32W )
-SLOT_INTERFACE_END
+static void hp_ipc_floppies(device_slot_interface &device)
+{
+ device.option_add("35dd", SONY_OA_D32W);
+}
/*
* IRQ levels (page 5-4)
diff --git a/src/mame/drivers/ht68k.cpp b/src/mame/drivers/ht68k.cpp
index 17502b912b6..5bf051971de 100644
--- a/src/mame/drivers/ht68k.cpp
+++ b/src/mame/drivers/ht68k.cpp
@@ -121,9 +121,10 @@ WRITE8_MEMBER(ht68k_state::duart_output)
if (m_floppy) {m_floppy->ss_w(BIT(data,3) ? 0 : 1);}
}
-static SLOT_INTERFACE_START( ht68k_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void ht68k_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
MACHINE_CONFIG_START(ht68k_state::ht68k)
diff --git a/src/mame/drivers/hyhoo.cpp b/src/mame/drivers/hyhoo.cpp
index c486cfa5973..a6cb3173179 100644
--- a/src/mame/drivers/hyhoo.cpp
+++ b/src/mame/drivers/hyhoo.cpp
@@ -258,7 +258,7 @@ MACHINE_CONFIG_START(hyhoo_state::hyhoo)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/hyperspt.cpp b/src/mame/drivers/hyperspt.cpp
index 70ef94c2062..397eb4b0474 100644
--- a/src/mame/drivers/hyperspt.cpp
+++ b/src/mame/drivers/hyperspt.cpp
@@ -341,7 +341,7 @@ MACHINE_CONFIG_START(hyperspt_state::hyperspt)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SOUND_ADD("snsnd", SN76496, XTAL(14'318'181)/8) /* verified on pcb */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
diff --git a/src/mame/drivers/ibm6580.cpp b/src/mame/drivers/ibm6580.cpp
index b6bd808fab5..042f08d5810 100644
--- a/src/mame/drivers/ibm6580.cpp
+++ b/src/mame/drivers/ibm6580.cpp
@@ -875,9 +875,10 @@ void ibm6580_state::video_start()
memset(m_p_videoram, 0x0, 0x1000);
}
-static SLOT_INTERFACE_START( dw_floppies )
- SLOT_INTERFACE( "8sssd", IBM_6360 )
-SLOT_INTERFACE_END
+static void dw_floppies(device_slot_interface &device)
+{
+ device.option_add("8sssd", IBM_6360);
+}
MACHINE_CONFIG_START(ibm6580_state::ibm6580)
MCFG_CPU_ADD("maincpu", I8086, XTAL(14'745'600)/3)
diff --git a/src/mame/drivers/ibmpcjr.cpp b/src/mame/drivers/ibmpcjr.cpp
index 1db58a6c4b8..b03932bbf6f 100644
--- a/src/mame/drivers/ibmpcjr.cpp
+++ b/src/mame/drivers/ibmpcjr.cpp
@@ -501,15 +501,17 @@ image_init_result pcjr_state::load_cart(device_image_interface &image, generic_s
}
-static SLOT_INTERFACE_START( pcjr_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
- SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
-SLOT_INTERFACE_END
-
-static SLOT_INTERFACE_START(pcjr_com)
- SLOT_INTERFACE("microsoft_mouse", MSFT_SERIAL_MOUSE)
- SLOT_INTERFACE("mousesys_mouse", MSYSTEM_SERIAL_MOUSE)
-SLOT_INTERFACE_END
+static void pcjr_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+ device.option_add("35dd", FLOPPY_35_DD);
+}
+
+static void pcjr_com(device_slot_interface &device)
+{
+ device.option_add("microsoft_mouse", MSFT_SERIAL_MOUSE);
+ device.option_add("mousesys_mouse", MSYSTEM_SERIAL_MOUSE);
+}
static const gfx_layout pc_8_charlayout =
{
diff --git a/src/mame/drivers/imds2.cpp b/src/mame/drivers/imds2.cpp
index 703700885ed..8d220318034 100644
--- a/src/mame/drivers/imds2.cpp
+++ b/src/mame/drivers/imds2.cpp
@@ -753,9 +753,10 @@ static GFXDECODE_START(imds2)
GFXDECODE_ENTRY("gfx1" , 0x0000 , imds2_charlayout , 0 , 1)
GFXDECODE_END
-static SLOT_INTERFACE_START( imds2_floppies )
- SLOT_INTERFACE( "8sssd", FLOPPY_8_SSSD )
-SLOT_INTERFACE_END
+static void imds2_floppies(device_slot_interface &device)
+{
+ device.option_add("8sssd", FLOPPY_8_SSSD);
+}
MACHINE_CONFIG_START(imds2_state::imds2)
MCFG_CPU_ADD("ipccpu" , I8085A , IPC_XTAL_Y2 / 2) // 4 MHz
diff --git a/src/mame/drivers/indiana.cpp b/src/mame/drivers/indiana.cpp
index 8cbed13b2a4..a2ce808c564 100644
--- a/src/mame/drivers/indiana.cpp
+++ b/src/mame/drivers/indiana.cpp
@@ -71,15 +71,16 @@ DRIVER_INIT_MEMBER(indiana_state,indiana)
{
}
-SLOT_INTERFACE_START( indiana_isa_cards )
+void indiana_isa_cards(device_slot_interface &device)
+{
// 8-bit
- SLOT_INTERFACE("fdc_at", ISA8_FDC_AT)
- SLOT_INTERFACE("comat", ISA8_COM_AT)
- SLOT_INTERFACE("vga", ISA8_VGA)
+ device.option_add("fdc_at", ISA8_FDC_AT);
+ device.option_add("comat", ISA8_COM_AT);
+ device.option_add("vga", ISA8_VGA);
// 16-bit
- SLOT_INTERFACE("ide", ISA16_IDE)
-SLOT_INTERFACE_END
+ device.option_add("ide", ISA16_IDE);
+}
static DEVICE_INPUT_DEFAULTS_START( keyboard )
DEVICE_INPUT_DEFAULTS( "RS232_TXBAUD", 0xff, RS232_BAUD_1200 )
@@ -110,7 +111,7 @@ MACHINE_CONFIG_START(indiana_state::indiana)
MCFG_RS232_PORT_ADD("keyboard", default_rs232_devices, "keyboard")
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(MFP_TAG, mc68901_device, write_rx))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("keyboard", keyboard)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", keyboard)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/indy_indigo2.cpp b/src/mame/drivers/indy_indigo2.cpp
index 6b28199cb46..b816f0415c8 100644
--- a/src/mame/drivers/indy_indigo2.cpp
+++ b/src/mame/drivers/indy_indigo2.cpp
@@ -230,7 +230,7 @@ MACHINE_CONFIG_START(ip22_state::ip225015)
MCFG_SOUND_ADD("dac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_DEVICE_ADD("scsi", SCSI_PORT, 0)
MCFG_SCSIDEV_ADD("scsi:" SCSI_PORT_DEVICE1, "harddisk", SCSIHD, SCSI_ID_1)
diff --git a/src/mame/drivers/instantm.cpp b/src/mame/drivers/instantm.cpp
index eba75182231..8cfc745594d 100644
--- a/src/mame/drivers/instantm.cpp
+++ b/src/mame/drivers/instantm.cpp
@@ -140,7 +140,7 @@ MACHINE_CONFIG_START(instantm_state::instantm)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/intellec4.cpp b/src/mame/drivers/intellec4.cpp
index a5bb14e76cb..daae3191a46 100644
--- a/src/mame/drivers/intellec4.cpp
+++ b/src/mame/drivers/intellec4.cpp
@@ -835,8 +835,8 @@ MACHINE_CONFIG_START(intellec4_state::intellec4)
MCFG_DEVICE_ADD("promprg", INTEL_IMM6_76, 0)
MCFG_RS232_PORT_ADD("tty", default_rs232_devices, "terminal")
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", tty)
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("null_modem", tty)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", tty)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("null_modem", tty)
MCFG_DEVICE_ADD("bus", INTELLEC4_UNIV_BUS, 518000. / 7)
MCFG_INTELLEC4_UNIV_BUS_ROM_SPACE("prgbank", AS_PROGRAM)
diff --git a/src/mame/drivers/interpro.cpp b/src/mame/drivers/interpro.cpp
index a7126aa3525..9449f6001b2 100644
--- a/src/mame/drivers/interpro.cpp
+++ b/src/mame/drivers/interpro.cpp
@@ -471,10 +471,11 @@ FLOPPY_FORMATS_MEMBER(interpro_state::floppy_formats)
FLOPPY_PC_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START(interpro_floppies)
- SLOT_INTERFACE("525dd", FLOPPY_525_DD)
- SLOT_INTERFACE("35hd", FLOPPY_35_HD)
-SLOT_INTERFACE_END
+static void interpro_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+ device.option_add("35hd", FLOPPY_35_HD);
+}
MACHINE_CONFIG_START(interpro_state::interpro_scc1)
MCFG_DEVICE_MODIFY(INTERPRO_SCC1_TAG)
@@ -511,18 +512,21 @@ MACHINE_CONFIG_START(interpro_state::interpro_scc2)
MCFG_RS232_CTS_HANDLER(DEVWRITELINE(INTERPRO_SCC2_TAG, z80scc_device, ctsb_w))
MACHINE_CONFIG_END
-static SLOT_INTERFACE_START(interpro_scsi_devices)
- SLOT_INTERFACE("harddisk", NSCSI_HARDDISK)
- SLOT_INTERFACE("cdrom", NSCSI_CDROM)
-SLOT_INTERFACE_END
+static void interpro_scsi_devices(device_slot_interface &device)
+{
+ device.option_add("harddisk", NSCSI_HARDDISK);
+ device.option_add("cdrom", NSCSI_CDROM);
+}
-static SLOT_INTERFACE_START(turquoise_scsi_devices)
- SLOT_INTERFACE_INTERNAL(INTERPRO_SCSI_ADAPTER_TAG, NCR53C90A)
-SLOT_INTERFACE_END
+static void turquoise_scsi_devices(device_slot_interface &device)
+{
+ device.option_add_internal(INTERPRO_SCSI_ADAPTER_TAG, NCR53C90A);
+}
-static SLOT_INTERFACE_START(sapphire_scsi_devices)
- SLOT_INTERFACE_INTERNAL(INTERPRO_SCSI_ADAPTER_TAG, NCR53C94)
-SLOT_INTERFACE_END
+static void sapphire_scsi_devices(device_slot_interface &device)
+{
+ device.option_add_internal(INTERPRO_SCSI_ADAPTER_TAG, NCR53C94);
+}
void interpro_state::interpro_scsi_adapter(device_t *device)
{
@@ -645,7 +649,7 @@ MACHINE_CONFIG_START(turquoise_state::turquoise)
// scsi controller
MCFG_NSCSI_ADD(INTERPRO_SCSI_TAG ":7", turquoise_scsi_devices, INTERPRO_SCSI_ADAPTER_TAG, true)
- MCFG_DEVICE_CARD_MACHINE_CONFIG(INTERPRO_SCSI_ADAPTER_TAG, interpro_scsi_adapter)
+ MCFG_SLOT_OPTION_MACHINE_CONFIG(INTERPRO_SCSI_ADAPTER_TAG, interpro_scsi_adapter)
// ethernet controller
MCFG_DEVICE_ADD(INTERPRO_ETH_TAG, I82586, 0)
@@ -697,7 +701,7 @@ MACHINE_CONFIG_START(sapphire_state::sapphire)
// scsi controller
MCFG_NSCSI_ADD(INTERPRO_SCSI_TAG ":7", sapphire_scsi_devices, INTERPRO_SCSI_ADAPTER_TAG, true)
- MCFG_DEVICE_CARD_MACHINE_CONFIG(INTERPRO_SCSI_ADAPTER_TAG, interpro_scsi_adapter)
+ MCFG_SLOT_OPTION_MACHINE_CONFIG(INTERPRO_SCSI_ADAPTER_TAG, interpro_scsi_adapter)
// ethernet controller
MCFG_DEVICE_ADD(INTERPRO_ETH_TAG, I82596_LE16, XTAL(20'000'000))
diff --git a/src/mame/drivers/iq151.cpp b/src/mame/drivers/iq151.cpp
index beb89da7705..5c664519d4d 100644
--- a/src/mame/drivers/iq151.cpp
+++ b/src/mame/drivers/iq151.cpp
@@ -371,20 +371,21 @@ uint32_t iq151_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
return 0;
}
-static SLOT_INTERFACE_START(iq151_cart)
- SLOT_INTERFACE("video32", IQ151_VIDEO32) // video32
- SLOT_INTERFACE("video64", IQ151_VIDEO64) // video64
- SLOT_INTERFACE("grafik" , IQ151_GRAFIK) // Grafik
- SLOT_INTERFACE("disc2" , IQ151_DISC2) // Disc 2
- SLOT_INTERFACE("minigraf" , IQ151_MINIGRAF) // Aritma Minigraf 0507
- SLOT_INTERFACE("ms151a" , IQ151_MS151A) // MS151A XY Plotter
- SLOT_INTERFACE("staper" , IQ151_STAPER) // STAPER
- SLOT_INTERFACE("basic6" , IQ151_BASIC6) // BASIC6
- SLOT_INTERFACE("basicg" , IQ151_BASICG) // BASICG
- SLOT_INTERFACE("amos1" , IQ151_AMOS1) // AMOS cart 1
- SLOT_INTERFACE("amos2" , IQ151_AMOS2) // AMOS cart 2
- SLOT_INTERFACE("amos3" , IQ151_AMOS3) // AMOS cart 3
-SLOT_INTERFACE_END
+static void iq151_cart(device_slot_interface &device)
+{
+ device.option_add("video32", IQ151_VIDEO32); // video32
+ device.option_add("video64", IQ151_VIDEO64); // video64
+ device.option_add("grafik", IQ151_GRAFIK); // Grafik
+ device.option_add("disc2", IQ151_DISC2); // Disc 2
+ device.option_add("minigraf", IQ151_MINIGRAF); // Aritma Minigraf 0507
+ device.option_add("ms151a", IQ151_MS151A); // MS151A XY Plotter
+ device.option_add("staper", IQ151_STAPER); // STAPER
+ device.option_add("basic6", IQ151_BASIC6); // BASIC6
+ device.option_add("basicg", IQ151_BASICG); // BASICG
+ device.option_add("amos1", IQ151_AMOS1); // AMOS cart 1
+ device.option_add("amos2", IQ151_AMOS2); // AMOS cart 2
+ device.option_add("amos3", IQ151_AMOS3); // AMOS cart 3
+}
MACHINE_CONFIG_START(iq151_state::iq151)
/* basic machine hardware */
diff --git a/src/mame/drivers/iris3130.cpp b/src/mame/drivers/iris3130.cpp
index 05f8148b24a..1839263c5e0 100644
--- a/src/mame/drivers/iris3130.cpp
+++ b/src/mame/drivers/iris3130.cpp
@@ -437,7 +437,7 @@ MACHINE_CONFIG_START(sgi_ip2_state::sgi_ip2)
MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal")
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("duart68681a", mc68681_device, rx_b_w))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", ip2_terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", ip2_terminal)
MACHINE_CONFIG_END
static INPUT_PORTS_START( sgi_ip2 )
diff --git a/src/mame/drivers/ironhors.cpp b/src/mame/drivers/ironhors.cpp
index 03f21a769fd..a01a00e63d6 100644
--- a/src/mame/drivers/ironhors.cpp
+++ b/src/mame/drivers/ironhors.cpp
@@ -413,10 +413,10 @@ MACHINE_CONFIG_START(ironhors_state::ironhors)
MCFG_SOUND_ADD("ym2203", YM2203, 18432000/6)
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(ironhors_state, filter_w))
- MCFG_SOUND_ROUTE_EX(0, "disc_ih", 1.0, 0)
- MCFG_SOUND_ROUTE_EX(1, "disc_ih", 1.0, 1)
- MCFG_SOUND_ROUTE_EX(2, "disc_ih", 1.0, 2)
- MCFG_SOUND_ROUTE_EX(3, "disc_ih", 1.0, 3)
+ MCFG_SOUND_ROUTE(0, "disc_ih", 1.0, 0)
+ MCFG_SOUND_ROUTE(1, "disc_ih", 1.0, 1)
+ MCFG_SOUND_ROUTE(2, "disc_ih", 1.0, 2)
+ MCFG_SOUND_ROUTE(3, "disc_ih", 1.0, 3)
MCFG_SOUND_ADD("disc_ih", DISCRETE, 0)
MCFG_DISCRETE_INTF(ironhors)
diff --git a/src/mame/drivers/isbc.cpp b/src/mame/drivers/isbc.cpp
index d1a4faa0f47..e71018506ca 100644
--- a/src/mame/drivers/isbc.cpp
+++ b/src/mame/drivers/isbc.cpp
@@ -380,7 +380,7 @@ MACHINE_CONFIG_START(isbc_state::isbc86)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_rxd))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_cts))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_dsr))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", isbc86_terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", isbc86_terminal)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(isbc_state::rpc86)
@@ -414,7 +414,7 @@ MACHINE_CONFIG_START(isbc_state::rpc86)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_rxd))
//MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_cts))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_dsr))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", isbc286_terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", isbc286_terminal)
MCFG_ISBX_SLOT_ADD("sbx1", 0, isbx_cards, nullptr)
//MCFG_ISBX_SLOT_MINTR0_CALLBACK(DEVWRITELINE("pic_0", pic8259_device, ir3_w))
@@ -535,7 +535,7 @@ MACHINE_CONFIG_START(isbc_state::isbc286)
MCFG_RS232_DCD_HANDLER(DEVWRITELINE("uart8274", i8274_new_device, dcdb_w))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart8274", i8274_new_device, ctsb_w))
#endif
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", isbc286_terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", isbc286_terminal)
MCFG_ISBX_SLOT_ADD("sbx1", 0, isbx_cards, nullptr)
MCFG_ISBX_SLOT_MINTR0_CALLBACK(DEVWRITELINE("pic_1", pic8259_device, ir3_w))
diff --git a/src/mame/drivers/isbc8010.cpp b/src/mame/drivers/isbc8010.cpp
index 6391f15f898..7d97e86b944 100644
--- a/src/mame/drivers/isbc8010.cpp
+++ b/src/mame/drivers/isbc8010.cpp
@@ -188,7 +188,7 @@ MACHINE_CONFIG_START(isbc8010_state::isbc8010)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251A_TAG, i8251_device, write_rxd))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251A_TAG, i8251_device, write_dsr))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE(I8251A_TAG, i8251_device, write_cts))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_DEVICE_ADD("usart_clock", CLOCK, XTAL(18'432'000)/60)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(isbc8010_state, usart_clock_tick))
diff --git a/src/mame/drivers/itt3030.cpp b/src/mame/drivers/itt3030.cpp
index c5ab800c0ae..c5923b44a4e 100644
--- a/src/mame/drivers/itt3030.cpp
+++ b/src/mame/drivers/itt3030.cpp
@@ -661,10 +661,11 @@ FLOPPY_FORMATS_MEMBER( itt3030_state::itt3030_floppy_formats )
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( itt3030_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void itt3030_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+ device.option_add("525qd", FLOPPY_525_QD);
+}
diff --git a/src/mame/drivers/jaguar.cpp b/src/mame/drivers/jaguar.cpp
index 3e4f2ba28e1..cf266c2a000 100644
--- a/src/mame/drivers/jaguar.cpp
+++ b/src/mame/drivers/jaguar.cpp
@@ -396,9 +396,10 @@ public:
DEFINE_DEVICE_TYPE(COJAG_HARDDISK, cojag_hdd, "cojag_hdd", "HDD CoJag")
-SLOT_INTERFACE_START(cojag_devices)
- SLOT_INTERFACE("hdd", COJAG_HARDDISK)
-SLOT_INTERFACE_END
+void cojag_devices(device_slot_interface &device)
+{
+ device.option_add("hdd", COJAG_HARDDISK);
+}
/*************************************
*
@@ -1844,8 +1845,8 @@ MACHINE_CONFIG_START(jaguar_state::cojagr3k)
MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // unknown DAC
MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(jaguar_state::cojagr3k_rom)
@@ -1891,8 +1892,8 @@ MACHINE_CONFIG_START(jaguar_state::jaguar)
MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // unknown DAC
MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
/* quickload */
MCFG_QUICKLOAD_ADD("quickload", jaguar_state, jaguar, "abs,bin,cof,jag,prg", 2)
diff --git a/src/mame/drivers/jankenmn.cpp b/src/mame/drivers/jankenmn.cpp
index c74db0bff83..d01457c0c46 100644
--- a/src/mame/drivers/jankenmn.cpp
+++ b/src/mame/drivers/jankenmn.cpp
@@ -413,7 +413,7 @@ MACHINE_CONFIG_START(jankenmn_state::jankenmn)
MCFG_SOUND_ADD("dac", AD7523, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/juicebox.cpp b/src/mame/drivers/juicebox.cpp
index e09efe19829..e8539384b24 100644
--- a/src/mame/drivers/juicebox.cpp
+++ b/src/mame/drivers/juicebox.cpp
@@ -322,7 +322,7 @@ MACHINE_CONFIG_START(juicebox_state::juicebox)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_DEVICE_ADD("s3c44b0", S3C44B0, 10000000)
MCFG_S3C44B0_GPIO_PORT_R_CB(READ32(juicebox_state, s3c44b0_gpio_port_r))
diff --git a/src/mame/drivers/junofrst.cpp b/src/mame/drivers/junofrst.cpp
index 415f11e50ef..705e10df256 100644
--- a/src/mame/drivers/junofrst.cpp
+++ b/src/mame/drivers/junofrst.cpp
@@ -451,7 +451,7 @@ MACHINE_CONFIG_START(junofrst_state::junofrst)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // 100K (R56-63)/200K (R64-71) ladder network
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_FILTER_RC_ADD("filter.0.0", 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
diff --git a/src/mame/drivers/jupiter.cpp b/src/mame/drivers/jupiter.cpp
index da9ce376529..f340242bca1 100644
--- a/src/mame/drivers/jupiter.cpp
+++ b/src/mame/drivers/jupiter.cpp
@@ -236,9 +236,10 @@ uint32_t jupiter3_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
// DEVICE CONFIGURATION
//**************************************************************************
-static SLOT_INTERFACE_START( jupiter_floppies )
- SLOT_INTERFACE( "525ssdd", FLOPPY_525_SSDD )
-SLOT_INTERFACE_END
+static void jupiter_floppies(device_slot_interface &device)
+{
+ device.option_add("525ssdd", FLOPPY_525_SSDD);
+}
//**************************************************************************
diff --git a/src/mame/drivers/kaypro.cpp b/src/mame/drivers/kaypro.cpp
index 05ea1ce4fab..9059bd0486d 100644
--- a/src/mame/drivers/kaypro.cpp
+++ b/src/mame/drivers/kaypro.cpp
@@ -187,11 +187,12 @@ static const z80_daisy_config kaypro484_daisy_chain[] =
************************************************************/
-static SLOT_INTERFACE_START( kaypro_floppies )
- SLOT_INTERFACE( "525ssdd", FLOPPY_525_SSDD )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void kaypro_floppies(device_slot_interface &device)
+{
+ device.option_add("525ssdd", FLOPPY_525_SSDD);
+ device.option_add("525dd", FLOPPY_525_DD);
+ device.option_add("525qd", FLOPPY_525_QD);
+}
MACHINE_CONFIG_START(kaypro_state::kayproii)
diff --git a/src/mame/drivers/kc.cpp b/src/mame/drivers/kc.cpp
index 4928d691ca1..31fc08ab382 100644
--- a/src/mame/drivers/kc.cpp
+++ b/src/mame/drivers/kc.cpp
@@ -75,23 +75,25 @@ static const z80_daisy_config kc85_daisy_chain[] =
{ nullptr }
};
-extern SLOT_INTERFACE_START(kc85_cart)
- SLOT_INTERFACE("standard", KC_STANDARD) // standard 8KB ROM module
- SLOT_INTERFACE("m006", KC_M006) // BASIC
- SLOT_INTERFACE("m011", KC_M011) // 64KB RAM
- SLOT_INTERFACE("m022", KC_M022) // 16KB RAM
- SLOT_INTERFACE("m032", KC_M032) // 256KB segmented RAM
- SLOT_INTERFACE("m033", KC_M033) // TypeStar
- SLOT_INTERFACE("m034", KC_M034) // 512KB segmented RAM
- SLOT_INTERFACE("m035", KC_M035) // 1MB segmented RAM
- SLOT_INTERFACE("m036", KC_M036) // 128KB segmented RAM
-SLOT_INTERFACE_END
-
-extern SLOT_INTERFACE_START(kc85_exp)
- SLOT_INTERFACE("d002", KC_D002) // D002 Bus Driver
- SLOT_INTERFACE("d004", KC_D004) // D004 Floppy Disk Interface
- SLOT_INTERFACE("d004gide", KC_D004_GIDE) // D004 Floppy Disk + GIDE Interface
-SLOT_INTERFACE_END
+void kc85_cart(device_slot_interface &device)
+{
+ device.option_add("standard", KC_STANDARD); // standard 8KB ROM module
+ device.option_add("m006", KC_M006); // BASIC
+ device.option_add("m011", KC_M011); // 64KB RAM
+ device.option_add("m022", KC_M022); // 16KB RAM
+ device.option_add("m032", KC_M032); // 256KB segmented RAM
+ device.option_add("m033", KC_M033); // TypeStar
+ device.option_add("m034", KC_M034); // 512KB segmented RAM
+ device.option_add("m035", KC_M035); // 1MB segmented RAM
+ device.option_add("m036", KC_M036); // 128KB segmented RAM
+}
+
+void kc85_exp(device_slot_interface &device)
+{
+ device.option_add("d002", KC_D002); // D002 Bus Driver
+ device.option_add("d004", KC_D004); // D004 Floppy Disk Interface
+ device.option_add("d004gide", KC_D004_GIDE); // D004 Floppy Disk + GIDE Interface
+}
MACHINE_CONFIG_START(kc_state::kc85_3)
diff --git a/src/mame/drivers/kchamp.cpp b/src/mame/drivers/kchamp.cpp
index 53b9f3186b8..07965a544d2 100644
--- a/src/mame/drivers/kchamp.cpp
+++ b/src/mame/drivers/kchamp.cpp
@@ -512,7 +512,7 @@ MACHINE_CONFIG_START(kchamp_state::kchamp)
MCFG_SOUND_ADD("dac", DAC08, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // IC11
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/kdt6.cpp b/src/mame/drivers/kdt6.cpp
index f60af6c1ddc..0be9d8f4e9e 100644
--- a/src/mame/drivers/kdt6.cpp
+++ b/src/mame/drivers/kdt6.cpp
@@ -222,9 +222,10 @@ INPUT_PORTS_END
// FLOPPY
//**************************************************************************
-static SLOT_INTERFACE_START( kdt6_floppies )
- SLOT_INTERFACE("fd55f", TEAC_FD_55F)
-SLOT_INTERFACE_END
+static void kdt6_floppies(device_slot_interface &device)
+{
+ device.option_add("fd55f", TEAC_FD_55F);
+}
WRITE8_MEMBER( kdt6_state::fdc_tc_w )
{
diff --git a/src/mame/drivers/kingobox.cpp b/src/mame/drivers/kingobox.cpp
index 43a3c99c6b7..64208a14142 100644
--- a/src/mame/drivers/kingobox.cpp
+++ b/src/mame/drivers/kingobox.cpp
@@ -516,7 +516,7 @@ MACHINE_CONFIG_START(kingofb_state::kingofb)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.125) // 100K (R30-44 even)/200K (R31-45 odd) ladder network
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
@@ -575,7 +575,7 @@ MACHINE_CONFIG_START(kingofb_state::ringking)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.125) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/konamigx.cpp b/src/mame/drivers/konamigx.cpp
index 810c3d8e12b..a800d7fea07 100644
--- a/src/mame/drivers/konamigx.cpp
+++ b/src/mame/drivers/konamigx.cpp
@@ -1686,15 +1686,15 @@ MACHINE_CONFIG_START(konamigx_state::konamigx)
MCFG_DEVICE_ADD("k054539_1", K054539, XTAL(18'432'000))
MCFG_DEVICE_ROM("k054539")
MCFG_K054539_TIMER_HANDLER(WRITELINE(konamigx_state, k054539_irq_gen))
- MCFG_SOUND_ROUTE_EX(0, "dasp", 0.5, 0)
- MCFG_SOUND_ROUTE_EX(1, "dasp", 0.5, 1)
+ MCFG_SOUND_ROUTE(0, "dasp", 0.5, 0)
+ MCFG_SOUND_ROUTE(1, "dasp", 0.5, 1)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MCFG_DEVICE_ADD("k054539_2", K054539, XTAL(18'432'000))
MCFG_DEVICE_ROM("k054539")
- MCFG_SOUND_ROUTE_EX(0, "dasp", 0.5, 2)
- MCFG_SOUND_ROUTE_EX(1, "dasp", 0.5, 3)
+ MCFG_SOUND_ROUTE(0, "dasp", 0.5, 2)
+ MCFG_SOUND_ROUTE(1, "dasp", 0.5, 3)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ksayakyu.cpp b/src/mame/drivers/ksayakyu.cpp
index 226c7850a08..09c398b1c66 100644
--- a/src/mame/drivers/ksayakyu.cpp
+++ b/src/mame/drivers/ksayakyu.cpp
@@ -302,7 +302,7 @@ MACHINE_CONFIG_START(ksayakyu_state::ksayakyu)
MCFG_SOUND_ADD("dac", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
ROM_START( ksayakyu )
diff --git a/src/mame/drivers/ksys573.cpp b/src/mame/drivers/ksys573.cpp
index 9b1fee69676..135d9560181 100644
--- a/src/mame/drivers/ksys573.cpp
+++ b/src/mame/drivers/ksys573.cpp
@@ -2417,7 +2417,7 @@ MACHINE_CONFIG_START(ksys573_state::hyperbbc)
cassy(config); // The game doesn't check the security chip
MCFG_DEVICE_MODIFY( "cassette" )
- MCFG_DEVICE_CARD_MACHINE_CONFIG( "game", hyperbbc_cassette_install )
+ MCFG_SLOT_OPTION_MACHINE_CONFIG( "game", hyperbbc_cassette_install )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(ksys573_state::hypbbc2p)
@@ -2425,7 +2425,7 @@ MACHINE_CONFIG_START(ksys573_state::hypbbc2p)
cassy(config);
MCFG_DEVICE_MODIFY( "cassette" )
- MCFG_DEVICE_CARD_MACHINE_CONFIG( "game", hypbbc2p_cassette_install )
+ MCFG_SLOT_OPTION_MACHINE_CONFIG( "game", hypbbc2p_cassette_install )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(ksys573_state::salarymc)
@@ -2433,7 +2433,7 @@ MACHINE_CONFIG_START(ksys573_state::salarymc)
cassyi(config);
MCFG_DEVICE_MODIFY( "cassette" )
- MCFG_DEVICE_CARD_MACHINE_CONFIG( "game", salarymc_cassette_install )
+ MCFG_SLOT_OPTION_MACHINE_CONFIG( "game", salarymc_cassette_install )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(ksys573_state::gchgchmp)
@@ -2451,7 +2451,7 @@ MACHINE_CONFIG_START(ksys573_state::pnchmn)
pccard1_32mb(config);
MCFG_DEVICE_MODIFY( "cassette" )
- MCFG_DEVICE_CARD_MACHINE_CONFIG( "game", punchmania_cassette_install )
+ MCFG_SLOT_OPTION_MACHINE_CONFIG( "game", punchmania_cassette_install )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(ksys573_state::pnchmn2)
diff --git a/src/mame/drivers/ladyfrog.cpp b/src/mame/drivers/ladyfrog.cpp
index e0c7a3b9d82..ad56581f06c 100644
--- a/src/mame/drivers/ladyfrog.cpp
+++ b/src/mame/drivers/ladyfrog.cpp
@@ -342,7 +342,7 @@ MACHINE_CONFIG_START(ladyfrog_state::ladyfrog)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(ladyfrog_state::toucheme)
diff --git a/src/mame/drivers/laserbas.cpp b/src/mame/drivers/laserbas.cpp
index 3e8c5ef0666..44b09b776ed 100644
--- a/src/mame/drivers/laserbas.cpp
+++ b/src/mame/drivers/laserbas.cpp
@@ -455,12 +455,12 @@ MACHINE_CONFIG_START(laserbas_state::laserbas)
MCFG_SOUND_ADD("dac5", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.16)
MCFG_SOUND_ADD("dac6", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.16)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac3", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac4", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac5", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac6", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac3", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac4", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac4", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac5", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac5", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac6", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac6", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/lasso.cpp b/src/mame/drivers/lasso.cpp
index 297d96d493f..e1bd72552c7 100644
--- a/src/mame/drivers/lasso.cpp
+++ b/src/mame/drivers/lasso.cpp
@@ -582,7 +582,7 @@ MACHINE_CONFIG_START(lasso_state::wwjgtin)
/* sound hardware */
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(lasso_state::pinbo)
diff --git a/src/mame/drivers/lazercmd.cpp b/src/mame/drivers/lazercmd.cpp
index 84c884159f5..09611f0cef0 100644
--- a/src/mame/drivers/lazercmd.cpp
+++ b/src/mame/drivers/lazercmd.cpp
@@ -658,10 +658,10 @@ MACHINE_CONFIG_START(lazercmd_state::lazercmd)
MCFG_SOUND_ADD("dac2", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99)
MCFG_SOUND_ADD("dac3", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac0", 1.0, DAC_VREF_POS_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
@@ -695,8 +695,8 @@ MACHINE_CONFIG_START(lazercmd_state::medlanes)
MCFG_SOUND_ADD("dac2", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99)
MCFG_SOUND_ADD("dac3", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
@@ -730,8 +730,8 @@ MACHINE_CONFIG_START(lazercmd_state::bbonk)
MCFG_SOUND_ADD("dac2", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99)
MCFG_SOUND_ADD("dac3", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac3", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac3", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mame/drivers/lb186.cpp b/src/mame/drivers/lb186.cpp
index 220c8ee3f04..4c5735ae2b0 100644
--- a/src/mame/drivers/lb186.cpp
+++ b/src/mame/drivers/lb186.cpp
@@ -108,9 +108,10 @@ void lb186_state::lb186_io(address_map &map)
map(0x1200, 0x1200).w(this, FUNC(lb186_state::drive_sel_w));
}
-static SLOT_INTERFACE_START( lb186_floppies )
- SLOT_INTERFACE("525dd", FLOPPY_525_DD)
-SLOT_INTERFACE_END
+static void lb186_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
void lb186_state::ncr5380(device_t *device)
{
@@ -121,10 +122,11 @@ void lb186_state::ncr5380(device_t *device)
MCFG_NCR5380N_DRQ_HANDLER(DEVWRITELINE(":maincpu", i80186_cpu_device, drq0_w))
}
-static SLOT_INTERFACE_START( scsi_devices )
- SLOT_INTERFACE("harddisk", NSCSI_HARDDISK)
- SLOT_INTERFACE_INTERNAL("ncr5380", NCR5380N)
-SLOT_INTERFACE_END
+static void scsi_devices(device_slot_interface &device)
+{
+ device.option_add("harddisk", NSCSI_HARDDISK);
+ device.option_add_internal("ncr5380", NCR5380N);
+}
FLOPPY_FORMATS_MEMBER( lb186_state::floppy_formats )
FLOPPY_PC_FORMAT,
@@ -164,7 +166,7 @@ MACHINE_CONFIG_START(lb186_state::lb186)
MCFG_NSCSI_ADD("scsibus:5", scsi_devices, nullptr, false)
MCFG_NSCSI_ADD("scsibus:6", scsi_devices, nullptr, false)
MCFG_NSCSI_ADD("scsibus:7", scsi_devices, "ncr5380", true)
- MCFG_DEVICE_CARD_MACHINE_CONFIG("ncr5380", lb186_state::ncr5380)
+ MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr5380", lb186_state::ncr5380)
MACHINE_CONFIG_END
ROM_START( lb186 )
diff --git a/src/mame/drivers/leland.cpp b/src/mame/drivers/leland.cpp
index aa588923fa6..f8f6fc43bf7 100644
--- a/src/mame/drivers/leland.cpp
+++ b/src/mame/drivers/leland.cpp
@@ -1043,8 +1043,8 @@ MACHINE_CONFIG_START(leland_state::leland)
MCFG_SOUND_ADD("dac0", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625) // ls374.u79 + r17-r23 (24k,12k,6.2k,3k,1.5k,750,390,180)
MCFG_SOUND_ADD("dac1", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625) // ls374.u88 + r27-r34 (24k,12k,6.2k,3k,1.5k,750,390,180)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac0", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac0", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/littlerb.cpp b/src/mame/drivers/littlerb.cpp
index cc8de0fda9b..863784d23cc 100644
--- a/src/mame/drivers/littlerb.cpp
+++ b/src/mame/drivers/littlerb.cpp
@@ -298,8 +298,8 @@ MACHINE_CONFIG_START(littlerb_state::littlerb)
MCFG_SOUND_ADD("ldac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC
MCFG_SOUND_ADD("rdac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
ROM_START( littlerb )
diff --git a/src/mame/drivers/looping.cpp b/src/mame/drivers/looping.cpp
index 7e329792df6..0e50e0c4714 100644
--- a/src/mame/drivers/looping.cpp
+++ b/src/mame/drivers/looping.cpp
@@ -685,7 +685,7 @@ MACHINE_CONFIG_START(looping_state::looping)
MCFG_SOUND_ADD("dac", DAC_2BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.15) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_DEVICE_ADD("sen0", LS259, 0) // B3 on sound board
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(looping_state, looping_souint_clr))
diff --git a/src/mame/drivers/luckybal.cpp b/src/mame/drivers/luckybal.cpp
index b06cce32f84..d7ecf4d13ba 100644
--- a/src/mame/drivers/luckybal.cpp
+++ b/src/mame/drivers/luckybal.cpp
@@ -550,7 +550,7 @@ MACHINE_CONFIG_START(luckybal_state::luckybal)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC08, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // DAC 08
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/m20.cpp b/src/mame/drivers/m20.cpp
index 8713a796516..68197116455 100644
--- a/src/mame/drivers/m20.cpp
+++ b/src/mame/drivers/m20.cpp
@@ -772,18 +772,20 @@ void m20_state::machine_reset()
}
-static SLOT_INTERFACE_START( m20_floppies )
- SLOT_INTERFACE( "5dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void m20_floppies(device_slot_interface &device)
+{
+ device.option_add("5dd", FLOPPY_525_DD);
+}
FLOPPY_FORMATS_MEMBER( m20_state::floppy_formats )
FLOPPY_M20_FORMAT,
FLOPPY_PC_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START(keyboard)
- SLOT_INTERFACE("m20", M20_KEYBOARD)
-SLOT_INTERFACE_END
+static void keyboard(device_slot_interface &device)
+{
+ device.option_add("m20", M20_KEYBOARD);
+}
MACHINE_CONFIG_START(m20_state::m20)
/* basic machine hardware */
diff --git a/src/mame/drivers/m5.cpp b/src/mame/drivers/m5.cpp
index b42bec05d3c..5b32de5e738 100644
--- a/src/mame/drivers/m5.cpp
+++ b/src/mame/drivers/m5.cpp
@@ -980,14 +980,16 @@ FLOPPY_FORMATS_MEMBER( m5_state::floppy_formats )
FLOPPY_M5_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( m5_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void m5_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
-static SLOT_INTERFACE_START(m5_cart)
- SLOT_INTERFACE_INTERNAL("std", M5_ROM_STD)
- SLOT_INTERFACE_INTERNAL("ram", M5_ROM_RAM)
-SLOT_INTERFACE_END
+static void m5_cart(device_slot_interface &device)
+{
+ device.option_add_internal("std", M5_ROM_STD);
+ device.option_add_internal("ram", M5_ROM_RAM);
+}
//-------------------------------------------------
// z80_daisy_config m5_daisy_chain
@@ -1211,9 +1213,10 @@ FLOPPY_FORMATS_MEMBER( brno_state::floppy_formats )
FLOPPY_DSK_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( brno_floppies )
- SLOT_INTERFACE("35hd", FLOPPY_35_DD)
-SLOT_INTERFACE_END
+static void brno_floppies(device_slot_interface &device)
+{
+ device.option_add("35hd", FLOPPY_35_DD);
+}
//**************************************************************************
diff --git a/src/mame/drivers/m72.cpp b/src/mame/drivers/m72.cpp
index bc66a2b443b..263a1a8637f 100644
--- a/src/mame/drivers/m72.cpp
+++ b/src/mame/drivers/m72.cpp
@@ -1878,7 +1878,7 @@ MACHINE_CONFIG_START(m72_state::m72_audio_chips)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(m72_state::m72_base)
diff --git a/src/mame/drivers/m90.cpp b/src/mame/drivers/m90.cpp
index 286bf58795a..69a35eaef30 100644
--- a/src/mame/drivers/m90.cpp
+++ b/src/mame/drivers/m90.cpp
@@ -767,7 +767,7 @@ MACHINE_CONFIG_START(m90_state::m90)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mac.cpp b/src/mame/drivers/mac.cpp
index 18d0f433053..1ee8b801fe2 100644
--- a/src/mame/drivers/mac.cpp
+++ b/src/mame/drivers/mac.cpp
@@ -884,39 +884,43 @@ static const applefdc_interface mac_iwm_interface =
sony_read_status
};
-static SLOT_INTERFACE_START(mac_nubus_cards)
- SLOT_INTERFACE("m2video", NUBUS_M2VIDEO) /* Apple Macintosh II Video Card */
- SLOT_INTERFACE("48gc", NUBUS_48GC) /* Apple 4*8 Graphics Card */
- SLOT_INTERFACE("824gc", NUBUS_824GC) /* Apple 8*24 Graphics Card */
- SLOT_INTERFACE("cb264", NUBUS_CB264) /* RasterOps ColorBoard 264 */
- SLOT_INTERFACE("vikbw", NUBUS_VIKBW) /* Moniterm Viking board */
- SLOT_INTERFACE("image", NUBUS_IMAGE) /* Disk Image Pseudo-Card */
- SLOT_INTERFACE("specpdq", NUBUS_SPECPDQ) /* SuperMac Spectrum PDQ */
- SLOT_INTERFACE("m2hires", NUBUS_M2HIRES) /* Apple Macintosh II Hi-Resolution Card */
- SLOT_INTERFACE("spec8s3", NUBUS_SPEC8S3) /* SuperMac Spectrum/8 Series III */
-// SLOT_INTERFACE("thundergx", NUBUS_THUNDERGX) /* Radius Thunder GX (not yet) */
- SLOT_INTERFACE("radiustpd", NUBUS_RADIUSTPD) /* Radius Two Page Display */
- SLOT_INTERFACE("asmc3nb", NUBUS_ASNTMC3NB) /* Asante MC3NB Ethernet card */
- SLOT_INTERFACE("portrait", NUBUS_WSPORTRAIT) /* Apple Macintosh II Portrait video card */
- SLOT_INTERFACE("enetnb", NUBUS_APPLEENET) /* Apple NuBus Ethernet */
- SLOT_INTERFACE("bootbug", NUBUS_BOOTBUG) /* Brigent BootBug debugger card */
- SLOT_INTERFACE("quadralink", NUBUS_QUADRALINK) /* AE Quadralink serial card */
-SLOT_INTERFACE_END
-
-static SLOT_INTERFACE_START(mac_pds030_cards)
- SLOT_INTERFACE("cb264", PDS030_CB264SE30) // RasterOps Colorboard 264/SE30
- SLOT_INTERFACE("pc816", PDS030_PROCOLOR816) // Lapis ProColor Server 8*16 PDS
- SLOT_INTERFACE("lview", PDS030_LVIEW) // Sigma Designs L-View
- SLOT_INTERFACE("30hr", PDS030_XCEED30HR) // Micron/XCEED Technology Color 30HR
- SLOT_INTERFACE("mc30", PDS030_XCEEDMC30) // Micron/XCEED Technology MacroColor 30
-SLOT_INTERFACE_END
-
-static SLOT_INTERFACE_START(mac_sepds_cards)
- SLOT_INTERFACE("radiusfpd", PDS_SEDISPLAY) // Radius Full Page Display card for SE
-SLOT_INTERFACE_END
-
-static SLOT_INTERFACE_START(mac_lcpds_cards)
-SLOT_INTERFACE_END
+static void mac_nubus_cards(device_slot_interface &device)
+{
+ device.option_add("m2video", NUBUS_M2VIDEO); /* Apple Macintosh II Video Card */
+ device.option_add("48gc", NUBUS_48GC); /* Apple 4*8 Graphics Card */
+ device.option_add("824gc", NUBUS_824GC); /* Apple 8*24 Graphics Card */
+ device.option_add("cb264", NUBUS_CB264); /* RasterOps ColorBoard 264 */
+ device.option_add("vikbw", NUBUS_VIKBW); /* Moniterm Viking board */
+ device.option_add("image", NUBUS_IMAGE); /* Disk Image Pseudo-Card */
+ device.option_add("specpdq", NUBUS_SPECPDQ); /* SuperMac Spectrum PDQ */
+ device.option_add("m2hires", NUBUS_M2HIRES); /* Apple Macintosh II Hi-Resolution Card */
+ device.option_add("spec8s3", NUBUS_SPEC8S3); /* SuperMac Spectrum/8 Series III */
+// device.option_add("thundergx", NUBUS_THUNDERGX); /* Radius Thunder GX (not yet) */
+ device.option_add("radiustpd", NUBUS_RADIUSTPD); /* Radius Two Page Display */
+ device.option_add("asmc3nb", NUBUS_ASNTMC3NB); /* Asante MC3NB Ethernet card */
+ device.option_add("portrait", NUBUS_WSPORTRAIT); /* Apple Macintosh II Portrait video card */
+ device.option_add("enetnb", NUBUS_APPLEENET); /* Apple NuBus Ethernet */
+ device.option_add("bootbug", NUBUS_BOOTBUG); /* Brigent BootBug debugger card */
+ device.option_add("quadralink", NUBUS_QUADRALINK); /* AE Quadralink serial card */
+}
+
+static void mac_pds030_cards(device_slot_interface &device)
+{
+ device.option_add("cb264", PDS030_CB264SE30); // RasterOps Colorboard 264/SE30
+ device.option_add("pc816", PDS030_PROCOLOR816); // Lapis ProColor Server 8*16 PDS
+ device.option_add("lview", PDS030_LVIEW); // Sigma Designs L-View
+ device.option_add("30hr", PDS030_XCEED30HR); // Micron/XCEED Technology Color 30HR
+ device.option_add("mc30", PDS030_XCEEDMC30); // Micron/XCEED Technology MacroColor 30
+}
+
+static void mac_sepds_cards(device_slot_interface &device)
+{
+ device.option_add("radiusfpd", PDS_SEDISPLAY); // Radius Full Page Display card for SE
+}
+
+static void mac_lcpds_cards(device_slot_interface &device)
+{
+}
/***************************************************************************
MACHINE DRIVERS
@@ -954,7 +958,7 @@ MACHINE_CONFIG_START(mac_state::mac512ke)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_8BIT_PWM, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // 2 x ls161
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
/* devices */
MCFG_RTC3430042_ADD("rtc", XTAL(32'768))
diff --git a/src/mame/drivers/mac128.cpp b/src/mame/drivers/mac128.cpp
index f88b5cd190d..3f2b3ce51fc 100644
--- a/src/mame/drivers/mac128.cpp
+++ b/src/mame/drivers/mac128.cpp
@@ -1347,7 +1347,7 @@ MACHINE_CONFIG_START(mac128_state::mac512ke)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD(DAC_TAG, DAC_8BIT_PWM, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // 2 x ls161
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, DAC_TAG, 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, DAC_TAG, -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, DAC_TAG, 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, DAC_TAG, -1.0, DAC_VREF_NEG_INPUT)
/* devices */
MCFG_RTC3430042_ADD("rtc", XTAL(32'768))
diff --git a/src/mame/drivers/madalien.cpp b/src/mame/drivers/madalien.cpp
index 2e556bdb22a..876d32de1ad 100644
--- a/src/mame/drivers/madalien.cpp
+++ b/src/mame/drivers/madalien.cpp
@@ -173,9 +173,9 @@ MACHINE_CONFIG_START(madalien_state::madalien)
MCFG_SOUND_ADD("aysnd", AY8910, SOUND_CLOCK / 4)
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(madalien_state, madalien_portA_w))
MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(madalien_state, madalien_portB_w))
- MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 0)
- MCFG_SOUND_ROUTE_EX(1, "discrete", 1.0, 1)
- MCFG_SOUND_ROUTE_EX(2, "discrete", 1.0, 2)
+ MCFG_SOUND_ROUTE(0, "discrete", 1.0, 0)
+ MCFG_SOUND_ROUTE(1, "discrete", 1.0, 1)
+ MCFG_SOUND_ROUTE(2, "discrete", 1.0, 2)
MCFG_SOUND_ADD("discrete", DISCRETE, 0)
MCFG_DISCRETE_INTF(madalien)
diff --git a/src/mame/drivers/magicfly.cpp b/src/mame/drivers/magicfly.cpp
index 142efc6b10a..607f0070703 100644
--- a/src/mame/drivers/magicfly.cpp
+++ b/src/mame/drivers/magicfly.cpp
@@ -967,7 +967,7 @@ MACHINE_CONFIG_START(magicfly_state::magicfly)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/magtouch.cpp b/src/mame/drivers/magtouch.cpp
index 961fad1479c..cd83d2052fd 100644
--- a/src/mame/drivers/magtouch.cpp
+++ b/src/mame/drivers/magtouch.cpp
@@ -175,9 +175,10 @@ void magtouch_state::machine_start()
machine().device<nvram_device>("nvram")->set_base(memshare("nvram")->ptr(), 0x2000);
}
-static SLOT_INTERFACE_START( magtouch_isa8_cards )
- SLOT_INTERFACE("sb15", ISA8_SOUND_BLASTER_1_5)
-SLOT_INTERFACE_END
+static void magtouch_isa8_cards(device_slot_interface &device)
+{
+ device.option_add("sb15", ISA8_SOUND_BLASTER_1_5);
+}
static DEVICE_INPUT_DEFAULTS_START( magtouch_sb_def )
DEVICE_INPUT_DEFAULTS("CONFIG", 0x03, 0x01)
@@ -224,8 +225,8 @@ MACHINE_CONFIG_START(magtouch_state::magtouch)
MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq3_w))
MCFG_ISA8_SLOT_ADD("isa", "isa1", magtouch_isa8_cards, "sb15", true)
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("sb15", magtouch_sb_def)
- MCFG_DEVICE_CARD_MACHINE_CONFIG("sb15", magtouch_sb_conf)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("sb15", magtouch_sb_def)
+ MCFG_SLOT_OPTION_MACHINE_CONFIG("sb15", magtouch_sb_conf)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mappy.cpp b/src/mame/drivers/mappy.cpp
index a7083a7a13b..f1ab252ccec 100644
--- a/src/mame/drivers/mappy.cpp
+++ b/src/mame/drivers/mappy.cpp
@@ -1423,7 +1423,7 @@ MACHINE_CONFIG_START(mappy_state::grobda)
/* sound hardware */
MCFG_SOUND_ADD("dac", DAC_4BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.275) // alternate route to 15XX-related DAC?
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/matmania.cpp b/src/mame/drivers/matmania.cpp
index 321877c034d..2881910e916 100644
--- a/src/mame/drivers/matmania.cpp
+++ b/src/mame/drivers/matmania.cpp
@@ -338,7 +338,7 @@ MACHINE_CONFIG_START(matmania_state::matmania)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
@@ -380,7 +380,7 @@ MACHINE_CONFIG_START(matmania_state::maniach)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mbc200.cpp b/src/mame/drivers/mbc200.cpp
index 1bf923a8834..bc35d247d86 100644
--- a/src/mame/drivers/mbc200.cpp
+++ b/src/mame/drivers/mbc200.cpp
@@ -257,9 +257,10 @@ void mbc200_state::machine_reset()
memcpy(main, roms, 0x1000);
}
-static SLOT_INTERFACE_START( mbc200_floppies )
- SLOT_INTERFACE("qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void mbc200_floppies(device_slot_interface &device)
+{
+ device.option_add("qd", FLOPPY_525_QD);
+}
MC6845_UPDATE_ROW( mbc200_state::update_row )
{
diff --git a/src/mame/drivers/mbc55x.cpp b/src/mame/drivers/mbc55x.cpp
index 590021b1d7d..b03dc34be0c 100644
--- a/src/mame/drivers/mbc55x.cpp
+++ b/src/mame/drivers/mbc55x.cpp
@@ -233,11 +233,12 @@ FLOPPY_FORMATS_END
// MBC-555-2 : 2 x 5.25" disk-drive (360 KB)
// MBC-555-3 : 2 x 5.25" disk-drive (720 KB)
-static SLOT_INTERFACE_START( mbc55x_floppies )
- SLOT_INTERFACE("ssdd", FLOPPY_525_SSDD)
- SLOT_INTERFACE("dd", FLOPPY_525_DD)
- SLOT_INTERFACE("qd", FLOPPY_525_QD)
-SLOT_INTERFACE_END
+static void mbc55x_floppies(device_slot_interface &device)
+{
+ device.option_add("ssdd", FLOPPY_525_SSDD);
+ device.option_add("dd", FLOPPY_525_DD);
+ device.option_add("qd", FLOPPY_525_QD);
+}
MACHINE_CONFIG_START(mbc55x_state::mbc55x)
diff --git a/src/mame/drivers/mbee.cpp b/src/mame/drivers/mbee.cpp
index c8bd762ed01..bfa988b4e59 100644
--- a/src/mame/drivers/mbee.cpp
+++ b/src/mame/drivers/mbee.cpp
@@ -638,10 +638,11 @@ static GFXDECODE_START( premium )
GFXDECODE_ENTRY( "gfx", 0x0000, mbee_charlayout, 0, 8 )
GFXDECODE_END
-static SLOT_INTERFACE_START( mbee_floppies )
- SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void mbee_floppies(device_slot_interface &device)
+{
+ device.option_add("35dd", FLOPPY_35_DD);
+ device.option_add("525qd", FLOPPY_525_QD);
+}
MACHINE_CONFIG_START(mbee_state::mbee)
diff --git a/src/mame/drivers/mc10.cpp b/src/mame/drivers/mc10.cpp
index d8dbf426ccd..373c6597cf0 100644
--- a/src/mame/drivers/mc10.cpp
+++ b/src/mame/drivers/mc10.cpp
@@ -525,7 +525,7 @@ MACHINE_CONFIG_START(mc10_state::mc10)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MCFG_CASSETTE_ADD("cassette")
MCFG_CASSETTE_FORMATS(coco_cassette_formats)
@@ -567,7 +567,7 @@ MACHINE_CONFIG_START(mc10_state::alice32)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MCFG_CASSETTE_ADD("cassette")
MCFG_CASSETTE_FORMATS(alice32_cassette_formats)
diff --git a/src/mame/drivers/meadows.cpp b/src/mame/drivers/meadows.cpp
index a89ffd74216..1af9b65f906 100644
--- a/src/mame/drivers/meadows.cpp
+++ b/src/mame/drivers/meadows.cpp
@@ -649,7 +649,7 @@ MACHINE_CONFIG_START(meadows_state::meadows)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SOUND_ADD("samples", SAMPLES, 0)
MCFG_SAMPLES_CHANNELS(2)
@@ -710,7 +710,7 @@ MACHINE_CONFIG_START(meadows_state::bowl3d)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SOUND_ADD("samples", SAMPLES, 0)
MCFG_SAMPLES_CHANNELS(2)
diff --git a/src/mame/drivers/megazone.cpp b/src/mame/drivers/megazone.cpp
index 03bc671de25..e5aa36e81fb 100644
--- a/src/mame/drivers/megazone.cpp
+++ b/src/mame/drivers/megazone.cpp
@@ -353,7 +353,7 @@ MACHINE_CONFIG_START(megazone_state::megazone)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_FILTER_RC_ADD("filter.0.0", 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
diff --git a/src/mame/drivers/mephistp.cpp b/src/mame/drivers/mephistp.cpp
index 58ad92a02a5..926ce10cb2b 100644
--- a/src/mame/drivers/mephistp.cpp
+++ b/src/mame/drivers/mephistp.cpp
@@ -194,7 +194,7 @@ MACHINE_CONFIG_START(mephisto_pinball_state::mephisto)
MCFG_SOUND_ADD("dac", DAC08, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
#ifdef UNUSED_DEFINITION
diff --git a/src/mame/drivers/meyc8080.cpp b/src/mame/drivers/meyc8080.cpp
index f4137636dc9..560d8786d55 100644
--- a/src/mame/drivers/meyc8080.cpp
+++ b/src/mame/drivers/meyc8080.cpp
@@ -602,7 +602,7 @@ MACHINE_CONFIG_START(meyc8080_state::meyc8080)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_2BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.66) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/meyc8088.cpp b/src/mame/drivers/meyc8088.cpp
index 7c5c0900fea..7591cd3648a 100644
--- a/src/mame/drivers/meyc8088.cpp
+++ b/src/mame/drivers/meyc8088.cpp
@@ -386,7 +386,7 @@ MACHINE_CONFIG_START(meyc8088_state::meyc8088)
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mfabfz.cpp b/src/mame/drivers/mfabfz.cpp
index 5b9349674f9..84061de188f 100644
--- a/src/mame/drivers/mfabfz.cpp
+++ b/src/mame/drivers/mfabfz.cpp
@@ -143,7 +143,7 @@ MACHINE_CONFIG_START(mfabfz_state::mfabfz85)
MCFG_I8085A_SID(DEVREADLINE("rs232", rs232_port_device, rxd_r))
MCFG_I8085A_SOD(DEVWRITELINE("rs232", rs232_port_device, write_txd)) MCFG_DEVCB_INVERT
MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal")
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_DEVICE_ADD("uart2", I8251, 0)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mice.cpp b/src/mame/drivers/mice.cpp
index 53ccec98d62..cefd0c0bac6 100644
--- a/src/mame/drivers/mice.cpp
+++ b/src/mame/drivers/mice.cpp
@@ -178,7 +178,7 @@ MACHINE_CONFIG_START(mice_state::mice)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart", i8251_device, write_rxd))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart", i8251_device, write_dsr))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart", i8251_device, write_cts))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", mice_terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", mice_terminal)
MCFG_DEVICE_ADD("rpt", I8155, 6.144_MHz_XTAL / 2)
MCFG_I8155_IN_PORTC_CB(IOPORT("BAUD"))
@@ -195,7 +195,7 @@ MACHINE_CONFIG_START(mice_state::mice2)
MCFG_CPU_IO_MAP(mice2_io)
MCFG_DEVICE_MODIFY("rs232")
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", mice2_terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", mice2_terminal)
MCFG_DEVICE_ADD("rttppi1", I8255, 0)
MCFG_DEVICE_ADD("rttppi2", I8255, 0)
diff --git a/src/mame/drivers/microdec.cpp b/src/mame/drivers/microdec.cpp
index 46c9e4ec955..80d3f3a48c5 100644
--- a/src/mame/drivers/microdec.cpp
+++ b/src/mame/drivers/microdec.cpp
@@ -173,9 +173,10 @@ void microdec_state::machine_reset()
m_maincpu->set_input_line_vector(0, 0x7f);
}
-static SLOT_INTERFACE_START( microdec_floppies )
- SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
-SLOT_INTERFACE_END
+static void microdec_floppies(device_slot_interface &device)
+{
+ device.option_add("525hd", FLOPPY_525_HD);
+}
DRIVER_INIT_MEMBER( microdec_state, microdec )
{
diff --git a/src/mame/drivers/microkit.cpp b/src/mame/drivers/microkit.cpp
index c5b7b6c27f9..445814b69ce 100644
--- a/src/mame/drivers/microkit.cpp
+++ b/src/mame/drivers/microkit.cpp
@@ -129,7 +129,7 @@ MACHINE_CONFIG_START(microkit_state::microkit)
/* video hardware */
MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "keyboard")
MCFG_RS232_RXD_HANDLER(INPUTLINE("maincpu", COSMAC_INPUT_LINE_EF4))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("keyboard", serial_keyb)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", serial_keyb)
MCFG_DEVICE_ADD("terminal", GENERIC_TERMINAL, 0)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/microvsn.cpp b/src/mame/drivers/microvsn.cpp
index 8a0023422cd..b53b9690918 100644
--- a/src/mame/drivers/microvsn.cpp
+++ b/src/mame/drivers/microvsn.cpp
@@ -670,7 +670,7 @@ MACHINE_CONFIG_START(microvision_state::microvision)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_2BIT_BINARY_WEIGHTED_ONES_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "microvision_cart")
MCFG_GENERIC_MANDATORY
diff --git a/src/mame/drivers/mikro80.cpp b/src/mame/drivers/mikro80.cpp
index 45c24638eb3..3d25513ec17 100644
--- a/src/mame/drivers/mikro80.cpp
+++ b/src/mame/drivers/mikro80.cpp
@@ -208,7 +208,7 @@ MACHINE_CONFIG_START(mikro80_state::radio99)
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.12)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(mikro80_state::kristall)
diff --git a/src/mame/drivers/mikromik.cpp b/src/mame/drivers/mikromik.cpp
index 37a2b0a57c3..0811bbb61ad 100644
--- a/src/mame/drivers/mikromik.cpp
+++ b/src/mame/drivers/mikromik.cpp
@@ -407,9 +407,10 @@ FLOPPY_FORMATS_MEMBER( mm2_state::floppy_formats )
FLOPPY_MM2_FORMAT
FLOPPY_FORMATS_END
*/
-static SLOT_INTERFACE_START( mm1_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void mm1_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
//**************************************************************************
diff --git a/src/mame/drivers/mini2440.cpp b/src/mame/drivers/mini2440.cpp
index 977f2eef4f4..4f53a249620 100644
--- a/src/mame/drivers/mini2440.cpp
+++ b/src/mame/drivers/mini2440.cpp
@@ -241,8 +241,8 @@ MACHINE_CONFIG_START(mini2440_state::mini2440)
MCFG_SOUND_ADD("ldac", UDA1341TS, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // uda1341ts.u12
MCFG_SOUND_ADD("rdac", UDA1341TS, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // uda1341ts.u12
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_DEVICE_ADD("s3c2440", S3C2440, 12000000)
MCFG_S3C2440_PALETTE("palette")
diff --git a/src/mame/drivers/miniforce.cpp b/src/mame/drivers/miniforce.cpp
index 7632c15f1b3..a5810112340 100644
--- a/src/mame/drivers/miniforce.cpp
+++ b/src/mame/drivers/miniforce.cpp
@@ -168,12 +168,13 @@ void miniforce_state::machine_reset()
static INPUT_PORTS_START (miniforce)
INPUT_PORTS_END
-static SLOT_INTERFACE_START(miniforce_vme_cards)
- SLOT_INTERFACE("fccpu21", VME_FCCPU21)
- SLOT_INTERFACE("fcisio", VME_FCISIO1)
- SLOT_INTERFACE("fcscsi", VME_FCSCSI1)
- SLOT_INTERFACE("hcpu30", VME_HCPU30)
-SLOT_INTERFACE_END
+static void miniforce_vme_cards(device_slot_interface &device)
+{
+ device.option_add("fccpu21", VME_FCCPU21);
+ device.option_add("fcisio", VME_FCISIO1);
+ device.option_add("fcscsi", VME_FCSCSI1);
+ device.option_add("hcpu30", VME_HCPU30);
+}
/*
* Machine configuration
diff --git a/src/mame/drivers/miniframe.cpp b/src/mame/drivers/miniframe.cpp
index a9119e46b15..0c7218fcc1d 100644
--- a/src/mame/drivers/miniframe.cpp
+++ b/src/mame/drivers/miniframe.cpp
@@ -217,9 +217,10 @@ INPUT_PORTS_END
MACHINE DRIVERS
***************************************************************************/
-static SLOT_INTERFACE_START( miniframe_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void miniframe_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
MACHINE_CONFIG_START(miniframe_state::miniframe)
// basic machine hardware
diff --git a/src/mame/drivers/mjsister.cpp b/src/mame/drivers/mjsister.cpp
index 0faf7dfc82c..5c76bd6bed2 100644
--- a/src/mame/drivers/mjsister.cpp
+++ b/src/mame/drivers/mjsister.cpp
@@ -534,7 +534,7 @@ MACHINE_CONFIG_START(mjsister_state::mjsister)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
/*************************************
diff --git a/src/mame/drivers/mk14.cpp b/src/mame/drivers/mk14.cpp
index 89389b2b28e..37f4c4e2bbb 100644
--- a/src/mame/drivers/mk14.cpp
+++ b/src/mame/drivers/mk14.cpp
@@ -216,8 +216,8 @@ MACHINE_CONFIG_START(mk14_state::mk14)
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_SOUND_ADD("dac8", ZN425E, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // Ferranti ZN425E
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac8", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac8", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac8", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac8", -1.0, DAC_VREF_NEG_INPUT)
/* devices */
MCFG_DEVICE_ADD("ic8", INS8154, 0)
diff --git a/src/mame/drivers/mogura.cpp b/src/mame/drivers/mogura.cpp
index 6ec4ebad7cc..df41dadcbff 100644
--- a/src/mame/drivers/mogura.cpp
+++ b/src/mame/drivers/mogura.cpp
@@ -233,8 +233,8 @@ MACHINE_CONFIG_START(mogura_state::mogura)
MCFG_SOUND_ADD("ldac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) // unknown DAC
MCFG_SOUND_ADD("rdac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mpz80.cpp b/src/mame/drivers/mpz80.cpp
index d6942709c85..37d630d5cd3 100644
--- a/src/mame/drivers/mpz80.cpp
+++ b/src/mame/drivers/mpz80.cpp
@@ -664,15 +664,16 @@ WRITE_LINE_MEMBER( mpz80_state::s100_nmi_w )
//#include "bus/s100/nsmdsad.h"
#include "bus/s100/wunderbus.h"
-static SLOT_INTERFACE_START( mpz80_s100_cards )
- SLOT_INTERFACE("mm65k16s", S100_MM65K16S)
- SLOT_INTERFACE("wunderbus", S100_WUNDERBUS)
- SLOT_INTERFACE("dj2db", S100_DJ2DB)
- SLOT_INTERFACE("djdma", S100_DJDMA)
-// SLOT_INTERFACE("multio", S100_MULTIO)
-// SLOT_INTERFACE("hdcdma", S100_HDCDMA)
-// SLOT_INTERFACE("hdca", S100_HDCA)
-SLOT_INTERFACE_END
+static void mpz80_s100_cards(device_slot_interface &device)
+{
+ device.option_add("mm65k16s", S100_MM65K16S);
+ device.option_add("wunderbus", S100_WUNDERBUS);
+ device.option_add("dj2db", S100_DJ2DB);
+ device.option_add("djdma", S100_DJDMA);
+// device.option_add("multio", S100_MULTIO);
+// device.option_add("hdcdma", S100_HDCDMA);
+// device.option_add("hdca", S100_HDCA);
+}
diff --git a/src/mame/drivers/mrgame.cpp b/src/mame/drivers/mrgame.cpp
index 36afdd317a9..fc93b66b788 100644
--- a/src/mame/drivers/mrgame.cpp
+++ b/src/mame/drivers/mrgame.cpp
@@ -507,10 +507,10 @@ MACHINE_CONFIG_START(mrgame_state::mrgame)
MCFG_SOUND_ADD("ldac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) // unknown DAC
MCFG_SOUND_ADD("rdac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC
MCFG_SOUND_ADD("dacvol", DAC_8BIT_R2R, 0) // unknown DAC
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dacvol", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dacvol", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dacvol", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dacvol", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SOUND_ADD("tms", TMS5220, 672000) // uses a RC combination. 672k copied from jedi.h
MCFG_TMS52XX_READYQ_HANDLER(INPUTLINE("audiocpu2", Z80_INPUT_LINE_BOGUSWAIT))
diff --git a/src/mame/drivers/ms0515.cpp b/src/mame/drivers/ms0515.cpp
index b06636bffe9..2dacb5bd90e 100644
--- a/src/mame/drivers/ms0515.cpp
+++ b/src/mame/drivers/ms0515.cpp
@@ -374,9 +374,10 @@ FLOPPY_FORMATS_MEMBER( ms0515_state::floppy_formats )
FLOPPY_MS0515_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( ms0515_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void ms0515_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
uint32_t ms0515_state::screen_update_ms0515(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
diff --git a/src/mame/drivers/msx.cpp b/src/mame/drivers/msx.cpp
index 714d81a04be..6802fae7b70 100644
--- a/src/mame/drivers/msx.cpp
+++ b/src/mame/drivers/msx.cpp
@@ -1283,10 +1283,11 @@ FLOPPY_FORMATS_MEMBER( msx_state::floppy_formats )
FLOPPY_DMK_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( msx_floppies )
- SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
- SLOT_INTERFACE( "35ssdd", FLOPPY_35_SSDD )
-SLOT_INTERFACE_END
+static void msx_floppies(device_slot_interface &device)
+{
+ device.option_add("35dd", FLOPPY_35_DD);
+ device.option_add("35ssdd", FLOPPY_35_SSDD);
+}
MACHINE_CONFIG_START(msx_state::msx_fd1793)
MCFG_FD1793_ADD("fdc", XTAL(4'000'000) / 4)
@@ -1362,7 +1363,7 @@ MACHINE_CONFIG_START(msx_state::msx)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
@@ -1515,7 +1516,7 @@ MACHINE_CONFIG_START(msx_state::msx2)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
@@ -1573,7 +1574,7 @@ MACHINE_CONFIG_START(msx_state::msx2p)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
diff --git a/src/mame/drivers/mtouchxl.cpp b/src/mame/drivers/mtouchxl.cpp
index d1c42c25657..5a458dba096 100644
--- a/src/mame/drivers/mtouchxl.cpp
+++ b/src/mame/drivers/mtouchxl.cpp
@@ -189,15 +189,16 @@ void mtxl_state::machine_reset()
}
#ifndef REAL_PCI_CHIPSET
-static SLOT_INTERFACE_START(mt6k_ata_devices)
- SLOT_INTERFACE("cdrom", ATAPI_FIXED_CDROM)
-SLOT_INTERFACE_END
+static void mt6k_ata_devices(device_slot_interface &device)
+{
+ device.option_add("cdrom", ATAPI_FIXED_CDROM);
+}
void mtxl_state::cdrom(device_t *device)
{
auto ide0 = dynamic_cast<device_slot_interface *>(device->subdevice("ide:0"));
ide0->option_reset();
- SLOT_INTERFACE_NAME(mt6k_ata_devices)(device->subdevice("ide:0"));
+ mt6k_ata_devices(*ide0);
ide0->set_default_option("cdrom");
ide0->set_fixed(true);
diff --git a/src/mame/drivers/murogem.cpp b/src/mame/drivers/murogem.cpp
index 4bc3473686b..9c3697236b3 100644
--- a/src/mame/drivers/murogem.cpp
+++ b/src/mame/drivers/murogem.cpp
@@ -275,7 +275,7 @@ MACHINE_CONFIG_START(murogem_state::murogem)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.375)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/murogmbl.cpp b/src/mame/drivers/murogmbl.cpp
index f35e4b3551a..130c74e6486 100644
--- a/src/mame/drivers/murogmbl.cpp
+++ b/src/mame/drivers/murogmbl.cpp
@@ -358,7 +358,7 @@ MACHINE_CONFIG_START(murogmbl_state::murogmbl)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(slotunbl_state::slotunbl)
@@ -384,7 +384,7 @@ MACHINE_CONFIG_START(slotunbl_state::slotunbl)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
ROM_START(murogmbl)
diff --git a/src/mame/drivers/mvme147.cpp b/src/mame/drivers/mvme147.cpp
index 24f692bc9e6..19622f2c960 100644
--- a/src/mame/drivers/mvme147.cpp
+++ b/src/mame/drivers/mvme147.cpp
@@ -640,9 +640,10 @@ WRITE16_MEMBER (mvme147_state::vme_a16_w){
}
#endif
-static SLOT_INTERFACE_START(mvme147_vme_cards)
- SLOT_INTERFACE("mvme350", VME_MVME350)
-SLOT_INTERFACE_END
+static void mvme147_vme_cards(device_slot_interface &device)
+{
+ device.option_add("mvme350", VME_MVME350);
+}
/*
* Machine configuration
diff --git a/src/mame/drivers/myb3k.cpp b/src/mame/drivers/myb3k.cpp
index fc95db68df6..91406b2dde7 100644
--- a/src/mame/drivers/myb3k.cpp
+++ b/src/mame/drivers/myb3k.cpp
@@ -923,11 +923,12 @@ WRITE_LINE_MEMBER (myb3k_state::centronics_select_w){
LOGCENT("%s %d - not used by machine\n", FUNCNAME, state);
}
-static SLOT_INTERFACE_START(stepone_isa_cards)
- SLOT_INTERFACE("myb3k_com", ISA8_MYB3K_COM)
- SLOT_INTERFACE("myb3k_fdc4710", ISA8_MYB3K_FDC4710)
- SLOT_INTERFACE("myb3k_fdc4711", ISA8_MYB3K_FDC4711)
-SLOT_INTERFACE_END
+static void stepone_isa_cards(device_slot_interface &device)
+{
+ device.option_add("myb3k_com", ISA8_MYB3K_COM);
+ device.option_add("myb3k_fdc4710", ISA8_MYB3K_FDC4710);
+ device.option_add("myb3k_fdc4711", ISA8_MYB3K_FDC4711);
+}
MACHINE_CONFIG_START(myb3k_state::myb3k)
/* basic machine hardware */
diff --git a/src/mame/drivers/mycom.cpp b/src/mame/drivers/mycom.cpp
index 9aaad3ce800..2dd1a851df5 100644
--- a/src/mame/drivers/mycom.cpp
+++ b/src/mame/drivers/mycom.cpp
@@ -480,9 +480,10 @@ TIMER_DEVICE_CALLBACK_MEMBER(mycom_state::mycom_kbd)
-static SLOT_INTERFACE_START( mycom_floppies )
- SLOT_INTERFACE( "525sd", FLOPPY_525_SD )
-SLOT_INTERFACE_END
+static void mycom_floppies(device_slot_interface &device)
+{
+ device.option_add("525sd", FLOPPY_525_SD);
+}
void mycom_state::machine_start()
{
diff --git a/src/mame/drivers/mz2000.cpp b/src/mame/drivers/mz2000.cpp
index c198afcf050..23c0620ce9b 100644
--- a/src/mame/drivers/mz2000.cpp
+++ b/src/mame/drivers/mz2000.cpp
@@ -866,9 +866,10 @@ FLOPPY_FORMATS_MEMBER( mz2000_state::floppy_formats )
FLOPPY_2D_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( mz2000_floppies )
- SLOT_INTERFACE("dd", FLOPPY_525_DD)
-SLOT_INTERFACE_END
+static void mz2000_floppies(device_slot_interface &device)
+{
+ device.option_add("dd", FLOPPY_525_DD);
+}
MACHINE_CONFIG_START(mz2000_state::mz2000)
diff --git a/src/mame/drivers/mz2500.cpp b/src/mame/drivers/mz2500.cpp
index 52b0065d4b9..dbd00b2d8f1 100644
--- a/src/mame/drivers/mz2500.cpp
+++ b/src/mame/drivers/mz2500.cpp
@@ -2078,9 +2078,10 @@ WRITE_LINE_MEMBER(mz2500_state::mz2500_rtc_alarm_irq)
}
-static SLOT_INTERFACE_START( mz2500_floppies )
- SLOT_INTERFACE("dd", FLOPPY_35_DD)
-SLOT_INTERFACE_END
+static void mz2500_floppies(device_slot_interface &device)
+{
+ device.option_add("dd", FLOPPY_35_DD);
+}
MACHINE_CONFIG_START(mz2500_state::mz2500)
diff --git a/src/mame/drivers/mz3500.cpp b/src/mame/drivers/mz3500.cpp
index 7b958380d27..d9582a9c6a3 100644
--- a/src/mame/drivers/mz3500.cpp
+++ b/src/mame/drivers/mz3500.cpp
@@ -808,9 +808,10 @@ void mz3500_state::upd7220_2_map(address_map &map)
map(0x00000, 0x3ffff).ram(); // AM_SHARE("video_ram_2")
}
-static SLOT_INTERFACE_START( mz3500_floppies )
- SLOT_INTERFACE( "525ssdd", FLOPPY_525_SSDD )
-SLOT_INTERFACE_END
+static void mz3500_floppies(device_slot_interface &device)
+{
+ device.option_add("525ssdd", FLOPPY_525_SSDD);
+}
/* TODO: clocks */
MACHINE_CONFIG_START(mz3500_state::mz3500)
diff --git a/src/mame/drivers/mz6500.cpp b/src/mame/drivers/mz6500.cpp
index 8441cb4c3ba..84f379c0cf4 100644
--- a/src/mame/drivers/mz6500.cpp
+++ b/src/mame/drivers/mz6500.cpp
@@ -134,9 +134,10 @@ void mz6500_state::fdc_drq(bool state)
//printf("%02x DRQ\n",state);
}
-static SLOT_INTERFACE_START( mz6500_floppies )
- SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
-SLOT_INTERFACE_END
+static void mz6500_floppies(device_slot_interface &device)
+{
+ device.option_add("525hd", FLOPPY_525_HD);
+}
void mz6500_state::upd7220_map(address_map &map)
{
diff --git a/src/mame/drivers/mzr8105.cpp b/src/mame/drivers/mzr8105.cpp
index c576a5f189f..cb6913718bb 100644
--- a/src/mame/drivers/mzr8105.cpp
+++ b/src/mame/drivers/mzr8105.cpp
@@ -199,9 +199,10 @@ void mzr8105_state::mzr8105_mem(address_map &map)
static INPUT_PORTS_START (mzr8105)
INPUT_PORTS_END
-static SLOT_INTERFACE_START(mzr8105_vme_cards)
- SLOT_INTERFACE("mzr8300", VME_MZR8300)
-SLOT_INTERFACE_END
+static void mzr8105_vme_cards(device_slot_interface &device)
+{
+ device.option_add("mzr8300", VME_MZR8300);
+}
/*
* Machine configuration
diff --git a/src/mame/drivers/namcos1.cpp b/src/mame/drivers/namcos1.cpp
index 039757fd569..7b85dc6faec 100644
--- a/src/mame/drivers/namcos1.cpp
+++ b/src/mame/drivers/namcos1.cpp
@@ -1092,8 +1092,8 @@ MACHINE_CONFIG_START(namcos1_state::ns1)
MCFG_SOUND_ADD("dac0", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // 10-pin 1Kx8R SIP with HC374 latch
MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // 10-pin 1Kx8R SIP with HC374 latch
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac0", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac0", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/nanos.cpp b/src/mame/drivers/nanos.cpp
index 2ec3e84e971..12da909f4c6 100644
--- a/src/mame/drivers/nanos.cpp
+++ b/src/mame/drivers/nanos.cpp
@@ -437,9 +437,10 @@ FLOPPY_FORMATS_MEMBER( nanos_state::floppy_formats )
FLOPPY_NANOS_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( nanos_floppies )
- SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
-SLOT_INTERFACE_END
+static void nanos_floppies(device_slot_interface &device)
+{
+ device.option_add("525hd", FLOPPY_525_HD);
+}
/* F4 Character Displayer */
static const gfx_layout nanos_charlayout =
diff --git a/src/mame/drivers/nbmj8688.cpp b/src/mame/drivers/nbmj8688.cpp
index be799b75311..cc93325b5b1 100644
--- a/src/mame/drivers/nbmj8688.cpp
+++ b/src/mame/drivers/nbmj8688.cpp
@@ -2489,7 +2489,7 @@ MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_4096)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_256)
@@ -2682,7 +2682,7 @@ MACHINE_CONFIG_START(nbmj8688_state::mbmj_p16bit_LCD)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8688_state::bijokkoy)
diff --git a/src/mame/drivers/nbmj8891.cpp b/src/mame/drivers/nbmj8891.cpp
index 377e0fe6193..6403adcc65c 100644
--- a/src/mame/drivers/nbmj8891.cpp
+++ b/src/mame/drivers/nbmj8891.cpp
@@ -2231,7 +2231,7 @@ MACHINE_CONFIG_START(nbmj8891_state::gionbana)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.37) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8891_state::mgion)
diff --git a/src/mame/drivers/nbmj8900.cpp b/src/mame/drivers/nbmj8900.cpp
index ad793896ad3..0cbc3720f9d 100644
--- a/src/mame/drivers/nbmj8900.cpp
+++ b/src/mame/drivers/nbmj8900.cpp
@@ -335,7 +335,7 @@ MACHINE_CONFIG_START(nbmj8900_state::ohpaipee)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.42) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8900_state::togenkyo)
diff --git a/src/mame/drivers/nbmj8991.cpp b/src/mame/drivers/nbmj8991.cpp
index bf7ee7cb4f8..1e1fd321370 100644
--- a/src/mame/drivers/nbmj8991.cpp
+++ b/src/mame/drivers/nbmj8991.cpp
@@ -1357,7 +1357,7 @@ MACHINE_CONFIG_START(nbmj8991_state::nbmjdrv1) // galkoku
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
@@ -1398,8 +1398,8 @@ MACHINE_CONFIG_START(nbmj8991_state::nbmjdrv2) // pstadium
MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/nbmj9195.cpp b/src/mame/drivers/nbmj9195.cpp
index b2684385625..46dff69d586 100644
--- a/src/mame/drivers/nbmj9195.cpp
+++ b/src/mame/drivers/nbmj9195.cpp
@@ -2572,8 +2572,8 @@ MACHINE_CONFIG_START(nbmj9195_state::NBMJDRV1_base)
MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj9195_state::NBMJDRV1)
diff --git a/src/mame/drivers/nc.cpp b/src/mame/drivers/nc.cpp
index e1463fd5ad3..734a5be3e86 100644
--- a/src/mame/drivers/nc.cpp
+++ b/src/mame/drivers/nc.cpp
@@ -1466,9 +1466,10 @@ static const floppy_format_type ibmpc_floppy_formats[] = {
nullptr
};
-static SLOT_INTERFACE_START( ibmpc_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void ibmpc_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
MACHINE_CONFIG_START(nc_state::nc200)
nc100(config);
diff --git a/src/mame/drivers/next.cpp b/src/mame/drivers/next.cpp
index f442d0f54ce..b497033e50a 100644
--- a/src/mame/drivers/next.cpp
+++ b/src/mame/drivers/next.cpp
@@ -981,15 +981,17 @@ FLOPPY_FORMATS_MEMBER( next_state::floppy_formats )
FLOPPY_PC_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( next_floppies )
- SLOT_INTERFACE( "35ed", FLOPPY_35_ED )
-SLOT_INTERFACE_END
+static void next_floppies(device_slot_interface &device)
+{
+ device.option_add("35ed", FLOPPY_35_ED);
+}
-static SLOT_INTERFACE_START( next_scsi_devices )
- SLOT_INTERFACE("cdrom", NSCSI_CDROM)
- SLOT_INTERFACE("harddisk", NSCSI_HARDDISK)
- SLOT_INTERFACE_INTERNAL("ncr5390", NCR5390)
-SLOT_INTERFACE_END
+static void next_scsi_devices(device_slot_interface &device)
+{
+ device.option_add("cdrom", NSCSI_CDROM);
+ device.option_add("harddisk", NSCSI_HARDDISK);
+ device.option_add_internal("ncr5390", NCR5390);
+}
void next_state::ncr5390(device_t *device)
{
@@ -1028,7 +1030,7 @@ MACHINE_CONFIG_START(next_state::next_base)
MCFG_NSCSI_ADD("scsibus:5", next_scsi_devices, nullptr, false)
MCFG_NSCSI_ADD("scsibus:6", next_scsi_devices, nullptr, false)
MCFG_NSCSI_ADD("scsibus:7", next_scsi_devices, "ncr5390", true)
- MCFG_DEVICE_CARD_MACHINE_CONFIG("ncr5390", ncr5390)
+ MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr5390", ncr5390)
MCFG_DEVICE_ADD("net", MB8795, 0)
MCFG_MB8795_TX_IRQ_CALLBACK(WRITELINE(next_state, net_tx_irq))
diff --git a/src/mame/drivers/ngen.cpp b/src/mame/drivers/ngen.cpp
index 766e49e98c8..311aa87d137 100644
--- a/src/mame/drivers/ngen.cpp
+++ b/src/mame/drivers/ngen.cpp
@@ -916,13 +916,15 @@ void ngen_state::ngen386_io(address_map &map)
static INPUT_PORTS_START( ngen )
INPUT_PORTS_END
-static SLOT_INTERFACE_START(keyboard)
- SLOT_INTERFACE("ngen", NGEN_KEYBOARD)
-SLOT_INTERFACE_END
+static void keyboard(device_slot_interface &device)
+{
+ device.option_add("ngen", NGEN_KEYBOARD);
+}
-static SLOT_INTERFACE_START( ngen_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void ngen_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
MACHINE_CONFIG_START(ngen_state::ngen)
// basic machine hardware
diff --git a/src/mame/drivers/ngp.cpp b/src/mame/drivers/ngp.cpp
index a376910ab4a..e854a072542 100644
--- a/src/mame/drivers/ngp.cpp
+++ b/src/mame/drivers/ngp.cpp
@@ -850,8 +850,8 @@ MACHINE_CONFIG_START(ngp_state::ngp_common)
MCFG_SOUND_ADD("ldac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) // unknown DAC
MCFG_SOUND_ADD("rdac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/nightgal.cpp b/src/mame/drivers/nightgal.cpp
index a69c050f738..de272a2dc86 100644
--- a/src/mame/drivers/nightgal.cpp
+++ b/src/mame/drivers/nightgal.cpp
@@ -840,7 +840,7 @@ MACHINE_CONFIG_START(nightgal_state::sexygal)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_DEVICE_REMOVE("aysnd")
diff --git a/src/mame/drivers/notetaker.cpp b/src/mame/drivers/notetaker.cpp
index 17f4ef6c115..4e47bf3d669 100644
--- a/src/mame/drivers/notetaker.cpp
+++ b/src/mame/drivers/notetaker.cpp
@@ -732,9 +732,10 @@ void notetaker_state::ep_io(address_map &map)
/* Input ports */
/* Floppy Image Interface */
-static SLOT_INTERFACE_START( notetaker_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void notetaker_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
/* Machine Start; allocate timers and savestate stuff */
void notetaker_state::machine_start()
@@ -857,7 +858,7 @@ MACHINE_CONFIG_START(notetaker_state::notetakr)
// TODO: hook DAC up to two HA2425 (sample and hold) chips and hook those up to the speakers
MCFG_SOUND_ADD("dac", DAC1200, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
DRIVER_INIT_MEMBER(notetaker_state,notetakr)
diff --git a/src/mame/drivers/novagmcs48.cpp b/src/mame/drivers/novagmcs48.cpp
index 3a1f2a95af3..0f14c0bb638 100644
--- a/src/mame/drivers/novagmcs48.cpp
+++ b/src/mame/drivers/novagmcs48.cpp
@@ -159,7 +159,7 @@ MACHINE_CONFIG_START(novagmcs48_state::presto)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(novagmcs48_state::octo)
diff --git a/src/mame/drivers/nycaptor.cpp b/src/mame/drivers/nycaptor.cpp
index 9b45538620d..282dbbcc17f 100644
--- a/src/mame/drivers/nycaptor.cpp
+++ b/src/mame/drivers/nycaptor.cpp
@@ -805,7 +805,7 @@ MACHINE_CONFIG_START(nycaptor_state::nycaptor)
// Update: of course it exists, sound board seems common Taito design.
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nycaptor_state::cyclshtg)
@@ -877,7 +877,7 @@ MACHINE_CONFIG_START(nycaptor_state::cyclshtg)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
@@ -946,7 +946,7 @@ MACHINE_CONFIG_START(nycaptor_state::bronx)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/nyny.cpp b/src/mame/drivers/nyny.cpp
index e020eee411a..a03016a1931 100644
--- a/src/mame/drivers/nyny.cpp
+++ b/src/mame/drivers/nyny.cpp
@@ -666,7 +666,7 @@ MACHINE_CONFIG_START(nyny_state::nyny)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/octopus.cpp b/src/mame/drivers/octopus.cpp
index cb049683b74..933fe8f83ee 100644
--- a/src/mame/drivers/octopus.cpp
+++ b/src/mame/drivers/octopus.cpp
@@ -859,22 +859,25 @@ READ8_MEMBER( octopus_state::get_slave_ack )
return 0x00;
}
-static SLOT_INTERFACE_START( octopus_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
-
-static SLOT_INTERFACE_START(keyboard)
- SLOT_INTERFACE("octopus", OCTOPUS_KEYBOARD)
-SLOT_INTERFACE_END
-
-SLOT_INTERFACE_START(octopus_centronics_devices)
- SLOT_INTERFACE("pl80", COMX_PL80)
- SLOT_INTERFACE("ex800", EPSON_EX800)
- SLOT_INTERFACE("lx800", EPSON_LX800)
- SLOT_INTERFACE("lx810l", EPSON_LX810L)
- SLOT_INTERFACE("ap2000", EPSON_AP2000)
- SLOT_INTERFACE("printer", CENTRONICS_PRINTER)
-SLOT_INTERFACE_END
+static void octopus_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
+
+static void keyboard(device_slot_interface &device)
+{
+ device.option_add("octopus", OCTOPUS_KEYBOARD);
+}
+
+void octopus_centronics_devices(device_slot_interface &device)
+{
+ device.option_add("pl80", COMX_PL80);
+ device.option_add("ex800", EPSON_EX800);
+ device.option_add("lx800", EPSON_LX800);
+ device.option_add("lx810l", EPSON_LX810L);
+ device.option_add("ap2000", EPSON_AP2000);
+ device.option_add("printer", CENTRONICS_PRINTER);
+}
MACHINE_CONFIG_START(octopus_state::octopus)
/* basic machine hardware */
diff --git a/src/mame/drivers/olyboss.cpp b/src/mame/drivers/olyboss.cpp
index 0eb4e4ab5d1..8fb0f7aff5e 100644
--- a/src/mame/drivers/olyboss.cpp
+++ b/src/mame/drivers/olyboss.cpp
@@ -410,17 +410,20 @@ WRITE8_MEMBER( olyboss_state::fdcctrl85_w )
m_fdd1->get_device()->mon_w(!(data & 0x80));
}
-static SLOT_INTERFACE_START( bossa_floppies )
- SLOT_INTERFACE( "525ssdd", FLOPPY_525_SSDD )
-SLOT_INTERFACE_END
+static void bossa_floppies(device_slot_interface &device)
+{
+ device.option_add("525ssdd", FLOPPY_525_SSDD);
+}
-static SLOT_INTERFACE_START( bossb_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void bossb_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
-static SLOT_INTERFACE_START( bosscd_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void bosscd_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
//**************************************************************************
// MACHINE CONFIGURATION
diff --git a/src/mame/drivers/oric.cpp b/src/mame/drivers/oric.cpp
index ffc520e11f6..32a332be02f 100644
--- a/src/mame/drivers/oric.cpp
+++ b/src/mame/drivers/oric.cpp
@@ -830,9 +830,10 @@ FLOPPY_FORMATS_MEMBER( telestrat_state::floppy_formats )
FLOPPY_ORIC_DSK_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( telestrat_floppies )
- SLOT_INTERFACE( "3dsdd", FLOPPY_3_DSDD )
-SLOT_INTERFACE_END
+static void telestrat_floppies(device_slot_interface &device)
+{
+ device.option_add("3dsdd", FLOPPY_3_DSDD);
+}
MACHINE_CONFIG_START(telestrat_state::telstrat)
oric(config);
diff --git a/src/mame/drivers/orion.cpp b/src/mame/drivers/orion.cpp
index 8909988c70c..bb786b54536 100644
--- a/src/mame/drivers/orion.cpp
+++ b/src/mame/drivers/orion.cpp
@@ -86,9 +86,10 @@ FLOPPY_FORMATS_MEMBER( orion_state::orion_floppy_formats )
FLOPPY_SMX_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( orion_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void orion_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
/* Machine driver */
MACHINE_CONFIG_START(orion_state::orion128)
diff --git a/src/mame/drivers/osbexec.cpp b/src/mame/drivers/osbexec.cpp
index d8f68fc50a1..e784675a78f 100644
--- a/src/mame/drivers/osbexec.cpp
+++ b/src/mame/drivers/osbexec.cpp
@@ -469,9 +469,10 @@ WRITE_LINE_MEMBER(osbexec_state::comm_clk_a_w)
*
*/
-static SLOT_INTERFACE_START( osborne2_floppies )
- SLOT_INTERFACE( "525ssdd", FLOPPY_525_SSDD )
-SLOT_INTERFACE_END
+static void osborne2_floppies(device_slot_interface &device)
+{
+ device.option_add("525ssdd", FLOPPY_525_SSDD);
+}
TIMER_CALLBACK_MEMBER(osbexec_state::osbexec_video_callback)
diff --git a/src/mame/drivers/osborne1.cpp b/src/mame/drivers/osborne1.cpp
index 528bc0a0f85..0e97320c190 100644
--- a/src/mame/drivers/osborne1.cpp
+++ b/src/mame/drivers/osborne1.cpp
@@ -257,10 +257,11 @@ INPUT_PORTS_END
*
*/
-static SLOT_INTERFACE_START( osborne1_floppies )
- SLOT_INTERFACE("525sssd", FLOPPY_525_SSSD) // Siemens FDD 100-5, custom Osborne electronics
- SLOT_INTERFACE("525ssdd", FLOPPY_525_QD) // SSDD) // MPI 52(?), custom Osborne electronics
-SLOT_INTERFACE_END
+static void osborne1_floppies(device_slot_interface &device)
+{
+ device.option_add("525sssd", FLOPPY_525_SSSD); // Siemens FDD 100-5, custom Osborne electronics
+ device.option_add("525ssdd", FLOPPY_525_QD); // SSDD) // MPI 52(?), custom Osborne electronics
+}
/* F4 Character Displayer */
@@ -283,24 +284,24 @@ GFXDECODE_END
MACHINE_CONFIG_START(osborne1_state::osborne1)
- MCFG_CPU_ADD("maincpu", Z80, MAIN_CLOCK/4)
+ MCFG_CPU_ADD(m_maincpu, Z80, MAIN_CLOCK/4)
MCFG_CPU_PROGRAM_MAP(osborne1_mem)
MCFG_CPU_OPCODES_MAP(osborne1_op)
MCFG_CPU_IO_MAP(osborne1_io)
MCFG_Z80_SET_IRQACK_CALLBACK(WRITELINE(osborne1_state, irqack_w))
- MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
+ MCFG_SCREEN_ADD_MONOCHROME(m_screen, RASTER, rgb_t::green())
MCFG_SCREEN_UPDATE_DRIVER(osborne1_state, screen_update)
MCFG_SCREEN_RAW_PARAMS(MAIN_CLOCK, 1024, 0, 104*8, 260, 0, 24*10)
MCFG_SCREEN_PALETTE("palette")
- MCFG_GFXDECODE_ADD("gfxdecode", "palette", osborne1)
+ MCFG_GFXDECODE_ADD(m_gfxdecode, "palette", osborne1)
MCFG_PALETTE_ADD_MONOCHROME_HIGHLIGHT("palette")
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
+ MCFG_SOUND_ADD(m_speaker, SPEAKER_SOUND, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
- MCFG_DEVICE_ADD("pia_0", PIA6821, 0)
+ MCFG_DEVICE_ADD(m_pia0, PIA6821, 0)
MCFG_PIA_READPA_HANDLER(DEVREAD8(m_ieee, ieee488_device, dio_r))
MCFG_PIA_READPB_HANDLER(READ8(osborne1_state, ieee_pia_pb_r))
MCFG_PIA_WRITEPA_HANDLER(DEVWRITE8(m_ieee, ieee488_device, dio_w))
@@ -310,15 +311,15 @@ MACHINE_CONFIG_START(osborne1_state::osborne1)
MCFG_PIA_IRQA_HANDLER(WRITELINE(osborne1_state, ieee_pia_irq_a_func))
MCFG_IEEE488_BUS_ADD()
- MCFG_IEEE488_SRQ_CALLBACK(DEVWRITELINE("pia_0", pia6821_device, ca2_w))
+ MCFG_IEEE488_SRQ_CALLBACK(DEVWRITELINE(m_pia0, pia6821_device, ca2_w))
- MCFG_DEVICE_ADD("pia_1", PIA6821, 0)
+ MCFG_DEVICE_ADD(m_pia1, PIA6821, 0)
MCFG_PIA_WRITEPA_HANDLER(WRITE8(osborne1_state, video_pia_port_a_w))
MCFG_PIA_WRITEPB_HANDLER(WRITE8(osborne1_state, video_pia_port_b_w))
MCFG_PIA_CB2_HANDLER(WRITELINE(osborne1_state, video_pia_out_cb2_dummy))
MCFG_PIA_IRQA_HANDLER(WRITELINE(osborne1_state, video_pia_irq_a_func))
- MCFG_DEVICE_ADD("acia", ACIA6850, 0)
+ MCFG_DEVICE_ADD(m_acia, ACIA6850, 0)
MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd))
MCFG_ACIA6850_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts))
MCFG_ACIA6850_IRQ_HANDLER(WRITELINE(osborne1_state, serial_acia_irq_func))
@@ -329,10 +330,10 @@ MACHINE_CONFIG_START(osborne1_state::osborne1)
MCFG_RS232_CTS_HANDLER(DEVWRITELINE(m_acia, acia6850_device, write_cts))
MCFG_RS232_RI_HANDLER(DEVWRITELINE(m_pia1, pia6821_device, ca2_w))
- MCFG_DEVICE_ADD("mb8877", MB8877, MAIN_CLOCK/16)
+ MCFG_DEVICE_ADD(m_fdc, MB8877, MAIN_CLOCK/16)
MCFG_WD_FDC_FORCE_READY
- MCFG_FLOPPY_DRIVE_ADD("mb8877:0", osborne1_floppies, "525ssdd", floppy_image_device::default_floppy_formats)
- MCFG_FLOPPY_DRIVE_ADD("mb8877:1", osborne1_floppies, "525ssdd", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(m_floppy0, osborne1_floppies, "525ssdd", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(m_floppy1, osborne1_floppies, "525ssdd", floppy_image_device::default_floppy_formats)
// internal ram
MCFG_RAM_ADD(RAM_TAG)
diff --git a/src/mame/drivers/osi.cpp b/src/mame/drivers/osi.cpp
index 725c98e2980..f76d91ee4e5 100644
--- a/src/mame/drivers/osi.cpp
+++ b/src/mame/drivers/osi.cpp
@@ -686,9 +686,10 @@ void c1pmf_state::machine_start()
// disk format: 1 head, 36 tracks (? - manual displays a directory listing with 40 tracks),
// 10 sectors, 256 byte sector length, first sector id 0
-static SLOT_INTERFACE_START( osi_floppies )
- SLOT_INTERFACE("ssdd", FLOPPY_525_SSDD)
-SLOT_INTERFACE_END
+static void osi_floppies(device_slot_interface &device)
+{
+ device.option_add("ssdd", FLOPPY_525_SSDD);
+}
/* F4 Character Displayer */
static const gfx_layout osi_charlayout =
diff --git a/src/mame/drivers/othello.cpp b/src/mame/drivers/othello.cpp
index 7ffeeed445d..4132ad69575 100644
--- a/src/mame/drivers/othello.cpp
+++ b/src/mame/drivers/othello.cpp
@@ -450,7 +450,7 @@ MACHINE_CONFIG_START(othello_state::othello)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
ROM_START( othello )
diff --git a/src/mame/drivers/p8k.cpp b/src/mame/drivers/p8k.cpp
index 4065ee1c001..c6f42338f57 100644
--- a/src/mame/drivers/p8k.cpp
+++ b/src/mame/drivers/p8k.cpp
@@ -259,9 +259,10 @@ DECLARE_WRITE_LINE_MEMBER( p8k_state::fdc_irq )
m_pio2->port_b_write(state ? 0x10 : 0x00);
}
-static SLOT_INTERFACE_START( p8k_floppies )
- SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
-SLOT_INTERFACE_END
+static void p8k_floppies(device_slot_interface &device)
+{
+ device.option_add("525hd", FLOPPY_525_HD);
+}
/* Input ports */
static INPUT_PORTS_START( p8k )
diff --git a/src/mame/drivers/palm.cpp b/src/mame/drivers/palm.cpp
index ae9349c1403..cee8f9e0d24 100644
--- a/src/mame/drivers/palm.cpp
+++ b/src/mame/drivers/palm.cpp
@@ -202,7 +202,7 @@ MACHINE_CONFIG_START(palm_state::palm)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MCFG_DEVICE_ADD( MC68328_TAG, MC68328, 0 ) // lsi device
MCFG_MC68328_CPU("maincpu")
diff --git a/src/mame/drivers/pandoras.cpp b/src/mame/drivers/pandoras.cpp
index 649eb6b4b11..49b9b50797f 100644
--- a/src/mame/drivers/pandoras.cpp
+++ b/src/mame/drivers/pandoras.cpp
@@ -365,7 +365,7 @@ MACHINE_CONFIG_START(pandoras_state::pandoras)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.12) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/partner.cpp b/src/mame/drivers/partner.cpp
index 3c68fdb4a59..a6598df8a8a 100644
--- a/src/mame/drivers/partner.cpp
+++ b/src/mame/drivers/partner.cpp
@@ -145,9 +145,10 @@ FLOPPY_FORMATS_MEMBER( partner_state::floppy_formats )
FLOPPY_SMX_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( partner_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void partner_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
/* F4 Character Displayer */
static const gfx_layout partner_charlayout =
diff --git a/src/mame/drivers/pasopia7.cpp b/src/mame/drivers/pasopia7.cpp
index 4edfc308b28..2ba8578adf4 100644
--- a/src/mame/drivers/pasopia7.cpp
+++ b/src/mame/drivers/pasopia7.cpp
@@ -913,9 +913,10 @@ void pasopia7_state::fdc_irq(bool state)
m_maincpu->set_input_line(INPUT_LINE_IRQ0, state ? ASSERT_LINE : CLEAR_LINE);
}
-static SLOT_INTERFACE_START( pasopia7_floppies )
- SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
-SLOT_INTERFACE_END
+static void pasopia7_floppies(device_slot_interface &device)
+{
+ device.option_add("525hd", FLOPPY_525_HD);
+}
MACHINE_CONFIG_START(pasopia7_state::p7_base)
/* basic machine hardware */
diff --git a/src/mame/drivers/pastelg.cpp b/src/mame/drivers/pastelg.cpp
index 6c6249a5a93..3b0d72d5207 100644
--- a/src/mame/drivers/pastelg.cpp
+++ b/src/mame/drivers/pastelg.cpp
@@ -432,7 +432,7 @@ MACHINE_CONFIG_START(pastelg_state::pastelg)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
/*
@@ -491,7 +491,7 @@ MACHINE_CONFIG_START(pastelg_state::threeds)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pc100.cpp b/src/mame/drivers/pc100.cpp
index 33fb115091f..8b556d2a1cf 100644
--- a/src/mame/drivers/pc100.cpp
+++ b/src/mame/drivers/pc100.cpp
@@ -490,9 +490,10 @@ TIMER_DEVICE_CALLBACK_MEMBER(pc100_state::pc100_10hz_irq)
}
}
-static SLOT_INTERFACE_START( pc100_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void pc100_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
#define MASTER_CLOCK 6988800
diff --git a/src/mame/drivers/pc1512.cpp b/src/mame/drivers/pc1512.cpp
index 7c5765fd447..1d4d59b6938 100644
--- a/src/mame/drivers/pc1512.cpp
+++ b/src/mame/drivers/pc1512.cpp
@@ -1026,17 +1026,19 @@ WRITE_LINE_MEMBER( pc1512_base_state::write_centronics_fault )
// isa8bus_interface isabus_intf
//-------------------------------------------------
-SLOT_INTERFACE_START( pc1640_isa8_cards )
- SLOT_INTERFACE_INTERNAL("iga", ISA8_PC1640_IGA)
-SLOT_INTERFACE_END
+void pc1640_isa8_cards(device_slot_interface &device)
+{
+ device.option_add_internal("iga", ISA8_PC1640_IGA);
+}
FLOPPY_FORMATS_MEMBER( pc1512_base_state::floppy_formats )
FLOPPY_PC_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( pc1512_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) // Tandon TM65-2L
-SLOT_INTERFACE_END
+static void pc1512_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD); // Tandon TM65-2L
+}
diff --git a/src/mame/drivers/pc8801.cpp b/src/mame/drivers/pc8801.cpp
index 90787ebba81..2c658791750 100644
--- a/src/mame/drivers/pc8801.cpp
+++ b/src/mame/drivers/pc8801.cpp
@@ -2247,9 +2247,10 @@ GFXDECODE_END
/* Floppy Configuration */
-static SLOT_INTERFACE_START( pc88_floppies )
- SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
-SLOT_INTERFACE_END
+static void pc88_floppies(device_slot_interface &device)
+{
+ device.option_add("525hd", FLOPPY_525_HD);
+}
#if 0
/* Cassette Configuration */
diff --git a/src/mame/drivers/pc88va.cpp b/src/mame/drivers/pc88va.cpp
index ea0e60d7d62..a001eedd3b7 100644
--- a/src/mame/drivers/pc88va.cpp
+++ b/src/mame/drivers/pc88va.cpp
@@ -1774,9 +1774,10 @@ FLOPPY_FORMATS_MEMBER( pc88va_state::floppy_formats )
FLOPPY_XDF_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( pc88va_floppies )
- SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
-SLOT_INTERFACE_END
+static void pc88va_floppies(device_slot_interface &device)
+{
+ device.option_add("525hd", FLOPPY_525_HD);
+}
READ8_MEMBER(pc88va_state::dma_memr_cb)
{
diff --git a/src/mame/drivers/pc9801.cpp b/src/mame/drivers/pc9801.cpp
index b52c78d5689..573364d97de 100644
--- a/src/mame/drivers/pc9801.cpp
+++ b/src/mame/drivers/pc9801.cpp
@@ -1960,26 +1960,28 @@ READ8_MEMBER(pc9801_state::unk_r)
*
****************************************/
-static SLOT_INTERFACE_START( pc9801_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
- SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
- SLOT_INTERFACE( "35hd", FLOPPY_35_HD )
-SLOT_INTERFACE_END
+static void pc9801_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+ device.option_add("525hd", FLOPPY_525_HD);
+ device.option_add("35hd", FLOPPY_35_HD);
+}
-static SLOT_INTERFACE_START( pc9801_cbus )
+static void pc9801_cbus_devices(device_slot_interface &device)
+{
// PC-9801-14
- SLOT_INTERFACE( "pc9801_26", PC9801_26 )
- SLOT_INTERFACE( "pc9801_86", PC9801_86 )
+ device.option_add("pc9801_26", PC9801_26);
+ device.option_add("pc9801_86", PC9801_86);
// PC-9801-86
// PC-9801-26 + PC-9801-86 (?)
// PC-9801-86 + Chibi-Oto
- SLOT_INTERFACE( "pc9801_118", PC9801_118 )
+ device.option_add("pc9801_118", PC9801_118);
// Speak Board
// Spark Board
// AMD-98 (AmuseMent boarD)
- SLOT_INTERFACE( "pc9801_amd98", PC9801_AMD98 )
- SLOT_INTERFACE( "mpu_pc98", MPU_PC98 )
-SLOT_INTERFACE_END
+ device.option_add("pc9801_amd98", PC9801_AMD98);
+ device.option_add("mpu_pc98", MPU_PC98);
+}
// Jast Sound, could be put independently
@@ -2197,9 +2199,10 @@ TIMER_DEVICE_CALLBACK_MEMBER( pc9801_state::mouse_irq_cb )
}
}
-SLOT_INTERFACE_START(pc9801_atapi_devices)
- SLOT_INTERFACE("pc9801_cd", PC9801_CD)
-SLOT_INTERFACE_END
+void pc9801_atapi_devices(device_slot_interface &device)
+{
+ device.option_add("pc9801_cd", PC9801_CD);
+}
MACHINE_CONFIG_START(pc9801_state::pc9801_keyboard)
MCFG_DEVICE_ADD("keyb", PC9801_KBD, 53)
@@ -2219,8 +2222,8 @@ MACHINE_CONFIG_START(pc9801_state::pc9801_mouse)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pc9801_state::pc9801_cbus)
- MCFG_PC9801CBUS_SLOT_ADD("cbus0", pc9801_cbus, "pc9801_26")
- MCFG_PC9801CBUS_SLOT_ADD("cbus1", pc9801_cbus, nullptr)
+ MCFG_PC9801CBUS_SLOT_ADD("cbus0", pc9801_cbus_devices, "pc9801_26")
+ MCFG_PC9801CBUS_SLOT_ADD("cbus1", pc9801_cbus_devices, nullptr)
// TODO: six max slots
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pcat_dyn.cpp b/src/mame/drivers/pcat_dyn.cpp
index f83859e3b60..73b2cfa5e43 100644
--- a/src/mame/drivers/pcat_dyn.cpp
+++ b/src/mame/drivers/pcat_dyn.cpp
@@ -141,13 +141,15 @@ static INPUT_PORTS_START( pcat_dyn )
PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_COIN1)
INPUT_PORTS_END
-static SLOT_INTERFACE_START(pcat_dyn_com)
- SLOT_INTERFACE("msmouse", MSYSTEM_SERIAL_MOUSE)
-SLOT_INTERFACE_END
+static void pcat_dyn_com(device_slot_interface &device)
+{
+ device.option_add("msmouse", MSYSTEM_SERIAL_MOUSE);
+}
-static SLOT_INTERFACE_START( pcat_dyn_isa8_cards )
- SLOT_INTERFACE("sb15", ISA8_SOUND_BLASTER_1_5)
-SLOT_INTERFACE_END
+static void pcat_dyn_isa8_cards(device_slot_interface &device)
+{
+ device.option_add("sb15", ISA8_SOUND_BLASTER_1_5);
+}
static DEVICE_INPUT_DEFAULTS_START( pcat_dyn_sb_def )
DEVICE_INPUT_DEFAULTS("CONFIG", 0x03, 0x01)
@@ -215,8 +217,8 @@ MACHINE_CONFIG_START(pcat_dyn_state::pcat_dyn)
MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq3_w))
MCFG_ISA8_SLOT_ADD("isa", "isa1", pcat_dyn_isa8_cards, "sb15", true)
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("sb15", pcat_dyn_sb_def)
- MCFG_DEVICE_CARD_MACHINE_CONFIG("sb15", pcat_dyn_sb_conf)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("sb15", pcat_dyn_sb_def)
+ MCFG_SLOT_OPTION_MACHINE_CONFIG("sb15", pcat_dyn_sb_conf)
MACHINE_CONFIG_END
/***************************************
diff --git a/src/mame/drivers/pcd.cpp b/src/mame/drivers/pcd.cpp
index 28c20a8e38c..83a60167487 100644
--- a/src/mame/drivers/pcd.cpp
+++ b/src/mame/drivers/pcd.cpp
@@ -478,10 +478,11 @@ void pcd_state::pcx_io(address_map &map)
// MACHINE DRIVERS
//**************************************************************************
-static SLOT_INTERFACE_START( pcd_floppies )
- SLOT_INTERFACE("55f", TEAC_FD_55F) // 80 tracks
- SLOT_INTERFACE("55g", TEAC_FD_55G) // 77 tracks
-SLOT_INTERFACE_END
+static void pcd_floppies(device_slot_interface &device)
+{
+ device.option_add("55f", TEAC_FD_55F); // 80 tracks
+ device.option_add("55g", TEAC_FD_55G); // 77 tracks
+}
FLOPPY_FORMATS_MEMBER( pcd_state::floppy_formats )
FLOPPY_PC_FORMAT
diff --git a/src/mame/drivers/pce.cpp b/src/mame/drivers/pce.cpp
index c94082daf62..77b34ea71ff 100644
--- a/src/mame/drivers/pce.cpp
+++ b/src/mame/drivers/pce.cpp
@@ -305,13 +305,14 @@ uint32_t pce_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, c
}
-static SLOT_INTERFACE_START(pce_cart)
- SLOT_INTERFACE_INTERNAL("rom", PCE_ROM_STD)
- SLOT_INTERFACE_INTERNAL("cdsys3u", PCE_ROM_CDSYS3)
- SLOT_INTERFACE_INTERNAL("cdsys3j", PCE_ROM_CDSYS3)
- SLOT_INTERFACE_INTERNAL("populous", PCE_ROM_POPULOUS)
- SLOT_INTERFACE_INTERNAL("sf2", PCE_ROM_SF2)
-SLOT_INTERFACE_END
+static void pce_cart(device_slot_interface &device)
+{
+ device.option_add_internal("rom", PCE_ROM_STD);
+ device.option_add_internal("cdsys3u", PCE_ROM_CDSYS3);
+ device.option_add_internal("cdsys3j", PCE_ROM_CDSYS3);
+ device.option_add_internal("populous", PCE_ROM_POPULOUS);
+ device.option_add_internal("sf2", PCE_ROM_SF2);
+}
MACHINE_CONFIG_START(pce_state::pce_common)
/* basic machine hardware */
diff --git a/src/mame/drivers/pcw.cpp b/src/mame/drivers/pcw.cpp
index 1692dc3ee7b..3468065d24e 100644
--- a/src/mame/drivers/pcw.cpp
+++ b/src/mame/drivers/pcw.cpp
@@ -1240,9 +1240,10 @@ static INPUT_PORTS_START(pcw)
PORT_BIT( 0xff, 0x00, IPT_UNUSED)
INPUT_PORTS_END
-static SLOT_INTERFACE_START( pcw_floppies )
- SLOT_INTERFACE( "3dsdd", FLOPPY_3_DSDD )
-SLOT_INTERFACE_END
+static void pcw_floppies(device_slot_interface &device)
+{
+ device.option_add("3dsdd", FLOPPY_3_DSDD);
+}
/* PCW8256, PCW8512, PCW9256 */
MACHINE_CONFIG_START(pcw_state::pcw)
diff --git a/src/mame/drivers/pcw16.cpp b/src/mame/drivers/pcw16.cpp
index 1d2dd69184b..477735fd409 100644
--- a/src/mame/drivers/pcw16.cpp
+++ b/src/mame/drivers/pcw16.cpp
@@ -930,9 +930,10 @@ FLOPPY_FORMATS_MEMBER( pcw16_state::floppy_formats )
FLOPPY_PC_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( pcw16_floppies )
- SLOT_INTERFACE( "35hd", FLOPPY_35_HD )
-SLOT_INTERFACE_END
+static void pcw16_floppies(device_slot_interface &device)
+{
+ device.option_add("35hd", FLOPPY_35_HD);
+}
void pcw16_state::pcw16_io(address_map &map)
@@ -1004,9 +1005,10 @@ static INPUT_PORTS_START(pcw16)
PORT_INCLUDE( at_keyboard ) /* IN4 - IN11 */
INPUT_PORTS_END
-static SLOT_INTERFACE_START(pcw16_com)
- SLOT_INTERFACE("msystems_mouse", MSYSTEM_SERIAL_MOUSE)
-SLOT_INTERFACE_END
+static void pcw16_com(device_slot_interface &device)
+{
+ device.option_add("msystems_mouse", MSYSTEM_SERIAL_MOUSE);
+}
MACHINE_CONFIG_START(pcw16_state::pcw16)
/* basic machine hardware */
diff --git a/src/mame/drivers/pcxt.cpp b/src/mame/drivers/pcxt.cpp
index e0d5a6b6e47..9b814e5895c 100644
--- a/src/mame/drivers/pcxt.cpp
+++ b/src/mame/drivers/pcxt.cpp
@@ -486,10 +486,11 @@ void pcxt_state::machine_reset()
m_lastvalue = -1;
}
-static SLOT_INTERFACE_START( filetto_isa8_cards )
- SLOT_INTERFACE_INTERNAL("filetto", ISA8_CGA_FILETTO)
- SLOT_INTERFACE_INTERNAL("tetriskr", ISA8_CGA_TETRISKR)
-SLOT_INTERFACE_END
+static void filetto_isa8_cards(device_slot_interface &device)
+{
+ device.option_add_internal("filetto", ISA8_CGA_FILETTO);
+ device.option_add_internal("tetriskr", ISA8_CGA_TETRISKR);
+}
MACHINE_CONFIG_START(pcxt_state::filetto)
diff --git a/src/mame/drivers/peoplepc.cpp b/src/mame/drivers/peoplepc.cpp
index 3a7e6690b5e..dbd4d098a3c 100644
--- a/src/mame/drivers/peoplepc.cpp
+++ b/src/mame/drivers/peoplepc.cpp
@@ -218,17 +218,19 @@ void peoplepc_state::peoplepc_io(address_map &map)
map(0x0070, 0x0070).w(this, FUNC(peoplepc_state::dmapg_w));
}
-static SLOT_INTERFACE_START( peoplepc_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void peoplepc_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
FLOPPY_FORMATS_MEMBER( peoplepc_state::floppy_formats )
FLOPPY_IMD_FORMAT
FLOPPY_FORMATS_END
-SLOT_INTERFACE_START( peoplepc_keyboard_devices )
- SLOT_INTERFACE("keyboard", SERIAL_KEYBOARD)
-SLOT_INTERFACE_END
+void peoplepc_keyboard_devices(device_slot_interface &device)
+{
+ device.option_add("keyboard", SERIAL_KEYBOARD);
+}
static DEVICE_INPUT_DEFAULTS_START(keyboard)
DEVICE_INPUT_DEFAULTS( "RS232_TXBAUD", 0xff, RS232_BAUD_1200 )
@@ -296,7 +298,7 @@ MACHINE_CONFIG_START(peoplepc_state::olypeopl)
MCFG_RS232_PORT_ADD("kbd", peoplepc_keyboard_devices, "keyboard")
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("i8251_0", i8251_device, write_rxd))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("keyboard", keyboard)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", keyboard)
MCFG_DEVICE_ADD("i8251_1", I8251, 0)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pet.cpp b/src/mame/drivers/pet.cpp
index cb73e92d25c..3ad844da28b 100644
--- a/src/mame/drivers/pet.cpp
+++ b/src/mame/drivers/pet.cpp
@@ -1584,9 +1584,10 @@ MC6845_UPDATE_ROW( pet80_state::cbm8296_update_row )
// SLOT_INTERFACE( cbm8296d_ieee488_devices )
//-------------------------------------------------
-SLOT_INTERFACE_START( cbm8296d_ieee488_devices )
- SLOT_INTERFACE("c8250lp", C8250LP)
-SLOT_INTERFACE_END
+void cbm8296d_ieee488_devices(device_slot_interface &device)
+{
+ device.option_add("c8250lp", C8250LP);
+}
diff --git a/src/mame/drivers/pg685.cpp b/src/mame/drivers/pg685.cpp
index dbf403c5902..8c13f539e1b 100644
--- a/src/mame/drivers/pg685.cpp
+++ b/src/mame/drivers/pg685.cpp
@@ -280,13 +280,15 @@ READ8_MEMBER(pg685_state::f9f3f_r)
// FLOPPY
//**************************************************************************
-static SLOT_INTERFACE_START( pg675_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void pg675_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
-static SLOT_INTERFACE_START( pg685_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void pg685_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
READ8_MEMBER(pg685_state::f9f24_r)
diff --git a/src/mame/drivers/pimps.cpp b/src/mame/drivers/pimps.cpp
index 6d4e7dda22b..de99b376419 100644
--- a/src/mame/drivers/pimps.cpp
+++ b/src/mame/drivers/pimps.cpp
@@ -148,7 +148,7 @@ MACHINE_CONFIG_START(pimps_state::pimps)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart1", i8251_device, write_rxd))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart1", i8251_device, write_dsr))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart1", i8251_device, write_cts))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) // must be exactly here
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) // must be exactly here
MCFG_DEVICE_ADD("uart2", I8251, 0)
MCFG_I8251_TXD_HANDLER(DEVWRITELINE("rs232b", rs232_port_device, write_txd))
diff --git a/src/mame/drivers/pipbug.cpp b/src/mame/drivers/pipbug.cpp
index 6be0cb7708f..c63caf19d42 100644
--- a/src/mame/drivers/pipbug.cpp
+++ b/src/mame/drivers/pipbug.cpp
@@ -168,7 +168,7 @@ MACHINE_CONFIG_START(pipbug_state::pipbug)
/* video hardware */
MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal")
MCFG_RS232_RXD_HANDLER(INPUTLINE("maincpu", S2650_SENSE_LINE))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
/* quickload */
MCFG_QUICKLOAD_ADD("quickload", pipbug_state, pipbug, "pgm", 1)
diff --git a/src/mame/drivers/pk8020.cpp b/src/mame/drivers/pk8020.cpp
index 1e0221916a1..43b9b724a46 100644
--- a/src/mame/drivers/pk8020.cpp
+++ b/src/mame/drivers/pk8020.cpp
@@ -171,9 +171,10 @@ FLOPPY_FORMATS_MEMBER( pk8020_state::floppy_formats )
FLOPPY_PK8020_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( pk8020_floppies )
- SLOT_INTERFACE("qd", FLOPPY_525_QD)
-SLOT_INTERFACE_END
+static void pk8020_floppies(device_slot_interface &device)
+{
+ device.option_add("qd", FLOPPY_525_QD);
+}
/* Machine driver */
diff --git a/src/mame/drivers/plus4.cpp b/src/mame/drivers/plus4.cpp
index cd823f5d64a..60f0a43f2ee 100644
--- a/src/mame/drivers/plus4.cpp
+++ b/src/mame/drivers/plus4.cpp
@@ -815,10 +815,11 @@ WRITE_LINE_MEMBER( plus4_state::exp_irq_w )
// SLOT_INTERFACE( cbm_datassette_devices )
//-------------------------------------------------
-SLOT_INTERFACE_START( plus4_datassette_devices )
- SLOT_INTERFACE("c1531", C1531)
- SLOT_INTERFACE("diag264", DIAG264_CASSETTE_LOOPBACK)
-SLOT_INTERFACE_END
+void plus4_datassette_devices(device_slot_interface &device)
+{
+ device.option_add("c1531", C1531);
+ device.option_add("diag264", DIAG264_CASSETTE_LOOPBACK);
+}
diff --git a/src/mame/drivers/pockstat.cpp b/src/mame/drivers/pockstat.cpp
index dda961ce241..55373c8165d 100644
--- a/src/mame/drivers/pockstat.cpp
+++ b/src/mame/drivers/pockstat.cpp
@@ -993,7 +993,7 @@ MACHINE_CONFIG_START(pockstat_state::pockstat)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
/* cartridge */
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "pockstat_cart")
diff --git a/src/mame/drivers/polepos.cpp b/src/mame/drivers/polepos.cpp
index 0c8ce4307d0..9f7d2948aa9 100644
--- a/src/mame/drivers/polepos.cpp
+++ b/src/mame/drivers/polepos.cpp
@@ -1052,7 +1052,7 @@ MACHINE_CONFIG_START(polepos_state::topracern)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.12)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.12)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(polepos_state::polepos2bi)
diff --git a/src/mame/drivers/pong.cpp b/src/mame/drivers/pong.cpp
index 4f182270dfe..246fc77b0dc 100644
--- a/src/mame/drivers/pong.cpp
+++ b/src/mame/drivers/pong.cpp
@@ -407,7 +407,7 @@ MACHINE_CONFIG_START(pong_state::pong)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(breakout_state::breakout)
@@ -460,7 +460,7 @@ MACHINE_CONFIG_START(breakout_state::breakout)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pong_state::pongf)
@@ -505,7 +505,7 @@ MACHINE_CONFIG_START(pong_state::pongd)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mame/drivers/popeye.cpp b/src/mame/drivers/popeye.cpp
index 5ff43821de9..daafc6ab65a 100644
--- a/src/mame/drivers/popeye.cpp
+++ b/src/mame/drivers/popeye.cpp
@@ -622,9 +622,9 @@ MACHINE_CONFIG_START(tpp2_state::config)
MCFG_SOUND_ROUTES_RESET()
MCFG_AY8910_OUTPUT_TYPE(AY8910_RESISTOR_OUTPUT) /* Does tnx1, tpp1 & popeyebl have the same filtering? */
MCFG_AY8910_RES_LOADS(2000.0, 2000.0, 2000.0)
- MCFG_SOUND_ROUTE_EX(0, "snd_nl", 1.0, 0)
- MCFG_SOUND_ROUTE_EX(1, "snd_nl", 1.0, 1)
- MCFG_SOUND_ROUTE_EX(2, "snd_nl", 1.0, 2)
+ MCFG_SOUND_ROUTE(0, "snd_nl", 1.0, 0)
+ MCFG_SOUND_ROUTE(1, "snd_nl", 1.0, 1)
+ MCFG_SOUND_ROUTE(2, "snd_nl", 1.0, 2)
/* NETLIST configuration using internal AY8910 resistor values */
diff --git a/src/mame/drivers/ppmast93.cpp b/src/mame/drivers/ppmast93.cpp
index adbb0156493..b9e4e71d190 100644
--- a/src/mame/drivers/ppmast93.cpp
+++ b/src/mame/drivers/ppmast93.cpp
@@ -404,7 +404,7 @@ MACHINE_CONFIG_START(ppmast93_state::ppmast93)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
ROM_START( ppmast93 )
diff --git a/src/mame/drivers/prof180x.cpp b/src/mame/drivers/prof180x.cpp
index 2bd2b0951df..fa8cbe39964 100644
--- a/src/mame/drivers/prof180x.cpp
+++ b/src/mame/drivers/prof180x.cpp
@@ -207,9 +207,10 @@ INPUT_PORTS_END
/* Video */
-static SLOT_INTERFACE_START( prof180x_floppies )
- SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
-SLOT_INTERFACE_END
+static void prof180x_floppies(device_slot_interface &device)
+{
+ device.option_add("35dd", FLOPPY_35_DD);
+}
/*
static RTC8583_INTERFACE( rtc_intf )
diff --git a/src/mame/drivers/prof80.cpp b/src/mame/drivers/prof80.cpp
index 410bb5f5ef9..105e267ecf0 100644
--- a/src/mame/drivers/prof80.cpp
+++ b/src/mame/drivers/prof80.cpp
@@ -395,9 +395,10 @@ INPUT_PORTS_END
// upd765_interface fdc_intf
//-------------------------------------------------
-static SLOT_INTERFACE_START( prof80_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void prof80_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
diff --git a/src/mame/drivers/proteus.cpp b/src/mame/drivers/proteus.cpp
index 4ad69477300..04087a4f641 100644
--- a/src/mame/drivers/proteus.cpp
+++ b/src/mame/drivers/proteus.cpp
@@ -313,9 +313,10 @@ FLOPPY_FORMATS_MEMBER(proteus_state::floppy_formats)
FLOPPY_POLY_CPM_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START(proteus_floppies)
- SLOT_INTERFACE("8dssd", FLOPPY_8_DSSD) // Shugart SA-860
-SLOT_INTERFACE_END
+static void proteus_floppies(device_slot_interface &device)
+{
+ device.option_add("8dssd", FLOPPY_8_DSSD); // Shugart SA-860
+}
MACHINE_CONFIG_START(proteus_state::proteus)
diff --git a/src/mame/drivers/pt68k4.cpp b/src/mame/drivers/pt68k4.cpp
index cb96355d3b1..a48d4426a66 100644
--- a/src/mame/drivers/pt68k4.cpp
+++ b/src/mame/drivers/pt68k4.cpp
@@ -156,9 +156,10 @@ FLOPPY_FORMATS_MEMBER( pt68k4_state::floppy_formats )
FLOPPY_IMD_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( pt68k_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void pt68k_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
// XT keyboard interface - done in TTL instead of an 804x
WRITE_LINE_MEMBER(pt68k4_state::keyboard_clock_w)
@@ -389,16 +390,17 @@ WRITE_LINE_MEMBER(pt68k4_state::duart2_irq)
}
// these are cards supported by the HUMBUG and Monk BIOSes
-SLOT_INTERFACE_START( pt68k4_isa8_cards )
- SLOT_INTERFACE("mda", ISA8_MDA)
- SLOT_INTERFACE("cga", ISA8_CGA)
- SLOT_INTERFACE("ega", ISA8_EGA) // Monk only
- SLOT_INTERFACE("vga", ISA8_VGA) // Monk only
- SLOT_INTERFACE("fdc_at", ISA8_FDC_AT)
- SLOT_INTERFACE("wdxt_gen", ISA8_WDXT_GEN)
- SLOT_INTERFACE("lpt", ISA8_LPT)
- SLOT_INTERFACE("xtide", ISA8_XTIDE) // Monk only
-SLOT_INTERFACE_END
+void pt68k4_isa8_cards(device_slot_interface &device)
+{
+ device.option_add("mda", ISA8_MDA);
+ device.option_add("cga", ISA8_CGA);
+ device.option_add("ega", ISA8_EGA); // Monk only
+ device.option_add("vga", ISA8_VGA); // Monk only
+ device.option_add("fdc_at", ISA8_FDC_AT);
+ device.option_add("wdxt_gen", ISA8_WDXT_GEN);
+ device.option_add("lpt", ISA8_LPT);
+ device.option_add("xtide", ISA8_XTIDE); // Monk only
+}
MACHINE_CONFIG_START(pt68k4_state::pt68k2)
/* basic machine hardware */
diff --git a/src/mame/drivers/pulsar.cpp b/src/mame/drivers/pulsar.cpp
index e4c9fe0970a..15c4984aa01 100644
--- a/src/mame/drivers/pulsar.cpp
+++ b/src/mame/drivers/pulsar.cpp
@@ -179,9 +179,10 @@ static DEVICE_INPUT_DEFAULTS_START( terminal )
DEVICE_INPUT_DEFAULTS( "RS232_STOPBITS", 0xff, RS232_STOPBITS_1 )
DEVICE_INPUT_DEFAULTS_END
-static SLOT_INTERFACE_START( pulsar_floppies )
- SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
-SLOT_INTERFACE_END
+static void pulsar_floppies(device_slot_interface &device)
+{
+ device.option_add("525hd", FLOPPY_525_HD);
+}
/* Input ports */
static INPUT_PORTS_START( pulsar )
@@ -236,7 +237,7 @@ MACHINE_CONFIG_START(pulsar_state::pulsar)
MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal")
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("dart", z80dart_device, rxa_w))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("dart", z80dart_device, ctsa_w))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_DEVICE_ADD("brg", COM8116, XTAL(5'068'800))
// Schematic has the labels for FT and FR the wrong way around, but the pin numbers are correct.
diff --git a/src/mame/drivers/pwrview.cpp b/src/mame/drivers/pwrview.cpp
index b7b489bfed5..30411412452 100644
--- a/src/mame/drivers/pwrview.cpp
+++ b/src/mame/drivers/pwrview.cpp
@@ -397,9 +397,10 @@ void pwrview_state::pwrview_io(address_map &map)
map(0xc2e6, 0xc2e6).r(this, FUNC(pwrview_state::pitclock_r));
}
-static SLOT_INTERFACE_START(pwrview_floppies)
- SLOT_INTERFACE("525dd", FLOPPY_525_DD)
-SLOT_INTERFACE_END
+static void pwrview_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
MACHINE_CONFIG_START(pwrview_state::pwrview)
MCFG_CPU_ADD("maincpu", I80186, XTAL(16'000'000))
diff --git a/src/mame/drivers/pyl601.cpp b/src/mame/drivers/pyl601.cpp
index f2c70e7ade5..d52d3475a21 100644
--- a/src/mame/drivers/pyl601.cpp
+++ b/src/mame/drivers/pyl601.cpp
@@ -494,9 +494,10 @@ FLOPPY_FORMATS_MEMBER( pyl601_state::floppy_formats )
FLOPPY_PYLDIN_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( pyl601_floppies )
- SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
-SLOT_INTERFACE_END
+static void pyl601_floppies(device_slot_interface &device)
+{
+ device.option_add("525hd", FLOPPY_525_HD);
+}
/* F4 Character Displayer */
static const gfx_layout pyl601_charlayout =
diff --git a/src/mame/drivers/qtsbc.cpp b/src/mame/drivers/qtsbc.cpp
index 98bd1d493a0..daad7dd9bd7 100644
--- a/src/mame/drivers/qtsbc.cpp
+++ b/src/mame/drivers/qtsbc.cpp
@@ -483,7 +483,7 @@ MACHINE_CONFIG_START(qtsbc_state::qtsbc)
MCFG_RS232_DSR_HANDLER(DEVWRITELINE("usart", i8251_device, write_dsr)) // actually from pin 11, "Reverse Channel Transmit"
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts))
MCFG_RS232_DCD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_dtr))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) // must be exactly here
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) // must be exactly here
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/quantum.cpp b/src/mame/drivers/quantum.cpp
index 87a0fbfca50..35c2efbc4a5 100644
--- a/src/mame/drivers/quantum.cpp
+++ b/src/mame/drivers/quantum.cpp
@@ -307,7 +307,7 @@ MACHINE_CONFIG_START(quantum_state::quantum)
MCFG_POKEY_POT6_R_CB(READ8(quantum_state, input_1_r))
MCFG_POKEY_POT7_R_CB(READ8(quantum_state, input_1_r))
MCFG_POKEY_OUTPUT_OPAMP(RES_K(1), 0.0, 5.0)
- MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 0)
+ MCFG_SOUND_ROUTE(0, "discrete", 1.0, 0)
MCFG_SOUND_ADD("pokey2", POKEY, 600000)
MCFG_POKEY_POT0_R_CB(READ8(quantum_state, input_2_r))
@@ -319,7 +319,7 @@ MACHINE_CONFIG_START(quantum_state::quantum)
MCFG_POKEY_POT6_R_CB(READ8(quantum_state, input_2_r))
MCFG_POKEY_POT7_R_CB(READ8(quantum_state, input_2_r))
MCFG_POKEY_OUTPUT_OPAMP(RES_K(1), 0.0, 5.0)
- MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 1)
+ MCFG_SOUND_ROUTE(0, "discrete", 1.0, 1)
MCFG_SOUND_ADD("discrete", DISCRETE, 0)
MCFG_DISCRETE_INTF(quantum)
diff --git a/src/mame/drivers/quasar.cpp b/src/mame/drivers/quasar.cpp
index 9e878e50a12..063dced522d 100644
--- a/src/mame/drivers/quasar.cpp
+++ b/src/mame/drivers/quasar.cpp
@@ -350,7 +350,7 @@ MACHINE_CONFIG_START(quasar_state::quasar)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
ROM_START( quasar )
diff --git a/src/mame/drivers/quizshow.cpp b/src/mame/drivers/quizshow.cpp
index e33bd1fe8bb..1a1752049ca 100644
--- a/src/mame/drivers/quizshow.cpp
+++ b/src/mame/drivers/quizshow.cpp
@@ -411,7 +411,7 @@ MACHINE_CONFIG_START(quizshow_state::quizshow)
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/qx10.cpp b/src/mame/drivers/qx10.cpp
index 9492063623e..e5e421c0825 100644
--- a/src/mame/drivers/qx10.cpp
+++ b/src/mame/drivers/qx10.cpp
@@ -381,9 +381,10 @@ QUICKLOAD_LOAD_MEMBER( qx10_state, qx10 )
FDD
*/
-static SLOT_INTERFACE_START( qx10_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void qx10_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
WRITE_LINE_MEMBER( qx10_state::qx10_upd765_interrupt )
{
@@ -721,9 +722,10 @@ void qx10_state::upd7220_map(address_map &map)
map(0x00000, 0x3ffff).rw(this, FUNC(qx10_state::vram_r), FUNC(qx10_state::vram_w));
}
-static SLOT_INTERFACE_START(keyboard)
- SLOT_INTERFACE("qx10", QX10_KEYBOARD)
-SLOT_INTERFACE_END
+static void keyboard(device_slot_interface &device)
+{
+ device.option_add("qx10", QX10_KEYBOARD);
+}
MACHINE_CONFIG_START(qx10_state::qx10)
/* basic machine hardware */
diff --git a/src/mame/drivers/rainbow.cpp b/src/mame/drivers/rainbow.cpp
index 9356e686e68..682aa5a8680 100644
--- a/src/mame/drivers/rainbow.cpp
+++ b/src/mame/drivers/rainbow.cpp
@@ -862,12 +862,13 @@ FLOPPY_IMD_FORMAT,
FLOPPY_PC_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START(rainbow_floppies)
-SLOT_INTERFACE("525qd", FLOPPY_525_QD) // QD means 80 tracks with DD data rate (single or double sided).
-SLOT_INTERFACE("525dd", FLOPPY_525_DD) // mimic a 5.25" PC (40 track) drive. Requires IDrive5.SYS.
-SLOT_INTERFACE("35dd", FLOPPY_35_DD) // mimic 3.5" PC drive (720K, double density). Use Impdrv3.SYS.
-SLOT_INTERFACE("525ssdd", FLOPPY_525_SSDD) // to read a single sided, (160K) PC-DOS 1 disk with MediaMaster
-SLOT_INTERFACE_END
+static void rainbow_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD); // QD means 80 tracks with DD data rate (single or double sided).
+ device.option_add("525dd", FLOPPY_525_DD); // mimic a 5.25" PC (40 track) drive. Requires IDrive5.SYS.
+ device.option_add("35dd", FLOPPY_35_DD); // mimic 3.5" PC drive (720K, double density). Use Impdrv3.SYS.
+ device.option_add("525ssdd", FLOPPY_525_SSDD); // to read a single sided, (160K) PC-DOS 1 disk with MediaMaster
+}
void rainbow_state::machine_start()
{
diff --git a/src/mame/drivers/rastersp.cpp b/src/mame/drivers/rastersp.cpp
index f792400a4e7..7d9337a9b26 100644
--- a/src/mame/drivers/rastersp.cpp
+++ b/src/mame/drivers/rastersp.cpp
@@ -848,10 +848,11 @@ void rastersp_state::ncr53c700(device_t *device)
MCFG_NCR53C7XX_HOST_WRITE(DEVWRITE32(":", rastersp_state, ncr53c700_write))
}
-static SLOT_INTERFACE_START( rastersp_scsi_devices )
- SLOT_INTERFACE("harddisk", NSCSI_HARDDISK)
- SLOT_INTERFACE_INTERNAL("ncr53c700", NCR53C7XX)
-SLOT_INTERFACE_END
+static void rastersp_scsi_devices(device_slot_interface &device)
+{
+ device.option_add("harddisk", NSCSI_HARDDISK);
+ device.option_add_internal("ncr53c700", NCR53C7XX);
+}
/*************************************
@@ -879,7 +880,7 @@ MACHINE_CONFIG_START(rastersp_state::rastersp)
MCFG_NSCSI_BUS_ADD("scsibus")
MCFG_NSCSI_ADD("scsibus:0", rastersp_scsi_devices, "harddisk", true)
MCFG_NSCSI_ADD("scsibus:7", rastersp_scsi_devices, "ncr53c700", true)
- MCFG_DEVICE_CARD_MACHINE_CONFIG("ncr53c700", ncr53c700)
+ MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr53c700", ncr53c700)
/* Video */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -899,8 +900,8 @@ MACHINE_CONFIG_START(rastersp_state::rastersp)
MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC
MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/rc702.cpp b/src/mame/drivers/rc702.cpp
index d2ea326a5c3..bbe87db641d 100644
--- a/src/mame/drivers/rc702.cpp
+++ b/src/mame/drivers/rc702.cpp
@@ -322,9 +322,10 @@ void rc702_state::kbd_put(u8 data)
m_pio->strobe_a(1);
}
-static SLOT_INTERFACE_START( floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
MACHINE_CONFIG_START(rc702_state::rc702)
/* basic machine hardware */
diff --git a/src/mame/drivers/rc759.cpp b/src/mame/drivers/rc759.cpp
index 0fa535c20ea..21be59dd228 100644
--- a/src/mame/drivers/rc759.cpp
+++ b/src/mame/drivers/rc759.cpp
@@ -525,9 +525,10 @@ INPUT_PORTS_END
// MACHINE DRIVERS
//**************************************************************************
-static SLOT_INTERFACE_START( rc759_floppies )
- SLOT_INTERFACE("hd", FLOPPY_525_HD)
-SLOT_INTERFACE_END
+static void rc759_floppies(device_slot_interface &device)
+{
+ device.option_add("hd", FLOPPY_525_HD);
+}
MACHINE_CONFIG_START(rc759_state::rc759)
MCFG_CPU_ADD("maincpu", I80186, 6000000)
diff --git a/src/mame/drivers/replicator.cpp b/src/mame/drivers/replicator.cpp
index 6ddba3655d5..698f56e2601 100644
--- a/src/mame/drivers/replicator.cpp
+++ b/src/mame/drivers/replicator.cpp
@@ -643,7 +643,7 @@ MACHINE_CONFIG_START(replicator_state::replicator)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(0, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
ROM_START( replica1 )
diff --git a/src/mame/drivers/risc2500.cpp b/src/mame/drivers/risc2500.cpp
index ac1a4119fd3..71850608ccc 100644
--- a/src/mame/drivers/risc2500.cpp
+++ b/src/mame/drivers/risc2500.cpp
@@ -339,7 +339,7 @@ MACHINE_CONFIG_START(risc2500_state::risc2500)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_2BIT_BINARY_WEIGHTED_ONES_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/rltennis.cpp b/src/mame/drivers/rltennis.cpp
index 23c3b98e031..958cbe977e1 100644
--- a/src/mame/drivers/rltennis.cpp
+++ b/src/mame/drivers/rltennis.cpp
@@ -210,8 +210,8 @@ MACHINE_CONFIG_START(rltennis_state::rltennis)
MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
ROM_START( rltennis )
diff --git a/src/mame/drivers/rm380z.cpp b/src/mame/drivers/rm380z.cpp
index 7e20c7081d4..725309498d0 100644
--- a/src/mame/drivers/rm380z.cpp
+++ b/src/mame/drivers/rm380z.cpp
@@ -222,9 +222,10 @@ INPUT_PORTS_END
//
//
-static SLOT_INTERFACE_START( rm380z_floppies )
- SLOT_INTERFACE("sssd", FLOPPY_525_SSSD)
-SLOT_INTERFACE_END
+static void rm380z_floppies(device_slot_interface &device)
+{
+ device.option_add("sssd", FLOPPY_525_SSSD);
+}
uint32_t rm380z_state::screen_update_rm380z(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
diff --git a/src/mame/drivers/rmnimbus.cpp b/src/mame/drivers/rmnimbus.cpp
index e7855be4868..c50c650309a 100644
--- a/src/mame/drivers/rmnimbus.cpp
+++ b/src/mame/drivers/rmnimbus.cpp
@@ -28,13 +28,15 @@
#include "formats/pc_dsk.h"
-static SLOT_INTERFACE_START(rmnimbus_floppies)
- SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
-SLOT_INTERFACE_END
+static void rmnimbus_floppies(device_slot_interface &device)
+{
+ device.option_add("35dd", FLOPPY_35_DD);
+}
-static SLOT_INTERFACE_START(keyboard)
- SLOT_INTERFACE("rmnkbd", RMNIMBUS_KEYBOARD)
-SLOT_INTERFACE_END
+static void keyboard(device_slot_interface &device)
+{
+ device.option_add("rmnkbd", RMNIMBUS_KEYBOARD);
+}
void rmnimbus_state::nimbus_mem(address_map &map)
{
diff --git a/src/mame/drivers/route16.cpp b/src/mame/drivers/route16.cpp
index d7abaa945ed..e64fcdb46d3 100644
--- a/src/mame/drivers/route16.cpp
+++ b/src/mame/drivers/route16.cpp
@@ -685,7 +685,7 @@ MACHINE_CONFIG_START(route16_state::stratvox)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/rowamet.cpp b/src/mame/drivers/rowamet.cpp
index 57874b4a86f..d57147bdd91 100644
--- a/src/mame/drivers/rowamet.cpp
+++ b/src/mame/drivers/rowamet.cpp
@@ -236,7 +236,7 @@ MACHINE_CONFIG_START(rowamet_state::rowamet)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
/*-------------------------------------------------------------------
diff --git a/src/mame/drivers/royalmah.cpp b/src/mame/drivers/royalmah.cpp
index 57b07ce2e34..e028270fc08 100644
--- a/src/mame/drivers/royalmah.cpp
+++ b/src/mame/drivers/royalmah.cpp
@@ -3529,7 +3529,7 @@ MACHINE_CONFIG_START(royalmah_state::jansou)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(royalmah_state::dondenmj)
diff --git a/src/mame/drivers/s11.cpp b/src/mame/drivers/s11.cpp
index b96b29cb99f..32b34a6e729 100644
--- a/src/mame/drivers/s11.cpp
+++ b/src/mame/drivers/s11.cpp
@@ -449,8 +449,8 @@ MACHINE_CONFIG_START(s11_state::s11)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SPEAKER_STANDARD_MONO("speech")
MCFG_SOUND_ADD("hc55516", HC55516, 0)
diff --git a/src/mame/drivers/s11a.cpp b/src/mame/drivers/s11a.cpp
index de9adf93087..c07e7169fd8 100644
--- a/src/mame/drivers/s11a.cpp
+++ b/src/mame/drivers/s11a.cpp
@@ -241,8 +241,8 @@ MACHINE_CONFIG_START(s11a_state::s11a)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SPEAKER_STANDARD_MONO("speech")
MCFG_SOUND_ADD("hc55516", HC55516, 0)
diff --git a/src/mame/drivers/s11b.cpp b/src/mame/drivers/s11b.cpp
index 65d3d5bc227..2bb0f92a4d9 100644
--- a/src/mame/drivers/s11b.cpp
+++ b/src/mame/drivers/s11b.cpp
@@ -315,8 +315,8 @@ MACHINE_CONFIG_START(s11b_state::s11b)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SPEAKER_STANDARD_MONO("speech")
MCFG_SOUND_ADD("hc55516", HC55516, 0)
diff --git a/src/mame/drivers/s3.cpp b/src/mame/drivers/s3.cpp
index 13e013841ee..5a5b76c91ee 100644
--- a/src/mame/drivers/s3.cpp
+++ b/src/mame/drivers/s3.cpp
@@ -495,7 +495,7 @@ MACHINE_CONFIG_START(s3_state::s3a)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_DEVICE_ADD("pias", PIA6821, 0)
MCFG_PIA_READPB_HANDLER(READ8(s3_state,sound_r))
diff --git a/src/mame/drivers/s4.cpp b/src/mame/drivers/s4.cpp
index a9f4fdbb882..ff75edaaacb 100644
--- a/src/mame/drivers/s4.cpp
+++ b/src/mame/drivers/s4.cpp
@@ -489,7 +489,7 @@ MACHINE_CONFIG_START(s4_state::s4a)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_DEVICE_ADD("pias", PIA6821, 0)
MCFG_PIA_READPB_HANDLER(READ8(s4_state, sound_r))
diff --git a/src/mame/drivers/s6.cpp b/src/mame/drivers/s6.cpp
index 3c7f98571bd..f0f421ac433 100644
--- a/src/mame/drivers/s6.cpp
+++ b/src/mame/drivers/s6.cpp
@@ -459,7 +459,7 @@ MACHINE_CONFIG_START(s6_state::s6)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SPEAKER_STANDARD_MONO("speech")
MCFG_SOUND_ADD("hc55516", HC55516, 0)
diff --git a/src/mame/drivers/s6a.cpp b/src/mame/drivers/s6a.cpp
index 7fd6b295130..7689111eea6 100644
--- a/src/mame/drivers/s6a.cpp
+++ b/src/mame/drivers/s6a.cpp
@@ -442,7 +442,7 @@ MACHINE_CONFIG_START(s6a_state::s6a)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SPEAKER_STANDARD_MONO("speech")
MCFG_SOUND_ADD("hc55516", HC55516, 0)
diff --git a/src/mame/drivers/s7.cpp b/src/mame/drivers/s7.cpp
index ad45fd8e404..a88266a1af8 100644
--- a/src/mame/drivers/s7.cpp
+++ b/src/mame/drivers/s7.cpp
@@ -495,7 +495,7 @@ MACHINE_CONFIG_START(s7_state::s7)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SPEAKER_STANDARD_MONO("speech")
MCFG_SOUND_ADD("hc55516", HC55516, 0)
diff --git a/src/mame/drivers/s8.cpp b/src/mame/drivers/s8.cpp
index a58b0068b64..03bfc4a22e7 100644
--- a/src/mame/drivers/s8.cpp
+++ b/src/mame/drivers/s8.cpp
@@ -365,7 +365,7 @@ MACHINE_CONFIG_START(s8_state::s8)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_DEVICE_ADD("pias", PIA6821, 0)
MCFG_PIA_READPA_HANDLER(READ8(s8_state, sound_r))
diff --git a/src/mame/drivers/s8a.cpp b/src/mame/drivers/s8a.cpp
index 4178d7622d0..a9bec06fd7e 100644
--- a/src/mame/drivers/s8a.cpp
+++ b/src/mame/drivers/s8a.cpp
@@ -337,7 +337,7 @@ MACHINE_CONFIG_START(s8a_state::s8a)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_DEVICE_ADD("pias", PIA6821, 0)
MCFG_PIA_READPA_HANDLER(READ8(s8a_state, sound_r))
diff --git a/src/mame/drivers/s9.cpp b/src/mame/drivers/s9.cpp
index 5816970a114..d7ef5e23080 100644
--- a/src/mame/drivers/s9.cpp
+++ b/src/mame/drivers/s9.cpp
@@ -371,7 +371,7 @@ MACHINE_CONFIG_START(s9_state::s9)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SPEAKER_STANDARD_MONO("speech")
MCFG_SOUND_ADD("hc55516", HC55516, 0)
diff --git a/src/mame/drivers/sage2.cpp b/src/mame/drivers/sage2.cpp
index f6871a05c5c..7423e31b1e2 100644
--- a/src/mame/drivers/sage2.cpp
+++ b/src/mame/drivers/sage2.cpp
@@ -341,9 +341,10 @@ WRITE_LINE_MEMBER( sage2_state::br2_w )
// upd765_interface fdc_intf
//-------------------------------------------------
-static SLOT_INTERFACE_START( sage2_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) // Mitsubishi M4859
-SLOT_INTERFACE_END
+static void sage2_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD); // Mitsubishi M4859
+}
void sage2_state::update_fdc_int()
{
@@ -454,7 +455,7 @@ MACHINE_CONFIG_START(sage2_state::sage2)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_0_TAG, i8251_device, write_rxd))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_0_TAG, i8251_device, write_dsr))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE(I8251_0_TAG, i8251_device, write_cts))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_DEVICE_ADD(I8251_1_TAG, I8251, 0)
MCFG_I8251_TXD_HANDLER(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
diff --git a/src/mame/drivers/samcoupe.cpp b/src/mame/drivers/samcoupe.cpp
index 93089dd351b..048bd51cd0d 100644
--- a/src/mame/drivers/samcoupe.cpp
+++ b/src/mame/drivers/samcoupe.cpp
@@ -513,9 +513,10 @@ FLOPPY_FORMATS_MEMBER( samcoupe_state::floppy_formats )
FLOPPY_MGT_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( samcoupe_floppies )
- SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
-SLOT_INTERFACE_END
+static void samcoupe_floppies(device_slot_interface &device)
+{
+ device.option_add("35dd", FLOPPY_35_DD);
+}
MACHINE_CONFIG_START(samcoupe_state::samcoupe)
diff --git a/src/mame/drivers/sapi1.cpp b/src/mame/drivers/sapi1.cpp
index f8bc4272e19..42da3b51d3a 100644
--- a/src/mame/drivers/sapi1.cpp
+++ b/src/mame/drivers/sapi1.cpp
@@ -702,7 +702,7 @@ MACHINE_CONFIG_START(sapi1_state::sapi3a)
MCFG_AY51013_AUTO_RDAV(true) // RDAV not actually tied to RDE, but pulsed by K155AG3 (=74123N): R25=22k, C14=220
MCFG_RS232_PORT_ADD("v24", default_rs232_devices, "terminal")
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
diff --git a/src/mame/drivers/saturn.cpp b/src/mame/drivers/saturn.cpp
index d605e67d2ea..ba716313f2d 100644
--- a/src/mame/drivers/saturn.cpp
+++ b/src/mame/drivers/saturn.cpp
@@ -853,15 +853,16 @@ MACHINE_CONFIG_START(sat_console_state::saturn)
MCFG_SATURN_CONTROL_PORT_ADD("ctrl2", saturn_controls, "joypad")
MACHINE_CONFIG_END
-static SLOT_INTERFACE_START(saturn_cart)
- SLOT_INTERFACE_INTERNAL("rom", SATURN_ROM)
- SLOT_INTERFACE_INTERNAL("ram8", SATURN_DRAM_8MB)
- SLOT_INTERFACE_INTERNAL("ram32", SATURN_DRAM_32MB)
- SLOT_INTERFACE_INTERNAL("bram4", SATURN_BRAM_4MB)
- SLOT_INTERFACE_INTERNAL("bram8", SATURN_BRAM_8MB)
- SLOT_INTERFACE_INTERNAL("bram16", SATURN_BRAM_16MB)
- SLOT_INTERFACE_INTERNAL("bram32", SATURN_BRAM_32MB)
-SLOT_INTERFACE_END
+static void saturn_cart(device_slot_interface &device)
+{
+ device.option_add_internal("rom", SATURN_ROM);
+ device.option_add_internal("ram8", SATURN_DRAM_8MB);
+ device.option_add_internal("ram32", SATURN_DRAM_32MB);
+ device.option_add_internal("bram4", SATURN_BRAM_4MB);
+ device.option_add_internal("bram8", SATURN_BRAM_8MB);
+ device.option_add_internal("bram16", SATURN_BRAM_16MB);
+ device.option_add_internal("bram32", SATURN_BRAM_32MB);
+}
MACHINE_CONFIG_START(sat_console_state::saturnus)
diff --git a/src/mame/drivers/savquest.cpp b/src/mame/drivers/savquest.cpp
index 80867511475..d44b66d27a6 100644
--- a/src/mame/drivers/savquest.cpp
+++ b/src/mame/drivers/savquest.cpp
@@ -807,9 +807,10 @@ WRITE_LINE_MEMBER(savquest_state::vblank_assert)
{
}
-SLOT_INTERFACE_START( savquest_isa16_cards )
- SLOT_INTERFACE("sb16", ISA16_SOUND_BLASTER_16)
-SLOT_INTERFACE_END
+void savquest_isa16_cards(device_slot_interface &device)
+{
+ device.option_add("sb16", ISA16_SOUND_BLASTER_16);
+}
MACHINE_CONFIG_START(savquest_state::savquest)
MCFG_CPU_ADD("maincpu", PENTIUM2, 450000000) // actually Pentium II 450
diff --git a/src/mame/drivers/sbasketb.cpp b/src/mame/drivers/sbasketb.cpp
index f3c4fd7c780..362ed6bba35 100644
--- a/src/mame/drivers/sbasketb.cpp
+++ b/src/mame/drivers/sbasketb.cpp
@@ -238,7 +238,7 @@ MACHINE_CONFIG_START(sbasketb_state::sbasketb)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SOUND_ADD("snsnd", SN76489, XTAL(14'318'181) / 8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
diff --git a/src/mame/drivers/sbrain.cpp b/src/mame/drivers/sbrain.cpp
index e2ee925e9d4..0da25855356 100644
--- a/src/mame/drivers/sbrain.cpp
+++ b/src/mame/drivers/sbrain.cpp
@@ -470,9 +470,10 @@ DRIVER_INIT_MEMBER( sbrain_state, sbrain )
m_bank2->configure_entry(1, &main[0x8000]);
}
-static SLOT_INTERFACE_START( sbrain_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void sbrain_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
MACHINE_RESET_MEMBER( sbrain_state, sbrain )
{
diff --git a/src/mame/drivers/sbrkout.cpp b/src/mame/drivers/sbrkout.cpp
index 563a2eda958..72f7f263720 100644
--- a/src/mame/drivers/sbrkout.cpp
+++ b/src/mame/drivers/sbrkout.cpp
@@ -590,7 +590,7 @@ MACHINE_CONFIG_START(sbrkout_state::sbrkout)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.99)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/scv.cpp b/src/mame/drivers/scv.cpp
index c70900c4ea9..2a68da51f73 100644
--- a/src/mame/drivers/scv.cpp
+++ b/src/mame/drivers/scv.cpp
@@ -647,15 +647,16 @@ static GFXDECODE_START( scv )
GFXDECODE_END
-static SLOT_INTERFACE_START(scv_cart)
- SLOT_INTERFACE_INTERNAL("rom8k", SCV_ROM8K)
- SLOT_INTERFACE_INTERNAL("rom16k", SCV_ROM16K)
- SLOT_INTERFACE_INTERNAL("rom32k", SCV_ROM32K)
- SLOT_INTERFACE_INTERNAL("rom32k_ram", SCV_ROM32K_RAM8K)
- SLOT_INTERFACE_INTERNAL("rom64k", SCV_ROM64K)
- SLOT_INTERFACE_INTERNAL("rom128k", SCV_ROM128K)
- SLOT_INTERFACE_INTERNAL("rom128k_ram", SCV_ROM128K_RAM4K)
-SLOT_INTERFACE_END
+static void scv_cart(device_slot_interface &device)
+{
+ device.option_add_internal("rom8k", SCV_ROM8K);
+ device.option_add_internal("rom16k", SCV_ROM16K);
+ device.option_add_internal("rom32k", SCV_ROM32K);
+ device.option_add_internal("rom32k_ram", SCV_ROM32K_RAM8K);
+ device.option_add_internal("rom64k", SCV_ROM64K);
+ device.option_add_internal("rom128k", SCV_ROM128K);
+ device.option_add_internal("rom128k_ram", SCV_ROM128K_RAM4K);
+}
MACHINE_CONFIG_START(scv_state::scv)
diff --git a/src/mame/drivers/scyclone.cpp b/src/mame/drivers/scyclone.cpp
index 143296021d4..87980788c95 100644
--- a/src/mame/drivers/scyclone.cpp
+++ b/src/mame/drivers/scyclone.cpp
@@ -654,16 +654,16 @@ MACHINE_CONFIG_START(scyclone_state::scyclone)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0)
MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref2", VOLTAGE_REGULATOR, 0)
MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/sdk80.cpp b/src/mame/drivers/sdk80.cpp
index e58b57ab3c1..acf7dd89e71 100644
--- a/src/mame/drivers/sdk80.cpp
+++ b/src/mame/drivers/sdk80.cpp
@@ -138,7 +138,7 @@ MACHINE_CONFIG_START(sdk80_state::sdk80)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251A_TAG, i8251_device, write_rxd))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251A_TAG, i8251_device, write_dsr))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE(I8251A_TAG, i8251_device, write_cts))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_DEVICE_ADD("usart_clock", CLOCK, XTAL(18'432'000)/60)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(sdk80_state, usart_clock_tick))
diff --git a/src/mame/drivers/sdk86.cpp b/src/mame/drivers/sdk86.cpp
index 892f2da868b..b82d8ef2e18 100644
--- a/src/mame/drivers/sdk86.cpp
+++ b/src/mame/drivers/sdk86.cpp
@@ -162,7 +162,7 @@ MACHINE_CONFIG_START(sdk86_state::sdk86)
MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, "terminal")
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_rxd))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_dsr))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_DEVICE_ADD("usart_clock", CLOCK, XTAL(14'745'600)/3/16)
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_txc))
diff --git a/src/mame/drivers/seattlecmp.cpp b/src/mame/drivers/seattlecmp.cpp
index 8ec37dac3fd..d04d800f264 100644
--- a/src/mame/drivers/seattlecmp.cpp
+++ b/src/mame/drivers/seattlecmp.cpp
@@ -136,7 +136,7 @@ MACHINE_CONFIG_START(seattle_comp_state::seattle)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart", i8251_device, write_rxd))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart", i8251_device, write_dsr))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart", i8251_device, write_cts))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) // must be exactly here
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) // must be exactly here
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/segapico.cpp b/src/mame/drivers/segapico.cpp
index 6f7280ab75c..8c0c5d254d7 100644
--- a/src/mame/drivers/segapico.cpp
+++ b/src/mame/drivers/segapico.cpp
@@ -371,11 +371,12 @@ static INPUT_PORTS_START( pico )
INPUT_PORTS_END
-static SLOT_INTERFACE_START(pico_cart)
- SLOT_INTERFACE_INTERNAL("rom", MD_STD_ROM)
- SLOT_INTERFACE_INTERNAL("rom_sram", MD_ROM_SRAM) // not sure these are needed...
- SLOT_INTERFACE_INTERNAL("rom_sramsafe", MD_ROM_SRAM) // not sure these are needed...
-SLOT_INTERFACE_END
+static void pico_cart(device_slot_interface &device)
+{
+ device.option_add_internal("rom", MD_STD_ROM);
+ device.option_add_internal("rom_sram", MD_ROM_SRAM); // not sure these are needed...
+ device.option_add_internal("rom_sramsafe", MD_ROM_SRAM); // not sure these are needed...
+}
MACHINE_START_MEMBER(pico_state,pico)
{
@@ -582,11 +583,12 @@ void copera_state::copera_mem(address_map &map)
-static SLOT_INTERFACE_START(copera_cart)
- SLOT_INTERFACE_INTERNAL("rom", MD_STD_ROM)
- SLOT_INTERFACE_INTERNAL("rom_sram", MD_ROM_SRAM) // not sure these are needed...
- SLOT_INTERFACE_INTERNAL("rom_sramsafe", MD_ROM_SRAM) // not sure these are needed...
-SLOT_INTERFACE_END
+static void copera_cart(device_slot_interface &device)
+{
+ device.option_add_internal("rom", MD_STD_ROM);
+ device.option_add_internal("rom_sram", MD_ROM_SRAM); // not sure these are needed...
+ device.option_add_internal("rom_sramsafe", MD_ROM_SRAM); // not sure these are needed...
+}
MACHINE_START_MEMBER(copera_state,copera)
{
diff --git a/src/mame/drivers/segas16a.cpp b/src/mame/drivers/segas16a.cpp
index 75be59aece4..158e7a11d67 100644
--- a/src/mame/drivers/segas16a.cpp
+++ b/src/mame/drivers/segas16a.cpp
@@ -2025,7 +2025,7 @@ MACHINE_CONFIG_START(segas16a_state::system16a)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/segas24.cpp b/src/mame/drivers/segas24.cpp
index 62db06b7ee1..a80e924849a 100644
--- a/src/mame/drivers/segas24.cpp
+++ b/src/mame/drivers/segas24.cpp
@@ -1918,7 +1918,7 @@ MACHINE_CONFIG_START(segas24_state::system24)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(segas24_state::mahmajn)
diff --git a/src/mame/drivers/seicross.cpp b/src/mame/drivers/seicross.cpp
index 8458d3eaf02..63a84493ef3 100644
--- a/src/mame/drivers/seicross.cpp
+++ b/src/mame/drivers/seicross.cpp
@@ -434,7 +434,7 @@ MACHINE_CONFIG_START(seicross_state::no_nvram)
MCFG_SOUND_ADD("dac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.12) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/senjyo.cpp b/src/mame/drivers/senjyo.cpp
index a92e373c31c..0aa1069e66b 100644
--- a/src/mame/drivers/senjyo.cpp
+++ b/src/mame/drivers/senjyo.cpp
@@ -599,7 +599,7 @@ MACHINE_CONFIG_START(senjyo_state::senjyo)
MCFG_SOUND_ADD("dac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.05) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/sg1000.cpp b/src/mame/drivers/sg1000.cpp
index e3eb180700b..fe97d63b09a 100644
--- a/src/mame/drivers/sg1000.cpp
+++ b/src/mame/drivers/sg1000.cpp
@@ -455,9 +455,10 @@ FLOPPY_FORMATS_END
floppy_interface sf7000_floppy_interface
-------------------------------------------------*/
-static SLOT_INTERFACE_START( sf7000_floppies )
- SLOT_INTERFACE( "3ssdd", FLOPPY_3_SSDD )
-SLOT_INTERFACE_END
+static void sf7000_floppies(device_slot_interface &device)
+{
+ device.option_add("3ssdd", FLOPPY_3_SSDD);
+}
/*-------------------------------------------------
MACHINE_START( sg1000 )
diff --git a/src/mame/drivers/shangkid.cpp b/src/mame/drivers/shangkid.cpp
index 16ba388275a..95ef35bdc6b 100644
--- a/src/mame/drivers/shangkid.cpp
+++ b/src/mame/drivers/shangkid.cpp
@@ -422,7 +422,7 @@ MACHINE_CONFIG_START(shangkid_state::chinhero)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SOUND_ADD("aysnd", AY8910, XTAL(18'432'000)/12) /* verified on pcb */
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(shangkid_state, chinhero_ay8910_porta_w))
diff --git a/src/mame/drivers/shisen.cpp b/src/mame/drivers/shisen.cpp
index cb5ed7f4196..0eb90bc92f4 100644
--- a/src/mame/drivers/shisen.cpp
+++ b/src/mame/drivers/shisen.cpp
@@ -260,7 +260,7 @@ MACHINE_CONFIG_START(shisen_state::shisen)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/sitcom.cpp b/src/mame/drivers/sitcom.cpp
index 6c8e3208b11..02d22b51964 100644
--- a/src/mame/drivers/sitcom.cpp
+++ b/src/mame/drivers/sitcom.cpp
@@ -371,9 +371,9 @@ MACHINE_CONFIG_START(sitcom_state::sitcom)
MCFG_I8255_IN_PORTC_CB(IOPORT("PORTC"))
// video hardware
- MCFG_DEVICE_ADD("ds0", DL1414T, 0) // left display
+ MCFG_DEVICE_ADD("ds0", DL1414T, u32(0)) // left display
MCFG_DL1414_UPDATE_HANDLER(WRITE16(sitcom_state, update_ds<0>))
- MCFG_DEVICE_ADD("ds1", DL1414T, 0) // right display
+ MCFG_DEVICE_ADD("ds1", DL1414T, u32(0)) // right display
MCFG_DL1414_UPDATE_HANDLER(WRITE16(sitcom_state, update_ds<1>))
// host interface
@@ -388,7 +388,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(sitcom_timer_state::sitcomtmr)
sitcom(config);
- MCFG_DEVICE_ADD("ds2", DL1414T, 0) // remote display
+ MCFG_DEVICE_ADD("ds2", DL1414T, u32(0)) // remote display
MCFG_DL1414_UPDATE_HANDLER(WRITE16(sitcom_timer_state, update_ds<2>))
MCFG_DEFAULT_LAYOUT(layout_sitcomtmr)
diff --git a/src/mame/drivers/slicer.cpp b/src/mame/drivers/slicer.cpp
index c31450db245..0187d05b858 100644
--- a/src/mame/drivers/slicer.cpp
+++ b/src/mame/drivers/slicer.cpp
@@ -83,10 +83,11 @@ void slicer_state::slicer_io(address_map &map)
map(0x0185, 0x0185).r("sasi_ctrl_in", FUNC(input_buffer_device::read));
}
-static SLOT_INTERFACE_START( slicer_floppies )
- SLOT_INTERFACE("525dd", FLOPPY_525_DD)
- SLOT_INTERFACE("8dsdd", FLOPPY_8_DSDD)
-SLOT_INTERFACE_END
+static void slicer_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+ device.option_add("8dsdd", FLOPPY_8_DSDD);
+}
MACHINE_CONFIG_START(slicer_state::slicer)
MCFG_CPU_ADD("maincpu", I80186, XTAL(16'000'000) / 2)
diff --git a/src/mame/drivers/smc777.cpp b/src/mame/drivers/smc777.cpp
index fb5c4594d5d..919fa1aabe6 100644
--- a/src/mame/drivers/smc777.cpp
+++ b/src/mame/drivers/smc777.cpp
@@ -1016,9 +1016,10 @@ INTERRUPT_GEN_MEMBER(smc777_state::vblank_irq)
}
-static SLOT_INTERFACE_START( smc777_floppies )
- SLOT_INTERFACE("ssdd", FLOPPY_35_SSDD)
-SLOT_INTERFACE_END
+static void smc777_floppies(device_slot_interface &device)
+{
+ device.option_add("ssdd", FLOPPY_35_SSDD);
+}
MACHINE_CONFIG_START(smc777_state::smc777)
diff --git a/src/mame/drivers/snk6502.cpp b/src/mame/drivers/snk6502.cpp
index 3d51c5307d4..3db13e11ee0 100644
--- a/src/mame/drivers/snk6502.cpp
+++ b/src/mame/drivers/snk6502.cpp
@@ -1071,7 +1071,7 @@ MACHINE_CONFIG_START(snk6502_state::fantasy)
// otherwise it is using the VCO for the envelope, but the VCO is not hooked up
MCFG_SN76477_ENVELOPE_PARAMS(0, 1) // envelope 1, 2
MCFG_SN76477_ENABLE(0) // enable
- MCFG_SOUND_ROUTE_EX(0, "discrete", 1.0, 0)
+ MCFG_SOUND_ROUTE(0, "discrete", 1.0, 0)
MCFG_SOUND_ADD("discrete", DISCRETE, 0)
MCFG_DISCRETE_INTF(fantasy)
diff --git a/src/mame/drivers/softbox.cpp b/src/mame/drivers/softbox.cpp
index 6b5b7970931..dcca744fc8e 100644
--- a/src/mame/drivers/softbox.cpp
+++ b/src/mame/drivers/softbox.cpp
@@ -386,7 +386,7 @@ MACHINE_CONFIG_START(softbox_state::softbox)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_rxd))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_dsr))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_cts))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_DEVICE_ADD(I8255_0_TAG, I8255A, 0)
MCFG_I8255_IN_PORTA_CB(READ8(softbox_state, ppi0_pa_r))
diff --git a/src/mame/drivers/sorcerer.cpp b/src/mame/drivers/sorcerer.cpp
index f3e8da751dd..b4c1e25614f 100644
--- a/src/mame/drivers/sorcerer.cpp
+++ b/src/mame/drivers/sorcerer.cpp
@@ -447,7 +447,7 @@ MACHINE_CONFIG_START(sorcerer_state::sorcerer)
MCFG_AY31015_AUTO_RDAV(true)
MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "null_modem")
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
/* printer */
MCFG_CENTRONICS_ADD("centronics", centronics_devices, "covox")
diff --git a/src/mame/drivers/spc1000.cpp b/src/mame/drivers/spc1000.cpp
index 4a064b6de32..585917d6ea0 100644
--- a/src/mame/drivers/spc1000.cpp
+++ b/src/mame/drivers/spc1000.cpp
@@ -458,10 +458,11 @@ WRITE_LINE_MEMBER( spc1000_state::irq_w )
// address maps
//-------------------------------------------------
-extern SLOT_INTERFACE_START(spc1000_exp)
- SLOT_INTERFACE("fdd", SPC1000_FDD_EXP)
- SLOT_INTERFACE("vdp", SPC1000_VDP_EXP)
-SLOT_INTERFACE_END
+void spc1000_exp(device_slot_interface &device)
+{
+ device.option_add("fdd", SPC1000_FDD_EXP);
+ device.option_add("vdp", SPC1000_VDP_EXP);
+}
MACHINE_CONFIG_START(spc1000_state::spc1000)
/* basic machine hardware */
diff --git a/src/mame/drivers/special.cpp b/src/mame/drivers/special.cpp
index b66dfcc44bb..234423457f1 100644
--- a/src/mame/drivers/special.cpp
+++ b/src/mame/drivers/special.cpp
@@ -358,9 +358,10 @@ FLOPPY_FORMATS_MEMBER( special_state::specimx_floppy_formats )
FLOPPY_SMX_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( specimx_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void specimx_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
/* Machine driver */
MACHINE_CONFIG_START(special_state::special)
@@ -385,7 +386,7 @@ MACHINE_CONFIG_START(special_state::special)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
@@ -507,7 +508,7 @@ MACHINE_CONFIG_START(special_state::erik)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
diff --git a/src/mame/drivers/specpls3.cpp b/src/mame/drivers/specpls3.cpp
index 139cecad237..b3a7cd7e08b 100644
--- a/src/mame/drivers/specpls3.cpp
+++ b/src/mame/drivers/specpls3.cpp
@@ -348,9 +348,10 @@ DRIVER_INIT_MEMBER(spectrum_state,plus2)
m_floppy = 0;
}
-static SLOT_INTERFACE_START( specpls3_floppies )
- SLOT_INTERFACE( "3ssdd", FLOPPY_3_SSDD )
-SLOT_INTERFACE_END
+static void specpls3_floppies(device_slot_interface &device)
+{
+ device.option_add("3ssdd", FLOPPY_3_SSDD);
+}
/* F4 Character Displayer */
static const gfx_layout spectrum_charlayout =
diff --git a/src/mame/drivers/squale.cpp b/src/mame/drivers/squale.cpp
index 6fa00ec6102..16d9d588ed8 100644
--- a/src/mame/drivers/squale.cpp
+++ b/src/mame/drivers/squale.cpp
@@ -739,9 +739,10 @@ static INPUT_PORTS_START( squale )
INPUT_PORTS_END
-static SLOT_INTERFACE_START( squale_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void squale_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
void squale_state::machine_start()
{
diff --git a/src/mame/drivers/ssozumo.cpp b/src/mame/drivers/ssozumo.cpp
index 45b4593c789..681861c2bb4 100644
--- a/src/mame/drivers/ssozumo.cpp
+++ b/src/mame/drivers/ssozumo.cpp
@@ -234,7 +234,7 @@ MACHINE_CONFIG_START(ssozumo_state::ssozumo)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/sun3x.cpp b/src/mame/drivers/sun3x.cpp
index 95ed03e46fa..8e652c7431f 100644
--- a/src/mame/drivers/sun3x.cpp
+++ b/src/mame/drivers/sun3x.cpp
@@ -577,9 +577,10 @@ FLOPPY_FORMATS_MEMBER( sun3x_state::floppy_formats )
FLOPPY_PC_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( sun_floppies )
- SLOT_INTERFACE( "35hd", FLOPPY_35_HD )
-SLOT_INTERFACE_END
+static void sun_floppies(device_slot_interface &device)
+{
+ device.option_add("35hd", FLOPPY_35_HD);
+}
MACHINE_CONFIG_START(sun3x_state::sun3_80)
/* basic machine hardware */
diff --git a/src/mame/drivers/sun4.cpp b/src/mame/drivers/sun4.cpp
index 36067cfd5e7..23c08fa0c99 100644
--- a/src/mame/drivers/sun4.cpp
+++ b/src/mame/drivers/sun4.cpp
@@ -1887,15 +1887,17 @@ FLOPPY_FORMATS_MEMBER( sun4_state::floppy_formats )
FLOPPY_PC_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( sun_floppies )
- SLOT_INTERFACE( "35hd", FLOPPY_35_HD )
-SLOT_INTERFACE_END
+static void sun_floppies(device_slot_interface &device)
+{
+ device.option_add("35hd", FLOPPY_35_HD);
+}
-static SLOT_INTERFACE_START( sun_scsi_devices )
- SLOT_INTERFACE("cdrom", NSCSI_CDROM)
- SLOT_INTERFACE("harddisk", NSCSI_HARDDISK)
- SLOT_INTERFACE_INTERNAL("ncr5390", NCR5390)
-SLOT_INTERFACE_END
+static void sun_scsi_devices(device_slot_interface &device)
+{
+ device.option_add("cdrom", NSCSI_CDROM);
+ device.option_add("harddisk", NSCSI_HARDDISK);
+ device.option_add_internal("ncr5390", NCR5390);
+}
void sun4_state::ncr5390(device_t *device)
{
@@ -1968,7 +1970,7 @@ MACHINE_CONFIG_START(sun4_state::sun4)
MCFG_NSCSI_ADD("scsibus:5", sun_scsi_devices, nullptr, false)
MCFG_NSCSI_ADD("scsibus:6", sun_scsi_devices, nullptr, false)
MCFG_NSCSI_ADD("scsibus:7", sun_scsi_devices, "ncr5390", true)
- MCFG_DEVICE_CARD_MACHINE_CONFIG("ncr5390", ncr5390)
+ MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr5390", ncr5390)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(sun4_state::sun4c)
@@ -2033,7 +2035,7 @@ MACHINE_CONFIG_START(sun4_state::sun4c)
MCFG_NSCSI_ADD("scsibus:5", sun_scsi_devices, nullptr, false)
MCFG_NSCSI_ADD("scsibus:6", sun_scsi_devices, nullptr, false)
MCFG_NSCSI_ADD("scsibus:7", sun_scsi_devices, "ncr5390", true)
- MCFG_DEVICE_CARD_MACHINE_CONFIG("ncr5390", ncr5390)
+ MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr5390", ncr5390)
MCFG_SCREEN_ADD("bwtwo", RASTER)
MCFG_SCREEN_UPDATE_DRIVER(sun4_state, bw2_update)
diff --git a/src/mame/drivers/suna16.cpp b/src/mame/drivers/suna16.cpp
index eb125547a6c..33dad960941 100644
--- a/src/mame/drivers/suna16.cpp
+++ b/src/mame/drivers/suna16.cpp
@@ -863,10 +863,10 @@ MACHINE_CONFIG_START(suna16_state::bssoccer)
MCFG_SOUND_ADD("ldac2", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.2) // unknown DAC
MCFG_SOUND_ADD("rdac2", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.2) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "ldac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac2", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
@@ -922,8 +922,8 @@ MACHINE_CONFIG_START(suna16_state::uballoon)
MCFG_SOUND_ADD("ldac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) // unknown DAC
MCFG_SOUND_ADD("rdac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
/***************************************************************************
@@ -978,8 +978,8 @@ MACHINE_CONFIG_START(suna16_state::sunaq)
MCFG_SOUND_ADD("ldac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) // unknown DAC
MCFG_SOUND_ADD("rdac", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
/***************************************************************************
@@ -1045,10 +1045,10 @@ MACHINE_CONFIG_START(suna16_state::bestbest)
MCFG_SOUND_ADD("ldac2", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.2) // unknown DAC
MCFG_SOUND_ADD("rdac2", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.2) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "ldac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac2", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mame/drivers/suna8.cpp b/src/mame/drivers/suna8.cpp
index 093daeadc32..8681c1c6fd8 100644
--- a/src/mame/drivers/suna8.cpp
+++ b/src/mame/drivers/suna8.cpp
@@ -2060,10 +2060,10 @@ MACHINE_CONFIG_START(suna8_state::brickzn11)
MCFG_SOUND_ADD("ldac2", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.17) // unknown DAC
MCFG_SOUND_ADD("rdac2", DAC_4BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.17) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "ldac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac2", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(suna8_state::brickzn)
diff --git a/src/mame/drivers/super6.cpp b/src/mame/drivers/super6.cpp
index 75cbec4648e..6b790a64be7 100644
--- a/src/mame/drivers/super6.cpp
+++ b/src/mame/drivers/super6.cpp
@@ -395,9 +395,10 @@ WRITE8_MEMBER(super6_state::io_write_byte)
// floppy_format_type floppy_formats
//-------------------------------------------------
-static SLOT_INTERFACE_START( super6_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void super6_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_QD);
+}
WRITE_LINE_MEMBER( super6_state::fdc_intrq_w )
{
@@ -519,7 +520,7 @@ MACHINE_CONFIG_START(super6_state::super6)
MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "terminal")
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w))
diff --git a/src/mame/drivers/super80.cpp b/src/mame/drivers/super80.cpp
index bb6f6f5531b..a10638dd482 100644
--- a/src/mame/drivers/super80.cpp
+++ b/src/mame/drivers/super80.cpp
@@ -690,9 +690,10 @@ void super80_state::machine_start()
m_cass_led.resolve();
}
-static SLOT_INTERFACE_START( super80_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void super80_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
static const char *const relay_sample_names[] =
diff --git a/src/mame/drivers/superslave.cpp b/src/mame/drivers/superslave.cpp
index b2e39d51012..ab624bec04b 100644
--- a/src/mame/drivers/superslave.cpp
+++ b/src/mame/drivers/superslave.cpp
@@ -406,7 +406,7 @@ MACHINE_CONFIG_START(superslave_state::superslave)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, rxa_w))
MCFG_RS232_DCD_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, dcda_w))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, ctsa_w))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, rxb_w))
diff --git a/src/mame/drivers/swtpc09.cpp b/src/mame/drivers/swtpc09.cpp
index fb7db1e60f8..2c8062a3892 100644
--- a/src/mame/drivers/swtpc09.cpp
+++ b/src/mame/drivers/swtpc09.cpp
@@ -147,15 +147,16 @@ FLOPPY_FORMATS_MEMBER( swtpc09_state::floppy_formats )
FLOPPY_FORMATS_END
// todo: implement floppy controller cards as slot devices and do this properly
-static SLOT_INTERFACE_START( swtpc09_floppies )
- SLOT_INTERFACE("sssd", FLOPPY_525_SSSD) // flex 40 trks ss sd 5.25
- SLOT_INTERFACE("sssd35", FLOPPY_525_SSSD_35T) // flex 35 trks ss sd 5.25
- SLOT_INTERFACE("ssdd", FLOPPY_525_SSDD) // flex 40 trks ss dd 5.25
- SLOT_INTERFACE("dd", FLOPPY_525_DD) // flex 40 trks ds dd 5.25
- SLOT_INTERFACE("8dssd", FLOPPY_8_DSSD) // UNIFlex 8 inch ds sd
- SLOT_INTERFACE("8dsdd", FLOPPY_8_DSDD) // UNIFlex 8 inch ds dd
- SLOT_INTERFACE("35hd", FLOPPY_35_HD) // flex 1.44mb disk from swtpc emu (emulator only?)
-SLOT_INTERFACE_END
+static void swtpc09_floppies(device_slot_interface &device)
+{
+ device.option_add("sssd", FLOPPY_525_SSSD); // flex 40 trks ss sd 5.25
+ device.option_add("sssd35", FLOPPY_525_SSSD_35T); // flex 35 trks ss sd 5.25
+ device.option_add("ssdd", FLOPPY_525_SSDD); // flex 40 trks ss dd 5.25
+ device.option_add("dd", FLOPPY_525_DD); // flex 40 trks ds dd 5.25
+ device.option_add("8dssd", FLOPPY_8_DSSD); // UNIFlex 8 inch ds sd
+ device.option_add("8dsdd", FLOPPY_8_DSDD); // UNIFlex 8 inch ds dd
+ device.option_add("35hd", FLOPPY_35_HD); // flex 1.44mb disk from swtpc emu (emulator only?)
+}
/***************************************************************************
diff --git a/src/mame/drivers/sys9002.cpp b/src/mame/drivers/sys9002.cpp
index d90851fe426..9feca342338 100644
--- a/src/mame/drivers/sys9002.cpp
+++ b/src/mame/drivers/sys9002.cpp
@@ -157,7 +157,7 @@ MACHINE_CONFIG_START(sys9002_state::sys9002)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart1", i8251_device, write_rxd))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart1", i8251_device, write_dsr))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart1", i8251_device, write_cts))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", uart1)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", uart1)
MCFG_DEVICE_ADD("uart2", I8251, 0)
MCFG_I8251_TXD_HANDLER(DEVWRITELINE("rs232b", rs232_port_device, write_txd))
@@ -168,7 +168,7 @@ MACHINE_CONFIG_START(sys9002_state::sys9002)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart2", i8251_device, write_rxd))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart2", i8251_device, write_dsr))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart2", i8251_device, write_cts))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", uart2)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", uart2)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/tagteam.cpp b/src/mame/drivers/tagteam.cpp
index f357602d65f..ca0b6614bdf 100644
--- a/src/mame/drivers/tagteam.cpp
+++ b/src/mame/drivers/tagteam.cpp
@@ -247,7 +247,7 @@ MACHINE_CONFIG_START(tagteam_state::tagteam)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/taito.cpp b/src/mame/drivers/taito.cpp
index e4edd3cba1c..2ba90a15ec8 100644
--- a/src/mame/drivers/taito.cpp
+++ b/src/mame/drivers/taito.cpp
@@ -364,7 +364,7 @@ MACHINE_CONFIG_START(taito_state::taito)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.475) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_DEVICE_ADD("pia", PIA6821, 0)
//MCFG_PIA_READPA_HANDLER(READ8(taito_state, pia_pa_r))
diff --git a/src/mame/drivers/taitogn.cpp b/src/mame/drivers/taitogn.cpp
index 77e352d421b..92a3d1c70c1 100644
--- a/src/mame/drivers/taitogn.cpp
+++ b/src/mame/drivers/taitogn.cpp
@@ -686,12 +686,13 @@ void taitogn_state::taitogn_mp_map(address_map &map)
map(0x1fa10100, 0x1fa10100).r(this, FUNC(taitogn_state::gnet_mahjong_panel_r));
}
-SLOT_INTERFACE_START(slot_ataflash)
- SLOT_INTERFACE("taitopccard1", TAITO_PCCARD1)
- SLOT_INTERFACE("taitopccard2", TAITO_PCCARD2)
- SLOT_INTERFACE("taitocf", TAITO_COMPACT_FLASH)
- SLOT_INTERFACE("ataflash", ATA_FLASH_PCCARD)
-SLOT_INTERFACE_END
+void slot_ataflash(device_slot_interface &device)
+{
+ device.option_add("taitopccard1", TAITO_PCCARD1);
+ device.option_add("taitopccard2", TAITO_PCCARD2);
+ device.option_add("taitocf", TAITO_COMPACT_FLASH);
+ device.option_add("ataflash", ATA_FLASH_PCCARD);
+}
MACHINE_CONFIG_START(taitogn_state::coh3002t)
diff --git a/src/mame/drivers/taitosj.cpp b/src/mame/drivers/taitosj.cpp
index b1256844a7f..8cf6f50c14c 100644
--- a/src/mame/drivers/taitosj.cpp
+++ b/src/mame/drivers/taitosj.cpp
@@ -1826,7 +1826,7 @@ MACHINE_CONFIG_START(taitosj_state::nomcu)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.15) // 30k r-2r network
MCFG_SOUND_ADD("dacvol", DISCRETE, 0) MCFG_DISCRETE_INTF(taitosj_dacvol)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/tandy2k.cpp b/src/mame/drivers/tandy2k.cpp
index 19d627b6d40..db789a65e8b 100644
--- a/src/mame/drivers/tandy2k.cpp
+++ b/src/mame/drivers/tandy2k.cpp
@@ -700,9 +700,10 @@ FLOPPY_FORMATS_MEMBER( tandy2k_state::floppy_formats )
FLOPPY_TANDY_2000_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( tandy2k_floppies )
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
-SLOT_INTERFACE_END
+static void tandy2k_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
// Keyboard
diff --git a/src/mame/drivers/tavernie.cpp b/src/mame/drivers/tavernie.cpp
index b5ea7a9184c..e3db604a5f0 100644
--- a/src/mame/drivers/tavernie.cpp
+++ b/src/mame/drivers/tavernie.cpp
@@ -187,9 +187,10 @@ MACHINE_RESET_MEMBER( tavernie_state, ivg09)
m_pia_ivg->cb1_w(1);
}
-static SLOT_INTERFACE_START( ifd09_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void ifd09_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
// can support 3 drives
WRITE8_MEMBER( tavernie_state::ds_w )
diff --git a/src/mame/drivers/tceptor.cpp b/src/mame/drivers/tceptor.cpp
index fdbdd63e1b5..60e5c4fc512 100644
--- a/src/mame/drivers/tceptor.cpp
+++ b/src/mame/drivers/tceptor.cpp
@@ -384,7 +384,7 @@ MACHINE_CONFIG_START(tceptor_state::tceptor)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.4) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.4) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/tdv2324.cpp b/src/mame/drivers/tdv2324.cpp
index fd66194ebce..af802f173cf 100644
--- a/src/mame/drivers/tdv2324.cpp
+++ b/src/mame/drivers/tdv2324.cpp
@@ -248,9 +248,10 @@ uint32_t tdv2324_state::screen_update(screen_device &screen, bitmap_rgb32 &bitma
// SLOT_INTERFACE( tdv2324_floppies )
//-------------------------------------------------
-static SLOT_INTERFACE_START( tdv2324_floppies )
- SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD )
-SLOT_INTERFACE_END
+static void tdv2324_floppies(device_slot_interface &device)
+{
+ device.option_add("8dsdd", FLOPPY_8_DSDD);
+}
diff --git a/src/mame/drivers/terracre.cpp b/src/mame/drivers/terracre.cpp
index a26cf0b0c1f..00fadbe6622 100644
--- a/src/mame/drivers/terracre.cpp
+++ b/src/mame/drivers/terracre.cpp
@@ -490,8 +490,8 @@ MACHINE_CONFIG_START(terracre_state::ym3526)
MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(terracre_state::ym2203)
diff --git a/src/mame/drivers/testconsole.cpp b/src/mame/drivers/testconsole.cpp
index 9d03cf2e472..abe38b77177 100644
--- a/src/mame/drivers/testconsole.cpp
+++ b/src/mame/drivers/testconsole.cpp
@@ -185,16 +185,16 @@ MACHINE_CONFIG_START(whouse_testcons_state::whousetc)
MCFG_DEVICE_ADD("i8255", I8255, 0)
- MCFG_DEVICE_ADD("dsp0", DL1416B, 0)
+ MCFG_DEVICE_ADD("dsp0", DL1416B, u32(0))
MCFG_DL1416_UPDATE_HANDLER(WRITE16(whouse_testcons_state, update_dsp<0>))
- MCFG_DEVICE_ADD("dsp1", DL1416B, 0)
+ MCFG_DEVICE_ADD("dsp1", DL1416B, u32(0))
MCFG_DL1416_UPDATE_HANDLER(WRITE16(whouse_testcons_state, update_dsp<1>))
- MCFG_DEVICE_ADD("dsp2", DL1416B, 0)
+ MCFG_DEVICE_ADD("dsp2", DL1416B, u32(0))
MCFG_DL1416_UPDATE_HANDLER(WRITE16(whouse_testcons_state, update_dsp<2>))
- MCFG_DEVICE_ADD("dsp3", DL1416B, 0)
+ MCFG_DEVICE_ADD("dsp3", DL1416B, u32(0))
MCFG_DL1416_UPDATE_HANDLER(WRITE16(whouse_testcons_state, update_dsp<3>))
MCFG_DEFAULT_LAYOUT(layout_whousetc)
diff --git a/src/mame/drivers/thomson.cpp b/src/mame/drivers/thomson.cpp
index 9f973423720..4a04e06136b 100644
--- a/src/mame/drivers/thomson.cpp
+++ b/src/mame/drivers/thomson.cpp
@@ -608,12 +608,13 @@ FLOPPY_FORMATS_MEMBER( thomson_state::cd90_640_formats )
FLOPPY_CD90_640_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( cd90_640_floppies )
- SLOT_INTERFACE("sssd", FLOPPY_525_SSSD)
- SLOT_INTERFACE("sd", FLOPPY_525_SD)
- SLOT_INTERFACE("ssdd", FLOPPY_525_SSDD)
- SLOT_INTERFACE("dd", FLOPPY_525_DD)
-SLOT_INTERFACE_END
+static void cd90_640_floppies(device_slot_interface &device)
+{
+ device.option_add("sssd", FLOPPY_525_SSSD);
+ device.option_add("sd", FLOPPY_525_SD);
+ device.option_add("ssdd", FLOPPY_525_SSDD);
+ device.option_add("dd", FLOPPY_525_DD);
+}
/* ------------ driver ------------ */
@@ -652,8 +653,8 @@ MACHINE_CONFIG_START(thomson_state::to7)
MCFG_SOUND_ADD("buzzer", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MCFG_SOUND_ADD("dac", DAC_6BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC (6-bit game extension DAC)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "buzzer", 1.0, DAC_VREF_POS_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "buzzer", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
/* speech synthesis */
MCFG_SOUND_ADD("mea8000", MEA8000, 3840000)
diff --git a/src/mame/drivers/tiki100.cpp b/src/mame/drivers/tiki100.cpp
index 05b2eccc0ea..e56e1935862 100644
--- a/src/mame/drivers/tiki100.cpp
+++ b/src/mame/drivers/tiki100.cpp
@@ -628,11 +628,12 @@ FLOPPY_FORMATS_MEMBER( tiki100_state::floppy_formats )
FLOPPY_TIKI100_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( tiki100_floppies )
- SLOT_INTERFACE( "525ssdd", FLOPPY_525_SSDD )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) // Tead FD-55A
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) // Teac FD-55F
-SLOT_INTERFACE_END
+static void tiki100_floppies(device_slot_interface &device)
+{
+ device.option_add("525ssdd", FLOPPY_525_SSDD);
+ device.option_add("525dd", FLOPPY_525_DD); // Tead FD-55A
+ device.option_add("525qd", FLOPPY_525_QD); // Teac FD-55F
+}
/* AY-3-8912 Interface */
diff --git a/src/mame/drivers/tim011.cpp b/src/mame/drivers/tim011.cpp
index fd025940f76..dc64f1b40ef 100644
--- a/src/mame/drivers/tim011.cpp
+++ b/src/mame/drivers/tim011.cpp
@@ -115,9 +115,10 @@ READ8_MEMBER(tim011_state::scroll_r)
return m_scroll;
}
-static SLOT_INTERFACE_START( tim011_floppies )
- SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
-SLOT_INTERFACE_END
+static void tim011_floppies(device_slot_interface &device)
+{
+ device.option_add("35dd", FLOPPY_35_DD);
+}
static const floppy_format_type tim011_floppy_formats[] = {
FLOPPY_IMD_FORMAT,
diff --git a/src/mame/drivers/tim100.cpp b/src/mame/drivers/tim100.cpp
index e7cfe6a057f..5c66d7e6e16 100644
--- a/src/mame/drivers/tim100.cpp
+++ b/src/mame/drivers/tim100.cpp
@@ -193,7 +193,7 @@ MACHINE_CONFIG_START(tim100_state::tim100)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart_u17", i8251_device, write_rxd))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart_u17", i8251_device, write_dsr))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart_u17", i8251_device, write_cts))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("keyboard", tim100 )
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", tim100)
MCFG_DEVICE_ADD("uart_u18", I8251, 0)
MCFG_I8251_TXD_HANDLER(DEVWRITELINE("rs232a", rs232_port_device, write_txd))
@@ -204,7 +204,7 @@ MACHINE_CONFIG_START(tim100_state::tim100)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart_u18", i8251_device, write_rxd))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart_u18", i8251_device, write_dsr))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart_u18", i8251_device, write_cts))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", tim100 )
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", tim100)
MCFG_DEVICE_ADD("uart_clock", CLOCK, 153600)
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("uart_u17", i8251_device, write_txc))
diff --git a/src/mame/drivers/tnzs.cpp b/src/mame/drivers/tnzs.cpp
index cdedfa7524b..6acaceb32f7 100644
--- a/src/mame/drivers/tnzs.cpp
+++ b/src/mame/drivers/tnzs.cpp
@@ -1711,7 +1711,7 @@ MACHINE_CONFIG_START(kabukiz_state::kabukiz)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/trackfld.cpp b/src/mame/drivers/trackfld.cpp
index 16fbd8cfffb..b254713addb 100644
--- a/src/mame/drivers/trackfld.cpp
+++ b/src/mame/drivers/trackfld.cpp
@@ -952,7 +952,7 @@ MACHINE_CONFIG_START(trackfld_state::trackfld)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // ls374.8e + r34-r47(20k) + r35-r53(10k) + r54(20k) + upc324.8f
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SOUND_ADD("snsnd", SN76496, SOUND_CLOCK/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
@@ -1028,7 +1028,7 @@ MACHINE_CONFIG_START(trackfld_state::yieartf)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // ls374.8e + r34-r47(20k) + r35-r53(10k) + r54(20k) + upc324.8f
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SOUND_ADD("snsnd", SN76496, MASTER_CLOCK/6/2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
diff --git a/src/mame/drivers/tranz330.cpp b/src/mame/drivers/tranz330.cpp
index 8eaaebf2ab1..3a4a623c985 100644
--- a/src/mame/drivers/tranz330.cpp
+++ b/src/mame/drivers/tranz330.cpp
@@ -172,21 +172,17 @@ void tranz330_state::tranz330(machine_config &config)
m_ctc->set_zc_callback<2>(DEVCB_WRITELINE(tranz330_state, sound_w));
m_ctc->set_intr_callback(DEVCB_DEVWRITELINE("irq", input_merger_device, in_w<2>));
- RS232_PORT(config, m_rs232, 0);
- m_rs232->option_reset();
- slot_options_default_rs232_devices(m_rs232);
- m_rs232->set_default_option(nullptr);
- m_rs232->set_fixed(false);
+ RS232_PORT(config, m_rs232, default_rs232_devices, nullptr);
m_rs232->set_rxd_handler(DEVCB_DEVWRITELINE(m_dart, z80dart_device, rxb_w));
m_rs232->set_dcd_handler(DEVCB_DEVWRITELINE(m_dart, z80dart_device, dcdb_w));
m_rs232->set_cts_handler(DEVCB_DEVWRITELINE(m_dart, z80dart_device, ctsb_w));
// video
- MIC10937(config, VFD_TAG, 60).set_port_value(0);
+ MIC10937(config, VFD_TAG).set_port_value(0);
config.m_default_layout = &layout_tranz330;
// sound
- SPEAKER(config, "mono", 0).set_position(0.0, 0.0, 1.0);
+ SPEAKER(config, "mono", 0).standard_mono();
SPEAKER_SOUND(config, "speaker", 0)
.add_route(ALL_OUTPUTS, "mono", 0.25);
}
diff --git a/src/mame/drivers/tricep.cpp b/src/mame/drivers/tricep.cpp
index cf930c2b39b..d0bab99c53a 100644
--- a/src/mame/drivers/tricep.cpp
+++ b/src/mame/drivers/tricep.cpp
@@ -110,7 +110,7 @@ MACHINE_CONFIG_START(tricep_state::tricep)
MCFG_RS232_DSR_HANDLER(DEVWRITELINE("pci0", mc2661_device, dsr_w))
MCFG_RS232_DCD_HANDLER(DEVWRITELINE("pci0", mc2661_device, dcd_w))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("pci0", mc2661_device, cts_w))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/trs80.cpp b/src/mame/drivers/trs80.cpp
index 09a3c5775e1..73583392b0b 100644
--- a/src/mame/drivers/trs80.cpp
+++ b/src/mame/drivers/trs80.cpp
@@ -600,9 +600,10 @@ FLOPPY_FORMATS_MEMBER( trs80_state::floppy_formats )
FLOPPY_DMK_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( trs80_floppies )
- SLOT_INTERFACE("sssd", FLOPPY_525_QD)
-SLOT_INTERFACE_END
+static void trs80_floppies(device_slot_interface &device)
+{
+ device.option_add("sssd", FLOPPY_525_QD);
+}
MACHINE_CONFIG_START(trs80_state::trs80) // the original model I, level I, with no extras
diff --git a/src/mame/drivers/trs80m2.cpp b/src/mame/drivers/trs80m2.cpp
index da546f91e3b..d85ef889dea 100644
--- a/src/mame/drivers/trs80m2.cpp
+++ b/src/mame/drivers/trs80m2.cpp
@@ -621,10 +621,11 @@ TIMER_DEVICE_CALLBACK_MEMBER(trs80m2_state::ctc_tick)
m_ctc->trg2(0);
}
-static SLOT_INTERFACE_START( trs80m2_floppies )
- SLOT_INTERFACE( "8ssdd", FLOPPY_8_SSDD ) // Shugart SA-800
- SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD ) // Shugart SA-850
-SLOT_INTERFACE_END
+static void trs80m2_floppies(device_slot_interface &device)
+{
+ device.option_add("8ssdd", FLOPPY_8_SSDD); // Shugart SA-800
+ device.option_add("8dsdd", FLOPPY_8_DSDD); // Shugart SA-850
+}
//-------------------------------------------------
diff --git a/src/mame/drivers/truco.cpp b/src/mame/drivers/truco.cpp
index e98057f3f56..d2816e73c86 100644
--- a/src/mame/drivers/truco.cpp
+++ b/src/mame/drivers/truco.cpp
@@ -456,7 +456,7 @@ MACHINE_CONFIG_START(truco_state::truco)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/trucocl.cpp b/src/mame/drivers/trucocl.cpp
index 5d370dde5c2..414e949ff21 100644
--- a/src/mame/drivers/trucocl.cpp
+++ b/src/mame/drivers/trucocl.cpp
@@ -169,7 +169,7 @@ MACHINE_CONFIG_START(trucocl_state::trucocl)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mame/drivers/ts802.cpp b/src/mame/drivers/ts802.cpp
index 8166445d100..dd39d82a41b 100644
--- a/src/mame/drivers/ts802.cpp
+++ b/src/mame/drivers/ts802.cpp
@@ -138,9 +138,10 @@ WRITE8_MEMBER( ts802_state::io_write_byte )
m_io->write_byte(offset, data);
}
-static SLOT_INTERFACE_START( ts802_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void ts802_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
MACHINE_RESET_MEMBER( ts802_state, ts802 )
{
diff --git a/src/mame/drivers/ts803.cpp b/src/mame/drivers/ts803.cpp
index 20a2b33ae39..0b563ed0482 100644
--- a/src/mame/drivers/ts803.cpp
+++ b/src/mame/drivers/ts803.cpp
@@ -183,9 +183,10 @@ INPUT_PORTS_END
/* disk drive */
-static SLOT_INTERFACE_START( ts803_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void ts803_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
WRITE8_MEMBER( ts803_state::disk_0_control_w )
{
diff --git a/src/mame/drivers/tsamurai.cpp b/src/mame/drivers/tsamurai.cpp
index c45711f438d..06fbeaebd0b 100644
--- a/src/mame/drivers/tsamurai.cpp
+++ b/src/mame/drivers/tsamurai.cpp
@@ -761,8 +761,8 @@ MACHINE_CONFIG_START(tsamurai_state::tsamurai)
MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC
MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
@@ -810,7 +810,7 @@ MACHINE_CONFIG_START(tsamurai_state::vsgongf)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
@@ -865,8 +865,8 @@ MACHINE_CONFIG_START(tsamurai_state::m660)
MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC
MCFG_SOUND_ADD("dac2", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac2", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac2", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/tsispch.cpp b/src/mame/drivers/tsispch.cpp
index 3de60e48469..9766de49c87 100644
--- a/src/mame/drivers/tsispch.cpp
+++ b/src/mame/drivers/tsispch.cpp
@@ -408,7 +408,7 @@ MACHINE_CONFIG_START(tsispch_state::prose2k)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_12BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC (TODO: correctly figure out how the DAC works; apparently it is connected to the serial output of the upd7720, which will be "fun" to connect up)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0)
MCFG_GENERIC_TERMINAL_KEYBOARD_CB(DEVPUT("i8251a_u15", i8251_device, receive_character))
diff --git a/src/mame/drivers/turrett.cpp b/src/mame/drivers/turrett.cpp
index 1c877e3f620..d146d0a27af 100644
--- a/src/mame/drivers/turrett.cpp
+++ b/src/mame/drivers/turrett.cpp
@@ -341,9 +341,10 @@ public:
DEFINE_DEVICE_TYPE(TURRETT_HARDDISK, turrett_hdd, "turrett_hdd", "Turret Tower HDD")
-SLOT_INTERFACE_START(turrett_devices)
- SLOT_INTERFACE("hdd", TURRETT_HARDDISK)
-SLOT_INTERFACE_END
+void turrett_devices(device_slot_interface &device)
+{
+ device.option_add("hdd", TURRETT_HARDDISK);
+}
/*************************************
*
diff --git a/src/mame/drivers/tvc.cpp b/src/mame/drivers/tvc.cpp
index 64875a8a08c..f71440da574 100644
--- a/src/mame/drivers/tvc.cpp
+++ b/src/mame/drivers/tvc.cpp
@@ -760,9 +760,10 @@ QUICKLOAD_LOAD_MEMBER( tvc_state, tvc64)
}
-extern SLOT_INTERFACE_START(tvc_exp)
- SLOT_INTERFACE("hbf", TVC_HBF) // Videoton HBF floppy interface
-SLOT_INTERFACE_END
+void tvc_exp(device_slot_interface &device)
+{
+ device.option_add("hbf", TVC_HBF); // Videoton HBF floppy interface
+}
MACHINE_CONFIG_START(tvc_state::tvc)
diff --git a/src/mame/drivers/unixpc.cpp b/src/mame/drivers/unixpc.cpp
index 3a56d232efe..2c6c589113d 100644
--- a/src/mame/drivers/unixpc.cpp
+++ b/src/mame/drivers/unixpc.cpp
@@ -317,9 +317,10 @@ INPUT_PORTS_END
MACHINE DRIVERS
***************************************************************************/
-static SLOT_INTERFACE_START( unixpc_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void unixpc_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
MACHINE_CONFIG_START(unixpc_state::unixpc)
// basic machine hardware
diff --git a/src/mame/drivers/ut88.cpp b/src/mame/drivers/ut88.cpp
index 5d54df9693a..49df616377b 100644
--- a/src/mame/drivers/ut88.cpp
+++ b/src/mame/drivers/ut88.cpp
@@ -211,7 +211,7 @@ MACHINE_CONFIG_START(ut88_state::ut88)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
diff --git a/src/mame/drivers/v1050.cpp b/src/mame/drivers/v1050.cpp
index 4b93fbc93aa..24c3adc2418 100644
--- a/src/mame/drivers/v1050.cpp
+++ b/src/mame/drivers/v1050.cpp
@@ -929,10 +929,11 @@ void v1050_state::update_fdc()
// disk format: 80 tracks, 1 head, 10 sectors, 512 bytes sector length, first sector id 1
-static SLOT_INTERFACE_START( v1050_floppies )
- SLOT_INTERFACE( "525ssqd", FLOPPY_525_SSQD ) // Teac FD 55E-02-U
- SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) // Teac FD 55-FV-35-U
-SLOT_INTERFACE_END
+static void v1050_floppies(device_slot_interface &device)
+{
+ device.option_add("525ssqd", FLOPPY_525_SSQD); // Teac FD 55E-02-U
+ device.option_add("525qd", FLOPPY_525_QD); // Teac FD 55-FV-35-U
+}
WRITE_LINE_MEMBER( v1050_state::fdc_intrq_w )
{
diff --git a/src/mame/drivers/v6809.cpp b/src/mame/drivers/v6809.cpp
index 4b30ac80bd3..828ae6786fd 100644
--- a/src/mame/drivers/v6809.cpp
+++ b/src/mame/drivers/v6809.cpp
@@ -270,9 +270,10 @@ WRITE_LINE_MEMBER( v6809_state::speaker_w )
// m_speaker->level_w(data);
}
-static SLOT_INTERFACE_START( v6809_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void v6809_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
// *** Machine ****
diff --git a/src/mame/drivers/vboy.cpp b/src/mame/drivers/vboy.cpp
index 2db0706d211..404575393fd 100644
--- a/src/mame/drivers/vboy.cpp
+++ b/src/mame/drivers/vboy.cpp
@@ -1344,10 +1344,11 @@ TIMER_DEVICE_CALLBACK_MEMBER(vboy_state::vboy_scanlineR)
#endif
-static SLOT_INTERFACE_START(vboy_cart)
- SLOT_INTERFACE_INTERNAL("vb_rom", VBOY_ROM_STD)
- SLOT_INTERFACE_INTERNAL("vb_eeprom", VBOY_ROM_EEPROM)
-SLOT_INTERFACE_END
+static void vboy_cart(device_slot_interface &device)
+{
+ device.option_add_internal("vb_rom", VBOY_ROM_STD);
+ device.option_add_internal("vb_eeprom", VBOY_ROM_EEPROM);
+}
MACHINE_CONFIG_START(vboy_state::vboy)
@@ -1389,7 +1390,7 @@ MACHINE_CONFIG_START(vboy_state::vboy)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
- MCFG_VBOYSND_ADD("vbsnd")
+ MCFG_DEVICE_ADD("vbsnd", VBOYSND)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/vc4000.cpp b/src/mame/drivers/vc4000.cpp
index 11fdaaaec9b..705bc3f1d6a 100644
--- a/src/mame/drivers/vc4000.cpp
+++ b/src/mame/drivers/vc4000.cpp
@@ -517,12 +517,13 @@ QUICKLOAD_LOAD_MEMBER( vc4000_state,vc4000)
return result;
}
-static SLOT_INTERFACE_START(vc4000_cart)
- SLOT_INTERFACE_INTERNAL("std", VC4000_ROM_STD)
- SLOT_INTERFACE_INTERNAL("rom4k", VC4000_ROM_ROM4K)
- SLOT_INTERFACE_INTERNAL("ram1k", VC4000_ROM_RAM1K)
- SLOT_INTERFACE_INTERNAL("chess2", VC4000_ROM_CHESS2)
-SLOT_INTERFACE_END
+static void vc4000_cart(device_slot_interface &device)
+{
+ device.option_add_internal("std", VC4000_ROM_STD);
+ device.option_add_internal("rom4k", VC4000_ROM_ROM4K);
+ device.option_add_internal("ram1k", VC4000_ROM_RAM1K);
+ device.option_add_internal("chess2", VC4000_ROM_CHESS2);
+}
MACHINE_CONFIG_START(vc4000_state::vc4000)
diff --git a/src/mame/drivers/vcombat.cpp b/src/mame/drivers/vcombat.cpp
index 12663eb6fe5..34149e352a2 100644
--- a/src/mame/drivers/vcombat.cpp
+++ b/src/mame/drivers/vcombat.cpp
@@ -597,7 +597,7 @@ MACHINE_CONFIG_START(vcombat_state::vcombat)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_10BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
@@ -631,7 +631,7 @@ MACHINE_CONFIG_START(vcombat_state::shadfgtr)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_10BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/vector06.cpp b/src/mame/drivers/vector06.cpp
index 40d9c779a20..1cc4e725d4c 100644
--- a/src/mame/drivers/vector06.cpp
+++ b/src/mame/drivers/vector06.cpp
@@ -152,9 +152,10 @@ FLOPPY_FORMATS_MEMBER( vector06_state::floppy_formats )
FLOPPY_VECTOR06_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( vector06_floppies )
- SLOT_INTERFACE("qd", FLOPPY_525_QD)
-SLOT_INTERFACE_END
+static void vector06_floppies(device_slot_interface &device)
+{
+ device.option_add("qd", FLOPPY_525_QD);
+}
/* Machine driver */
diff --git a/src/mame/drivers/vectrex.cpp b/src/mame/drivers/vectrex.cpp
index 77c2d3f011f..327e93bd347 100644
--- a/src/mame/drivers/vectrex.cpp
+++ b/src/mame/drivers/vectrex.cpp
@@ -90,11 +90,12 @@ static INPUT_PORTS_START(vectrex)
INPUT_PORTS_END
-static SLOT_INTERFACE_START(vectrex_cart)
- SLOT_INTERFACE_INTERNAL("vec_rom", VECTREX_ROM_STD)
- SLOT_INTERFACE_INTERNAL("vec_rom64k", VECTREX_ROM_64K)
- SLOT_INTERFACE_INTERNAL("vec_sram", VECTREX_ROM_SRAM)
-SLOT_INTERFACE_END
+static void vectrex_cart(device_slot_interface &device)
+{
+ device.option_add_internal("vec_rom", VECTREX_ROM_STD);
+ device.option_add_internal("vec_rom64k", VECTREX_ROM_64K);
+ device.option_add_internal("vec_sram", VECTREX_ROM_SRAM);
+}
MACHINE_CONFIG_START(vectrex_base_state::vectrex_base)
/* basic machine hardware */
@@ -112,7 +113,7 @@ MACHINE_CONFIG_START(vectrex_base_state::vectrex_base)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // mc1408.ic301 (also used for vector generation)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SOUND_ADD("ay8912", AY8912, 6_MHz_XTAL / 4)
MCFG_AY8910_PORT_A_READ_CB(IOPORT("BUTTONS"))
diff --git a/src/mame/drivers/vg5k.cpp b/src/mame/drivers/vg5k.cpp
index 416caa68ffe..2a8e0916149 100644
--- a/src/mame/drivers/vg5k.cpp
+++ b/src/mame/drivers/vg5k.cpp
@@ -392,7 +392,7 @@ MACHINE_CONFIG_START(vg5k_state::vg5k)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.125)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
/* cassette */
MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
diff --git a/src/mame/drivers/vidbrain.cpp b/src/mame/drivers/vidbrain.cpp
index e4962f226a7..86c2ed09cd4 100644
--- a/src/mame/drivers/vidbrain.cpp
+++ b/src/mame/drivers/vidbrain.cpp
@@ -521,7 +521,7 @@ MACHINE_CONFIG_START(vidbrain_state::vidbrain)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_2BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.167) // 74ls74.u16 + 120k + 56k
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
// devices
MCFG_DEVICE_ADD(F3853_TAG, F3853, XTAL(4'000'000)/2)
diff --git a/src/mame/drivers/videopkr.cpp b/src/mame/drivers/videopkr.cpp
index b64eebcd605..d3aacee79e1 100644
--- a/src/mame/drivers/videopkr.cpp
+++ b/src/mame/drivers/videopkr.cpp
@@ -1304,7 +1304,7 @@ MACHINE_CONFIG_START(videopkr_state::videopkr)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.275)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/vigilant.cpp b/src/mame/drivers/vigilant.cpp
index 3f86702999c..9e46003850b 100644
--- a/src/mame/drivers/vigilant.cpp
+++ b/src/mame/drivers/vigilant.cpp
@@ -527,7 +527,7 @@ MACHINE_CONFIG_START(vigilant_state::vigilant)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(vigilant_state::buccanrs)
@@ -593,7 +593,7 @@ MACHINE_CONFIG_START(vigilant_state::buccanrs)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.35) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.35) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(vigilant_state::kikcubic)
@@ -643,7 +643,7 @@ MACHINE_CONFIG_START(vigilant_state::kikcubic)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/vis.cpp b/src/mame/drivers/vis.cpp
index fe84573ac6c..9ec7fad238a 100644
--- a/src/mame/drivers/vis.cpp
+++ b/src/mame/drivers/vis.cpp
@@ -140,8 +140,8 @@ MACHINE_CONFIG_START(vis_audio_device::device_add_mconfig)
MCFG_SOUND_ADD("ldac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // unknown DAC
MCFG_SOUND_ADD("rdac", DAC_16BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
READ8_MEMBER(vis_audio_device::pcm_r)
@@ -857,10 +857,11 @@ void vis_state::at16_io(address_map &map)
map(0x031a, 0x031a).r(this, FUNC(vis_state::unk3_r));
}
-static SLOT_INTERFACE_START(vis_cards)
- SLOT_INTERFACE("visaudio", VIS_AUDIO)
- SLOT_INTERFACE("visvga", VIS_VGA)
-SLOT_INTERFACE_END
+static void vis_cards(device_slot_interface &device)
+{
+ device.option_add("visaudio", VIS_AUDIO);
+ device.option_add("visvga", VIS_VGA);
+}
// TODO: other buttons
static INPUT_PORTS_START(vis)
diff --git a/src/mame/drivers/vixen.cpp b/src/mame/drivers/vixen.cpp
index 8e8ee570d74..5289c6ce3dc 100644
--- a/src/mame/drivers/vixen.cpp
+++ b/src/mame/drivers/vixen.cpp
@@ -667,9 +667,10 @@ WRITE_LINE_MEMBER( vixen_state::atn_w )
update_interrupt();
}
-static SLOT_INTERFACE_START( vixen_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void vixen_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
WRITE_LINE_MEMBER( vixen_state::fdc_intrq_w )
{
diff --git a/src/mame/drivers/wangpc.cpp b/src/mame/drivers/wangpc.cpp
index 4b43c66f06d..27971f14339 100644
--- a/src/mame/drivers/wangpc.cpp
+++ b/src/mame/drivers/wangpc.cpp
@@ -1094,9 +1094,10 @@ WRITE_LINE_MEMBER( wangpc_state::epci_irq_w )
// upd765_interface fdc_intf
//-------------------------------------------------
-static SLOT_INTERFACE_START( wangpc_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+static void wangpc_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
FLOPPY_FORMATS_MEMBER( wangpc_state::floppy_formats )
FLOPPY_PC_FORMAT
diff --git a/src/mame/drivers/wheelfir.cpp b/src/mame/drivers/wheelfir.cpp
index bb899a1c156..1538001e7a1 100644
--- a/src/mame/drivers/wheelfir.cpp
+++ b/src/mame/drivers/wheelfir.cpp
@@ -769,8 +769,8 @@ MACHINE_CONFIG_START(wheelfir_state::wheelfir)
MCFG_SOUND_ADD("ldac", DAC_10BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // unknown DAC
MCFG_SOUND_ADD("rdac", DAC_10BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/wicat.cpp b/src/mame/drivers/wicat.cpp
index 4c7fcba9b83..b5936c94cb0 100644
--- a/src/mame/drivers/wicat.cpp
+++ b/src/mame/drivers/wicat.cpp
@@ -288,9 +288,10 @@ static INPUT_PORTS_START( wicat )
INPUT_PORTS_END
-static SLOT_INTERFACE_START(wicat_floppies)
- SLOT_INTERFACE("525qd", FLOPPY_525_QD)
-SLOT_INTERFACE_END
+static void wicat_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
void wicat_state::driver_start()
{
diff --git a/src/mame/drivers/wildpkr.cpp b/src/mame/drivers/wildpkr.cpp
index fac8dfcbda0..96e2ae65890 100644
--- a/src/mame/drivers/wildpkr.cpp
+++ b/src/mame/drivers/wildpkr.cpp
@@ -529,7 +529,7 @@ MACHINE_CONFIG_START(wildpkr_state::tabpkr)
MCFG_SOUND_ADD("dac", AD557, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/williams.cpp b/src/mame/drivers/williams.cpp
index c8f16936117..27e48479ed4 100644
--- a/src/mame/drivers/williams.cpp
+++ b/src/mame/drivers/williams.cpp
@@ -1492,7 +1492,7 @@ MACHINE_CONFIG_START(williams_state::williams)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // mc1408.ic6
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
/* pia */
MCFG_DEVICE_ADD("pia_0", PIA6821, 0)
@@ -1711,8 +1711,8 @@ MACHINE_CONFIG_START(blaster_state::blaster)
MCFG_SOUND_ADD("ldac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) // unknown DAC
MCFG_SOUND_ADD("rdac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
- MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
@@ -1756,7 +1756,7 @@ MACHINE_CONFIG_START(williams2_state::williams2)
MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
/* pia */
MCFG_DEVICE_ADD("pia_0", PIA6821, 0)
diff --git a/src/mame/drivers/wmg.cpp b/src/mame/drivers/wmg.cpp
index 02632727e6c..fa55c7a6af4 100644
--- a/src/mame/drivers/wmg.cpp
+++ b/src/mame/drivers/wmg.cpp
@@ -521,7 +521,7 @@ MACHINE_CONFIG_START(wmg_state::wmg)
MCFG_SOUND_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
/* pia */
MCFG_DEVICE_ADD("pia_0", PIA6821, 0)
diff --git a/src/mame/drivers/wswan.cpp b/src/mame/drivers/wswan.cpp
index d3b6d556e56..c0e17ac94b8 100644
--- a/src/mame/drivers/wswan.cpp
+++ b/src/mame/drivers/wswan.cpp
@@ -105,11 +105,12 @@ PALETTE_INIT_MEMBER(wscolor_state, wscolor)
}
}
-static SLOT_INTERFACE_START(wswan_cart)
- SLOT_INTERFACE_INTERNAL("ws_rom", WS_ROM_STD)
- SLOT_INTERFACE_INTERNAL("ws_sram", WS_ROM_SRAM)
- SLOT_INTERFACE_INTERNAL("ws_eeprom", WS_ROM_EEPROM)
-SLOT_INTERFACE_END
+static void wswan_cart(device_slot_interface &device)
+{
+ device.option_add_internal("ws_rom", WS_ROM_STD);
+ device.option_add_internal("ws_sram", WS_ROM_SRAM);
+ device.option_add_internal("ws_eeprom", WS_ROM_EEPROM);
+}
MACHINE_CONFIG_START(wswan_state::wswan)
/* Basic machine hardware */
diff --git a/src/mame/drivers/wyvernf0.cpp b/src/mame/drivers/wyvernf0.cpp
index 47e1eff2461..f5a86652a14 100644
--- a/src/mame/drivers/wyvernf0.cpp
+++ b/src/mame/drivers/wyvernf0.cpp
@@ -705,7 +705,7 @@ MACHINE_CONFIG_START(wyvernf0_state::wyvernf0)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mame/drivers/x1.cpp b/src/mame/drivers/x1.cpp
index 904186c23ec..fde4a7e88a8 100644
--- a/src/mame/drivers/x1.cpp
+++ b/src/mame/drivers/x1.cpp
@@ -2194,9 +2194,10 @@ FLOPPY_FORMATS_MEMBER( x1_state::floppy_formats )
FLOPPY_2D_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( x1_floppies )
- SLOT_INTERFACE("dd", FLOPPY_525_DD)
-SLOT_INTERFACE_END
+static void x1_floppies(device_slot_interface &device)
+{
+ device.option_add("dd", FLOPPY_525_DD);
+}
MACHINE_CONFIG_START(x1_state::x1)
/* basic machine hardware */
diff --git a/src/mame/drivers/x1twin.cpp b/src/mame/drivers/x1twin.cpp
index 6a7f5f1a5e2..e0ed353dcc6 100644
--- a/src/mame/drivers/x1twin.cpp
+++ b/src/mame/drivers/x1twin.cpp
@@ -406,9 +406,10 @@ static const z80_daisy_config x1_daisy[] =
{ nullptr }
};
-static SLOT_INTERFACE_START( x1_floppies )
- SLOT_INTERFACE("dd", FLOPPY_525_DD)
-SLOT_INTERFACE_END
+static void x1_floppies(device_slot_interface &device)
+{
+ device.option_add("dd", FLOPPY_525_DD);
+}
MACHINE_CONFIG_START(x1twin_state::x1twin)
/* basic machine hardware */
diff --git a/src/mame/drivers/x68k.cpp b/src/mame/drivers/x68k.cpp
index 80be6ab2c90..976d4c031e8 100644
--- a/src/mame/drivers/x68k.cpp
+++ b/src/mame/drivers/x68k.cpp
@@ -1468,11 +1468,12 @@ WRITE_LINE_MEMBER(x68k_state::x68k_irq4_line)
logerror("EXP: IRQ4 set to %i (vector %02x)\n",state,m_current_vector[4]);
}
-static SLOT_INTERFACE_START(x68000_exp_cards)
- SLOT_INTERFACE("neptunex",X68K_NEPTUNEX) // Neptune-X ethernet adapter (ISA NE2000 bridge)
- SLOT_INTERFACE("cz6bs1",X68K_SCSIEXT) // Sharp CZ-6BS1 SCSI-1 controller
- SLOT_INTERFACE("x68k_midi",X68K_MIDI) // X68000 MIDI interface
-SLOT_INTERFACE_END
+static void x68000_exp_cards(device_slot_interface &device)
+{
+ device.option_add("neptunex", X68K_NEPTUNEX); // Neptune-X ethernet adapter (ISA NE2000 bridge)
+ device.option_add("cz6bs1", X68K_SCSIEXT); // Sharp CZ-6BS1 SCSI-1 controller
+ device.option_add("x68k_midi", X68K_MIDI); // X68000 MIDI interface
+}
void x68k_state::machine_reset()
{
@@ -1624,13 +1625,15 @@ FLOPPY_FORMATS_MEMBER( x68k_state::floppy_formats )
FLOPPY_DIM_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( x68k_floppies )
- SLOT_INTERFACE( "525hd", FLOPPY_525_HD )
-SLOT_INTERFACE_END
+static void x68k_floppies(device_slot_interface &device)
+{
+ device.option_add("525hd", FLOPPY_525_HD);
+}
-static SLOT_INTERFACE_START(keyboard)
- SLOT_INTERFACE("x68k", X68K_KEYBOARD)
-SLOT_INTERFACE_END
+static void keyboard(device_slot_interface &device)
+{
+ device.option_add("x68k", X68K_KEYBOARD);
+}
MACHINE_CONFIG_START(x68k_state::x68000)
/* basic machine hardware */
diff --git a/src/mame/drivers/xbox.cpp b/src/mame/drivers/xbox.cpp
index df2587fbaa9..b85dc2c2ab9 100644
--- a/src/mame/drivers/xbox.cpp
+++ b/src/mame/drivers/xbox.cpp
@@ -158,14 +158,16 @@ void xbox_state::machine_reset()
id[88] |= (1 << 2); // ultra dma mode 2 supported
}
-SLOT_INTERFACE_START(usb_xbox)
- SLOT_INTERFACE("xbox_controller", OHCI_GAME_CONTROLLER)
-SLOT_INTERFACE_END
-
-SLOT_INTERFACE_START(xbox_ata_devices)
- SLOT_INTERFACE("hdd", IDE_HARDDISK)
- SLOT_INTERFACE("cdrom", ATAPI_CDROM)
-SLOT_INTERFACE_END
+void usb_xbox(device_slot_interface &device)
+{
+ device.option_add("xbox_controller", OHCI_GAME_CONTROLLER);
+}
+
+void xbox_ata_devices(device_slot_interface &device)
+{
+ device.option_add("hdd", IDE_HARDDISK);
+ device.option_add("cdrom", ATAPI_CDROM);
+}
MACHINE_CONFIG_START(xbox_state::xbox)
xbox_base(config);
diff --git a/src/mame/drivers/xerox820.cpp b/src/mame/drivers/xerox820.cpp
index 3e91fe6e415..3f944013753 100644
--- a/src/mame/drivers/xerox820.cpp
+++ b/src/mame/drivers/xerox820.cpp
@@ -438,13 +438,14 @@ QUICKLOAD_LOAD_MEMBER( xerox820_state, xerox820 )
/* WD1771 Interface */
-static SLOT_INTERFACE_START( xerox820_floppies )
- SLOT_INTERFACE( "sa400", FLOPPY_525_SSSD_35T ) // Shugart SA-400, 35 trk drive
- SLOT_INTERFACE( "sa400l", FLOPPY_525_SSSD ) // Shugart SA-400, 40 trk drive
- SLOT_INTERFACE( "sa450", FLOPPY_525_DD ) // Shugart SA-450
- SLOT_INTERFACE( "sa800", FLOPPY_8_SSDD ) // Shugart SA-800
- SLOT_INTERFACE( "sa850", FLOPPY_8_DSDD ) // Shugart SA-850
-SLOT_INTERFACE_END
+static void xerox820_floppies(device_slot_interface &device)
+{
+ device.option_add("sa400", FLOPPY_525_SSSD_35T); // Shugart SA-400, 35 trk drive
+ device.option_add("sa400l", FLOPPY_525_SSSD); // Shugart SA-400, 40 trk drive
+ device.option_add("sa450", FLOPPY_525_DD); // Shugart SA-450
+ device.option_add("sa800", FLOPPY_8_SSDD); // Shugart SA-800
+ device.option_add("sa850", FLOPPY_8_DSDD); // Shugart SA-850
+}
void xerox820_state::update_nmi()
{
diff --git a/src/mame/drivers/xor100.cpp b/src/mame/drivers/xor100.cpp
index 1d57b537130..5278ae2d0b9 100644
--- a/src/mame/drivers/xor100.cpp
+++ b/src/mame/drivers/xor100.cpp
@@ -424,9 +424,10 @@ WRITE_LINE_MEMBER( xor100_state::ctc_z2_w )
/* WD1795-02 Interface */
-static SLOT_INTERFACE_START( xor100_floppies )
- SLOT_INTERFACE( "8ssdd", FLOPPY_8_SSDD ) // Shugart SA-100
-SLOT_INTERFACE_END
+static void xor100_floppies(device_slot_interface &device)
+{
+ device.option_add("8ssdd", FLOPPY_8_SSDD); // Shugart SA-100
+}
void xor100_state::fdc_intrq_w(bool state)
{
@@ -461,8 +462,9 @@ static DEVICE_INPUT_DEFAULTS_START( terminal )
DEVICE_INPUT_DEFAULTS( "RS232_STOPBITS", 0xff, RS232_STOPBITS_1 )
DEVICE_INPUT_DEFAULTS_END
-static SLOT_INTERFACE_START( xor100_s100_cards )
-SLOT_INTERFACE_END
+static void xor100_s100_cards(device_slot_interface &device)
+{
+}
/* Machine Initialization */
@@ -530,7 +532,7 @@ MACHINE_CONFIG_START(xor100_state::xor100)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_B_TAG, i8251_device, write_rxd))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_B_TAG, i8251_device, write_dsr))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE(I8251_B_TAG, i8251_device, write_cts))
- MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal)
+ MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_DEVICE_ADD(COM5016_TAG, COM8116, XTAL(5'068'800))
MCFG_COM8116_FR_HANDLER(DEVWRITELINE(I8251_A_TAG, i8251_device, write_txc))
diff --git a/src/mame/drivers/xtheball.cpp b/src/mame/drivers/xtheball.cpp
index 45417350963..b2d0e844a13 100644
--- a/src/mame/drivers/xtheball.cpp
+++ b/src/mame/drivers/xtheball.cpp
@@ -338,7 +338,7 @@ MACHINE_CONFIG_START(xtheball_state::xtheball)
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
- MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/z100.cpp b/src/mame/drivers/z100.cpp
index 2a55cb3d3d8..1c1c1f24809 100644
--- a/src/mame/drivers/z100.cpp
+++ b/src/mame/drivers/z100.cpp
@@ -666,9 +666,10 @@ void z100_state::machine_reset()
}
}
-static SLOT_INTERFACE_START( z100_floppies )
- SLOT_INTERFACE("dd", FLOPPY_525_DD)
-SLOT_INTERFACE_END
+static void z100_floppies(device_slot_interface &device)
+{
+ device.option_add("dd", FLOPPY_525_DD);
+}
MACHINE_CONFIG_START(z100_state::z100)
/* basic machine hardware */
diff --git a/src/mame/drivers/z80ne.cpp b/src/mame/drivers/z80ne.cpp
index 5491ba3d0b3..1ecf934d65d 100644
--- a/src/mame/drivers/z80ne.cpp
+++ b/src/mame/drivers/z80ne.cpp
@@ -410,9 +410,10 @@ FLOPPY_FORMATS_MEMBER( z80ne_state::floppy_formats )
FLOPPY_DMK_FORMAT
FLOPPY_FORMATS_END
-static SLOT_INTERFACE_START( z80ne_floppies )
- SLOT_INTERFACE("sssd", FLOPPY_525_SSSD)
-SLOT_INTERFACE_END
+static void z80ne_floppies(device_slot_interface &device)
+{
+ device.option_add("sssd", FLOPPY_525_SSSD);
+}
MACHINE_CONFIG_START(z80ne_state::z80ne)
/* basic machine hardware */
diff --git a/src/mame/drivers/z88.cpp b/src/mame/drivers/z88.cpp
index cdee2567c0e..5bfa67a3e71 100644
--- a/src/mame/drivers/z88.cpp
+++ b/src/mame/drivers/z88.cpp
@@ -612,16 +612,17 @@ READ8_MEMBER(z88_state::kb_r)
return data;
}
-static SLOT_INTERFACE_START(z88_cart)
- SLOT_INTERFACE("32krom", Z88_32K_ROM) // 32KB ROM cart
- SLOT_INTERFACE("128krom", Z88_128K_ROM) // 128KB ROM cart
- SLOT_INTERFACE("256krom", Z88_256K_ROM) // 256KB ROM cart
- SLOT_INTERFACE("32kram", Z88_32K_RAM) // 32KB RAM cart
- SLOT_INTERFACE("128kram", Z88_128K_RAM) // 128KB RAM cart
- SLOT_INTERFACE("512kram", Z88_512K_RAM) // 512KB RAM cart
- SLOT_INTERFACE("1024kram", Z88_1024K_RAM) // 1024KB RAM cart
- SLOT_INTERFACE("1024kflash", Z88_1024K_FLASH) // 1024KB Flash cart
-SLOT_INTERFACE_END
+static void z88_cart(device_slot_interface &device)
+{
+ device.option_add("32krom", Z88_32K_ROM); // 32KB ROM cart
+ device.option_add("128krom", Z88_128K_ROM); // 128KB ROM cart
+ device.option_add("256krom", Z88_256K_ROM); // 256KB ROM cart
+ device.option_add("32kram", Z88_32K_RAM); // 32KB RAM cart
+ device.option_add("128kram", Z88_128K_RAM); // 128KB RAM cart
+ device.option_add("512kram", Z88_512K_RAM); // 512KB RAM cart
+ device.option_add("1024kram", Z88_1024K_RAM); // 1024KB RAM cart
+ device.option_add("1024kflash", Z88_1024K_FLASH); // 1024KB Flash cart
+}
MACHINE_CONFIG_START(z88_state::z88)
/* basic machine hardware */
diff --git a/src/mame/drivers/zorba.cpp b/src/mame/drivers/zorba.cpp
index 01e5ead77be..ec360fcea3b 100644
--- a/src/mame/drivers/zorba.cpp
+++ b/src/mame/drivers/zorba.cpp
@@ -108,9 +108,10 @@ INPUT_PORTS_START( zorba )
INPUT_PORTS_END
-SLOT_INTERFACE_START( zorba_floppies )
- SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
-SLOT_INTERFACE_END
+void zorba_floppies(device_slot_interface &device)
+{
+ device.option_add("525dd", FLOPPY_525_DD);
+}
// F4 Character Displayer
@@ -136,7 +137,7 @@ GFXDECODE_END
MACHINE_CONFIG_START(zorba_state::zorba)
// basic machine hardware
- MCFG_CPU_ADD("maincpu", Z80, 24_MHz_XTAL / 6)
+ MCFG_CPU_ADD(m_maincpu, Z80, 24_MHz_XTAL / 6)
MCFG_CPU_PROGRAM_MAP(zorba_mem)
MCFG_CPU_IO_MAP(zorba_io)
@@ -145,11 +146,11 @@ MACHINE_CONFIG_START(zorba_state::zorba)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_UPDATE_DEVICE("crtc", i8275_device, screen_update)
MCFG_GFXDECODE_ADD("gfxdecode", "palette", zorba)
- MCFG_PALETTE_ADD_MONOCHROME_HIGHLIGHT("palette")
+ MCFG_PALETTE_ADD_MONOCHROME_HIGHLIGHT(m_palette)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_SOUND_ADD("beeper", BEEP, 800) // should be horizontal frequency / 16, so depends on CRTC parameters
+ MCFG_SOUND_ADD(m_beep, BEEP, 800) // should be horizontal frequency / 16, so depends on CRTC parameters
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MCFG_INPUT_MERGER_ANY_HIGH("irq0")
@@ -160,7 +161,7 @@ MACHINE_CONFIG_START(zorba_state::zorba)
MCFG_INPUT_MERGER_OUTPUT_HANDLER(WRITELINE(zorba_state, irq_w<2>))
/* devices */
- MCFG_DEVICE_ADD("dma", Z80DMA, 24_MHz_XTAL / 6)
+ MCFG_DEVICE_ADD(m_dma, Z80DMA, 24_MHz_XTAL / 6)
// busack on cpu connects to bai pin
MCFG_Z80DMA_OUT_BUSREQ_CB(WRITELINE(zorba_state, busreq_w)) //connects to busreq on cpu
MCFG_Z80DMA_OUT_INT_CB(DEVWRITELINE("irq0", input_merger_device, in_w<0>))
@@ -170,33 +171,33 @@ MACHINE_CONFIG_START(zorba_state::zorba)
MCFG_Z80DMA_IN_IORQ_CB(READ8(zorba_state, io_read_byte))
MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(zorba_state, io_write_byte))
- MCFG_DEVICE_ADD("uart0", I8251, 0) // U32 COM port J2
+ MCFG_DEVICE_ADD(m_uart0, I8251, 0) // U32 COM port J2
MCFG_I8251_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd)) // TODO: this line has a LED attached
MCFG_I8251_DTR_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_dtr))
MCFG_I8251_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts))
MCFG_I8251_RXRDY_HANDLER(WRITELINE(zorba_state, tx_rx_rdy_w<1>))
MCFG_I8251_TXRDY_HANDLER(WRITELINE(zorba_state, tx_rx_rdy_w<0>))
- MCFG_DEVICE_ADD("uart1", I8251, 0) // U31 printer port J3
+ MCFG_DEVICE_ADD(m_uart1, I8251, 0) // U31 printer port J3
MCFG_I8251_TXD_HANDLER(DEVWRITELINE("serprn", rs232_port_device, write_txd))
MCFG_I8251_RTS_HANDLER(DEVWRITELINE("serprn", rs232_port_device, write_rts))
MCFG_I8251_RXRDY_HANDLER(WRITELINE(zorba_state, tx_rx_rdy_w<3>))
MCFG_I8251_TXRDY_HANDLER(WRITELINE(zorba_state, tx_rx_rdy_w<2>))
- MCFG_DEVICE_ADD("uart2", I8251, 0) // U30 serial keyboard J6
+ MCFG_DEVICE_ADD(m_uart2, I8251, 0) // U30 serial keyboard J6
MCFG_I8251_TXD_HANDLER(DEVWRITELINE("keyboard", zorba_keyboard_device, txd_w))
MCFG_I8251_RXRDY_HANDLER(WRITELINE(zorba_state, tx_rx_rdy_w<5>))
MCFG_I8251_TXRDY_HANDLER(WRITELINE(zorba_state, tx_rx_rdy_w<4>))
// port A - disk select etc, beeper
// port B - parallel interface
- MCFG_DEVICE_ADD("pia0", PIA6821, 0)
+ MCFG_DEVICE_ADD(m_pia0, PIA6821, 0)
MCFG_PIA_WRITEPA_HANDLER(WRITE8(zorba_state, pia0_porta_w))
MCFG_PIA_WRITEPB_HANDLER(DEVWRITE8("parprndata", output_latch_device, write))
MCFG_PIA_CB2_HANDLER(DEVWRITELINE("parprn", centronics_device, write_strobe))
// IEEE488 interface
- MCFG_DEVICE_ADD("pia1", PIA6821, 0)
+ MCFG_DEVICE_ADD(m_pia1, PIA6821, 0)
MCFG_PIA_READPA_HANDLER(DEVREAD8(m_ieee, ieee488_device, dio_r)) // TODO: gated with PB1
MCFG_PIA_WRITEPA_HANDLER(DEVWRITE8(m_ieee, ieee488_device, dio_w)) // TODO: gated with PB1
MCFG_PIA_READPB_HANDLER(READ8(zorba_state, pia1_portb_r))
@@ -218,7 +219,7 @@ MACHINE_CONFIG_START(zorba_state::zorba)
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE(m_uart2, i8251_device, write_rxc))
// CRTC
- MCFG_DEVICE_ADD("crtc", I8275, 14.318'181_MHz_XTAL / 7)
+ MCFG_DEVICE_ADD(m_crtc, I8275, 14.318'181_MHz_XTAL / 7)
MCFG_I8275_CHARACTER_WIDTH(8)
MCFG_I8275_DRAW_CHARACTER_CALLBACK_OWNER(zorba_state, zorba_update_chr)
MCFG_I8275_DRQ_CALLBACK(DEVWRITELINE(m_dma, z80dma_device, rdy_w))
@@ -226,12 +227,12 @@ MACHINE_CONFIG_START(zorba_state::zorba)
MCFG_VIDEO_SET_SCREEN("screen")
// Floppies
- MCFG_FD1793_ADD("fdc", 24_MHz_XTAL / 24)
+ MCFG_FD1793_ADD(m_fdc, 24_MHz_XTAL / 24)
MCFG_WD_FDC_INTRQ_CALLBACK(DEVWRITELINE("irq2", input_merger_device, in_w<0>))
MCFG_WD_FDC_DRQ_CALLBACK(DEVWRITELINE("irq2", input_merger_device, in_w<1>))
- MCFG_FLOPPY_DRIVE_ADD("fdc:0", zorba_floppies, "525dd", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(m_floppy0, zorba_floppies, "525dd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("fdc:1", zorba_floppies, "525dd", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD(m_floppy1, zorba_floppies, "525dd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_SOUND(true)
// J1 IEEE-488