summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/devices/video/stvvdp2.cpp36
-rw-r--r--src/emu/driver.h63
-rw-r--r--src/mame/audio/8080bw.cpp6
-rw-r--r--src/mame/audio/cinemat.cpp10
-rw-r--r--src/mame/audio/mw8080bw.cpp16
-rw-r--r--src/mame/audio/n8080.cpp24
-rw-r--r--src/mame/audio/redalert.cpp10
-rw-r--r--src/mame/audio/vicdual.cpp2
-rw-r--r--src/mame/drivers/1942.cpp2
-rw-r--r--src/mame/drivers/2mindril.cpp14
-rw-r--r--src/mame/drivers/39in1.cpp6
-rw-r--r--src/mame/drivers/3do.cpp2
-rw-r--r--src/mame/drivers/40love.cpp18
-rw-r--r--src/mame/drivers/4roses.cpp2
-rw-r--r--src/mame/drivers/8080bw.cpp110
-rw-r--r--src/mame/drivers/a51xx.cpp12
-rw-r--r--src/mame/drivers/a6809.cpp6
-rw-r--r--src/mame/drivers/actfancr.cpp8
-rw-r--r--src/mame/drivers/adp.cpp12
-rw-r--r--src/mame/drivers/aerofgt.cpp100
-rw-r--r--src/mame/drivers/airraid.cpp4
-rw-r--r--src/mame/drivers/alg.cpp8
-rw-r--r--src/mame/drivers/alpha68k.cpp52
-rw-r--r--src/mame/drivers/alto2.cpp2
-rw-r--r--src/mame/drivers/ambush.cpp18
-rw-r--r--src/mame/drivers/amiga.cpp8
-rw-r--r--src/mame/drivers/ampoker2.cpp3
-rw-r--r--src/mame/drivers/ampro.cpp6
-rw-r--r--src/mame/drivers/amstrad.cpp26
-rw-r--r--src/mame/drivers/amust.cpp6
-rw-r--r--src/mame/drivers/apogee.cpp2
-rw-r--r--src/mame/drivers/apollo.cpp6
-rw-r--r--src/mame/drivers/apple2.cpp2
-rw-r--r--src/mame/drivers/apple2gs.cpp8
-rw-r--r--src/mame/drivers/apple3.cpp4
-rw-r--r--src/mame/drivers/argus.cpp12
-rw-r--r--src/mame/drivers/armedf.cpp52
-rw-r--r--src/mame/drivers/arsystems.cpp2
-rw-r--r--src/mame/drivers/astinvad.cpp30
-rw-r--r--src/mame/drivers/astrafr.cpp42
-rw-r--r--src/mame/drivers/astrcorp.cpp8
-rw-r--r--src/mame/drivers/astrocde.cpp2
-rw-r--r--src/mame/drivers/astrof.cpp22
-rw-r--r--src/mame/drivers/astrohome.cpp6
-rw-r--r--src/mame/drivers/at.cpp8
-rw-r--r--src/mame/drivers/atari400.cpp36
-rw-r--r--src/mame/drivers/atarig1.cpp10
-rw-r--r--src/mame/drivers/atarig42.cpp2
-rw-r--r--src/mame/drivers/atarigt.cpp6
-rw-r--r--src/mame/drivers/atarisy1.cpp10
-rw-r--r--src/mame/drivers/atarisy2.cpp10
-rw-r--r--src/mame/drivers/atarisy4.cpp6
-rw-r--r--src/mame/drivers/atm.cpp6
-rw-r--r--src/mame/drivers/badlands.cpp10
-rw-r--r--src/mame/drivers/badlandsbl.cpp4
-rw-r--r--src/mame/drivers/battlex.cpp2
-rw-r--r--src/mame/drivers/bbc.cpp36
-rw-r--r--src/mame/drivers/bbusters.cpp4
-rw-r--r--src/mame/drivers/bking.cpp8
-rw-r--r--src/mame/drivers/blitz68k.cpp24
-rw-r--r--src/mame/drivers/blmbycar.cpp31
-rw-r--r--src/mame/drivers/blstroid.cpp2
-rw-r--r--src/mame/drivers/blueprnt.cpp2
-rw-r--r--src/mame/drivers/bml3.cpp2
-rw-r--r--src/mame/drivers/btime.cpp30
-rw-r--r--src/mame/drivers/bublbobl.cpp52
-rw-r--r--src/mame/drivers/cabal.cpp8
-rw-r--r--src/mame/drivers/calcune.cpp12
-rw-r--r--src/mame/drivers/camplynx.cpp12
-rw-r--r--src/mame/drivers/cat.cpp19
-rw-r--r--src/mame/drivers/cave.cpp108
-rw-r--r--src/mame/drivers/cbm2.cpp94
-rw-r--r--src/mame/drivers/cclimber.cpp8
-rw-r--r--src/mame/drivers/ccs300.cpp6
-rw-r--r--src/mame/drivers/cdi.cpp34
-rw-r--r--src/mame/drivers/centiped.cpp22
-rw-r--r--src/mame/drivers/champbas.cpp8
-rw-r--r--src/mame/drivers/champbwl.cpp18
-rw-r--r--src/mame/drivers/chinagat.cpp30
-rw-r--r--src/mame/drivers/cinemat.cpp10
-rw-r--r--src/mame/drivers/clshroad.cpp4
-rw-r--r--src/mame/drivers/cninja.cpp16
-rw-r--r--src/mame/drivers/cntsteer.cpp40
-rw-r--r--src/mame/drivers/combatsc.cpp14
-rw-r--r--src/mame/drivers/coolpool.cpp8
-rw-r--r--src/mame/drivers/cosmic.cpp14
-rw-r--r--src/mame/drivers/cps1.cpp16
-rw-r--r--src/mame/drivers/cps2.cpp6
-rw-r--r--src/mame/drivers/cubo.cpp2
-rw-r--r--src/mame/drivers/cvs.cpp10
-rw-r--r--src/mame/drivers/czk80.cpp6
-rw-r--r--src/mame/drivers/dambustr.cpp4
-rw-r--r--src/mame/drivers/dccons.cpp2
-rw-r--r--src/mame/drivers/ddenlovr.cpp188
-rw-r--r--src/mame/drivers/ddragon.cpp22
-rw-r--r--src/mame/drivers/ddragon3.cpp2
-rw-r--r--src/mame/drivers/dec0.cpp12
-rw-r--r--src/mame/drivers/dec8.cpp18
-rw-r--r--src/mame/drivers/deco32.cpp12
-rw-r--r--src/mame/drivers/deco_mlc.cpp10
-rw-r--r--src/mame/drivers/decocass.cpp62
-rw-r--r--src/mame/drivers/dfruit.cpp4
-rw-r--r--src/mame/drivers/divebomb.cpp10
-rw-r--r--src/mame/drivers/dkong.cpp59
-rw-r--r--src/mame/drivers/dmax8000.cpp6
-rw-r--r--src/mame/drivers/docastle.cpp4
-rw-r--r--src/mame/drivers/dooyong.cpp38
-rw-r--r--src/mame/drivers/dps1.cpp6
-rw-r--r--src/mame/drivers/dsb46.cpp6
-rw-r--r--src/mame/drivers/dynax.cpp82
-rw-r--r--src/mame/drivers/ec184x.cpp6
-rw-r--r--src/mame/drivers/elwro800.cpp8
-rw-r--r--src/mame/drivers/eolith.cpp6
-rw-r--r--src/mame/drivers/epos.cpp8
-rw-r--r--src/mame/drivers/eprom.cpp6
-rw-r--r--src/mame/drivers/equites.cpp4
-rw-r--r--src/mame/drivers/espial.cpp2
-rw-r--r--src/mame/drivers/excali64.cpp6
-rw-r--r--src/mame/drivers/exelv.cpp12
-rw-r--r--src/mame/drivers/exidy.cpp4
-rw-r--r--src/mame/drivers/f1gp.cpp22
-rw-r--r--src/mame/drivers/fantland.cpp34
-rw-r--r--src/mame/drivers/fastfred.cpp8
-rw-r--r--src/mame/drivers/fcrash.cpp72
-rw-r--r--src/mame/drivers/fidel6502.cpp18
-rw-r--r--src/mame/drivers/fidelz80.cpp6
-rw-r--r--src/mame/drivers/firebeat.cpp24
-rw-r--r--src/mame/drivers/firetrk.cpp4
-rw-r--r--src/mame/drivers/flstory.cpp20
-rw-r--r--src/mame/drivers/fm7.cpp18
-rw-r--r--src/mame/drivers/fmtowns.cpp4
-rw-r--r--src/mame/drivers/fp1100.cpp6
-rw-r--r--src/mame/drivers/freekick.cpp36
-rw-r--r--src/mame/drivers/fromanc2.cpp18
-rw-r--r--src/mame/drivers/fromance.cpp22
-rw-r--r--src/mame/drivers/funworld.cpp16
-rw-r--r--src/mame/drivers/gaelco.cpp8
-rw-r--r--src/mame/drivers/gaelco2.cpp16
-rw-r--r--src/mame/drivers/gaelco3d.cpp19
-rw-r--r--src/mame/drivers/gaiden.cpp16
-rw-r--r--src/mame/drivers/gal3.cpp6
-rw-r--r--src/mame/drivers/galaga.cpp34
-rw-r--r--src/mame/drivers/galaxia.cpp4
-rw-r--r--src/mame/drivers/galaxold.cpp48
-rw-r--r--src/mame/drivers/galaxy.cpp4
-rw-r--r--src/mame/drivers/galivan.cpp20
-rw-r--r--src/mame/drivers/galspnbl.cpp2
-rw-r--r--src/mame/drivers/gameplan.cpp9
-rw-r--r--src/mame/drivers/gb.cpp16
-rw-r--r--src/mame/drivers/gberet.cpp16
-rw-r--r--src/mame/drivers/gladiatr.cpp12
-rw-r--r--src/mame/drivers/goldnpkr.cpp22
-rw-r--r--src/mame/drivers/goldstar.cpp40
-rw-r--r--src/mame/drivers/gottlieb.cpp2
-rw-r--r--src/mame/drivers/gridcomp.cpp12
-rw-r--r--src/mame/drivers/gticlub.cpp26
-rw-r--r--src/mame/drivers/hec2hrp.cpp60
-rw-r--r--src/mame/drivers/hikaru.cpp4
-rw-r--r--src/mame/drivers/hitme.cpp4
-rw-r--r--src/mame/drivers/hnayayoi.cpp2
-rw-r--r--src/mame/drivers/holeland.cpp4
-rw-r--r--src/mame/drivers/homedata.cpp42
-rw-r--r--src/mame/drivers/homelab.cpp30
-rw-r--r--src/mame/drivers/hornet.cpp2
-rw-r--r--src/mame/drivers/hp48.cpp12
-rw-r--r--src/mame/drivers/hyperspt.cpp2
-rw-r--r--src/mame/drivers/hyprduel.cpp10
-rw-r--r--src/mame/drivers/if800.cpp2
-rw-r--r--src/mame/drivers/igs009.cpp6
-rw-r--r--src/mame/drivers/igs017.cpp34
-rw-r--r--src/mame/drivers/igs_fear.cpp2
-rw-r--r--src/mame/drivers/igspoker.cpp6
-rw-r--r--src/mame/drivers/interact.cpp20
-rw-r--r--src/mame/drivers/ironhors.cpp2
-rw-r--r--src/mame/drivers/itech32.cpp4
-rw-r--r--src/mame/drivers/itech8.cpp8
-rw-r--r--src/mame/drivers/jack.cpp18
-rw-r--r--src/mame/drivers/jalmah.cpp6
-rw-r--r--src/mame/drivers/jangou.cpp36
-rw-r--r--src/mame/drivers/jclub2.cpp6
-rw-r--r--src/mame/drivers/jpmimpct.cpp18
-rw-r--r--src/mame/drivers/jrpacman.cpp2
-rw-r--r--src/mame/drivers/kaneko16.cpp30
-rw-r--r--src/mame/drivers/kangaroo.cpp4
-rw-r--r--src/mame/drivers/karnov.cpp4
-rw-r--r--src/mame/drivers/kaypro.cpp10
-rw-r--r--src/mame/drivers/kchamp.cpp10
-rw-r--r--src/mame/drivers/kickgoal.cpp4
-rw-r--r--src/mame/drivers/kingobox.cpp4
-rw-r--r--src/mame/drivers/konamigq.cpp12
-rw-r--r--src/mame/drivers/konamigx.cpp28
-rw-r--r--src/mame/drivers/konmedal.cpp6
-rw-r--r--src/mame/drivers/ksys573.cpp6
-rw-r--r--src/mame/drivers/ladyfrog.cpp2
-rw-r--r--src/mame/drivers/lasso.cpp12
-rw-r--r--src/mame/drivers/lastbank.cpp6
-rw-r--r--src/mame/drivers/lastduel.cpp14
-rw-r--r--src/mame/drivers/legionna.cpp12
-rw-r--r--src/mame/drivers/leland.cpp8
-rw-r--r--src/mame/drivers/liberate.cpp20
-rw-r--r--src/mame/drivers/llc.cpp6
-rw-r--r--src/mame/drivers/lsasquad.cpp12
-rw-r--r--src/mame/drivers/lvcards.cpp10
-rw-r--r--src/mame/drivers/lwings.cpp6
-rw-r--r--src/mame/drivers/m10.cpp16
-rw-r--r--src/mame/drivers/m62.cpp26
-rw-r--r--src/mame/drivers/m63.cpp24
-rw-r--r--src/mame/drivers/m72.cpp24
-rw-r--r--src/mame/drivers/m90.cpp4
-rw-r--r--src/mame/drivers/m92.cpp8
-rw-r--r--src/mame/drivers/mac.cpp48
-rw-r--r--src/mame/drivers/mac128.cpp6
-rw-r--r--src/mame/drivers/macs.cpp12
-rw-r--r--src/mame/drivers/magicfly.cpp6
-rw-r--r--src/mame/drivers/mappy.cpp6
-rw-r--r--src/mame/drivers/mbee.cpp20
-rw-r--r--src/mame/drivers/mc1502.cpp8
-rw-r--r--src/mame/drivers/mcb216.cpp12
-rw-r--r--src/mame/drivers/mcr3.cpp2
-rw-r--r--src/mame/drivers/mcr68.cpp6
-rw-r--r--src/mame/drivers/megadriv.cpp56
-rw-r--r--src/mame/drivers/megadriv_acbl.cpp8
-rw-r--r--src/mame/drivers/megadriv_rad.cpp24
-rw-r--r--src/mame/drivers/megaplay.cpp8
-rw-r--r--src/mame/drivers/megasys1.cpp22
-rw-r--r--src/mame/drivers/megatech.cpp8
-rw-r--r--src/mame/drivers/mephisto.cpp6
-rw-r--r--src/mame/drivers/merit.cpp6
-rw-r--r--src/mame/drivers/meritm.cpp29
-rw-r--r--src/mame/drivers/metro.cpp4
-rw-r--r--src/mame/drivers/micral.cpp6
-rw-r--r--src/mame/drivers/microvsn.cpp12
-rw-r--r--src/mame/drivers/midtunit.cpp4
-rw-r--r--src/mame/drivers/midvunit.cpp4
-rw-r--r--src/mame/drivers/midwunit.cpp4
-rw-r--r--src/mame/drivers/midxunit.cpp4
-rw-r--r--src/mame/drivers/midyunit.cpp18
-rw-r--r--src/mame/drivers/midzeus.cpp14
-rw-r--r--src/mame/drivers/mikrosha.cpp8
-rw-r--r--src/mame/drivers/missb2.cpp14
-rw-r--r--src/mame/drivers/mitchell.cpp26
-rw-r--r--src/mame/drivers/mmd1.cpp12
-rw-r--r--src/mame/drivers/model1.cpp8
-rw-r--r--src/mame/drivers/model2.cpp60
-rw-r--r--src/mame/drivers/model3.cpp32
-rw-r--r--src/mame/drivers/moo.cpp26
-rw-r--r--src/mame/drivers/mpu4dealem.cpp8
-rw-r--r--src/mame/drivers/mpu4vid.cpp18
-rw-r--r--src/mame/drivers/mquake.cpp2
-rw-r--r--src/mame/drivers/ms32.cpp2
-rw-r--r--src/mame/drivers/msisaac.cpp2
-rw-r--r--src/mame/drivers/mtx.cpp4
-rw-r--r--src/mame/drivers/multigam.cpp18
-rw-r--r--src/mame/drivers/mw8080bw.cpp60
-rw-r--r--src/mame/drivers/mystwarr.cpp70
-rw-r--r--src/mame/drivers/mz700.cpp5
-rw-r--r--src/mame/drivers/n64.cpp6
-rw-r--r--src/mame/drivers/n8080.cpp26
-rw-r--r--src/mame/drivers/namcofl.cpp10
-rw-r--r--src/mame/drivers/namconb1.cpp10
-rw-r--r--src/mame/drivers/namcos10.cpp8
-rw-r--r--src/mame/drivers/namcos2.cpp38
-rw-r--r--src/mame/drivers/namcos21.cpp22
-rw-r--r--src/mame/drivers/namcos22.cpp4
-rw-r--r--src/mame/drivers/namcos23.cpp16
-rw-r--r--src/mame/drivers/naomi.cpp6
-rw-r--r--src/mame/drivers/nbmj8688.cpp12
-rw-r--r--src/mame/drivers/nbmj8891.cpp14
-rw-r--r--src/mame/drivers/nbmj9195.cpp4
-rw-r--r--src/mame/drivers/nc.cpp8
-rw-r--r--src/mame/drivers/neoprint.cpp6
-rw-r--r--src/mame/drivers/nes.cpp16
-rw-r--r--src/mame/drivers/ninjakd2.cpp16
-rw-r--r--src/mame/drivers/niyanpai.cpp4
-rw-r--r--src/mame/drivers/nmk16.cpp50
-rw-r--r--src/mame/drivers/nova2001.cpp12
-rw-r--r--src/mame/drivers/novag6502.cpp6
-rw-r--r--src/mame/drivers/novagmcs48.cpp6
-rw-r--r--src/mame/drivers/nycaptor.cpp2
-rw-r--r--src/mame/drivers/ojankohs.cpp30
-rw-r--r--src/mame/drivers/onyx.cpp8
-rw-r--r--src/mame/drivers/opwolf.cpp4
-rw-r--r--src/mame/drivers/orion.cpp16
-rw-r--r--src/mame/drivers/p8k.cpp6
-rw-r--r--src/mame/drivers/pacman.cpp30
-rw-r--r--src/mame/drivers/partner.cpp2
-rw-r--r--src/mame/drivers/pasopia7.cpp8
-rw-r--r--src/mame/drivers/pc6001.cpp4
-rw-r--r--src/mame/drivers/pc8801.cpp567
-rw-r--r--src/mame/drivers/pc9801.cpp56
-rw-r--r--src/mame/drivers/pce.cpp8
-rw-r--r--src/mame/drivers/pdp11.cpp12
-rw-r--r--src/mame/drivers/pengo.cpp4
-rw-r--r--src/mame/drivers/pentagon.cpp12
-rw-r--r--src/mame/drivers/pet.cpp72
-rw-r--r--src/mame/drivers/pgm.cpp10
-rw-r--r--src/mame/drivers/phoenix.cpp10
-rw-r--r--src/mame/drivers/pipedrm.cpp20
-rw-r--r--src/mame/drivers/piratesh.cpp22
-rw-r--r--src/mame/drivers/playch10.cpp4
-rw-r--r--src/mame/drivers/playmark.cpp46
-rw-r--r--src/mame/drivers/pocketc.cpp2
-rw-r--r--src/mame/drivers/poisk1.cpp12
-rw-r--r--src/mame/drivers/polepos.cpp10
-rw-r--r--src/mame/drivers/powerbal.cpp30
-rw-r--r--src/mame/drivers/powerins.cpp4
-rw-r--r--src/mame/drivers/primo.cpp8
-rw-r--r--src/mame/drivers/psikyo.cpp8
-rw-r--r--src/mame/drivers/psx.cpp2
-rw-r--r--src/mame/drivers/psychic5.cpp16
-rw-r--r--src/mame/drivers/puckpkmn.cpp2
-rw-r--r--src/mame/drivers/pulsar.cpp6
-rw-r--r--src/mame/drivers/punchout.cpp6
-rw-r--r--src/mame/drivers/qdrmfgp.cpp14
-rw-r--r--src/mame/drivers/qix.cpp2
-rw-r--r--src/mame/drivers/quasar.cpp14
-rw-r--r--src/mame/drivers/r2dx_v33.cpp16
-rw-r--r--src/mame/drivers/radio86.cpp2
-rw-r--r--src/mame/drivers/raiden.cpp2
-rw-r--r--src/mame/drivers/raiden2.cpp22
-rw-r--r--src/mame/drivers/rallyx.cpp16
-rw-r--r--src/mame/drivers/ravens.cpp6
-rw-r--r--src/mame/drivers/rbisland.cpp2
-rw-r--r--src/mame/drivers/rc702.cpp6
-rw-r--r--src/mame/drivers/rd100.cpp6
-rw-r--r--src/mame/drivers/rm380z.cpp2
-rw-r--r--src/mame/drivers/rohga.cpp4
-rw-r--r--src/mame/drivers/route16.cpp8
-rw-r--r--src/mame/drivers/rpunch.cpp6
-rw-r--r--src/mame/drivers/runaway.cpp2
-rw-r--r--src/mame/drivers/s11.cpp4
-rw-r--r--src/mame/drivers/s11a.cpp6
-rw-r--r--src/mame/drivers/s11b.cpp4
-rw-r--r--src/mame/drivers/s11c.cpp4
-rw-r--r--src/mame/drivers/s3.cpp12
-rw-r--r--src/mame/drivers/s4.cpp12
-rw-r--r--src/mame/drivers/s6.cpp6
-rw-r--r--src/mame/drivers/s6a.cpp6
-rw-r--r--src/mame/drivers/s7.cpp6
-rw-r--r--src/mame/drivers/s8.cpp6
-rw-r--r--src/mame/drivers/s8a.cpp6
-rw-r--r--src/mame/drivers/s9.cpp6
-rw-r--r--src/mame/drivers/sangho.cpp12
-rw-r--r--src/mame/drivers/sapi1.cpp14
-rw-r--r--src/mame/drivers/saturn.cpp14
-rw-r--r--src/mame/drivers/sauro.cpp4
-rw-r--r--src/mame/drivers/sbrain.cpp6
-rw-r--r--src/mame/drivers/scobra.cpp18
-rw-r--r--src/mame/drivers/scorpion.cpp13
-rw-r--r--src/mame/drivers/scramble.cpp26
-rw-r--r--src/mame/drivers/scregg.cpp16
-rw-r--r--src/mame/drivers/segac2.cpp20
-rw-r--r--src/mame/drivers/segapico.cpp20
-rw-r--r--src/mame/drivers/seibuspi.cpp12
-rw-r--r--src/mame/drivers/seicupbl.cpp16
-rw-r--r--src/mame/drivers/selz80.cpp12
-rw-r--r--src/mame/drivers/seta.cpp109
-rw-r--r--src/mame/drivers/seta2.cpp20
-rw-r--r--src/mame/drivers/shangkid.cpp6
-rw-r--r--src/mame/drivers/sigmab98.cpp18
-rw-r--r--src/mame/drivers/simple_st0016.cpp2
-rw-r--r--src/mame/drivers/slapfght.cpp6
-rw-r--r--src/mame/drivers/sms.cpp28
-rw-r--r--src/mame/drivers/sms_bootleg.cpp4
-rw-r--r--src/mame/drivers/smsmcorp.cpp6
-rw-r--r--src/mame/drivers/snesb.cpp6
-rw-r--r--src/mame/drivers/snk.cpp20
-rw-r--r--src/mame/drivers/snk6502.cpp22
-rw-r--r--src/mame/drivers/snk68.cpp2
-rw-r--r--src/mame/drivers/snookr10.cpp4
-rw-r--r--src/mame/drivers/snowbros.cpp8
-rw-r--r--src/mame/drivers/sorcerer.cpp2
-rw-r--r--src/mame/drivers/spbactn.cpp4
-rw-r--r--src/mame/drivers/spc1500.cpp6
-rw-r--r--src/mame/drivers/spec128.cpp8
-rw-r--r--src/mame/drivers/special.cpp16
-rw-r--r--src/mame/drivers/specpls3.cpp6
-rw-r--r--src/mame/drivers/spectrum.cpp6
-rw-r--r--src/mame/drivers/speglsht.cpp14
-rw-r--r--src/mame/drivers/splash.cpp14
-rw-r--r--src/mame/drivers/spyhuntertec.cpp2
-rw-r--r--src/mame/drivers/srmp2.cpp16
-rw-r--r--src/mame/drivers/sslam.cpp4
-rw-r--r--src/mame/drivers/ssv.cpp4
-rw-r--r--src/mame/drivers/stargame.cpp6
-rw-r--r--src/mame/drivers/statriv2.cpp6
-rw-r--r--src/mame/drivers/stv.cpp10
-rw-r--r--src/mame/drivers/subsino.cpp24
-rw-r--r--src/mame/drivers/subsino2.cpp12
-rw-r--r--src/mame/drivers/suna16.cpp20
-rw-r--r--src/mame/drivers/suna8.cpp18
-rw-r--r--src/mame/drivers/super80.cpp6
-rw-r--r--src/mame/drivers/supercrd.cpp6
-rw-r--r--src/mame/drivers/superqix.cpp20
-rw-r--r--src/mame/drivers/suprnova.cpp20
-rw-r--r--src/mame/drivers/svision.cpp4
-rw-r--r--src/mame/drivers/swyft.cpp18
-rw-r--r--src/mame/drivers/system1.cpp6
-rw-r--r--src/mame/drivers/system16.cpp22
-rw-r--r--src/mame/drivers/taito_b.cpp36
-rw-r--r--src/mame/drivers/taito_f2.cpp72
-rw-r--r--src/mame/drivers/taito_f3.cpp8
-rw-r--r--src/mame/drivers/taito_l.cpp26
-rw-r--r--src/mame/drivers/taito_x.cpp18
-rw-r--r--src/mame/drivers/taito_z.cpp66
-rw-r--r--src/mame/drivers/tandy1t.cpp6
-rw-r--r--src/mame/drivers/tasman.cpp6
-rw-r--r--src/mame/drivers/tatsumi.cpp14
-rw-r--r--src/mame/drivers/tavernie.cpp12
-rw-r--r--src/mame/drivers/tecmo16.cpp4
-rw-r--r--src/mame/drivers/tetrisp2.cpp14
-rw-r--r--src/mame/drivers/thedealr.cpp12
-rw-r--r--src/mame/drivers/thomson.cpp34
-rw-r--r--src/mame/drivers/ti85.cpp20
-rw-r--r--src/mame/drivers/ti990_4.cpp8
-rw-r--r--src/mame/drivers/ti99_2.cpp18
-rw-r--r--src/mame/drivers/ti99_4p.cpp4
-rw-r--r--src/mame/drivers/ti99_4x.cpp42
-rw-r--r--src/mame/drivers/ti99_8.cpp12
-rw-r--r--src/mame/drivers/tiamc1.cpp2
-rw-r--r--src/mame/drivers/tickee.cpp22
-rw-r--r--src/mame/drivers/timeplt.cpp4
-rw-r--r--src/mame/drivers/timex.cpp16
-rw-r--r--src/mame/drivers/tm990189.cpp26
-rw-r--r--src/mame/drivers/tmnt.cpp76
-rw-r--r--src/mame/drivers/toaplan1.cpp36
-rw-r--r--src/mame/drivers/toaplan2.cpp68
-rw-r--r--src/mame/drivers/tosh1000.cpp6
-rw-r--r--src/mame/drivers/trackfld.cpp22
-rw-r--r--src/mame/drivers/trs80.cpp6
-rw-r--r--src/mame/drivers/trvquest.cpp8
-rw-r--r--src/mame/drivers/ts802.cpp6
-rw-r--r--src/mame/drivers/tsamurai.cpp20
-rw-r--r--src/mame/drivers/tubep.cpp16
-rw-r--r--src/mame/drivers/tumbleb.cpp52
-rw-r--r--src/mame/drivers/turbo.cpp10
-rw-r--r--src/mame/drivers/twincobr.cpp4
-rw-r--r--src/mame/drivers/tx1.cpp12
-rw-r--r--src/mame/drivers/upscope.cpp2
-rw-r--r--src/mame/drivers/ut88.cpp8
-rw-r--r--src/mame/drivers/v6809.cpp6
-rw-r--r--src/mame/drivers/vcombat.cpp12
-rw-r--r--src/mame/drivers/vegaeo.cpp6
-rw-r--r--src/mame/drivers/vicdual.cpp18
-rw-r--r--src/mame/drivers/videopkr.cpp8
-rw-r--r--src/mame/drivers/vlc.cpp6
-rw-r--r--src/mame/drivers/votrtnt.cpp6
-rw-r--r--src/mame/drivers/vsnes.cpp12
-rw-r--r--src/mame/drivers/vtech2.cpp4
-rw-r--r--src/mame/drivers/wallc.cpp12
-rw-r--r--src/mame/drivers/wardner.cpp4
-rw-r--r--src/mame/drivers/warpwarp.cpp8
-rw-r--r--src/mame/drivers/wc90.cpp2
-rw-r--r--src/mame/drivers/wecleman.cpp24
-rw-r--r--src/mame/drivers/wgp.cpp2
-rw-r--r--src/mame/drivers/williams.cpp26
-rw-r--r--src/mame/drivers/wmg.cpp12
-rw-r--r--src/mame/drivers/wyvernf0.cpp18
-rw-r--r--src/mame/drivers/x1.cpp16
-rw-r--r--src/mame/drivers/x1twin.cpp6
-rw-r--r--src/mame/drivers/x68k.cpp2
-rw-r--r--src/mame/drivers/xmen.cpp2
-rw-r--r--src/mame/drivers/yunsun16.cpp8
-rw-r--r--src/mame/drivers/z80ne.cpp16
-rw-r--r--src/mame/drivers/zaxxon.cpp4
-rw-r--r--src/mame/drivers/zn.cpp124
-rw-r--r--src/mame/drivers/zr107.cpp12
-rw-r--r--src/mame/drivers/zwackery.cpp6
-rw-r--r--src/mame/includes/3do.h2
-rw-r--r--src/mame/includes/40love.h6
-rw-r--r--src/mame/includes/8080bw.h28
-rw-r--r--src/mame/includes/actfancr.h4
-rw-r--r--src/mame/includes/aerofgt.h20
-rw-r--r--src/mame/includes/alpha68k.h14
-rw-r--r--src/mame/includes/amiga.h4
-rw-r--r--src/mame/includes/ampoker2.h2
-rw-r--r--src/mame/includes/amstrad.h22
-rw-r--r--src/mame/includes/apollo.h4
-rw-r--r--src/mame/includes/apple2.h26
-rw-r--r--src/mame/includes/apple2gs.h10
-rw-r--r--src/mame/includes/apple3.h4
-rw-r--r--src/mame/includes/argus.h12
-rw-r--r--src/mame/includes/armedf.h8
-rw-r--r--src/mame/includes/astrocde.h2
-rw-r--r--src/mame/includes/astrof.h10
-rw-r--r--src/mame/includes/atarig1.h6
-rw-r--r--src/mame/includes/atarig42.h2
-rw-r--r--src/mame/includes/atarigt.h6
-rw-r--r--src/mame/includes/atarisy1.h6
-rw-r--r--src/mame/includes/atarisy2.h6
-rw-r--r--src/mame/includes/badlands.h6
-rw-r--r--src/mame/includes/battlex.h2
-rw-r--r--src/mame/includes/bbc.h32
-rw-r--r--src/mame/includes/bbusters.h4
-rw-r--r--src/mame/includes/bking.h6
-rw-r--r--src/mame/includes/blmbycar.h8
-rw-r--r--src/mame/includes/blstroid.h2
-rw-r--r--src/mame/includes/blueprnt.h2
-rw-r--r--src/mame/includes/bosco.h2
-rw-r--r--src/mame/includes/btime.h14
-rw-r--r--src/mame/includes/bublbobl.h21
-rw-r--r--src/mame/includes/cabal.h4
-rw-r--r--src/mame/includes/cave.h16
-rw-r--r--src/mame/includes/cclimber.h6
-rw-r--r--src/mame/includes/cdi.h12
-rw-r--r--src/mame/includes/centiped.h14
-rw-r--r--src/mame/includes/champbas.h4
-rw-r--r--src/mame/includes/cinemat.h12
-rw-r--r--src/mame/includes/clshroad.h4
-rw-r--r--src/mame/includes/cninja.h8
-rw-r--r--src/mame/includes/combatsc.h8
-rw-r--r--src/mame/includes/coolpool.h4
-rw-r--r--src/mame/includes/cosmic.h6
-rw-r--r--src/mame/includes/cps1.h40
-rw-r--r--src/mame/includes/cvs.h6
-rw-r--r--src/mame/includes/dc.h2
-rw-r--r--src/mame/includes/ddragon.h6
-rw-r--r--src/mame/includes/ddragon3.h2
-rw-r--r--src/mame/includes/dec0.h6
-rw-r--r--src/mame/includes/dec8.h16
-rw-r--r--src/mame/includes/deco32.h8
-rw-r--r--src/mame/includes/deco_mlc.h4
-rw-r--r--src/mame/includes/decocass.h62
-rw-r--r--src/mame/includes/digdug.h2
-rw-r--r--src/mame/includes/divebomb.h6
-rw-r--r--src/mame/includes/dkong.h22
-rw-r--r--src/mame/includes/docastle.h2
-rw-r--r--src/mame/includes/dynax.h32
-rw-r--r--src/mame/includes/eolith.h4
-rw-r--r--src/mame/includes/epos.h4
-rw-r--r--src/mame/includes/eprom.h4
-rw-r--r--src/mame/includes/equites.h4
-rw-r--r--src/mame/includes/espial.h2
-rw-r--r--src/mame/includes/exidy.h2
-rw-r--r--src/mame/includes/f1gp.h12
-rw-r--r--src/mame/includes/fantland.h8
-rw-r--r--src/mame/includes/fastfred.h6
-rw-r--r--src/mame/includes/firetrk.h4
-rw-r--r--src/mame/includes/flstory.h12
-rw-r--r--src/mame/includes/fm7.h8
-rw-r--r--src/mame/includes/freekick.h10
-rw-r--r--src/mame/includes/fromanc2.h10
-rw-r--r--src/mame/includes/fromance.h12
-rw-r--r--src/mame/includes/funworld.h10
-rw-r--r--src/mame/includes/gaelco.h4
-rw-r--r--src/mame/includes/gaelco2.h4
-rw-r--r--src/mame/includes/gaelco3d.h4
-rw-r--r--src/mame/includes/gaiden.h10
-rw-r--r--src/mame/includes/galaga.h6
-rw-r--r--src/mame/includes/galaxia.h4
-rw-r--r--src/mame/includes/galaxold.h56
-rw-r--r--src/mame/includes/galaxy.h4
-rw-r--r--src/mame/includes/galivan.h12
-rw-r--r--src/mame/includes/galspnbl.h2
-rw-r--r--src/mame/includes/gameplan.h16
-rw-r--r--src/mame/includes/gb.h12
-rw-r--r--src/mame/includes/gberet.h6
-rw-r--r--src/mame/includes/gladiatr.h8
-rw-r--r--src/mame/includes/goldstar.h12
-rw-r--r--src/mame/includes/gottlieb.h2
-rw-r--r--src/mame/includes/hec2hrp.h14
-rw-r--r--src/mame/includes/hitme.h2
-rw-r--r--src/mame/includes/hnayayoi.h2
-rw-r--r--src/mame/includes/holeland.h4
-rw-r--r--src/mame/includes/homedata.h22
-rw-r--r--src/mame/includes/hp48.h12
-rw-r--r--src/mame/includes/hyperspt.h2
-rw-r--r--src/mame/includes/ironhors.h2
-rw-r--r--src/mame/includes/itech32.h2
-rw-r--r--src/mame/includes/itech8.h4
-rw-r--r--src/mame/includes/jack.h10
-rw-r--r--src/mame/includes/jpmimpct.h10
-rw-r--r--src/mame/includes/kaneko16.h8
-rw-r--r--src/mame/includes/kangaroo.h2
-rw-r--r--src/mame/includes/karnov.h4
-rw-r--r--src/mame/includes/kaypro.h6
-rw-r--r--src/mame/includes/kchamp.h4
-rw-r--r--src/mame/includes/kickgoal.h4
-rw-r--r--src/mame/includes/kingobox.h4
-rw-r--r--src/mame/includes/konamigx.h24
-rw-r--r--src/mame/includes/ladyfrog.h4
-rw-r--r--src/mame/includes/lasso.h8
-rw-r--r--src/mame/includes/lastduel.h8
-rw-r--r--src/mame/includes/legionna.h12
-rw-r--r--src/mame/includes/leland.h14
-rw-r--r--src/mame/includes/liberate.h12
-rw-r--r--src/mame/includes/llc.h6
-rw-r--r--src/mame/includes/lsasquad.h3
-rw-r--r--src/mame/includes/lvcards.h4
-rw-r--r--src/mame/includes/lwings.h6
-rw-r--r--src/mame/includes/m10.h8
-rw-r--r--src/mame/includes/m62.h22
-rw-r--r--src/mame/includes/m72.h18
-rw-r--r--src/mame/includes/m90.h4
-rw-r--r--src/mame/includes/m92.h6
-rw-r--r--src/mame/includes/mac.h20
-rw-r--r--src/mame/includes/madalien.h2
-rw-r--r--src/mame/includes/mappy.h6
-rw-r--r--src/mame/includes/mbee.h16
-rw-r--r--src/mame/includes/mc1502.h4
-rw-r--r--src/mame/includes/mcr3.h2
-rw-r--r--src/mame/includes/mcr68.h6
-rw-r--r--src/mame/includes/megadriv.h14
-rw-r--r--src/mame/includes/megadriv_acbl.h4
-rw-r--r--src/mame/includes/megadriv_rad.h6
-rw-r--r--src/mame/includes/megasys1.h6
-rw-r--r--src/mame/includes/metro.h4
-rw-r--r--src/mame/includes/midtunit.h4
-rw-r--r--src/mame/includes/midvunit.h2
-rw-r--r--src/mame/includes/midwunit.h4
-rw-r--r--src/mame/includes/midxunit.h4
-rw-r--r--src/mame/includes/midyunit.h12
-rw-r--r--src/mame/includes/midzeus.h6
-rw-r--r--src/mame/includes/mitchell.h6
-rw-r--r--src/mame/includes/model1.h6
-rw-r--r--src/mame/includes/model2.h24
-rw-r--r--src/mame/includes/model3.h16
-rw-r--r--src/mame/includes/moo.h8
-rw-r--r--src/mame/includes/mpu4.h18
-rw-r--r--src/mame/includes/ms32.h2
-rw-r--r--src/mame/includes/mtx.h4
-rw-r--r--src/mame/includes/mw8080bw.h24
-rw-r--r--src/mame/includes/mystston.h4
-rw-r--r--src/mame/includes/mystwarr.h26
-rw-r--r--src/mame/includes/mz700.h4
-rw-r--r--src/mame/includes/n8080.h28
-rw-r--r--src/mame/includes/namcofl.h6
-rw-r--r--src/mame/includes/namconb1.h6
-rw-r--r--src/mame/includes/namcos2.h4
-rw-r--r--src/mame/includes/namcos21.h4
-rw-r--r--src/mame/includes/namcos22.h2
-rw-r--r--src/mame/includes/naomi.h2
-rw-r--r--src/mame/includes/nbmj8688.h12
-rw-r--r--src/mame/includes/nbmj8891.h2
-rw-r--r--src/mame/includes/nbmj9195.h4
-rw-r--r--src/mame/includes/nc.h4
-rw-r--r--src/mame/includes/nes.h8
-rw-r--r--src/mame/includes/ninjakd2.h12
-rw-r--r--src/mame/includes/niyanpai.h2
-rw-r--r--src/mame/includes/nmk16.h20
-rw-r--r--src/mame/includes/nova2001.h10
-rw-r--r--src/mame/includes/ojankohs.h16
-rw-r--r--src/mame/includes/opwolf.h2
-rw-r--r--src/mame/includes/orion.h12
-rw-r--r--src/mame/includes/pacman.h28
-rw-r--r--src/mame/includes/partner.h4
-rw-r--r--src/mame/includes/pc1251.h2
-rw-r--r--src/mame/includes/pc9801.h20
-rw-r--r--src/mame/includes/pce.h4
-rw-r--r--src/mame/includes/pgm.h6
-rw-r--r--src/mame/includes/phoenix.h4
-rw-r--r--src/mame/includes/playch10.h4
-rw-r--r--src/mame/includes/playmark.h18
-rw-r--r--src/mame/includes/polepos.h4
-rw-r--r--src/mame/includes/powerins.h2
-rw-r--r--src/mame/includes/primo.h2
-rw-r--r--src/mame/includes/psikyo.h4
-rw-r--r--src/mame/includes/psychic5.h10
-rw-r--r--src/mame/includes/punchout.h4
-rw-r--r--src/mame/includes/qdrmfgp.h8
-rw-r--r--src/mame/includes/qix.h4
-rw-r--r--src/mame/includes/quasar.h6
-rw-r--r--src/mame/includes/radio86.h2
-rw-r--r--src/mame/includes/raiden.h2
-rw-r--r--src/mame/includes/raiden2.h10
-rw-r--r--src/mame/includes/rallyx.h10
-rw-r--r--src/mame/includes/rbisland.h2
-rw-r--r--src/mame/includes/redalert.h8
-rw-r--r--src/mame/includes/rm380z.h2
-rw-r--r--src/mame/includes/rohga.h2
-rw-r--r--src/mame/includes/route16.h4
-rw-r--r--src/mame/includes/rpunch.h4
-rw-r--r--src/mame/includes/runaway.h2
-rw-r--r--src/mame/includes/s11.h2
-rw-r--r--src/mame/includes/s11a.h2
-rw-r--r--src/mame/includes/s11b.h2
-rw-r--r--src/mame/includes/s11c.h2
-rw-r--r--src/mame/includes/saturn.h2
-rw-r--r--src/mame/includes/sauro.h4
-rw-r--r--src/mame/includes/scramble.h4
-rw-r--r--src/mame/includes/seibuspi.h8
-rw-r--r--src/mame/includes/seta.h26
-rw-r--r--src/mame/includes/seta2.h12
-rw-r--r--src/mame/includes/shangkid.h4
-rw-r--r--src/mame/includes/simple_st0016.h2
-rw-r--r--src/mame/includes/slapfght.h4
-rw-r--r--src/mame/includes/sms.h12
-rw-r--r--src/mame/includes/snk.h24
-rw-r--r--src/mame/includes/snk6502.h14
-rw-r--r--src/mame/includes/snk68.h2
-rw-r--r--src/mame/includes/snookr10.h4
-rw-r--r--src/mame/includes/snowbros.h4
-rw-r--r--src/mame/includes/sorcerer.h2
-rw-r--r--src/mame/includes/spbactn.h4
-rw-r--r--src/mame/includes/special.h16
-rw-r--r--src/mame/includes/spectrum.h16
-rw-r--r--src/mame/includes/splash.h6
-rw-r--r--src/mame/includes/srmp2.h8
-rw-r--r--src/mame/includes/sslam.h4
-rw-r--r--src/mame/includes/ssv.h4
-rw-r--r--src/mame/includes/stv.h6
-rw-r--r--src/mame/includes/suna16.h8
-rw-r--r--src/mame/includes/suna8.h12
-rw-r--r--src/mame/includes/super80.h6
-rw-r--r--src/mame/includes/superqix.h10
-rw-r--r--src/mame/includes/suprnova.h10
-rw-r--r--src/mame/includes/svision.h2
-rw-r--r--src/mame/includes/system1.h6
-rw-r--r--src/mame/includes/system16.h14
-rw-r--r--src/mame/includes/taito_b.h14
-rw-r--r--src/mame/includes/taito_f2.h52
-rw-r--r--src/mame/includes/taito_f3.h4
-rw-r--r--src/mame/includes/taito_l.h16
-rw-r--r--src/mame/includes/taito_x.h2
-rw-r--r--src/mame/includes/taito_z.h8
-rw-r--r--src/mame/includes/tatsumi.h12
-rw-r--r--src/mame/includes/tecmo16.h4
-rw-r--r--src/mame/includes/tetrisp2.h10
-rw-r--r--src/mame/includes/thomson.h34
-rw-r--r--src/mame/includes/ti85.h14
-rw-r--r--src/mame/includes/tiamc1.h2
-rw-r--r--src/mame/includes/timeplt.h4
-rw-r--r--src/mame/includes/tmnt.h22
-rw-r--r--src/mame/includes/tnzs.h2
-rw-r--r--src/mame/includes/toaplan1.h12
-rw-r--r--src/mame/includes/toaplan2.h16
-rw-r--r--src/mame/includes/trackfld.h8
-rw-r--r--src/mame/includes/trs80.h6
-rw-r--r--src/mame/includes/tsamurai.h12
-rw-r--r--src/mame/includes/tubep.h8
-rw-r--r--src/mame/includes/tumbleb.h16
-rw-r--r--src/mame/includes/turbo.h6
-rw-r--r--src/mame/includes/twincobr.h4
-rw-r--r--src/mame/includes/tx1.h10
-rw-r--r--src/mame/includes/ut88.h8
-rw-r--r--src/mame/includes/vicdual.h10
-rw-r--r--src/mame/includes/vsnes.h16
-rw-r--r--src/mame/includes/vtech2.h4
-rw-r--r--src/mame/includes/warpwarp.h8
-rw-r--r--src/mame/includes/wc90.h2
-rw-r--r--src/mame/includes/wecleman.h12
-rw-r--r--src/mame/includes/wgp.h2
-rw-r--r--src/mame/includes/williams.h30
-rw-r--r--src/mame/includes/x1.h8
-rw-r--r--src/mame/includes/x68k.h2
-rw-r--r--src/mame/includes/xevious.h6
-rw-r--r--src/mame/includes/xmen.h2
-rw-r--r--src/mame/includes/yunsun16.h4
-rw-r--r--src/mame/includes/z80ne.h18
-rw-r--r--src/mame/includes/zaxxon.h4
-rw-r--r--src/mame/machine/3do.cpp2
-rw-r--r--src/mame/machine/aim65.cpp6
-rw-r--r--src/mame/machine/amstrad.cpp22
-rw-r--r--src/mame/machine/apollo.cpp4
-rw-r--r--src/mame/machine/apple2.cpp18
-rw-r--r--src/mame/machine/apple2gs.cpp12
-rw-r--r--src/mame/machine/apple3.cpp2
-rw-r--r--src/mame/machine/bbc.cpp40
-rw-r--r--src/mame/machine/dc.cpp2
-rw-r--r--src/mame/machine/decocass.cpp62
-rw-r--r--src/mame/machine/epos.cpp12
-rw-r--r--src/mame/machine/galaxold.cpp6
-rw-r--r--src/mame/machine/galaxy.cpp4
-rw-r--r--src/mame/machine/gb.cpp12
-rw-r--r--src/mame/machine/hp48.cpp12
-rw-r--r--src/mame/machine/itech8.cpp2
-rw-r--r--src/mame/machine/kaypro.cpp5
-rw-r--r--src/mame/machine/leland.cpp8
-rw-r--r--src/mame/machine/llc.cpp6
-rw-r--r--src/mame/machine/mbee.cpp10
-rw-r--r--src/mame/machine/mcr68.cpp4
-rw-r--r--src/mame/machine/megadriv.cpp18
-rw-r--r--src/mame/machine/midtunit.cpp2
-rw-r--r--src/mame/machine/midwunit.cpp2
-rw-r--r--src/mame/machine/midxunit.cpp2
-rw-r--r--src/mame/machine/midyunit.cpp2
-rw-r--r--src/mame/machine/model1.cpp2
-rw-r--r--src/mame/machine/mpu4.cpp28
-rw-r--r--src/mame/machine/mtx.cpp4
-rw-r--r--src/mame/machine/mw8080bw.cpp4
-rw-r--r--src/mame/machine/mz700.cpp4
-rw-r--r--src/mame/machine/namcos2.cpp4
-rw-r--r--src/mame/machine/orion.cpp10
-rw-r--r--src/mame/machine/partner.cpp2
-rw-r--r--src/mame/machine/pc1251.cpp2
-rw-r--r--src/mame/machine/pce.cpp4
-rw-r--r--src/mame/machine/pgmprot_igs025_igs012.cpp8
-rw-r--r--src/mame/machine/pgmprot_igs025_igs012.h2
-rw-r--r--src/mame/machine/pgmprot_igs025_igs022.cpp12
-rw-r--r--src/mame/machine/pgmprot_igs025_igs022.h4
-rw-r--r--src/mame/machine/pgmprot_igs025_igs028.cpp6
-rw-r--r--src/mame/machine/pgmprot_igs025_igs028.h2
-rw-r--r--src/mame/machine/pgmprot_igs027a_type1.cpp6
-rw-r--r--src/mame/machine/pgmprot_igs027a_type1.h2
-rw-r--r--src/mame/machine/pgmprot_igs027a_type2.cpp6
-rw-r--r--src/mame/machine/pgmprot_igs027a_type2.h2
-rw-r--r--src/mame/machine/pgmprot_igs027a_type3.cpp14
-rw-r--r--src/mame/machine/pgmprot_igs027a_type3.h4
-rw-r--r--src/mame/machine/playch10.cpp2
-rw-r--r--src/mame/machine/primo.cpp2
-rw-r--r--src/mame/machine/qix.cpp2
-rw-r--r--src/mame/machine/radio86.cpp2
-rw-r--r--src/mame/machine/rm380z.cpp2
-rw-r--r--src/mame/machine/scramble.cpp8
-rw-r--r--src/mame/machine/sms.cpp12
-rw-r--r--src/mame/machine/sorcerer.cpp2
-rw-r--r--src/mame/machine/special.cpp8
-rw-r--r--src/mame/machine/super80.cpp4
-rw-r--r--src/mame/machine/thomson.cpp32
-rw-r--r--src/mame/machine/ti85.cpp14
-rw-r--r--src/mame/machine/toaplan1.cpp14
-rw-r--r--src/mame/machine/trs80.cpp8
-rw-r--r--src/mame/machine/twincobr.cpp2
-rw-r--r--src/mame/machine/tx1.cpp4
-rw-r--r--src/mame/machine/ut88.cpp6
-rw-r--r--src/mame/machine/vsnes.cpp8
-rw-r--r--src/mame/machine/vtech2.cpp4
-rw-r--r--src/mame/machine/williams.cpp36
-rw-r--r--src/mame/machine/z80ne.cpp32
-rw-r--r--src/mame/video/8080bw.cpp2
-rw-r--r--src/mame/video/aerofgt.cpp10
-rw-r--r--src/mame/video/alpha68k.cpp2
-rw-r--r--src/mame/video/amiga.cpp6
-rw-r--r--src/mame/video/amigaaga.cpp4
-rw-r--r--src/mame/video/ampoker2.cpp2
-rw-r--r--src/mame/video/apple2.cpp8
-rw-r--r--src/mame/video/apple2gs.cpp2
-rw-r--r--src/mame/video/apple3.cpp2
-rw-r--r--src/mame/video/argus.cpp12
-rw-r--r--src/mame/video/armedf.cpp4
-rw-r--r--src/mame/video/astrocde.cpp2
-rw-r--r--src/mame/video/atarig1.cpp2
-rw-r--r--src/mame/video/atarig42.cpp2
-rw-r--r--src/mame/video/atarigt.cpp2
-rw-r--r--src/mame/video/atarisy1.cpp2
-rw-r--r--src/mame/video/atarisy2.cpp2
-rw-r--r--src/mame/video/badlands.cpp2
-rw-r--r--src/mame/video/bbc.cpp2
-rw-r--r--src/mame/video/bbusters.cpp4
-rw-r--r--src/mame/video/blstroid.cpp2
-rw-r--r--src/mame/video/blueprnt.cpp2
-rw-r--r--src/mame/video/bosco.cpp2
-rw-r--r--src/mame/video/btime.cpp4
-rw-r--r--src/mame/video/cave.cpp10
-rw-r--r--src/mame/video/cclimber.cpp6
-rw-r--r--src/mame/video/centiped.cpp8
-rw-r--r--src/mame/video/champbas.cpp4
-rw-r--r--src/mame/video/cinemat.cpp8
-rw-r--r--src/mame/video/clshroad.cpp4
-rw-r--r--src/mame/video/cninja.cpp4
-rw-r--r--src/mame/video/combatsc.cpp4
-rw-r--r--src/mame/video/cps1.cpp14
-rw-r--r--src/mame/video/cvs.cpp2
-rw-r--r--src/mame/video/ddragon.cpp2
-rw-r--r--src/mame/video/ddragon3.cpp2
-rw-r--r--src/mame/video/dec0.cpp4
-rw-r--r--src/mame/video/dec8.cpp16
-rw-r--r--src/mame/video/deco32.cpp13
-rw-r--r--src/mame/video/deco_mlc.cpp2
-rw-r--r--src/mame/video/digdug.cpp2
-rw-r--r--src/mame/video/divebomb.cpp2
-rw-r--r--src/mame/video/dkong.cpp6
-rw-r--r--src/mame/video/docastle.cpp2
-rw-r--r--src/mame/video/dynax.cpp30
-rw-r--r--src/mame/video/eolith.cpp2
-rw-r--r--src/mame/video/eprom.cpp4
-rw-r--r--src/mame/video/equites.cpp4
-rw-r--r--src/mame/video/espial.cpp2
-rw-r--r--src/mame/video/f1gp.cpp8
-rw-r--r--src/mame/video/fastfred.cpp4
-rw-r--r--src/mame/video/firetrk.cpp4
-rw-r--r--src/mame/video/flstory.cpp6
-rw-r--r--src/mame/video/fromanc2.cpp6
-rw-r--r--src/mame/video/fromance.cpp12
-rw-r--r--src/mame/video/funworld.cpp6
-rw-r--r--src/mame/video/gaelco.cpp4
-rw-r--r--src/mame/video/gaelco2.cpp4
-rw-r--r--src/mame/video/gaiden.cpp6
-rw-r--r--src/mame/video/galaga.cpp2
-rw-r--r--src/mame/video/galaxia.cpp4
-rw-r--r--src/mame/video/galaxold.cpp94
-rw-r--r--src/mame/video/galivan.cpp4
-rw-r--r--src/mame/video/galspnbl.cpp2
-rw-r--r--src/mame/video/gameplan.cpp28
-rw-r--r--src/mame/video/gberet.cpp2
-rw-r--r--src/mame/video/gladiatr.cpp4
-rw-r--r--src/mame/video/goldstar.cpp12
-rw-r--r--src/mame/video/gottlieb.cpp2
-rw-r--r--src/mame/video/hec2hrp.cpp2
-rw-r--r--src/mame/video/hnayayoi.cpp2
-rw-r--r--src/mame/video/holeland.cpp4
-rw-r--r--src/mame/video/homedata.cpp10
-rw-r--r--src/mame/video/hyperspt.cpp2
-rw-r--r--src/mame/video/ironhors.cpp2
-rw-r--r--src/mame/video/jack.cpp2
-rw-r--r--src/mame/video/jpmimpct.cpp2
-rw-r--r--src/mame/video/kaneko16.cpp10
-rw-r--r--src/mame/video/karnov.cpp4
-rw-r--r--src/mame/video/kaypro.cpp2
-rw-r--r--src/mame/video/kickgoal.cpp4
-rw-r--r--src/mame/video/kingobox.cpp4
-rw-r--r--src/mame/video/konamigx.cpp20
-rw-r--r--src/mame/video/ladyfrog.cpp8
-rw-r--r--src/mame/video/lasso.cpp4
-rw-r--r--src/mame/video/lastduel.cpp4
-rw-r--r--src/mame/video/legionna.cpp16
-rw-r--r--src/mame/video/leland.cpp8
-rw-r--r--src/mame/video/liberate.cpp8
-rw-r--r--src/mame/video/lwings.cpp17
-rw-r--r--src/mame/video/m10.cpp4
-rw-r--r--src/mame/video/m62.cpp20
-rw-r--r--src/mame/video/m72.cpp22
-rw-r--r--src/mame/video/m90.cpp4
-rw-r--r--src/mame/video/m92.cpp6
-rw-r--r--src/mame/video/mac.cpp18
-rw-r--r--src/mame/video/madalien.cpp4
-rw-r--r--src/mame/video/mappy.cpp6
-rw-r--r--src/mame/video/mbee.cpp6
-rw-r--r--src/mame/video/mcr3.cpp2
-rw-r--r--src/mame/video/mcr68.cpp2
-rw-r--r--src/mame/video/megasys1.cpp2
-rw-r--r--src/mame/video/metro.cpp4
-rw-r--r--src/mame/video/midtunit.cpp10
-rw-r--r--src/mame/video/midyunit.cpp30
-rw-r--r--src/mame/video/midzeus.cpp2
-rw-r--r--src/mame/video/mitchell.cpp2
-rw-r--r--src/mame/video/model1.cpp2
-rw-r--r--src/mame/video/moo.cpp4
-rw-r--r--src/mame/video/ms32.cpp2
-rw-r--r--src/mame/video/mystston.cpp8
-rw-r--r--src/mame/video/mystwarr.cpp12
-rw-r--r--src/mame/video/n8080.cpp12
-rw-r--r--src/mame/video/namcofl.cpp2
-rw-r--r--src/mame/video/namconb1.cpp4
-rw-r--r--src/mame/video/namcos21.cpp2
-rw-r--r--src/mame/video/nbmj8688.cpp12
-rw-r--r--src/mame/video/nbmj8891.cpp2
-rw-r--r--src/mame/video/nbmj9195.cpp4
-rw-r--r--src/mame/video/ninjakd2.cpp8
-rw-r--r--src/mame/video/nmk16.cpp22
-rw-r--r--src/mame/video/nova2001.cpp8
-rw-r--r--src/mame/video/ojankohs.cpp10
-rw-r--r--src/mame/video/orion.cpp2
-rw-r--r--src/mame/video/pacman.cpp12
-rw-r--r--src/mame/video/pgm.cpp2
-rw-r--r--src/mame/video/phoenix.cpp2
-rw-r--r--src/mame/video/playch10.cpp2
-rw-r--r--src/mame/video/playmark.cpp14
-rw-r--r--src/mame/video/polepos.cpp2
-rw-r--r--src/mame/video/psikyo.cpp6
-rw-r--r--src/mame/video/psychic5.cpp6
-rw-r--r--src/mame/video/punchout.cpp2
-rw-r--r--src/mame/video/qdrmfgp.cpp4
-rw-r--r--src/mame/video/qix.cpp4
-rw-r--r--src/mame/video/quasar.cpp2
-rw-r--r--src/mame/video/raiden.cpp2
-rw-r--r--src/mame/video/rallyx.cpp8
-rw-r--r--src/mame/video/rbisland.cpp2
-rw-r--r--src/mame/video/redalert.cpp14
-rw-r--r--src/mame/video/rohga.cpp2
-rw-r--r--src/mame/video/rpunch.cpp6
-rw-r--r--src/mame/video/runaway.cpp2
-rw-r--r--src/mame/video/sauro.cpp4
-rw-r--r--src/mame/video/seibuspi.cpp4
-rw-r--r--src/mame/video/seta.cpp30
-rw-r--r--src/mame/video/seta2.cpp6
-rw-r--r--src/mame/video/shangkid.cpp2
-rw-r--r--src/mame/video/slapfght.cpp4
-rw-r--r--src/mame/video/snk.cpp48
-rw-r--r--src/mame/video/snk6502.cpp8
-rw-r--r--src/mame/video/snk68.cpp2
-rw-r--r--src/mame/video/snookr10.cpp4
-rw-r--r--src/mame/video/spbactn.cpp6
-rw-r--r--src/mame/video/special.cpp9
-rw-r--r--src/mame/video/spectrum.cpp4
-rw-r--r--src/mame/video/sslam.cpp4
-rw-r--r--src/mame/video/ssv.cpp4
-rw-r--r--src/mame/video/suna8.cpp8
-rw-r--r--src/mame/video/super80.cpp2
-rw-r--r--src/mame/video/superqix.cpp4
-rw-r--r--src/mame/video/system1.cpp2
-rw-r--r--src/mame/video/system16.cpp20
-rw-r--r--src/mame/video/taito_b.cpp24
-rw-r--r--src/mame/video/taito_f2.cpp48
-rw-r--r--src/mame/video/taito_f3.cpp2
-rw-r--r--src/mame/video/taito_l.cpp2
-rw-r--r--src/mame/video/taito_z.cpp2
-rw-r--r--src/mame/video/tatsumi.cpp8
-rw-r--r--src/mame/video/tecmo16.cpp4
-rw-r--r--src/mame/video/tetrisp2.cpp15
-rw-r--r--src/mame/video/thomson.cpp2
-rw-r--r--src/mame/video/tiamc1.cpp2
-rw-r--r--src/mame/video/timeplt.cpp4
-rw-r--r--src/mame/video/timex.cpp2
-rw-r--r--src/mame/video/tmnt.cpp14
-rw-r--r--src/mame/video/toaplan1.cpp4
-rw-r--r--src/mame/video/toaplan2.cpp22
-rw-r--r--src/mame/video/trackfld.cpp6
-rw-r--r--src/mame/video/tsamurai.cpp8
-rw-r--r--src/mame/video/tumbleb.cpp10
-rw-r--r--src/mame/video/turbo.cpp4
-rw-r--r--src/mame/video/twincobr.cpp2
-rw-r--r--src/mame/video/tx1.cpp6
-rw-r--r--src/mame/video/ut88.cpp2
-rw-r--r--src/mame/video/warpwarp.cpp8
-rw-r--r--src/mame/video/wc90.cpp2
-rw-r--r--src/mame/video/wecleman.cpp4
-rw-r--r--src/mame/video/wgp.cpp2
-rw-r--r--src/mame/video/williams.cpp6
-rw-r--r--src/mame/video/x1.cpp2
-rw-r--r--src/mame/video/x68k.cpp2
-rw-r--r--src/mame/video/xevious.cpp2
-rw-r--r--src/mame/video/xmen.cpp2
-rw-r--r--src/mame/video/zaxxon.cpp4
1014 files changed, 6237 insertions, 6054 deletions
diff --git a/src/devices/video/stvvdp2.cpp b/src/devices/video/stvvdp2.cpp
index 453aec12aa4..7ea66ddac90 100644
--- a/src/devices/video/stvvdp2.cpp
+++ b/src/devices/video/stvvdp2.cpp
@@ -2251,7 +2251,7 @@ uint8_t saturn_state::stv_vdp2_is_rotation_applied(void)
RP.dx == _FIXED_1 &&
RP.dy == _FIXED_0 &&
RP.kx == _FIXED_1 &&
- RP.ky == _FIXED_1 &&
+ RP.ky == _FIXED_1 &&
STV_VDP2_RPMD < 2) // disable optimizations if roz mode is 2 or 3
{
return 0;
@@ -4449,7 +4449,7 @@ void saturn_state::stv_vdp2_check_tilemap(bitmap_rgb32 &bitmap, const rectangle
if ( stv2_current_tilemap.linescroll_enable ||
stv2_current_tilemap.vertical_linescroll_enable ||
- stv2_current_tilemap.linezoom_enable ||
+ stv2_current_tilemap.linezoom_enable ||
stv2_current_tilemap.vertical_cell_scroll_enable)
{
// check for vertical cell scroll enable (Sonic Jam)
@@ -4462,11 +4462,11 @@ void saturn_state::stv_vdp2_check_tilemap(bitmap_rgb32 &bitmap, const rectangle
int16_t base_scrollx, base_scrolly;
//uint32_t base_incx, base_incy;
int cur_char = 0;
-
+
base_mask = STV_VDP2_VRAMSZ ? 0x7ffff : 0x3ffff;
vcsc_address = (((STV_VDP2_VCSTAU << 16) | STV_VDP2_VCSTAL) & base_mask) * 2;
vcsc_address >>= 2;
-
+
base_offset = 0;
base_multiplier = 1;
// offset for both enabled
@@ -4475,26 +4475,26 @@ void saturn_state::stv_vdp2_check_tilemap(bitmap_rgb32 &bitmap, const rectangle
// NBG1
if(stv2_current_tilemap.layer_name & 1)
base_offset = 1;
-
+
base_multiplier = 2;
}
-
+
base_scrollx = stv2_current_tilemap.scrollx;
base_scrolly = stv2_current_tilemap.scrolly;
//base_incx = stv2_current_tilemap.incx;
//base_incy = stv2_current_tilemap.incy;
-
+
while(cur_char <= cliprect.max_x)
{
mycliprect.min_x = cur_char;
mycliprect.max_x = cur_char + 8 - 1;
-
+
uint32_t cur_address;
int16_t char_scroll;
-
+
cur_address = vcsc_address;
cur_address += ((cur_char >> 3) * base_multiplier) + base_offset;
-
+
char_scroll = m_vdp2_vram[ cur_address ] >> 16;
char_scroll &= 0x07ff;
if ( char_scroll & 0x0400 ) char_scroll |= 0xf800;
@@ -4504,7 +4504,7 @@ void saturn_state::stv_vdp2_check_tilemap(bitmap_rgb32 &bitmap, const rectangle
//stv2_current_tilemap.incy = base_incy;
stv_vdp2_check_tilemap_with_linescroll(bitmap, mycliprect);
-
+
// TODO: + 16 for tilemap and char size = 16?
cur_char += 8;
@@ -4512,10 +4512,10 @@ void saturn_state::stv_vdp2_check_tilemap(bitmap_rgb32 &bitmap, const rectangle
}
else
stv_vdp2_check_tilemap_with_linescroll(bitmap, cliprect);
-
+
return;
}
-
+
if (stv2_current_tilemap.bitmap_enable) // this layer is a bitmap
{
stv_vdp2_draw_basic_bitmap(bitmap, mycliprect);
@@ -5047,7 +5047,7 @@ inline bool saturn_state::stv_vdp2_roz_mode3_window(int x, int y, int rot_parame
uint8_t w1_enable = STV_VDP2_RPW1E;
uint8_t w0_area = STV_VDP2_RPW0A;
uint8_t w1_area = STV_VDP2_RPW1A;
-
+
if (w0_enable == 0 &&
w1_enable == 0)
return rot_parameter ^ 1;
@@ -6359,7 +6359,7 @@ int saturn_state::stv_vdp2_start ( void )
}
/* maybe we should move this to video/stv.c */
-void saturn_state::video_start_stv_vdp2()
+VIDEO_START_MEMBER(saturn_state,stv_vdp2)
{
int i;
m_screen->register_screen_bitmap(m_tmpbitmap);
@@ -6508,7 +6508,7 @@ void saturn_state::stv_vdp2_get_window0_coordinates(int *s_x, int *e_x, int *s_y
// double density makes the line window to fetch data every two lines
uint8_t interlace = (STV_VDP2_LSMD == 3);
uint32_t vram_data = m_vdp2_vram[(address >> 2)+(y >> interlace)];
-
+
*s_x = (vram_data >> 16) & 0x3ff;
*e_x = (vram_data & 0x3ff);
}
@@ -6568,7 +6568,7 @@ void saturn_state::stv_vdp2_get_window1_coordinates(int *s_x, int *e_x, int *s_y
// double density makes the line window to fetch data every two lines
uint8_t interlace = (STV_VDP2_LSMD == 3);
uint32_t vram_data = m_vdp2_vram[(address >> 2)+(y >> interlace)];
-
+
*s_x = (vram_data >> 16) & 0x3ff;
*e_x = (vram_data & 0x3ff);
}
@@ -6865,7 +6865,7 @@ void saturn_state::draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect,
pix &= 0x7ff;
pix += color_offset_pal;
bitmap_line[x] = m_palette->pen( pix );
-
+
}
}
diff --git a/src/emu/driver.h b/src/emu/driver.h
index ce23c486e6c..5711012188e 100644
--- a/src/emu/driver.h
+++ b/src/emu/driver.h
@@ -22,11 +22,67 @@
// CONFIGURATION MACROS
//**************************************************************************
+// core machine callbacks
+#define MCFG_MACHINE_START_OVERRIDE(_class, _func) \
+ driver_device::static_set_callback(config.root_device(), driver_device::CB_MACHINE_START, driver_callback_delegate(&_class::MACHINE_START_NAME(_func), this));
+
+#define MCFG_MACHINE_RESET_OVERRIDE(_class, _func) \
+ driver_device::static_set_callback(config.root_device(), driver_device::CB_MACHINE_RESET, driver_callback_delegate(&_class::MACHINE_RESET_NAME(_func), this));
+
+#define MCFG_MACHINE_RESET_REMOVE() \
+ driver_device::static_set_callback(config.root_device(), driver_device::CB_MACHINE_RESET, driver_callback_delegate());
+
+// core sound callbacks
+#define MCFG_SOUND_START_OVERRIDE(_class, _func) \
+ driver_device::static_set_callback(config.root_device(), driver_device::CB_SOUND_START, driver_callback_delegate(&_class::SOUND_START_NAME(_func), this));
+
+#define MCFG_SOUND_RESET_OVERRIDE(_class, _func) \
+ driver_device::static_set_callback(config.root_device(), driver_device::CB_SOUND_RESET, driver_callback_delegate(&_class::SOUND_RESET_NAME(_func), this));
+
+
+// core video callbacks
+#define MCFG_VIDEO_START_OVERRIDE(_class, _func) \
+ driver_device::static_set_callback(config.root_device(), driver_device::CB_VIDEO_START, driver_callback_delegate(&_class::VIDEO_START_NAME(_func), this));
+
+#define MCFG_VIDEO_RESET_OVERRIDE(_class, _func) \
+ driver_device::static_set_callback(config.root_device(), driver_device::CB_VIDEO_RESET, driver_callback_delegate(&_class::VIDEO_RESET_NAME(_func), this));
+
+
//**************************************************************************
// OTHER MACROS
//**************************************************************************
+#define MACHINE_START_NAME(name) machine_start_##name
+#define MACHINE_START_CALL_MEMBER(name) MACHINE_START_NAME(name)()
+#define DECLARE_MACHINE_START(name) void MACHINE_START_NAME(name)() ATTR_COLD
+#define MACHINE_START_MEMBER(cls,name) void cls::MACHINE_START_NAME(name)()
+
+#define MACHINE_RESET_NAME(name) machine_reset_##name
+#define MACHINE_RESET_CALL_MEMBER(name) MACHINE_RESET_NAME(name)()
+#define DECLARE_MACHINE_RESET(name) void MACHINE_RESET_NAME(name)()
+#define MACHINE_RESET_MEMBER(cls,name) void cls::MACHINE_RESET_NAME(name)()
+
+#define SOUND_START_NAME(name) sound_start_##name
+#define DECLARE_SOUND_START(name) void SOUND_START_NAME(name)() ATTR_COLD
+#define SOUND_START_MEMBER(cls,name) void cls::SOUND_START_NAME(name)()
+
+#define SOUND_RESET_NAME(name) sound_reset_##name
+#define SOUND_RESET_CALL_MEMBER(name) SOUND_RESET_NAME(name)()
+#define DECLARE_SOUND_RESET(name) void SOUND_RESET_NAME(name)()
+#define SOUND_RESET_MEMBER(cls,name) void cls::SOUND_RESET_NAME(name)()
+
+#define VIDEO_START_NAME(name) video_start_##name
+#define VIDEO_START_CALL_MEMBER(name) VIDEO_START_NAME(name)()
+#define DECLARE_VIDEO_START(name) void VIDEO_START_NAME(name)() ATTR_COLD
+#define VIDEO_START_MEMBER(cls,name) void cls::VIDEO_START_NAME(name)()
+
+#define VIDEO_RESET_NAME(name) video_reset_##name
+#define VIDEO_RESET_CALL_MEMBER(name) VIDEO_RESET_NAME(name)()
+#define DECLARE_VIDEO_RESET(name) void VIDEO_RESET_NAME(name)()
+#define VIDEO_RESET_MEMBER(cls,name) void cls::VIDEO_RESET_NAME(name)()
+
+
//**************************************************************************
// TYPE DEFINITIONS
@@ -64,13 +120,6 @@ public:
// inline configuration helpers
void set_game_driver(const game_driver &game);
static void static_set_callback(device_t &device, callback_type type, driver_callback_delegate callback);
- static void set_machine_start_cb(machine_config &config, driver_callback_delegate callback) { static_set_callback(config.root_device(), CB_MACHINE_START, callback); }
- static void set_machine_reset_cb(machine_config &config, driver_callback_delegate callback) { static_set_callback(config.root_device(), CB_MACHINE_RESET, callback); }
- static void set_sound_start_cb(machine_config &config, driver_callback_delegate callback) { static_set_callback(config.root_device(), CB_SOUND_START, callback); }
- static void set_sound_reset_cb(machine_config &config, driver_callback_delegate callback) { static_set_callback(config.root_device(), CB_SOUND_RESET, callback); }
- static void set_video_start_cb(machine_config &config, driver_callback_delegate callback) { static_set_callback(config.root_device(), CB_VIDEO_START, callback); }
- static void set_video_reset_cb(machine_config &config, driver_callback_delegate callback) { static_set_callback(config.root_device(), CB_VIDEO_RESET, callback); }
- static void remove_machine_reset_cb(machine_config &config) { static_set_callback(config.root_device(), CB_MACHINE_RESET, driver_callback_delegate()); }
// dummy driver_init callback
void empty_init();
diff --git a/src/mame/audio/8080bw.cpp b/src/mame/audio/8080bw.cpp
index 6add055dafb..518d1db7a0b 100644
--- a/src/mame/audio/8080bw.cpp
+++ b/src/mame/audio/8080bw.cpp
@@ -15,7 +15,7 @@
/* */
/*******************************************************/
-void _8080bw_state::machine_start_extra_8080bw_sh()
+MACHINE_START_MEMBER(_8080bw_state,extra_8080bw_sh)
{
save_item(NAME(m_port_1_last_extra));
save_item(NAME(m_port_2_last_extra));
@@ -970,7 +970,7 @@ void _8080bw_state::schaser_reinit_555_time_remain()
}
-void _8080bw_state::machine_start_schaser_sh()
+MACHINE_START_MEMBER(_8080bw_state,schaser_sh)
{
save_item(NAME(m_schaser_explosion));
save_item(NAME(m_schaser_effect_555_is_low));
@@ -980,7 +980,7 @@ void _8080bw_state::machine_start_schaser_sh()
}
-void _8080bw_state::machine_reset_schaser_sh()
+MACHINE_RESET_MEMBER(_8080bw_state,schaser_sh)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
diff --git a/src/mame/audio/cinemat.cpp b/src/mame/audio/cinemat.cpp
index 18c49e95f85..171de55408f 100644
--- a/src/mame/audio/cinemat.cpp
+++ b/src/mame/audio/cinemat.cpp
@@ -1354,7 +1354,7 @@ WRITE8_MEMBER(cinemat_state::sound_output_w)
logerror("sound_output = %02X\n", data);
}
-void cinemat_state::sound_reset_demon()
+SOUND_RESET_MEMBER( cinemat_state, demon )
{
/* generic init */
sound_reset();
@@ -1408,7 +1408,7 @@ MACHINE_CONFIG_START(cinemat_state::demon_sound)
MCFG_DEVICE_ADD("ctc", Z80CTC, 3579545 /* same as "audiocpu" */)
MCFG_Z80CTC_INTR_CB(INPUTLINE("audiocpu", INPUT_LINE_IRQ0))
- set_sound_reset_cb(config, driver_callback_delegate(&sound_reset_demon, this));
+ MCFG_SOUND_RESET_OVERRIDE(cinemat_state, demon)
MCFG_DEVICE_MODIFY("outlatch")
MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(WRITELINE(*this, cinemat_state, demon_sound4_w))
@@ -1447,9 +1447,9 @@ WRITE8_MEMBER(cinemat_state::qb3_sound_fifo_w)
}
-void cinemat_state::sound_reset_qb3()
+SOUND_RESET_MEMBER( cinemat_state, qb3 )
{
- sound_reset_demon();
+ SOUND_RESET_CALL_MEMBER(demon);
/* this patch prevents the sound ROM from eating itself when command $0A is sent */
/* on a cube rotate */
@@ -1459,7 +1459,7 @@ void cinemat_state::sound_reset_qb3()
MACHINE_CONFIG_START(cinemat_state::qb3_sound)
demon_sound(config);
- set_sound_reset_cb(config, driver_callback_delegate(&sound_reset_qb3, this));
+ MCFG_SOUND_RESET_OVERRIDE(cinemat_state, qb3)
MCFG_DEVICE_MODIFY("outlatch")
MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(NOOP) // not mapped through LS259
diff --git a/src/mame/audio/mw8080bw.cpp b/src/mame/audio/mw8080bw.cpp
index 82676f0f53d..f4d9781f174 100644
--- a/src/mame/audio/mw8080bw.cpp
+++ b/src/mame/audio/mw8080bw.cpp
@@ -18,7 +18,7 @@
*
*************************************/
-void mw8080bw_state::sound_start_samples()
+SOUND_START_MEMBER( mw8080bw_state, samples )
{
/* setup for save states */
save_item(NAME(m_port_1_last));
@@ -145,7 +145,7 @@ static const char *const seawolf_sample_names[] =
};
MACHINE_CONFIG_START(mw8080bw_state::seawolf_audio)
- set_sound_start_cb(config, driver_callback_delegate(&sound_start_samples, this));
+ MCFG_SOUND_START_OVERRIDE(mw8080bw_state, samples)
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("samples", SAMPLES)
@@ -199,7 +199,7 @@ static const char *const gunfight_sample_names[] =
MACHINE_CONFIG_START(mw8080bw_state::gunfight_audio)
- set_sound_start_cb(config, driver_callback_delegate(&sound_start_samples, this));
+ MCFG_SOUND_START_OVERRIDE(mw8080bw_state, samples)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
@@ -1544,7 +1544,7 @@ static const char *const gmissile_sample_names[] =
};
MACHINE_CONFIG_START(mw8080bw_state::gmissile_audio)
- set_sound_start_cb(config, driver_callback_delegate(&sound_start_samples, this));
+ MCFG_SOUND_START_OVERRIDE(mw8080bw_state, samples)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
@@ -1638,7 +1638,7 @@ static const char *const m4_sample_names[] =
MACHINE_CONFIG_START(mw8080bw_state::m4_audio)
- set_sound_start_cb(config, driver_callback_delegate(&sound_start_samples, this));
+ MCFG_SOUND_START_OVERRIDE(mw8080bw_state, samples)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
@@ -1894,7 +1894,7 @@ static const char *const clowns_sample_names[] =
};
MACHINE_CONFIG_START(mw8080bw_state::clowns_audio)
- set_sound_start_cb(config, driver_callback_delegate(&sound_start_samples, this));
+ MCFG_SOUND_START_OVERRIDE(mw8080bw_state, samples)
SPEAKER(config, "mono").front_center();
@@ -3263,7 +3263,7 @@ static const char *const phantom2_sample_names[] =
};
MACHINE_CONFIG_START(mw8080bw_state::phantom2_audio)
- set_sound_start_cb(config, driver_callback_delegate(&sound_start_samples, this));
+ MCFG_SOUND_START_OVERRIDE(mw8080bw_state, samples)
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("samples", SAMPLES)
@@ -3507,7 +3507,7 @@ static const char *const invaders_sample_names[] =
/* left in for all games that hack into invaders samples for audio */
MACHINE_CONFIG_START(mw8080bw_state::invaders_samples_audio)
- set_sound_start_cb(config, driver_callback_delegate(&sound_start_samples, this));
+ MCFG_SOUND_START_OVERRIDE(mw8080bw_state, samples)
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/audio/n8080.cpp b/src/mame/audio/n8080.cpp
index 7720c28deb7..d311fe1e21d 100644
--- a/src/mame/audio/n8080.cpp
+++ b/src/mame/audio/n8080.cpp
@@ -377,7 +377,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(n8080_state::helifire_dac_volume_timer)
}
-void n8080_state::sound_start_spacefev()
+SOUND_START_MEMBER(n8080_state,spacefev)
{
m_sound_timer[0] = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(n8080_state::stop_mono_flop_callback), this));
m_sound_timer[1] = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(n8080_state::stop_mono_flop_callback), this));
@@ -390,7 +390,7 @@ void n8080_state::sound_start_spacefev()
save_item(NAME(m_mono_flop));
}
-void n8080_state::sound_reset_spacefev()
+SOUND_RESET_MEMBER(n8080_state,spacefev)
{
m_n8080_hardware = 1;
@@ -406,7 +406,7 @@ void n8080_state::sound_reset_spacefev()
}
-void n8080_state::sound_start_sheriff()
+SOUND_START_MEMBER(n8080_state,sheriff)
{
m_sound_timer[0] = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(n8080_state::stop_mono_flop_callback), this));
m_sound_timer[1] = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(n8080_state::stop_mono_flop_callback), this));
@@ -418,7 +418,7 @@ void n8080_state::sound_start_sheriff()
save_item(NAME(m_mono_flop));
}
-void n8080_state::sound_reset_sheriff()
+SOUND_RESET_MEMBER(n8080_state,sheriff)
{
m_n8080_hardware = 2;
@@ -433,7 +433,7 @@ void n8080_state::sound_reset_sheriff()
}
-void n8080_state::sound_start_helifire()
+SOUND_START_MEMBER(n8080_state,helifire)
{
save_item(NAME(m_prev_snd_data));
save_item(NAME(m_prev_sound_pins));
@@ -444,7 +444,7 @@ void n8080_state::sound_start_helifire()
save_item(NAME(m_helifire_dac_phase));
}
-void n8080_state::sound_reset_helifire()
+SOUND_RESET_MEMBER(n8080_state,helifire)
{
m_n8080_hardware = 3;
@@ -475,8 +475,8 @@ void n8080_state::helifire_sound_io_map(address_map &map)
MACHINE_CONFIG_START(n8080_state::spacefev_sound)
- set_sound_start_cb(config, driver_callback_delegate(&sound_start_spacefev, this));
- set_sound_reset_cb(config, driver_callback_delegate(&sound_reset_spacefev, this));
+ MCFG_SOUND_START_OVERRIDE(n8080_state,spacefev)
+ MCFG_SOUND_RESET_OVERRIDE(n8080_state,spacefev)
/* basic machine hardware */
MCFG_DEVICE_ADD("audiocpu", I8035, 6000000)
@@ -515,8 +515,8 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(n8080_state::sheriff_sound)
- set_sound_start_cb(config, driver_callback_delegate(&sound_start_sheriff, this));
- set_sound_reset_cb(config, driver_callback_delegate(&sound_reset_sheriff, this));
+ MCFG_SOUND_START_OVERRIDE(n8080_state,sheriff)
+ MCFG_SOUND_RESET_OVERRIDE(n8080_state,sheriff)
/* basic machine hardware */
MCFG_DEVICE_ADD("audiocpu", I8035, 6000000)
@@ -553,8 +553,8 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(n8080_state::helifire_sound)
- set_sound_start_cb(config, driver_callback_delegate(&sound_start_helifire, this));
- set_sound_reset_cb(config, driver_callback_delegate(&sound_reset_helifire, this));
+ MCFG_SOUND_START_OVERRIDE(n8080_state,helifire)
+ MCFG_SOUND_RESET_OVERRIDE(n8080_state,helifire)
/* basic machine hardware */
MCFG_DEVICE_ADD("audiocpu", I8035, 6000000)
diff --git a/src/mame/audio/redalert.cpp b/src/mame/audio/redalert.cpp
index 6ceb5de3a47..db7e75138cd 100644
--- a/src/mame/audio/redalert.cpp
+++ b/src/mame/audio/redalert.cpp
@@ -130,7 +130,7 @@ void redalert_state::redalert_audio_map(address_map &map)
*
*************************************/
-void redalert_state::sound_start_redalert()
+SOUND_START_MEMBER(redalert_state,redalert)
{
save_item(NAME(m_ay8910_latch_1));
save_item(NAME(m_ay8910_latch_2));
@@ -227,7 +227,7 @@ MACHINE_CONFIG_START(redalert_state::redalert_audio)
redalert_audio_m37b(config);
redalert_audio_voice(config);
- set_sound_start_cb(config, driver_callback_delegate(&sound_start_redalert, this));
+ MCFG_SOUND_START_OVERRIDE( redalert_state, redalert )
MACHINE_CONFIG_END
@@ -243,7 +243,7 @@ MACHINE_CONFIG_START(redalert_state::ww3_audio)
redalert_audio_m37b(config);
- set_sound_start_cb(config, driver_callback_delegate(&sound_start_redalert, this));
+ MCFG_SOUND_START_OVERRIDE( redalert_state, redalert )
MACHINE_CONFIG_END
@@ -330,7 +330,7 @@ void redalert_state::demoneye_audio_map(address_map &map)
*
*************************************/
-void redalert_state::sound_start_demoneye()
+SOUND_START_MEMBER( redalert_state, demoneye )
{
save_item(NAME(m_ay8910_latch_1));
save_item(NAME(m_ay8910_latch_2));
@@ -355,7 +355,7 @@ MACHINE_CONFIG_START(redalert_state::demoneye_audio)
MCFG_PIA_WRITEPA_HANDLER(WRITE8(*this, redalert_state, demoneye_ay8910_data_w))
MCFG_PIA_WRITEPB_HANDLER(WRITE8(*this, redalert_state, demoneye_ay8910_latch_1_w))
- set_sound_start_cb(config, driver_callback_delegate(&sound_start_demoneye, this));
+ MCFG_SOUND_START_OVERRIDE( redalert_state, demoneye )
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/audio/vicdual.cpp b/src/mame/audio/vicdual.cpp
index f059f472f34..1b2f6af170b 100644
--- a/src/mame/audio/vicdual.cpp
+++ b/src/mame/audio/vicdual.cpp
@@ -128,7 +128,7 @@ TIMER_CALLBACK_MEMBER( vicdual_state::frogs_croak_callback )
}
-void vicdual_state::machine_start_frogs_audio()
+MACHINE_START_MEMBER(vicdual_state,frogs_audio)
{
m_frogs_croak_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(vicdual_state::frogs_croak_callback), this));
diff --git a/src/mame/drivers/1942.cpp b/src/mame/drivers/1942.cpp
index fe3edbc5338..c9726cb027d 100644
--- a/src/mame/drivers/1942.cpp
+++ b/src/mame/drivers/1942.cpp
@@ -646,7 +646,7 @@ MACHINE_CONFIG_START(_1942_state::_1942p)
MCFG_PALETTE_INDIRECT_ENTRIES(0x400)
MCFG_PALETTE_INIT_OWNER(_1942_state, 1942p)
- set_video_start_cb(config, driver_callback_delegate(&video_start_c1942p, this));
+ MCFG_VIDEO_START_OVERRIDE(_1942_state,c1942p)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/2mindril.cpp b/src/mame/drivers/2mindril.cpp
index ccc91b13666..a5496117458 100644
--- a/src/mame/drivers/2mindril.cpp
+++ b/src/mame/drivers/2mindril.cpp
@@ -64,8 +64,8 @@ public:
DECLARE_READ16_MEMBER(drill_irq_r);
DECLARE_WRITE16_MEMBER(drill_irq_w);
void init_drill();
- void machine_start_drill() ATTR_COLD;
- void machine_reset_drill();
+ DECLARE_MACHINE_START(drill);
+ DECLARE_MACHINE_RESET(drill);
INTERRUPT_GEN_MEMBER(drill_vblank_irq);
//INTERRUPT_GEN_MEMBER(drill_device_irq);
void tile_decode();
@@ -339,14 +339,14 @@ WRITE_LINE_MEMBER(_2mindril_state::irqhandler)
}
-void _2mindril_state::machine_start_drill()
+MACHINE_START_MEMBER(_2mindril_state,drill)
{
save_item(NAME(m_defender_sensor));
save_item(NAME(m_shutter_sensor));
save_item(NAME(m_irq_reg));
}
-void _2mindril_state::machine_reset_drill()
+MACHINE_RESET_MEMBER(_2mindril_state,drill)
{
m_defender_sensor = 0;
m_shutter_sensor = 0;
@@ -368,8 +368,8 @@ MACHINE_CONFIG_START(_2mindril_state::drill)
MCFG_TC0510NIO_WRITE_4_CB(WRITE8(*this, _2mindril_state, coins_w))
MCFG_TC0510NIO_READ_7_CB(IOPORT("COINS"))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_drill, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_drill, this));
+ MCFG_MACHINE_START_OVERRIDE(_2mindril_state,drill)
+ MCFG_MACHINE_RESET_OVERRIDE(_2mindril_state,drill)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -382,7 +382,7 @@ MACHINE_CONFIG_START(_2mindril_state::drill)
MCFG_PALETTE_ADD("palette", 0x2000)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_f3, this));
+ MCFG_VIDEO_START_OVERRIDE(_2mindril_state,f3)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
diff --git a/src/mame/drivers/39in1.cpp b/src/mame/drivers/39in1.cpp
index 9e9bffd0032..15ba7da8921 100644
--- a/src/mame/drivers/39in1.cpp
+++ b/src/mame/drivers/39in1.cpp
@@ -85,7 +85,7 @@ private:
DECLARE_READ32_MEMBER(cpld_r);
DECLARE_WRITE32_MEMBER(cpld_w);
DECLARE_READ32_MEMBER(prot_cheater_r);
- void machine_start_60in1() ATTR_COLD;
+ DECLARE_MACHINE_START(60in1);
virtual void machine_start() override;
uint32_t screen_update_39in1(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(pxa255_vblank_start);
@@ -1567,7 +1567,7 @@ void _39in1_state::machine_start()
pxa255_start();
}
-void _39in1_state::machine_start_60in1()
+MACHINE_START_MEMBER(_39in1_state,60in1)
{
uint8_t *ROM = memregion("maincpu")->base();
int i;
@@ -1611,7 +1611,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(_39in1_state::_60in1)
_39in1(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_60in1, this));
+ MCFG_MACHINE_START_OVERRIDE(_39in1_state,60in1)
MACHINE_CONFIG_END
ROM_START( 39in1 )
diff --git a/src/mame/drivers/3do.cpp b/src/mame/drivers/3do.cpp
index e3fde1a371f..74e15f4bf0e 100644
--- a/src/mame/drivers/3do.cpp
+++ b/src/mame/drivers/3do.cpp
@@ -165,7 +165,7 @@ MACHINE_CONFIG_START(_3do_state::_3do)
MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_x16", _3do_state, timer_x16_cb, attotime::from_hz(12000)) // TODO: timing
- set_video_start_cb(config, driver_callback_delegate(&video_start__3do, this));
+ MCFG_VIDEO_START_OVERRIDE(_3do_state, _3do )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS( X2_CLOCK_NTSC / 2, 1592, 254, 1534, 263, 22, 262 )
diff --git a/src/mame/drivers/40love.cpp b/src/mame/drivers/40love.cpp
index 966bd480a03..f59a4b1edc9 100644
--- a/src/mame/drivers/40love.cpp
+++ b/src/mame/drivers/40love.cpp
@@ -664,7 +664,7 @@ GFXDECODE_END
/*******************************************************************************/
-void fortyl_state::machine_start_40love()
+MACHINE_START_MEMBER(fortyl_state,40love)
{
/* video */
save_item(NAME(m_pix1));
@@ -680,9 +680,9 @@ void fortyl_state::machine_start_40love()
}
-void fortyl_state::machine_reset_common()
+MACHINE_RESET_MEMBER(fortyl_state,common)
{
- //machine_reset_ta7630();
+ //MACHINE_RESET_CALL_MEMBER(ta7630);
/* video */
m_pix1 = 0;
@@ -697,9 +697,9 @@ void fortyl_state::machine_reset_common()
m_snd_ctrl3 = 0;
}
-void fortyl_state::machine_reset_40love()
+MACHINE_RESET_MEMBER(fortyl_state,40love)
{
- machine_reset_common();
+ MACHINE_RESET_CALL_MEMBER(common);
}
MACHINE_CONFIG_START(fortyl_state::_40love)
@@ -724,8 +724,8 @@ MACHINE_CONFIG_START(fortyl_state::_40love)
MCFG_DEVICE_ADD("bmcu", TAITO68705_MCU, 18432000/6) /* OK */
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* high interleave to ensure proper synchronization of CPUs */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_40love, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_40love, this));
+ MCFG_MACHINE_START_OVERRIDE(fortyl_state,40love)
+ MCFG_MACHINE_RESET_OVERRIDE(fortyl_state,40love)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -790,8 +790,8 @@ MACHINE_CONFIG_START(fortyl_state::undoukai)
MCFG_DEVICE_ADD("bmcu", TAITO68705_MCU, 18432000/6)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_40love, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_40love, this)); /* init machine */
+ MCFG_MACHINE_START_OVERRIDE(fortyl_state,40love)
+ MCFG_MACHINE_RESET_OVERRIDE(fortyl_state,40love) /* init machine */
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/4roses.cpp b/src/mame/drivers/4roses.cpp
index eb1befaa9a3..98feee3d6f3 100644
--- a/src/mame/drivers/4roses.cpp
+++ b/src/mame/drivers/4roses.cpp
@@ -462,7 +462,7 @@ MACHINE_CONFIG_START(_4roses_state::_4roses)
MCFG_PALETTE_ADD("palette", 0x1000)
MCFG_PALETTE_INIT_OWNER(_4roses_state,funworld)
- set_video_start_cb(config, driver_callback_delegate(&video_start_funworld, this));
+ MCFG_VIDEO_START_OVERRIDE(_4roses_state,funworld)
MCFG_MC6845_ADD("crtc", MC6845, "screen", MASTER_CLOCK/8) /* 2MHz, guess */
MCFG_MC6845_SHOW_BORDER_AREA(false)
diff --git a/src/mame/drivers/8080bw.cpp b/src/mame/drivers/8080bw.cpp
index 083a7a9b8ee..72174600ad8 100644
--- a/src/mame/drivers/8080bw.cpp
+++ b/src/mame/drivers/8080bw.cpp
@@ -215,11 +215,11 @@
/* */
/*******************************************************/
-void _8080bw_state::machine_start_extra_8080bw()
+MACHINE_START_MEMBER(_8080bw_state,extra_8080bw)
{
- machine_start_extra_8080bw_sh();
- machine_start_extra_8080bw_vh();
- machine_start_mw8080bw();
+ MACHINE_START_CALL_MEMBER(extra_8080bw_sh);
+ MACHINE_START_CALL_MEMBER(extra_8080bw_vh);
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
/*******************************************************/
@@ -412,7 +412,7 @@ MACHINE_CONFIG_START(_8080bw_state::invadpt2)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(invadpt2_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_extra_8080bw, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* 60 Hz signal clocks two LS161. Ripple carry will */
/* reset circuit, if LS161 not cleared before. */
@@ -500,7 +500,7 @@ MACHINE_CONFIG_START(_8080bw_state::spcewars)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(spcewars_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_extra_8080bw, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -668,7 +668,7 @@ MACHINE_CONFIG_START(_8080bw_state::cosmo)
MCFG_DEVICE_PROGRAM_MAP(cosmo_map)
MCFG_DEVICE_IO_MAP(cosmo_io_map)
MCFG_WATCHDOG_ADD("watchdog")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_extra_8080bw, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -828,8 +828,8 @@ MACHINE_CONFIG_START(_8080bw_state::spacecom)
MCFG_DEVICE_PROGRAM_MAP(spacecom_map)
MCFG_DEVICE_IO_MAP(spacecom_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mw8080bw, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mw8080bw, this));
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state, mw8080bw)
+ MCFG_MACHINE_RESET_OVERRIDE(mw8080bw_state, mw8080bw)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -949,7 +949,7 @@ MACHINE_CONFIG_START(_8080bw_state::invrvnge)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_extra_8080bw, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -1122,7 +1122,7 @@ MACHINE_CONFIG_START(_8080bw_state::lrescue)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(lrescue_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_extra_8080bw, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -1153,8 +1153,8 @@ MACHINE_CONFIG_START(_8080bw_state::escmars)
MCFG_DEVICE_PROGRAM_MAP(escmars_map)
MCFG_DEVICE_IO_MAP(lrescue_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_extra_8080bw, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mw8080bw, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state, extra_8080bw)
+ MCFG_MACHINE_RESET_OVERRIDE(_8080bw_state, mw8080bw)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -1253,7 +1253,7 @@ MACHINE_CONFIG_START(_8080bw_state::cosmicmo)
MCFG_DEVICE_IO_MAP(cosmicmo_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", _8080bw_state, irq0_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_extra_8080bw, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 255)
@@ -1388,14 +1388,14 @@ static INPUT_PORTS_START( rollingc )
PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x00, "SW1:4" )
INPUT_PORTS_END
-void _8080bw_state::machine_start_rollingc()
+MACHINE_START_MEMBER(_8080bw_state,rollingc)
{
m_scattered_colorram = std::make_unique<uint8_t []>(0x400);
m_scattered_colorram2 = std::make_unique<uint8_t []>(0x400);
save_pointer(&m_scattered_colorram[0], "m_scattered_colorram", 0x400);
save_pointer(&m_scattered_colorram2[0], "m_scattered_colorram2", 0x400);
- machine_start_mw8080bw();
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
MACHINE_CONFIG_START(_8080bw_state::rollingc)
@@ -1419,7 +1419,7 @@ MACHINE_CONFIG_START(_8080bw_state::rollingc)
/* sound hardware */
invaders_samples_audio(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_rollingc, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,rollingc)
MACHINE_CONFIG_END
@@ -1526,19 +1526,19 @@ static INPUT_PORTS_START( schaserm )
PORT_DIPSETTING( 0x03, "4" )
INPUT_PORTS_END
-void _8080bw_state::machine_start_schaser()
+MACHINE_START_MEMBER(_8080bw_state,schaser)
{
m_scattered_colorram = std::make_unique<uint8_t []>(0x800);
save_pointer(&m_scattered_colorram[0], "m_scattered_colorram", 0x800);
- machine_start_schaser_sh();
- machine_start_extra_8080bw_vh();
- machine_start_mw8080bw();
+ MACHINE_START_CALL_MEMBER(schaser_sh);
+ MACHINE_START_CALL_MEMBER(extra_8080bw_vh);
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
-void _8080bw_state::machine_reset_schaser()
+MACHINE_RESET_MEMBER(_8080bw_state,schaser)
{
- machine_reset_schaser_sh();
- machine_reset_mw8080bw();
+ MACHINE_RESET_CALL_MEMBER(schaser_sh);
+ MACHINE_RESET_CALL_MEMBER(mw8080bw);
}
MACHINE_CONFIG_START(_8080bw_state::schaser)
@@ -1551,8 +1551,8 @@ MACHINE_CONFIG_START(_8080bw_state::schaser)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 255)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_schaser, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_schaser, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,schaser)
+ MCFG_MACHINE_RESET_OVERRIDE(_8080bw_state,schaser)
MCFG_TIMER_DRIVER_ADD("schaser_sh_555", _8080bw_state, schaser_effect_555_cb)
@@ -1667,14 +1667,14 @@ static INPUT_PORTS_START( schasercv )
INVADERS_CAB_TYPE_PORT
INPUT_PORTS_END
-void _8080bw_state::machine_start_schasercv()
+MACHINE_START_MEMBER(_8080bw_state,schasercv)
{
m_scattered_colorram = std::make_unique<uint8_t []>(0x800);
save_pointer(&m_scattered_colorram[0], "m_scattered_colorram", 0x800);
- machine_start_extra_8080bw_sh();
- machine_start_extra_8080bw_vh();
- machine_start_mw8080bw();
+ MACHINE_START_CALL_MEMBER(extra_8080bw_sh);
+ MACHINE_START_CALL_MEMBER(extra_8080bw_vh);
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
MACHINE_CONFIG_START(_8080bw_state::schasercv)
@@ -1684,7 +1684,7 @@ MACHINE_CONFIG_START(_8080bw_state::schasercv)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(schaser_map)
MCFG_DEVICE_IO_MAP(schasercv_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_schasercv, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state, schasercv)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -1768,12 +1768,12 @@ static INPUT_PORTS_START( sflush )
INPUT_PORTS_END
-void _8080bw_state::machine_start_sflush()
+MACHINE_START_MEMBER(_8080bw_state,sflush)
{
m_scattered_colorram = std::make_unique<uint8_t []>(0x800);
save_pointer(&m_scattered_colorram[0], "m_scattered_colorram", 0x800);
- machine_start_mw8080bw();
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
MACHINE_CONFIG_START(_8080bw_state::sflush)
@@ -1783,7 +1783,7 @@ MACHINE_CONFIG_START(_8080bw_state::sflush)
MCFG_DEVICE_REPLACE("maincpu",M6800,1500000) // ?
MCFG_DEVICE_PROGRAM_MAP(sflush_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", _8080bw_state, irq0_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_sflush, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,sflush)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -1888,7 +1888,7 @@ MACHINE_CONFIG_START(_8080bw_state::lupin3)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(lupin3_io_map)
MCFG_WATCHDOG_ADD("watchdog")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_extra_8080bw, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -1931,7 +1931,7 @@ MACHINE_CONFIG_START(_8080bw_state::lupin3a)
lupin3(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(schaser_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_sflush, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,sflush)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(_8080bw_state, screen_update_lupin3)
@@ -1958,14 +1958,14 @@ INTERRUPT_GEN_MEMBER(_8080bw_state::polaris_interrupt)
}
}
-void _8080bw_state::machine_start_polaris()
+MACHINE_START_MEMBER(_8080bw_state,polaris)
{
m_scattered_colorram = std::make_unique<uint8_t []>(0x800);
save_pointer(&m_scattered_colorram[0], "m_scattered_colorram", 0x800);
save_item(NAME(m_polaris_cloud_speed));
save_item(NAME(m_polaris_cloud_pos));
- machine_start_mw8080bw();
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
READ8_MEMBER(_8080bw_state::polaris_port00_r)
@@ -2059,7 +2059,7 @@ MACHINE_CONFIG_START(_8080bw_state::polaris)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 255)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_polaris, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,polaris)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -2186,7 +2186,7 @@ MACHINE_CONFIG_START(_8080bw_state::ballbomb)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(ballbomb_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_extra_8080bw, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -2269,7 +2269,7 @@ MACHINE_CONFIG_START(_8080bw_state::yosakdon)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(yosakdon_map)
MCFG_DEVICE_IO_MAP(yosakdon_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_extra_8080bw, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* sound hardware */
invaders_samples_audio(config);
@@ -2435,7 +2435,7 @@ MACHINE_CONFIG_START(_8080bw_state::indianbt)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(indianbt_io_map)
MCFG_WATCHDOG_ADD("watchdog")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_extra_8080bw, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -2461,7 +2461,7 @@ MACHINE_CONFIG_START(_8080bw_state::indianbtbr)
MCFG_DEVICE_PROGRAM_MAP(schaser_map)
MCFG_DEVICE_IO_MAP(indianbtbr_io_map)
MCFG_WATCHDOG_ADD("watchdog")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_extra_8080bw, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -2536,7 +2536,7 @@ MACHINE_CONFIG_START(_8080bw_state::steelwkr)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(steelwkr_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_extra_8080bw, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
/* add shifter */
MCFG_MB14241_ADD("mb14241")
@@ -2758,8 +2758,8 @@ MACHINE_CONFIG_START(_8080bw_state::shuttlei)
MCFG_DEVICE_PROGRAM_MAP(shuttlei_map)
MCFG_DEVICE_IO_MAP(shuttlei_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_extra_8080bw, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mw8080bw, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state, extra_8080bw)
+ MCFG_MACHINE_RESET_OVERRIDE(_8080bw_state, mw8080bw)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2800,14 +2800,14 @@ Another (same checksums) dump came from board labeled SI-7811M-2
*/
-void _8080bw_state::machine_start_darthvdr()
+MACHINE_START_MEMBER(_8080bw_state,darthvdr)
{
/* do nothing for now - different interrupt system */
m_fleet_step = 3;
}
-void _8080bw_state::machine_reset_darthvdr()
+MACHINE_RESET_MEMBER(_8080bw_state,darthvdr)
{
/* do nothing for now - different interrupt system */
}
@@ -2885,8 +2885,8 @@ MACHINE_CONFIG_START(_8080bw_state::darthvdr)
MCFG_DEVICE_IO_MAP(darthvdr_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", _8080bw_state, irq0_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_darthvdr, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_darthvdr, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,darthvdr)
+ MCFG_MACHINE_RESET_OVERRIDE(_8080bw_state,darthvdr)
/* sound hardware */
invaders_samples_audio(config);
@@ -2957,7 +2957,7 @@ MACHINE_CONFIG_START(_8080bw_state::vortex)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(vortex_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_extra_8080bw, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state,extra_8080bw)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_usec(255000000 / (MW8080BW_PIXEL_CLOCK / MW8080BW_HTOTAL / MW8080BW_VTOTAL)))
@@ -3252,12 +3252,12 @@ static INPUT_PORTS_START( gunchamp )
INPUT_PORTS_END
-void _8080bw_state::machine_start_claybust()
+MACHINE_START_MEMBER(_8080bw_state, claybust)
{
m_claybust_gun_pos = 0;
save_item(NAME(m_claybust_gun_pos));
- machine_start_mw8080bw();
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
MACHINE_CONFIG_START(_8080bw_state::claybust)
@@ -3269,7 +3269,7 @@ MACHINE_CONFIG_START(_8080bw_state::claybust)
MCFG_TIMER_DRIVER_ADD("claybust_gun", _8080bw_state, claybust_gun_callback)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_claybust, this));
+ MCFG_MACHINE_START_OVERRIDE(_8080bw_state, claybust)
/* sound hardware */
// TODO: discrete sound
@@ -3526,7 +3526,7 @@ MACHINE_CONFIG_START(_8080bw_state::invmulti)
MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("eeprom")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mw8080bw, this));
+ MCFG_MACHINE_RESET_OVERRIDE(_8080bw_state, mw8080bw)
MACHINE_CONFIG_END
void _8080bw_state::init_invmulti()
diff --git a/src/mame/drivers/a51xx.cpp b/src/mame/drivers/a51xx.cpp
index ce2648b4d16..430f2dbdca4 100644
--- a/src/mame/drivers/a51xx.cpp
+++ b/src/mame/drivers/a51xx.cpp
@@ -26,8 +26,8 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
- void machine_reset_a5130();
- void video_start_a5130() ATTR_COLD;
+ DECLARE_MACHINE_RESET(a5130);
+ DECLARE_VIDEO_START(a5130);
uint32_t screen_update_a5120(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_a5130(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
@@ -91,11 +91,11 @@ static INPUT_PORTS_START( a5130 )
INPUT_PORTS_END
-void a51xx_state::machine_reset_a5130()
+MACHINE_RESET_MEMBER(a51xx_state,a5130)
{
}
-void a51xx_state::video_start_a5130()
+VIDEO_START_MEMBER(a51xx_state,a5130)
{
}
@@ -151,13 +151,13 @@ MACHINE_CONFIG_START(a51xx_state::a5130)
MCFG_DEVICE_PROGRAM_MAP(a5130_mem)
MCFG_DEVICE_IO_MAP(a5130_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_a5130, this));
+ MCFG_MACHINE_RESET_OVERRIDE(a51xx_state,a5130)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(a51xx_state, screen_update_a5130)
- set_video_start_cb(config, driver_callback_delegate(&video_start_a5130, this));
+ MCFG_VIDEO_START_OVERRIDE(a51xx_state,a5130)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/a6809.cpp b/src/mame/drivers/a6809.cpp
index 2e285d62181..253b41cf41b 100644
--- a/src/mame/drivers/a6809.cpp
+++ b/src/mame/drivers/a6809.cpp
@@ -82,7 +82,7 @@ protected:
DECLARE_WRITE8_MEMBER(a6809_address_w);
DECLARE_WRITE8_MEMBER(a6809_register_w);
DECLARE_WRITE_LINE_MEMBER(cass_w);
- void machine_reset_a6809();
+ DECLARE_MACHINE_RESET(a6809);
TIMER_DEVICE_CALLBACK_MEMBER(a6809_c);
TIMER_DEVICE_CALLBACK_MEMBER(a6809_p);
@@ -120,7 +120,7 @@ static INPUT_PORTS_START( a6809 )
INPUT_PORTS_END
-void a6809_state::machine_reset_a6809()
+MACHINE_RESET_MEMBER( a6809_state, a6809)
{
m_via->write_pb0(0);
m_via->write_pb1(0);
@@ -227,7 +227,7 @@ MACHINE_CONFIG_START(a6809_state::a6809)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", MC6809, XTAL(4'000'000))
MCFG_DEVICE_PROGRAM_MAP(a6809_mem)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_a6809, this));
+ MCFG_MACHINE_RESET_OVERRIDE(a6809_state, a6809)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/actfancr.cpp b/src/mame/drivers/actfancr.cpp
index 8ddbdff2a48..08e9c50d3f5 100644
--- a/src/mame/drivers/actfancr.cpp
+++ b/src/mame/drivers/actfancr.cpp
@@ -274,12 +274,12 @@ GFXDECODE_END
/******************************************************************************/
-void actfancr_state::machine_start_triothep()
+MACHINE_START_MEMBER(actfancr_state,triothep)
{
save_item(NAME(m_trio_control_select));
}
-void actfancr_state::machine_reset_triothep()
+MACHINE_RESET_MEMBER(actfancr_state,triothep)
{
m_trio_control_select = 0;
}
@@ -351,8 +351,8 @@ MACHINE_CONFIG_START(actfancr_state::triothep)
MCFG_DEVICE_ADD("audiocpu",M6502, XTAL(12'000'000)/8) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(dec0_s_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_triothep, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_triothep, this));
+ MCFG_MACHINE_START_OVERRIDE(actfancr_state,triothep)
+ MCFG_MACHINE_RESET_OVERRIDE(actfancr_state,triothep)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/adp.cpp b/src/mame/drivers/adp.cpp
index 69670dc19a4..757e3969d95 100644
--- a/src/mame/drivers/adp.cpp
+++ b/src/mame/drivers/adp.cpp
@@ -192,8 +192,8 @@ public:
/* devices */
DECLARE_READ16_MEMBER(input_r);
DECLARE_WRITE16_MEMBER(input_w);
- void machine_start_skattv() ATTR_COLD;
- void machine_reset_skattv();
+ DECLARE_MACHINE_START(skattv);
+ DECLARE_MACHINE_RESET(skattv);
DECLARE_PALETTE_INIT(adp);
DECLARE_PALETTE_INIT(fstation);
IRQ_CALLBACK_MEMBER(duart_iack_handler);
@@ -245,12 +245,12 @@ IRQ_CALLBACK_MEMBER(adp_state::duart_iack_handler)
return m_duart->get_irq_vector();
}
-void adp_state::machine_start_skattv()
+MACHINE_START_MEMBER(adp_state,skattv)
{
save_item(NAME(m_mux_data));
}
-void adp_state::machine_reset_skattv()
+MACHINE_RESET_MEMBER(adp_state,skattv)
{
m_mux_data = 0;
}
@@ -554,8 +554,8 @@ MACHINE_CONFIG_START(adp_state::quickjac)
MCFG_DEVICE_PROGRAM_MAP(quickjac_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(adp_state, duart_iack_handler)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_skattv, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_skattv, this));
+ MCFG_MACHINE_START_OVERRIDE(adp_state,skattv)
+ MCFG_MACHINE_RESET_OVERRIDE(adp_state,skattv)
MCFG_DEVICE_ADD( "duart", MC68681, XTAL(8'664'000) / 2 )
MCFG_MC68681_IRQ_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_4))
diff --git a/src/mame/drivers/aerofgt.cpp b/src/mame/drivers/aerofgt.cpp
index 9acee77a333..47045783352 100644
--- a/src/mame/drivers/aerofgt.cpp
+++ b/src/mame/drivers/aerofgt.cpp
@@ -1432,31 +1432,31 @@ static GFXDECODE_START( gfx_wbbc97 )
GFXDECODE_END
-void aerofgt_state::machine_start_common()
+MACHINE_START_MEMBER(aerofgt_state,common)
{
}
-void aerofgt_state::machine_start_aerofgt()
+MACHINE_START_MEMBER(aerofgt_state,aerofgt)
{
m_soundbank->configure_entries(0, 4, memregion("audiocpu")->base(), 0x8000);
- machine_start_common();
+ MACHINE_START_CALL_MEMBER(common);
}
-void aerofgt_state::machine_start_spinlbrk()
+MACHINE_START_MEMBER(aerofgt_state,spinlbrk)
{
m_soundbank->configure_entries(0, 2, memregion("audiocpu")->base()+0x8000, 0x8000);
- machine_start_common();
+ MACHINE_START_CALL_MEMBER(common);
}
-void aerofgt_state::machine_reset_common()
+MACHINE_RESET_MEMBER(aerofgt_state,common)
{
}
-void aerofgt_state::machine_reset_aerofgt()
+MACHINE_RESET_MEMBER(aerofgt_state,aerofgt)
{
- machine_reset_common();
+ MACHINE_RESET_CALL_MEMBER(common);
m_soundbank->set_entry(0); /* needed by spinlbrk */
}
@@ -1473,8 +1473,8 @@ MACHINE_CONFIG_START(aerofgt_state::pspikes)
MCFG_DEVICE_IO_MAP(turbofrc_sound_portmap)
/* IRQs are triggered by the YM2610 */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_aerofgt, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_aerofgt, this));
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,aerofgt)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,aerofgt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1496,7 +1496,7 @@ MACHINE_CONFIG_START(aerofgt_state::pspikes)
MCFG_DEVICE_ADD("gga", VSYSTEM_GGA, XTAL(14'318'181) / 2) // divider not verified
- set_video_start_cb(config, driver_callback_delegate(&video_start_pspikes, this));
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,pspikes)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1523,8 +1523,8 @@ MACHINE_CONFIG_START(aerofgt_state::spikes91)
/* + Z80 for sound */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_common, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_common, this));
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1541,7 +1541,7 @@ MACHINE_CONFIG_START(aerofgt_state::spikes91)
//MCFG_DEVICE_ADD("gga", VSYSTEM_GGA, 0)
- set_video_start_cb(config, driver_callback_delegate(&video_start_pspikes, this));
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,pspikes)
/* sound hardware */
/* the sound hardware is completely different on this:
@@ -1559,8 +1559,8 @@ MACHINE_CONFIG_START(aerofgt_state::pspikesb)
MCFG_DEVICE_PROGRAM_MAP(pspikesb_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)/* all irq vectors are the same */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_common, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_common, this));
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1577,7 +1577,7 @@ MACHINE_CONFIG_START(aerofgt_state::pspikesb)
//MCFG_DEVICE_ADD("gga", VSYSTEM_GGA, 0)
- set_video_start_cb(config, driver_callback_delegate(&video_start_pspikes, this));
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,pspikes)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1604,8 +1604,8 @@ MACHINE_CONFIG_START(aerofgt_state::kickball)
MCFG_DEVICE_PROGRAM_MAP(kickball_sound_map)
MCFG_DEVICE_IO_MAP(kickball_sound_portmap)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_common, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_common, this));
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1627,7 +1627,7 @@ MACHINE_CONFIG_START(aerofgt_state::kickball)
//MCFG_DEVICE_ADD("gga", VSYSTEM_GGA, 0) // still accessed as if it exists, in clone hardware?
- set_video_start_cb(config, driver_callback_delegate(&video_start_pspikes, this));
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,pspikes)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1651,8 +1651,8 @@ MACHINE_CONFIG_START(aerofgt_state::pspikesc)
MCFG_DEVICE_PROGRAM_MAP(pspikesc_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)/* all irq vectors are the same */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_common, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_common, this));
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1674,7 +1674,7 @@ MACHINE_CONFIG_START(aerofgt_state::pspikesc)
MCFG_VSYSTEM_SPR2_SET_GFXREGION(1)
MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
- set_video_start_cb(config, driver_callback_delegate(&video_start_pspikes, this));
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,pspikes)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1695,8 +1695,8 @@ MACHINE_CONFIG_START(aerofgt_state::karatblz)
MCFG_DEVICE_IO_MAP(turbofrc_sound_portmap)
/* IRQs are triggered by the YM2610 */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_aerofgt, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_aerofgt, this));
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,aerofgt)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,aerofgt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1723,7 +1723,7 @@ MACHINE_CONFIG_START(aerofgt_state::karatblz)
MCFG_VSYSTEM_SPR2_SET_GFXREGION(3)
MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
- set_video_start_cb(config, driver_callback_delegate(&video_start_karatblz, this));
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,karatblz)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1752,8 +1752,8 @@ MACHINE_CONFIG_START(aerofgt_state::karatblzbl)
MCFG_DEVICE_PROGRAM_MAP(karatblzbl_sound_map)
MCFG_DEVICE_IO_MAP(karatblzbl_sound_portmap)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_common, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_common, this));
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1780,7 +1780,7 @@ MACHINE_CONFIG_START(aerofgt_state::karatblzbl)
//MCFG_DEVICE_ADD("gga", VSYSTEM_GGA, 0)
- set_video_start_cb(config, driver_callback_delegate(&video_start_karatblz, this));
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,karatblz)
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
MCFG_GENERIC_LATCH_8_ADD("soundlatch2")
@@ -1809,8 +1809,8 @@ MACHINE_CONFIG_START(aerofgt_state::spinlbrk)
MCFG_DEVICE_IO_MAP(spinlbrk_sound_portmap)
/* IRQs are triggered by the YM2610 */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_spinlbrk, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_aerofgt, this));
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,spinlbrk)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,aerofgt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1838,7 +1838,7 @@ MACHINE_CONFIG_START(aerofgt_state::spinlbrk)
MCFG_VSYSTEM_SPR2_SET_GFXREGION(3)
MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
- set_video_start_cb(config, driver_callback_delegate(&video_start_spinlbrk, this));
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,spinlbrk)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1868,8 +1868,8 @@ MACHINE_CONFIG_START(aerofgt_state::turbofrc)
MCFG_DEVICE_IO_MAP(turbofrc_sound_portmap)
/* IRQs are triggered by the YM2610 */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_aerofgt, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_aerofgt, this));
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,aerofgt)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,aerofgt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1896,7 +1896,7 @@ MACHINE_CONFIG_START(aerofgt_state::turbofrc)
MCFG_VSYSTEM_SPR2_SET_GFXREGION(3)
MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
- set_video_start_cb(config, driver_callback_delegate(&video_start_turbofrc, this));
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,turbofrc)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1926,8 +1926,8 @@ MACHINE_CONFIG_START(aerofgt_state::aerofgtb)
MCFG_DEVICE_IO_MAP(aerofgt_sound_portmap)
/* IRQs are triggered by the YM2610 */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_aerofgt, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_aerofgt, this));
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,aerofgt)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,aerofgt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1955,7 +1955,7 @@ MACHINE_CONFIG_START(aerofgt_state::aerofgtb)
MCFG_VSYSTEM_SPR2_SET_GFXREGION(3)
MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
- set_video_start_cb(config, driver_callback_delegate(&video_start_turbofrc, this));
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,turbofrc)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1985,8 +1985,8 @@ MACHINE_CONFIG_START(aerofgt_state::aerofgt)
MCFG_DEVICE_IO_MAP(aerofgt_sound_portmap)
/* IRQs are triggered by the YM2610 */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_aerofgt, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_aerofgt, this));
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,aerofgt)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,aerofgt)
MCFG_DEVICE_ADD("io", VS9209, 0)
MCFG_VS9209_IN_PORTA_CB(IOPORT("P1"))
@@ -2019,7 +2019,7 @@ MACHINE_CONFIG_START(aerofgt_state::aerofgt)
MCFG_VSYSTEM_SPR_SET_GFXREGION(2)
MCFG_VSYSTEM_SPR_GFXDECODE("gfxdecode")
- set_video_start_cb(config, driver_callback_delegate(&video_start_turbofrc, this));
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,turbofrc)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -2047,8 +2047,8 @@ MACHINE_CONFIG_START(aerofgt_state::aerfboot)
MCFG_DEVICE_ADD("audiocpu",Z80,8000000/2) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(aerfboot_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_common, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_common, this));
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2066,7 +2066,7 @@ MACHINE_CONFIG_START(aerofgt_state::aerfboot)
//MCFG_DEVICE_ADD("gga", VSYSTEM_GGA, 0)
- set_video_start_cb(config, driver_callback_delegate(&video_start_turbofrc, this));
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,turbofrc)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2087,8 +2087,8 @@ MACHINE_CONFIG_START(aerofgt_state::aerfboo2)
MCFG_DEVICE_PROGRAM_MAP(aerfboo2_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", aerofgt_state, irq2_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_common, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_common, this));
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2106,7 +2106,7 @@ MACHINE_CONFIG_START(aerofgt_state::aerfboo2)
//MCFG_DEVICE_ADD("gga", VSYSTEM_GGA, 0)
- set_video_start_cb(config, driver_callback_delegate(&video_start_turbofrc, this));
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,turbofrc)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2125,8 +2125,8 @@ MACHINE_CONFIG_START(aerofgt_state::wbbc97)
MCFG_DEVICE_ADD("audiocpu",Z80,8000000/2) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(wbbc97_sound_map)
/* IRQs are triggered by the YM3812 */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_common, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_common, this));
+ MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2147,7 +2147,7 @@ MACHINE_CONFIG_START(aerofgt_state::wbbc97)
MCFG_VSYSTEM_SPR2_SET_GFXREGION(1)
MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
- set_video_start_cb(config, driver_callback_delegate(&video_start_wbbc97, this));
+ MCFG_VIDEO_START_OVERRIDE(aerofgt_state,wbbc97)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/airraid.cpp b/src/mame/drivers/airraid.cpp
index 8be2c16197e..a42e8a4fcae 100644
--- a/src/mame/drivers/airraid.cpp
+++ b/src/mame/drivers/airraid.cpp
@@ -186,7 +186,7 @@ public:
DECLARE_WRITE8_MEMBER(bank_w);
void init_cshootere();
void init_cshooter();
- void machine_reset_cshooter();
+ DECLARE_MACHINE_RESET(cshooter);
TIMER_DEVICE_CALLBACK_MEMBER(cshooter_scanline);
void airraid(machine_config &config);
void airraid_crypt(machine_config &config);
@@ -212,7 +212,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(airraid_state::cshooter_scanline)
}
-void airraid_state::machine_reset_cshooter()
+MACHINE_RESET_MEMBER(airraid_state,cshooter)
{
}
diff --git a/src/mame/drivers/alg.cpp b/src/mame/drivers/alg.cpp
index c551ca8294b..b7b5346ee81 100644
--- a/src/mame/drivers/alg.cpp
+++ b/src/mame/drivers/alg.cpp
@@ -56,7 +56,7 @@ public:
void init_ntsc();
void init_pal();
- void video_start_alg() ATTR_COLD;
+ DECLARE_VIDEO_START(alg);
void alg_r2(machine_config &config);
void picmatic(machine_config &config);
@@ -116,10 +116,10 @@ int alg_state::get_lightgun_pos(int player, int *x, int *y)
*
*************************************/
-void alg_state::video_start_alg()
+VIDEO_START_MEMBER(alg_state,alg)
{
/* standard video start */
- video_start_amiga();
+ VIDEO_START_CALL_MEMBER(amiga);
/* configure pen 4096 as transparent in the renderer and use it for the genlock color */
m_palette->set_pen_color(4096, rgb_t(0,0,0,0));
@@ -329,7 +329,7 @@ MACHINE_CONFIG_START(alg_state::alg_r1)
MCFG_PALETTE_ADD("palette", 4097)
MCFG_PALETTE_INIT_OWNER(alg_state,amiga)
- set_video_start_cb(config, driver_callback_delegate(&video_start_alg, this));
+ MCFG_VIDEO_START_OVERRIDE(alg_state,alg)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
diff --git a/src/mame/drivers/alpha68k.cpp b/src/mame/drivers/alpha68k.cpp
index 62f5c1f1ec7..0bc0bff7e8d 100644
--- a/src/mame/drivers/alpha68k.cpp
+++ b/src/mame/drivers/alpha68k.cpp
@@ -1821,7 +1821,7 @@ WRITE8_MEMBER(alpha68k_state::porta_w)
/******************************************************************************/
-void alpha68k_state::machine_start_common()
+MACHINE_START_MEMBER(alpha68k_state,common)
{
save_item(NAME(m_trigstate));
save_item(NAME(m_deposits1));
@@ -1833,7 +1833,7 @@ void alpha68k_state::machine_start_common()
save_item(NAME(m_flipscreen));
}
-void alpha68k_state::machine_reset_common()
+MACHINE_RESET_MEMBER(alpha68k_state,common)
{
m_trigstate = 0;
m_deposits1 = 0;
@@ -1845,13 +1845,13 @@ void alpha68k_state::machine_reset_common()
m_flipscreen = 0;
}
-void alpha68k_state::machine_start_alpha68k_V()
+MACHINE_START_MEMBER(alpha68k_state,alpha68k_V)
{
uint8_t *ROM = memregion("audiocpu")->base();
membank("bank7")->configure_entries(0, 32, &ROM[0x10000], 0x4000);
- machine_start_common();
+ MACHINE_START_CALL_MEMBER(common);
save_item(NAME(m_bank_base));
save_item(NAME(m_last_bank));
@@ -1859,17 +1859,17 @@ void alpha68k_state::machine_start_alpha68k_V()
save_item(NAME(m_sound_pa_latch));
}
-void alpha68k_state::machine_reset_alpha68k_V()
+MACHINE_RESET_MEMBER(alpha68k_state,alpha68k_V)
{
- machine_reset_common();
+ MACHINE_RESET_CALL_MEMBER(common);
m_bank_base = 0;
m_last_bank = 0;
}
-void alpha68k_state::machine_reset_alpha68k_II()
+MACHINE_RESET_MEMBER(alpha68k_state,alpha68k_II)
{
- machine_reset_common();
+ MACHINE_RESET_CALL_MEMBER(common);
m_bank_base = 0;
m_last_bank = 0;
@@ -1878,13 +1878,13 @@ void alpha68k_state::machine_reset_alpha68k_II()
m_buffer_68 = 0;
}
-void alpha68k_state::machine_start_alpha68k_II()
+MACHINE_START_MEMBER(alpha68k_state,alpha68k_II)
{
uint8_t *ROM = memregion("audiocpu")->base();
membank("bank7")->configure_entries(0, 28, &ROM[0x10000], 0x4000);
- machine_start_common();
+ MACHINE_START_CALL_MEMBER(common);
save_item(NAME(m_bank_base));
save_item(NAME(m_last_bank));
@@ -1928,8 +1928,8 @@ MACHINE_CONFIG_START(alpha68k_state::sstingry)
// MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(*this, alpha68k_state, saiyugoub1_adpcm_control_w))
MCFG_DEVICE_DISABLE()
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_common, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_common, this));
+ MCFG_MACHINE_START_OVERRIDE(alpha68k_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1980,8 +1980,8 @@ MACHINE_CONFIG_START(alpha68k_state::kyros)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", alpha68k_state, irq0_line_hold)
MCFG_DEVICE_PERIODIC_INT_DRIVER(alpha68k_state, nmi_line_pulse, 4000)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_common, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_common, this));
+ MCFG_MACHINE_START_OVERRIDE(alpha68k_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2031,8 +2031,8 @@ MACHINE_CONFIG_START(alpha68k_state::jongbou)
MCFG_DEVICE_IO_MAP(jongbou_sound_portmap)
MCFG_DEVICE_PERIODIC_INT_DRIVER(alpha68k_state, irq0_line_hold, 160*60)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_common, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_common, this));
+ MCFG_MACHINE_START_OVERRIDE(alpha68k_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2070,8 +2070,8 @@ MACHINE_CONFIG_START(alpha68k_state::alpha68k_I)
MCFG_DEVICE_ADD("audiocpu", Z80, 4000000) // 4Mhz seems to yield the correct tone
MCFG_DEVICE_PROGRAM_MAP(alpha68k_I_s_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_common, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_common, this));
+ MCFG_MACHINE_START_OVERRIDE(alpha68k_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2117,8 +2117,8 @@ MACHINE_CONFIG_START(alpha68k_state::alpha68k_II)
MCFG_DEVICE_IO_MAP(sound_portmap)
MCFG_DEVICE_PERIODIC_INT_DRIVER(alpha68k_state, alpha68k_sound_nmi, 7614)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_alpha68k_II, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_alpha68k_II, this));
+ MCFG_MACHINE_START_OVERRIDE(alpha68k_state,alpha68k_II)
+ MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,alpha68k_II)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2134,7 +2134,7 @@ MACHINE_CONFIG_START(alpha68k_state::alpha68k_II)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(xRGBRRRRGGGGBBBB_bit0)
- set_video_start_cb(config, driver_callback_delegate(&video_start_alpha68k, this));
+ MCFG_VIDEO_START_OVERRIDE(alpha68k_state,alpha68k)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -2179,8 +2179,8 @@ MACHINE_CONFIG_START(alpha68k_state::alpha68k_V)
MCFG_DEVICE_IO_MAP(sound_portmap)
MCFG_DEVICE_PERIODIC_INT_DRIVER(alpha68k_state, alpha68k_sound_nmi, ALPHA68K_PIXEL_CLOCK / ALPHA68K_HTOTAL / 2)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_alpha68k_V, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_alpha68k_V, this));
+ MCFG_MACHINE_START_OVERRIDE(alpha68k_state,alpha68k_V)
+ MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,alpha68k_V)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2196,7 +2196,7 @@ MACHINE_CONFIG_START(alpha68k_state::alpha68k_V)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(xRGBRRRRGGGGBBBB_bit0)
- set_video_start_cb(config, driver_callback_delegate(&video_start_alpha68k, this));
+ MCFG_VIDEO_START_OVERRIDE(alpha68k_state,alpha68k)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -2234,8 +2234,8 @@ MACHINE_CONFIG_START(alpha68k_state::tnextspc)
MCFG_DEVICE_PROGRAM_MAP(tnextspc_sound_map)
MCFG_DEVICE_IO_MAP(tnextspc_sound_portmap)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_common, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_common, this));
+ MCFG_MACHINE_START_OVERRIDE(alpha68k_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/alto2.cpp b/src/mame/drivers/alto2.cpp
index deb7ec0d1bf..770ad0e0995 100644
--- a/src/mame/drivers/alto2.cpp
+++ b/src/mame/drivers/alto2.cpp
@@ -31,7 +31,7 @@ public:
{ }
void init_alto2();
- void machine_reset_alto2();
+ DECLARE_MACHINE_RESET(alto2);
void alto2(machine_config &config);
void alto2_const_map(address_map &map);
diff --git a/src/mame/drivers/ambush.cpp b/src/mame/drivers/ambush.cpp
index 700fa96ef28..051fd5bf2d6 100644
--- a/src/mame/drivers/ambush.cpp
+++ b/src/mame/drivers/ambush.cpp
@@ -87,9 +87,9 @@ public:
DECLARE_WRITE_LINE_MEMBER(color_bank_1_w);
DECLARE_WRITE_LINE_MEMBER(color_bank_2_w);
- void machine_start_ambush() ATTR_COLD;
- void machine_start_mariobl() ATTR_COLD;
- void machine_start_dkong3abl() ATTR_COLD;
+ DECLARE_MACHINE_START(ambush);
+ DECLARE_MACHINE_START(mariobl);
+ DECLARE_MACHINE_START(dkong3abl);
DECLARE_WRITE_LINE_MEMBER(coin_counter_1_w);
DECLARE_WRITE_LINE_MEMBER(coin_counter_2_w);
@@ -637,7 +637,7 @@ void ambush_state::register_save_states()
save_item(NAME(m_color_bank));
}
-void ambush_state::machine_start_ambush()
+MACHINE_START_MEMBER( ambush_state, ambush )
{
register_save_states();
@@ -647,7 +647,7 @@ void ambush_state::machine_start_ambush()
m_char_tilemap->set_scroll_cols(32);
}
-void ambush_state::machine_start_mariobl()
+MACHINE_START_MEMBER( ambush_state, mariobl )
{
register_save_states();
@@ -657,7 +657,7 @@ void ambush_state::machine_start_mariobl()
m_gfxdecode->gfx(0)->set_granularity(8);
}
-void ambush_state::machine_start_dkong3abl()
+MACHINE_START_MEMBER( ambush_state, dkong3abl )
{
register_save_states();
@@ -704,7 +704,7 @@ MACHINE_CONFIG_START(ambush_state::ambush)
MCFG_WATCHDOG_ADD("watchdog")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ambush, this));
+ MCFG_MACHINE_START_OVERRIDE(ambush_state, ambush)
// video hardware
MCFG_SCREEN_ADD("screen", RASTER)
@@ -740,7 +740,7 @@ MACHINE_CONFIG_START(ambush_state::mariobl)
MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(WRITELINE(*this, ambush_state, coin_counter_1_w))
MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(WRITELINE(*this, ambush_state, color_bank_1_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mariobl, this));
+ MCFG_MACHINE_START_OVERRIDE(ambush_state, mariobl)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(ambush_state, screen_update_bootleg)
@@ -761,7 +761,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(ambush_state::dkong3abl)
mariobl(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_dkong3abl, this));
+ MCFG_MACHINE_START_OVERRIDE(ambush_state, dkong3abl)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_dkong3abl)
diff --git a/src/mame/drivers/amiga.cpp b/src/mame/drivers/amiga.cpp
index a6abf696a67..26144756786 100644
--- a/src/mame/drivers/amiga.cpp
+++ b/src/mame/drivers/amiga.cpp
@@ -1378,7 +1378,7 @@ MACHINE_CONFIG_START(amiga_state::amiga_base)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_INIT_OWNER(amiga_state, amiga)
- set_video_start_cb(config, driver_callback_delegate(&video_start_amiga, this));
+ MCFG_VIDEO_START_OVERRIDE(amiga_state, amiga)
// cia
MCFG_DEVICE_ADD("cia_0", MOS8520, amiga_state::CLK_E_PAL)
@@ -1788,7 +1788,7 @@ MACHINE_CONFIG_START(a1200_state::a1200)
MCFG_DEVICE_REMOVE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_amiga_aga, this));
+ MCFG_VIDEO_START_OVERRIDE(amiga_state, amiga_aga)
MCFG_GAYLE_ADD("gayle", amiga_state::CLK_28M_PAL / 2, a1200_state::GAYLE_ID)
MCFG_GAYLE_INT2_HANDLER(WRITELINE(*this, a1200_state, gayle_int2_w))
@@ -1853,7 +1853,7 @@ MACHINE_CONFIG_START(a4000_state::a4000)
MCFG_DEVICE_REMOVE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_amiga_aga, this));
+ MCFG_VIDEO_START_OVERRIDE(amiga_state, amiga_aga)
// real-time clock
MCFG_DEVICE_ADD("rtc", RP5C01, XTAL(32'768))
@@ -1944,7 +1944,7 @@ MACHINE_CONFIG_START(cd32_state::cd32)
MCFG_DEVICE_REMOVE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_amiga_aga, this));
+ MCFG_VIDEO_START_OVERRIDE(amiga_state, amiga_aga)
MCFG_DEVICE_ADD("cdda", CDDA)
MCFG_SOUND_ROUTE(0, "lspeaker", 0.50)
diff --git a/src/mame/drivers/ampoker2.cpp b/src/mame/drivers/ampoker2.cpp
index f673024b01e..e9ae00f0d29 100644
--- a/src/mame/drivers/ampoker2.cpp
+++ b/src/mame/drivers/ampoker2.cpp
@@ -1185,9 +1185,10 @@ MACHINE_CONFIG_START(ampoker2_state::sigma2k)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_sigma2k)
- set_video_start_cb(config, driver_callback_delegate(&video_start_sigma2k, this));
+ MCFG_VIDEO_START_OVERRIDE(ampoker2_state, sigma2k)
MACHINE_CONFIG_END
+
/*************************
* Rom Load *
*************************/
diff --git a/src/mame/drivers/ampro.cpp b/src/mame/drivers/ampro.cpp
index 0239e7a9590..8aa098b91b2 100644
--- a/src/mame/drivers/ampro.cpp
+++ b/src/mame/drivers/ampro.cpp
@@ -45,7 +45,7 @@ public:
{ }
void init_ampro();
- void machine_reset_ampro();
+ DECLARE_MACHINE_RESET(ampro);
TIMER_DEVICE_CALLBACK_MEMBER(ctc_tick);
DECLARE_WRITE8_MEMBER(port00_w);
DECLARE_READ8_MEMBER(io_r);
@@ -134,7 +134,7 @@ static void ampro_floppies(device_slot_interface &device)
static INPUT_PORTS_START( ampro )
INPUT_PORTS_END
-void ampro_state::machine_reset_ampro()
+MACHINE_RESET_MEMBER( ampro_state, ampro )
{
membank("bankr0")->set_entry(0); // point at rom
membank("bankw0")->set_entry(0); // always write to ram
@@ -155,7 +155,7 @@ MACHINE_CONFIG_START(ampro_state::ampro)
MCFG_DEVICE_PROGRAM_MAP(ampro_mem)
MCFG_DEVICE_IO_MAP(ampro_io)
MCFG_Z80_DAISY_CHAIN(daisy_chain_intf)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ampro, this));
+ MCFG_MACHINE_RESET_OVERRIDE(ampro_state, ampro)
MCFG_DEVICE_ADD("ctc_clock", CLOCK, XTAL(16'000'000) / 8) // 2MHz
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE("ctc", z80ctc_device, trg0))
diff --git a/src/mame/drivers/amstrad.cpp b/src/mame/drivers/amstrad.cpp
index fc24ebc11f1..11058588fc4 100644
--- a/src/mame/drivers/amstrad.cpp
+++ b/src/mame/drivers/amstrad.cpp
@@ -916,8 +916,8 @@ MACHINE_CONFIG_START(amstrad_state::amstrad_base)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_amstrad, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_amstrad, this));
+ MCFG_MACHINE_START_OVERRIDE(amstrad_state, amstrad )
+ MCFG_MACHINE_RESET_OVERRIDE(amstrad_state, amstrad )
MCFG_DEVICE_ADD("ppi8255", I8255, 0)
MCFG_I8255_IN_PORTA_CB(READ8(*this, amstrad_state, amstrad_ppi_porta_r))
@@ -944,7 +944,7 @@ MACHINE_CONFIG_START(amstrad_state::amstrad_base)
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(*this, amstrad_state, amstrad_vsync_changed))
MCFG_MC6845_OUT_CUR_CB(WRITELINE("exp", cpc_expansion_slot_device, cursor_w))
- set_video_start_cb(config, driver_callback_delegate(&video_start_amstrad, this));
+ MCFG_VIDEO_START_OVERRIDE(amstrad_state,amstrad)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1027,8 +1027,8 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(amstrad_state::kccomp)
cpc6128(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_kccomp, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_kccomp, this));
+ MCFG_MACHINE_START_OVERRIDE(amstrad_state,kccomp)
+ MCFG_MACHINE_RESET_OVERRIDE(amstrad_state,kccomp)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_INIT_OWNER(amstrad_state,kccomp)
@@ -1044,8 +1044,8 @@ MACHINE_CONFIG_START(amstrad_state::cpcplus)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_plus, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_plus, this));
+ MCFG_MACHINE_START_OVERRIDE(amstrad_state, plus )
+ MCFG_MACHINE_RESET_OVERRIDE(amstrad_state, plus )
MCFG_DEVICE_ADD("ppi8255", I8255, 0)
MCFG_I8255_IN_PORTA_CB(READ8(*this, amstrad_state, amstrad_ppi_porta_r))
@@ -1071,7 +1071,7 @@ MACHINE_CONFIG_START(amstrad_state::cpcplus)
MCFG_MC6845_OUT_HSYNC_CB(WRITELINE(*this, amstrad_state, amstrad_plus_hsync_changed))
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(*this, amstrad_state, amstrad_plus_vsync_changed))
- set_video_start_cb(config, driver_callback_delegate(&video_start_amstrad, this));
+ MCFG_VIDEO_START_OVERRIDE(amstrad_state,amstrad)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1122,8 +1122,8 @@ MACHINE_CONFIG_START(amstrad_state::gx4000)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_gx4000, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_gx4000, this));
+ MCFG_MACHINE_START_OVERRIDE(amstrad_state, gx4000 )
+ MCFG_MACHINE_RESET_OVERRIDE(amstrad_state, gx4000 )
MCFG_DEVICE_ADD("ppi8255", I8255, 0)
MCFG_I8255_IN_PORTA_CB(READ8(*this, amstrad_state, amstrad_ppi_porta_r))
@@ -1149,7 +1149,7 @@ MACHINE_CONFIG_START(amstrad_state::gx4000)
MCFG_MC6845_OUT_HSYNC_CB(WRITELINE(*this, amstrad_state, amstrad_plus_hsync_changed))
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(*this, amstrad_state, amstrad_plus_vsync_changed))
- set_video_start_cb(config, driver_callback_delegate(&video_start_amstrad, this));
+ MCFG_VIDEO_START_OVERRIDE(amstrad_state,amstrad)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1167,8 +1167,8 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(amstrad_state::aleste)
cpc6128(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_aleste, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_aleste, this));
+ MCFG_MACHINE_START_OVERRIDE(amstrad_state,aleste)
+ MCFG_MACHINE_RESET_OVERRIDE(amstrad_state,aleste)
MCFG_DEVICE_REPLACE("ay", AY8912, XTAL(16'000'000) / 16)
MCFG_AY8910_PORT_A_READ_CB(READ8(*this, amstrad_state, amstrad_psg_porta_read)) /* portA read */
diff --git a/src/mame/drivers/amust.cpp b/src/mame/drivers/amust.cpp
index e47ab9ff141..0301b5ba7f6 100644
--- a/src/mame/drivers/amust.cpp
+++ b/src/mame/drivers/amust.cpp
@@ -115,7 +115,7 @@ public:
{ }
void init_amust();
- void machine_reset_amust();
+ DECLARE_MACHINE_RESET(amust);
DECLARE_READ8_MEMBER(port04_r);
DECLARE_WRITE8_MEMBER(port04_w);
DECLARE_READ8_MEMBER(port05_r);
@@ -353,7 +353,7 @@ MC6845_UPDATE_ROW( amust_state::crtc_update_row )
}
}
-void amust_state::machine_reset_amust()
+MACHINE_RESET_MEMBER( amust_state, amust )
{
membank("bankr0")->set_entry(0); // point at rom
membank("bankw0")->set_entry(0); // always write to ram
@@ -382,7 +382,7 @@ MACHINE_CONFIG_START(amust_state::amust)
MCFG_DEVICE_PROGRAM_MAP(mem_map)
MCFG_DEVICE_IO_MAP(io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", amust_state, irq_vs)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_amust, this));
+ MCFG_MACHINE_RESET_OVERRIDE(amust_state, amust)
/* video hardware */
MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
diff --git a/src/mame/drivers/apogee.cpp b/src/mame/drivers/apogee.cpp
index a99042b5025..44b8bd4b2fb 100644
--- a/src/mame/drivers/apogee.cpp
+++ b/src/mame/drivers/apogee.cpp
@@ -219,7 +219,7 @@ MACHINE_CONFIG_START(apogee_state::apogee)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", I8080, XTAL(16'000'000) / 9)
MCFG_DEVICE_PROGRAM_MAP(apogee_mem)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_radio86, this));
+ MCFG_MACHINE_RESET_OVERRIDE(apogee_state, radio86 )
MCFG_DEVICE_ADD("pit8253", PIT8253, 0)
MCFG_PIT8253_CLK0(XTAL(16'000'000)/9)
diff --git a/src/mame/drivers/apollo.cpp b/src/mame/drivers/apollo.cpp
index 9529344e570..5945699ebd7 100644
--- a/src/mame/drivers/apollo.cpp
+++ b/src/mame/drivers/apollo.cpp
@@ -910,7 +910,7 @@ void apollo_state::machine_reset()
{
MLOG1(("machine_reset"));
- machine_reset_apollo();
+ MACHINE_RESET_CALL_MEMBER(apollo);
#ifdef APOLLO_XXL
// set configuration
@@ -934,7 +934,7 @@ WRITE_LINE_MEMBER(apollo_state::apollo_reset_instr_callback)
MLOG1(("apollo_reset_instr_callback"));
// reset the CPU board devices
- machine_reset_apollo();
+ MACHINE_RESET_CALL_MEMBER(apollo);
// reset the ISA bus devices
m_isa->reset();
@@ -960,7 +960,7 @@ void apollo_state::machine_start(){
// clear ram
memset(messram->ptr(), 0x55, messram->bytes());
- machine_start_apollo();
+ MACHINE_START_CALL_MEMBER(apollo);
// install nop handlers for unmapped ISA bus addresses
m_isa->install16_device((ATBUS_IO_BASE - 0x40000) >> 7, (ATBUS_IO_END - 0x40000) >> 7, read16_delegate(FUNC(apollo_state::apollo_atbus_unmap_io_r), this), write16_delegate(FUNC(apollo_state::apollo_atbus_unmap_io_w), this));
diff --git a/src/mame/drivers/apple2.cpp b/src/mame/drivers/apple2.cpp
index b27767ea127..b29ca760a8e 100644
--- a/src/mame/drivers/apple2.cpp
+++ b/src/mame/drivers/apple2.cpp
@@ -1486,7 +1486,7 @@ MACHINE_CONFIG_END
#if 0
static MACHINE_CONFIG_START( laba2p )
apple2p(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_laba2p, this));
+ MCFG_MACHINE_START_OVERRIDE(napple2_state,laba2p)
MCFG_DEVICE_REMOVE("sl0")
MCFG_DEVICE_REMOVE("sl3")
diff --git a/src/mame/drivers/apple2gs.cpp b/src/mame/drivers/apple2gs.cpp
index 81a06b4bb5f..de0a78d1d38 100644
--- a/src/mame/drivers/apple2gs.cpp
+++ b/src/mame/drivers/apple2gs.cpp
@@ -342,10 +342,10 @@ MACHINE_CONFIG_START(apple2gs_state::apple2gs)
MCFG_PALETTE_INIT_OWNER(apple2gs_state, apple2gs)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_apple2gs )
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_apple2gs, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_apple2gs, this));
+ MCFG_MACHINE_START_OVERRIDE(apple2gs_state, apple2gs )
+ MCFG_MACHINE_RESET_OVERRIDE(apple2gs_state, apple2gs )
- set_video_start_cb(config, driver_callback_delegate(&video_start_apple2gs, this));
+ MCFG_VIDEO_START_OVERRIDE(apple2gs_state, apple2gs )
/* keyboard controller */
MCFG_DEVICE_ADD("ay3600", AY3600, 0)
@@ -425,7 +425,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(apple2gs_state::apple2gsr1)
apple2gs(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_apple2gsr1, this));
+ MCFG_MACHINE_START_OVERRIDE(apple2gs_state, apple2gsr1 )
#if RUN_ADB_MICRO
MCFG_DEVICE_REPLACE(ADBMICRO_TAG, M50740, XTAL(3'579'545))
diff --git a/src/mame/drivers/apple3.cpp b/src/mame/drivers/apple3.cpp
index a5a63613f6a..a36170413c6 100644
--- a/src/mame/drivers/apple3.cpp
+++ b/src/mame/drivers/apple3.cpp
@@ -60,7 +60,7 @@ MACHINE_CONFIG_START(apple3_state::apple3)
MCFG_DEVICE_PROGRAM_MAP(apple3_map)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_apple3, this));
+ MCFG_MACHINE_RESET_OVERRIDE(apple3_state, apple3 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -74,7 +74,7 @@ MACHINE_CONFIG_START(apple3_state::apple3)
MCFG_PALETTE_ADD("palette", 32)
MCFG_PALETTE_INIT_OWNER(apple3_state, apple3 )
- set_video_start_cb(config, driver_callback_delegate(&video_start_apple3, this));
+ MCFG_VIDEO_START_OVERRIDE(apple3_state, apple3 )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", apple3_state, apple3_interrupt, "screen", 0, 1)
diff --git a/src/mame/drivers/argus.cpp b/src/mame/drivers/argus.cpp
index 7c9c3c3922c..5e1501ba75c 100644
--- a/src/mame/drivers/argus.cpp
+++ b/src/mame/drivers/argus.cpp
@@ -508,8 +508,8 @@ MACHINE_CONFIG_START(argus_state::argus)
MCFG_DEVICE_ADD("blend", JALECO_BLEND, 0)
- set_video_start_cb(config, driver_callback_delegate(&video_start_argus, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_argus, this));
+ MCFG_VIDEO_START_OVERRIDE(argus_state,argus)
+ MCFG_VIDEO_RESET_OVERRIDE(argus_state,argus)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -550,8 +550,8 @@ MACHINE_CONFIG_START(argus_state::valtric)
MCFG_DEVICE_ADD("blend", JALECO_BLEND, 0)
- set_video_start_cb(config, driver_callback_delegate(&video_start_valtric, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_valtric, this));
+ MCFG_VIDEO_START_OVERRIDE(argus_state,valtric)
+ MCFG_VIDEO_RESET_OVERRIDE(argus_state,valtric)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -598,8 +598,8 @@ MACHINE_CONFIG_START(argus_state::butasan)
MCFG_DEVICE_ADD("blend", JALECO_BLEND, 0)
- set_video_start_cb(config, driver_callback_delegate(&video_start_butasan, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_butasan, this));
+ MCFG_VIDEO_START_OVERRIDE(argus_state,butasan)
+ MCFG_VIDEO_RESET_OVERRIDE(argus_state,butasan)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/armedf.cpp b/src/mame/drivers/armedf.cpp
index f1b7c88b34d..8dcaaf19346 100644
--- a/src/mame/drivers/armedf.cpp
+++ b/src/mame/drivers/armedf.cpp
@@ -1225,7 +1225,7 @@ GFXDECODE_END
*
*************************************/
-void armedf_state::machine_start_armedf()
+MACHINE_START_MEMBER(armedf_state,armedf)
{
save_item(NAME(m_old_mcu_mode));
save_item(NAME(m_scroll_msb));
@@ -1237,7 +1237,7 @@ void armedf_state::machine_start_armedf()
save_item(NAME(m_bg_scrolly));
}
-void armedf_state::machine_reset_armedf()
+MACHINE_RESET_MEMBER(armedf_state,armedf)
{
m_old_mcu_mode = 0;
m_scroll_msb = 0;
@@ -1277,8 +1277,8 @@ MACHINE_CONFIG_START(armedf_state::terraf)
MCFG_DEVICE_PROGRAM_MAP(terraf_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", armedf_state, irq1_line_assert)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_armedf, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_armedf, this));
+ MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf)
+ MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf)
MCFG_DEVICE_ADD("nb1414m4", NB1414M4, 0)
@@ -1290,7 +1290,7 @@ MACHINE_CONFIG_START(armedf_state::terraf)
MCFG_SCREEN_VISIBLE_AREA(12*8, (64-12)*8-1, 1*8, 31*8-1 )
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_terraf, this));
+ MCFG_VIDEO_START_OVERRIDE(armedf_state,terraf)
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
@@ -1321,8 +1321,8 @@ MACHINE_CONFIG_START(armedf_state::terrafjb)
MCFG_DEVICE_PROGRAM_MAP(terrafjb_extraz80_map)
MCFG_DEVICE_IO_MAP(terrafjb_extraz80_portmap)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_armedf, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_armedf, this));
+ MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf)
+ MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1332,7 +1332,7 @@ MACHINE_CONFIG_START(armedf_state::terrafjb)
MCFG_SCREEN_VISIBLE_AREA(12*8, (64-12)*8-1, 1*8, 31*8-1 )
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_terraf, this));
+ MCFG_VIDEO_START_OVERRIDE(armedf_state,terraf)
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
@@ -1369,8 +1369,8 @@ MACHINE_CONFIG_START(armedf_state::kozure)
MCFG_DEVICE_PROGRAM_MAP(kozure_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", armedf_state, irq1_line_assert)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_armedf, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_armedf, this));
+ MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf)
+ MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf)
MCFG_DEVICE_ADD("nb1414m4", NB1414M4, 0)
@@ -1382,7 +1382,7 @@ MACHINE_CONFIG_START(armedf_state::kozure)
MCFG_SCREEN_VISIBLE_AREA(12*8, (64-12)*8-1, 1*8, 31*8-1 ) // 320 x 240, trusted
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_terraf, this));
+ MCFG_VIDEO_START_OVERRIDE(armedf_state,terraf)
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
@@ -1408,8 +1408,8 @@ MACHINE_CONFIG_START(armedf_state::armedf)
MCFG_DEVICE_IO_MAP(sound_portmap)
MCFG_DEVICE_PERIODIC_INT_DRIVER(armedf_state, irq0_line_hold, XTAL(8'000'000)/2/512) // ?
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_armedf, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_armedf, this));
+ MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf)
+ MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1419,7 +1419,7 @@ MACHINE_CONFIG_START(armedf_state::armedf)
MCFG_SCREEN_VISIBLE_AREA(12*8, (64-12)*8-1, 1*8, 31*8-1 )
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_armedf, this));
+ MCFG_VIDEO_START_OVERRIDE(armedf_state,armedf)
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
@@ -1456,8 +1456,8 @@ MACHINE_CONFIG_START(armedf_state::cclimbr2)
MCFG_DEVICE_IO_MAP(sound_portmap)
MCFG_DEVICE_PERIODIC_INT_DRIVER(armedf_state, irq0_line_hold, XTAL(8'000'000)/2/512) // ?
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_armedf, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_armedf, this));
+ MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf)
+ MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf)
MCFG_DEVICE_ADD("nb1414m4", NB1414M4, 0)
@@ -1469,7 +1469,7 @@ MACHINE_CONFIG_START(armedf_state::cclimbr2)
MCFG_SCREEN_VISIBLE_AREA(14*8, (64-14)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_terraf, this));
+ MCFG_VIDEO_START_OVERRIDE(armedf_state,terraf)
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
@@ -1506,8 +1506,8 @@ MACHINE_CONFIG_START(armedf_state::legion)
MCFG_DEVICE_IO_MAP(sound_3526_portmap)
MCFG_DEVICE_PERIODIC_INT_DRIVER(armedf_state, irq0_line_hold, XTAL(8'000'000)/2/512) // ?
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_armedf, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_armedf, this));
+ MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf)
+ MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf)
MCFG_DEVICE_ADD("nb1414m4", NB1414M4, 0)
@@ -1519,7 +1519,7 @@ MACHINE_CONFIG_START(armedf_state::legion)
MCFG_SCREEN_VISIBLE_AREA(14*8, (64-14)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_terraf, this));
+ MCFG_VIDEO_START_OVERRIDE(armedf_state,terraf)
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
@@ -1556,8 +1556,8 @@ MACHINE_CONFIG_START(armedf_state::legionjb)
MCFG_DEVICE_IO_MAP(sound_portmap)
MCFG_DEVICE_PERIODIC_INT_DRIVER(armedf_state, irq0_line_hold, XTAL(8'000'000)/2/512) // ?
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_armedf, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_armedf, this));
+ MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf)
+ MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1567,7 +1567,7 @@ MACHINE_CONFIG_START(armedf_state::legionjb)
MCFG_SCREEN_VISIBLE_AREA(14*8, (64-14)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_terraf, this));
+ MCFG_VIDEO_START_OVERRIDE(armedf_state,terraf)
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
@@ -1603,15 +1603,15 @@ MACHINE_CONFIG_START(bigfghtr_state::bigfghtr)
MCFG_DEVICE_IO_MAP(bigfghtr_mcu_io_map)
MCFG_MCS51_PORT_P1_IN_CB(CONSTANT(0xdf)) // bit 5: bus contention related?
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_armedf, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_armedf, this));
+ MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf)
+ MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL(16'000'000)/2,531,12*8,(64-12)*8, 254, 1*8, 31*8) // guess, matches 59.3 Hz from reference - measured at 59.1358Hz
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_armedf, this));
+ MCFG_VIDEO_START_OVERRIDE(armedf_state,armedf)
MCFG_SCREEN_UPDATE_DRIVER(armedf_state, screen_update_armedf)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
diff --git a/src/mame/drivers/arsystems.cpp b/src/mame/drivers/arsystems.cpp
index a68bb956881..df591d2cad7 100644
--- a/src/mame/drivers/arsystems.cpp
+++ b/src/mame/drivers/arsystems.cpp
@@ -319,7 +319,7 @@ MACHINE_CONFIG_START(arcadia_amiga_state::arcadia)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_INIT_OWNER(arcadia_amiga_state,amiga)
- set_video_start_cb(config, driver_callback_delegate(&video_start_amiga, this));
+ MCFG_VIDEO_START_OVERRIDE(arcadia_amiga_state,amiga)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
diff --git a/src/mame/drivers/astinvad.cpp b/src/mame/drivers/astinvad.cpp
index df2c07e515f..332ae0377b0 100644
--- a/src/mame/drivers/astinvad.cpp
+++ b/src/mame/drivers/astinvad.cpp
@@ -81,11 +81,11 @@ public:
DECLARE_WRITE8_MEMBER(spcking2_sound3_w);
void init_kamikaze();
void init_spcking2();
- void machine_start_kamikaze() ATTR_COLD;
- void machine_reset_kamikaze();
- void machine_start_spaceint() ATTR_COLD;
- void machine_reset_spaceint();
- void video_start_spaceint() ATTR_COLD;
+ DECLARE_MACHINE_START(kamikaze);
+ DECLARE_MACHINE_RESET(kamikaze);
+ DECLARE_MACHINE_START(spaceint);
+ DECLARE_MACHINE_RESET(spaceint);
+ DECLARE_VIDEO_START(spaceint);
uint32_t screen_update_astinvad(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_spcking2(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_spaceint(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
@@ -130,7 +130,7 @@ private:
*
*************************************/
-void astinvad_state::video_start_spaceint()
+VIDEO_START_MEMBER(astinvad_state,spaceint)
{
m_colorram = std::make_unique<uint8_t[]>(m_videoram.bytes());
@@ -280,7 +280,7 @@ TIMER_CALLBACK_MEMBER(astinvad_state::kamizake_int_gen)
}
-void astinvad_state::machine_start_kamikaze()
+MACHINE_START_MEMBER(astinvad_state,kamikaze)
{
m_int_timer = timer_alloc(TIMER_INT_GEN);
m_int_timer->adjust(m_screen->time_until_pos(128), 128);
@@ -291,7 +291,7 @@ void astinvad_state::machine_start_kamikaze()
save_item(NAME(m_sound_state));
}
-void astinvad_state::machine_reset_kamikaze()
+MACHINE_RESET_MEMBER(astinvad_state,kamikaze)
{
m_screen_flip = 0;
m_screen_red = 0;
@@ -300,13 +300,13 @@ void astinvad_state::machine_reset_kamikaze()
}
-void astinvad_state::machine_start_spaceint()
+MACHINE_START_MEMBER(astinvad_state,spaceint)
{
save_item(NAME(m_screen_flip));
save_item(NAME(m_sound_state));
}
-void astinvad_state::machine_reset_spaceint()
+MACHINE_RESET_MEMBER(astinvad_state,spaceint)
{
m_screen_flip = 0;
m_sound_state[0] = 0;
@@ -670,8 +670,8 @@ MACHINE_CONFIG_START(astinvad_state::kamikaze)
MCFG_DEVICE_PROGRAM_MAP(kamikaze_map)
MCFG_DEVICE_IO_MAP(kamikaze_portmap)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_kamikaze, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_kamikaze, this));
+ MCFG_MACHINE_START_OVERRIDE(astinvad_state, kamikaze)
+ MCFG_MACHINE_RESET_OVERRIDE(astinvad_state, kamikaze)
MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0)
MCFG_I8255_IN_PORTA_CB(IOPORT("IN0"))
@@ -723,11 +723,11 @@ MACHINE_CONFIG_START(astinvad_state::spaceint)
MCFG_DEVICE_IO_MAP(spaceint_portmap)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", astinvad_state, irq0_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_spaceint, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_spaceint, this));
+ MCFG_MACHINE_START_OVERRIDE(astinvad_state, spaceint)
+ MCFG_MACHINE_RESET_OVERRIDE(astinvad_state, spaceint)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_spaceint, this));
+ MCFG_VIDEO_START_OVERRIDE(astinvad_state, spaceint)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_SIZE(32*8, 32*8)
diff --git a/src/mame/drivers/astrafr.cpp b/src/mame/drivers/astrafr.cpp
index df82d4db552..e45938f61f6 100644
--- a/src/mame/drivers/astrafr.cpp
+++ b/src/mame/drivers/astrafr.cpp
@@ -114,10 +114,10 @@ public:
void init_astradec();
void init_astradec_dual();
void init_astradec_sml_dual();
- void machine_start_astra_common() ATTR_COLD;
- void machine_start_astra_2e() ATTR_COLD;
- void machine_start_astra_37() ATTR_COLD;
- void machine_start_astra_57() ATTR_COLD;
+ DECLARE_MACHINE_START(astra_common);
+ DECLARE_MACHINE_START(astra_2e);
+ DECLARE_MACHINE_START(astra_37);
+ DECLARE_MACHINE_START(astra_57);
void astra_single(machine_config &config);
void astra_single_alt(machine_config &config);
void astrafr_dual(machine_config &config);
@@ -273,7 +273,7 @@ void astrafr_state::astrafr_slave_map(address_map &map)
static INPUT_PORTS_START( astrafr )
INPUT_PORTS_END
-void astrafr_state::machine_start_astra_common()
+MACHINE_START_MEMBER(astrafr_state,astra_common)
{
m_cpuregion = (uint32_t*)memregion( "maincpu" )->base();
m_cpuregion_size = memregion( "maincpu" )->bytes()/4;
@@ -290,20 +290,20 @@ void astrafr_state::machine_start_astra_common()
}
/* the FPGA area read/write addresses move around ... */
-void astrafr_state::machine_start_astra_37()
+MACHINE_START_MEMBER(astrafr_state,astra_37)
{
fgpa_after_rom_write_addr = 0x30;
fgpa_first_read_addr = 0x33;
fgpa_rom_write_addr = 0x37;
- machine_start_astra_common();
+ MACHINE_START_CALL_MEMBER(astra_common);
}
-void astrafr_state::machine_start_astra_2e()
+MACHINE_START_MEMBER(astrafr_state,astra_2e)
{
fgpa_after_rom_write_addr = 0x20;
fgpa_first_read_addr = 0x23;
fgpa_rom_write_addr = 0x2e;
- machine_start_astra_common();
+ MACHINE_START_CALL_MEMBER(astra_common);
}
@@ -314,17 +314,17 @@ MACHINE_CONFIG_START(astrafr_state::astrafr_dual)
MCFG_DEVICE_ADD("slavecpu", M68340, 16000000)
MCFG_DEVICE_PROGRAM_MAP(astrafr_slave_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_astra_common, this));
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_common )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(astrafr_state::astrafr_dual_2e)
astrafr_dual(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_astra_2e, this));
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_2e )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(astrafr_state::astrafr_dual_37)
astrafr_dual(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_astra_37, this));
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_37 )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(astrafr_state::astrafr_dual_alt)
@@ -337,7 +337,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(astrafr_state::astrafr_dual_alt_37)
astrafr_dual_alt(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_astra_37, this));
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_37 )
MACHINE_CONFIG_END
@@ -345,42 +345,42 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(astrafr_state::astra_single)
MCFG_DEVICE_ADD("maincpu", M68340, 16000000)
MCFG_DEVICE_PROGRAM_MAP(astra_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_astra_common, this));
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_common )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(astrafr_state::astra_single_37)
astra_single(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_astra_37, this));
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_37 )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(astrafr_state::astra_single_2e)
astra_single(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_astra_2e, this));
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_2e )
MACHINE_CONFIG_END
-void astrafr_state::machine_start_astra_57()
+MACHINE_START_MEMBER(astrafr_state,astra_57)
{
// fgpa_after_rom_write_addr = 0x20;
// fgpa_first_read_addr = 0x23;
fgpa_rom_write_addr = 0x57;
- machine_start_astra_common();
+ MACHINE_START_CALL_MEMBER(astra_common);
}
MACHINE_CONFIG_START(astrafr_state::astra_single_alt)
MCFG_DEVICE_ADD("maincpu", M68340, 16000000)
MCFG_DEVICE_PROGRAM_MAP(astra_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_astra_common, this));
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_common )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(astrafr_state::astra_single_alt_57)
astra_single_alt(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_astra_57, this));
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_57 )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(astrafr_state::astra_single_alt_37)
astra_single_alt(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_astra_37, this));
+ MCFG_MACHINE_START_OVERRIDE(astrafr_state, astra_37 )
MACHINE_CONFIG_END
/* are the ptM roms Master and ptS roms Slave?
diff --git a/src/mame/drivers/astrcorp.cpp b/src/mame/drivers/astrcorp.cpp
index 75dfa3647dd..87baae01025 100644
--- a/src/mame/drivers/astrcorp.cpp
+++ b/src/mame/drivers/astrcorp.cpp
@@ -89,7 +89,7 @@ public:
void init_astoneag();
void init_showhanc();
void init_showhand();
- void video_start_astrocorp() ATTR_COLD;
+ DECLARE_VIDEO_START(astrocorp);
uint32_t screen_update_astrocorp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(skilldrp_scanline);
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -107,7 +107,7 @@ public:
Video
***************************************************************************/
-void astrocorp_state::video_start_astrocorp()
+VIDEO_START_MEMBER(astrocorp_state,astrocorp)
{
m_screen->register_screen_bitmap(m_bitmap);
@@ -532,7 +532,7 @@ MACHINE_CONFIG_START(astrocorp_state::showhand)
MCFG_PALETTE_ADD("palette", 0x100)
MCFG_PALETTE_FORMAT(BBBBBGGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_astrocorp, this));
+ MCFG_VIDEO_START_OVERRIDE(astrocorp_state,astrocorp)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -587,7 +587,7 @@ MACHINE_CONFIG_START(astrocorp_state::skilldrp)
MCFG_PALETTE_ADD("palette", 0x100)
MCFG_PALETTE_FORMAT(BBBBBGGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_astrocorp, this));
+ MCFG_VIDEO_START_OVERRIDE(astrocorp_state,astrocorp)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/astrocde.cpp b/src/mame/drivers/astrocde.cpp
index b515b2d69e8..fcc56faf56b 100644
--- a/src/mame/drivers/astrocde.cpp
+++ b/src/mame/drivers/astrocde.cpp
@@ -1214,7 +1214,7 @@ MACHINE_CONFIG_START(astrocde_state::astrocade_16color_base)
MCFG_PALETTE_ENTRIES(4096)
MCFG_PALETTE_INIT_OWNER(astrocde_state,profpac)
- set_video_start_cb(config, driver_callback_delegate(&video_start_profpac, this));
+ MCFG_VIDEO_START_OVERRIDE(astrocde_state,profpac)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(astrocde_state, screen_update_profpac)
diff --git a/src/mame/drivers/astrof.cpp b/src/mame/drivers/astrof.cpp
index 94444fdf8e8..2b106afcd4c 100644
--- a/src/mame/drivers/astrof.cpp
+++ b/src/mame/drivers/astrof.cpp
@@ -464,7 +464,7 @@ READ8_MEMBER(astrof_state::tomahawk_protection_r)
*
*************************************/
-void astrof_state::machine_start_astrof()
+MACHINE_START_MEMBER(astrof_state,astrof)
{
/* the 74175 outputs all HI's if not otherwise set */
astrof_set_video_control_2(0xff);
@@ -482,16 +482,16 @@ void astrof_state::machine_start_astrof()
}
-void astrof_state::machine_start_abattle()
+MACHINE_START_MEMBER(astrof_state,abattle)
{
/* register for state saving */
save_item(NAME(m_abattle_count));
- machine_start_astrof();
+ MACHINE_START_CALL_MEMBER(astrof);
}
-void astrof_state::machine_start_spfghmk2()
+MACHINE_START_MEMBER(astrof_state,spfghmk2)
{
/* the 74175 outputs all HI's if not otherwise set */
spfghmk2_set_video_control_2(0xff);
@@ -507,7 +507,7 @@ void astrof_state::machine_start_spfghmk2()
}
-void astrof_state::machine_start_tomahawk()
+MACHINE_START_MEMBER(astrof_state,tomahawk)
{
/* the 74175 outputs all HI's if not otherwise set */
tomahawk_set_video_control_2(0xff);
@@ -526,7 +526,7 @@ void astrof_state::machine_start_tomahawk()
*
*************************************/
-void astrof_state::machine_reset_abattle()
+MACHINE_RESET_MEMBER(astrof_state,abattle)
{
m_abattle_count = 0;
}
@@ -933,7 +933,7 @@ MACHINE_CONFIG_START(astrof_state::astrof)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(astrof_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_astrof, this));
+ MCFG_MACHINE_START_OVERRIDE(astrof_state,astrof)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -949,8 +949,8 @@ MACHINE_CONFIG_START(astrof_state::abattle)
/* basic machine hardware */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_abattle, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_abattle, this));
+ MCFG_MACHINE_START_OVERRIDE(astrof_state,abattle)
+ MCFG_MACHINE_RESET_OVERRIDE(astrof_state,abattle)
MACHINE_CONFIG_END
@@ -961,7 +961,7 @@ MACHINE_CONFIG_START(astrof_state::spfghmk2)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(spfghmk2_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_spfghmk2, this));
+ MCFG_MACHINE_START_OVERRIDE(astrof_state,spfghmk2)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -979,7 +979,7 @@ MACHINE_CONFIG_START(astrof_state::tomahawk)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(tomahawk_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_tomahawk, this));
+ MCFG_MACHINE_START_OVERRIDE(astrof_state,tomahawk)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/astrohome.cpp b/src/mame/drivers/astrohome.cpp
index 2ca3838a757..36b5b254edc 100644
--- a/src/mame/drivers/astrohome.cpp
+++ b/src/mame/drivers/astrohome.cpp
@@ -35,7 +35,7 @@ public:
void astrocde(machine_config &config);
private:
DECLARE_READ8_MEMBER(inputs_r);
- void machine_start_astrocde() ATTR_COLD;
+ DECLARE_MACHINE_START(astrocde);
void astrocade_io(address_map &map);
void astrocade_mem(address_map &map);
@@ -220,7 +220,7 @@ MACHINE_CONFIG_START(astrocde_mess_state::astrocde)
MCFG_DEVICE_PROGRAM_MAP(astrocade_mem)
MCFG_DEVICE_IO_MAP(astrocade_io)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_astrocde, this));
+ MCFG_MACHINE_START_OVERRIDE(astrocde_mess_state, astrocde)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -284,7 +284,7 @@ void astrocde_state::init_astrocde()
m_video_config = AC_SOUND_PRESENT | AC_LIGHTPEN_INTS;
}
-void astrocde_mess_state::machine_start_astrocde()
+MACHINE_START_MEMBER(astrocde_mess_state, astrocde)
{
if (m_cart->exists())
m_maincpu->space(AS_PROGRAM).install_read_handler(0x2000, 0x3fff, read8_delegate(FUNC(astrocade_cart_slot_device::read_rom),(astrocade_cart_slot_device*)m_cart));
diff --git a/src/mame/drivers/at.cpp b/src/mame/drivers/at.cpp
index 275e71feb45..a3cb7974616 100644
--- a/src/mame/drivers/at.cpp
+++ b/src/mame/drivers/at.cpp
@@ -117,7 +117,7 @@ public:
DECLARE_READ16_MEMBER(ps1_unk_r);
DECLARE_WRITE16_MEMBER(ps1_unk_w);
DECLARE_READ8_MEMBER(ps1_portb_r);
- void machine_start_vrom_fix() ATTR_COLD;
+ DECLARE_MACHINE_START(vrom_fix);
void init_at_common(int xmsbase);
uint16_t m_ps1_reg[2];
@@ -397,7 +397,7 @@ void at_state::init_atpci()
init_at_common(0x100000);
}
-void at_state::machine_start_vrom_fix()
+MACHINE_START_MEMBER(at_state,vrom_fix)
{
address_space& space = m_maincpu->space(AS_PROGRAM);
space.install_read_bank(0xc0000, 0xcffff, "vrom_bank");
@@ -482,7 +482,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(at_state::ibmps1)
ibm5170(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_vrom_fix, this));
+ MCFG_MACHINE_START_OVERRIDE(at_state, vrom_fix)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(XTAL(10'000'000))
MCFG_DEVICE_PROGRAM_MAP(at16l_map)
@@ -704,7 +704,7 @@ MACHINE_CONFIG_START(at_state::megapcpla)
MCFG_DEVICE_PROGRAM_MAP(at32l_map)
MCFG_DEVICE_IO_MAP(at32_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259_master", pic8259_device, inta_cb)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_vrom_fix, this));
+ MCFG_MACHINE_START_OVERRIDE(at_state, vrom_fix)
MCFG_DEVICE_ADD("mb", AT_MB, 0)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
diff --git a/src/mame/drivers/atari400.cpp b/src/mame/drivers/atari400.cpp
index f572118d944..29c770ac580 100644
--- a/src/mame/drivers/atari400.cpp
+++ b/src/mame/drivers/atari400.cpp
@@ -261,13 +261,13 @@ public:
m_cart(*this, "cartleft"),
m_cart2(*this, "cartright") { }
- void machine_start_a400() ATTR_COLD;
- void machine_start_a800() ATTR_COLD;
- void machine_start_a800xl() ATTR_COLD;
- void machine_start_a5200() ATTR_COLD;
+ DECLARE_MACHINE_START(a400);
+ DECLARE_MACHINE_START(a800);
+ DECLARE_MACHINE_START(a800xl);
+ DECLARE_MACHINE_START(a5200);
DECLARE_PALETTE_INIT(a400);
- void machine_reset_a400();
+ DECLARE_MACHINE_RESET(a400);
DECLARE_WRITE8_MEMBER(gtia_cb);
@@ -2010,14 +2010,14 @@ TIMER_DEVICE_CALLBACK_MEMBER( a400_state::a5200_interrupt )
m_antic->generic_interrupt(4);
}
-void a400_state::machine_reset_a400()
+MACHINE_RESET_MEMBER( a400_state, a400 )
{
pokey_device *pokey = machine().device<pokey_device>("pokey");
pokey->write(15,0);
}
-void a400_state::machine_start_a400()
+MACHINE_START_MEMBER( a400_state, a400 )
{
setup_ram(0, m_ram->size());
setup_ram(1, m_ram->size());
@@ -2030,7 +2030,7 @@ void a400_state::machine_start_a400()
}
-void a400_state::machine_start_a800()
+MACHINE_START_MEMBER( a400_state, a800 )
{
setup_ram(0, m_ram->size());
setup_ram(1, m_ram->size());
@@ -2043,7 +2043,7 @@ void a400_state::machine_start_a800()
save_item(NAME(m_last_offs));
}
-void a400_state::machine_start_a800xl()
+MACHINE_START_MEMBER( a400_state, a800xl )
{
m_mmu = 0xfd;
m_ext_bank = 0x03; // only used by a130xe
@@ -2057,7 +2057,7 @@ void a400_state::machine_start_a800xl()
}
-void a400_state::machine_start_a5200()
+MACHINE_START_MEMBER( a400_state, a5200 )
{
setup_cart(m_cart);
@@ -2109,7 +2109,7 @@ MACHINE_CONFIG_START(a400_state::atari_common_nodac)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M6502, pokey_device::FREQ_17_EXACT)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_a400, this));
+ MCFG_MACHINE_RESET_OVERRIDE( a400_state, a400 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2187,7 +2187,7 @@ MACHINE_CONFIG_START(a400_state::a400)
MCFG_DEVICE_PROGRAM_MAP(a400_mem)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", a400_state, a400_interrupt, "screen", 0, 1)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_a400, this));
+ MCFG_MACHINE_START_OVERRIDE( a400_state, a400 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE_ANTIC_60HZ()
@@ -2206,7 +2206,7 @@ MACHINE_CONFIG_START(a400_state::a400pal)
MCFG_DEVICE_PROGRAM_MAP(a400_mem)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", a400_state, a400_interrupt, "screen", 0, 1)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_a400, this));
+ MCFG_MACHINE_START_OVERRIDE( a400_state, a400 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE_ANTIC_50HZ()
@@ -2225,7 +2225,7 @@ MACHINE_CONFIG_START(a400_state::a800)
MCFG_DEVICE_PROGRAM_MAP(a400_mem)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", a400_state, a400_interrupt, "screen", 0, 1)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_a800, this));
+ MCFG_MACHINE_START_OVERRIDE( a400_state, a800 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE_ANTIC_60HZ()
@@ -2246,7 +2246,7 @@ MACHINE_CONFIG_START(a400_state::a800pal)
MCFG_DEVICE_PROGRAM_MAP(a400_mem)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", a400_state, a400_interrupt, "screen", 0, 1)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_a800, this));
+ MCFG_MACHINE_START_OVERRIDE( a400_state, a800 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE_ANTIC_50HZ()
@@ -2270,7 +2270,7 @@ MACHINE_CONFIG_START(a400_state::a600xl)
MCFG_DEVICE_MODIFY("pia")
MCFG_PIA_WRITEPB_HANDLER(WRITE8(*this, a400_state, a600xl_pia_pb_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_a800xl, this));
+ MCFG_MACHINE_START_OVERRIDE( a400_state, a800xl )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE_ANTIC_60HZ()
@@ -2295,7 +2295,7 @@ MACHINE_CONFIG_START(a400_state::a800xl)
MCFG_DEVICE_MODIFY("pia")
MCFG_PIA_WRITEPB_HANDLER(WRITE8(*this, a400_state, a800xl_pia_pb_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_a800xl, this));
+ MCFG_MACHINE_START_OVERRIDE( a400_state, a800xl )
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("64K")
@@ -2394,7 +2394,7 @@ MACHINE_CONFIG_START(a400_state::a5200)
MCFG_PIA_READPB_HANDLER(NOOP) // FIXME: is there anything connected here
MCFG_PIA_CB2_HANDLER(NOOP) // FIXME: is there anything connected here
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_a5200, this));
+ MCFG_MACHINE_START_OVERRIDE( a400_state, a5200 )
MCFG_SCREEN_MODIFY( "screen" )
MCFG_SCREEN_REFRESH_RATE_ANTIC_60HZ()
diff --git a/src/mame/drivers/atarig1.cpp b/src/mame/drivers/atarig1.cpp
index e0270dda626..b0ee6e59eff 100644
--- a/src/mame/drivers/atarig1.cpp
+++ b/src/mame/drivers/atarig1.cpp
@@ -40,13 +40,13 @@ void atarig1_state::update_interrupts()
}
-void atarig1_state::machine_start_atarig1()
+MACHINE_START_MEMBER(atarig1_state,atarig1)
{
atarigen_state::machine_start();
}
-void atarig1_state::machine_reset_atarig1()
+MACHINE_RESET_MEMBER(atarig1_state,atarig1)
{
atarigen_state::machine_reset();
scanline_timer_reset(*m_screen, 8);
@@ -401,8 +401,8 @@ MACHINE_CONFIG_START(atarig1_state::atarig1)
MCFG_DEVICE_ADD("maincpu", M68000, ATARI_CLOCK_14MHz)
MCFG_DEVICE_PROGRAM_MAP(main_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_atarig1, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_atarig1, this));
+ MCFG_MACHINE_START_OVERRIDE(atarig1_state,atarig1)
+ MCFG_MACHINE_RESET_OVERRIDE(atarig1_state,atarig1)
MCFG_DEVICE_ADD("adc", ADC0809, ATARI_CLOCK_14MHz/16)
MCFG_ADC0808_IN0_CB(IOPORT("ADC0"))
@@ -431,7 +431,7 @@ MACHINE_CONFIG_START(atarig1_state::atarig1)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, atarig1_state, video_int_write_line))
- set_video_start_cb(config, driver_callback_delegate(&video_start_atarig1, this));
+ MCFG_VIDEO_START_OVERRIDE(atarig1_state,atarig1)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/atarig42.cpp b/src/mame/drivers/atarig42.cpp
index 91223b32952..2e38b4f05eb 100644
--- a/src/mame/drivers/atarig42.cpp
+++ b/src/mame/drivers/atarig42.cpp
@@ -545,7 +545,7 @@ MACHINE_CONFIG_START(atarig42_state::atarig42)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, atarig42_state, video_int_write_line))
- set_video_start_cb(config, driver_callback_delegate(&video_start_atarig42, this));
+ MCFG_VIDEO_START_OVERRIDE(atarig42_state,atarig42)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/atarigt.cpp b/src/mame/drivers/atarigt.cpp
index ad25cec4bc4..4347b158579 100644
--- a/src/mame/drivers/atarigt.cpp
+++ b/src/mame/drivers/atarigt.cpp
@@ -76,7 +76,7 @@ void atarigt_state::update_interrupts()
}
-void atarigt_state::machine_reset_atarigt()
+MACHINE_RESET_MEMBER(atarigt_state,atarigt)
{
atarigen_state::machine_reset();
scanline_timer_reset(*m_screen, 8);
@@ -798,7 +798,7 @@ MACHINE_CONFIG_START(atarigt_state::atarigt)
MCFG_DEVICE_PROGRAM_MAP(main_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(atarigt_state, scanline_int_gen, 250)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_atarigt, this));
+ MCFG_MACHINE_RESET_OVERRIDE(atarigt_state,atarigt)
MCFG_DEVICE_ADD("adc", ADC0809, ATARI_CLOCK_14MHz/16) // should be 447 kHz according to schematics, but that fails the self-test
MCFG_ADC0808_IN2_CB(IOPORT("AN4"))
@@ -824,7 +824,7 @@ MACHINE_CONFIG_START(atarigt_state::atarigt)
MCFG_SCREEN_UPDATE_DRIVER(atarigt_state, screen_update_atarigt)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, atarigt_state, video_int_write_line))
- set_video_start_cb(config, driver_callback_delegate(&video_start_atarigt, this));
+ MCFG_VIDEO_START_OVERRIDE(atarigt_state,atarigt)
MCFG_ATARIRLE_ADD("rle", modesc)
diff --git a/src/mame/drivers/atarisy1.cpp b/src/mame/drivers/atarisy1.cpp
index 2c721739029..eb622a3fc6f 100644
--- a/src/mame/drivers/atarisy1.cpp
+++ b/src/mame/drivers/atarisy1.cpp
@@ -218,7 +218,7 @@ void atarisy1_state::update_interrupts()
}
-void atarisy1_state::machine_start_atarisy1()
+MACHINE_START_MEMBER(atarisy1_state,atarisy1)
{
atarigen_state::machine_start();
@@ -227,7 +227,7 @@ void atarisy1_state::machine_start_atarisy1()
}
-void atarisy1_state::machine_reset_atarisy1()
+MACHINE_RESET_MEMBER(atarisy1_state,atarisy1)
{
atarigen_state::machine_reset();
@@ -716,8 +716,8 @@ MACHINE_CONFIG_START(atarisy1_state::atarisy1)
MCFG_DEVICE_ADD("audiocpu", M6502, ATARI_CLOCK_14MHz/8)
MCFG_DEVICE_PROGRAM_MAP(sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_atarisy1, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_atarisy1, this));
+ MCFG_MACHINE_START_OVERRIDE(atarisy1_state,atarisy1)
+ MCFG_MACHINE_RESET_OVERRIDE(atarisy1_state,atarisy1)
MCFG_DEVICE_ADD("adc", ADC0809, ATARI_CLOCK_14MHz/16)
MCFG_ADC0808_EOC_CB(WRITELINE("ajsint", input_merger_device, in_w<1>))
@@ -770,7 +770,7 @@ MACHINE_CONFIG_START(atarisy1_state::atarisy1)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, atarisy1_state, video_int_write_line))
- set_video_start_cb(config, driver_callback_delegate(&video_start_atarisy1, this));
+ MCFG_VIDEO_START_OVERRIDE(atarisy1_state,atarisy1)
/* sound hardware */
MCFG_ATARI_SOUND_COMM_ADD("soundcomm", "audiocpu", INPUTLINE("maincpu", M68K_IRQ_6))
diff --git a/src/mame/drivers/atarisy2.cpp b/src/mame/drivers/atarisy2.cpp
index dd445647a8c..9a44eb4852b 100644
--- a/src/mame/drivers/atarisy2.cpp
+++ b/src/mame/drivers/atarisy2.cpp
@@ -195,7 +195,7 @@ void atarisy2_state::scanline_update(screen_device &screen, int scanline)
*
*************************************/
-void atarisy2_state::machine_start_atarisy2()
+MACHINE_START_MEMBER(atarisy2_state,atarisy2)
{
atarigen_state::machine_start();
@@ -209,7 +209,7 @@ void atarisy2_state::machine_start_atarisy2()
}
-void atarisy2_state::machine_reset_atarisy2()
+MACHINE_RESET_MEMBER(atarisy2_state,atarisy2)
{
atarigen_state::machine_reset();
m_slapstic->slapstic_reset();
@@ -1191,8 +1191,8 @@ MACHINE_CONFIG_START(atarisy2_state::atarisy2)
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_PERIODIC_INT_DEVICE("soundcomm", atari_sound_comm_device, sound_irq_gen, MASTER_CLOCK/2/16/16/16/10)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_atarisy2, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_atarisy2, this));
+ MCFG_MACHINE_START_OVERRIDE(atarisy2_state,atarisy2)
+ MCFG_MACHINE_RESET_OVERRIDE(atarisy2_state,atarisy2)
MCFG_DEVICE_ADD("adc", ADC0809, MASTER_CLOCK/32) // 625 kHz
MCFG_ADC0808_IN0_CB(IOPORT("ADC0")) // J102 pin 5 (POT1)
@@ -1233,7 +1233,7 @@ MACHINE_CONFIG_START(atarisy2_state::atarisy2)
MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
MCFG_ADDRESS_MAP_BANK_STRIDE(0x2000)
- set_video_start_cb(config, driver_callback_delegate(&video_start_atarisy2, this));
+ MCFG_VIDEO_START_OVERRIDE(atarisy2_state,atarisy2)
/* sound hardware */
MCFG_ATARI_SOUND_COMM_ADD("soundcomm", "audiocpu", NOOP)
diff --git a/src/mame/drivers/atarisy4.cpp b/src/mame/drivers/atarisy4.cpp
index 03aa43d9d0d..a0858707630 100644
--- a/src/mame/drivers/atarisy4.cpp
+++ b/src/mame/drivers/atarisy4.cpp
@@ -99,7 +99,7 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
virtual void video_reset() override;
- void machine_reset_airrace();
+ DECLARE_MACHINE_RESET(airrace);
uint32_t screen_update_atarisy4(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(vblank_int);
void image_mem_to_screen( bool clip);
@@ -796,7 +796,7 @@ MACHINE_CONFIG_START(atarisy4_state::airrace)
MCFG_DEVICE_IO_MAP(dsp1_io_map)
MCFG_TMS32010_BIO_IN_CB(READLINE(*this, atarisy4_state, dsp1_bio_r))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_airrace, this));
+ MCFG_MACHINE_RESET_OVERRIDE(atarisy4_state,airrace)
MACHINE_CONFIG_END
@@ -1053,7 +1053,7 @@ void atarisy4_state::machine_reset()
m_dsp0->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
-void atarisy4_state::machine_reset_airrace()
+MACHINE_RESET_MEMBER(atarisy4_state,airrace)
{
m_dsp0->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
m_dsp1->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
diff --git a/src/mame/drivers/atm.cpp b/src/mame/drivers/atm.cpp
index a354f5e2aaa..ac537320afc 100644
--- a/src/mame/drivers/atm.cpp
+++ b/src/mame/drivers/atm.cpp
@@ -33,7 +33,7 @@ public:
DECLARE_READ8_MEMBER(beta_neutral_r);
DECLARE_READ8_MEMBER(beta_enable_r);
DECLARE_READ8_MEMBER(beta_disable_r);
- void machine_reset_atm();
+ DECLARE_MACHINE_RESET(atm);
void atm(machine_config &config);
void atmtb2(machine_config &config);
@@ -140,7 +140,7 @@ void atm_state::atm_switch(address_map &map)
map(0x4000, 0xffff).r(this, FUNC(atm_state::beta_disable_r));
}
-void atm_state::machine_reset_atm()
+MACHINE_RESET_MEMBER(atm_state,atm)
{
uint8_t *messram = m_ram->pointer();
m_program = &m_maincpu->space(AS_PROGRAM);
@@ -192,7 +192,7 @@ MACHINE_CONFIG_START(atm_state::atm)
MCFG_DEVICE_PROGRAM_MAP(atm_mem)
MCFG_DEVICE_IO_MAP(atm_io)
MCFG_DEVICE_OPCODES_MAP(atm_switch)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_atm, this));
+ MCFG_MACHINE_RESET_OVERRIDE(atm_state, atm )
MCFG_BETA_DISK_ADD(BETA_DISK_TAG)
diff --git a/src/mame/drivers/badlands.cpp b/src/mame/drivers/badlands.cpp
index 4b586f42ee4..0671f81c1ba 100644
--- a/src/mame/drivers/badlands.cpp
+++ b/src/mame/drivers/badlands.cpp
@@ -185,13 +185,13 @@ TIMER_DEVICE_CALLBACK_MEMBER(badlands_state::sound_scanline)
}
-void badlands_state::machine_start_badlands()
+MACHINE_START_MEMBER(badlands_state,badlands)
{
save_item(NAME(m_pedal_value));
}
-void badlands_state::machine_reset_badlands()
+MACHINE_RESET_MEMBER(badlands_state,badlands)
{
m_pedal_value[0] = m_pedal_value[1] = 0x80;
@@ -451,8 +451,8 @@ MACHINE_CONFIG_START(badlands_state::badlands)
MCFG_DEVICE_PROGRAM_MAP(audio_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", badlands_state, sound_scanline, "screen", 0, 1)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_badlands, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_badlands, this));
+ MCFG_MACHINE_START_OVERRIDE(badlands_state,badlands)
+ MCFG_MACHINE_RESET_OVERRIDE(badlands_state,badlands)
MCFG_EEPROM_2816_ADD("eeprom")
MCFG_EEPROM_28XX_LOCK_AFTER_WRITE(true)
@@ -477,7 +477,7 @@ MACHINE_CONFIG_START(badlands_state::badlands)
MCFG_SCREEN_UPDATE_DRIVER(badlands_state, screen_update_badlands)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_badlands, this));
+ MCFG_VIDEO_START_OVERRIDE(badlands_state,badlands)
/* sound hardware */
MCFG_ATARI_SOUND_COMM_ADD("soundcomm", "audiocpu", INPUTLINE("maincpu", M68K_IRQ_2))
diff --git a/src/mame/drivers/badlandsbl.cpp b/src/mame/drivers/badlandsbl.cpp
index 3983ee52a12..785dee352a2 100644
--- a/src/mame/drivers/badlandsbl.cpp
+++ b/src/mame/drivers/badlandsbl.cpp
@@ -230,7 +230,7 @@ MACHINE_CONFIG_START(badlandsbl_state::badlandsb)
// MCFG_QUANTUM_PERFECT_CPU("maincpu")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_badlands, this));
+ MCFG_MACHINE_START_OVERRIDE(badlands_state,badlands)
MCFG_EEPROM_2816_ADD("eeprom")
MCFG_EEPROM_28XX_LOCK_AFTER_WRITE(true)
@@ -253,7 +253,7 @@ MACHINE_CONFIG_START(badlandsbl_state::badlandsb)
MCFG_SCREEN_UPDATE_DRIVER(badlandsbl_state, screen_update_badlandsbl)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_badlands, this));
+ MCFG_VIDEO_START_OVERRIDE(badlands_state,badlands)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/battlex.cpp b/src/mame/drivers/battlex.cpp
index 297212ede6e..51e3b0e6fbe 100644
--- a/src/mame/drivers/battlex.cpp
+++ b/src/mame/drivers/battlex.cpp
@@ -324,7 +324,7 @@ MACHINE_CONFIG_START(battlex_state::dodgeman)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(dodgeman_io_map)
- set_video_start_cb(config, driver_callback_delegate(&video_start_dodgeman, this));
+ MCFG_VIDEO_START_OVERRIDE(battlex_state, dodgeman)
MCFG_DEVICE_ADD("ay2", AY8910, XTAL(10'000'000)/8) // ?
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
diff --git a/src/mame/drivers/bbc.cpp b/src/mame/drivers/bbc.cpp
index 8713050baac..7fa1a5642b7 100644
--- a/src/mame/drivers/bbc.cpp
+++ b/src/mame/drivers/bbc.cpp
@@ -845,8 +845,8 @@ MACHINE_CONFIG_START(bbc_state::bbca)
MCFG_RAM_EXTRA_OPTIONS("32K")
MCFG_RAM_DEFAULT_VALUE(0x00)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_bbca, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_bbca, this));
+ MCFG_MACHINE_START_OVERRIDE(bbc_state, bbca)
+ MCFG_MACHINE_RESET_OVERRIDE(bbc_state, bbca)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -868,7 +868,7 @@ MACHINE_CONFIG_START(bbc_state::bbca)
MCFG_MC6845_OUT_HSYNC_CB(WRITELINE(*this, bbc_state, bbc_hsync_changed))
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(*this, bbc_state, bbc_vsync_changed))
- set_video_start_cb(config, driver_callback_delegate(&video_start_bbc, this));
+ MCFG_VIDEO_START_OVERRIDE(bbc_state, bbc)
MCFG_DEFAULT_LAYOUT(layout_bbc)
@@ -925,8 +925,8 @@ MACHINE_CONFIG_START(bbc_state::bbcb)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(bbcb_nofdc_mem)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_bbcb, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_bbcb, this));
+ MCFG_MACHINE_START_OVERRIDE(bbc_state, bbcb)
+ MCFG_MACHINE_RESET_OVERRIDE(bbc_state, bbcb)
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
@@ -1053,8 +1053,8 @@ MACHINE_CONFIG_START(bbc_state::bbcbp)
MCFG_DEVICE_PROGRAM_MAP(bbcbp_mem)
MCFG_DEVICE_OPCODES_MAP(bbcbp_fetch)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_bbcbp, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_bbcbp, this));
+ MCFG_MACHINE_START_OVERRIDE(bbc_state, bbcbp)
+ MCFG_MACHINE_RESET_OVERRIDE(bbc_state, bbcbp)
/* fdc */
MCFG_DEVICE_REMOVE("fdc")
@@ -1076,8 +1076,8 @@ MACHINE_CONFIG_START(bbc_state::bbcbp128)
MCFG_DEVICE_PROGRAM_MAP(bbcbp128_mem)
MCFG_DEVICE_OPCODES_MAP(bbcbp_fetch)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_bbcbp, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_bbcbp, this));
+ MCFG_MACHINE_START_OVERRIDE(bbc_state, bbcbp)
+ MCFG_MACHINE_RESET_OVERRIDE(bbc_state, bbcbp)
MACHINE_CONFIG_END
@@ -1094,7 +1094,7 @@ MACHINE_CONFIG_START(torch_state::torchf)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(bbcb_mem)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_torch, this));
+ MCFG_MACHINE_RESET_OVERRIDE(bbc_state, torch)
/* fdc */
MCFG_DEVICE_REMOVE("fdc")
@@ -1310,8 +1310,8 @@ MACHINE_CONFIG_START(bbc_state::bbcm)
MCFG_RAM_DEFAULT_SIZE("32K")
MCFG_RAM_DEFAULT_VALUE(0x00)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_bbcm, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_bbcm, this));
+ MCFG_MACHINE_START_OVERRIDE(bbc_state, bbcm)
+ MCFG_MACHINE_RESET_OVERRIDE(bbc_state, bbcm)
MCFG_DEFAULT_LAYOUT(layout_bbcm)
@@ -1335,7 +1335,7 @@ MACHINE_CONFIG_START(bbc_state::bbcm)
MCFG_MC6845_OUT_HSYNC_CB(WRITELINE(*this, bbc_state, bbc_hsync_changed))
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(*this, bbc_state, bbc_vsync_changed))
- set_video_start_cb(config, driver_callback_delegate(&video_start_bbc, this));
+ MCFG_VIDEO_START_OVERRIDE(bbc_state, bbc)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1568,7 +1568,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(bbc_state::cfa3000)
bbcm(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cfa3000, this));
+ MCFG_MACHINE_START_OVERRIDE(bbc_state, cfa3000)
/* fdc */
MCFG_DEVICE_MODIFY("wd1770:0")
@@ -1625,8 +1625,8 @@ MACHINE_CONFIG_START(bbc_state::bbcmc)
/* eeprom pcd8572 */
//MCFG_DEVICE_REMOVE("rtc")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_bbcmc, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_bbcmc, this));
+ MCFG_MACHINE_START_OVERRIDE(bbc_state, bbcmc)
+ MCFG_MACHINE_RESET_OVERRIDE(bbc_state, bbcmc)
/* user via */
MCFG_DEVICE_MODIFY("via6522_1")
@@ -1681,14 +1681,14 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(bbc_state::ltmpbp)
bbcbp(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ltmpbp, this));
+ MCFG_MACHINE_RESET_OVERRIDE(bbc_state, ltmpbp)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(bbc_state::ltmpm)
bbcm(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ltmpm, this));
+ MCFG_MACHINE_RESET_OVERRIDE(bbc_state, ltmpm)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/bbusters.cpp b/src/mame/drivers/bbusters.cpp
index cde616ec37c..68dd8354f95 100644
--- a/src/mame/drivers/bbusters.cpp
+++ b/src/mame/drivers/bbusters.cpp
@@ -679,7 +679,7 @@ MACHINE_CONFIG_START(bbusters_state::bbusters)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_bbuster, this));
+ MCFG_VIDEO_START_OVERRIDE(bbusters_state,bbuster)
MCFG_DEVICE_ADD("spriteram", BUFFERED_SPRITERAM16)
MCFG_DEVICE_ADD("spriteram2", BUFFERED_SPRITERAM16)
@@ -722,7 +722,7 @@ MACHINE_CONFIG_START(bbusters_state::mechatt)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mechatt, this));
+ MCFG_VIDEO_START_OVERRIDE(bbusters_state,mechatt)
MCFG_DEVICE_ADD("spriteram", BUFFERED_SPRITERAM16)
diff --git a/src/mame/drivers/bking.cpp b/src/mame/drivers/bking.cpp
index 02bf1396ca9..4116cb337a8 100644
--- a/src/mame/drivers/bking.cpp
+++ b/src/mame/drivers/bking.cpp
@@ -345,7 +345,7 @@ void bking_state::machine_start()
save_item(NAME(m_hit));
}
-void bking_state::machine_start_bking3()
+MACHINE_START_MEMBER(bking_state,bking3)
{
bking_state::machine_start();
@@ -380,7 +380,7 @@ void bking_state::machine_reset()
m_soundnmi->in_w<1>(0);
}
-void bking_state::machine_reset_bking3()
+MACHINE_RESET_MEMBER(bking_state,bking3)
{
bking_state::machine_reset();
@@ -452,8 +452,8 @@ MACHINE_CONFIG_START(bking_state::bking3)
MCFG_DEVICE_ADD("bmcu", TAITO68705_MCU, XTAL(3'000'000)) /* xtal is 3MHz, divided by 4 internally */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_bking3, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_bking3, this));
+ MCFG_MACHINE_START_OVERRIDE(bking_state,bking3)
+ MCFG_MACHINE_RESET_OVERRIDE(bking_state,bking3)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/blitz68k.cpp b/src/mame/drivers/blitz68k.cpp
index dd4accd68ce..892a1eb07d3 100644
--- a/src/mame/drivers/blitz68k.cpp
+++ b/src/mame/drivers/blitz68k.cpp
@@ -176,8 +176,8 @@ public:
void init_megadblj();
void init_hermit();
void init_dualgame();
- void video_start_blitz68k() ATTR_COLD;
- void video_start_blitz68k_addr_factor1() ATTR_COLD;
+ DECLARE_VIDEO_START(blitz68k);
+ DECLARE_VIDEO_START(blitz68k_addr_factor1);
uint32_t screen_update_blitz68k(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_blitz68k_noblit(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(steaser_mcu_sim);
@@ -224,15 +224,15 @@ struct blit_t
int addr_factor;
} blit;
-void blitz68k_state::video_start_blitz68k()
+VIDEO_START_MEMBER(blitz68k_state,blitz68k)
{
m_blit_buffer = std::make_unique<uint8_t[]>(512*256);
blit.addr_factor = 2;
}
-void blitz68k_state::video_start_blitz68k_addr_factor1()
+VIDEO_START_MEMBER(blitz68k_state,blitz68k_addr_factor1)
{
- video_start_blitz68k();
+ VIDEO_START_CALL_MEMBER(blitz68k);
blit.addr_factor = 1;
}
@@ -1719,7 +1719,7 @@ MACHINE_CONFIG_START(blitz68k_state::ilpag)
MCFG_PALETTE_ADD("palette", 0x100)
- set_video_start_cb(config, driver_callback_delegate(&video_start_blitz68k, this));
+ MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k)
MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")
MACHINE_CONFIG_END
@@ -1794,7 +1794,7 @@ MACHINE_CONFIG_START(blitz68k_state::cjffruit)
MCFG_PALETTE_ADD("palette", 0x100)
- set_video_start_cb(config, driver_callback_delegate(&video_start_blitz68k, this));
+ MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k)
MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")
MACHINE_CONFIG_END
@@ -1826,7 +1826,7 @@ MACHINE_CONFIG_START(blitz68k_state::bankrob)
MCFG_PALETTE_ADD("palette", 0x100)
- set_video_start_cb(config, driver_callback_delegate(&video_start_blitz68k, this));
+ MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k)
MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")
MACHINE_CONFIG_END
@@ -1856,7 +1856,7 @@ MACHINE_CONFIG_START(blitz68k_state::bankroba)
MCFG_PALETTE_ADD("palette", 0x100)
- set_video_start_cb(config, driver_callback_delegate(&video_start_blitz68k_addr_factor1, this));
+ MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k_addr_factor1)
MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")
MACHINE_CONFIG_END
@@ -1885,7 +1885,7 @@ MACHINE_CONFIG_START(blitz68k_state::deucesw2)
MCFG_PALETTE_ADD("palette", 0x100)
- set_video_start_cb(config, driver_callback_delegate(&video_start_blitz68k, this));
+ MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k)
MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")
MACHINE_CONFIG_END
@@ -1916,7 +1916,7 @@ MACHINE_CONFIG_START(blitz68k_state::dualgame)
MCFG_PALETTE_ADD("palette", 0x100)
- set_video_start_cb(config, driver_callback_delegate(&video_start_blitz68k, this));
+ MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k)
MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")
MACHINE_CONFIG_END
@@ -1945,7 +1945,7 @@ MACHINE_CONFIG_START(blitz68k_state::hermit)
MCFG_PALETTE_ADD("palette", 0x100)
- set_video_start_cb(config, driver_callback_delegate(&video_start_blitz68k, this));
+ MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k)
MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/blmbycar.cpp b/src/mame/drivers/blmbycar.cpp
index ff1144c177c..ee4483b7333 100644
--- a/src/mame/drivers/blmbycar.cpp
+++ b/src/mame/drivers/blmbycar.cpp
@@ -18,7 +18,7 @@ To Do:
Blomby Car is said to be a bootleg of Gaelco's World Rally and uses many
of the same fonts
-(Update: it actually is a bootleg of World Rally by looking how much
+(Update: it actually is a bootleg of World Rally by looking how much
similar the two HWs are, down to the dipswitches!)
Waterball
@@ -213,10 +213,10 @@ static INPUT_PORTS_START( blmbycar )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_START("P1_P2") /* $700002.w */
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_CONDITION("DSW", 0x18, EQUALS, 0x18)
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_CONDITION("DSW", 0x18, EQUALS, 0x18)
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_CONDITION("DSW", 0x18, EQUALS, 0x18)
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_CONDITION("DSW", 0x18, EQUALS, 0x18)
+ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_CONDITION("DSW", 0x18, EQUALS, 0x18)
+ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_CONDITION("DSW", 0x18, EQUALS, 0x18)
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_CONDITION("DSW", 0x18, EQUALS, 0x18)
+ PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_CONDITION("DSW", 0x18, EQUALS, 0x18)
PORT_BIT( 0x000f, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("DSW", 0x18, NOTEQUALS, 0x18)
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("P1 Gear Shift") PORT_TOGGLE PORT_CONDITION("DSW", 0x18, NOTEQUALS, 0x18)
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("DSW", 0x18, EQUALS, 0x18)
@@ -235,7 +235,7 @@ static INPUT_PORTS_START( blmbycar )
PORT_START("OPT_WHEEL") /* $700004.w */
PORT_BIT ( 0x00ff, 0x0000, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(1) PORT_REVERSE PORT_CONDITION("DSW", 0x18, EQUALS, 0x08) PORT_NAME("P1 Opt Wheel")
-
+
PORT_START("POT_WHEEL")
PORT_BIT ( 0x00ff, 0x0080, IPT_AD_STICK_X ) PORT_SENSITIVITY(30) PORT_KEYDELTA(1) PORT_REVERSE PORT_CONDITION("DSW", 0x18, EQUALS, 0x10) PORT_NAME("P1 Pot Wheel")
@@ -333,11 +333,13 @@ GFXDECODE_END
/***************************************************************************
+
Machine Drivers
+
***************************************************************************/
-void blmbycar_state::machine_start_blmbycar()
+MACHINE_START_MEMBER(blmbycar_state,blmbycar)
{
save_item(NAME(m_pot_wheel));
save_item(NAME(m_old_val));
@@ -345,12 +347,13 @@ void blmbycar_state::machine_start_blmbycar()
membank("okibank")->configure_entries(0, 16, memregion("oki")->base(), 0x10000);
}
-void blmbycar_state::machine_reset_blmbycar()
+MACHINE_RESET_MEMBER(blmbycar_state,blmbycar)
{
m_pot_wheel = 0;
m_old_val = 0;
}
+
MACHINE_CONFIG_START(blmbycar_state::blmbycar)
/* basic machine hardware */
@@ -358,8 +361,8 @@ MACHINE_CONFIG_START(blmbycar_state::blmbycar)
MCFG_DEVICE_PROGRAM_MAP(blmbycar_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", blmbycar_state, irq1_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_blmbycar, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_blmbycar, this));
+ MCFG_MACHINE_START_OVERRIDE(blmbycar_state,blmbycar)
+ MCFG_MACHINE_RESET_OVERRIDE(blmbycar_state,blmbycar)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -386,14 +389,14 @@ MACHINE_CONFIG_START(blmbycar_state::blmbycar)
MACHINE_CONFIG_END
-void blmbycar_state::machine_start_watrball()
+MACHINE_START_MEMBER(blmbycar_state,watrball)
{
save_item(NAME(m_retvalue));
membank("okibank")->configure_entries(0, 16, memregion("oki")->base(), 0x10000);
}
-void blmbycar_state::machine_reset_watrball()
+MACHINE_RESET_MEMBER(blmbycar_state,watrball)
{
m_retvalue = 0;
}
@@ -405,8 +408,8 @@ MACHINE_CONFIG_START(blmbycar_state::watrball)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(watrball_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_watrball, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_watrball, this));
+ MCFG_MACHINE_START_OVERRIDE(blmbycar_state,watrball)
+ MCFG_MACHINE_RESET_OVERRIDE(blmbycar_state,watrball)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/blstroid.cpp b/src/mame/drivers/blstroid.cpp
index 5e8f375f85a..14e87bdefa2 100644
--- a/src/mame/drivers/blstroid.cpp
+++ b/src/mame/drivers/blstroid.cpp
@@ -204,7 +204,7 @@ MACHINE_CONFIG_START(blstroid_state::blstroid)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, blstroid_state, video_int_write_line))
- set_video_start_cb(config, driver_callback_delegate(&video_start_blstroid, this));
+ MCFG_VIDEO_START_OVERRIDE(blstroid_state,blstroid)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
diff --git a/src/mame/drivers/blueprnt.cpp b/src/mame/drivers/blueprnt.cpp
index a58b52a6d66..e0d9debbdfd 100644
--- a/src/mame/drivers/blueprnt.cpp
+++ b/src/mame/drivers/blueprnt.cpp
@@ -369,7 +369,7 @@ MACHINE_CONFIG_START(blueprnt_state::blueprnt)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_blueprnt, this));
+ MCFG_VIDEO_START_OVERRIDE(blueprnt_state, blueprnt)
MCFG_SCREEN_UPDATE_DRIVER(blueprnt_state, screen_update_blueprnt)
MCFG_SCREEN_PALETTE("palette")
diff --git a/src/mame/drivers/bml3.cpp b/src/mame/drivers/bml3.cpp
index 4c95d527fec..fa9708e5b6c 100644
--- a/src/mame/drivers/bml3.cpp
+++ b/src/mame/drivers/bml3.cpp
@@ -974,7 +974,7 @@ MACHINE_CONFIG_START(bml3_state::bml3_common)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", bml3_state, bml3_timer_firq)
// MCFG_DEVICE_PERIODIC_INT_DRIVER(bml3_state, bml3_firq, 45)
-// set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_bml3, this));
+// MCFG_MACHINE_RESET_OVERRIDE(bml3_state,bml3)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/btime.cpp b/src/mame/drivers/btime.cpp
index edd84857528..c6986a67c8f 100644
--- a/src/mame/drivers/btime.cpp
+++ b/src/mame/drivers/btime.cpp
@@ -1227,7 +1227,7 @@ static DISCRETE_SOUND_START( btime_sound_discrete )
DISCRETE_SOUND_END
-void btime_state::machine_start_btime()
+MACHINE_START_MEMBER(btime_state,btime)
{
save_item(NAME(m_btime_palette));
save_item(NAME(m_bnj_scroll1));
@@ -1235,9 +1235,9 @@ void btime_state::machine_start_btime()
save_item(NAME(m_btime_tilemap));
}
-void btime_state::machine_start_mmonkey()
+MACHINE_START_MEMBER(btime_state,mmonkey)
{
- machine_start_btime();
+ MACHINE_START_CALL_MEMBER(btime);
save_item(NAME(m_protection_command));
save_item(NAME(m_protection_status));
@@ -1245,7 +1245,7 @@ void btime_state::machine_start_mmonkey()
save_item(NAME(m_protection_ret));
}
-void btime_state::machine_reset_btime()
+MACHINE_RESET_MEMBER(btime_state,btime)
{
/* by default, the audio NMI is disabled, except for bootlegs which don't use the enable */
if (m_audionmi.found())
@@ -1260,16 +1260,16 @@ void btime_state::machine_reset_btime()
m_btime_tilemap[3] = 0;
}
-void btime_state::machine_reset_lnc()
+MACHINE_RESET_MEMBER(btime_state,lnc)
{
*m_lnc_charbank = 1;
- machine_reset_btime();
+ MACHINE_RESET_CALL_MEMBER(btime);
}
-void btime_state::machine_reset_mmonkey()
+MACHINE_RESET_MEMBER(btime_state,mmonkey)
{
- machine_reset_lnc();
+ MACHINE_RESET_CALL_MEMBER(lnc);
m_protection_command = 0;
m_protection_status = 0;
@@ -1296,8 +1296,8 @@ MACHINE_CONFIG_START(btime_state::btime)
MCFG_SCREEN_UPDATE_DRIVER(btime_state, screen_update_btime)
MCFG_SCREEN_PALETTE("palette")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_btime, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_btime, this));
+ MCFG_MACHINE_START_OVERRIDE(btime_state,btime)
+ MCFG_MACHINE_RESET_OVERRIDE(btime_state,btime)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_btime)
@@ -1356,7 +1356,7 @@ MACHINE_CONFIG_START(btime_state::lnc)
MCFG_DEVICE_REPLACE("maincpu", DECO_C10707, HCLK2)
MCFG_DEVICE_PROGRAM_MAP(lnc_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_lnc, this));
+ MCFG_MACHINE_RESET_OVERRIDE(btime_state,lnc)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_lnc)
@@ -1388,8 +1388,8 @@ MACHINE_CONFIG_START(btime_state::mmonkey)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(mmonkey_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mmonkey, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mmonkey, this));
+ MCFG_MACHINE_START_OVERRIDE(btime_state,mmonkey)
+ MCFG_MACHINE_RESET_OVERRIDE(btime_state,mmonkey)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(btime_state::bnj)
@@ -1403,7 +1403,7 @@ MACHINE_CONFIG_START(btime_state::bnj)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_bnj)
- set_video_start_cb(config, driver_callback_delegate(&video_start_bnj, this));
+ MCFG_VIDEO_START_OVERRIDE(btime_state,bnj)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(btime_state, screen_update_bnj)
@@ -1469,7 +1469,7 @@ MACHINE_CONFIG_START(btime_state::disco)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(32)
- set_video_start_cb(config, driver_callback_delegate(&video_start_disco, this));
+ MCFG_VIDEO_START_OVERRIDE(btime_state,disco)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(btime_state, screen_update_disco)
diff --git a/src/mame/drivers/bublbobl.cpp b/src/mame/drivers/bublbobl.cpp
index e4ac45625f0..e0ef4a62a20 100644
--- a/src/mame/drivers/bublbobl.cpp
+++ b/src/mame/drivers/bublbobl.cpp
@@ -814,14 +814,14 @@ GFXDECODE_END
*
*************************************/
-void bublbobl_state::machine_start_common()
+MACHINE_START_MEMBER(bublbobl_state,common)
{
m_sreset_old = CLEAR_LINE;
save_item(NAME(m_video_enable));
save_item(NAME(m_sreset_old));
}
-void bublbobl_state::machine_reset_common() // things common on both tokio and bubble bobble hw
+MACHINE_RESET_MEMBER(bublbobl_state,common) // things common on both tokio and bubble bobble hw
{
m_soundnmi->in_w<0>(0); // clear sound NMI stuff
m_soundnmi->in_w<1>(0);
@@ -835,14 +835,14 @@ void bublbobl_state::machine_reset_common() // things common on both tokio and b
}
-void bublbobl_state::machine_start_tokio()
+MACHINE_START_MEMBER(bublbobl_state,tokio)
{
- machine_start_common();
+ MACHINE_START_CALL_MEMBER(common);
}
-void bublbobl_state::machine_reset_tokio()
+MACHINE_RESET_MEMBER(bublbobl_state,tokio)
{
- machine_reset_common();
+ MACHINE_RESET_CALL_MEMBER(common);
tokio_bankswitch_w(m_maincpu->space(AS_PROGRAM), 0, 0x00, 0xFF); // force a bankswitch write of all zeroes, as /RESET clears the latch
tokio_videoctrl_w(m_maincpu->space(AS_PROGRAM), 0, 0x00, 0xFF); // TODO: does /RESET clear this the same as above? probably yes, needs tracing...
}
@@ -868,8 +868,8 @@ MACHINE_CONFIG_START(bublbobl_state::tokio)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 128); // 74LS393, counts 128 vblanks before firing watchdog; same circuit as taitosj uses
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_tokio, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_tokio, this));
+ MCFG_MACHINE_START_OVERRIDE(bublbobl_state, tokio)
+ MCFG_MACHINE_RESET_OVERRIDE(bublbobl_state, tokio)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -926,9 +926,9 @@ MACHINE_CONFIG_START(bublbobl_state::tokiob)
MACHINE_CONFIG_END
-void bublbobl_state::machine_start_bublbobl()
+MACHINE_START_MEMBER(bublbobl_state,bublbobl)
{
- machine_start_common();
+ MACHINE_START_CALL_MEMBER(common);
save_item(NAME(m_ddr1));
save_item(NAME(m_ddr2));
@@ -944,9 +944,9 @@ void bublbobl_state::machine_start_bublbobl()
save_item(NAME(m_port4_out));
}
-void bublbobl_state::machine_reset_bublbobl()
+MACHINE_RESET_MEMBER(bublbobl_state,bublbobl)
{
- machine_reset_common();
+ MACHINE_RESET_CALL_MEMBER(common);
bublbobl_bankswitch_w(m_maincpu->space(AS_PROGRAM), 0, 0x00, 0xFF); // force a bankswitch write of all zeroes, as /RESET clears the latch
m_ddr1 = 0;
@@ -981,8 +981,8 @@ MACHINE_CONFIG_START(bublbobl_state::bublbobl_nomcu)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 128); // 74LS393, counts 128 vblanks before firing watchdog; same circuit as taitosj uses
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_bublbobl, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_bublbobl, this));
+ MCFG_MACHINE_START_OVERRIDE(bublbobl_state, bublbobl)
+ MCFG_MACHINE_RESET_OVERRIDE(bublbobl_state, bublbobl)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1027,17 +1027,17 @@ MACHINE_CONFIG_START(bublbobl_state::bublbobl)
MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("mcu", M6801_IRQ_LINE)) // same clock latches the INT pin on the second Z80
MACHINE_CONFIG_END
-void bublbobl_state::machine_start_boblbobl()
+MACHINE_START_MEMBER(bublbobl_state,boblbobl)
{
- machine_start_common();
+ MACHINE_START_CALL_MEMBER(common);
save_item(NAME(m_ic43_a));
save_item(NAME(m_ic43_b));
}
-void bublbobl_state::machine_reset_boblbobl()
+MACHINE_RESET_MEMBER(bublbobl_state,boblbobl)
{
- machine_reset_common();
+ MACHINE_RESET_CALL_MEMBER(common);
bublbobl_bankswitch_w(m_maincpu->space(AS_PROGRAM), 0, 0x00, 0xff); // force a bankswitch write of all zeroes, as /RESET clears the latch
m_ic43_a = 0;
@@ -1052,14 +1052,14 @@ MACHINE_CONFIG_START(bublbobl_state::boblbobl)
MCFG_DEVICE_PROGRAM_MAP(bootleg_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", bublbobl_state, irq0_line_hold) // interrupt mode 1, unlike Bubble Bobble
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_boblbobl, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_boblbobl, this));
+ MCFG_MACHINE_START_OVERRIDE(bublbobl_state, boblbobl)
+ MCFG_MACHINE_RESET_OVERRIDE(bublbobl_state, boblbobl)
MACHINE_CONFIG_END
-void bub68705_state::machine_start_bub68705()
+MACHINE_START_MEMBER(bub68705_state, bub68705)
{
- machine_start_common();
+ MACHINE_START_CALL_MEMBER(common);
save_item(NAME(m_port_a_out));
save_item(NAME(m_port_b_out));
@@ -1070,9 +1070,9 @@ void bub68705_state::machine_start_bub68705()
m_port_b_out = 0xff;
}
-void bub68705_state::machine_reset_bub68705()
+MACHINE_RESET_MEMBER(bub68705_state, bub68705)
{
- machine_reset_common();
+ MACHINE_RESET_CALL_MEMBER(common);
bublbobl_bankswitch_w(m_maincpu->space(AS_PROGRAM), 0, 0x00, 0xff); // force a bankswitch write of all zeroes, as /RESET clears the latch
m_address = 0;
@@ -1089,8 +1089,8 @@ MACHINE_CONFIG_START(bub68705_state::bub68705)
MCFG_M68705_PORTB_W_CB(WRITE8(*this, bub68705_state, port_b_w))
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", bub68705_state, bublbobl_m68705_interrupt) // ??? should come from the same clock which latches the INT pin on the second Z80
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_bub68705, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_bub68705, this));
+ MCFG_MACHINE_START_OVERRIDE(bub68705_state, bub68705)
+ MCFG_MACHINE_RESET_OVERRIDE(bub68705_state, bub68705)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/cabal.cpp b/src/mame/drivers/cabal.cpp
index a8503dba9af..54627c02063 100644
--- a/src/mame/drivers/cabal.cpp
+++ b/src/mame/drivers/cabal.cpp
@@ -56,13 +56,13 @@ Dip locations verified with Fabtek manual for the trackball version
#include "speaker.h"
-void cabal_state::machine_start_cabalbl()
+MACHINE_START_MEMBER(cabal_state,cabalbl)
{
save_item(NAME(m_sound_command1));
save_item(NAME(m_sound_command2));
}
-void cabal_state::machine_reset_cabalbl()
+MACHINE_RESET_MEMBER(cabal_state,cabalbl)
{
m_sound_command1 = m_sound_command2 = 0xff;
}
@@ -595,8 +595,8 @@ MACHINE_CONFIG_START(cabal_state::cabalbl)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cabalbl, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cabalbl, this));
+ MCFG_MACHINE_START_OVERRIDE(cabal_state,cabalbl)
+ MCFG_MACHINE_RESET_OVERRIDE(cabal_state,cabalbl)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/calcune.cpp b/src/mame/drivers/calcune.cpp
index e9fb1f8bfb4..c84e53cd43b 100644
--- a/src/mame/drivers/calcune.cpp
+++ b/src/mame/drivers/calcune.cpp
@@ -41,8 +41,8 @@ public:
WRITE_LINE_MEMBER(vdp_lv6irqline_callback_genesis_68k);
WRITE_LINE_MEMBER(vdp_lv4irqline_callback_genesis_68k);
- void machine_start_calcune() ATTR_COLD;
- void machine_reset_calcune();
+ DECLARE_MACHINE_START(calcune);
+ DECLARE_MACHINE_RESET(calcune);
IRQ_CALLBACK_MEMBER(genesis_int_callback);
@@ -198,7 +198,7 @@ uint32_t calcune_state::screen_update_calcune(screen_device &screen, bitmap_rgb3
return 0;
}
-void calcune_state::machine_reset_calcune()
+MACHINE_RESET_MEMBER(calcune_state,calcune)
{
m_vdp->device_reset_old();
m_vdp2->device_reset_old();
@@ -242,7 +242,7 @@ WRITE_LINE_MEMBER(calcune_state::vdp_lv4irqline_callback_genesis_68k)
m_maincpu->set_input_line(4, CLEAR_LINE);
}
-void calcune_state::machine_start_calcune()
+MACHINE_START_MEMBER(calcune_state,calcune)
{
m_vdp->stop_timers();
m_vdp2->stop_timers();
@@ -256,8 +256,8 @@ MACHINE_CONFIG_START(calcune_state::calcune)
MCFG_DEVICE_ADD("z80", Z80, MASTER_CLOCK_NTSC / 15) /* 3.58 MHz */
MCFG_DEVICE_DISABLE() /* no code is ever uploaded for the Z80, so it's unused here even if it is present on the PCB */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_calcune, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_calcune, this));
+ MCFG_MACHINE_START_OVERRIDE(calcune_state,calcune)
+ MCFG_MACHINE_RESET_OVERRIDE(calcune_state,calcune)
MCFG_SCREEN_ADD("megadriv", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/drivers/camplynx.cpp b/src/mame/drivers/camplynx.cpp
index fa9781f093a..bda51ce5ebe 100644
--- a/src/mame/drivers/camplynx.cpp
+++ b/src/mame/drivers/camplynx.cpp
@@ -196,8 +196,8 @@ public:
DECLARE_WRITE8_MEMBER(port82_w); // banking 128k
DECLARE_WRITE8_MEMBER(port84_w); // dac port 48k
DECLARE_INPUT_CHANGED_MEMBER(brk_key);
- void machine_reset_lynx48k();
- void machine_reset_lynx128k();
+ DECLARE_MACHINE_RESET(lynx48k);
+ DECLARE_MACHINE_RESET(lynx128k);
void init_lynx48k();
void init_lynx128k();
DECLARE_FLOPPY_FORMATS(camplynx_floppy_formats);
@@ -724,7 +724,7 @@ READ8_MEMBER( camplynx_state::port82_r )
return data;
}
-void camplynx_state::machine_reset_lynx48k()
+MACHINE_RESET_MEMBER(camplynx_state, lynx48k)
{
address_space &mem = m_maincpu->space(AS_PROGRAM);
m_port58 = 0;
@@ -733,7 +733,7 @@ void camplynx_state::machine_reset_lynx48k()
m_maincpu->reset();
}
-void camplynx_state::machine_reset_lynx128k()
+MACHINE_RESET_MEMBER(camplynx_state, lynx128k)
{
address_space &mem = m_maincpu->space(AS_PROGRAM);
m_port58 = 0;
@@ -869,7 +869,7 @@ MACHINE_CONFIG_START(camplynx_state::lynx48k)
MCFG_DEVICE_PROGRAM_MAP(lynx48k_mem)
MCFG_DEVICE_IO_MAP(lynx48k_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_lynx48k, this));
+ MCFG_MACHINE_RESET_OVERRIDE(camplynx_state, lynx48k)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -914,7 +914,7 @@ MACHINE_CONFIG_START(camplynx_state::lynx128k)
MCFG_DEVICE_PROGRAM_MAP(lynx128k_mem)
MCFG_DEVICE_IO_MAP(lynx128k_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_lynx128k, this));
+ MCFG_MACHINE_RESET_OVERRIDE(camplynx_state, lynx128k)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/cat.cpp b/src/mame/drivers/cat.cpp
index 91f10b34c4e..01091f23767 100644
--- a/src/mame/drivers/cat.cpp
+++ b/src/mame/drivers/cat.cpp
@@ -287,10 +287,9 @@ public:
emu_timer *m_keyboard_timer;
emu_timer *m_6ms_timer;
- void machine_start_cat() ATTR_COLD;
- void machine_reset_cat();
- void video_start_cat() ATTR_COLD;
-
+ DECLARE_MACHINE_START(cat);
+ DECLARE_MACHINE_RESET(cat);
+ DECLARE_VIDEO_START(cat);
void init_cat();
uint32_t screen_update_cat(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -922,7 +921,7 @@ IRQ_CALLBACK_MEMBER(cat_state::cat_int_ack)
return M68K_INT_ACK_AUTOVECTOR;
}
-void cat_state::machine_start_cat()
+MACHINE_START_MEMBER(cat_state,cat)
{
m_duart_ktobf_ff = 0; // reset doesn't touch this
m_duart_prn_ack_prev_state = 1; // technically uninitialized
@@ -935,7 +934,7 @@ void cat_state::machine_start_cat()
machine().device<nvram_device>("nvram")->set_base(m_svram, 0x4000);
}
-void cat_state::machine_reset_cat()
+MACHINE_RESET_MEMBER(cat_state,cat)
{
m_6ms_counter = 0;
m_wdt_counter = 0;
@@ -943,7 +942,7 @@ void cat_state::machine_reset_cat()
m_6ms_timer->adjust(attotime::zero, 0, attotime::from_hz((XTAL(19'968'000)/2)/65536));
}
-void cat_state::video_start_cat()
+VIDEO_START_MEMBER(cat_state,cat)
{
}
@@ -1062,8 +1061,8 @@ MACHINE_CONFIG_START(cat_state::cat)
MCFG_DEVICE_PROGRAM_MAP(cat_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(cat_state,cat_int_ack)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cat, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cat, this));
+ MCFG_MACHINE_START_OVERRIDE(cat_state,cat)
+ MCFG_MACHINE_RESET_OVERRIDE(cat_state,cat)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1076,7 +1075,7 @@ MACHINE_CONFIG_START(cat_state::cat)
MCFG_PALETTE_ADD_MONOCHROME("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_cat, this));
+ MCFG_VIDEO_START_OVERRIDE(cat_state,cat)
MCFG_DEVICE_ADD( "duartn68681", MC68681, (XTAL(19'968'000)*2)/11 ) // duart is normally clocked by 3.6864mhz xtal, but cat seemingly uses a divider from the main xtal instead which probably yields 3.63054545Mhz. There is a trace to cut and a mounting area to allow using an actual 3.6864mhz xtal if you so desire
MCFG_MC68681_IRQ_CALLBACK(WRITELINE(*this, cat_state, cat_duart_irq_handler))
diff --git a/src/mame/drivers/cave.cpp b/src/mame/drivers/cave.cpp
index c1777ce8237..0fd48df444a 100644
--- a/src/mame/drivers/cave.cpp
+++ b/src/mame/drivers/cave.cpp
@@ -2062,7 +2062,7 @@ GFXDECODE_END
***************************************************************************/
-void cave_state::machine_start_cave()
+MACHINE_START_MEMBER(cave_state,cave)
{
m_vblank_end_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(cave_state::cave_vblank_end), this));
@@ -2077,7 +2077,7 @@ void cave_state::machine_start_cave()
save_item(NAME(m_agallet_vblank_irq));
}
-void cave_state::machine_reset_cave()
+MACHINE_RESET_MEMBER(cave_state,cave)
{
std::fill(std::begin(m_soundbuf_data), std::end(m_soundbuf_data), 0);
m_soundbuf_wptr = 0;
@@ -2101,8 +2101,8 @@ MACHINE_CONFIG_START(cave_state::dfeveron)
MCFG_DEVICE_PROGRAM_MAP(dfeveron_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cave, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cave, this));
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_TIMER_DRIVER_ADD("int_timer", cave_state, cave_vblank_start)
@@ -2119,7 +2119,7 @@ MACHINE_CONFIG_START(cave_state::dfeveron)
MCFG_PALETTE_ADD("palette", 0x8000) /* $8000 palette entries for consistency with the other games */
MCFG_PALETTE_INIT_OWNER(cave_state,dfeveron)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cave_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_2_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2142,8 +2142,8 @@ MACHINE_CONFIG_START(cave_state::ddonpach)
MCFG_DEVICE_PROGRAM_MAP(ddonpach_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cave, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cave, this));
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_TIMER_DRIVER_ADD("int_timer", cave_state, cave_vblank_start)
@@ -2160,7 +2160,7 @@ MACHINE_CONFIG_START(cave_state::ddonpach)
MCFG_PALETTE_ADD("palette", 0x8000 + 0x40*16) // $400 extra entries for layers 1&2
MCFG_PALETTE_INIT_OWNER(cave_state,ddonpach)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cave_3_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_3_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2182,8 +2182,8 @@ MACHINE_CONFIG_START(cave_state::donpachi)
MCFG_DEVICE_PROGRAM_MAP(donpachi_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cave, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cave, this));
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_TIMER_DRIVER_ADD("int_timer", cave_state, cave_vblank_start)
@@ -2200,7 +2200,7 @@ MACHINE_CONFIG_START(cave_state::donpachi)
MCFG_PALETTE_ADD("palette", 0x8000) /* $8000 palette entries for consistency with the other games */
MCFG_PALETTE_INIT_OWNER(cave_state,dfeveron)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cave_3_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_3_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2229,8 +2229,8 @@ MACHINE_CONFIG_START(cave_state::esprade)
MCFG_DEVICE_PROGRAM_MAP(esprade_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cave, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cave, this));
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_TIMER_DRIVER_ADD("int_timer", cave_state, cave_vblank_start)
@@ -2247,7 +2247,7 @@ MACHINE_CONFIG_START(cave_state::esprade)
MCFG_PALETTE_ADD("palette", 0x8000)
MCFG_PALETTE_INIT_OWNER(cave_state,cave)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cave_3_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_3_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2269,8 +2269,8 @@ MACHINE_CONFIG_START(cave_state::gaia)
MCFG_DEVICE_PROGRAM_MAP(gaia_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cave, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cave, this));
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_TIMER_DRIVER_ADD("int_timer", cave_state, cave_vblank_start)
@@ -2288,7 +2288,7 @@ MACHINE_CONFIG_START(cave_state::gaia)
MCFG_PALETTE_ADD("palette", 0x8000)
MCFG_PALETTE_INIT_OWNER(cave_state,cave)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cave_3_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_3_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2310,8 +2310,8 @@ MACHINE_CONFIG_START(cave_state::guwange)
MCFG_DEVICE_PROGRAM_MAP(guwange_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cave, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cave, this));
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_TIMER_DRIVER_ADD("int_timer", cave_state, cave_vblank_start)
@@ -2328,7 +2328,7 @@ MACHINE_CONFIG_START(cave_state::guwange)
MCFG_PALETTE_ADD("palette", 0x8000)
MCFG_PALETTE_INIT_OWNER(cave_state,cave)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cave_3_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_3_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2353,8 +2353,8 @@ MACHINE_CONFIG_START(cave_state::hotdogst)
MCFG_DEVICE_PROGRAM_MAP(hotdogst_sound_map)
MCFG_DEVICE_IO_MAP(hotdogst_sound_portmap)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cave, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cave, this));
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_TIMER_DRIVER_ADD("int_timer", cave_state, cave_vblank_start)
@@ -2371,7 +2371,7 @@ MACHINE_CONFIG_START(cave_state::hotdogst)
MCFG_PALETTE_ADD("palette", 0x8000) /* $8000 palette entries for consistency with the other games */
MCFG_PALETTE_INIT_OWNER(cave_state,dfeveron)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cave_3_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_3_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2403,8 +2403,8 @@ MACHINE_CONFIG_START(cave_state::korokoro)
MCFG_DEVICE_PROGRAM_MAP(korokoro_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cave, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cave, this));
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("eeprom")
MCFG_TIMER_DRIVER_ADD("int_timer", cave_state, cave_vblank_start)
@@ -2421,7 +2421,7 @@ MACHINE_CONFIG_START(cave_state::korokoro)
MCFG_PALETTE_ADD("palette", 0x8000) /* $8000 palette entries for consistency with the other games */
MCFG_PALETTE_INIT_OWNER(cave_state,korokoro)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cave_1_layer, this));
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_1_layer)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2456,8 +2456,8 @@ MACHINE_CONFIG_START(cave_state::mazinger)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cave, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cave, this));
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_TIMER_DRIVER_ADD("int_timer", cave_state, cave_vblank_start)
@@ -2474,7 +2474,7 @@ MACHINE_CONFIG_START(cave_state::mazinger)
MCFG_PALETTE_ADD("palette", 0x8000) /* $8000 palette entries for consistency with the other games */
MCFG_PALETTE_INIT_OWNER(cave_state,mazinger)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cave_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_2_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2513,8 +2513,8 @@ MACHINE_CONFIG_START(cave_state::metmqstr)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cave, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cave, this)); /* start with the watchdog armed */
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave) /* start with the watchdog armed */
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_TIMER_DRIVER_ADD("int_timer", cave_state, cave_vblank_start)
@@ -2531,7 +2531,7 @@ MACHINE_CONFIG_START(cave_state::metmqstr)
MCFG_PALETTE_ADD("palette", 0x8000) /* $8000 palette entries for consistency with the other games */
MCFG_PALETTE_INIT_OWNER(cave_state,dfeveron)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cave_3_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_3_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2569,8 +2569,8 @@ MACHINE_CONFIG_START(cave_state::pacslot)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cave, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cave, this));
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_EEPROM_SERIAL_ENABLE_STREAMING()
@@ -2589,7 +2589,7 @@ MACHINE_CONFIG_START(cave_state::pacslot)
MCFG_PALETTE_ADD("palette", 0x8000)
MCFG_PALETTE_INIT_OWNER(cave_state,cave)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cave_1_layer, this));
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_1_layer)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -2629,8 +2629,8 @@ MACHINE_CONFIG_START(cave_state::ppsatan)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(1)) /* a guess, and certainly wrong */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cave, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cave, this));
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_TIMER_DRIVER_ADD_PERIODIC("timer_lev2", cave_state, timer_lev2_cb, attotime::from_hz(60))
@@ -2665,7 +2665,7 @@ MACHINE_CONFIG_START(cave_state::ppsatan)
MCFG_PALETTE_INIT_OWNER(cave_state,ppsatan)
MCFG_DEFAULT_LAYOUT(layout_ppsatan)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cave_3_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_3_layers)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -2694,8 +2694,8 @@ MACHINE_CONFIG_START(cave_state::pwrinst2)
MCFG_DEVICE_PROGRAM_MAP(pwrinst2_sound_map)
MCFG_DEVICE_IO_MAP(pwrinst2_sound_portmap)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cave, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cave, this));
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_TIMER_DRIVER_ADD("int_timer", cave_state, cave_vblank_start)
@@ -2712,7 +2712,7 @@ MACHINE_CONFIG_START(cave_state::pwrinst2)
MCFG_PALETTE_ADD("palette", 0x8000+0x2800)
MCFG_PALETTE_INIT_OWNER(cave_state,pwrinst2)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cave_4_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_4_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2748,11 +2748,11 @@ TIMER_DEVICE_CALLBACK_MEMBER( cave_state::sailormn_startup )
m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE);
}
-void cave_state::machine_reset_sailormn()
+MACHINE_RESET_MEMBER(cave_state,sailormn)
{
timer_device *startup = machine().device<timer_device>("startup");
startup->adjust(attotime::from_usec(1000), 0, attotime::zero);
- machine_reset_cave();
+ MACHINE_RESET_CALL_MEMBER(cave);
}
MACHINE_CONFIG_START(cave_state::sailormn)
@@ -2771,8 +2771,8 @@ MACHINE_CONFIG_START(cave_state::sailormn)
// MCFG_QUANTUM_TIME(attotime::from_hz(600))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cave, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sailormn, this));
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,sailormn)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_TIMER_DRIVER_ADD("int_timer", cave_state, cave_vblank_start)
@@ -2789,7 +2789,7 @@ MACHINE_CONFIG_START(cave_state::sailormn)
MCFG_PALETTE_ADD("palette", 0x8000) /* $8000 palette entries for consistency with the other games */
MCFG_PALETTE_INIT_OWNER(cave_state,sailormn) // 4 bit sprites, 6 bit tiles
- set_video_start_cb(config, driver_callback_delegate(&video_start_sailormn_3_layers, this)); /* Layer 2 has 1 banked ROM */
+ MCFG_VIDEO_START_OVERRIDE(cave_state,sailormn_3_layers) /* Layer 2 has 1 banked ROM */
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2829,8 +2829,8 @@ MACHINE_CONFIG_START(cave_state::tekkencw)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cave, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cave, this));
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_EEPROM_SERIAL_ENABLE_STREAMING()
@@ -2849,7 +2849,7 @@ MACHINE_CONFIG_START(cave_state::tekkencw)
MCFG_PALETTE_ADD("palette", 0x8000)
MCFG_PALETTE_INIT_OWNER(cave_state,cave)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cave_1_layer, this));
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_1_layer)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -2885,8 +2885,8 @@ MACHINE_CONFIG_START(cave_state::tjumpman)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cave, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cave, this));
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
+ MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_EEPROM_SERIAL_ENABLE_STREAMING()
@@ -2905,7 +2905,7 @@ MACHINE_CONFIG_START(cave_state::tjumpman)
MCFG_PALETTE_ADD("palette", 0x8000)
MCFG_PALETTE_INIT_OWNER(cave_state,cave)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cave_1_layer, this));
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_1_layer)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -2930,7 +2930,7 @@ MACHINE_CONFIG_START(cave_state::uopoko)
MCFG_DEVICE_PROGRAM_MAP(uopoko_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cave, this));
+ MCFG_MACHINE_START_OVERRIDE(cave_state,cave)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_TIMER_DRIVER_ADD("int_timer", cave_state, cave_vblank_start)
@@ -2947,7 +2947,7 @@ MACHINE_CONFIG_START(cave_state::uopoko)
MCFG_PALETTE_ADD("palette", 0x8000)
MCFG_PALETTE_INIT_OWNER(cave_state,cave)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cave_1_layer, this));
+ MCFG_VIDEO_START_OVERRIDE(cave_state,cave_1_layer)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/cbm2.cpp b/src/mame/drivers/cbm2.cpp
index cc47159f03e..cf9bb04a9ef 100644
--- a/src/mame/drivers/cbm2.cpp
+++ b/src/mame/drivers/cbm2.cpp
@@ -140,12 +140,12 @@ public:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
- void machine_start_cbm2() ATTR_COLD;
- void machine_start_cbm2_ntsc() ATTR_COLD;
- void machine_start_cbm2_pal() ATTR_COLD;
- void machine_start_cbm2x_ntsc() ATTR_COLD;
- void machine_start_cbm2x_pal() ATTR_COLD;
- void machine_reset_cbm2();
+ DECLARE_MACHINE_START( cbm2 );
+ DECLARE_MACHINE_START( cbm2_ntsc );
+ DECLARE_MACHINE_START( cbm2_pal );
+ DECLARE_MACHINE_START( cbm2x_ntsc );
+ DECLARE_MACHINE_START( cbm2x_pal );
+ DECLARE_MACHINE_RESET( cbm2 );
virtual void read_pla(offs_t offset, int ras, int cas, int refen, int eras, int ecas,
int *casseg1, int *casseg2, int *casseg3, int *casseg4, int *rasseg1, int *rasseg2, int *rasseg3, int *rasseg4);
@@ -275,10 +275,10 @@ public:
required_device<mos6566_device> m_vic;
optional_shared_ptr<uint8_t> m_color_ram;
- void machine_start_p500() ATTR_COLD;
- void machine_start_p500_ntsc() ATTR_COLD;
- void machine_start_p500_pal() ATTR_COLD;
- void machine_reset_p500();
+ DECLARE_MACHINE_START( p500 );
+ DECLARE_MACHINE_START( p500_ntsc );
+ DECLARE_MACHINE_START( p500_pal );
+ DECLARE_MACHINE_RESET( p500 );
void read_pla1(offs_t offset, int busy2, int clrnibcsb, int procvid, int refen, int ba, int aec, int srw,
int *datxen, int *dramxen, int *clrniben, int *segf, int *_64kcasen, int *casenb, int *viddaten, int *viddat_tr);
@@ -2117,10 +2117,10 @@ void cbm2_state::device_timer(emu_timer &timer, device_timer_id id, int param, v
//-------------------------------------------------
-// machine_start_cbm2()
+// MACHINE_START( cbm2 )
//-------------------------------------------------
-void cbm2_state::machine_start_cbm2()
+MACHINE_START_MEMBER( cbm2_state, cbm2 )
{
// allocate memory
m_video_ram.allocate(m_video_ram_size);
@@ -2147,64 +2147,64 @@ void cbm2_state::machine_start_cbm2()
//-------------------------------------------------
-// machine_start_cbm2_ntsc()
+// MACHINE_START( cbm2_ntsc )
//-------------------------------------------------
-void cbm2_state::machine_start_cbm2_ntsc()
+MACHINE_START_MEMBER( cbm2_state, cbm2_ntsc )
{
m_ntsc = 1;
- machine_start_cbm2();
+ MACHINE_START_CALL_MEMBER(cbm2);
}
//-------------------------------------------------
-// machine_start_cbm2_pal()
+// MACHINE_START( cbm2_pal )
//-------------------------------------------------
-void cbm2_state::machine_start_cbm2_pal()
+MACHINE_START_MEMBER( cbm2_state, cbm2_pal )
{
m_ntsc = 0;
- machine_start_cbm2();
+ MACHINE_START_CALL_MEMBER(cbm2);
}
//-------------------------------------------------
-// machine_start_cbm2x_ntsc()
+// MACHINE_START( cbm2x_ntsc )
//-------------------------------------------------
-void cbm2_state::machine_start_cbm2x_ntsc()
+MACHINE_START_MEMBER( cbm2_state, cbm2x_ntsc )
{
// allocate memory
m_extbuf_ram.allocate(0x800);
- machine_start_cbm2_ntsc();
+ MACHINE_START_CALL_MEMBER(cbm2_ntsc);
}
//-------------------------------------------------
-// machine_start_cbm2x_pal()
+// MACHINE_START( cbm2x_pal )
//-------------------------------------------------
-void cbm2_state::machine_start_cbm2x_pal()
+MACHINE_START_MEMBER( cbm2_state, cbm2x_pal )
{
// allocate memory
m_extbuf_ram.allocate(0x800);
- machine_start_cbm2_pal();
+ MACHINE_START_CALL_MEMBER(cbm2_pal);
}
//-------------------------------------------------
-// machine_start_p500()
+// MACHINE_START( p500 )
//-------------------------------------------------
-void p500_state::machine_start_p500()
+MACHINE_START_MEMBER( p500_state, p500 )
{
m_video_ram_size = 0x400;
- machine_start_cbm2();
+ MACHINE_START_CALL_MEMBER(cbm2);
// allocate memory
m_color_ram.allocate(0x400);
@@ -2218,14 +2218,14 @@ void p500_state::machine_start_p500()
//-------------------------------------------------
-// machine_start_p500_ntsc()
+// MACHINE_START( p500_ntsc )
//-------------------------------------------------
-void p500_state::machine_start_p500_ntsc()
+MACHINE_START_MEMBER( p500_state, p500_ntsc )
{
m_ntsc = 1;
- machine_start_p500();
+ MACHINE_START_CALL_MEMBER(p500);
}
@@ -2233,15 +2233,15 @@ void p500_state::machine_start_p500_ntsc()
// MACHINE_START( p500_pal )
//-------------------------------------------------
-void p500_state::machine_start_p500_pal()
+MACHINE_START_MEMBER( p500_state, p500_pal )
{
m_ntsc = 0;
- machine_start_p500();
+ MACHINE_START_CALL_MEMBER(p500);
}
-void cbm2_state::machine_reset_cbm2()
+MACHINE_RESET_MEMBER( cbm2_state, cbm2 )
{
m_dramon = 1;
m_busen1 = 1;
@@ -2250,8 +2250,8 @@ void cbm2_state::machine_reset_cbm2()
m_tpi1_irq = CLEAR_LINE;
m_user_irq = CLEAR_LINE;
- m_ext_tpi_pb = 0xff;
- m_ext_cia_pb = 0xff;
+m_ext_tpi_pb = 0xff;
+m_ext_cia_pb = 0xff;
m_maincpu->reset();
@@ -2266,9 +2266,9 @@ void cbm2_state::machine_reset_cbm2()
}
-void p500_state::machine_reset_p500()
+MACHINE_RESET_MEMBER( p500_state, p500 )
{
- machine_reset_cbm2();
+ MACHINE_RESET_CALL_MEMBER(cbm2);
m_vic->reset();
@@ -2310,8 +2310,8 @@ MACHINE_CONFIG_END
//-------------------------------------------------
MACHINE_CONFIG_START(p500_state::p500_ntsc)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_p500_ntsc, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_p500, this));
+ MCFG_MACHINE_START_OVERRIDE(p500_state, p500_ntsc)
+ MCFG_MACHINE_RESET_OVERRIDE(p500_state, p500)
// basic hardware
MCFG_DEVICE_ADD(M6509_TAG, M6509, XTAL(14'318'181)/14)
@@ -2426,8 +2426,8 @@ MACHINE_CONFIG_END
//-------------------------------------------------
MACHINE_CONFIG_START(p500_state::p500_pal)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_p500_pal, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_p500, this));
+ MCFG_MACHINE_START_OVERRIDE(p500_state, p500_pal)
+ MCFG_MACHINE_RESET_OVERRIDE(p500_state, p500)
// basic hardware
MCFG_DEVICE_ADD(M6509_TAG, M6509, XTAL(17'734'472)/18)
@@ -2539,8 +2539,8 @@ MACHINE_CONFIG_END
//-------------------------------------------------
MACHINE_CONFIG_START(cbm2_state::cbm2lp_ntsc)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cbm2_ntsc, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cbm2, this));
+ MCFG_MACHINE_START_OVERRIDE(cbm2_state, cbm2_ntsc)
+ MCFG_MACHINE_RESET_OVERRIDE(cbm2_state, cbm2)
// basic hardware
MCFG_DEVICE_ADD(M6509_TAG, M6509, XTAL(18'000'000)/9)
@@ -2669,7 +2669,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(cbm2_state::cbm2lp_pal)
cbm2lp_ntsc(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cbm2_pal, this));
+ MCFG_MACHINE_START_OVERRIDE(cbm2_state, cbm2_pal)
MCFG_DEVICE_MODIFY(MOS6526_TAG)
MCFG_MOS6526_TOD(50)
@@ -2733,7 +2733,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(cbm2hp_state::bx256hp)
b256hp(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cbm2x_ntsc, this));
+ MCFG_MACHINE_START_OVERRIDE(cbm2_state, cbm2x_ntsc)
MCFG_DEVICE_ADD(EXT_I8088_TAG, I8088, XTAL(12'000'000))
MCFG_DEVICE_PROGRAM_MAP(ext_mem)
@@ -2766,7 +2766,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(cbm2_state::cbm2hp_pal)
cbm2hp_ntsc(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cbm2_pal, this));
+ MCFG_MACHINE_START_OVERRIDE(cbm2_state, cbm2_pal)
// devices
MCFG_DEVICE_MODIFY(MOS6525_2_TAG)
@@ -2803,7 +2803,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(cbm2hp_state::cbm730)
cbm720(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cbm2x_pal, this));
+ MCFG_MACHINE_START_OVERRIDE(cbm2_state, cbm2x_pal)
MCFG_DEVICE_ADD(EXT_I8088_TAG, I8088, XTAL(12'000'000))
MCFG_DEVICE_PROGRAM_MAP(ext_mem)
diff --git a/src/mame/drivers/cclimber.cpp b/src/mame/drivers/cclimber.cpp
index 3119a1eeaba..7482e77bbb8 100644
--- a/src/mame/drivers/cclimber.cpp
+++ b/src/mame/drivers/cclimber.cpp
@@ -296,7 +296,7 @@ WRITE_LINE_MEMBER(cclimber_state::toprollr_rombank_w)
}
#ifdef UNUSED_FUNCTION
-void cclimber_state::machine_reset_cclimber()
+MACHINE_RESET_MEMBER(cclimber_state,cclimber)
{
/* Disable interrupts, River Patrol / Silver Land needs this otherwise returns bad RAM on POST */
m_nmi_mask = 0;
@@ -1135,7 +1135,7 @@ MACHINE_CONFIG_START(cclimber_state::root)
MCFG_PALETTE_ADD("palette", 16*4+8*4)
MCFG_PALETTE_INIT_OWNER(cclimber_state,cclimber)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cclimber, this));
+ MCFG_VIDEO_START_OVERRIDE(cclimber_state,cclimber)
MACHINE_CONFIG_END
@@ -1244,7 +1244,7 @@ MACHINE_CONFIG_START(cclimber_state::toprollr)
MCFG_PALETTE_ENTRIES(32*5)
MCFG_PALETTE_INIT_OWNER(cclimber_state,toprollr)
- set_video_start_cb(config, driver_callback_delegate(&video_start_toprollr, this));
+ MCFG_VIDEO_START_OVERRIDE(cclimber_state,toprollr)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(cclimber_state, screen_update_toprollr)
MACHINE_CONFIG_END
@@ -1282,7 +1282,7 @@ MACHINE_CONFIG_START(cclimber_state::swimmer)
MCFG_PALETTE_ADD("palette", 32*8+4*8+1)
MCFG_PALETTE_INIT_OWNER(cclimber_state,swimmer)
- set_video_start_cb(config, driver_callback_delegate(&video_start_swimmer, this));
+ MCFG_VIDEO_START_OVERRIDE(cclimber_state,swimmer)
/* audio hardware */
SPEAKER(config, "speaker").front_center();
diff --git a/src/mame/drivers/ccs300.cpp b/src/mame/drivers/ccs300.cpp
index 3132727fa58..753e9e26f0d 100644
--- a/src/mame/drivers/ccs300.cpp
+++ b/src/mame/drivers/ccs300.cpp
@@ -37,7 +37,7 @@ public:
{ }
void init_ccs300();
- void machine_reset_ccs300();
+ DECLARE_MACHINE_RESET(ccs300);
DECLARE_WRITE8_MEMBER(port40_w);
void ccs300(machine_config &config);
@@ -90,7 +90,7 @@ WRITE8_MEMBER( ccs300_state::port40_w )
membank("bankr0")->set_entry( (data) ? 1 : 0);
}
-void ccs300_state::machine_reset_ccs300()
+MACHINE_RESET_MEMBER( ccs300_state, ccs300 )
{
membank("bankr0")->set_entry(0); // point at rom
membank("bankw0")->set_entry(0); // always write to ram
@@ -122,7 +122,7 @@ MACHINE_CONFIG_START(ccs300_state::ccs300)
MCFG_DEVICE_IO_MAP(ccs300_io)
MCFG_Z80_DAISY_CHAIN(daisy_chain)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ccs300, this));
+ MCFG_MACHINE_RESET_OVERRIDE(ccs300_state, ccs300)
/* video hardware */
MCFG_DEVICE_ADD("uart_clock", CLOCK, 153600)
diff --git a/src/mame/drivers/cdi.cpp b/src/mame/drivers/cdi.cpp
index cdfc96e278b..feb1091c8ec 100644
--- a/src/mame/drivers/cdi.cpp
+++ b/src/mame/drivers/cdi.cpp
@@ -302,7 +302,7 @@ INTERRUPT_GEN_MEMBER( cdi_state::mcu_frame )
m_scc->mcu_frame();
}
-void cdi_state::machine_reset_cdimono1()
+MACHINE_RESET_MEMBER( cdi_state, cdimono1 )
{
uint16_t *src = (uint16_t*)memregion("maincpu")->base();
uint16_t *dst = m_planea;
@@ -316,7 +316,7 @@ void cdi_state::machine_reset_cdimono1()
m_dmadac[1] = machine().device<dmadac_sound_device>("dac2");
}
-void cdi_state::machine_reset_cdimono2()
+MACHINE_RESET_MEMBER( cdi_state, cdimono2 )
{
uint16_t *src = (uint16_t*)memregion("maincpu")->base();
uint16_t *dst = m_planea;
@@ -328,17 +328,17 @@ void cdi_state::machine_reset_cdimono2()
m_dmadac[1] = machine().device<dmadac_sound_device>("dac2");
}
-void cdi_state::machine_reset_quizard1()
+MACHINE_RESET_MEMBER( cdi_state, quizard1 )
{
- machine_reset_cdimono1();
+ MACHINE_RESET_CALL_MEMBER( cdimono1 );
m_scc->set_quizard_mcu_value(0x021f);
m_scc->set_quizard_mcu_ack(0x5a);
}
-void cdi_state::machine_reset_quizard2()
+MACHINE_RESET_MEMBER( cdi_state, quizard2 )
{
- machine_reset_cdimono1();
+ MACHINE_RESET_CALL_MEMBER( cdimono1 );
// 0x2b1: Italian
// 0x001: French
@@ -350,17 +350,17 @@ void cdi_state::machine_reset_quizard2()
-void cdi_state::machine_reset_quizard3()
+MACHINE_RESET_MEMBER( cdi_state, quizard3 )
{
- machine_reset_cdimono1();
+ MACHINE_RESET_CALL_MEMBER( cdimono1 );
m_scc->set_quizard_mcu_value(0x00ae);
m_scc->set_quizard_mcu_ack(0x58);
}
-void cdi_state::machine_reset_quizard4()
+MACHINE_RESET_MEMBER( cdi_state, quizard4 )
{
- machine_reset_cdimono1();
+ MACHINE_RESET_CALL_MEMBER( cdimono1 );
//m_scc->set_quizard_mcu_value(0x0139);
m_scc->set_quizard_mcu_value(0x011f);
@@ -847,7 +847,7 @@ MACHINE_CONFIG_START(cdi_state::cdimono2)
MCFG_DEFAULT_LAYOUT(layout_cdi)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cdimono2, this));
+ MCFG_MACHINE_RESET_OVERRIDE( cdi_state, cdimono2 )
MCFG_CDI68070_ADD("scc68070")
MCFG_DEVICE_ADD("servo", M68HC05EG, 2000000) /* Unknown clock speed, docs say 2MHz internal clock */
@@ -902,7 +902,7 @@ MACHINE_CONFIG_START(cdi_state::cdi910)
MCFG_DEFAULT_LAYOUT(layout_cdi)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cdimono2, this));
+ MCFG_MACHINE_RESET_OVERRIDE( cdi_state, cdimono2 )
MCFG_CDI68070_ADD("scc68070")
MCFG_DEVICE_ADD("servo", M68HC05EG, 2000000) /* Unknown clock speed, docs say 2MHz internal clock */
@@ -935,7 +935,7 @@ MACHINE_CONFIG_END
// CD-i Mono-I, with CD-ROM image device (MESS) and Software List (MESS)
MACHINE_CONFIG_START(cdi_state::cdimono1)
cdimono1_base(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cdimono1, this));
+ MCFG_MACHINE_RESET_OVERRIDE(cdi_state, cdimono1)
MCFG_CDROM_ADD( "cdrom" )
MCFG_CDROM_INTERFACE("cdi_cdrom")
@@ -958,7 +958,7 @@ READ8_MEMBER( cdi_state::quizard_mcu_p1_r )
MACHINE_CONFIG_START(cdi_state::quizard1)
quizard(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_quizard1, this));
+ MCFG_MACHINE_RESET_OVERRIDE(cdi_state, quizard1 )
MCFG_DEVICE_ADD("mcu", I8751, 8000000)
MCFG_MCS51_PORT_P1_IN_CB(READ8(*this, cdi_state, quizard_mcu_p1_r))
@@ -968,17 +968,17 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(cdi_state::quizard2)
quizard(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_quizard2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(cdi_state, quizard2 )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(cdi_state::quizard3)
quizard(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_quizard3, this));
+ MCFG_MACHINE_RESET_OVERRIDE(cdi_state, quizard3 )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(cdi_state::quizard4)
quizard(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_quizard4, this));
+ MCFG_MACHINE_RESET_OVERRIDE(cdi_state, quizard4 )
MCFG_DEVICE_ADD("mcu", I8751, 8000000)
MCFG_MCS51_PORT_P1_IN_CB(READ8(*this, cdi_state, quizard_mcu_p1_r))
diff --git a/src/mame/drivers/centiped.cpp b/src/mame/drivers/centiped.cpp
index 82f2988f23e..4320ccc5e10 100644
--- a/src/mame/drivers/centiped.cpp
+++ b/src/mame/drivers/centiped.cpp
@@ -444,7 +444,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(centiped_state::generate_interrupt)
m_screen->update_partial(scanline);
}
-void centiped_state::machine_start_centiped()
+MACHINE_START_MEMBER(centiped_state,centiped)
{
save_item(NAME(m_oldpos));
save_item(NAME(m_sign));
@@ -453,16 +453,16 @@ void centiped_state::machine_start_centiped()
}
-void centiped_state::machine_reset_centiped()
+MACHINE_RESET_MEMBER(centiped_state,centiped)
{
m_maincpu->set_input_line(0, CLEAR_LINE);
m_prg_bank = 0;
}
-void centiped_state::machine_reset_magworm()
+MACHINE_RESET_MEMBER(centiped_state,magworm)
{
- machine_reset_centiped();
+ MACHINE_RESET_CALL_MEMBER(centiped);
/* kludge: clear RAM so that magworm can be reset cleanly */
memset(m_rambase, 0, 0x400);
@@ -1716,8 +1716,8 @@ MACHINE_CONFIG_START(centiped_state::centiped_base)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M6502, 12096000/8) /* 1.512 MHz (slows down to 0.75MHz while accessing playfield RAM) */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_centiped, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_centiped, this));
+ MCFG_MACHINE_START_OVERRIDE(centiped_state,centiped)
+ MCFG_MACHINE_RESET_OVERRIDE(centiped_state,centiped)
MCFG_ATARIVGEAROM_ADD("earom")
@@ -1744,7 +1744,7 @@ MACHINE_CONFIG_START(centiped_state::centiped_base)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_centiped)
MCFG_PALETTE_ADD("palette", 4+4*4*4*4)
- set_video_start_cb(config, driver_callback_delegate(&video_start_centiped, this));
+ MCFG_VIDEO_START_OVERRIDE(centiped_state,centiped)
MACHINE_CONFIG_END
@@ -1817,7 +1817,7 @@ MACHINE_CONFIG_START(centiped_state::magworm)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(magworm_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_magworm, this));
+ MCFG_MACHINE_RESET_OVERRIDE(centiped_state,magworm)
MCFG_DEVICE_MODIFY("outlatch") // 12A
MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(WRITELINE(*this, centiped_state, flip_screen_w))
@@ -1848,7 +1848,7 @@ MACHINE_CONFIG_START(centiped_state::milliped)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(4*4+4*4*4*4*4)
- set_video_start_cb(config, driver_callback_delegate(&video_start_milliped, this));
+ MCFG_VIDEO_START_OVERRIDE(centiped_state,milliped)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(centiped_state, screen_update_milliped)
@@ -1895,7 +1895,7 @@ MACHINE_CONFIG_START(centiped_state::warlords)
MCFG_PALETTE_ENTRIES(8*4+8*4)
MCFG_PALETTE_INIT_OWNER(centiped_state,warlords)
- set_video_start_cb(config, driver_callback_delegate(&video_start_warlords, this));
+ MCFG_VIDEO_START_OVERRIDE(centiped_state,warlords)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(centiped_state, screen_update_warlords)
@@ -1955,7 +1955,7 @@ MACHINE_CONFIG_START(centiped_state::bullsdrt)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_centiped)
MCFG_PALETTE_ADD("palette", 4+4*4*4*4)
- set_video_start_cb(config, driver_callback_delegate(&video_start_bullsdrt, this));
+ MCFG_VIDEO_START_OVERRIDE(centiped_state,bullsdrt)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/champbas.cpp b/src/mame/drivers/champbas.cpp
index 62e3d6b052a..7cf0c104dc3 100644
--- a/src/mame/drivers/champbas.cpp
+++ b/src/mame/drivers/champbas.cpp
@@ -555,7 +555,7 @@ MACHINE_CONFIG_START(champbas_state::talbot)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_INDIRECT_ENTRIES(32)
MCFG_PALETTE_INIT_OWNER(champbas_state,champbas)
- set_video_start_cb(config, driver_callback_delegate(&video_start_champbas, this));
+ MCFG_VIDEO_START_OVERRIDE(champbas_state,champbas)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -602,7 +602,7 @@ MACHINE_CONFIG_START(champbas_state::champbas)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_INDIRECT_ENTRIES(32)
MCFG_PALETTE_INIT_OWNER(champbas_state,champbas)
- set_video_start_cb(config, driver_callback_delegate(&video_start_champbas, this));
+ MCFG_VIDEO_START_OVERRIDE(champbas_state,champbas)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -713,7 +713,7 @@ MACHINE_CONFIG_START(champbas_state::exctsccr)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_INDIRECT_ENTRIES(32)
MCFG_PALETTE_INIT_OWNER(champbas_state,exctsccr)
- set_video_start_cb(config, driver_callback_delegate(&video_start_exctsccr, this));
+ MCFG_VIDEO_START_OVERRIDE(champbas_state,exctsccr)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -779,7 +779,7 @@ MACHINE_CONFIG_START(champbas_state::exctsccrb)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_INDIRECT_ENTRIES(32)
MCFG_PALETTE_INIT_OWNER(champbas_state,exctsccr)
- set_video_start_cb(config, driver_callback_delegate(&video_start_exctsccr, this));
+ MCFG_VIDEO_START_OVERRIDE(champbas_state,exctsccr)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
diff --git a/src/mame/drivers/champbwl.cpp b/src/mame/drivers/champbwl.cpp
index ecdac4bf3df..369d0fdb1b6 100644
--- a/src/mame/drivers/champbwl.cpp
+++ b/src/mame/drivers/champbwl.cpp
@@ -190,9 +190,9 @@ public:
DECLARE_READ8_MEMBER(trackball_reset_r);
DECLARE_WRITE8_MEMBER(champbwl_misc_w);
DECLARE_WRITE8_MEMBER(doraemon_outputs_w);
- void machine_start_champbwl() ATTR_COLD;
- void machine_reset_champbwl();
- void machine_start_doraemon() ATTR_COLD;
+ DECLARE_MACHINE_START(champbwl);
+ DECLARE_MACHINE_RESET(champbwl);
+ DECLARE_MACHINE_START(doraemon);
DECLARE_PALETTE_INIT(champbwl);
uint32_t screen_update_champbwl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_doraemon(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -450,7 +450,7 @@ static GFXDECODE_START( gfx_champbwl )
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 32 )
GFXDECODE_END
-void champbwl_state::machine_start_champbwl()
+MACHINE_START_MEMBER(champbwl_state,champbwl)
{
uint8_t *ROM = memregion("maincpu")->base();
@@ -460,7 +460,7 @@ void champbwl_state::machine_start_champbwl()
save_item(NAME(m_last_trackball_val));
}
-void champbwl_state::machine_reset_champbwl()
+MACHINE_RESET_MEMBER(champbwl_state,champbwl)
{
m_screenflip = 0;
m_last_trackball_val[0] = 0;
@@ -496,8 +496,8 @@ MACHINE_CONFIG_START(champbwl_state::champbwl)
MCFG_NVRAM_ADD_0FILL("nvram")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_champbwl, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_champbwl, this));
+ MCFG_MACHINE_START_OVERRIDE(champbwl_state,champbwl)
+ MCFG_MACHINE_RESET_OVERRIDE(champbwl_state,champbwl)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
@@ -547,7 +547,7 @@ WRITE_LINE_MEMBER(champbwl_state::screen_vblank_doraemon)
m_seta001->setac_eof();
}
-void champbwl_state::machine_start_doraemon()
+MACHINE_START_MEMBER(champbwl_state,doraemon)
{
uint8_t *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
@@ -565,7 +565,7 @@ MACHINE_CONFIG_START(champbwl_state::doraemon)
MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(2000), TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_LOW )
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_doraemon, this));
+ MCFG_MACHINE_START_OVERRIDE(champbwl_state,doraemon)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/chinagat.cpp b/src/mame/drivers/chinagat.cpp
index e5811af8791..4e2fbd52297 100644
--- a/src/mame/drivers/chinagat.cpp
+++ b/src/mame/drivers/chinagat.cpp
@@ -95,9 +95,9 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(chinagat_scanline);
void init_chinagat();
- void machine_start_chinagat() ATTR_COLD;
- void machine_reset_chinagat();
- void video_start_chinagat() ATTR_COLD;
+ DECLARE_MACHINE_START(chinagat);
+ DECLARE_MACHINE_RESET(chinagat);
+ DECLARE_VIDEO_START(chinagat);
DECLARE_WRITE8_MEMBER(interrupt_w);
DECLARE_WRITE8_MEMBER(video_ctrl_w);
DECLARE_WRITE8_MEMBER(bankswitch_w);
@@ -123,7 +123,7 @@ public:
};
-void chinagat_state::video_start_chinagat()
+VIDEO_START_MEMBER(chinagat_state,chinagat)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(chinagat_state::get_bg_tile_info),this),tilemap_mapper_delegate(FUNC(chinagat_state::background_scan),this), 16, 16, 32, 32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(chinagat_state::get_fg_16color_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
@@ -519,7 +519,7 @@ static GFXDECODE_START( gfx_chinagat )
GFXDECODE_END
-void chinagat_state::machine_start_chinagat()
+MACHINE_START_MEMBER(chinagat_state,chinagat)
{
/* configure banks */
membank("bank1")->configure_entries(0, 8, memregion("maincpu")->base() + 0x10000, 0x4000);
@@ -540,7 +540,7 @@ void chinagat_state::machine_start_chinagat()
}
-void chinagat_state::machine_reset_chinagat()
+MACHINE_RESET_MEMBER(chinagat_state,chinagat)
{
m_scrollx_hi = 0;
m_scrolly_hi = 0;
@@ -572,8 +572,8 @@ MACHINE_CONFIG_START(chinagat_state::chinagat)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* heavy interleaving to sync up sprite<->main cpu's */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_chinagat, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_chinagat, this));
+ MCFG_MACHINE_START_OVERRIDE(chinagat_state,chinagat)
+ MCFG_MACHINE_RESET_OVERRIDE(chinagat_state,chinagat)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -585,7 +585,7 @@ MACHINE_CONFIG_START(chinagat_state::chinagat)
MCFG_PALETTE_ADD("palette", 384)
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_chinagat, this));
+ MCFG_VIDEO_START_OVERRIDE(chinagat_state,chinagat)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -626,8 +626,8 @@ MACHINE_CONFIG_START(chinagat_state::saiyugoub1)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* heavy interleaving to sync up sprite<->main cpu's */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_chinagat, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_chinagat, this));
+ MCFG_MACHINE_START_OVERRIDE(chinagat_state,chinagat)
+ MCFG_MACHINE_RESET_OVERRIDE(chinagat_state,chinagat)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -639,7 +639,7 @@ MACHINE_CONFIG_START(chinagat_state::saiyugoub1)
MCFG_PALETTE_ADD("palette", 384)
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_chinagat, this));
+ MCFG_VIDEO_START_OVERRIDE(chinagat_state,chinagat)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -673,8 +673,8 @@ MACHINE_CONFIG_START(chinagat_state::saiyugoub2)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* heavy interleaving to sync up sprite<->main cpu's */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_chinagat, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_chinagat, this));
+ MCFG_MACHINE_START_OVERRIDE(chinagat_state,chinagat)
+ MCFG_MACHINE_RESET_OVERRIDE(chinagat_state,chinagat)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -686,7 +686,7 @@ MACHINE_CONFIG_START(chinagat_state::saiyugoub2)
MCFG_PALETTE_ADD("palette", 384)
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_chinagat, this));
+ MCFG_VIDEO_START_OVERRIDE(chinagat_state,chinagat)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/cinemat.cpp b/src/mame/drivers/cinemat.cpp
index 325141ded9b..6cf23778adb 100644
--- a/src/mame/drivers/cinemat.cpp
+++ b/src/mame/drivers/cinemat.cpp
@@ -1070,7 +1070,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(cinemat_state::sundance)
cinemat_jmi_8k(config);
sundance_sound(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_cinemat_16level, this));
+ MCFG_VIDEO_START_OVERRIDE(cinemat_state,cinemat_16level)
MACHINE_CONFIG_END
@@ -1110,7 +1110,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(cinemat_state::solarq)
cinemat_jmi_16k(config);
solarq_sound(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_cinemat_64level, this));
+ MCFG_VIDEO_START_OVERRIDE(cinemat_state,cinemat_64level)
MACHINE_CONFIG_END
@@ -1119,7 +1119,7 @@ MACHINE_CONFIG_START(cinemat_state::boxingb)
boxingb_sound(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 1024, 0, 788)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cinemat_color, this));
+ MCFG_VIDEO_START_OVERRIDE(cinemat_state,cinemat_color)
MCFG_DEVICE_MODIFY("outlatch")
MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(WRITELINE(*this, cinemat_state, mux_select_w))
@@ -1137,7 +1137,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(cinemat_state::wotwc)
cinemat_jmi_16k(config);
wotw_sound(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_cinemat_color, this));
+ MCFG_VIDEO_START_OVERRIDE(cinemat_state,cinemat_color)
MACHINE_CONFIG_END
@@ -1157,7 +1157,7 @@ MACHINE_CONFIG_START(cinemat_state::qb3)
MCFG_DEVICE_IO_MAP(io_map_qb3)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 1120, 0, 780)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cinemat_qb3color, this));
+ MCFG_VIDEO_START_OVERRIDE(cinemat_state,cinemat_qb3color)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/clshroad.cpp b/src/mame/drivers/clshroad.cpp
index 843120a3bad..e34d040de8d 100644
--- a/src/mame/drivers/clshroad.cpp
+++ b/src/mame/drivers/clshroad.cpp
@@ -303,7 +303,7 @@ MACHINE_CONFIG_START(clshroad_state::firebatl)
MCFG_PALETTE_INDIRECT_ENTRIES(256)
MCFG_PALETTE_INIT_OWNER(clshroad_state,firebatl)
- set_video_start_cb(config, driver_callback_delegate(&video_start_firebatl, this));
+ MCFG_VIDEO_START_OVERRIDE(clshroad_state,firebatl)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -343,7 +343,7 @@ MACHINE_CONFIG_START(clshroad_state::clshroad)
MCFG_PALETTE_ADD("palette", 256)
MCFG_PALETTE_INIT_OWNER(clshroad_state,clshroad)
- set_video_start_cb(config, driver_callback_delegate(&video_start_clshroad, this));
+ MCFG_VIDEO_START_OVERRIDE(clshroad_state,clshroad)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/cninja.cpp b/src/mame/drivers/cninja.cpp
index eaffca19700..9705aa3d1ee 100644
--- a/src/mame/drivers/cninja.cpp
+++ b/src/mame/drivers/cninja.cpp
@@ -785,12 +785,12 @@ DECOSPR_PRIORITY_CB_MEMBER(cninja_state::pri_callback)
return 0;
}
-void cninja_state::machine_start_robocop2()
+MACHINE_START_MEMBER(cninja_state,robocop2)
{
save_item(NAME(m_priority));
}
-void cninja_state::machine_reset_robocop2()
+MACHINE_RESET_MEMBER(cninja_state,robocop2)
{
m_priority = 0;
}
@@ -907,7 +907,7 @@ MACHINE_CONFIG_START(cninja_state::stoneage)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(XBGR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_stoneage, this));
+ MCFG_VIDEO_START_OVERRIDE(cninja_state,stoneage)
MCFG_DEVICE_ADD("spriteram1", BUFFERED_SPRITERAM16)
@@ -1162,8 +1162,8 @@ MACHINE_CONFIG_START(cninja_state::robocop2)
MCFG_SCREEN_UPDATE_DRIVER(cninja_state, screen_update_robocop2)
MCFG_SCREEN_PALETTE("palette")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_robocop2, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_robocop2, this));
+ MCFG_MACHINE_START_OVERRIDE(cninja_state,robocop2)
+ MCFG_MACHINE_RESET_OVERRIDE(cninja_state,robocop2)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_robocop2)
MCFG_PALETTE_ADD("palette", 2048)
@@ -1254,9 +1254,9 @@ MACHINE_CONFIG_START(cninja_state::mutantf)
MCFG_SCREEN_RAW_PARAMS(XTAL(28'000'000) / 4, 442, 0, 320, 274, 8, 248) // same as robocop2? verify this from real pcb
MCFG_SCREEN_UPDATE_DRIVER(cninja_state, screen_update_mutantf)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_robocop2, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_robocop2, this));
- set_video_start_cb(config, driver_callback_delegate(&video_start_mutantf, this));
+ MCFG_MACHINE_START_OVERRIDE(cninja_state,robocop2)
+ MCFG_MACHINE_RESET_OVERRIDE(cninja_state,robocop2)
+ MCFG_VIDEO_START_OVERRIDE(cninja_state,mutantf)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_mutantf)
MCFG_PALETTE_ADD("palette", 2048)
diff --git a/src/mame/drivers/cntsteer.cpp b/src/mame/drivers/cntsteer.cpp
index 41f4de96a12..91b0b5f2be1 100644
--- a/src/mame/drivers/cntsteer.cpp
+++ b/src/mame/drivers/cntsteer.cpp
@@ -106,12 +106,12 @@ public:
void init_zerotrgt();
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
- void machine_start_cntsteer() ATTR_COLD;
- void machine_reset_cntsteer();
- void video_start_cntsteer() ATTR_COLD;
- void machine_start_zerotrgt() ATTR_COLD;
- void machine_reset_zerotrgt();
- void video_start_zerotrgt() ATTR_COLD;
+ DECLARE_MACHINE_START(cntsteer);
+ DECLARE_MACHINE_RESET(cntsteer);
+ DECLARE_VIDEO_START(cntsteer);
+ DECLARE_MACHINE_START(zerotrgt);
+ DECLARE_MACHINE_RESET(zerotrgt);
+ DECLARE_VIDEO_START(zerotrgt);
DECLARE_PALETTE_INIT(zerotrgt);
uint32_t screen_update_cntsteer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_zerotrgt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -175,7 +175,7 @@ TILE_GET_INFO_MEMBER(cntsteer_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, 0x30 + ((attr & 0x78) >> 3), 0);
}
-void cntsteer_state::video_start_cntsteer()
+VIDEO_START_MEMBER(cntsteer_state,cntsteer)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(cntsteer_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 64, 64);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(cntsteer_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS_FLIP_X, 8, 8, 32, 32);
@@ -185,7 +185,7 @@ void cntsteer_state::video_start_cntsteer()
//m_bg_tilemap->set_flip(TILEMAP_FLIPX | TILEMAP_FLIPY);
}
-void cntsteer_state::video_start_zerotrgt()
+VIDEO_START_MEMBER(cntsteer_state,zerotrgt)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(cntsteer_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(cntsteer_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS_FLIP_X, 8, 8, 32, 32);
@@ -873,7 +873,7 @@ GFXDECODE_END
/***************************************************************************/
-void cntsteer_state::machine_start_cntsteer()
+MACHINE_START_MEMBER(cntsteer_state,cntsteer)
{
save_item(NAME(m_flipscreen));
save_item(NAME(m_bg_bank));
@@ -888,14 +888,14 @@ void cntsteer_state::machine_start_cntsteer()
save_item(NAME(m_disable_roz));
}
-void cntsteer_state::machine_start_zerotrgt()
+MACHINE_START_MEMBER(cntsteer_state,zerotrgt)
{
save_item(NAME(m_nmimask));
- machine_start_cntsteer();
+ MACHINE_START_CALL_MEMBER(cntsteer);
}
-void cntsteer_state::machine_reset_zerotrgt()
+MACHINE_RESET_MEMBER(cntsteer_state,zerotrgt)
{
m_flipscreen = 0;
m_bg_bank = 0;
@@ -912,10 +912,10 @@ void cntsteer_state::machine_reset_zerotrgt()
}
-void cntsteer_state::machine_reset_cntsteer()
+MACHINE_RESET_MEMBER(cntsteer_state,cntsteer)
{
m_maincpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- machine_reset_zerotrgt();
+ MACHINE_RESET_CALL_MEMBER(zerotrgt);
}
MACHINE_CONFIG_START(cntsteer_state::cntsteer)
@@ -932,8 +932,8 @@ MACHINE_CONFIG_START(cntsteer_state::cntsteer)
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(cntsteer_state, sound_interrupt, 480)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cntsteer, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cntsteer, this));
+ MCFG_MACHINE_START_OVERRIDE(cntsteer_state,cntsteer)
+ MCFG_MACHINE_RESET_OVERRIDE(cntsteer_state,cntsteer)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -953,7 +953,7 @@ MACHINE_CONFIG_START(cntsteer_state::cntsteer)
MCFG_PALETTE_ADD("palette", 256)
// MCFG_PALETTE_INIT_OWNER(cntsteer_state,zerotrgt)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cntsteer, this));
+ MCFG_VIDEO_START_OVERRIDE(cntsteer_state,cntsteer)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -989,8 +989,8 @@ MACHINE_CONFIG_START(cntsteer_state::zerotrgt)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_zerotrgt, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_zerotrgt, this));
+ MCFG_MACHINE_START_OVERRIDE(cntsteer_state,zerotrgt)
+ MCFG_MACHINE_RESET_OVERRIDE(cntsteer_state,zerotrgt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1005,7 +1005,7 @@ MACHINE_CONFIG_START(cntsteer_state::zerotrgt)
MCFG_PALETTE_ADD("palette", 256)
MCFG_PALETTE_INIT_OWNER(cntsteer_state,zerotrgt)
- set_video_start_cb(config, driver_callback_delegate(&video_start_zerotrgt, this));
+ MCFG_VIDEO_START_OVERRIDE(cntsteer_state,zerotrgt)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
diff --git a/src/mame/drivers/combatsc.cpp b/src/mame/drivers/combatsc.cpp
index 5f8c4b754b3..542fc5599f0 100644
--- a/src/mame/drivers/combatsc.cpp
+++ b/src/mame/drivers/combatsc.cpp
@@ -643,7 +643,7 @@ GFXDECODE_END
*
*************************************/
-void combatsc_state::machine_start_combatsc()
+MACHINE_START_MEMBER(combatsc_state,combatsc)
{
uint8_t *MEM = memregion("maincpu")->base() + 0x38000;
@@ -665,9 +665,9 @@ void combatsc_state::machine_start_combatsc()
save_item(NAME(m_sign));
}
-void combatsc_state::machine_start_combatscb()
+MACHINE_START_MEMBER(combatsc_state,combatscb)
{
- machine_start_combatsc();
+ MACHINE_START_CALL_MEMBER( combatsc );
membank("bl_abank")->configure_entries(0, 2, memregion("audiocpu")->base() + 0x8000, 0x4000);
}
@@ -708,7 +708,7 @@ MACHINE_CONFIG_START(combatsc_state::combatsc)
MCFG_QUANTUM_TIME(attotime::from_hz(1200))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_combatsc, this));
+ MCFG_MACHINE_START_OVERRIDE(combatsc_state,combatsc)
MCFG_WATCHDOG_ADD("watchdog")
@@ -728,7 +728,7 @@ MACHINE_CONFIG_START(combatsc_state::combatsc)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
MCFG_PALETTE_ENDIANNESS(ENDIANNESS_LITTLE)
MCFG_PALETTE_INIT_OWNER(combatsc_state,combatsc)
- set_video_start_cb(config, driver_callback_delegate(&video_start_combatsc, this));
+ MCFG_VIDEO_START_OVERRIDE(combatsc_state,combatsc)
MCFG_K007121_ADD("k007121_1")
MCFG_K007121_PALETTE("palette")
@@ -762,7 +762,7 @@ MACHINE_CONFIG_START(combatsc_state::combatscb)
MCFG_QUANTUM_TIME(attotime::from_hz(1200))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_combatscb, this));
+ MCFG_MACHINE_START_OVERRIDE(combatsc_state,combatscb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -779,7 +779,7 @@ MACHINE_CONFIG_START(combatsc_state::combatscb)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
MCFG_PALETTE_ENDIANNESS(ENDIANNESS_LITTLE)
MCFG_PALETTE_INIT_OWNER(combatsc_state,combatscb)
- set_video_start_cb(config, driver_callback_delegate(&video_start_combatscb, this));
+ MCFG_VIDEO_START_OVERRIDE(combatsc_state,combatscb)
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/coolpool.cpp b/src/mame/drivers/coolpool.cpp
index 16d02b7bd62..e9c41c99753 100644
--- a/src/mame/drivers/coolpool.cpp
+++ b/src/mame/drivers/coolpool.cpp
@@ -129,13 +129,13 @@ TMS340X0_FROM_SHIFTREG_CB_MEMBER(coolpool_state::from_shiftreg)
*
*************************************/
-void coolpool_state::machine_reset_amerdart()
+MACHINE_RESET_MEMBER(coolpool_state,amerdart)
{
m_nvram_write_enable = 0;
}
-void coolpool_state::machine_reset_coolpool()
+MACHINE_RESET_MEMBER(coolpool_state,coolpool)
{
m_nvram_write_enable = 0;
}
@@ -735,7 +735,7 @@ MACHINE_CONFIG_START(coolpool_state::amerdart)
MCFG_GENERIC_LATCH_16_ADD("dsp2main")
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("maincpu", 1))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_amerdart, this));
+ MCFG_MACHINE_RESET_OVERRIDE(coolpool_state,amerdart)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_TIMER_DRIVER_ADD("nvram_timer", coolpool_state, nvram_write_timeout)
@@ -780,7 +780,7 @@ MACHINE_CONFIG_START(coolpool_state::coolpool)
MCFG_GENERIC_LATCH_16_ADD("dsp2main")
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("maincpu", 1))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_coolpool, this));
+ MCFG_MACHINE_RESET_OVERRIDE(coolpool_state,coolpool)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_TIMER_DRIVER_ADD("nvram_timer", coolpool_state, nvram_write_timeout)
diff --git a/src/mame/drivers/cosmic.cpp b/src/mame/drivers/cosmic.cpp
index cc683d69cb8..1c098288a54 100644
--- a/src/mame/drivers/cosmic.cpp
+++ b/src/mame/drivers/cosmic.cpp
@@ -973,7 +973,7 @@ static const char *const cosmicg_sample_names[] =
};
-void cosmic_state::machine_start_cosmic()
+MACHINE_START_MEMBER(cosmic_state,cosmic)
{
save_item(NAME(m_sound_enabled));
save_item(NAME(m_march_select));
@@ -985,7 +985,7 @@ void cosmic_state::machine_start_cosmic()
save_item(NAME(m_color_registers));
}
-void cosmic_state::machine_reset_cosmic()
+MACHINE_RESET_MEMBER(cosmic_state,cosmic)
{
m_pixel_clock = 0;
m_background_enable = 0;
@@ -994,7 +994,7 @@ void cosmic_state::machine_reset_cosmic()
m_color_registers[2] = 0;
}
-void cosmic_state::machine_reset_cosmicg()
+MACHINE_RESET_MEMBER(cosmic_state,cosmicg)
{
m_pixel_clock = 0;
m_background_enable = 0;
@@ -1010,8 +1010,8 @@ MACHINE_CONFIG_START(cosmic_state::cosmic)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80,Z80_MASTER_CLOCK/6) /* 1.8026 MHz */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cosmic, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cosmic, this));
+ MCFG_MACHINE_START_OVERRIDE(cosmic_state,cosmic)
+ MCFG_MACHINE_RESET_OVERRIDE(cosmic_state,cosmic)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1098,8 +1098,8 @@ MACHINE_CONFIG_START(cosmic_state::cosmicg)
fed to the tms9904 or tms9980. Also, I have never heard of a tms9900/9980 operating under
1.5MHz. So, if someone can check this... */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cosmic, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cosmicg, this));
+ MCFG_MACHINE_START_OVERRIDE(cosmic_state,cosmic)
+ MCFG_MACHINE_RESET_OVERRIDE(cosmic_state,cosmicg)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/cps1.cpp b/src/mame/drivers/cps1.cpp
index 5363a5b3bb8..78c7d59bb0d 100644
--- a/src/mame/drivers/cps1.cpp
+++ b/src/mame/drivers/cps1.cpp
@@ -3360,19 +3360,19 @@ GFXDECODE_END
*
********************************************************************/
-void cps_state::machine_start_common()
+MACHINE_START_MEMBER(cps_state,common)
{
}
-void cps_state::machine_start_cps1()
+MACHINE_START_MEMBER(cps_state,cps1)
{
- machine_start_common();
+ MACHINE_START_CALL_MEMBER(common);
membank("bank1")->configure_entries(0, 2, memregion("audiocpu")->base() + 0x10000, 0x4000);
}
-void cps_state::machine_start_qsound()
+MACHINE_START_MEMBER(cps_state,qsound)
{
- machine_start_common();
+ MACHINE_START_CALL_MEMBER(common);
membank("bank1")->configure_entries(0, 6, memregion("audiocpu")->base() + 0x10000, 0x4000);
}
@@ -3387,7 +3387,7 @@ MACHINE_CONFIG_START(cps_state::cps1_10MHz)
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(3'579'545)) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(sub_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cps1, this));
+ MCFG_MACHINE_START_OVERRIDE(cps_state,cps1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3399,7 +3399,7 @@ MACHINE_CONFIG_START(cps_state::cps1_10MHz)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1)
MCFG_PALETTE_ADD("palette", 0xc00)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cps1, this));
+ MCFG_VIDEO_START_OVERRIDE(cps_state, cps1)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3466,7 +3466,7 @@ MACHINE_CONFIG_START(cps_state::qsound)
MCFG_DEVICE_OPCODES_MAP(qsound_decrypted_opcodes_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(cps_state, irq0_line_hold, 250) // measured (cps2.c)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_qsound, this));
+ MCFG_MACHINE_START_OVERRIDE(cps_state, qsound)
MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("eeprom")
diff --git a/src/mame/drivers/cps2.cpp b/src/mame/drivers/cps2.cpp
index acdf491f9f4..13f3547fa81 100644
--- a/src/mame/drivers/cps2.cpp
+++ b/src/mame/drivers/cps2.cpp
@@ -1297,7 +1297,7 @@ INPUT_PORTS_END
*
*************************************/
-void cps_state::machine_start_cps2()
+MACHINE_START_MEMBER(cps_state,cps2)
{
if (m_audiocpu != nullptr) // gigaman2 has an AT89C4051 (8051) MCU as an audio cpu, no qsound.
membank("bank1")->configure_entries(0, (QSOUND_SIZE - 0x10000) / 0x4000, memregion("audiocpu")->base() + 0x10000, 0x4000);
@@ -1316,7 +1316,7 @@ MACHINE_CONFIG_START(cps_state::cps2)
MCFG_DEVICE_PROGRAM_MAP(qsound_sub_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(cps_state, irq0_line_hold, 250) // measured
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cps2, this));
+ MCFG_MACHINE_START_OVERRIDE(cps_state, cps2)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
@@ -1331,7 +1331,7 @@ MACHINE_CONFIG_START(cps_state::cps2)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1)
MCFG_PALETTE_ADD("palette", 0xc00)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cps2, this));
+ MCFG_VIDEO_START_OVERRIDE(cps_state, cps2)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
diff --git a/src/mame/drivers/cubo.cpp b/src/mame/drivers/cubo.cpp
index 911f0bb69ee..cef4569df80 100644
--- a/src/mame/drivers/cubo.cpp
+++ b/src/mame/drivers/cubo.cpp
@@ -1061,7 +1061,7 @@ MACHINE_CONFIG_START(cubo_state::cubo)
MCFG_SCREEN_UPDATE_DRIVER(amiga_state, screen_update_amiga_aga)
MCFG_SCREEN_NO_PALETTE
- set_video_start_cb(config, driver_callback_delegate(&video_start_amiga_aga, this));
+ MCFG_VIDEO_START_OVERRIDE(amiga_state, amiga_aga)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
diff --git a/src/mame/drivers/cvs.cpp b/src/mame/drivers/cvs.cpp
index f6d97a93f0d..6e9c16f84ed 100644
--- a/src/mame/drivers/cvs.cpp
+++ b/src/mame/drivers/cvs.cpp
@@ -925,7 +925,7 @@ GFXDECODE_END
*
*************************************/
-void cvs_state::machine_start_cvs()
+MACHINE_START_MEMBER(cvs_state,cvs)
{
/* allocate memory */
if (m_gfxdecode->gfx(1) != nullptr)
@@ -949,7 +949,7 @@ void cvs_state::machine_start_cvs()
save_item(NAME(m_stars_scroll));
}
-void cvs_state::machine_reset_cvs()
+MACHINE_RESET_MEMBER(cvs_state,cvs)
{
m_character_banking_mode = 0;
m_character_ram_page_start = 0;
@@ -984,11 +984,11 @@ MACHINE_CONFIG_START(cvs_state::cvs)
//MCFG_S2650_SENSE_INPUT(READLINE(*this, cvs_state, cvs_393hz_clock_r))
MCFG_S2650_SENSE_INPUT(READLINE("tms", tms5110_device, romclk_hack_r))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cvs, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cvs, this));
+ MCFG_MACHINE_START_OVERRIDE(cvs_state,cvs)
+ MCFG_MACHINE_RESET_OVERRIDE(cvs_state,cvs)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_cvs, this));
+ MCFG_VIDEO_START_OVERRIDE(cvs_state,cvs)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cvs)
diff --git a/src/mame/drivers/czk80.cpp b/src/mame/drivers/czk80.cpp
index 780311985d9..0227b4aa6a7 100644
--- a/src/mame/drivers/czk80.cpp
+++ b/src/mame/drivers/czk80.cpp
@@ -62,7 +62,7 @@ public:
{ }
void init_czk80();
- void machine_reset_czk80();
+ DECLARE_MACHINE_RESET(czk80);
TIMER_CALLBACK_MEMBER(czk80_reset);
DECLARE_READ8_MEMBER(port80_r);
DECLARE_READ8_MEMBER(port81_r);
@@ -161,7 +161,7 @@ TIMER_CALLBACK_MEMBER( czk80_state::czk80_reset)
membank("bankr0")->set_entry(1);
}
-void czk80_state::machine_reset_czk80()
+MACHINE_RESET_MEMBER( czk80_state, czk80 )
{
machine().scheduler().timer_set(attotime::from_usec(3), timer_expired_delegate(FUNC(czk80_state::czk80_reset),this));
membank("bankr0")->set_entry(0); // point at rom
@@ -199,7 +199,7 @@ MACHINE_CONFIG_START(czk80_state::czk80)
MCFG_DEVICE_PROGRAM_MAP(czk80_mem)
MCFG_DEVICE_IO_MAP(czk80_io)
MCFG_Z80_DAISY_CHAIN(daisy_chain)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_czk80, this));
+ MCFG_MACHINE_RESET_OVERRIDE(czk80_state, czk80)
MCFG_DEVICE_ADD("terminal", GENERIC_TERMINAL, 0)
MCFG_GENERIC_TERMINAL_KEYBOARD_CB(PUT(czk80_state, kbd_put))
diff --git a/src/mame/drivers/dambustr.cpp b/src/mame/drivers/dambustr.cpp
index 0090b98862c..e22f17b6d99 100644
--- a/src/mame/drivers/dambustr.cpp
+++ b/src/mame/drivers/dambustr.cpp
@@ -262,7 +262,7 @@ MACHINE_CONFIG_START(dambustr_state::dambustr)
MCFG_DEVICE_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz */
MCFG_DEVICE_PROGRAM_MAP(dambustr_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_galaxold, this));
+ MCFG_MACHINE_RESET_OVERRIDE(dambustr_state,galaxold)
MCFG_DEVICE_ADD("7474_9m_1", TTL7474, 0)
MCFG_7474_OUTPUT_CB(WRITELINE(*this, dambustr_state,galaxold_7474_9m_1_callback))
@@ -286,7 +286,7 @@ MACHINE_CONFIG_START(dambustr_state::dambustr)
MCFG_PALETTE_ADD("palette", 32+2+64+8) /* 32 for the characters, 2 for the bullets, 64 for the stars, 8 for the background */
MCFG_PALETTE_INIT_OWNER(dambustr_state,dambustr)
- set_video_start_cb(config, driver_callback_delegate(&video_start_dambustr, this));
+ MCFG_VIDEO_START_OVERRIDE(dambustr_state,dambustr)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
diff --git a/src/mame/drivers/dccons.cpp b/src/mame/drivers/dccons.cpp
index 428b4b48260..56fa955c71e 100644
--- a/src/mame/drivers/dccons.cpp
+++ b/src/mame/drivers/dccons.cpp
@@ -601,7 +601,7 @@ MACHINE_CONFIG_START(dc_cons_state::dc)
MCFG_DEVICE_ADD("soundcpu", ARM7, ((XTAL(33'868'800)*2)/3)/8) // AICA bus clock is 2/3rds * 33.8688. ARM7 gets 1 bus cycle out of each 8.
MCFG_DEVICE_PROGRAM_MAP(dc_audio_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dc_console, this));
+ MCFG_MACHINE_RESET_OVERRIDE(dc_cons_state,dc_console )
// MCFG_MACRONIX_29LV160TMC_ADD("dcflash")
diff --git a/src/mame/drivers/ddenlovr.cpp b/src/mame/drivers/ddenlovr.cpp
index 62eb04bb008..a161e905b00 100644
--- a/src/mame/drivers/ddenlovr.cpp
+++ b/src/mame/drivers/ddenlovr.cpp
@@ -235,21 +235,21 @@ public:
uint8_t m_mjflove_irq_cause;
uint8_t m_daimyojn_palette_sel;
- void machine_start_ddenlovr();
- void machine_reset_ddenlovr();
- void video_start_ddenlovr();
- void machine_start_rongrong();
- void machine_start_mmpanic();
- void video_start_mmpanic();
- void machine_start_hanakanz();
- void video_start_hanakanz();
- void machine_start_sryudens();
- void video_start_mjflove();
- void machine_start_seljan2();
- void machine_start_mjflove();
- void machine_start_funkyfig();
- void machine_start_mjmyster();
- void machine_start_hparadis();
+ DECLARE_MACHINE_START(ddenlovr);
+ DECLARE_MACHINE_RESET(ddenlovr);
+ DECLARE_VIDEO_START(ddenlovr);
+ DECLARE_MACHINE_START(rongrong);
+ DECLARE_MACHINE_START(mmpanic);
+ DECLARE_VIDEO_START(mmpanic);
+ DECLARE_MACHINE_START(hanakanz);
+ DECLARE_VIDEO_START(hanakanz);
+ DECLARE_MACHINE_START(sryudens);
+ DECLARE_VIDEO_START(mjflove);
+ DECLARE_MACHINE_START(seljan2);
+ DECLARE_MACHINE_START(mjflove);
+ DECLARE_MACHINE_START(funkyfig);
+ DECLARE_MACHINE_START(mjmyster);
+ DECLARE_MACHINE_START(hparadis);
uint32_t screen_update_ddenlovr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_htengoku(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -414,7 +414,7 @@ public:
DECLARE_READ8_MEMBER(htengoku_coin_r);
DECLARE_WRITE8_MEMBER(htengoku_rombank_w);
DECLARE_WRITE8_MEMBER(htengoku_blit_romregion_w);
- void video_start_htengoku() ATTR_COLD;
+ DECLARE_VIDEO_START(htengoku);
DECLARE_WRITE8_MEMBER(htengoku_dsw_w);
DECLARE_READ8_MEMBER(htengoku_dsw_r);
DECLARE_WRITE8_MEMBER(quizchq_oki_bank_w);
@@ -534,7 +534,7 @@ public:
void ultrchmp_map(address_map &map);
};
-void ddenlovr_state::video_start_ddenlovr()
+VIDEO_START_MEMBER(ddenlovr_state,ddenlovr)
{
m_blitter_irq_handler.bind_relative_to(*this);
@@ -631,24 +631,24 @@ void ddenlovr_state::video_start_ddenlovr()
save_pointer(NAME(m_ddenlovr_pixmap[7].get()), 512 * 512);
}
-void ddenlovr_state::video_start_mmpanic()
+VIDEO_START_MEMBER(ddenlovr_state,mmpanic)
{
- video_start_ddenlovr();
+ VIDEO_START_CALL_MEMBER(ddenlovr);
m_extra_layers = 1;
}
-void ddenlovr_state::video_start_hanakanz()
+VIDEO_START_MEMBER(ddenlovr_state,hanakanz)
{
- video_start_ddenlovr();
+ VIDEO_START_CALL_MEMBER(ddenlovr);
m_ddenlovr_blit_rom_bits = 16;
m_ddenlovr_blit_commands = hanakanz_commands;
}
-void ddenlovr_state::video_start_mjflove()
+VIDEO_START_MEMBER(ddenlovr_state,mjflove)
{
- video_start_ddenlovr();
+ VIDEO_START_CALL_MEMBER(ddenlovr);
m_ddenlovr_blit_commands = mjflove_commands;
}
@@ -4182,10 +4182,10 @@ void ddenlovr_state::seljan2_portmap(address_map &map)
***************************************************************************/
// htengoku uses the mixer chip from ddenlovr
-void ddenlovr_state::video_start_htengoku()
+VIDEO_START_MEMBER(ddenlovr_state,htengoku)
{
- video_start_ddenlovr();
- video_start_hnoridur();
+ VIDEO_START_CALL_MEMBER(ddenlovr);
+ VIDEO_START_CALL_MEMBER(hnoridur);
}
uint32_t ddenlovr_state::screen_update_htengoku(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -4361,8 +4361,8 @@ MACHINE_CONFIG_START(ddenlovr_state::htengoku)
MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(20)
MCFG_ADDRESS_MAP_BANK_STRIDE(0x8000)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_dynax, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dynax, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,dynax)
+ MCFG_MACHINE_RESET_OVERRIDE(ddenlovr_state,dynax)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -4388,7 +4388,7 @@ MACHINE_CONFIG_START(ddenlovr_state::htengoku)
MCFG_PALETTE_ADD("palette", 16*256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_htengoku, this));
+ MCFG_VIDEO_START_OVERRIDE(ddenlovr_state,htengoku)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9571,7 +9571,7 @@ INPUT_PORTS_END
***************************************************************************/
-void ddenlovr_state::machine_start_ddenlovr()
+MACHINE_START_MEMBER(ddenlovr_state,ddenlovr)
{
save_item(NAME(m_input_sel));
save_item(NAME(m_dsw_sel));
@@ -9595,7 +9595,7 @@ void ddenlovr_state::machine_start_ddenlovr()
save_item(NAME(m_palram));
}
-void ddenlovr_state::machine_reset_ddenlovr()
+MACHINE_RESET_MEMBER(ddenlovr_state,ddenlovr)
{
m_input_sel = 0;
m_dsw_sel = 0;
@@ -9621,75 +9621,75 @@ void ddenlovr_state::machine_reset_ddenlovr()
memset(m_palram, 0, ARRAY_LENGTH(m_palram));
}
-void ddenlovr_state::machine_start_rongrong()
+MACHINE_START_MEMBER(ddenlovr_state,rongrong)
{
uint8_t *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 0x20, &ROM[0x010000], 0x8000);
membank("bank2")->configure_entries(0, 8, &ROM[0x110000], 0x1000);
- machine_start_ddenlovr();
+ MACHINE_START_CALL_MEMBER(ddenlovr);
}
-void ddenlovr_state::machine_start_mmpanic()
+MACHINE_START_MEMBER(ddenlovr_state,mmpanic)
{
uint8_t *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
- machine_start_ddenlovr();
+ MACHINE_START_CALL_MEMBER(ddenlovr);
}
-void ddenlovr_state::machine_start_funkyfig()
+MACHINE_START_MEMBER(ddenlovr_state,funkyfig)
{
uint8_t *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
membank("bank2")->configure_entries(0, 8, &ROM[0x90000], 0x1000);
- machine_start_ddenlovr();
+ MACHINE_START_CALL_MEMBER(ddenlovr);
}
-void ddenlovr_state::machine_start_hanakanz()
+MACHINE_START_MEMBER(ddenlovr_state,hanakanz)
{
uint8_t *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
membank("bank2")->configure_entries(0, 0x10, &ROM[0x90000], 0x1000);
- machine_start_ddenlovr();
+ MACHINE_START_CALL_MEMBER(ddenlovr);
}
-void ddenlovr_state::machine_start_mjmyster()
+MACHINE_START_MEMBER(ddenlovr_state,mjmyster)
{
uint8_t *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
membank("bank2")->configure_entries(0, 8, &ROM[0x90000], 0x1000);
- machine_start_ddenlovr();
+ MACHINE_START_CALL_MEMBER(ddenlovr);
}
-void ddenlovr_state::machine_start_hparadis()
+MACHINE_START_MEMBER(ddenlovr_state,hparadis)
{
uint8_t *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x8000);
membank("bank2")->configure_entries(0, 8, &ROM[0x50000], 0x1000);
- machine_start_ddenlovr();
+ MACHINE_START_CALL_MEMBER(ddenlovr);
}
-void ddenlovr_state::machine_start_mjflove()
+MACHINE_START_MEMBER(ddenlovr_state,mjflove)
{
uint8_t *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
membank("bank2")->configure_entries(0, 8, &ROM[0x90000], 0x1000);
- machine_start_ddenlovr();
+ MACHINE_START_CALL_MEMBER(ddenlovr);
}
-void ddenlovr_state::machine_start_sryudens()
+MACHINE_START_MEMBER(ddenlovr_state,sryudens)
{
uint8_t *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 0x10, &ROM[0x10000], 0x8000);
membank("bank2")->configure_entries(0, 0x10, &ROM[0x90000], 0x1000);
- machine_start_ddenlovr();
+ MACHINE_START_CALL_MEMBER(ddenlovr);
}
/***************************************************************************
@@ -9713,8 +9713,8 @@ MACHINE_CONFIG_START(ddenlovr_state::ddenlovr)
MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(WRITELINE(*this, ddenlovr_state, ddenlovr_coincounter_0_w))
MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(WRITELINE(*this, ddenlovr_state, ddenlovr_coincounter_1_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ddenlovr, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ddenlovr, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,ddenlovr)
+ MCFG_MACHINE_RESET_OVERRIDE(ddenlovr_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -9731,7 +9731,7 @@ MACHINE_CONFIG_START(ddenlovr_state::ddenlovr)
MCFG_DDENLOVR_BLITTER_IRQ(ddenlovr_state, ddenlovr_blitter_irq)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ddenlovr, this));
+ MCFG_VIDEO_START_OVERRIDE(ddenlovr_state,ddenlovr)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9816,7 +9816,7 @@ MACHINE_CONFIG_START(ddenlovr_state::ultrchmp)
MCFG_NVRAM_ADD_0FILL("nvram")
- set_video_start_cb(config, driver_callback_delegate(&video_start_mjflove, this));
+ MCFG_VIDEO_START_OVERRIDE(ddenlovr_state,mjflove)
MACHINE_CONFIG_END
/***************************************************************************
@@ -9841,8 +9841,8 @@ MACHINE_CONFIG_START(ddenlovr_state::quizchq)
MCFG_TMPZ84C015_OUT_PB_CB(WRITE8(*this, ddenlovr_state, rongrong_select_w))
// bit 5 of 0x1b (SIO CTSB?) = blitter busy
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_rongrong, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ddenlovr, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,rongrong)
+ MCFG_MACHINE_RESET_OVERRIDE(ddenlovr_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -9859,7 +9859,7 @@ MACHINE_CONFIG_START(ddenlovr_state::quizchq)
MCFG_DDENLOVR_BLITTER_IRQ(ddenlovr_state, rongrong_blitter_irq)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ddenlovr, this));
+ MCFG_VIDEO_START_OVERRIDE(ddenlovr_state,ddenlovr)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9930,8 +9930,8 @@ MACHINE_CONFIG_START(ddenlovr_state::mmpanic)
MCFG_DEVICE_PROGRAM_MAP(mmpanic_sound_map)
MCFG_DEVICE_IO_MAP(mmpanic_sound_portmap)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mmpanic, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ddenlovr, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,mmpanic)
+ MCFG_MACHINE_RESET_OVERRIDE(ddenlovr_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -9948,7 +9948,7 @@ MACHINE_CONFIG_START(ddenlovr_state::mmpanic)
MCFG_DDENLOVR_BLITTER_IRQ(ddenlovr_state, mmpanic_blitter_irq)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mmpanic, this)); // extra layers
+ MCFG_VIDEO_START_OVERRIDE(ddenlovr_state,mmpanic) // extra layers
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -10018,8 +10018,8 @@ MACHINE_CONFIG_START(ddenlovr_state::hanakanz)
MCFG_DEVICE_PROGRAM_MAP(hanakanz_map)
MCFG_DEVICE_IO_MAP(hanakanz_portmap)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hanakanz, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ddenlovr, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,hanakanz)
+ MCFG_MACHINE_RESET_OVERRIDE(ddenlovr_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -10034,7 +10034,7 @@ MACHINE_CONFIG_START(ddenlovr_state::hanakanz)
MCFG_PALETTE_ADD("palette", 0x200)
- set_video_start_cb(config, driver_callback_delegate(&video_start_hanakanz, this)); // blitter commands in the roms are shuffled around
+ MCFG_VIDEO_START_OVERRIDE(ddenlovr_state,hanakanz) // blitter commands in the roms are shuffled around
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -10065,8 +10065,8 @@ MACHINE_CONFIG_START(ddenlovr_state::kotbinyo)
MCFG_DEVICE_PROGRAM_MAP(hanakanz_map)
MCFG_DEVICE_IO_MAP(kotbinyo_portmap)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hanakanz, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ddenlovr, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,hanakanz)
+ MCFG_MACHINE_RESET_OVERRIDE(ddenlovr_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -10081,7 +10081,7 @@ MACHINE_CONFIG_START(ddenlovr_state::kotbinyo)
MCFG_PALETTE_ADD("palette", 0x200)
- set_video_start_cb(config, driver_callback_delegate(&video_start_hanakanz, this)); // blitter commands in the roms are shuffled around
+ MCFG_VIDEO_START_OVERRIDE(ddenlovr_state,hanakanz) // blitter commands in the roms are shuffled around
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -10159,7 +10159,7 @@ MACHINE_CONFIG_START(ddenlovr_state::funkyfig)
MCFG_TMPZ84C015_IN_PA_CB(READ8(*this, ddenlovr_state, funkyfig_dsw_r))
MCFG_TMPZ84C015_OUT_PB_CB(WRITE8(*this, ddenlovr_state, funkyfig_rombank_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_funkyfig, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,funkyfig)
MCFG_DEVICE_MODIFY("screen")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("maincpu", tmpz84c015_device, trg0))
@@ -10173,7 +10173,7 @@ MACHINE_CONFIG_START(ddenlovr_state::funkyfig)
MCFG_DEVICE_MODIFY("soundcpu")
MCFG_DEVICE_IO_MAP(funkyfig_sound_portmap)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ddenlovr, this)); // no extra layers?
+ MCFG_VIDEO_START_OVERRIDE(ddenlovr_state,ddenlovr) // no extra layers?
MACHINE_CONFIG_END
@@ -10190,8 +10190,8 @@ MACHINE_CONFIG_START(ddenlovr_state::mjschuka)
MCFG_TMPZ84C015_OUT_PA_CB(WRITE8(*this, ddenlovr_state, sryudens_rambank_w))
MCFG_TMPZ84C015_OUT_PB_CB(WRITE8(*this, ddenlovr_state, mjflove_rombank_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hanakanz, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ddenlovr, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,hanakanz)
+ MCFG_MACHINE_RESET_OVERRIDE(ddenlovr_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -10208,7 +10208,7 @@ MACHINE_CONFIG_START(ddenlovr_state::mjschuka)
MCFG_DDENLOVR_BLITTER_IRQ(ddenlovr_state, mjmyster_blitter_irq)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mjflove, this)); // blitter commands in the roms are shuffled around
+ MCFG_VIDEO_START_OVERRIDE(ddenlovr_state,mjflove) // blitter commands in the roms are shuffled around
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -10258,7 +10258,7 @@ MACHINE_CONFIG_START(ddenlovr_state::mjmyster)
MCFG_DDENLOVR_BLITTER_IRQ(ddenlovr_state, mjmyster_blitter_irq)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mjmyster, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,mjmyster)
MCFG_DEVICE_ADD("aysnd", AY8910, 3579545)
MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(*this, ddenlovr_state, ddenlovr_select_w))
@@ -10296,7 +10296,7 @@ MACHINE_CONFIG_START(ddenlovr_state::hginga)
MCFG_DDENLOVR_BLITTER_IRQ(ddenlovr_state, mjmyster_blitter_irq)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mjmyster, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,mjmyster)
MCFG_DEVICE_ADD("aysnd", AY8910, 3579545)
MCFG_AY8910_PORT_A_READ_CB(READ8(*this, ddenlovr_state, hginga_dsw_r))
@@ -10323,7 +10323,7 @@ MACHINE_CONFIG_START(ddenlovr_state::hgokou)
MCFG_DDENLOVR_BLITTER_IRQ(ddenlovr_state, mjmyster_blitter_irq)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mjmyster, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,mjmyster)
MCFG_DEVICE_ADD("aysnd", AY8910, 3579545)
MCFG_AY8910_PORT_A_READ_CB(READ8(*this, ddenlovr_state, hginga_dsw_r))
@@ -10364,7 +10364,7 @@ MACHINE_CONFIG_START(ddenlovr_state::mjmyuniv)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("maincpu", tmpz84c015_device, trg0)) MCFG_DEVCB_INVERT
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mjmyster, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,mjmyster)
MCFG_DEVICE_MODIFY("rtc")
MCFG_MSM6242_OUT_INT_HANDLER(INPUTLINE("maincpu", INPUT_LINE_NMI))
@@ -10393,7 +10393,7 @@ MACHINE_CONFIG_START(ddenlovr_state::mjmyornt)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 336-1, 4, 256-16+4-1)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mjmyster, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,mjmyster)
MCFG_DEVICE_MODIFY("rtc")
MCFG_MSM6242_OUT_INT_HANDLER(INPUTLINE("maincpu", INPUT_LINE_NMI))
@@ -10441,7 +10441,7 @@ MACHINE_CONFIG_START(ddenlovr_state::mjflove)
MCFG_TMPZ84C015_IN_PA_CB(IOPORT("DSW2"))
MCFG_TMPZ84C015_OUT_PB_CB(WRITE8(*this, ddenlovr_state, hanakanz_keyb_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mjflove, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,mjflove)
MCFG_DEVICE_MODIFY("screen")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, ddenlovr_state, mjflove_irq))
@@ -10452,7 +10452,7 @@ MACHINE_CONFIG_START(ddenlovr_state::mjflove)
MCFG_DDENLOVR_BLITTER_IRQ(ddenlovr_state, mjflove_blitter_irq)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mjflove, this)); // blitter commands in the roms are shuffled around
+ MCFG_VIDEO_START_OVERRIDE(ddenlovr_state,mjflove) // blitter commands in the roms are shuffled around
MCFG_DEVICE_ADD("aysnd", AY8910, 28636363/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
@@ -10471,7 +10471,7 @@ MACHINE_CONFIG_START(ddenlovr_state::hparadis)
// the RTC seems unused
MCFG_DEVICE_REMOVE("rtc")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hparadis, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,hparadis)
MACHINE_CONFIG_END
@@ -10483,8 +10483,8 @@ MACHINE_CONFIG_START(ddenlovr_state::jongtei)
MCFG_DEVICE_PROGRAM_MAP(hanakanz_map)
MCFG_DEVICE_IO_MAP(jongtei_portmap)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hanakanz, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ddenlovr, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,hanakanz)
+ MCFG_MACHINE_RESET_OVERRIDE(ddenlovr_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -10501,7 +10501,7 @@ MACHINE_CONFIG_START(ddenlovr_state::jongtei)
MCFG_DDENLOVR_BLITTER_IRQ(ddenlovr_state, mjflove_blitter_irq)
- set_video_start_cb(config, driver_callback_delegate(&video_start_hanakanz, this)); // blitter commands in the roms are shuffled around
+ MCFG_VIDEO_START_OVERRIDE(ddenlovr_state,hanakanz) // blitter commands in the roms are shuffled around
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -10540,8 +10540,8 @@ MACHINE_CONFIG_START(ddenlovr_state::sryudens)
MCFG_TMPZ84C015_OUT_PA_CB(WRITE8(*this, ddenlovr_state, sryudens_rambank_w))
MCFG_TMPZ84C015_OUT_PB_CB(WRITE8(*this, ddenlovr_state, mjflove_rombank_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_sryudens, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ddenlovr, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,sryudens)
+ MCFG_MACHINE_RESET_OVERRIDE(ddenlovr_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -10558,7 +10558,7 @@ MACHINE_CONFIG_START(ddenlovr_state::sryudens)
MCFG_DDENLOVR_BLITTER_IRQ(ddenlovr_state, mjflove_blitter_irq)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mjflove, this)); // blitter commands in the roms are shuffled around
+ MCFG_VIDEO_START_OVERRIDE(ddenlovr_state,mjflove) // blitter commands in the roms are shuffled around
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -10591,8 +10591,8 @@ MACHINE_CONFIG_START(ddenlovr_state::janshinp)
MCFG_TMPZ84C015_OUT_PA_CB(WRITE8(*this, ddenlovr_state, sryudens_rambank_w))
MCFG_TMPZ84C015_OUT_PB_CB(WRITE8(*this, ddenlovr_state, mjflove_rombank_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hanakanz, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ddenlovr, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,hanakanz)
+ MCFG_MACHINE_RESET_OVERRIDE(ddenlovr_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -10609,7 +10609,7 @@ MACHINE_CONFIG_START(ddenlovr_state::janshinp)
MCFG_DDENLOVR_BLITTER_IRQ(ddenlovr_state, mjflove_blitter_irq)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ddenlovr, this));
+ MCFG_VIDEO_START_OVERRIDE(ddenlovr_state,ddenlovr)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -10632,7 +10632,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(ddenlovr_state::dtoyoken)
janshinp(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_mjflove, this)); // blitter commands in the roms are shuffled around
+ MCFG_VIDEO_START_OVERRIDE(ddenlovr_state,mjflove) // blitter commands in the roms are shuffled around
MACHINE_CONFIG_END
@@ -10640,7 +10640,7 @@ MACHINE_CONFIG_END
Return Of Sel Jan II
***************************************************************************/
-void ddenlovr_state::machine_start_seljan2()
+MACHINE_START_MEMBER(ddenlovr_state,seljan2)
{
uint8_t *ROM = memregion("maincpu")->base();
@@ -10651,7 +10651,7 @@ void ddenlovr_state::machine_start_seljan2()
membank("bank2")->configure_entries(0, 0x10, &ROM[0x98000], 0x1000);
- machine_start_ddenlovr();
+ MACHINE_START_CALL_MEMBER(ddenlovr);
}
MACHINE_CONFIG_START(ddenlovr_state::seljan2)
@@ -10663,8 +10663,8 @@ MACHINE_CONFIG_START(ddenlovr_state::seljan2)
MCFG_TMPZ84C015_OUT_PA_CB(WRITE8(*this, ddenlovr_state, hanakanz_keyb_w))
MCFG_TMPZ84C015_OUT_PB_CB(WRITE8(*this, ddenlovr_state, sryudens_coincounter_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_seljan2, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ddenlovr, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,seljan2)
+ MCFG_MACHINE_RESET_OVERRIDE(ddenlovr_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -10681,7 +10681,7 @@ MACHINE_CONFIG_START(ddenlovr_state::seljan2)
MCFG_DDENLOVR_BLITTER_IRQ(ddenlovr_state, seljan2_blitter_irq)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mjflove, this)); // blitter commands in the roms are shuffled around
+ MCFG_VIDEO_START_OVERRIDE(ddenlovr_state,mjflove) // blitter commands in the roms are shuffled around
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -10715,8 +10715,8 @@ MACHINE_CONFIG_START(ddenlovr_state::daimyojn)
MCFG_DEVICE_PROGRAM_MAP(hanakanz_map)
MCFG_DEVICE_IO_MAP(daimyojn_portmap)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mjflove, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ddenlovr, this));
+ MCFG_MACHINE_START_OVERRIDE(ddenlovr_state,mjflove)
+ MCFG_MACHINE_RESET_OVERRIDE(ddenlovr_state,ddenlovr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -10731,7 +10731,7 @@ MACHINE_CONFIG_START(ddenlovr_state::daimyojn)
MCFG_PALETTE_ADD("palette", 0x200)
- set_video_start_cb(config, driver_callback_delegate(&video_start_hanakanz, this)); // blitter commands in the roms are shuffled around
+ MCFG_VIDEO_START_OVERRIDE(ddenlovr_state,hanakanz) // blitter commands in the roms are shuffled around
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/ddragon.cpp b/src/mame/drivers/ddragon.cpp
index 1ec15cdf8b1..b65d279e222 100644
--- a/src/mame/drivers/ddragon.cpp
+++ b/src/mame/drivers/ddragon.cpp
@@ -129,7 +129,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(ddragon_state::ddragon_scanline)
*
*************************************/
-void ddragon_state::machine_start_ddragon()
+MACHINE_START_MEMBER(ddragon_state,ddragon)
{
/* configure banks */
membank("bank1")->configure_entries(0, 8, memregion("maincpu")->base() + 0x10000, 0x4000);
@@ -145,7 +145,7 @@ void ddragon_state::machine_start_ddragon()
}
-void ddragon_state::machine_reset_ddragon()
+MACHINE_RESET_MEMBER(ddragon_state,ddragon)
{
m_scrollx_hi = 0;
m_scrolly_hi = 0;
@@ -959,8 +959,8 @@ MACHINE_CONFIG_START(ddragon_state::ddragon)
MCFG_QUANTUM_TIME(attotime::from_hz(60000)) /* heavy interleaving to sync up sprite<->main CPUs */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ddragon, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ddragon, this));
+ MCFG_MACHINE_START_OVERRIDE(ddragon_state,ddragon)
+ MCFG_MACHINE_RESET_OVERRIDE(ddragon_state,ddragon)
/* video hardware */
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_ddragon)
@@ -972,7 +972,7 @@ MACHINE_CONFIG_START(ddragon_state::ddragon)
MCFG_SCREEN_UPDATE_DRIVER(ddragon_state, screen_update_ddragon)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_ddragon, this));
+ MCFG_VIDEO_START_OVERRIDE(ddragon_state,ddragon)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1031,8 +1031,8 @@ MACHINE_CONFIG_START(ddragon_state::ddragon6809)
MCFG_QUANTUM_TIME(attotime::from_hz(60000)) /* heavy interleaving to sync up sprite<->main CPUs */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ddragon, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ddragon, this));
+ MCFG_MACHINE_START_OVERRIDE(ddragon_state,ddragon)
+ MCFG_MACHINE_RESET_OVERRIDE(ddragon_state,ddragon)
/* video hardware */
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_ddragon)
@@ -1044,7 +1044,7 @@ MACHINE_CONFIG_START(ddragon_state::ddragon6809)
MCFG_SCREEN_UPDATE_DRIVER(ddragon_state, screen_update_ddragon)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_ddragon, this));
+ MCFG_VIDEO_START_OVERRIDE(ddragon_state,ddragon)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1084,8 +1084,8 @@ MACHINE_CONFIG_START(ddragon_state::ddragon2)
MCFG_QUANTUM_TIME(attotime::from_hz(60000)) /* heavy interleaving to sync up sprite<->main CPUs */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ddragon, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ddragon, this));
+ MCFG_MACHINE_START_OVERRIDE(ddragon_state,ddragon)
+ MCFG_MACHINE_RESET_OVERRIDE(ddragon_state,ddragon)
/* video hardware */
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_ddragon)
@@ -1097,7 +1097,7 @@ MACHINE_CONFIG_START(ddragon_state::ddragon2)
MCFG_SCREEN_UPDATE_DRIVER(ddragon_state, screen_update_ddragon)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_ddragon, this));
+ MCFG_VIDEO_START_OVERRIDE(ddragon_state,ddragon)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/ddragon3.cpp b/src/mame/drivers/ddragon3.cpp
index 65a6adf8b1b..37c44b4fbf8 100644
--- a/src/mame/drivers/ddragon3.cpp
+++ b/src/mame/drivers/ddragon3.cpp
@@ -938,7 +938,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(wwfwfest_state::wwfwfstb)
wwfwfest(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_wwfwfstb, this));
+ MCFG_VIDEO_START_OVERRIDE(wwfwfest_state,wwfwfstb)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/dec0.cpp b/src/mame/drivers/dec0.cpp
index 70e3c88d441..1b78d1df538 100644
--- a/src/mame/drivers/dec0.cpp
+++ b/src/mame/drivers/dec0.cpp
@@ -1651,7 +1651,7 @@ MACHINE_CONFIG_START(dec0_state::dec0)
MCFG_DEVICE_PROGRAM_MAP(dec0_s_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_dec0, this));
+ MCFG_VIDEO_START_OVERRIDE(dec0_state,dec0)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_FORMAT(XBGR)
@@ -1680,7 +1680,7 @@ MACHINE_CONFIG_START(dec0_state::dec1)
/* maincpu and audiocpu clocks and address maps differ per game */
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_dec0_nodma, this));
+ MCFG_VIDEO_START_OVERRIDE(dec0_state,dec0_nodma)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
@@ -1742,7 +1742,7 @@ MACHINE_CONFIG_START(dec0_automat_state::automat)
MCFG_DEVICE_PROGRAM_MAP(automat_s_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_dec0_nodma, this));
+ MCFG_VIDEO_START_OVERRIDE(dec0_state,dec0_nodma)
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(57.41)
@@ -1817,7 +1817,7 @@ MACHINE_CONFIG_START(dec0_automat_state::secretab)
MCFG_DEVICE_PROGRAM_MAP(secretab_s_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_dec0_nodma, this));
+ MCFG_VIDEO_START_OVERRIDE(dec0_state,dec0_nodma)
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(57.41)
@@ -1971,7 +1971,7 @@ MACHINE_CONFIG_START(dec0_state::ffantasybl)
MCFG_SCREEN_UPDATE_DRIVER(dec0_state, screen_update_hippodrm)
MACHINE_CONFIG_END
-void dec0_state::machine_reset_slyspy()
+MACHINE_RESET_MEMBER(dec0_state,slyspy)
{
// set initial memory map
m_slyspy_state = 0;
@@ -2011,7 +2011,7 @@ MACHINE_CONFIG_START(dec0_state::slyspy)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(dec0_state, screen_update_slyspy)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_slyspy, this));
+ MCFG_MACHINE_RESET_OVERRIDE(dec0_state,slyspy)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(dec0_state::midres)
diff --git a/src/mame/drivers/dec8.cpp b/src/mame/drivers/dec8.cpp
index 8b927de1ae2..f1ad0dc02f1 100644
--- a/src/mame/drivers/dec8.cpp
+++ b/src/mame/drivers/dec8.cpp
@@ -1982,7 +1982,7 @@ MACHINE_CONFIG_START(dec8_state::lastmisn)
MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting
MCFG_DECO_RMC3_SET_PALETTE_SIZE(1024)
- set_video_start_cb(config, driver_callback_delegate(&video_start_lastmisn, this));
+ MCFG_VIDEO_START_OVERRIDE(dec8_state,lastmisn)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2047,7 +2047,7 @@ MACHINE_CONFIG_START(dec8_state::shackled)
MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting
MCFG_DECO_RMC3_SET_PALETTE_SIZE(1024)
- set_video_start_cb(config, driver_callback_delegate(&video_start_shackled, this));
+ MCFG_VIDEO_START_OVERRIDE(dec8_state,shackled)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2108,7 +2108,7 @@ MACHINE_CONFIG_START(dec8_state::gondo)
MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting
MCFG_DECO_RMC3_SET_PALETTE_SIZE(1024)
- set_video_start_cb(config, driver_callback_delegate(&video_start_gondo, this));
+ MCFG_VIDEO_START_OVERRIDE(dec8_state,gondo)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2169,7 +2169,7 @@ MACHINE_CONFIG_START(dec8_state::garyoret)
MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting
MCFG_DECO_RMC3_SET_PALETTE_SIZE(1024)
- set_video_start_cb(config, driver_callback_delegate(&video_start_garyoret, this));
+ MCFG_VIDEO_START_OVERRIDE(dec8_state,garyoret)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2229,7 +2229,7 @@ MACHINE_CONFIG_START(dec8_state::ghostb)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_ghostb)
MCFG_DECO_RMC3_ADD_PROMS("palette","proms",1024) // xxxxBBBBGGGGRRRR with custom weighting
- set_video_start_cb(config, driver_callback_delegate(&video_start_ghostb, this));
+ MCFG_VIDEO_START_OVERRIDE(dec8_state,ghostb)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2289,7 +2289,7 @@ MACHINE_CONFIG_START(dec8_state::csilver)
MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting
MCFG_DECO_RMC3_SET_PALETTE_SIZE(1024)
- set_video_start_cb(config, driver_callback_delegate(&video_start_lastmisn, this));
+ MCFG_VIDEO_START_OVERRIDE(dec8_state,lastmisn)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2353,7 +2353,7 @@ MACHINE_CONFIG_START(dec8_state::oscar)
MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting
MCFG_DECO_RMC3_SET_PALETTE_SIZE(1024)
- set_video_start_cb(config, driver_callback_delegate(&video_start_oscar, this));
+ MCFG_VIDEO_START_OVERRIDE(dec8_state,oscar)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2407,7 +2407,7 @@ MACHINE_CONFIG_START(dec8_state::srdarwin)
MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting
MCFG_DECO_RMC3_SET_PALETTE_SIZE(144)
- set_video_start_cb(config, driver_callback_delegate(&video_start_srdarwin, this));
+ MCFG_VIDEO_START_OVERRIDE(dec8_state,srdarwin)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2464,7 +2464,7 @@ MACHINE_CONFIG_START(dec8_state::cobracom)
MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting
MCFG_DECO_RMC3_SET_PALETTE_SIZE(256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cobracom, this));
+ MCFG_VIDEO_START_OVERRIDE(dec8_state,cobracom)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/deco32.cpp b/src/mame/drivers/deco32.cpp
index 095d9d353aa..0c431730688 100644
--- a/src/mame/drivers/deco32.cpp
+++ b/src/mame/drivers/deco32.cpp
@@ -1929,7 +1929,7 @@ MACHINE_CONFIG_START(captaven_state::captaven)
MCFG_DECO146_IN_PORTC_CB(IOPORT("IN1"))
MCFG_DECO146_SOUNDLATCH_IRQ_CB(INPUTLINE("audiocpu", 0))
- set_video_start_cb(config, driver_callback_delegate(&video_start_captaven, this));
+ MCFG_VIDEO_START_OVERRIDE(captaven_state, captaven)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -2011,7 +2011,7 @@ MACHINE_CONFIG_START(fghthist_state::fghthist)
MCFG_DECO146_SET_INTERFACE_SCRAMBLE_INTERLEAVE
MCFG_DECO146_SET_USE_MAGIC_ADDRESS_XOR
- set_video_start_cb(config, driver_callback_delegate(&video_start_fghthist, this));
+ MCFG_VIDEO_START_OVERRIDE(fghthist_state, fghthist)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -2137,7 +2137,7 @@ MACHINE_CONFIG_START(dragngun_state::dragngun)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_dragngun)
MCFG_PALETTE_ADD("palette", 2048)
- set_video_start_cb(config, driver_callback_delegate(&video_start_dragngun, this));
+ MCFG_VIDEO_START_OVERRIDE(dragngun_state,dragngun)
MCFG_DECO146_ADD("ioprot")
MCFG_DECO146_IN_PORTA_CB(IOPORT("INPUTS"))
@@ -2235,7 +2235,7 @@ MACHINE_CONFIG_START(dragngun_state::lockload)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_dragngun)
MCFG_PALETTE_ADD("palette", 2048)
- set_video_start_cb(config, driver_callback_delegate(&video_start_dragngun, this));
+ MCFG_VIDEO_START_OVERRIDE(dragngun_state, dragngun)
MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0)
MCFG_DECO16IC_SPLIT(0)
@@ -2366,7 +2366,7 @@ MACHINE_CONFIG_START(nslasher_state::tattass)
MCFG_DECO146_SOUNDLATCH_IRQ_CB(WRITELINE(*this, nslasher_state, tattass_sound_irq_w))
MCFG_DECO146_SET_INTERFACE_SCRAMBLE_INTERLEAVE
- set_video_start_cb(config, driver_callback_delegate(&video_start_nslasher, this));
+ MCFG_VIDEO_START_OVERRIDE(nslasher_state,nslasher)
/* sound hardware */
MCFG_DECOBSMT_ADD(DECOBSMT_TAG)
@@ -2438,7 +2438,7 @@ MACHINE_CONFIG_START(nslasher_state::nslasher)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "deco_ace", gfx_nslasher)
- set_video_start_cb(config, driver_callback_delegate(&video_start_nslasher, this));
+ MCFG_VIDEO_START_OVERRIDE(nslasher_state, nslasher)
MCFG_DECO104_ADD("ioprot")
MCFG_DECO146_IN_PORTA_CB(IOPORT("IN0"))
diff --git a/src/mame/drivers/deco_mlc.cpp b/src/mame/drivers/deco_mlc.cpp
index 51e7cf1bfb2..97bcb17c059 100644
--- a/src/mame/drivers/deco_mlc.cpp
+++ b/src/mame/drivers/deco_mlc.cpp
@@ -503,7 +503,7 @@ GFXDECODE_END
/******************************************************************************/
-void deco_mlc_state::machine_reset_mlc()
+MACHINE_RESET_MEMBER(deco_mlc_state,mlc)
{
m_vbl_i = 0xffffffff;
m_raster_irq_timer = machine().device<timer_device>("int_timer");
@@ -515,7 +515,7 @@ MACHINE_CONFIG_START(deco_mlc_state::avengrgs)
MCFG_DEVICE_ADD("maincpu", SH2,42000000/2) /* 21 MHz clock confirmed on real board */
MCFG_DEVICE_PROGRAM_MAP(avengrgs_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mlc, this));
+ MCFG_MACHINE_RESET_OVERRIDE(deco_mlc_state,mlc)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom") /* Actually 93c45 */
MCFG_TIMER_DRIVER_ADD("int_timer", deco_mlc_state, interrupt_gen)
@@ -534,7 +534,7 @@ MACHINE_CONFIG_START(deco_mlc_state::avengrgs)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
MCFG_PALETTE_MEMBITS(16)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mlc, this));
+ MCFG_VIDEO_START_OVERRIDE(deco_mlc_state,mlc)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -551,7 +551,7 @@ MACHINE_CONFIG_START(deco_mlc_state::mlc)
MCFG_DEVICE_ADD("maincpu", ARM,42000000/6) /* 42 MHz -> 7MHz clock confirmed on real board */
MCFG_DEVICE_PROGRAM_MAP(decomlc_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mlc, this));
+ MCFG_MACHINE_RESET_OVERRIDE(deco_mlc_state,mlc)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom") /* Actually 93c45 */
MCFG_TIMER_DRIVER_ADD("int_timer", deco_mlc_state, interrupt_gen)
@@ -570,7 +570,7 @@ MACHINE_CONFIG_START(deco_mlc_state::mlc)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
MCFG_PALETTE_MEMBITS(16)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mlc, this));
+ MCFG_VIDEO_START_OVERRIDE(deco_mlc_state,mlc)
MCFG_DECO146_ADD("ioprot")
MCFG_DECO146_SET_USE_MAGIC_ADDRESS_XOR
diff --git a/src/mame/drivers/decocass.cpp b/src/mame/drivers/decocass.cpp
index d391c81f6fe..77c4e200b5a 100644
--- a/src/mame/drivers/decocass.cpp
+++ b/src/mame/drivers/decocass.cpp
@@ -1003,35 +1003,35 @@ MACHINE_CONFIG_START(decocass_type1_state::ctsttape)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ctsttape, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,ctsttape)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(decocass_type1_state::cprogolfj)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cprogolfj, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,cprogolfj)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(decocass_type1_state::cdsteljn)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cdsteljn, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,cdsteljn)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(decocass_type1_state::cmanhat)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cmanhat, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,cmanhat)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(decocass_type3_state::cfishing)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cfishing, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cfishing)
MACHINE_CONFIG_END
@@ -1039,7 +1039,7 @@ MACHINE_CONFIG_START(decocass_type1_state::chwy)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_chwy, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,chwy)
MACHINE_CONFIG_END
@@ -1047,7 +1047,7 @@ MACHINE_CONFIG_START(decocass_type1_state::cterrani)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cterrani, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,cterrani)
MACHINE_CONFIG_END
@@ -1055,7 +1055,7 @@ MACHINE_CONFIG_START(decocass_type1_state::castfant)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_castfant, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,castfant)
MACHINE_CONFIG_END
@@ -1063,7 +1063,7 @@ MACHINE_CONFIG_START(decocass_type1_state::csuperas)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_csuperas, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,csuperas)
MACHINE_CONFIG_END
@@ -1071,7 +1071,7 @@ MACHINE_CONFIG_START(decocass_type1_state::cocean1a) /* 10 */
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cocean1a, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,cocean1a)
MACHINE_CONFIG_END
@@ -1079,21 +1079,21 @@ MACHINE_CONFIG_START(decocass_type1_state::clocknch)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_clocknch, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,clocknch)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(decocass_type1_state::clocknchj)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_clocknchj, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,clocknchj)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(decocass_type1_state::cfboy0a1) /* 12 */
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cfboy0a1, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,cfboy0a1)
MACHINE_CONFIG_END
@@ -1101,7 +1101,7 @@ MACHINE_CONFIG_START(decocass_type1_state::cprogolf)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cprogolf, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,cprogolf)
MACHINE_CONFIG_END
@@ -1109,7 +1109,7 @@ MACHINE_CONFIG_START(decocass_type1_state::cluckypo)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cluckypo, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,cluckypo)
MACHINE_CONFIG_END
@@ -1117,21 +1117,21 @@ MACHINE_CONFIG_START(decocass_type1_state::ctisland)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ctisland, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,ctisland)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(decocass_type1_state::ctisland3)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ctisland3, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,ctisland3)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(decocass_type1_state::cexplore)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cexplore, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type1_state,cexplore)
MACHINE_CONFIG_END
@@ -1141,7 +1141,7 @@ MACHINE_CONFIG_START(decocass_type3_state::cbtime)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cbtime, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cbtime)
MACHINE_CONFIG_END
@@ -1149,7 +1149,7 @@ MACHINE_CONFIG_START(decocass_type3_state::cburnrub)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cburnrub, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cburnrub)
MACHINE_CONFIG_END
@@ -1157,7 +1157,7 @@ MACHINE_CONFIG_START(decocass_type3_state::cgraplop)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cgraplop, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cgraplop)
MACHINE_CONFIG_END
@@ -1165,7 +1165,7 @@ MACHINE_CONFIG_START(decocass_type3_state::cgraplop2)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cgraplop2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cgraplop2)
MACHINE_CONFIG_END
@@ -1173,7 +1173,7 @@ MACHINE_CONFIG_START(decocass_type3_state::clapapa)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_clapapa, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,clapapa)
MACHINE_CONFIG_END
@@ -1181,7 +1181,7 @@ MACHINE_CONFIG_START(decocass_type3_state::cskater)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cskater, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cskater)
MACHINE_CONFIG_END
@@ -1189,7 +1189,7 @@ MACHINE_CONFIG_START(decocass_type3_state::cprobowl)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cprobowl, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cprobowl)
MACHINE_CONFIG_END
@@ -1197,7 +1197,7 @@ MACHINE_CONFIG_START(decocass_type3_state::cnightst)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cnightst, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cnightst)
MACHINE_CONFIG_END
@@ -1205,7 +1205,7 @@ MACHINE_CONFIG_START(decocass_type3_state::cpsoccer)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cpsoccer, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cpsoccer)
MACHINE_CONFIG_END
@@ -1213,7 +1213,7 @@ MACHINE_CONFIG_START(decocass_type3_state::csdtenis)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_csdtenis, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,csdtenis)
MACHINE_CONFIG_END
@@ -1221,7 +1221,7 @@ MACHINE_CONFIG_START(decocass_type3_state::czeroize)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_czeroize, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,czeroize)
MACHINE_CONFIG_END
@@ -1229,7 +1229,7 @@ MACHINE_CONFIG_START(decocass_type3_state::cppicf)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cppicf, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cppicf)
MACHINE_CONFIG_END
@@ -1237,7 +1237,7 @@ MACHINE_CONFIG_START(decocass_type3_state::cfghtice)
decocass(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cfghtice, this));
+ MCFG_MACHINE_RESET_OVERRIDE(decocass_type3_state,cfghtice)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/dfruit.cpp b/src/mame/drivers/dfruit.cpp
index 570f11b3507..fd27b603c56 100644
--- a/src/mame/drivers/dfruit.cpp
+++ b/src/mame/drivers/dfruit.cpp
@@ -377,8 +377,8 @@ MACHINE_CONFIG_START(dfruit_state::dfruit)
MCFG_DEVICE_PROGRAM_MAP(dfruit_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", dfruit_state, dfruit_irq_scanline, "screen", 0, 1)
- //set_machine_start_cb(config, driver_callback_delegate(&machine_start_4enraya, this));
- //set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_4enraya, this));
+ //MCFG_MACHINE_START_OVERRIDE(dfruit_state,4enraya)
+ //MCFG_MACHINE_RESET_OVERRIDE(dfruit_state,4enraya)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/divebomb.cpp b/src/mame/drivers/divebomb.cpp
index 1419c4e725c..0421442f998 100644
--- a/src/mame/drivers/divebomb.cpp
+++ b/src/mame/drivers/divebomb.cpp
@@ -431,10 +431,10 @@ MACHINE_CONFIG_START(divebomb_state::divebomb)
MCFG_K051316_OFFSETS(-88, -16)
MCFG_K051316_CB(divebomb_state, zoom_callback_2)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_divebomb, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_divebomb, this));
+ MCFG_MACHINE_START_OVERRIDE(divebomb_state, divebomb)
+ MCFG_MACHINE_RESET_OVERRIDE(divebomb_state, divebomb)
- set_video_start_cb(config, driver_callback_delegate(&video_start_divebomb, this));
+ MCFG_VIDEO_START_OVERRIDE(divebomb_state, divebomb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -549,7 +549,7 @@ ROM_END
*
*************************************/
-void divebomb_state::machine_start_divebomb()
+MACHINE_START_MEMBER(divebomb_state, divebomb)
{
m_rozbank->configure_entries(0, 16, memregion("rozcpudata")->base(), 0x4000);
@@ -558,7 +558,7 @@ void divebomb_state::machine_start_divebomb()
}
-void divebomb_state::machine_reset_divebomb()
+MACHINE_RESET_MEMBER(divebomb_state, divebomb)
{
for (int chip = 0; chip < 2; chip++)
{
diff --git a/src/mame/drivers/dkong.cpp b/src/mame/drivers/dkong.cpp
index de4f0bf76ab..20e9e79b10c 100644
--- a/src/mame/drivers/dkong.cpp
+++ b/src/mame/drivers/dkong.cpp
@@ -463,7 +463,7 @@ WRITE_LINE_MEMBER(dkong_state::s2650_interrupt)
*
*************************************/
-void dkong_state::machine_start_dkong2b()
+MACHINE_START_MEMBER(dkong_state,dkong2b)
{
m_hardware_type = HARDWARE_TKG04;
@@ -471,16 +471,17 @@ void dkong_state::machine_start_dkong2b()
save_item(NAME(m_dma_latch));
}
-void dkong_state::machine_start_s2650()
+MACHINE_START_MEMBER(dkong_state,s2650)
{
uint8_t *p = memregion("user1")->base();
const char *game_name = machine().system().name;
+ int i;
- machine_start_dkong2b();
+ MACHINE_START_CALL_MEMBER(dkong2b);
- for (int i = 0; i < 0x200; i++)
+ for (i = 0; i < 0x200; i++)
m_rev_map[i] = -1;
- for (int i = 0; i < 0x200; i++)
+ for (i = 0; i < 0x200; i++)
m_rev_map[p[0x0000 + i]] = i;
m_hunchloopback = 0;
@@ -503,40 +504,40 @@ void dkong_state::machine_start_s2650()
fatalerror("Unknown game <%s> in S2650 start.\n", game_name);
}
-void dkong_state::machine_start_radarscp()
+MACHINE_START_MEMBER(dkong_state,radarscp)
{
- machine_start_dkong2b();
+ MACHINE_START_CALL_MEMBER(dkong2b);
m_hardware_type = HARDWARE_TRS02;
m_vidhw = DKONG_BOARD;
}
-void dkong_state::machine_start_radarscp1()
+MACHINE_START_MEMBER(dkong_state,radarscp1)
{
- machine_start_dkong2b();
+ MACHINE_START_CALL_MEMBER(dkong2b);
m_hardware_type = HARDWARE_TRS01;
m_vidhw = DKONG_BOARD;
}
-void dkong_state::machine_start_dkong3()
+MACHINE_START_MEMBER(dkong_state,dkong3)
{
m_hardware_type = HARDWARE_TKG04;
}
-void dkong_state::machine_reset_dkong()
+MACHINE_RESET_MEMBER(dkong_state,dkong)
{
/* nothing */
}
-void dkong_state::machine_reset_ddk()
+MACHINE_RESET_MEMBER(dkong_state,ddk)
{
dk_braze_a15(!membank("bank1")->entry());
}
-void dkong_state::machine_reset_strtheat()
+MACHINE_RESET_MEMBER(dkong_state,strtheat)
{
uint8_t *ROM = memregion("maincpu")->base();
- machine_reset_dkong();
+ MACHINE_RESET_CALL_MEMBER(dkong);
/* The initial state of the counter is 0x08 */
membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
@@ -544,11 +545,11 @@ void dkong_state::machine_reset_strtheat()
membank("bank1")->set_entry(0);
}
-void dkong_state::machine_reset_drakton()
+MACHINE_RESET_MEMBER(dkong_state,drakton)
{
uint8_t *ROM = memregion("maincpu")->base();
- machine_reset_dkong();
+ MACHINE_RESET_CALL_MEMBER(dkong);
/* The initial state of the counter is 0x09 */
membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x4000);
@@ -1697,8 +1698,8 @@ MACHINE_CONFIG_START(dkong_state::dkong_base)
MCFG_DEVICE_ADD("maincpu", Z80, CLOCK_1H)
MCFG_DEVICE_PROGRAM_MAP(dkong_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_dkong2b, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dkong, this));
+ MCFG_MACHINE_START_OVERRIDE(dkong_state,dkong2b)
+ MCFG_MACHINE_RESET_OVERRIDE(dkong_state,dkong)
MCFG_DEVICE_ADD("dma8257", I8257, CLOCK_1H)
MCFG_I8257_OUT_HRQ_CB(WRITELINE(*this, dkong_state, busreq_w))
@@ -1719,14 +1720,14 @@ MACHINE_CONFIG_START(dkong_state::dkong_base)
MCFG_PALETTE_ADD("palette", DK2B_PALETTE_LENGTH)
MCFG_PALETTE_INIT_OWNER(dkong_state,dkong2b)
- set_video_start_cb(config, driver_callback_delegate(&video_start_dkong, this));
+ MCFG_VIDEO_START_OVERRIDE(dkong_state,dkong)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(dkong_state::radarscp)
dkong_base(config);
/* basic machine hardware */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_radarscp, this));
+ MCFG_MACHINE_START_OVERRIDE(dkong_state,radarscp)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(RS_PALETTE_LENGTH)
MCFG_PALETTE_INIT_OWNER(dkong_state,radarscp)
@@ -1739,7 +1740,7 @@ MACHINE_CONFIG_START(dkong_state::radarscp1)
dkong_base(config);
/* basic machine hardware */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_radarscp1, this));
+ MCFG_MACHINE_START_OVERRIDE(dkong_state,radarscp1)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(RS_PALETTE_LENGTH)
MCFG_PALETTE_INIT_OWNER(dkong_state,radarscp1)
@@ -1753,7 +1754,7 @@ MACHINE_CONFIG_START(dkong_state::dkong2b)
dkong_base(config);
/* basic machine hardware */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_dkong2b, this));
+ MCFG_MACHINE_START_OVERRIDE(dkong_state,dkong2b)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(DK2B_PALETTE_LENGTH)
@@ -1778,7 +1779,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(dkong_state::ddk_braze)
dkj_braze(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ddk, this));
+ MCFG_MACHINE_RESET_OVERRIDE(dkong_state,ddk)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(dkong_state::dk3_braze)
@@ -1794,7 +1795,7 @@ MACHINE_CONFIG_START(dkong_state::dkong3)
MCFG_DEVICE_PROGRAM_MAP(dkong3_map)
MCFG_DEVICE_IO_MAP(dkong3_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_dkong3, this));
+ MCFG_MACHINE_START_OVERRIDE(dkong_state, dkong3)
MCFG_DEVICE_ADD("z80dma", Z80DMA, CLOCK_1H)
MCFG_Z80DMA_OUT_BUSREQ_CB(INPUTLINE("maincpu", INPUT_LINE_HALT))
@@ -1814,7 +1815,7 @@ MACHINE_CONFIG_START(dkong_state::dkong3)
MCFG_PALETTE_ADD("palette", DK3_PALETTE_LENGTH)
MCFG_PALETTE_INIT_OWNER(dkong_state,dkong3)
- set_video_start_cb(config, driver_callback_delegate(&video_start_dkong, this));
+ MCFG_VIDEO_START_OVERRIDE(dkong_state,dkong)
/* sound hardware */
dkong3_audio(config);
@@ -1874,7 +1875,7 @@ MACHINE_CONFIG_START(dkong_state::s2650)
MCFG_I8257_IN_MEMR_CB(READ8(*this, dkong_state, hb_dma_read_byte))
MCFG_I8257_OUT_MEMW_CB(WRITE8(*this, dkong_state, hb_dma_write_byte))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_s2650, this));
+ MCFG_MACHINE_START_OVERRIDE(dkong_state,s2650)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(dkong_state::herbiedk)
@@ -1907,7 +1908,7 @@ MACHINE_CONFIG_START(dkong_state::strtheat)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(epos_readport)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_strtheat, this));
+ MCFG_MACHINE_RESET_OVERRIDE(dkong_state,strtheat)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(dkong_state::drakton)
@@ -1917,7 +1918,7 @@ MACHINE_CONFIG_START(dkong_state::drakton)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(epos_readport)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_drakton, this));
+ MCFG_MACHINE_RESET_OVERRIDE(dkong_state,drakton)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(dkong_state::drktnjr)
@@ -1927,7 +1928,7 @@ MACHINE_CONFIG_START(dkong_state::drktnjr)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(epos_readport)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_drakton, this));
+ MCFG_MACHINE_RESET_OVERRIDE(dkong_state,drakton)
MACHINE_CONFIG_END
/*************************************
diff --git a/src/mame/drivers/dmax8000.cpp b/src/mame/drivers/dmax8000.cpp
index 7e27a29b657..cbd6aac265a 100644
--- a/src/mame/drivers/dmax8000.cpp
+++ b/src/mame/drivers/dmax8000.cpp
@@ -47,7 +47,7 @@ public:
{ }
void init_dmax8000();
- void machine_reset_dmax8000();
+ DECLARE_MACHINE_RESET(dmax8000);
DECLARE_WRITE8_MEMBER(port0c_w);
DECLARE_WRITE8_MEMBER(port0d_w);
DECLARE_WRITE8_MEMBER(port14_w);
@@ -126,7 +126,7 @@ void dmax8000_state::dmax8000_io(address_map &map)
static INPUT_PORTS_START( dmax8000 )
INPUT_PORTS_END
-void dmax8000_state::machine_reset_dmax8000()
+MACHINE_RESET_MEMBER( dmax8000_state, dmax8000 )
{
membank("bankr0")->set_entry(0); // point at rom
membank("bankw0")->set_entry(0); // always write to ram
@@ -154,7 +154,7 @@ MACHINE_CONFIG_START(dmax8000_state::dmax8000)
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(4'000'000) ) // no idea what crystal is used, but 4MHz clock is confirmed
MCFG_DEVICE_PROGRAM_MAP(dmax8000_mem)
MCFG_DEVICE_IO_MAP(dmax8000_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dmax8000, this));
+ MCFG_MACHINE_RESET_OVERRIDE(dmax8000_state, dmax8000)
MCFG_DEVICE_ADD("ctc_clock", CLOCK, XTAL(4'000'000) / 2) // 2MHz
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE("ctc", z80ctc_device, trg0))
diff --git a/src/mame/drivers/docastle.cpp b/src/mame/drivers/docastle.cpp
index 30bad06f7cf..d83e8582a90 100644
--- a/src/mame/drivers/docastle.cpp
+++ b/src/mame/drivers/docastle.cpp
@@ -676,7 +676,7 @@ MACHINE_CONFIG_START(docastle_state::dorunrun)
MCFG_DEVICE_PROGRAM_MAP(dorunrun_map2)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_dorunrun, this));
+ MCFG_VIDEO_START_OVERRIDE(docastle_state,dorunrun)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(docastle_state::idsoccer)
@@ -693,7 +693,7 @@ MACHINE_CONFIG_START(docastle_state::idsoccer)
MCFG_TMS1025_READ_PORT_CB(PORT4, IOPORT("JOYS_RIGHT")) MCFG_DEVCB_RSHIFT(4)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_dorunrun, this));
+ MCFG_VIDEO_START_OVERRIDE(docastle_state,dorunrun)
/* sound hardware */
MCFG_DEVICE_ADD("msm", MSM5205, XTAL(384'000)) /* Crystal verified on American Soccer board. */
diff --git a/src/mame/drivers/dooyong.cpp b/src/mame/drivers/dooyong.cpp
index 4450ac20e33..1ea9272763a 100644
--- a/src/mame/drivers/dooyong.cpp
+++ b/src/mame/drivers/dooyong.cpp
@@ -194,16 +194,16 @@ protected:
uint32_t screen_update_flytiger(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_primella(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void machine_start_cpu_z80() ATTR_COLD
+ DECLARE_MACHINE_START(cpu_z80)
{
m_mainbank->configure_entries(0, 8, memregion("maincpu")->base(), 0x4000);
}
- void video_start_bluehawk() ATTR_COLD
+ DECLARE_VIDEO_START(bluehawk)
{
}
- void video_start_flytiger() ATTR_COLD
+ DECLARE_VIDEO_START(flytiger)
{
m_paletteram_flytiger = make_unique_clear<uint8_t[]>(0x1000);
save_pointer(NAME(m_paletteram_flytiger.get()), 0x1000);
@@ -215,7 +215,7 @@ protected:
save_item(NAME(m_flytiger_pri));
}
- void video_start_primella() ATTR_COLD
+ DECLARE_VIDEO_START(primella)
{
/* Register for save/restore */
save_item(NAME(m_tx_pri));
@@ -261,13 +261,13 @@ protected:
uint32_t screen_update_gulfstrm(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_pollux(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void video_start_lastday() ATTR_COLD
+ DECLARE_VIDEO_START(lastday)
{
/* Register for save/restore */
save_item(NAME(m_sprites_disabled));
}
- void video_start_gulfstrm() ATTR_COLD
+ DECLARE_VIDEO_START(gulfstrm)
{
m_palette_bank = 0;
@@ -275,7 +275,7 @@ protected:
save_item(NAME(m_palette_bank));
}
- void video_start_pollux() ATTR_COLD
+ DECLARE_VIDEO_START(pollux)
{
m_paletteram_flytiger = make_unique_clear<uint8_t[]>(0x1000);
save_pointer(NAME(m_paletteram_flytiger.get()), 0x1000);
@@ -1484,7 +1484,7 @@ MACHINE_CONFIG_START(dooyong_z80_ym2203_state::lastday)
MCFG_DEVICE_ADD("audiocpu", Z80, 16_MHz_XTAL/4) /* 4MHz verified for Last Day / D-day */
MCFG_DEVICE_PROGRAM_MAP(lastday_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cpu_z80, this));
+ MCFG_MACHINE_START_OVERRIDE(dooyong_z80_ym2203_state, cpu_z80)
/* video hardware */
MCFG_DEVICE_ADD("spriteram", BUFFERED_SPRITERAM8)
@@ -1506,7 +1506,7 @@ MACHINE_CONFIG_START(dooyong_z80_ym2203_state::lastday)
MCFG_DOOYONG_ROM_TILEMAP_TRANSPARENT_PEN(15)
MCFG_DOOYONG_RAM_TILEMAP_ADD("tx", "gfxdecode", 0)
- set_video_start_cb(config, driver_callback_delegate(&video_start_lastday, this));
+ MCFG_VIDEO_START_OVERRIDE(dooyong_z80_ym2203_state, lastday)
/* sound hardware */
MCFG_INPUT_MERGER_ANY_HIGH("soundirq")
@@ -1537,7 +1537,7 @@ MACHINE_CONFIG_START(dooyong_z80_ym2203_state::gulfstrm)
MCFG_DEVICE_ADD("audiocpu", Z80, 8000000) /* ??? */
MCFG_DEVICE_PROGRAM_MAP(lastday_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cpu_z80, this));
+ MCFG_MACHINE_START_OVERRIDE(dooyong_z80_ym2203_state, cpu_z80)
/* video hardware */
MCFG_DEVICE_ADD("spriteram", BUFFERED_SPRITERAM8)
@@ -1559,7 +1559,7 @@ MACHINE_CONFIG_START(dooyong_z80_ym2203_state::gulfstrm)
MCFG_DOOYONG_ROM_TILEMAP_TRANSPARENT_PEN(15)
MCFG_DOOYONG_RAM_TILEMAP_ADD("tx", "gfxdecode", 0)
- set_video_start_cb(config, driver_callback_delegate(&video_start_gulfstrm, this));
+ MCFG_VIDEO_START_OVERRIDE(dooyong_z80_ym2203_state, gulfstrm)
/* sound hardware */
sound_2203(config); /* 3.579545MHz */
@@ -1575,7 +1575,7 @@ MACHINE_CONFIG_START(dooyong_z80_ym2203_state::pollux)
MCFG_DEVICE_ADD("audiocpu", Z80, 16_MHz_XTAL/4) /* 4Mhz */
MCFG_DEVICE_PROGRAM_MAP(pollux_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cpu_z80, this));
+ MCFG_MACHINE_START_OVERRIDE(dooyong_z80_ym2203_state, cpu_z80)
/* video hardware */
MCFG_DEVICE_ADD("spriteram", BUFFERED_SPRITERAM8)
@@ -1597,7 +1597,7 @@ MACHINE_CONFIG_START(dooyong_z80_ym2203_state::pollux)
MCFG_DOOYONG_ROM_TILEMAP_TRANSPARENT_PEN(15)
MCFG_DOOYONG_RAM_TILEMAP_ADD("tx", "gfxdecode", 0)
- set_video_start_cb(config, driver_callback_delegate(&video_start_pollux, this));
+ MCFG_VIDEO_START_OVERRIDE(dooyong_z80_ym2203_state, pollux)
/* sound hardware */
sound_2203(config); /* 3.579545MHz or 4Mhz ??? */
@@ -1613,7 +1613,7 @@ MACHINE_CONFIG_START(dooyong_z80_state::bluehawk)
MCFG_DEVICE_ADD("audiocpu", Z80, 4000000) /* ??? */
MCFG_DEVICE_PROGRAM_MAP(bluehawk_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cpu_z80, this));
+ MCFG_MACHINE_START_OVERRIDE(dooyong_z80_state, cpu_z80)
/* video hardware */
MCFG_DEVICE_ADD("spriteram", BUFFERED_SPRITERAM8)
@@ -1637,7 +1637,7 @@ MACHINE_CONFIG_START(dooyong_z80_state::bluehawk)
MCFG_DOOYONG_ROM_TILEMAP_TRANSPARENT_PEN(15)
MCFG_DOOYONG_RAM_TILEMAP_ADD("tx", "gfxdecode", 0)
- set_video_start_cb(config, driver_callback_delegate(&video_start_bluehawk, this));
+ MCFG_VIDEO_START_OVERRIDE(dooyong_z80_state, bluehawk)
/* sound hardware */
sound_2151(config); /* 3.579545MHz or 4Mhz ??? */
@@ -1653,7 +1653,7 @@ MACHINE_CONFIG_START(dooyong_z80_state::flytiger)
MCFG_DEVICE_ADD("audiocpu", Z80, 16_MHz_XTAL/4) /* 4Mhz */
MCFG_DEVICE_PROGRAM_MAP(bluehawk_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cpu_z80, this));
+ MCFG_MACHINE_START_OVERRIDE(dooyong_z80_state, cpu_z80)
/* video hardware */
MCFG_DEVICE_ADD("spriteram", BUFFERED_SPRITERAM8)
@@ -1676,7 +1676,7 @@ MACHINE_CONFIG_START(dooyong_z80_state::flytiger)
MCFG_DOOYONG_ROM_TILEMAP_TRANSPARENT_PEN(15)
MCFG_DOOYONG_RAM_TILEMAP_ADD("tx", "gfxdecode", 0)
- set_video_start_cb(config, driver_callback_delegate(&video_start_flytiger, this));
+ MCFG_VIDEO_START_OVERRIDE(dooyong_z80_state, flytiger)
/* sound hardware */
sound_2151(config);
@@ -1692,7 +1692,7 @@ MACHINE_CONFIG_START(dooyong_z80_state::primella)
MCFG_DEVICE_ADD("audiocpu", Z80, 16_MHz_XTAL/4) /* 4MHz */
MCFG_DEVICE_PROGRAM_MAP(bluehawk_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cpu_z80, this));
+ MCFG_MACHINE_START_OVERRIDE(dooyong_z80_state, cpu_z80)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1713,7 +1713,7 @@ MACHINE_CONFIG_START(dooyong_z80_state::primella)
MCFG_DOOYONG_ROM_TILEMAP_PRIMELLA_CODE_BITS(10)
MCFG_DOOYONG_RAM_TILEMAP_ADD("tx", "gfxdecode", 0)
- set_video_start_cb(config, driver_callback_delegate(&video_start_primella, this));
+ MCFG_VIDEO_START_OVERRIDE(dooyong_z80_state, primella)
/* sound hardware */
sound_2151_4mhz(config); /* PCB has only 1 OSC at 16Mhz */
diff --git a/src/mame/drivers/dps1.cpp b/src/mame/drivers/dps1.cpp
index 7db5268f97b..3ad63634a11 100644
--- a/src/mame/drivers/dps1.cpp
+++ b/src/mame/drivers/dps1.cpp
@@ -44,7 +44,7 @@ public:
DECLARE_WRITE8_MEMBER(portff_w);
DECLARE_WRITE_LINE_MEMBER(fdc_drq_w);
void init_dps1();
- void machine_reset_dps1();
+ DECLARE_MACHINE_RESET(dps1);
void dps1(machine_config &config);
void io_map(address_map &map);
@@ -164,7 +164,7 @@ WRITE_LINE_MEMBER( dps1_state::fdc_drq_w )
// else take /dack high (unsupported)
}
-void dps1_state::machine_reset_dps1()
+MACHINE_RESET_MEMBER( dps1_state, dps1 )
{
membank("bankr0")->set_entry(1); // point at rom
membank("bankw0")->set_entry(0); // always write to ram
@@ -198,7 +198,7 @@ MACHINE_CONFIG_START(dps1_state::dps1)
MCFG_DEVICE_ADD("maincpu", Z80, 4000000)
MCFG_DEVICE_PROGRAM_MAP(mem_map)
MCFG_DEVICE_IO_MAP(io_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dps1, this));
+ MCFG_MACHINE_RESET_OVERRIDE(dps1_state, dps1)
/* video hardware */
MCFG_DEVICE_ADD("uart", MC2661, XTAL(5'068'800))
diff --git a/src/mame/drivers/dsb46.cpp b/src/mame/drivers/dsb46.cpp
index f3bfc9e88c1..cb2fdfab783 100644
--- a/src/mame/drivers/dsb46.cpp
+++ b/src/mame/drivers/dsb46.cpp
@@ -47,7 +47,7 @@ public:
DECLARE_WRITE8_MEMBER(port1a_w);
void init_dsb46();
- void machine_reset_dsb46();
+ DECLARE_MACHINE_RESET(dsb46);
void dsb46(machine_config &config);
void dsb46_io(address_map &map);
@@ -87,7 +87,7 @@ void dsb46_state::init_dsb46()
membank("write")->configure_entry(0, &RAM[0x00000]);
}
-void dsb46_state::machine_reset_dsb46()
+MACHINE_RESET_MEMBER( dsb46_state,dsb46 )
{
membank("read")->set_entry(0);
membank("write")->set_entry(0);
@@ -114,7 +114,7 @@ MACHINE_CONFIG_START(dsb46_state::dsb46)
MCFG_DEVICE_IO_MAP(dsb46_io)
MCFG_Z80_DAISY_CHAIN(daisy_chain)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dsb46, this));
+ MCFG_MACHINE_RESET_OVERRIDE(dsb46_state, dsb46)
/* video hardware */
MCFG_DEVICE_ADD("ctc_clock", CLOCK, XTAL(1'843'200))
diff --git a/src/mame/drivers/dynax.cpp b/src/mame/drivers/dynax.cpp
index 8c5d843d3ca..047c731126f 100644
--- a/src/mame/drivers/dynax.cpp
+++ b/src/mame/drivers/dynax.cpp
@@ -359,7 +359,7 @@ WRITE_LINE_MEMBER(dynax_state::adpcm_reset_kludge_w)
m_resetkludge = state;
}
-void dynax_state::machine_reset_adpcm()
+MACHINE_RESET_MEMBER(dynax_state,adpcm)
{
/* start with the MSM5205 reset */
m_resetkludge = 0;
@@ -4121,7 +4121,7 @@ INPUT_PORTS_END
***************************************************************************/
-void dynax_state::machine_start_dynax()
+MACHINE_START_MEMBER(dynax_state,dynax)
{
m_blitter_irq_mask = 1;
m_blitter2_irq_mask = 1;
@@ -4149,10 +4149,10 @@ void dynax_state::machine_start_dynax()
save_item(NAME(m_palette_ram));
}
-void dynax_state::machine_reset_dynax()
+MACHINE_RESET_MEMBER(dynax_state,dynax)
{
if (m_msm != nullptr)
- machine_reset_adpcm();
+ MACHINE_RESET_CALL_MEMBER(adpcm);
m_blitter_irq = 0;
m_blitter2_irq = 0;
@@ -4177,20 +4177,20 @@ void dynax_state::machine_reset_dynax()
memset(m_palette_ram, 0, ARRAY_LENGTH(m_palette_ram));
}
-void dynax_state::machine_start_hjingi()
+MACHINE_START_MEMBER(dynax_state,hjingi)
{
uint8_t *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 0x10, &ROM[0x0000], 0x8000);
- machine_start_dynax();
+ MACHINE_START_CALL_MEMBER(dynax);
}
-void dynax_state::machine_start_hanamai()
+MACHINE_START_MEMBER(dynax_state,hanamai)
{
uint8_t *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 0x10, &ROM[0x8000], 0x8000);
- machine_start_dynax();
+ MACHINE_START_CALL_MEMBER(dynax);
}
/***************************************************************************
@@ -4205,8 +4205,8 @@ MACHINE_CONFIG_START(dynax_state::cdracula)
MCFG_DEVICE_IO_MAP(cdracula_io_map)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mainirq", rst_pos_buffer_device, inta_cb) // IM 0 needs an opcode on the data bus
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_dynax, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dynax, this));
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,dynax)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax)
// MCFG_NVRAM_ADD_0FILL("nvram") // no battery
@@ -4231,7 +4231,7 @@ MACHINE_CONFIG_START(dynax_state::cdracula)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_INIT_OWNER(dynax_state,sprtmtch) // static palette
- set_video_start_cb(config, driver_callback_delegate(&video_start_hanamai, this));
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,hanamai)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4253,8 +4253,8 @@ MACHINE_CONFIG_START(dynax_state::hanamai)
MCFG_DEVICE_IO_MAP(hanamai_io_map)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mainirq", rst_pos_buffer_device, inta_cb) // IM 0 needs an opcode on the data bus
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hanamai, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dynax, this));
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,hanamai)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -4284,7 +4284,7 @@ MACHINE_CONFIG_START(dynax_state::hanamai)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_INIT_OWNER(dynax_state,sprtmtch) // static palette
- set_video_start_cb(config, driver_callback_delegate(&video_start_hanamai, this));
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,hanamai)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4321,8 +4321,8 @@ MACHINE_CONFIG_START(dynax_state::hnoridur)
MCFG_DEVICE_IO_MAP(hnoridur_io_map)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mainirq", rst_pos_buffer_device, inta_cb) // IM 0 needs an opcode on the data bus
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_dynax, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dynax, this));
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,dynax)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax)
MCFG_DEVICE_ADD("bankdev", ADDRESS_MAP_BANK, 0)
MCFG_DEVICE_PROGRAM_MAP(hnoridur_banked_map)
@@ -4357,7 +4357,7 @@ MACHINE_CONFIG_START(dynax_state::hnoridur)
MCFG_PALETTE_ADD("palette", 16*256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_hnoridur, this));
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,hnoridur)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4388,8 +4388,8 @@ MACHINE_CONFIG_START(dynax_state::hjingi)
MCFG_DEVICE_IO_MAP(hjingi_io_map)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mainirq", rst_pos_buffer_device, inta_cb) // IM 0 needs an opcode on the data bus
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hjingi, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dynax, this));
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,hjingi)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax)
MCFG_DEVICE_ADD("bankdev", ADDRESS_MAP_BANK, 0)
MCFG_DEVICE_PROGRAM_MAP(hjingi_banked_map)
@@ -4426,7 +4426,7 @@ MACHINE_CONFIG_START(dynax_state::hjingi)
MCFG_PALETTE_ADD("palette", 16*256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_hnoridur, this));
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,hnoridur)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4457,8 +4457,8 @@ MACHINE_CONFIG_START(dynax_state::sprtmtch)
MCFG_DEVICE_IO_MAP(sprtmtch_io_map)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mainirq", rst_pos_buffer_device, inta_cb) // IM 0 needs an opcode on the data bus
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hanamai, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dynax, this));
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,hanamai)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -4485,7 +4485,7 @@ MACHINE_CONFIG_START(dynax_state::sprtmtch)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_INIT_OWNER(dynax_state,sprtmtch) // static palette
- set_video_start_cb(config, driver_callback_delegate(&video_start_sprtmtch, this));
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,sprtmtch)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4518,8 +4518,8 @@ MACHINE_CONFIG_START(dynax_state::mjfriday)
MCFG_DEVICE_PROGRAM_MAP(sprtmtch_mem_map)
MCFG_DEVICE_IO_MAP(mjfriday_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hanamai, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dynax, this));
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,hanamai)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -4546,7 +4546,7 @@ MACHINE_CONFIG_START(dynax_state::mjfriday)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_INIT_OWNER(dynax_state,sprtmtch) // static palette
- set_video_start_cb(config, driver_callback_delegate(&video_start_mjdialq2, this));
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,mjdialq2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4622,7 +4622,7 @@ MACHINE_CONFIG_START(dynax_state::mcnpshnt)
MCFG_DEVICE_PROGRAM_MAP(mcnpshnt_mem_map)
MCFG_DEVICE_IO_MAP(mcnpshnt_io_map)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mcnpshnt, this)); // different priorities
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,mcnpshnt) // different priorities
MACHINE_CONFIG_END
@@ -4647,7 +4647,7 @@ MACHINE_CONFIG_END
// dual monitor, 2 CPU's, 2 blitters
-void dynax_state::machine_start_jantouki()
+MACHINE_START_MEMBER(dynax_state,jantouki)
{
uint8_t *MAIN = memregion("maincpu")->base();
uint8_t *SOUND = memregion("soundcpu")->base();
@@ -4655,7 +4655,7 @@ void dynax_state::machine_start_jantouki()
membank("bank1")->configure_entries(0, 0x10, &MAIN[0x8000], 0x8000);
membank("bank2")->configure_entries(0, 12, &SOUND[0x8000], 0x8000);
- machine_start_dynax();
+ MACHINE_START_CALL_MEMBER(dynax);
}
@@ -4672,8 +4672,8 @@ MACHINE_CONFIG_START(dynax_state::jantouki)
MCFG_DEVICE_IO_MAP(jantouki_sound_io_map)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("soundirq", rst_pos_buffer_device, inta_cb) // IM 0 needs an opcode on the data bus
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_jantouki, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dynax, this));
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,jantouki)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -4716,7 +4716,7 @@ MACHINE_CONFIG_START(dynax_state::jantouki)
MCFG_SCREEN_UPDATE_DRIVER(dynax_state, screen_update_jantouki_bottom)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_jantouki, this));
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,jantouki)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4784,7 +4784,7 @@ MACHINE_CONFIG_START(dynax_state::mjelctrn)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("maincpu", tmpz84c015_device, trg0)) MCFG_DEVCB_INVERT
- set_video_start_cb(config, driver_callback_delegate(&video_start_mjelctrn, this));
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,mjelctrn)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(dynax_state::mjembase)
@@ -4800,7 +4800,7 @@ MACHINE_CONFIG_START(dynax_state::mjembase)
MCFG_DEVICE_REMOVE("outlatch")
- set_video_start_cb(config, driver_callback_delegate(&video_start_mjembase, this));
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,mjembase)
MACHINE_CONFIG_END
/***************************************************************************
@@ -4814,7 +4814,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(dynax_state::neruton)
mjelctrn(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_neruton, this));
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,neruton)
MACHINE_CONFIG_END
@@ -4863,8 +4863,8 @@ MACHINE_CONFIG_START(dynax_state::tenkai)
MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(20)
MCFG_ADDRESS_MAP_BANK_STRIDE(0x8000)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_dynax, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dynax, this));
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,dynax)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -4888,7 +4888,7 @@ MACHINE_CONFIG_START(dynax_state::tenkai)
MCFG_PALETTE_ADD("palette", 16*256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_tenkai, this));
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,tenkai)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4936,8 +4936,8 @@ MACHINE_CONFIG_START(dynax_state::gekisha)
MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(17)
MCFG_ADDRESS_MAP_BANK_STRIDE(0x8000)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_dynax, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dynax, this));
+ MCFG_MACHINE_START_OVERRIDE(dynax_state,dynax)
+ MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax)
MCFG_NVRAM_ADD_0FILL("nvram")
@@ -4963,7 +4963,7 @@ MACHINE_CONFIG_START(dynax_state::gekisha)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_INIT_OWNER(dynax_state,sprtmtch) // static palette
- set_video_start_cb(config, driver_callback_delegate(&video_start_mjdialq2, this));
+ MCFG_VIDEO_START_OVERRIDE(dynax_state,mjdialq2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/ec184x.cpp b/src/mame/drivers/ec184x.cpp
index fe1ffdd8ced..4937b18b71a 100644
--- a/src/mame/drivers/ec184x.cpp
+++ b/src/mame/drivers/ec184x.cpp
@@ -43,7 +43,7 @@ public:
required_device<cpu_device> m_maincpu;
- void machine_reset_ec1841();
+ DECLARE_MACHINE_RESET(ec1841);
void init_ec1841();
struct
@@ -175,7 +175,7 @@ void ec184x_state::init_ec1841()
}
}
-void ec184x_state::machine_reset_ec1841()
+MACHINE_RESET_MEMBER(ec184x_state, ec1841)
{
memset(m_memory.enable, 0, sizeof(m_memory.enable));
// mark 1st board enabled
@@ -253,7 +253,7 @@ MACHINE_CONFIG_START(ec184x_state::ec1841)
MCFG_DEVICE_IO_MAP(ec1841_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ec1841, this));
+ MCFG_MACHINE_RESET_OVERRIDE(ec184x_state, ec1841)
MCFG_EC1841_MOTHERBOARD_ADD("mb", "maincpu")
diff --git a/src/mame/drivers/elwro800.cpp b/src/mame/drivers/elwro800.cpp
index cd382eec593..bc3343b41b2 100644
--- a/src/mame/drivers/elwro800.cpp
+++ b/src/mame/drivers/elwro800.cpp
@@ -61,7 +61,7 @@ public:
DECLARE_WRITE8_MEMBER(elwro800jr_fdc_control_w);
DECLARE_READ8_MEMBER(elwro800jr_io_r);
DECLARE_WRITE8_MEMBER(elwro800jr_io_w);
- void machine_reset_elwro800();
+ DECLARE_MACHINE_RESET(elwro800);
INTERRUPT_GEN_MEMBER(elwro800jr_interrupt);
DECLARE_READ8_MEMBER(i8255_port_c_r);
DECLARE_WRITE8_MEMBER(i8255_port_c_w);
@@ -520,7 +520,7 @@ INPUT_PORTS_END
*
*************************************/
-void elwro800_state::machine_reset_elwro800()
+MACHINE_RESET_MEMBER(elwro800_state,elwro800)
{
uint8_t *messram = m_ram->pointer();
@@ -575,7 +575,7 @@ MACHINE_CONFIG_START(elwro800_state::elwro800)
MCFG_DEVICE_OPCODES_MAP(elwro800_m1)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", elwro800_state, elwro800jr_interrupt)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_elwro800, this));
+ MCFG_MACHINE_RESET_OVERRIDE(elwro800_state,elwro800)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -591,7 +591,7 @@ MACHINE_CONFIG_START(elwro800_state::elwro800)
MCFG_PALETTE_INIT_OWNER(elwro800_state, spectrum )
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_elwro800)
- set_video_start_cb(config, driver_callback_delegate(&video_start_spectrum, this));
+ MCFG_VIDEO_START_OVERRIDE(elwro800_state, spectrum )
MCFG_UPD765A_ADD("upd765", true, true)
diff --git a/src/mame/drivers/eolith.cpp b/src/mame/drivers/eolith.cpp
index 5ecd44ba8b6..7219f3c7f14 100644
--- a/src/mame/drivers/eolith.cpp
+++ b/src/mame/drivers/eolith.cpp
@@ -545,7 +545,7 @@ MACHINE_CONFIG_START(eolith_state::eolith45)
MCFG_MCS51_PORT_P1_OUT_CB(WRITE8(*this, eolith_state, sound_p1_w))
MCFG_MCS51_SERIAL_TX_CB(WRITE8(*this, eolith_state, soundcpu_to_qs1000)) // Sound CPU -> QS1000 CPU serial link
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_eolith, this));
+ MCFG_MACHINE_RESET_OVERRIDE(eolith_state,eolith)
MCFG_EEPROM_SERIAL_93C66_8BIT_ADD("eeprom")
MCFG_EEPROM_ERASE_TIME(attotime::from_usec(250))
@@ -566,7 +566,7 @@ MACHINE_CONFIG_START(eolith_state::eolith45)
MCFG_PALETTE_ADD_RRRRRGGGGGBBBBB("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_eolith, this));
+ MCFG_VIDEO_START_OVERRIDE(eolith_state,eolith)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1521,7 +1521,7 @@ ROM_START( hidctch3 )
ROM_END
-void eolith_state::machine_reset_eolith()
+MACHINE_RESET_MEMBER(eolith_state,eolith)
{
m_soundcpu->set_input_line(MCS51_INT1_LINE, ASSERT_LINE);
}
diff --git a/src/mame/drivers/epos.cpp b/src/mame/drivers/epos.cpp
index a05d0876ce8..052245213e5 100644
--- a/src/mame/drivers/epos.cpp
+++ b/src/mame/drivers/epos.cpp
@@ -428,7 +428,7 @@ INPUT_PORTS_END
*
*************************************/
-void epos_state::machine_start_epos()
+MACHINE_START_MEMBER(epos_state,epos)
{
save_item(NAME(m_palette_bank));
save_item(NAME(m_counter));
@@ -445,7 +445,7 @@ void epos_state::machine_reset()
}
-void epos_state::machine_start_dealer()
+MACHINE_START_MEMBER(epos_state,dealer)
{
uint8_t *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 4, &ROM[0x0000], 0x10000);
@@ -454,7 +454,7 @@ void epos_state::machine_start_dealer()
membank("bank1")->set_entry(0);
membank("bank2")->set_entry(0);
- machine_start_epos();
+ MACHINE_START_CALL_MEMBER(epos);
}
MACHINE_CONFIG_START(epos_state::epos) /* EPOS TRISTAR 8000 PCB */
@@ -499,7 +499,7 @@ MACHINE_CONFIG_START(epos_state::dealer) /* EPOS TRISTAR 9000 PCB */
MCFG_NVRAM_ADD_0FILL("nvram")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_dealer, this));
+ MCFG_MACHINE_START_OVERRIDE(epos_state,dealer)
// RAM-based palette instead of prom
MCFG_PALETTE_ADD_INIT_BLACK("palette", 32)
diff --git a/src/mame/drivers/eprom.cpp b/src/mame/drivers/eprom.cpp
index 8f7761fa499..90221777d4c 100644
--- a/src/mame/drivers/eprom.cpp
+++ b/src/mame/drivers/eprom.cpp
@@ -420,7 +420,7 @@ MACHINE_CONFIG_START(eprom_state::eprom)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, eprom_state, video_int_write_line))
- set_video_start_cb(config, driver_callback_delegate(&video_start_eprom, this));
+ MCFG_VIDEO_START_OVERRIDE(eprom_state,eprom)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -463,7 +463,7 @@ MACHINE_CONFIG_START(eprom_state::klaxp)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, eprom_state, video_int_write_line))
- set_video_start_cb(config, driver_callback_delegate(&video_start_eprom, this));
+ MCFG_VIDEO_START_OVERRIDE(eprom_state,eprom)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -511,7 +511,7 @@ MACHINE_CONFIG_START(eprom_state::guts)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, eprom_state, video_int_write_line))
- set_video_start_cb(config, driver_callback_delegate(&video_start_guts, this));
+ MCFG_VIDEO_START_OVERRIDE(eprom_state,guts)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/equites.cpp b/src/mame/drivers/equites.cpp
index d2ac45bbab3..8687f60caac 100644
--- a/src/mame/drivers/equites.cpp
+++ b/src/mame/drivers/equites.cpp
@@ -1185,7 +1185,7 @@ MACHINE_CONFIG_START(equites_state::equites)
MCFG_PALETTE_INDIRECT_ENTRIES(0x100)
MCFG_PALETTE_INIT_OWNER(equites_state,equites)
- set_video_start_cb(config, driver_callback_delegate(&video_start_equites, this));
+ MCFG_VIDEO_START_OVERRIDE(equites_state,equites)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(gekisou_state::gekisou)
@@ -1235,7 +1235,7 @@ MACHINE_CONFIG_START(splndrbt_state::splndrbt)
MCFG_PALETTE_INDIRECT_ENTRIES(0x100)
MCFG_PALETTE_INIT_OWNER(splndrbt_state,splndrbt)
- set_video_start_cb(config, driver_callback_delegate(&video_start_splndrbt, this));
+ MCFG_VIDEO_START_OVERRIDE(splndrbt_state,splndrbt)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(splndrbt_state::hvoltage)
diff --git a/src/mame/drivers/espial.cpp b/src/mame/drivers/espial.cpp
index d37063a601f..6ad84cbc12a 100644
--- a/src/mame/drivers/espial.cpp
+++ b/src/mame/drivers/espial.cpp
@@ -368,7 +368,7 @@ MACHINE_CONFIG_START(espial_state::netwars)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(32*8, 64*8)
- set_video_start_cb(config, driver_callback_delegate(&video_start_netwars, this));
+ MCFG_VIDEO_START_OVERRIDE(espial_state,netwars)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/excali64.cpp b/src/mame/drivers/excali64.cpp
index 9b7bec26995..1d0aee2ebd0 100644
--- a/src/mame/drivers/excali64.cpp
+++ b/src/mame/drivers/excali64.cpp
@@ -92,7 +92,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(crtc_hs);
DECLARE_WRITE_LINE_MEMBER(crtc_vs);
DECLARE_WRITE_LINE_MEMBER(motor_w);
- void machine_reset_excali64();
+ DECLARE_MACHINE_RESET(excali64);
required_device<palette_device> m_palette;
void excali64(machine_config &config);
@@ -410,7 +410,7 @@ WRITE8_MEMBER( excali64_state::port70_w )
membank("bankr1")->set_entry(2);
}
-void excali64_state::machine_reset_excali64()
+MACHINE_RESET_MEMBER( excali64_state, excali64 )
{
membank("bankr1")->set_entry(1); // read from ROM
membank("bankr2")->set_entry(1); // read from ROM
@@ -555,7 +555,7 @@ MACHINE_CONFIG_START(excali64_state::excali64)
MCFG_DEVICE_PROGRAM_MAP(mem_map)
MCFG_DEVICE_IO_MAP(io_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_excali64, this));
+ MCFG_MACHINE_RESET_OVERRIDE(excali64_state, excali64)
MCFG_DEVICE_ADD("uart", I8251, 0)
//MCFG_I8251_TXD_HANDLER(WRITELINE("rs232", rs232_port_device, write_txd))
diff --git a/src/mame/drivers/exelv.cpp b/src/mame/drivers/exelv.cpp
index 249523ae1f6..75475068e17 100644
--- a/src/mame/drivers/exelv.cpp
+++ b/src/mame/drivers/exelv.cpp
@@ -97,8 +97,8 @@ public:
DECLARE_WRITE8_MEMBER( tms7041_portd_w );
DECLARE_READ8_MEMBER( rom_r );
- void machine_start_exl100() ATTR_COLD;
- void machine_start_exeltel() ATTR_COLD;
+ DECLARE_MACHINE_START(exl100);
+ DECLARE_MACHINE_START(exeltel);
/* tms7020 i/o ports */
uint8_t m_tms7020_portb;
@@ -452,7 +452,7 @@ INPUT_PORTS_END
/* Machine Initialization */
-void exelv_state::machine_start_exl100()
+MACHINE_START_MEMBER( exelv_state, exl100)
{
/* register for state saving */
save_item(NAME(m_tms7020_portb));
@@ -463,7 +463,7 @@ void exelv_state::machine_start_exl100()
save_item(NAME(m_wx319));
}
-void exelv_state::machine_start_exeltel()
+MACHINE_START_MEMBER( exelv_state, exeltel)
{
uint8_t *rom = memregion("user1")->base() + 0x0200;
membank("bank1")->configure_entry(0, rom);
@@ -488,7 +488,7 @@ MACHINE_CONFIG_START(exelv_state::exl100)
MCFG_TMS7000_OUT_PORTB_CB(WRITE8(*this, exelv_state, tms7020_portb_w))
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", exelv_state, exelv_hblank_interrupt, "screen", 0, 1)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_exl100, this));
+ MCFG_MACHINE_START_OVERRIDE(exelv_state, exl100)
MCFG_DEVICE_ADD("tms7041", TMS7041, XTAL(4'915'200))
MCFG_TMS7000_IN_PORTA_CB(READ8(*this, exelv_state, tms7041_porta_r))
@@ -544,7 +544,7 @@ MACHINE_CONFIG_START(exelv_state::exeltel)
MCFG_TMS7000_OUT_PORTB_CB(WRITE8(*this, exelv_state, tms7020_portb_w))
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", exelv_state, exelv_hblank_interrupt, "screen", 0, 1)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_exeltel, this));
+ MCFG_MACHINE_START_OVERRIDE(exelv_state, exeltel)
MCFG_DEVICE_ADD("tms7042", TMS7042, XTAL(4'915'200))
MCFG_TMS7000_IN_PORTA_CB(READ8(*this, exelv_state, tms7041_porta_r))
diff --git a/src/mame/drivers/exidy.cpp b/src/mame/drivers/exidy.cpp
index 899a5aa71fb..68a9560461d 100644
--- a/src/mame/drivers/exidy.cpp
+++ b/src/mame/drivers/exidy.cpp
@@ -810,7 +810,7 @@ GFXDECODE_END
*
*************************************/
-void exidy_state::machine_start_teetert()
+MACHINE_START_MEMBER(exidy_state,teetert)
{
save_item(NAME(m_last_dial));
}
@@ -906,7 +906,7 @@ MACHINE_CONFIG_START(exidy_state::teetert)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PERIODIC_INT_DRIVER(exidy_state, nmi_line_pulse, 10*60)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_teetert, this));
+ MCFG_MACHINE_START_OVERRIDE(exidy_state, teetert )
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/f1gp.cpp b/src/mame/drivers/f1gp.cpp
index afea5ac7121..9b35edb9c1e 100644
--- a/src/mame/drivers/f1gp.cpp
+++ b/src/mame/drivers/f1gp.cpp
@@ -386,7 +386,7 @@ static GFXDECODE_START( gfx_f1gp2 )
GFXDECODE_END
-void f1gp_state::machine_start_f1gpb()
+MACHINE_START_MEMBER(f1gp_state,f1gpb)
{
m_acia->write_cts(0);
m_acia->write_dcd(0);
@@ -397,14 +397,14 @@ void f1gp_state::machine_start_f1gpb()
save_item(NAME(m_scroll));
}
-void f1gp_state::machine_start_f1gp()
+MACHINE_START_MEMBER(f1gp_state,f1gp)
{
membank("bank1")->configure_entries(0, 2, memregion("audiocpu")->base() + 0x10000, 0x8000);
- machine_start_f1gpb();
+ MACHINE_START_CALL_MEMBER(f1gpb);
}
-void f1gp_state::machine_reset_f1gp()
+MACHINE_RESET_MEMBER(f1gp_state,f1gp)
{
m_roz_bank = 0;
m_flipscreen = 0;
@@ -430,8 +430,8 @@ MACHINE_CONFIG_START(f1gp_state::f1gp)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_f1gp, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_f1gp, this));
+ MCFG_MACHINE_START_OVERRIDE(f1gp_state,f1gp)
+ MCFG_MACHINE_RESET_OVERRIDE(f1gp_state,f1gp)
MCFG_DEVICE_ADD("acia", ACIA6850, 0)
MCFG_ACIA6850_IRQ_HANDLER(INPUTLINE("sub", M68K_IRQ_3))
@@ -467,7 +467,7 @@ MACHINE_CONFIG_START(f1gp_state::f1gp)
MCFG_VSYSTEM_SPR2_SET_PRITYPE(2)
MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
- set_video_start_cb(config, driver_callback_delegate(&video_start_f1gp, this));
+ MCFG_VIDEO_START_OVERRIDE(f1gp_state,f1gp)
MCFG_DEVICE_ADD("k053936", K053936, 0)
MCFG_K053936_WRAP(1)
@@ -504,8 +504,8 @@ MACHINE_CONFIG_START(f1gp_state::f1gpb)
/* NO sound CPU */
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_f1gpb, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_f1gp, this));
+ MCFG_MACHINE_START_OVERRIDE(f1gp_state,f1gpb)
+ MCFG_MACHINE_RESET_OVERRIDE(f1gp_state,f1gp)
MCFG_DEVICE_ADD("acia", ACIA6850, 0)
MCFG_ACIA6850_IRQ_HANDLER(INPUTLINE("sub", M68K_IRQ_3))
@@ -529,7 +529,7 @@ MACHINE_CONFIG_START(f1gp_state::f1gpb)
//MCFG_DEVICE_ADD("gga", VSYSTEM_GGA, 0)
- set_video_start_cb(config, driver_callback_delegate(&video_start_f1gpb, this));
+ MCFG_VIDEO_START_OVERRIDE(f1gp_state,f1gpb)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -565,7 +565,7 @@ MACHINE_CONFIG_START(f1gp_state::f1gp2)
MCFG_DEVICE_MODIFY("k053936")
MCFG_K053936_OFFSETS(-48, -21)
- set_video_start_cb(config, driver_callback_delegate(&video_start_f1gp2, this));
+ MCFG_VIDEO_START_OVERRIDE(f1gp_state,f1gp2)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/fantland.cpp b/src/mame/drivers/fantland.cpp
index a5a3abf8322..07ebcc37039 100644
--- a/src/mame/drivers/fantland.cpp
+++ b/src/mame/drivers/fantland.cpp
@@ -827,12 +827,12 @@ GFXDECODE_END
***************************************************************************/
-void fantland_state::machine_start_fantland()
+MACHINE_START_MEMBER(fantland_state,fantland)
{
save_item(NAME(m_nmi_enable));
}
-void fantland_state::machine_reset_fantland()
+MACHINE_RESET_MEMBER(fantland_state,fantland)
{
m_nmi_enable = 0;
}
@@ -860,8 +860,8 @@ MACHINE_CONFIG_START(fantland_state::fantland)
MCFG_DEVICE_PERIODIC_INT_DRIVER(fantland_state, fantland_sound_irq, 8000)
// NMI when soundlatch is written
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_fantland, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_fantland, this));
+ MCFG_MACHINE_START_OVERRIDE(fantland_state,fantland)
+ MCFG_MACHINE_RESET_OVERRIDE(fantland_state,fantland)
MCFG_QUANTUM_TIME(attotime::from_hz(8000)) // sound irq must feed the DAC at 8kHz
@@ -910,8 +910,8 @@ MACHINE_CONFIG_START(fantland_state::galaxygn)
MCFG_DEVICE_IO_MAP(galaxygn_sound_iomap)
// IRQ by YM2151, NMI when soundlatch is written
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_fantland, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_fantland, this));
+ MCFG_MACHINE_START_OVERRIDE(fantland_state,fantland)
+ MCFG_MACHINE_RESET_OVERRIDE(fantland_state,fantland)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -939,9 +939,9 @@ MACHINE_CONFIG_START(fantland_state::galaxygn)
MACHINE_CONFIG_END
-void fantland_state::machine_start_borntofi()
+MACHINE_START_MEMBER(fantland_state,borntofi)
{
- machine_start_fantland();
+ MACHINE_START_CALL_MEMBER(fantland);
save_item(NAME(m_old_x));
save_item(NAME(m_old_y));
@@ -953,11 +953,13 @@ void fantland_state::machine_start_borntofi()
save_item(NAME(m_adpcm_nibble));
}
-void fantland_state::machine_reset_borntofi()
+MACHINE_RESET_MEMBER(fantland_state,borntofi)
{
- machine_reset_fantland();
+ int i;
- for (int i = 0; i < 2; i++)
+ MACHINE_RESET_CALL_MEMBER(fantland);
+
+ for (i = 0; i < 2; i++)
{
m_old_x[i] = 0;
m_old_y[i] = 0;
@@ -965,7 +967,7 @@ void fantland_state::machine_reset_borntofi()
m_input_ret[i] = 0;
}
- for (int i = 0; i < 4; i++)
+ for (i = 0; i < 4; i++)
{
m_adpcm_playing[i] = 1;
m_adpcm_addr[0][i] = 0;
@@ -988,8 +990,8 @@ MACHINE_CONFIG_START(fantland_state::borntofi)
MCFG_DEVICE_ADD("audiocpu", I8088, 18432000/3) // 8088 - AMD P8088-2 CPU, running at 6.144MHz [18.432/3]
MCFG_DEVICE_PROGRAM_MAP(borntofi_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_borntofi, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_borntofi, this));
+ MCFG_MACHINE_START_OVERRIDE(fantland_state,borntofi)
+ MCFG_MACHINE_RESET_OVERRIDE(fantland_state,borntofi)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1043,8 +1045,8 @@ MACHINE_CONFIG_START(fantland_state::wheelrun)
MCFG_DEVICE_PROGRAM_MAP(wheelrun_sound_map)
// IRQ by YM3526, NMI when soundlatch is written
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_fantland, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_fantland, this));
+ MCFG_MACHINE_START_OVERRIDE(fantland_state,fantland)
+ MCFG_MACHINE_RESET_OVERRIDE(fantland_state,fantland)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/fastfred.cpp b/src/mame/drivers/fastfred.cpp
index cff9bfe68a6..8b0c2f545b2 100644
--- a/src/mame/drivers/fastfred.cpp
+++ b/src/mame/drivers/fastfred.cpp
@@ -138,7 +138,7 @@ READ8_MEMBER(fastfred_state::boggy84_custom_io_r)
*/
-void fastfred_state::machine_start_imago()
+MACHINE_START_MEMBER(fastfred_state,imago)
{
machine_start();
m_gfxdecode->gfx(1)->set_source(m_imago_sprites);
@@ -668,7 +668,7 @@ MACHINE_CONFIG_START(fastfred_state::fastfred)
MCFG_PALETTE_ADD("palette", 32*8)
MCFG_PALETTE_INDIRECT_ENTRIES(256)
MCFG_PALETTE_INIT_OWNER(fastfred_state,fastfred)
- set_video_start_cb(config, driver_callback_delegate(&video_start_fastfred, this));
+ MCFG_VIDEO_START_OVERRIDE(fastfred_state,fastfred)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -711,14 +711,14 @@ MACHINE_CONFIG_START(fastfred_state::imago)
MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(WRITELINE(*this, fastfred_state, imago_dma_irq_w))
MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(WRITELINE(*this, fastfred_state, imago_charbank_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_imago, this));
+ MCFG_MACHINE_START_OVERRIDE(fastfred_state,imago)
/* video hardware */
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(256+64+2) /* 256 for characters, 64 for the stars and 2 for the web */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_imago)
- set_video_start_cb(config, driver_callback_delegate(&video_start_imago, this));
+ MCFG_VIDEO_START_OVERRIDE(fastfred_state,imago)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(fastfred_state, screen_update_imago)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/fcrash.cpp b/src/mame/drivers/fcrash.cpp
index 0a21d59f6b5..cad66bbc9a8 100644
--- a/src/mame/drivers/fcrash.cpp
+++ b/src/mame/drivers/fcrash.cpp
@@ -1482,7 +1482,7 @@ static INPUT_PORTS_START( wofabl )
PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW(B):8" )
INPUT_PORTS_END
-void cps_state::machine_start_fcrash()
+MACHINE_START_MEMBER(cps_state,fcrash)
{
uint8_t *ROM = memregion("audiocpu")->base();
@@ -1506,16 +1506,16 @@ void cps_state::machine_start_fcrash()
save_item(NAME(m_sample_select2));
}
-void cps_state::machine_start_sgyxz()
+MACHINE_START_MEMBER(cps_state,sgyxz)
{
- machine_start_kodb();
+ MACHINE_START_CALL_MEMBER(kodb);
m_layer_scroll1x_offset = 0x40;
m_layer_scroll2x_offset = 0x40;
m_layer_scroll3x_offset = 0x40;
membank("bank1")->configure_entries(0, 2, memregion("audiocpu")->base() + 0x10000, 0x4000);
}
-void cps_state::machine_start_kodb()
+MACHINE_START_MEMBER(cps_state,kodb)
{
m_layer_enable_reg = 0x20;
m_layer_mask_reg[0] = 0x2e;
@@ -1530,9 +1530,9 @@ void cps_state::machine_start_kodb()
m_sprite_x_offset = 0;
}
-void cps_state::machine_start_cawingbl()
+MACHINE_START_MEMBER(cps_state, cawingbl)
{
- machine_start_fcrash();
+ MACHINE_START_CALL_MEMBER(fcrash);
m_layer_enable_reg = 0x0c;
m_layer_mask_reg[0] = 0x0a;
@@ -1545,7 +1545,7 @@ void cps_state::machine_start_cawingbl()
m_sprite_base = 0x1000;
}
-void cps_state::machine_start_sf2mdt()
+MACHINE_START_MEMBER(cps_state, sf2mdt)
{
uint8_t *ROM = memregion("audiocpu")->base();
@@ -1569,7 +1569,7 @@ void cps_state::machine_start_sf2mdt()
save_item(NAME(m_sample_select2));
}
-void cps_state::machine_start_knightsb()
+MACHINE_START_MEMBER(cps_state, knightsb)
{
uint8_t *ROM = memregion("audiocpu")->base();
@@ -1588,7 +1588,7 @@ void cps_state::machine_start_knightsb()
m_sprite_x_offset = 0;
}
-void cps_state::machine_start_sf2m1()
+MACHINE_START_MEMBER(cps_state, sf2m1)
{
uint8_t *ROM = memregion("audiocpu")->base();
@@ -1607,7 +1607,7 @@ void cps_state::machine_start_sf2m1()
m_sprite_x_offset = 0;
}
-void cps_state::machine_reset_fcrash()
+MACHINE_RESET_MEMBER(cps_state,fcrash)
{
m_sample_buffer1 = 0;
m_sample_buffer2 = 0;
@@ -1626,8 +1626,8 @@ MACHINE_CONFIG_START(cps_state::fcrash)
MCFG_DEVICE_ADD("audiocpu", Z80, 24000000/6) /* ? */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_fcrash, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_fcrash, this));
+ MCFG_MACHINE_START_OVERRIDE(cps_state,fcrash)
+ MCFG_MACHINE_RESET_OVERRIDE(cps_state,fcrash)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1642,7 +1642,7 @@ MACHINE_CONFIG_START(cps_state::fcrash)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1)
MCFG_PALETTE_ADD("palette", 4096)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cps1, this));
+ MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
// sound hardware
SPEAKER(config, "mono").front_center();
@@ -1678,7 +1678,7 @@ MACHINE_CONFIG_START(cps_state::cawingbl)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, irq6_line_hold) /* needed to write to scroll values */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cawingbl, this));
+ MCFG_MACHINE_START_OVERRIDE(cps_state, cawingbl)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(cps_state::kodb)
@@ -1692,7 +1692,7 @@ MACHINE_CONFIG_START(cps_state::kodb)
MCFG_DEVICE_ADD("audiocpu", Z80, 3579545)
MCFG_DEVICE_PROGRAM_MAP(kodb_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_kodb, this));
+ MCFG_MACHINE_START_OVERRIDE(cps_state,kodb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1707,7 +1707,7 @@ MACHINE_CONFIG_START(cps_state::kodb)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1)
MCFG_PALETTE_ADD("palette", 0xc00)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cps1, this));
+ MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1734,8 +1734,8 @@ MACHINE_CONFIG_START(cps_state::sf2mdt)
MCFG_DEVICE_ADD("audiocpu", Z80, 3579545)
MCFG_DEVICE_PROGRAM_MAP(sf2mdt_z80map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_sf2mdt, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_fcrash, this));
+ MCFG_MACHINE_START_OVERRIDE(cps_state, sf2mdt)
+ MCFG_MACHINE_RESET_OVERRIDE(cps_state,fcrash)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1750,7 +1750,7 @@ MACHINE_CONFIG_START(cps_state::sf2mdt)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1)
MCFG_PALETTE_ADD("palette", 4096)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cps1, this));
+ MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1790,7 +1790,7 @@ MACHINE_CONFIG_START(cps_state::knightsb)
MCFG_DEVICE_ADD("audiocpu", Z80, 29821000 / 8)
MCFG_DEVICE_PROGRAM_MAP(knightsb_z80map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_knightsb, this));
+ MCFG_MACHINE_START_OVERRIDE(cps_state, knightsb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1805,7 +1805,7 @@ MACHINE_CONFIG_START(cps_state::knightsb)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1)
MCFG_PALETTE_ADD("palette", 0xc00)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cps1, this));
+ MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2147,7 +2147,7 @@ void cps_state::init_cawingbl()
// ************************************************************************* DINOPIC, DINOPIC2
-void cps_state::machine_start_dinopic()
+MACHINE_START_MEMBER(cps_state, dinopic)
{
m_layer_enable_reg = 0x0a;
m_layer_mask_reg[0] = 0x0c;
@@ -2173,7 +2173,7 @@ MACHINE_CONFIG_START(cps_state::dinopic)
//MCFG_DEVICE_ADD("audiocpu", PIC16C57, 12000000)
//MCFG_DEVICE_DISABLE() /* no valid dumps .. */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_dinopic, this));
+ MCFG_MACHINE_START_OVERRIDE(cps_state, dinopic)
MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("eeprom")
@@ -2190,7 +2190,7 @@ MACHINE_CONFIG_START(cps_state::dinopic)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1)
MCFG_PALETTE_ADD("palette", 0xc00)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cps1, this));
+ MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2333,7 +2333,7 @@ MACHINE_CONFIG_START(cps_state::sgyxz)
MCFG_DEVICE_ADD("audiocpu", Z80, 3579545)
MCFG_DEVICE_PROGRAM_MAP(sgyxz_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_sgyxz, this));
+ MCFG_MACHINE_START_OVERRIDE(cps_state,sgyxz)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2346,7 +2346,7 @@ MACHINE_CONFIG_START(cps_state::sgyxz)
MCFG_SCREEN_PALETTE("palette")
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1)
MCFG_PALETTE_ADD("palette", 0xc00)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cps1, this));
+ MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("eeprom")
@@ -2433,7 +2433,7 @@ ROM_END
// ************************************************************************* PUNIPIC, PUNIPIC2, PUNIPIC3
-void cps_state::machine_start_punipic()
+MACHINE_START_MEMBER(cps_state, punipic)
{
m_layer_enable_reg = 0x12;
m_layer_mask_reg[0] = 0x14;
@@ -2458,7 +2458,7 @@ MACHINE_CONFIG_START(cps_state::punipic)
//MCFG_DEVICE_ADD("audiocpu", PIC16C57, 12000000)
//MCFG_DEVICE_DISABLE() /* no valid dumps .. */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_punipic, this));
+ MCFG_MACHINE_START_OVERRIDE(cps_state, punipic)
MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("eeprom")
@@ -2475,7 +2475,7 @@ MACHINE_CONFIG_START(cps_state::punipic)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1)
MCFG_PALETTE_ADD("palette", 0xc00)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cps1, this));
+ MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2654,7 +2654,7 @@ MACHINE_CONFIG_START(cps_state::sf2m1)
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(3'579'545))
MCFG_DEVICE_PROGRAM_MAP(sgyxz_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_sf2m1, this));
+ MCFG_MACHINE_START_OVERRIDE(cps_state,sf2m1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2665,7 +2665,7 @@ MACHINE_CONFIG_START(cps_state::sf2m1)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1)
MCFG_PALETTE_ADD("palette", 0xc00)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cps1, this));
+ MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3005,7 +3005,7 @@ void cps_state::init_wofabl()
// ************************************************************************* SLAMPIC
-void cps_state::machine_start_slampic()
+MACHINE_START_MEMBER(cps_state, slampic)
{
m_layer_enable_reg = 0x16;
m_layer_mask_reg[0] = 0x00;
@@ -3031,7 +3031,7 @@ MACHINE_CONFIG_START(cps_state::slampic)
//MCFG_DEVICE_ADD("audiocpu", PIC16C57, 12000000)
//MCFG_DEVICE_DISABLE() /* no valid dumps .. */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_slampic, this));
+ MCFG_MACHINE_START_OVERRIDE(cps_state, slampic)
MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("eeprom")
@@ -3048,7 +3048,7 @@ MACHINE_CONFIG_START(cps_state::slampic)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1)
MCFG_PALETTE_ADD("palette", 0xc00)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cps1, this));
+ MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3134,7 +3134,7 @@ MACHINE_CONFIG_START(cps_state::varthb)
MCFG_DEVICE_ADD("audiocpu", Z80, 3579545)
MCFG_DEVICE_PROGRAM_MAP(sgyxz_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cps1, this));
+ MCFG_MACHINE_START_OVERRIDE(cps_state,cps1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3149,7 +3149,7 @@ MACHINE_CONFIG_START(cps_state::varthb)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1)
MCFG_PALETTE_ADD("palette", 0xc00)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cps1, this));
+ MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/fidel6502.cpp b/src/mame/drivers/fidel6502.cpp
index a393c418566..11be19ff7a7 100644
--- a/src/mame/drivers/fidel6502.cpp
+++ b/src/mame/drivers/fidel6502.cpp
@@ -498,7 +498,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(csc_pia1_cb2_w);
DECLARE_READ_LINE_MEMBER(csc_pia1_ca1_r);
DECLARE_READ_LINE_MEMBER(csc_pia1_cb1_r);
- void machine_reset_su9();
+ DECLARE_MACHINE_RESET(su9);
DECLARE_INPUT_CHANGED_MEMBER(su9_cpu_freq);
void su9_set_cpu_freq();
void csc_map(address_map &map);
@@ -529,7 +529,7 @@ public:
DECLARE_WRITE8_MEMBER(sc9_led_w);
DECLARE_READ8_MEMBER(sc9_input_r);
DECLARE_READ8_MEMBER(sc9d_input_r);
- void machine_reset_sc9c();
+ DECLARE_MACHINE_RESET(sc9c);
DECLARE_INPUT_CHANGED_MEMBER(sc9c_cpu_freq);
void sc9c_set_cpu_freq();
void sc9_map(address_map &map);
@@ -579,7 +579,7 @@ public:
void fdes2100d(machine_config &config);
// Phantom
- void machine_reset_fphantom();
+ DECLARE_MACHINE_RESET(fphantom);
void init_fphantom();
void fphantom_map(address_map &map);
void fphantom(machine_config &config);
@@ -628,7 +628,7 @@ void fidel6502_state::su9_set_cpu_freq()
m_maincpu->set_unscaled_clock((ioport("FAKE")->read() & 1) ? (5_MHz_XTAL/2) : (3.9_MHz_XTAL/2));
}
-void fidel6502_state::machine_reset_su9()
+MACHINE_RESET_MEMBER(fidel6502_state, su9)
{
fidelbase_state::machine_reset();
su9_set_cpu_freq();
@@ -873,7 +873,7 @@ void fidel6502_state::sc9c_set_cpu_freq()
m_maincpu->set_unscaled_clock((inp & 2) ? 1900000 : ((inp & 1) ? 1600000 : 1500000));
}
-void fidel6502_state::machine_reset_sc9c()
+MACHINE_RESET_MEMBER(fidel6502_state, sc9c)
{
fidelbase_state::machine_reset();
sc9c_set_cpu_freq();
@@ -1098,7 +1098,7 @@ void fidel6502_state::init_fdesdis()
// TTL/generic
-void fidel6502_state::machine_reset_fphantom()
+MACHINE_RESET_MEMBER(fidel6502_state, fphantom)
{
fidelbase_state::machine_reset();
membank("bank1")->set_entry(0);
@@ -1758,7 +1758,7 @@ MACHINE_CONFIG_START(fidel6502_state::su9)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(su9_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_su9, this));
+ MCFG_MACHINE_RESET_OVERRIDE(fidel6502_state, su9)
MCFG_DEFAULT_LAYOUT(layout_fidel_su9)
MACHINE_CONFIG_END
@@ -1873,7 +1873,7 @@ MACHINE_CONFIG_START(fidel6502_state::sc9c)
sc9b(config);
/* basic machine hardware */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sc9c, this));
+ MCFG_MACHINE_RESET_OVERRIDE(fidel6502_state, sc9c)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(fidel6502_state::playmatic)
@@ -2063,7 +2063,7 @@ MACHINE_CONFIG_START(fidel6502_state::fphantom)
MCFG_DEVICE_PERIODIC_INT_DRIVER(fidel6502_state, irq0_line_hold, 600) // guessed
MCFG_DEVICE_PROGRAM_MAP(fphantom_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_fphantom, this));
+ MCFG_MACHINE_RESET_OVERRIDE(fidel6502_state, fphantom)
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", fidelbase_state, display_decay_tick, attotime::from_msec(1))
//MCFG_DEFAULT_LAYOUT(layout_fidel_phantom)
diff --git a/src/mame/drivers/fidelz80.cpp b/src/mame/drivers/fidelz80.cpp
index 7dcb230547e..fe3a14dc346 100644
--- a/src/mame/drivers/fidelz80.cpp
+++ b/src/mame/drivers/fidelz80.cpp
@@ -546,7 +546,7 @@ public:
DECLARE_WRITE8_MEMBER(vcc_ppi_portc_w);
DECLARE_WRITE8_MEMBER(cc10_ppi_porta_w);
TIMER_DEVICE_CALLBACK_MEMBER(beeper_off_callback);
- void machine_start_vcc() ATTR_COLD;
+ DECLARE_MACHINE_START(vcc);
void cc10_map(address_map &map);
void vcc_io(address_map &map);
void vcc_map(address_map &map);
@@ -801,7 +801,7 @@ READ8_MEMBER(fidelz80_state::vcc_speech_r)
return m_speech_rom[m_speech_bank << 12 | offset];
}
-void fidelz80_state::machine_start_vcc()
+MACHINE_START_MEMBER(fidelz80_state,vcc)
{
machine_start();
@@ -1731,7 +1731,7 @@ MACHINE_CONFIG_START(fidelz80_state::vcc)
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", fidelbase_state, display_decay_tick, attotime::from_msec(1))
MCFG_DEFAULT_LAYOUT(layout_fidel_vcc)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_vcc, this));
+ MCFG_MACHINE_START_OVERRIDE(fidelz80_state,vcc)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
diff --git a/src/mame/drivers/firebeat.cpp b/src/mame/drivers/firebeat.cpp
index 50ffb9a1e88..4b6326d799f 100644
--- a/src/mame/drivers/firebeat.cpp
+++ b/src/mame/drivers/firebeat.cpp
@@ -216,9 +216,9 @@ public:
void init_ppd();
void init_kbm();
void init_ppp();
- void machine_start_firebeat() ATTR_COLD;
- void machine_reset_firebeat();
- void video_start_firebeat() ATTR_COLD;
+ DECLARE_MACHINE_START(firebeat);
+ DECLARE_MACHINE_RESET(firebeat);
+ DECLARE_VIDEO_START(firebeat);
uint32_t screen_update_firebeat_0(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_firebeat_1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(firebeat_interrupt);
@@ -281,7 +281,7 @@ public:
-void firebeat_state::video_start_firebeat()
+VIDEO_START_MEMBER(firebeat_state,firebeat)
{
}
@@ -924,7 +924,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(firebeat_state::spu_timer_callback)
/*****************************************************************************/
-void firebeat_state::machine_start_firebeat()
+MACHINE_START_MEMBER(firebeat_state,firebeat)
{
/* set conservative DRC options */
m_maincpu->ppcdrc_set_options(PPCDRC_COMPATIBLE_OPTIONS);
@@ -1150,7 +1150,7 @@ WRITE_LINE_MEMBER(firebeat_state::gcu1_interrupt)
m_maincpu->set_input_line(INPUT_LINE_IRQ0, state);
}
-void firebeat_state::machine_reset_firebeat()
+MACHINE_RESET_MEMBER(firebeat_state,firebeat)
{
m_layer = 0;
}
@@ -1179,8 +1179,8 @@ MACHINE_CONFIG_START(firebeat_state::firebeat)
MCFG_DEVICE_PROGRAM_MAP(firebeat_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", firebeat_state, firebeat_interrupt)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_firebeat, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_firebeat, this));
+ MCFG_MACHINE_START_OVERRIDE(firebeat_state,firebeat)
+ MCFG_MACHINE_RESET_OVERRIDE(firebeat_state,firebeat)
MCFG_DEVICE_ADD("rtc", RTC65271, 0)
@@ -1208,7 +1208,7 @@ MACHINE_CONFIG_START(firebeat_state::firebeat)
MCFG_SCREEN_UPDATE_DRIVER(firebeat_state, screen_update_firebeat_0)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_firebeat, this));
+ MCFG_VIDEO_START_OVERRIDE(firebeat_state,firebeat)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1237,8 +1237,8 @@ MACHINE_CONFIG_START(firebeat_state::firebeat2)
MCFG_DEVICE_PROGRAM_MAP(firebeat2_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("lscreen", firebeat_state, firebeat_interrupt)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_firebeat, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_firebeat, this));
+ MCFG_MACHINE_START_OVERRIDE(firebeat_state,firebeat)
+ MCFG_MACHINE_RESET_OVERRIDE(firebeat_state,firebeat)
MCFG_DEVICE_ADD("rtc", RTC65271, 0)
@@ -1277,7 +1277,7 @@ MACHINE_CONFIG_START(firebeat_state::firebeat2)
MCFG_SCREEN_UPDATE_DRIVER(firebeat_state, screen_update_firebeat_1)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_firebeat, this));
+ MCFG_VIDEO_START_OVERRIDE(firebeat_state,firebeat)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
diff --git a/src/mame/drivers/firetrk.cpp b/src/mame/drivers/firetrk.cpp
index 42e3cbdc55b..e36460d565c 100644
--- a/src/mame/drivers/firetrk.cpp
+++ b/src/mame/drivers/firetrk.cpp
@@ -894,7 +894,7 @@ MACHINE_CONFIG_START(firetrk_state::superbug)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(firetrk_state, screen_update_superbug)
- set_video_start_cb(config, driver_callback_delegate(&video_start_superbug, this));
+ MCFG_VIDEO_START_OVERRIDE(firetrk_state,superbug)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_superbug)
MCFG_PALETTE_MODIFY("palette")
@@ -918,7 +918,7 @@ MACHINE_CONFIG_START(firetrk_state::montecar)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(firetrk_state, screen_update_montecar)
- set_video_start_cb(config, driver_callback_delegate(&video_start_montecar, this));
+ MCFG_VIDEO_START_OVERRIDE(firetrk_state,montecar)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_montecar)
MCFG_PALETTE_MODIFY("palette")
diff --git a/src/mame/drivers/flstory.cpp b/src/mame/drivers/flstory.cpp
index 4bb78409b21..d071134e2dd 100644
--- a/src/mame/drivers/flstory.cpp
+++ b/src/mame/drivers/flstory.cpp
@@ -713,9 +713,9 @@ void flstory_state::machine_start()
-void flstory_state::machine_reset_flstory()
+MACHINE_RESET_MEMBER(flstory_state,flstory)
{
-// machine_reset_ta7630();
+// MACHINE_RESET_CALL_MEMBER(ta7630);
/* video */
m_gfxctrl = 0;
@@ -749,7 +749,7 @@ MACHINE_CONFIG_START(flstory_state::flstory)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_flstory, this));
+ MCFG_MACHINE_RESET_OVERRIDE(flstory_state,flstory)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -766,7 +766,7 @@ MACHINE_CONFIG_START(flstory_state::flstory)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_flstory, this));
+ MCFG_VIDEO_START_OVERRIDE(flstory_state,flstory)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -818,7 +818,7 @@ MACHINE_CONFIG_START(flstory_state::onna34ro)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_flstory, this));
+ MCFG_MACHINE_RESET_OVERRIDE(flstory_state,flstory)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -835,7 +835,7 @@ MACHINE_CONFIG_START(flstory_state::onna34ro)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_flstory, this));
+ MCFG_VIDEO_START_OVERRIDE(flstory_state,flstory)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -898,7 +898,7 @@ MACHINE_CONFIG_START(flstory_state::victnine)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_flstory, this));
+ MCFG_MACHINE_RESET_OVERRIDE(flstory_state,flstory)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -915,7 +915,7 @@ MACHINE_CONFIG_START(flstory_state::victnine)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_victnine, this));
+ MCFG_VIDEO_START_OVERRIDE(flstory_state,victnine)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -971,7 +971,7 @@ MACHINE_CONFIG_START(flstory_state::rumba)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_flstory, this));
+ MCFG_MACHINE_RESET_OVERRIDE(flstory_state,flstory)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -988,7 +988,7 @@ MACHINE_CONFIG_START(flstory_state::rumba)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_rumba, this));
+ MCFG_VIDEO_START_OVERRIDE(flstory_state,rumba)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
diff --git a/src/mame/drivers/fm7.cpp b/src/mame/drivers/fm7.cpp
index 362d3820e35..d0690be9bb7 100644
--- a/src/mame/drivers/fm7.cpp
+++ b/src/mame/drivers/fm7.cpp
@@ -1915,7 +1915,7 @@ void fm7_state::init_fm7()
m_fm77av_vsync_timer = timer_alloc(TIMER_FM77AV_VSYNC);
}
-void fm7_state::machine_start_fm7()
+MACHINE_START_MEMBER(fm7_state,fm7)
{
// The FM-7 has no initialisation ROM, and no other obvious
// way to set the reset vector, so for now this will have to do.
@@ -1930,7 +1930,7 @@ void fm7_state::machine_start_fm7()
m_beeper->set_state(0);
}
-void fm7_state::machine_start_fm77av()
+MACHINE_START_MEMBER(fm7_state,fm77av)
{
uint8_t* RAM = memregion("maincpu")->base();
uint8_t* ROM = memregion("init")->base();
@@ -1950,7 +1950,7 @@ void fm7_state::machine_start_fm77av()
m_beeper->set_state(0);
}
-void fm7_state::machine_start_fm11()
+MACHINE_START_MEMBER(fm7_state,fm11)
{
uint8_t* RAM = memregion("maincpu")->base();
uint8_t* ROM = memregion("init")->base();
@@ -1962,7 +1962,7 @@ void fm7_state::machine_start_fm11()
memcpy(RAM+0x3fff0,ROM+0x0ff0,16);
}
-void fm7_state::machine_start_fm16()
+MACHINE_START_MEMBER(fm7_state,fm16)
{
m_type = SYS_FM16;
m_beeper->set_state(0);
@@ -2084,7 +2084,7 @@ MACHINE_CONFIG_START(fm7_state::fm7)
BEEP(config, "beeper", 1200).add_route(ALL_OUTPUTS, "mono", 0.50);
WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_fm7, this));
+ MCFG_MACHINE_START_OVERRIDE(fm7_state,fm7)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2135,7 +2135,7 @@ MACHINE_CONFIG_START(fm7_state::fm8)
BEEP(config, "beeper", 1200).add_route(ALL_OUTPUTS, "mono", 0.50);
WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_fm7, this));
+ MCFG_MACHINE_START_OVERRIDE(fm7_state,fm7)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2186,7 +2186,7 @@ MACHINE_CONFIG_START(fm7_state::fm77av)
BEEP(config, "beeper", 1200).add_route(ALL_OUTPUTS, "mono", 0.50);
WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_fm77av, this));
+ MCFG_MACHINE_START_OVERRIDE(fm7_state,fm77av)
MCFG_ADDRESS_BANK("av_bank1")
MCFG_ADDRESS_BANK("av_bank2")
@@ -2259,7 +2259,7 @@ MACHINE_CONFIG_START(fm7_state::fm11)
BEEP(config, "beeper", 1200).add_route(ALL_OUTPUTS, "mono", 0.50);
WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_fm11, this));
+ MCFG_MACHINE_START_OVERRIDE(fm7_state,fm11)
MCFG_ADDRESS_BANK("av_bank1")
MCFG_ADDRESS_BANK("av_bank2")
@@ -2322,7 +2322,7 @@ MACHINE_CONFIG_START(fm7_state::fm16beta)
BEEP(config, "beeper", 1200).add_route(ALL_OUTPUTS, "mono", 0.50);
WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_fm16, this));
+ MCFG_MACHINE_START_OVERRIDE(fm7_state,fm16)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/fmtowns.cpp b/src/mame/drivers/fmtowns.cpp
index c2e679a8f4d..b02b1919ed6 100644
--- a/src/mame/drivers/fmtowns.cpp
+++ b/src/mame/drivers/fmtowns.cpp
@@ -2767,7 +2767,7 @@ MACHINE_CONFIG_START(towns_state::towns_base)
MCFG_DEVICE_IO_MAP(towns_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", towns_state, towns_vsync_irq)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb)
- //set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_towns, this));
+ //MCFG_MACHINE_RESET_OVERRIDE(towns_state,towns)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2865,7 +2865,7 @@ MACHINE_CONFIG_START(towns_state::towns_base)
MCFG_UPD71071_DMA_WRITE_0_CB(WRITE16(*this, towns_state, towns_fdc_dma_w))
MCFG_UPD71071_DMA_WRITE_1_CB(WRITE16(*this, towns_state, towns_scsi_dma_w))
- //set_video_start_cb(config, driver_callback_delegate(&video_start_towns, this));
+ //MCFG_VIDEO_START_OVERRIDE(towns_state,towns)
MCFG_DEVICE_ADD("i8251", I8251, 0)
MCFG_I8251_RXRDY_HANDLER(WRITELINE(*this, towns_state, towns_rxrdy_irq))
diff --git a/src/mame/drivers/fp1100.cpp b/src/mame/drivers/fp1100.cpp
index 662aebbc418..1362efb700c 100644
--- a/src/mame/drivers/fp1100.cpp
+++ b/src/mame/drivers/fp1100.cpp
@@ -87,7 +87,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(cass_w);
INTERRUPT_GEN_MEMBER(vblank_irq);
void init_fp1100();
- void machine_reset_fp1100();
+ DECLARE_MACHINE_RESET(fp1100);
MC6845_UPDATE_ROW(crtc_update_row);
TIMER_DEVICE_CALLBACK_MEMBER(timer_c);
required_device<palette_device> m_palette;
@@ -593,7 +593,7 @@ INTERRUPT_GEN_MEMBER( fp1100_state::vblank_irq )
// m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xf8);
}
-void fp1100_state::machine_reset_fp1100()
+MACHINE_RESET_MEMBER( fp1100_state, fp1100 )
{
int i;
uint8_t slot_type;
@@ -648,7 +648,7 @@ MACHINE_CONFIG_START(fp1100_state::fp1100)
MCFG_UPD7810_PORTC_WRITE_CB(WRITE8(*this, fp1100_state, portc_w))
MCFG_UPD7810_TXD(WRITELINE(*this, fp1100_state, cass_w))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_fp1100, this));
+ MCFG_MACHINE_RESET_OVERRIDE(fp1100_state, fp1100)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/freekick.cpp b/src/mame/drivers/freekick.cpp
index 4f360b45ce6..506aeef3242 100644
--- a/src/mame/drivers/freekick.cpp
+++ b/src/mame/drivers/freekick.cpp
@@ -688,7 +688,7 @@ GFXDECODE_END
*
*************************************/
-void freekick_state::machine_start_freekick()
+MACHINE_START_MEMBER(freekick_state,freekick)
{
save_item(NAME(m_romaddr));
save_item(NAME(m_spinner));
@@ -696,7 +696,7 @@ void freekick_state::machine_start_freekick()
save_item(NAME(m_ff_data));
}
-void freekick_state::machine_reset_freekick()
+MACHINE_RESET_MEMBER(freekick_state,freekick)
{
m_romaddr = 0;
m_spinner = 0;
@@ -706,25 +706,25 @@ void freekick_state::machine_reset_freekick()
machine().bookkeeping().coin_counter_w(1, 0);
}
-void freekick_state::machine_start_pbillrd()
+MACHINE_START_MEMBER(freekick_state,pbillrd)
{
m_bank1->configure_entries(0, 2, memregion("maincpu")->base() + 0x8000, 0x4000);
- machine_start_freekick();
+ MACHINE_START_CALL_MEMBER(freekick);
}
-void freekick_state::machine_start_oigas()
+MACHINE_START_MEMBER(freekick_state,oigas)
{
save_item(NAME(m_inval));
save_item(NAME(m_outval));
save_item(NAME(m_cnt));
- machine_start_freekick();
+ MACHINE_START_CALL_MEMBER(freekick);
}
-void freekick_state::machine_reset_oigas()
+MACHINE_RESET_MEMBER(freekick_state,oigas)
{
- machine_reset_freekick();
+ MACHINE_RESET_CALL_MEMBER(freekick);
m_inval = 0;
m_outval = 0;
@@ -816,8 +816,8 @@ MACHINE_CONFIG_START(freekick_state::pbillrd)
MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE(*this, freekick_state, flipscreen_y_w))
/* flip Y/X could be the other way round... */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pbillrd, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_freekick, this));
+ MCFG_MACHINE_START_OVERRIDE(freekick_state,pbillrd)
+ MCFG_MACHINE_RESET_OVERRIDE(freekick_state,freekick)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(freekick_state::pbillrdm)
@@ -840,8 +840,8 @@ MACHINE_CONFIG_START(freekick_state::freekick)
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, freekick_state, flipscreen_w))
MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(WRITELINE(*this, freekick_state, spinner_select_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_freekick, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_freekick, this));
+ MCFG_MACHINE_START_OVERRIDE(freekick_state,freekick)
+ MCFG_MACHINE_RESET_OVERRIDE(freekick_state,freekick)
MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0)
MCFG_I8255_OUT_PORTA_CB(WRITE8(*this, freekick_state, snd_rom_addr_l_w))
@@ -871,8 +871,8 @@ MACHINE_CONFIG_START(freekick_state::gigas)
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, freekick_state, flipscreen_w))
MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(NOOP) // ???
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_freekick, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_freekick, this));
+ MCFG_MACHINE_START_OVERRIDE(freekick_state,freekick)
+ MCFG_MACHINE_RESET_OVERRIDE(freekick_state,freekick)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -893,8 +893,8 @@ MACHINE_CONFIG_START(freekick_state::gigasm)
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, freekick_state, flipscreen_w))
MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(NOOP) // ???
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_freekick, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_freekick, this));
+ MCFG_MACHINE_START_OVERRIDE(freekick_state,freekick)
+ MCFG_MACHINE_RESET_OVERRIDE(freekick_state,freekick)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -908,8 +908,8 @@ MACHINE_CONFIG_START(freekick_state::oigas)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(oigas_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_oigas, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_oigas, this));
+ MCFG_MACHINE_START_OVERRIDE(freekick_state,oigas)
+ MCFG_MACHINE_RESET_OVERRIDE(freekick_state,oigas)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/fromanc2.cpp b/src/mame/drivers/fromanc2.cpp
index 09f5beeb64d..dbc11f96a48 100644
--- a/src/mame/drivers/fromanc2.cpp
+++ b/src/mame/drivers/fromanc2.cpp
@@ -467,7 +467,7 @@ GFXDECODE_END
*
*************************************/
-void fromanc2_state::machine_start_fromanc4()
+MACHINE_START_MEMBER(fromanc2_state,fromanc4)
{
save_item(NAME(m_portselect));
save_item(NAME(m_sndcpu_nmi_flag));
@@ -478,7 +478,7 @@ void fromanc2_state::machine_start_fromanc4()
/* video-related elements are saved in video_start */
}
-void fromanc2_state::machine_start_fromanc2()
+MACHINE_START_MEMBER(fromanc2_state,fromanc2)
{
m_bankedram = std::make_unique<uint8_t[]>(0x4000 * 3);
@@ -486,7 +486,7 @@ void fromanc2_state::machine_start_fromanc2()
membank("bank2")->configure_entry(0, memregion("sub")->base() + 0x08000);
membank("bank2")->configure_entries(1, 3, m_bankedram.get(), 0x4000);
- machine_start_fromanc4();
+ MACHINE_START_CALL_MEMBER(fromanc4);
save_item(NAME(m_subcpu_int_flag));
save_item(NAME(m_subcpu_nmi_flag));
@@ -516,7 +516,7 @@ MACHINE_CONFIG_START(fromanc2_state::fromanc2)
MCFG_DEVICE_PROGRAM_MAP(fromanc2_sub_map)
MCFG_DEVICE_IO_MAP(fromanc2_sub_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_fromanc2, this));
+ MCFG_MACHINE_START_OVERRIDE(fromanc2_state,fromanc2)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
@@ -546,7 +546,7 @@ MACHINE_CONFIG_START(fromanc2_state::fromanc2)
MCFG_SCREEN_UPDATE_DRIVER(fromanc2_state, screen_update_right)
MCFG_SCREEN_PALETTE("rpalette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_fromanc2, this));
+ MCFG_VIDEO_START_OVERRIDE(fromanc2_state,fromanc2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -576,7 +576,7 @@ MACHINE_CONFIG_START(fromanc2_state::fromancr)
MCFG_DEVICE_PROGRAM_MAP(fromanc2_sub_map)
MCFG_DEVICE_IO_MAP(fromanc2_sub_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_fromanc2, this));
+ MCFG_MACHINE_START_OVERRIDE(fromanc2_state,fromanc2)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
@@ -606,7 +606,7 @@ MACHINE_CONFIG_START(fromanc2_state::fromancr)
MCFG_SCREEN_UPDATE_DRIVER(fromanc2_state, screen_update_right)
MCFG_SCREEN_PALETTE("rpalette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_fromancr, this));
+ MCFG_VIDEO_START_OVERRIDE(fromanc2_state,fromancr)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -632,7 +632,7 @@ MACHINE_CONFIG_START(fromanc2_state::fromanc4)
MCFG_DEVICE_PROGRAM_MAP(fromanc2_sound_map)
MCFG_DEVICE_IO_MAP(fromanc2_sound_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_fromanc4, this));
+ MCFG_MACHINE_START_OVERRIDE(fromanc2_state,fromanc4)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
@@ -667,7 +667,7 @@ MACHINE_CONFIG_START(fromanc2_state::fromanc4)
MCFG_SCREEN_UPDATE_DRIVER(fromanc2_state, screen_update_right)
MCFG_SCREEN_PALETTE("rpalette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_fromanc4, this));
+ MCFG_VIDEO_START_OVERRIDE(fromanc2_state,fromanc4)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/fromance.cpp b/src/mame/drivers/fromance.cpp
index 0f3c6f83805..5303b683ad3 100644
--- a/src/mame/drivers/fromance.cpp
+++ b/src/mame/drivers/fromance.cpp
@@ -864,7 +864,7 @@ GFXDECODE_END
*
*************************************/
-void fromance_state::machine_start_fromance()
+MACHINE_START_MEMBER(fromance_state,fromance)
{
uint8_t *ROM = memregion("sub")->base();
@@ -879,7 +879,7 @@ void fromance_state::machine_start_fromance()
/* video-related elements are saved in video_start */
}
-void fromance_state::machine_reset_fromance()
+MACHINE_RESET_MEMBER(fromance_state,fromance)
{
m_portselect = 0;
@@ -914,8 +914,8 @@ MACHINE_CONFIG_START(fromance_state::nekkyoku)
MCFG_GENERIC_LATCH_8_ADD("sublatch")
MCFG_GENERIC_LATCH_SEPARATE_ACKNOWLEDGE(true)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_fromance, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_fromance, this));
+ MCFG_MACHINE_START_OVERRIDE(fromance_state,fromance)
+ MCFG_MACHINE_RESET_OVERRIDE(fromance_state,fromance)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -931,7 +931,7 @@ MACHINE_CONFIG_START(fromance_state::nekkyoku)
MCFG_DEVICE_ADD("gga", VSYSTEM_GGA, 14318180 / 2) // clock not verified
MCFG_VSYSTEM_GGA_REGISTER_WRITE_CB(WRITE8(*this, fromance_state, fromance_gga_data_w))
- set_video_start_cb(config, driver_callback_delegate(&video_start_nekkyoku, this));
+ MCFG_VIDEO_START_OVERRIDE(fromance_state,nekkyoku)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -960,8 +960,8 @@ MACHINE_CONFIG_START(fromance_state::idolmj)
MCFG_GENERIC_LATCH_8_ADD("sublatch")
MCFG_GENERIC_LATCH_SEPARATE_ACKNOWLEDGE(true)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_fromance, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_fromance, this));
+ MCFG_MACHINE_START_OVERRIDE(fromance_state,fromance)
+ MCFG_MACHINE_RESET_OVERRIDE(fromance_state,fromance)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -977,7 +977,7 @@ MACHINE_CONFIG_START(fromance_state::idolmj)
MCFG_DEVICE_ADD("gga", VSYSTEM_GGA, XTAL(14'318'181) / 2) // divider not verified
MCFG_VSYSTEM_GGA_REGISTER_WRITE_CB(WRITE8(*this, fromance_state, fromance_gga_data_w))
- set_video_start_cb(config, driver_callback_delegate(&video_start_fromance, this));
+ MCFG_VIDEO_START_OVERRIDE(fromance_state,fromance)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1006,8 +1006,8 @@ MACHINE_CONFIG_START(fromance_state::fromance)
MCFG_GENERIC_LATCH_8_ADD("sublatch")
MCFG_GENERIC_LATCH_SEPARATE_ACKNOWLEDGE(true)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_fromance, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_fromance, this));
+ MCFG_MACHINE_START_OVERRIDE(fromance_state,fromance)
+ MCFG_MACHINE_RESET_OVERRIDE(fromance_state,fromance)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1023,7 +1023,7 @@ MACHINE_CONFIG_START(fromance_state::fromance)
MCFG_DEVICE_ADD("gga", VSYSTEM_GGA, XTAL(14'318'181) / 2) // divider not verified
MCFG_VSYSTEM_GGA_REGISTER_WRITE_CB(WRITE8(*this, fromance_state, fromance_gga_data_w))
- set_video_start_cb(config, driver_callback_delegate(&video_start_fromance, this));
+ MCFG_VIDEO_START_OVERRIDE(fromance_state,fromance)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/funworld.cpp b/src/mame/drivers/funworld.cpp
index 94ccdfd9b52..438764a7fd1 100644
--- a/src/mame/drivers/funworld.cpp
+++ b/src/mame/drivers/funworld.cpp
@@ -3046,13 +3046,13 @@ READ8_MEMBER(funworld_state::funquiz_ay8910_b_r)
* Machine Start & Reset *
********************************/
-void funworld_state::machine_start_lunapark()
+MACHINE_START_MEMBER(funworld_state, lunapark)
{
uint8_t *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 2, &ROM[0], 0x8000);
}
-void funworld_state::machine_reset_lunapark()
+MACHINE_RESET_MEMBER(funworld_state, lunapark)
{
uint8_t seldsw = (ioport("SELDSW")->read() );
popmessage("ROM Bank: %02X", seldsw);
@@ -3094,7 +3094,7 @@ MACHINE_CONFIG_START(funworld_state::fw1stpal)
MCFG_PALETTE_ADD("palette", 0x200)
MCFG_PALETTE_INIT_OWNER(funworld_state, funworld)
- set_video_start_cb(config, driver_callback_delegate(&video_start_funworld, this));
+ MCFG_VIDEO_START_OVERRIDE(funworld_state, funworld)
MCFG_MC6845_ADD("crtc", MC6845, "screen", CRTC_CLOCK) /* 2MHz, veryfied on jollycrd & royalcrd */
MCFG_MC6845_SHOW_BORDER_AREA(false)
@@ -3138,7 +3138,7 @@ MACHINE_CONFIG_START(funworld_state::magicrd2)
fw1stpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(magicrd2_map)
- set_video_start_cb(config, driver_callback_delegate(&video_start_magicrd2, this));
+ MCFG_VIDEO_START_OVERRIDE(funworld_state, magicrd2)
MCFG_DEVICE_REMOVE("crtc")
MCFG_MC6845_ADD("crtc", MC6845, "screen", CRTC_CLOCK)
@@ -3193,8 +3193,8 @@ MACHINE_CONFIG_START(funworld_state::lunapark)
fw1stpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(lunapark_map) // mirrored video RAM (4000/5000 to 6000/7000).
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_lunapark, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_lunapark, this));
+ MCFG_MACHINE_START_OVERRIDE(funworld_state, lunapark)
+ MCFG_MACHINE_RESET_OVERRIDE(funworld_state, lunapark)
MACHINE_CONFIG_END
@@ -3202,14 +3202,14 @@ MACHINE_CONFIG_START(funworld_state::chinatow)
fw2ndpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(chinatow_map)
- set_video_start_cb(config, driver_callback_delegate(&video_start_chinatow, this));
+ MCFG_VIDEO_START_OVERRIDE(funworld_state, chinatow)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(funworld_state::rcdino4)
fw1stpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(chinatow_map)
- set_video_start_cb(config, driver_callback_delegate(&video_start_chinatow, this));
+ MCFG_VIDEO_START_OVERRIDE(funworld_state, chinatow)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/gaelco.cpp b/src/mame/drivers/gaelco.cpp
index fc4b887a7ef..431de80378e 100644
--- a/src/mame/drivers/gaelco.cpp
+++ b/src/mame/drivers/gaelco.cpp
@@ -655,7 +655,7 @@ MACHINE_CONFIG_START(gaelco_state::bigkarnk)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_bigkarnk, this));
+ MCFG_VIDEO_START_OVERRIDE(gaelco_state,bigkarnk)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -690,7 +690,7 @@ MACHINE_CONFIG_START(gaelco_state::maniacsq)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_maniacsq, this));
+ MCFG_VIDEO_START_OVERRIDE(gaelco_state,maniacsq)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -729,7 +729,7 @@ MACHINE_CONFIG_START(gaelco_state::squash)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_maniacsq, this));
+ MCFG_VIDEO_START_OVERRIDE(gaelco_state,maniacsq)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -768,7 +768,7 @@ MACHINE_CONFIG_START(gaelco_state::thoop)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_maniacsq, this));
+ MCFG_VIDEO_START_OVERRIDE(gaelco_state,maniacsq)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/gaelco2.cpp b/src/mame/drivers/gaelco2.cpp
index 25653e9bcc6..9c00406019f 100644
--- a/src/mame/drivers/gaelco2.cpp
+++ b/src/mame/drivers/gaelco2.cpp
@@ -198,7 +198,7 @@ MACHINE_CONFIG_START(gaelco2_state::maniacsq)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_0x0080000)
MCFG_PALETTE_ADD("palette", 4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
- set_video_start_cb(config, driver_callback_delegate(&video_start_gaelco2, this));
+ MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -629,7 +629,7 @@ MACHINE_CONFIG_START(gaelco2_state::play2000)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_0x0200000)
MCFG_PALETTE_ADD("palette", 4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
- set_video_start_cb(config, driver_callback_delegate(&video_start_gaelco2, this));
+ MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -734,7 +734,7 @@ MACHINE_CONFIG_START(bang_state::bang)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_0x0200000)
MCFG_PALETTE_ADD("palette", 4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
- set_video_start_cb(config, driver_callback_delegate(&video_start_gaelco2, this));
+ MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -972,7 +972,7 @@ MACHINE_CONFIG_START(gaelco2_state::alighunt)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_0x0400000)
MCFG_PALETTE_ADD("palette", 4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
- set_video_start_cb(config, driver_callback_delegate(&video_start_gaelco2, this));
+ MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1285,7 +1285,7 @@ MACHINE_CONFIG_START(gaelco2_state::touchgo)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram16_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_gaelco2_dual, this));
+ MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2_dual)
/* sound hardware */
/* the chip is stereo, but the game sound is mono because the right channel
@@ -1584,7 +1584,7 @@ MACHINE_CONFIG_START(gaelco2_state::snowboar)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_0x0400000)
MCFG_PALETTE_ADD("palette", 4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
- set_video_start_cb(config, driver_callback_delegate(&video_start_gaelco2, this));
+ MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1627,7 +1627,7 @@ MACHINE_CONFIG_START(gaelco2_state::maniacsqs)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_0x0080000)
MCFG_PALETTE_ADD("palette", 4096*16 - 16) /* game's palette is 4096 but we allocate 15 more for shadows & highlights */
- set_video_start_cb(config, driver_callback_delegate(&video_start_gaelco2, this));
+ MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1882,7 +1882,7 @@ MACHINE_CONFIG_START(wrally2_state::wrally2)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_gaelco2_dual, this));
+ MCFG_VIDEO_START_OVERRIDE(gaelco2_state,gaelco2_dual)
/* sound hardware */
/* the chip is stereo, but the game sound is mono because the right channel
diff --git a/src/mame/drivers/gaelco3d.cpp b/src/mame/drivers/gaelco3d.cpp
index c8a0f243453..b8bb7535756 100644
--- a/src/mame/drivers/gaelco3d.cpp
+++ b/src/mame/drivers/gaelco3d.cpp
@@ -190,13 +190,16 @@ void gaelco3d_state::machine_start()
}
-void gaelco3d_state::machine_reset_common()
+MACHINE_RESET_MEMBER(gaelco3d_state,common)
{
+ uint16_t *src;
+ int i;
+
m_framenum = 0;
/* boot the ADSP chip */
- uint16_t *src = (uint16_t *)memregion("user1")->base();
- for (int i = 0; i < (src[3] & 0xff) * 8; i++)
+ src = (uint16_t *)memregion("user1")->base();
+ for (i = 0; i < (src[3] & 0xff) * 8; i++)
{
uint32_t opcode = ((src[i*4+0] & 0xff) << 16) | ((src[i*4+1] & 0xff) << 8) | (src[i*4+2] & 0xff);
m_adsp_ram_base[i] = opcode;
@@ -211,7 +214,7 @@ void gaelco3d_state::machine_reset_common()
/* keep the TMS32031 halted until the code is ready to go */
m_tms->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
- for (int i = 0; i < SOUND_CHANNELS; i++)
+ for (i = 0; i < SOUND_CHANNELS; i++)
{
char buffer[10];
sprintf(buffer, "dac%d", i + 1);
@@ -222,15 +225,15 @@ void gaelco3d_state::machine_reset_common()
void gaelco3d_state::machine_reset()
{
- machine_reset_common();
+ MACHINE_RESET_CALL_MEMBER( common );
m_tms_offset_xor = 0;
m_soundlatch->acknowledge_w(machine().dummy_space(), 0, 0);
}
-void gaelco3d_state::machine_reset_gaelco3d2()
+MACHINE_RESET_MEMBER(gaelco3d_state,gaelco3d2)
{
- machine_reset_common();
+ MACHINE_RESET_CALL_MEMBER( common );
m_tms_offset_xor = BYTE_XOR_BE(0);
m_fp_clock = 27;
m_fp_state = 0;
@@ -1009,7 +1012,7 @@ MACHINE_CONFIG_START(gaelco3d_state::gaelco3d2)
MCFG_DEVICE_MODIFY("tms")
MCFG_DEVICE_CLOCK(50000000)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_gaelco3d2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(gaelco3d_state,gaelco3d2)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(gaelco3d_state::footbpow)
diff --git a/src/mame/drivers/gaiden.cpp b/src/mame/drivers/gaiden.cpp
index a34618d67cb..29a077de85c 100644
--- a/src/mame/drivers/gaiden.cpp
+++ b/src/mame/drivers/gaiden.cpp
@@ -305,7 +305,7 @@ void gaiden_state::machine_reset()
m_spr_offset_y = 0;
}
-void gaiden_state::machine_reset_raiga()
+MACHINE_RESET_MEMBER(gaiden_state,raiga)
{
gaiden_state::machine_reset();
m_jumppoints = raiga_jumppoints_00;
@@ -793,7 +793,7 @@ MACHINE_CONFIG_START(gaiden_state::shadoww)
MCFG_TECMO_MIXER_REVSPRITETILE
MCFG_TECMO_MIXER_BGPEN(0x000 + 0x200)
- set_video_start_cb(config, driver_callback_delegate(&video_start_gaiden, this));
+ MCFG_VIDEO_START_OVERRIDE(gaiden_state,gaiden)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -829,9 +829,9 @@ MACHINE_CONFIG_START(gaiden_state::raiga)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(raiga_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_raiga, this));
+ MCFG_MACHINE_RESET_OVERRIDE(gaiden_state,raiga)
- set_video_start_cb(config, driver_callback_delegate(&video_start_raiga, this));
+ MCFG_VIDEO_START_OVERRIDE(gaiden_state,raiga)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(gaiden_state::drgnbowl)
@@ -860,7 +860,7 @@ MACHINE_CONFIG_START(gaiden_state::drgnbowl)
/* NOT using Tecmo Sprite device - significant changes, maybe a clone of something else */
- set_video_start_cb(config, driver_callback_delegate(&video_start_drgnbowl, this));
+ MCFG_VIDEO_START_OVERRIDE(gaiden_state,drgnbowl)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -952,7 +952,7 @@ WRITE8_MEMBER(gaiden_state::adpcm_bankswitch_w)
m_adpcm_bank->set_entry(data & 7);
}
-void gaiden_state::machine_start_mastninj()
+MACHINE_START_MEMBER(gaiden_state,mastninj)
{
gaiden_state::machine_start();
@@ -999,7 +999,7 @@ MACHINE_CONFIG_START(gaiden_state::mastninj)
MCFG_DEVICE_ADD("audiocpu", Z80, 4000000) /* ?? MHz */
MCFG_DEVICE_PROGRAM_MAP(mastninj_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mastninj, this));
+ MCFG_MACHINE_START_OVERRIDE(gaiden_state,mastninj)
MCFG_WATCHDOG_ADD("watchdog")
@@ -1018,7 +1018,7 @@ MACHINE_CONFIG_START(gaiden_state::mastninj)
/* NOT using Tecmo Sprite device - significant changes, maybe a clone of something else */
- set_video_start_cb(config, driver_callback_delegate(&video_start_drgnbowl, this));
+ MCFG_VIDEO_START_OVERRIDE(gaiden_state,drgnbowl)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/gal3.cpp b/src/mame/drivers/gal3.cpp
index 3e255abfb5b..59e852f0029 100644
--- a/src/mame/drivers/gal3.cpp
+++ b/src/mame/drivers/gal3.cpp
@@ -163,7 +163,7 @@ public:
DECLARE_WRITE32_MEMBER(namcos21_video_enable_w);
DECLARE_READ32_MEMBER(rso_r);
DECLARE_WRITE32_MEMBER(rso_w);
- void video_start_gal3() ATTR_COLD;
+ DECLARE_VIDEO_START(gal3);
uint32_t screen_update_gal3(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void update_palette( );
void gal3(machine_config &config);
@@ -175,7 +175,7 @@ public:
};
-void gal3_state::video_start_gal3()
+VIDEO_START_MEMBER(gal3_state,gal3)
{
m_generic_paletteram_16.allocate(0x10000);
@@ -650,7 +650,7 @@ MACHINE_CONFIG_START(gal3_state::gal3)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_namcos21)
MCFG_PALETTE_ADD("palette", NAMCOS21_NUM_COLORS)
- set_video_start_cb(config, driver_callback_delegate(&video_start_gal3, this));
+ MCFG_VIDEO_START_OVERRIDE(gal3_state,gal3)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
diff --git a/src/mame/drivers/galaga.cpp b/src/mame/drivers/galaga.cpp
index b38a8facca2..114e4c24642 100644
--- a/src/mame/drivers/galaga.cpp
+++ b/src/mame/drivers/galaga.cpp
@@ -810,7 +810,7 @@ TIMER_CALLBACK_MEMBER(galaga_state::cpu3_interrupt_callback)
}
-void galaga_state::machine_start_galaga()
+MACHINE_START_MEMBER(galaga_state,galaga)
{
/* create the interrupt timer */
m_cpu3_interrupt_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(galaga_state::cpu3_interrupt_callback),this));
@@ -819,14 +819,14 @@ void galaga_state::machine_start_galaga()
save_item(NAME(m_sub2_nmi_mask));
}
-void galaga_state::machine_reset_galaga()
+MACHINE_RESET_MEMBER(galaga_state,galaga)
{
m_cpu3_interrupt_timer->adjust(m_screen->time_until_pos(64), 64);
}
-void xevious_state::machine_reset_battles()
+MACHINE_RESET_MEMBER(xevious_state,battles)
{
- machine_reset_galaga();
+ MACHINE_RESET_CALL_MEMBER(galaga);
battles_customio_init();
}
@@ -1631,8 +1631,8 @@ MACHINE_CONFIG_START(bosco_state::bosco)
MCFG_WATCHDOG_VBLANK_INIT("screen", 8)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_galaga, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_galaga, this));
+ MCFG_MACHINE_START_OVERRIDE(bosco_state,galaga)
+ MCFG_MACHINE_RESET_OVERRIDE(bosco_state,galaga)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1646,7 +1646,7 @@ MACHINE_CONFIG_START(bosco_state::bosco)
MCFG_PALETTE_ADD("palette", 64*4+64*4+4+64)
MCFG_PALETTE_INDIRECT_ENTRIES(32+64)
MCFG_PALETTE_INIT_OWNER(bosco_state,bosco)
- set_video_start_cb(config, driver_callback_delegate(&video_start_bosco, this));
+ MCFG_VIDEO_START_OVERRIDE(bosco_state,bosco)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1706,8 +1706,8 @@ MACHINE_CONFIG_START(galaga_state::galaga)
MCFG_WATCHDOG_VBLANK_INIT("screen", 8)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_galaga, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_galaga, this));
+ MCFG_MACHINE_START_OVERRIDE(galaga_state,galaga)
+ MCFG_MACHINE_RESET_OVERRIDE(galaga_state,galaga)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1721,7 +1721,7 @@ MACHINE_CONFIG_START(galaga_state::galaga)
MCFG_PALETTE_ADD("palette", 64*4+64*4+64)
MCFG_PALETTE_INDIRECT_ENTRIES(32+64)
MCFG_PALETTE_INIT_OWNER(galaga_state,galaga)
- set_video_start_cb(config, driver_callback_delegate(&video_start_galaga, thi