summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame')
-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
1012 files changed, 6163 insertions, 6029 deletions
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, this));
+ MCFG_VIDEO_START_OVERRIDE(galaga_state,galaga)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1812,8 +1812,8 @@ MACHINE_CONFIG_START(xevious_state::xevious)
MCFG_WATCHDOG_VBLANK_INIT("screen", 8)
MCFG_QUANTUM_TIME(attotime::from_hz(60000)) /* 1000 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)
@@ -1826,7 +1826,7 @@ MACHINE_CONFIG_START(xevious_state::xevious)
MCFG_PALETTE_ADD("palette", 128*4+64*8+64*2)
MCFG_PALETTE_INDIRECT_ENTRIES(128+1)
MCFG_PALETTE_INIT_OWNER(xevious_state,xevious)
- set_video_start_cb(config, driver_callback_delegate(&video_start_xevious, this));
+ MCFG_VIDEO_START_OVERRIDE(xevious_state,xevious)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1864,7 +1864,7 @@ MACHINE_CONFIG_START(xevious_state::battles)
MCFG_TIMER_DRIVER_ADD("battles_nmi", xevious_state, battles_nmi_generate)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_battles, this));
+ MCFG_MACHINE_RESET_OVERRIDE(xevious_state,battles)
/* sound hardware */
MCFG_DEVICE_REMOVE("discrete")
@@ -1929,8 +1929,8 @@ MACHINE_CONFIG_START(digdug_state::digdug)
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)
MCFG_ATARIVGEAROM_ADD("earom")
@@ -1947,7 +1947,7 @@ MACHINE_CONFIG_START(digdug_state::digdug)
MCFG_PALETTE_ADD("palette", 16*2+64*4+64*4)
MCFG_PALETTE_INDIRECT_ENTRIES(32)
MCFG_PALETTE_INIT_OWNER(digdug_state,digdug)
- set_video_start_cb(config, driver_callback_delegate(&video_start_digdug, this));
+ MCFG_VIDEO_START_OVERRIDE(digdug_state,digdug)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/galaxia.cpp b/src/mame/drivers/galaxia.cpp
index 4939fde0380..9ac5db7e13a 100644
--- a/src/mame/drivers/galaxia.cpp
+++ b/src/mame/drivers/galaxia.cpp
@@ -316,7 +316,7 @@ MACHINE_CONFIG_START(galaxia_state::galaxia)
MCFG_PALETTE_ADD("palette", 0x18+2)
MCFG_PALETTE_INIT_OWNER(galaxia_state,galaxia)
- set_video_start_cb(config, driver_callback_delegate(&video_start_galaxia, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxia_state,galaxia)
MCFG_DEVICE_ADD("s2636_0", S2636, 0)
MCFG_S2636_OFFSETS(-13, -26)
@@ -360,7 +360,7 @@ MACHINE_CONFIG_START(galaxia_state::astrowar)
MCFG_PALETTE_ADD("palette", 0x18+2)
MCFG_PALETTE_INIT_OWNER(galaxia_state,astrowar)
- set_video_start_cb(config, driver_callback_delegate(&video_start_astrowar, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxia_state,astrowar)
MCFG_DEVICE_ADD("s2636_0", S2636, 0)
MCFG_S2636_OFFSETS(-13, -8)
diff --git a/src/mame/drivers/galaxold.cpp b/src/mame/drivers/galaxold.cpp
index 7668dca3fe7..fd2391d38f4 100644
--- a/src/mame/drivers/galaxold.cpp
+++ b/src/mame/drivers/galaxold.cpp
@@ -2248,7 +2248,7 @@ MACHINE_CONFIG_START(galaxold_state::galaxold_base)
MCFG_DEVICE_ADD("maincpu", Z80, PIXEL_CLOCK/2) /* 3.072 MHz */
MCFG_DEVICE_PROGRAM_MAP(galaxold_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_galaxold, this));
+ MCFG_MACHINE_RESET_OVERRIDE(galaxold_state,galaxold)
MCFG_DEVICE_ADD("7474_9m_1", TTL7474, 0)
MCFG_7474_OUTPUT_CB(WRITELINE(*this, galaxold_state,galaxold_7474_9m_1_callback))
@@ -2270,7 +2270,7 @@ MACHINE_CONFIG_START(galaxold_state::galaxold_base)
MCFG_SCREEN_UPDATE_DRIVER(galaxold_state, screen_update_galaxold)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_galaxold, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,galaxold)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -2295,7 +2295,7 @@ MACHINE_CONFIG_START(galaxold_state::mooncrst)
MCFG_DEVICE_PROGRAM_MAP(mooncrst_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_mooncrst, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,mooncrst)
/* sound hardware */
mooncrst_audio(config);
@@ -2315,7 +2315,7 @@ MACHINE_CONFIG_START(galaxold_state::videotron)
MCFG_DEVICE_PROGRAM_MAP(hustlerb3_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_mooncrst, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,mooncrst)
MACHINE_CONFIG_END
@@ -2323,7 +2323,7 @@ MACHINE_CONFIG_START(galaxold_state::porter)
mooncrst(config);
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_pisces, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state, pisces)
MACHINE_CONFIG_END
@@ -2339,7 +2339,7 @@ MACHINE_CONFIG_START(galaxold_state::scramblb)
MCFG_PALETTE_ENTRIES(32+2+64+1) /* 32 for the characters, 2 for the bullets, 64 for the stars, 1 for background */
MCFG_PALETTE_INIT_OWNER(galaxold_state,scrambold)
- set_video_start_cb(config, driver_callback_delegate(&video_start_scrambold, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,scrambold)
MACHINE_CONFIG_END
@@ -2355,7 +2355,7 @@ MACHINE_CONFIG_START(galaxold_state::scramb2)
MCFG_PALETTE_ENTRIES(32+2+64+1) /* 32 for the characters, 2 for the bullets, 64 for the stars, 1 for background */
MCFG_PALETTE_INIT_OWNER(galaxold_state,scrambold)
- set_video_start_cb(config, driver_callback_delegate(&video_start_scrambold, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,scrambold)
MACHINE_CONFIG_END
@@ -2371,7 +2371,7 @@ MACHINE_CONFIG_START(galaxold_state::scrambler)
MCFG_PALETTE_ENTRIES(32+2+64+1) /* 32 for the characters, 2 for the bullets, 64 for the stars, 1 for background */
MCFG_PALETTE_INIT_OWNER(galaxold_state,scrambold)
- set_video_start_cb(config, driver_callback_delegate(&video_start_scrambold, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,scrambold)
MACHINE_CONFIG_END
@@ -2388,7 +2388,7 @@ MACHINE_CONFIG_START(galaxold_state::guttang)
MCFG_PALETTE_INIT_OWNER(galaxold_state,galaxold)
// MCFG_PALETTE_INIT_OWNER(galaxold_state,scrambold)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mooncrst, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,mooncrst)
MACHINE_CONFIG_END
@@ -2402,7 +2402,7 @@ MACHINE_CONFIG_START(galaxold_state::_4in1)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_4in1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_pisces, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,pisces)
MACHINE_CONFIG_END
@@ -2413,10 +2413,10 @@ MACHINE_CONFIG_START(galaxold_state::bagmanmc)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(bagmanmc_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_devilfsg, this));
+ MCFG_MACHINE_RESET_OVERRIDE(galaxold_state, devilfsg )
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_bagmanmc, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state, bagmanmc)
MACHINE_CONFIG_END
@@ -2428,7 +2428,7 @@ MACHINE_CONFIG_START(galaxold_state::dkongjrm)
MCFG_DEVICE_PROGRAM_MAP(dkongjrm_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_dkongjrm, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,dkongjrm)
MACHINE_CONFIG_END
@@ -2437,7 +2437,7 @@ MACHINE_CONFIG_START(galaxold_state::dkongjrmc)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(dkongjrmc_map)
- set_video_start_cb(config, driver_callback_delegate(&video_start_dkongjrmc, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,dkongjrmc)
MACHINE_CONFIG_END
@@ -2450,7 +2450,7 @@ MACHINE_CONFIG_START(galaxold_state::rockclim)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_rockclim)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_rockclim, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,rockclim)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(64+64+2) /* 64 colors only, but still uses bullets so we need to keep the palette big */
MCFG_PALETTE_INIT_OWNER(galaxold_state,rockclim)
@@ -2469,14 +2469,14 @@ MACHINE_CONFIG_START(galaxold_state::ozon1)
MCFG_DEVICE_IO_MAP(ozon1_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", galaxold_state, nmi_line_pulse)
- remove_machine_reset_cb(config);
+ MCFG_MACHINE_RESET_REMOVE()
/* video hardware */
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(32)
MCFG_PALETTE_INIT_OWNER(galaxold_state,rockclim)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ozon1, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,ozon1)
MCFG_DEVICE_ADD("aysnd", AY8910, PIXEL_CLOCK/4)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
MACHINE_CONFIG_END
@@ -2505,7 +2505,7 @@ MACHINE_CONFIG_START(galaxold_state::drivfrcg)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_gmgalax)
- set_video_start_cb(config, driver_callback_delegate(&video_start_drivfrcg, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,drivfrcg)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -2523,7 +2523,7 @@ MACHINE_CONFIG_START(galaxold_state::bongo)
MCFG_DEVICE_IO_MAP(bongo_io)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_bongo, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,bongo)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(galaxold_state, screen_update_galaxold)
@@ -2548,7 +2548,7 @@ MACHINE_CONFIG_START(galaxold_state::hunchbkg)
/* the nmi line seems to be inverted on the cpu plugin board */
MCFG_7474_COMP_OUTPUT_CB(INPUTLINE("maincpu", S2650_SENSE_LINE))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_hunchbkg, this));
+ MCFG_MACHINE_RESET_OVERRIDE(galaxold_state,hunchbkg)
galaxian_audio(config);
MACHINE_CONFIG_END
@@ -2591,7 +2591,7 @@ MACHINE_CONFIG_START(galaxold_state::racknrol)
MCFG_SCREEN_UPDATE_DRIVER(galaxold_state, screen_update_galaxold)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_racknrol, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,racknrol)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -2619,7 +2619,7 @@ MACHINE_CONFIG_START(galaxold_state::hexpoola)
MCFG_SCREEN_UPDATE_DRIVER(galaxold_state, screen_update_galaxold)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_racknrol, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,racknrol)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -2637,7 +2637,7 @@ MACHINE_CONFIG_START(galaxold_state::ckongg)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_gmgalax)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ckongs, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,ckongs)
MACHINE_CONFIG_END
@@ -2650,7 +2650,7 @@ MACHINE_CONFIG_START(galaxold_state::ckongmc)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_gmgalax)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ckongs, this));
+ MCFG_VIDEO_START_OVERRIDE(galaxold_state,ckongs)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/galaxy.cpp b/src/mame/drivers/galaxy.cpp
index 7945e01d5ed..0d5600fa09e 100644
--- a/src/mame/drivers/galaxy.cpp
+++ b/src/mame/drivers/galaxy.cpp
@@ -186,7 +186,7 @@ MACHINE_CONFIG_START(galaxy_state::galaxy)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_PALETTE("palette")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_galaxy, this));
+ MCFG_MACHINE_RESET_OVERRIDE(galaxy_state, galaxy )
/* video hardware */
MCFG_SCREEN_SIZE(384, 212)
@@ -228,7 +228,7 @@ MACHINE_CONFIG_START(galaxy_state::galaxyp)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_PALETTE("palette")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_galaxyp, this));
+ MCFG_MACHINE_RESET_OVERRIDE(galaxy_state, galaxyp )
/* video hardware */
MCFG_SCREEN_SIZE(384, 208)
diff --git a/src/mame/drivers/galivan.cpp b/src/mame/drivers/galivan.cpp
index caceb534ab4..2c44f41f01e 100644
--- a/src/mame/drivers/galivan.cpp
+++ b/src/mame/drivers/galivan.cpp
@@ -382,7 +382,7 @@ GFXDECODE_END
-void galivan_state::machine_start_galivan()
+MACHINE_START_MEMBER(galivan_state,galivan)
{
/* configure ROM banking */
uint8_t *rombase = memregion("maincpu")->base();
@@ -396,7 +396,7 @@ void galivan_state::machine_start_galivan()
save_item(NAME(m_layers));
}
-void galivan_state::machine_start_ninjemak()
+MACHINE_START_MEMBER(galivan_state,ninjemak)
{
/* configure ROM banking */
uint8_t *rombase = memregion("maincpu")->base();
@@ -409,7 +409,7 @@ void galivan_state::machine_start_ninjemak()
save_item(NAME(m_ninjemak_dispdisable));
}
-void galivan_state::machine_reset_galivan()
+MACHINE_RESET_MEMBER(galivan_state,galivan)
{
m_maincpu->reset();
@@ -420,7 +420,7 @@ void galivan_state::machine_reset_galivan()
m_galivan_scrolly[0] = m_galivan_scrolly[1] = 0;
}
-void galivan_state::machine_reset_ninjemak()
+MACHINE_RESET_MEMBER(galivan_state,ninjemak)
{
m_maincpu->reset();
@@ -442,8 +442,8 @@ MACHINE_CONFIG_START(galivan_state::galivan)
MCFG_DEVICE_IO_MAP(sound_io_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(galivan_state, irq0_line_hold, XTAL(8'000'000)/2/512) // ?
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_galivan, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_galivan, this));
+ MCFG_MACHINE_START_OVERRIDE(galivan_state,galivan)
+ MCFG_MACHINE_RESET_OVERRIDE(galivan_state,galivan)
/* video hardware */
MCFG_DEVICE_ADD("spriteram", BUFFERED_SPRITERAM8)
@@ -462,7 +462,7 @@ MACHINE_CONFIG_START(galivan_state::galivan)
MCFG_PALETTE_INDIRECT_ENTRIES(256)
MCFG_PALETTE_INIT_OWNER(galivan_state, galivan)
- set_video_start_cb(config, driver_callback_delegate(&video_start_galivan, this));
+ MCFG_VIDEO_START_OVERRIDE(galivan_state,galivan)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -500,8 +500,8 @@ MACHINE_CONFIG_START(galivan_state::ninjemak)
MCFG_DEVICE_IO_MAP(sound_io_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(galivan_state, irq0_line_hold, XTAL(8'000'000)/2/512) // ?
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ninjemak, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ninjemak, this));
+ MCFG_MACHINE_START_OVERRIDE(galivan_state,ninjemak)
+ MCFG_MACHINE_RESET_OVERRIDE(galivan_state,ninjemak)
MCFG_DEVICE_ADD("nb1414m4", NB1414M4, 0)
@@ -522,7 +522,7 @@ MACHINE_CONFIG_START(galivan_state::ninjemak)
MCFG_PALETTE_INDIRECT_ENTRIES(256)
MCFG_PALETTE_INIT_OWNER(galivan_state, galivan)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ninjemak, this));
+ MCFG_VIDEO_START_OVERRIDE(galivan_state,ninjemak)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
diff --git a/src/mame/drivers/galspnbl.cpp b/src/mame/drivers/galspnbl.cpp
index f1104485d3a..1fbaf92515f 100644
--- a/src/mame/drivers/galspnbl.cpp
+++ b/src/mame/drivers/galspnbl.cpp
@@ -235,7 +235,7 @@ MACHINE_CONFIG_START(galspnbl_state::galspnbl)
MCFG_SCREEN_UPDATE_DRIVER(galspnbl_state, screen_update_galspnbl)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_galspnbl, this));
+ MCFG_VIDEO_START_OVERRIDE(galspnbl_state,galspnbl)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_galspnbl)
diff --git a/src/mame/drivers/gameplan.cpp b/src/mame/drivers/gameplan.cpp
index a2a08563914..49a96999e17 100644
--- a/src/mame/drivers/gameplan.cpp
+++ b/src/mame/drivers/gameplan.cpp
@@ -936,7 +936,7 @@ INPUT_PORTS_END
*
*************************************/
-void gameplan_state::machine_start_gameplan()
+MACHINE_START_MEMBER(gameplan_state,gameplan)
{
/* register for save states */
save_item(NAME(m_current_port));
@@ -949,7 +949,8 @@ void gameplan_state::machine_start_gameplan()
m_via_0->write_pb5(1);
}
-void gameplan_state::machine_reset_gameplan()
+
+MACHINE_RESET_MEMBER(gameplan_state,gameplan)
{
m_current_port = 0;
m_video_x = 0;
@@ -971,8 +972,8 @@ MACHINE_CONFIG_START(gameplan_state::gameplan)
MCFG_RIOT6532_OUT_PB_CB(WRITE8(*this, gameplan_state, r6532_soundlatch_w))
MCFG_RIOT6532_IRQ_CB(WRITELINE(*this, gameplan_state, r6532_irq))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_gameplan, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_gameplan, this));
+ MCFG_MACHINE_START_OVERRIDE(gameplan_state,gameplan)
+ MCFG_MACHINE_RESET_OVERRIDE(gameplan_state,gameplan)
/* video hardware */
gameplan_video(config);
diff --git a/src/mame/drivers/gb.cpp b/src/mame/drivers/gb.cpp
index 14802e06e81..5c75be8fe39 100644
--- a/src/mame/drivers/gb.cpp
+++ b/src/mame/drivers/gb.cpp
@@ -656,8 +656,8 @@ MACHINE_CONFIG_START(gb_state::supergb)
MCFG_LR35902_TIMER_CB( WRITE8(*this, gb_state, gb_timer_callback ) )
MCFG_LR35902_HALT_BUG
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_sgb, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sgb, this));
+ MCFG_MACHINE_START_OVERRIDE(gb_state, sgb)
+ MCFG_MACHINE_RESET_OVERRIDE(gb_state, sgb)
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
@@ -697,8 +697,8 @@ MACHINE_CONFIG_START(gb_state::supergb2)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(sgb_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_sgb, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sgb, this));
+ MCFG_MACHINE_START_OVERRIDE(gb_state, sgb)
+ MCFG_MACHINE_RESET_OVERRIDE(gb_state, sgb)
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_horizont) /* runs on a TV, not an LCD */
@@ -734,8 +734,8 @@ MACHINE_CONFIG_START(gb_state::gbcolor)
MCFG_DEVICE_PROGRAM_MAP(gbc_map)
MCFG_LR35902_TIMER_CB( WRITE8(*this, gb_state, gb_timer_callback ) )
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_gbc, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_gbc, this));
+ MCFG_MACHINE_START_OVERRIDE(gb_state,gbc)
+ MCFG_MACHINE_RESET_OVERRIDE(gb_state,gbc)
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
@@ -788,8 +788,8 @@ MACHINE_CONFIG_START(megaduck_state::megaduck)
MCFG_SCREEN_VBLANK_TIME(0)
MCFG_SCREEN_PALETTE("palette")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_megaduck, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_megaduck, this));
+ MCFG_MACHINE_START_OVERRIDE(megaduck_state, megaduck)
+ MCFG_MACHINE_RESET_OVERRIDE(megaduck_state, megaduck)
MCFG_SCREEN_UPDATE_DEVICE("ppu", dmg_ppu_device, screen_update)
MCFG_SCREEN_SIZE(20*8, 18*8)
diff --git a/src/mame/drivers/gberet.cpp b/src/mame/drivers/gberet.cpp
index 71fd1109d30..e1fe2860c34 100644
--- a/src/mame/drivers/gberet.cpp
+++ b/src/mame/drivers/gberet.cpp
@@ -394,14 +394,14 @@ GFXDECODE_END
*
*************************************/
-void gberet_state::machine_start_gberet()
+MACHINE_START_MEMBER(gberet_state,gberet)
{
save_item(NAME(m_interrupt_mask));
save_item(NAME(m_interrupt_ticks));
save_item(NAME(m_spritebank));
}
-void gberet_state::machine_reset_gberet()
+MACHINE_RESET_MEMBER(gberet_state,gberet)
{
m_interrupt_mask = 0;
m_interrupt_ticks = 0;
@@ -416,8 +416,8 @@ MACHINE_CONFIG_START(gberet_state::gberet)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", gberet_state, gberet_interrupt_tick, "screen", 0, 16)
MCFG_WATCHDOG_ADD("watchdog")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_gberet, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_gberet, this));
+ MCFG_MACHINE_START_OVERRIDE(gberet_state,gberet)
+ MCFG_MACHINE_RESET_OVERRIDE(gberet_state,gberet)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -432,7 +432,7 @@ MACHINE_CONFIG_START(gberet_state::gberet)
MCFG_PALETTE_ADD("palette", 2*16*16)
MCFG_PALETTE_INDIRECT_ENTRIES(32)
MCFG_PALETTE_INIT_OWNER(gberet_state,gberet)
- set_video_start_cb(config, driver_callback_delegate(&video_start_gberet, this));
+ MCFG_VIDEO_START_OVERRIDE(gberet_state,gberet)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -457,8 +457,8 @@ MACHINE_CONFIG_START(gberet_state::gberetb)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gberet_state, irq0_line_assert)
MCFG_DEVICE_PERIODIC_INT_DRIVER(gberet_state, nmi_line_assert, XTAL(20'000'000)/0x8000) // divider guessed
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_gberet, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_gberet, this));
+ MCFG_MACHINE_START_OVERRIDE(gberet_state,gberet)
+ MCFG_MACHINE_RESET_OVERRIDE(gberet_state,gberet)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -473,7 +473,7 @@ MACHINE_CONFIG_START(gberet_state::gberetb)
MCFG_PALETTE_ADD("palette", 2*16*16)
MCFG_PALETTE_INDIRECT_ENTRIES(32)
MCFG_PALETTE_INIT_OWNER(gberet_state,gberet)
- set_video_start_cb(config, driver_callback_delegate(&video_start_gberet, this));
+ MCFG_VIDEO_START_OVERRIDE(gberet_state,gberet)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/gladiatr.cpp b/src/mame/drivers/gladiatr.cpp
index e3701ee923c..fe1c88384ce 100644
--- a/src/mame/drivers/gladiatr.cpp
+++ b/src/mame/drivers/gladiatr.cpp
@@ -202,7 +202,7 @@ TODO:
#include "speaker.h"
-void gladiatr_state::machine_reset_gladiator()
+MACHINE_RESET_MEMBER(gladiatr_state,gladiator)
{
// 6809 bank memory set
membank("bank2")->set_entry(0);
@@ -607,7 +607,7 @@ WRITE8_MEMBER(ppking_state::ppking_qxcomu_w)
// ...
}
-void ppking_state::machine_reset_ppking()
+MACHINE_RESET_MEMBER(ppking_state, ppking)
{
// yes, it expects to read DSW1 without sending commands first ...
m_mcu[0].rxd = (ioport("DSW1")->read() & 0x1f) << 2;;
@@ -956,7 +956,7 @@ MACHINE_CONFIG_START(ppking_state::ppking)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ppking, this));
+ MCFG_MACHINE_RESET_OVERRIDE(ppking_state, ppking)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_DEVICE_ADD("mainlatch", LS259, 0) // 5L on main board
@@ -981,7 +981,7 @@ MACHINE_CONFIG_START(ppking_state::ppking)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_ppking)
MCFG_PALETTE_ADD("palette", 1024)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ppking, this));
+ MCFG_VIDEO_START_OVERRIDE(ppking_state, ppking)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1018,7 +1018,7 @@ MACHINE_CONFIG_START(gladiatr_state::gladiatr)
MCFG_DEVICE_ADD("audiocpu", MC6809, 12_MHz_XTAL/4) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(gladiatr_cpu3_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_gladiator, this));
+ MCFG_MACHINE_RESET_OVERRIDE(gladiatr_state,gladiator)
MCFG_NVRAM_ADD_0FILL("nvram") // NEC uPD449 CMOS SRAM
MCFG_DEVICE_ADD("mainlatch", LS259, 0) // 5L on main board
@@ -1073,7 +1073,7 @@ MACHINE_CONFIG_START(gladiatr_state::gladiatr)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_gladiatr)
MCFG_PALETTE_ADD("palette", 1024)
- set_video_start_cb(config, driver_callback_delegate(&video_start_gladiatr, this));
+ MCFG_VIDEO_START_OVERRIDE(gladiatr_state,gladiatr)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/goldnpkr.cpp b/src/mame/drivers/goldnpkr.cpp
index 2deac3006ff..69abf63ccc9 100644
--- a/src/mame/drivers/goldnpkr.cpp
+++ b/src/mame/drivers/goldnpkr.cpp
@@ -1347,10 +1347,10 @@ public:
virtual void video_start() override;
DECLARE_PALETTE_INIT(goldnpkr);
DECLARE_PALETTE_INIT(witchcrd);
- void video_start_wcrdxtnd() ATTR_COLD;
+ DECLARE_VIDEO_START(wcrdxtnd);
DECLARE_PALETTE_INIT(wcrdxtnd);
- void machine_start_mondial() ATTR_COLD;
- void machine_reset_mondial();
+ DECLARE_MACHINE_START(mondial);
+ DECLARE_MACHINE_RESET(mondial);
uint32_t screen_update_goldnpkr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void goldnpkr_base(machine_config &config);
@@ -1479,7 +1479,7 @@ void goldnpkr_state::video_start()
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(goldnpkr_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
-void goldnpkr_state::video_start_wcrdxtnd()
+VIDEO_START_MEMBER(goldnpkr_state,wcrdxtnd)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(goldnpkr_state::wcrdxtnd_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
@@ -4274,13 +4274,13 @@ DISCRETE_SOUND_END
* Machine Start & Reset *
******************************************/
-void goldnpkr_state::machine_start_mondial()
+MACHINE_START_MEMBER(goldnpkr_state, mondial)
{
uint8_t *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 2, &ROM[0], 0x4000);
}
-void goldnpkr_state::machine_reset_mondial()
+MACHINE_RESET_MEMBER(goldnpkr_state, mondial)
{
uint8_t seldsw = (ioport("SELDSW")->read() );
popmessage("ROM Bank: %02X", seldsw);
@@ -4418,7 +4418,7 @@ MACHINE_CONFIG_START(goldnpkr_state::wildcard)
// MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_wildcard)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_INIT_OWNER(goldnpkr_state, witchcrd)
-// set_video_start_cb(config, driver_callback_delegate(&video_start_wildcard, this));
+// MCFG_VIDEO_START_OVERRIDE(goldnpkr_state,wildcard)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4442,7 +4442,7 @@ MACHINE_CONFIG_START(goldnpkr_state::wcrdxtnd)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_wcrdxtnd)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_INIT_OWNER(goldnpkr_state, wcrdxtnd)
- set_video_start_cb(config, driver_callback_delegate(&video_start_wcrdxtnd, this));
+ MCFG_VIDEO_START_OVERRIDE(goldnpkr_state, wcrdxtnd)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4472,7 +4472,7 @@ MACHINE_CONFIG_START(goldnpkr_state::wildcrdb)
// MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_wildcard)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_INIT_OWNER(goldnpkr_state, witchcrd)
-// set_video_start_cb(config, driver_callback_delegate(&video_start_wildcard, this));
+// MCFG_VIDEO_START_OVERRIDE(goldnpkr_state,wildcard)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4532,8 +4532,8 @@ MACHINE_CONFIG_START(goldnpkr_state::mondial)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(mondial_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mondial, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mondial, this));
+ MCFG_MACHINE_START_OVERRIDE(goldnpkr_state, mondial)
+ MCFG_MACHINE_RESET_OVERRIDE(goldnpkr_state, mondial)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/goldstar.cpp b/src/mame/drivers/goldstar.cpp
index 811c5ac1e0b..8b004ea6d12 100644
--- a/src/mame/drivers/goldstar.cpp
+++ b/src/mame/drivers/goldstar.cpp
@@ -8118,7 +8118,7 @@ MACHINE_CONFIG_START(goldstar_state::goldstar)
MCFG_PALETTE_FORMAT(BBGGGRRR)
MCFG_NVRAM_ADD_1FILL("nvram")
- set_video_start_cb(config, driver_callback_delegate(&video_start_goldstar, this));
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8155,7 +8155,7 @@ MACHINE_CONFIG_START(goldstar_state::goldstbl)
MCFG_PALETTE_FORMAT(BBGGGRRR)
MCFG_NVRAM_ADD_1FILL("nvram")
- set_video_start_cb(config, driver_callback_delegate(&video_start_goldstar, this));
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8203,7 +8203,7 @@ MACHINE_CONFIG_START(sanghopm_state::star100)
MCFG_NVRAM_ADD_1FILL("nvram")
- set_video_start_cb(config, driver_callback_delegate(&video_start_sangho, this));
+ MCFG_VIDEO_START_OVERRIDE(sanghopm_state, sangho)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8242,7 +8242,7 @@ MACHINE_CONFIG_START(goldstar_state::super9)
MCFG_PALETTE_FORMAT(BBGGGRRR)
MCFG_NVRAM_ADD_1FILL("nvram")
- set_video_start_cb(config, driver_callback_delegate(&video_start_goldstar, this));
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8351,7 +8351,7 @@ MACHINE_CONFIG_START(cb3_state::ncb3)
MCFG_NVRAM_ADD_1FILL("nvram")
- set_video_start_cb(config, driver_callback_delegate(&video_start_goldstar, this));
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8425,7 +8425,7 @@ MACHINE_CONFIG_START(goldstar_state::wcherry)
MCFG_PALETTE_INIT_OWNER(goldstar_state, cm)
MCFG_NVRAM_ADD_1FILL("nvram")
- set_video_start_cb(config, driver_callback_delegate(&video_start_goldstar, this));
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8472,7 +8472,7 @@ MACHINE_CONFIG_START(cmaster_state::cm)
MCFG_PALETTE_INIT_OWNER(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
- set_video_start_cb(config, driver_callback_delegate(&video_start_cherrym, this));
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state, cherrym)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8520,7 +8520,7 @@ MACHINE_CONFIG_START(goldstar_state::cmast91)
MCFG_PALETTE_INIT_OWNER(goldstar_state, cmast91)
MCFG_NVRAM_ADD_1FILL("nvram")
- set_video_start_cb(config, driver_callback_delegate(&video_start_cherrym, this));
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state, cherrym)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8577,7 +8577,7 @@ MACHINE_CONFIG_START(wingco_state::lucky8)
MCFG_PALETTE_INIT_OWNER(goldstar_state, lucky8)
MCFG_NVRAM_ADD_1FILL("nvram")
- set_video_start_cb(config, driver_callback_delegate(&video_start_goldstar, this));
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8631,7 +8631,7 @@ MACHINE_CONFIG_START(wingco_state::bingowng)
MCFG_PALETTE_INIT_OWNER(goldstar_state, lucky8)
MCFG_NVRAM_ADD_1FILL("nvram")
- set_video_start_cb(config, driver_callback_delegate(&video_start_bingowng, this));
+ MCFG_VIDEO_START_OVERRIDE(wingco_state, bingowng)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8758,7 +8758,7 @@ MACHINE_CONFIG_START(wingco_state::magodds)
MCFG_PALETTE_INIT_OWNER(wingco_state, magodds)
MCFG_NVRAM_ADD_1FILL("nvram")
- set_video_start_cb(config, driver_callback_delegate(&video_start_magical, this));
+ MCFG_VIDEO_START_OVERRIDE(wingco_state, magical)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8808,7 +8808,7 @@ MACHINE_CONFIG_START(goldstar_state::kkotnoli)
MCFG_PALETTE_ADD("palette", 256)
MCFG_PALETTE_INIT_OWNER(goldstar_state, lucky8)
- set_video_start_cb(config, driver_callback_delegate(&video_start_goldstar, this));
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8849,7 +8849,7 @@ MACHINE_CONFIG_START(goldstar_state::ladylinr)
MCFG_PALETTE_INIT_OWNER(goldstar_state, lucky8)
MCFG_NVRAM_ADD_1FILL("nvram")
- set_video_start_cb(config, driver_callback_delegate(&video_start_goldstar, this));
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8900,7 +8900,7 @@ MACHINE_CONFIG_START(wingco_state::wcat3)
MCFG_PALETTE_INIT_OWNER(goldstar_state, lucky8)
MCFG_NVRAM_ADD_1FILL("nvram")
- set_video_start_cb(config, driver_callback_delegate(&video_start_goldstar, this));
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8951,7 +8951,7 @@ MACHINE_CONFIG_START(cmaster_state::amcoe1)
MCFG_PALETTE_INIT_OWNER(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
- set_video_start_cb(config, driver_callback_delegate(&video_start_cherrym, this));
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state, cherrym)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9008,7 +9008,7 @@ MACHINE_CONFIG_START(cmaster_state::amcoe2)
MCFG_PALETTE_INIT_OWNER(goldstar_state,cm)
MCFG_NVRAM_ADD_1FILL("nvram")
- set_video_start_cb(config, driver_callback_delegate(&video_start_cherrym, this));
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state, cherrym)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9058,7 +9058,7 @@ MACHINE_CONFIG_START(unkch_state::unkch)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_unkch, this));
+ MCFG_VIDEO_START_OVERRIDE(unkch_state, unkch)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9096,7 +9096,7 @@ MACHINE_CONFIG_START(goldstar_state::pkrmast)
MCFG_PALETTE_INIT_OWNER(goldstar_state, cm)
MCFG_NVRAM_ADD_1FILL("nvram")
- set_video_start_cb(config, driver_callback_delegate(&video_start_cherrym, this));
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state, cherrym)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9133,7 +9133,7 @@ MACHINE_CONFIG_START(unkch_state::megaline)
MCFG_PALETTE_INIT_OWNER(goldstar_state, lucky8)
// MCFG_NVRAM_ADD_1FILL("nvram")
- set_video_start_cb(config, driver_callback_delegate(&video_start_goldstar, this));
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state,goldstar)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9180,7 +9180,7 @@ MACHINE_CONFIG_START(unkch_state::bonusch)
MCFG_PALETTE_ADD("palette", 256)
MCFG_PALETTE_INIT_OWNER(goldstar_state, lucky8)
- set_video_start_cb(config, driver_callback_delegate(&video_start_goldstar, this));
+ MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/gottlieb.cpp b/src/mame/drivers/gottlieb.cpp
index e6daee4e6bd..59922784dce 100644
--- a/src/mame/drivers/gottlieb.cpp
+++ b/src/mame/drivers/gottlieb.cpp
@@ -1865,7 +1865,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(gottlieb_state::screwloo)
gottlieb2(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_screwloo, this));
+ MCFG_VIDEO_START_OVERRIDE(gottlieb_state,screwloo)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(gottlieb_state::cobram3)
diff --git a/src/mame/drivers/gridcomp.cpp b/src/mame/drivers/gridcomp.cpp
index 17fe5b5cf12..00230896c85 100644
--- a/src/mame/drivers/gridcomp.cpp
+++ b/src/mame/drivers/gridcomp.cpp
@@ -118,8 +118,8 @@ public:
required_device<ram_device> m_ram;
void init_gridcomp();
- void machine_start_gridcomp() ATTR_COLD;
- void machine_reset_gridcomp();
+ DECLARE_MACHINE_START(gridcomp);
+ DECLARE_MACHINE_RESET(gridcomp);
IRQ_CALLBACK_MEMBER(irq_callback);
@@ -292,7 +292,7 @@ void gridcomp_state::init_gridcomp()
DBG_LOG(0, "init", ("driver_init()\n"));
}
-void gridcomp_state::machine_start_gridcomp()
+MACHINE_START_MEMBER(gridcomp_state, gridcomp)
{
address_space &program = m_maincpu->space(AS_PROGRAM);
@@ -304,7 +304,7 @@ void gridcomp_state::machine_start_gridcomp()
m_videoram = (uint16_t *)m_maincpu->space(AS_PROGRAM).get_write_ptr(0x400);
}
-void gridcomp_state::machine_reset_gridcomp()
+MACHINE_RESET_MEMBER(gridcomp_state, gridcomp)
{
DBG_LOG(0, "init", ("machine_reset()\n"));
@@ -370,8 +370,8 @@ MACHINE_CONFIG_START(gridcomp_state::grid1101)
MCFG_DEVICE_IO_MAP(grid1101_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(gridcomp_state, irq_callback)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_gridcomp, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_gridcomp, this));
+ MCFG_MACHINE_START_OVERRIDE(gridcomp_state, gridcomp)
+ MCFG_MACHINE_RESET_OVERRIDE(gridcomp_state, gridcomp)
MCFG_DEVICE_ADD(I80130_TAG, I80130, XTAL(15'000'000)/3)
MCFG_I80130_IRQ_CALLBACK(INPUTLINE("maincpu", 0))
diff --git a/src/mame/drivers/gticlub.cpp b/src/mame/drivers/gticlub.cpp
index 50ee7dcf48e..73693e9a718 100644
--- a/src/mame/drivers/gticlub.cpp
+++ b/src/mame/drivers/gticlub.cpp
@@ -317,10 +317,10 @@ public:
void init_hangplt();
void init_hangpltu();
void init_gticlub();
- void machine_start_gticlub() ATTR_COLD;
- void machine_reset_gticlub();
- void machine_reset_hangplt();
- void video_start_gticlub() ATTR_COLD;
+ DECLARE_MACHINE_START(gticlub);
+ DECLARE_MACHINE_RESET(gticlub);
+ DECLARE_MACHINE_RESET(hangplt);
+ DECLARE_VIDEO_START(gticlub);
INTERRUPT_GEN_MEMBER(gticlub_vblank);
TIMER_CALLBACK_MEMBER(sound_irq);
@@ -500,7 +500,7 @@ WRITE16_MEMBER(gticlub_state::soundtimer_count_w)
/******************************************************************/
-void gticlub_state::machine_start_gticlub()
+MACHINE_START_MEMBER(gticlub_state,gticlub)
{
/* set conservative DRC options */
m_maincpu->ppcdrc_set_options(PPCDRC_COMPATIBLE_OPTIONS);
@@ -833,7 +833,7 @@ ADC1038_INPUT_CB(gticlub_state::adc1038_input_callback)
return value;
}
-void gticlub_state::machine_reset_gticlub()
+MACHINE_RESET_MEMBER(gticlub_state,gticlub)
{
m_dsp->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
@@ -844,7 +844,7 @@ void gticlub_state::gticlub_led_setreg(int offset, uint8_t data)
}
-void gticlub_state::video_start_gticlub()
+VIDEO_START_MEMBER(gticlub_state,gticlub)
{
m_gticlub_led_reg[0] = m_gticlub_led_reg[1] = 0x7f;
/*
@@ -968,8 +968,8 @@ MACHINE_CONFIG_START(gticlub_state::gticlub)
MCFG_EEPROM_SERIAL_93C56_ADD("eeprom")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_gticlub, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_gticlub, this));
+ MCFG_MACHINE_START_OVERRIDE(gticlub_state,gticlub)
+ MCFG_MACHINE_RESET_OVERRIDE(gticlub_state,gticlub)
MCFG_DEVICE_ADD("adc1038", ADC1038, 0)
MCFG_ADC1038_INPUT_CB(gticlub_state, adc1038_input_callback)
@@ -987,7 +987,7 @@ MACHINE_CONFIG_START(gticlub_state::gticlub)
MCFG_PALETTE_ADD("palette", 65536)
- set_video_start_cb(config, driver_callback_delegate(&video_start_gticlub, this));
+ MCFG_VIDEO_START_OVERRIDE(gticlub_state,gticlub)
MCFG_DEVICE_ADD("k001604_1", K001604, 0)
MCFG_K001604_LAYER_SIZE(1)
@@ -1054,7 +1054,7 @@ MACHINE_CONFIG_START(gticlub_state::slrasslt)
MACHINE_CONFIG_END
-void gticlub_state::machine_reset_hangplt()
+MACHINE_RESET_MEMBER(gticlub_state,hangplt)
{
m_dsp->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
m_dsp2->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
@@ -1081,8 +1081,8 @@ MACHINE_CONFIG_START(gticlub_state::hangplt)
MCFG_EEPROM_SERIAL_93C56_ADD("eeprom")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_gticlub, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_hangplt, this));
+ MCFG_MACHINE_START_OVERRIDE(gticlub_state,gticlub)
+ MCFG_MACHINE_RESET_OVERRIDE(gticlub_state,hangplt)
MCFG_DEVICE_ADD("adc1038", ADC1038, 0)
MCFG_ADC1038_INPUT_CB(gticlub_state, adc1038_input_callback)
diff --git a/src/mame/drivers/hec2hrp.cpp b/src/mame/drivers/hec2hrp.cpp
index 520d5b35120..1d92b4396a1 100644
--- a/src/mame/drivers/hec2hrp.cpp
+++ b/src/mame/drivers/hec2hrp.cpp
@@ -303,18 +303,21 @@ static INPUT_PORTS_START( hec2hrp )
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED)
INPUT_PORTS_END
-void hec2hrp_state::machine_start_hec2hrp()
+/*****************************************************************************/
+MACHINE_START_MEMBER(hec2hrp_state,hec2hrp)
+/*****************************************************************************/
{
hector_init();
}
-void hec2hrp_state::machine_reset_hec2hrp()
+MACHINE_RESET_MEMBER(hec2hrp_state,hec2hrp)
{
// Machines init
hector_reset(1, 0);
}
-
-void hec2hrp_state::machine_start_hec2hrx()
+/*****************************************************************************/
+MACHINE_START_MEMBER(hec2hrp_state,hec2hrx)
+/*****************************************************************************/
{
uint8_t *RAM = memregion("maincpu" )->base(); // pointer to mess ram
//Patch rom possible !
@@ -345,8 +348,9 @@ void hec2hrp_state::machine_start_hec2hrx()
hector_init();
}
-
-void hec2hrp_state::machine_start_hec2mdhrx()
+/*****************************************************************************/
+MACHINE_START_MEMBER(hec2hrp_state,hec2mdhrx)
+/*****************************************************************************/
//minidisc
{
uint8_t *RAM = memregion("maincpu" )->base(); // pointer to mess ram
@@ -369,8 +373,7 @@ void hec2hrp_state::machine_start_hec2mdhrx()
hector_init();
}
-
-void hec2hrp_state::machine_reset_hec2hrx()
+MACHINE_RESET_MEMBER(hec2hrp_state,hec2hrx)
{
//Hector Memory
membank("bank1")->set_entry(HECTOR_BANK_PROG);
@@ -382,9 +385,8 @@ void hec2hrp_state::machine_reset_hec2hrx()
hector_reset(1, 1);
hector_disc2_reset();
}
-
//minidisc
-void hec2hrp_state::machine_reset_hec2mdhrx()
+MACHINE_RESET_MEMBER(hec2hrp_state,hec2mdhrx)
{
//Hector Memory
membank("bank1")->set_entry(HECTOR_BANK_PROG);
@@ -416,8 +418,8 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2hr)
MCFG_DEVICE_PROGRAM_MAP(hec2hrp_mem)
MCFG_DEVICE_IO_MAP(hec2hrp_io)
MCFG_DEVICE_PERIODIC_INT_DRIVER(hec2hrp_state, irq0_line_hold, 50) /* put on the Z80 irq in Hz*/
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_hec2hrp, this));
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hec2hrp, this));
+ MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrp)
+ MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrp)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -429,7 +431,7 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2hr)
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 16)
- set_video_start_cb(config, driver_callback_delegate(&video_start_hec2hrp, this));
+ MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
hector_audio(config);
@@ -451,8 +453,8 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2hrp)
MCFG_DEVICE_PROGRAM_MAP(hec2hrp_mem)
MCFG_DEVICE_IO_MAP(hec2hrp_io)
MCFG_DEVICE_PERIODIC_INT_DRIVER(hec2hrp_state, irq0_line_hold, 50) /* put on the Z80 irq in Hz*/
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_hec2hrp, this));
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hec2hrp, this));
+ MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrp)
+ MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrp)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -464,7 +466,7 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2hrp)
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 16)
- set_video_start_cb(config, driver_callback_delegate(&video_start_hec2hrp, this));
+ MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
hector_audio(config);
@@ -501,8 +503,8 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2mx40)
MCFG_UPD765_DRQ_CALLBACK(WRITELINE(*this, hec2hrp_state, disc2_fdc_dma_irq))
MCFG_FLOPPY_DRIVE_ADD("upd765:0", hector_floppies, "525hd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("upd765:1", hector_floppies, "525hd", floppy_image_device::default_floppy_formats)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_hec2hrx, this));
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hec2hrx, this));
+ MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrx)
+ MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrx)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -514,7 +516,7 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2mx40)
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 16)
- set_video_start_cb(config, driver_callback_delegate(&video_start_hec2hrp, this));
+ MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
hector_audio(config);
@@ -535,8 +537,8 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2hrx)
MCFG_DEVICE_PROGRAM_MAP(hec2hrx_mem)
MCFG_DEVICE_IO_MAP(hec2hrx_io)
MCFG_DEVICE_PERIODIC_INT_DRIVER(hec2hrp_state, irq0_line_hold, 50) // put on the Z80 irq in Hz
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_hec2hrx, this));
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hec2hrx, this));
+ MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrx)
+ MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrx)
/* Disc II unit */
MCFG_DEVICE_ADD("disc2cpu",Z80, XTAL(4'000'000))
@@ -558,7 +560,7 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2hrx)
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 16)
- set_video_start_cb(config, driver_callback_delegate(&video_start_hec2hrp, this));
+ MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
hector_audio(config);
@@ -580,8 +582,8 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2mdhrx)
MCFG_DEVICE_PROGRAM_MAP(hec2hrx_mem)
MCFG_DEVICE_IO_MAP(hec2mdhrx_io)
MCFG_DEVICE_PERIODIC_INT_DRIVER(hec2hrp_state, irq0_line_hold, 50) // put on the Z80 irq in Hz
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_hec2mdhrx, this));
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hec2mdhrx, this));
+ MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2mdhrx)
+ MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2mdhrx)
/* Mini Disc */
MCFG_FD1793_ADD("wd179x", XTAL(1'000'000))
@@ -597,9 +599,9 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2mdhrx)
MCFG_SCREEN_UPDATE_DRIVER(hec2hrp_state, screen_update_hec2hrp)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_hec2hrp, this));
+ MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
MCFG_PALETTE_ADD("palette", 16)
- set_video_start_cb(config, driver_callback_delegate(&video_start_hec2hrp, this)); // TODO: Perhaps this should be video_reset?
+ MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
hector_audio(config);
@@ -621,8 +623,8 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2mx80)
MCFG_DEVICE_PROGRAM_MAP(hec2hrx_mem)
MCFG_DEVICE_IO_MAP(hec2mx80_io)
MCFG_DEVICE_PERIODIC_INT_DRIVER(hec2hrp_state, irq0_line_hold, 50) // put on the Z80 irq in Hz
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_hec2hrx, this));
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hec2hrx, this));
+ MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrx)
+ MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrx)
/* Disc II unit */
MCFG_DEVICE_ADD("disc2cpu",Z80, XTAL(4'000'000))
@@ -644,7 +646,7 @@ MACHINE_CONFIG_START(hec2hrp_state::hec2mx80)
MCFG_SCREEN_PALETTE("palette")
MCFG_PALETTE_ADD("palette", 16)
- set_video_start_cb(config, driver_callback_delegate(&video_start_hec2hrp, this));
+ MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp)
hector_audio(config);
diff --git a/src/mame/drivers/hikaru.cpp b/src/mame/drivers/hikaru.cpp
index 5940ab4770f..16c27e48d06 100644
--- a/src/mame/drivers/hikaru.cpp
+++ b/src/mame/drivers/hikaru.cpp
@@ -509,8 +509,8 @@ MACHINE_CONFIG_START(hikaru_state::hikaru)
MCFG_CPU_FORCE_NO_DRC()
-// set_machine_start_cb(config, driver_callback_delegate(&machine_start_hikaru, this));
-// set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_hikaru, this));
+// MCFG_MACHINE_START_OVERRIDE(hikaru_state, hikaru )
+// MCFG_MACHINE_RESET_OVERRIDE(hikaru_state, hikaru )
// MCFG_NVRAM_HANDLER(hikaru_eeproms)
diff --git a/src/mame/drivers/hitme.cpp b/src/mame/drivers/hitme.cpp
index b16be8ff95b..7acef4835e5 100644
--- a/src/mame/drivers/hitme.cpp
+++ b/src/mame/drivers/hitme.cpp
@@ -63,7 +63,7 @@ void hitme_state::video_start()
}
-void hitme_state::video_start_barricad()
+VIDEO_START_MEMBER(hitme_state,barricad)
{
m_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(hitme_state::get_hitme_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 24);
}
@@ -360,7 +360,7 @@ MACHINE_CONFIG_START(hitme_state::barricad)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_barricad)
- set_video_start_cb(config, driver_callback_delegate(&video_start_barricad, this));
+ MCFG_VIDEO_START_OVERRIDE(hitme_state,barricad)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/hnayayoi.cpp b/src/mame/drivers/hnayayoi.cpp
index f56a6765961..0a0df6d5b72 100644
--- a/src/mame/drivers/hnayayoi.cpp
+++ b/src/mame/drivers/hnayayoi.cpp
@@ -617,7 +617,7 @@ MACHINE_CONFIG_START(hnayayoi_state::untoucha)
MCFG_DEVICE_MODIFY("crtc")
MCFG_MC6845_UPDATE_ROW_CB(hnayayoi_state, untoucha_update_row)
- set_video_start_cb(config, driver_callback_delegate(&video_start_untoucha, this));
+ MCFG_VIDEO_START_OVERRIDE(hnayayoi_state,untoucha)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/holeland.cpp b/src/mame/drivers/holeland.cpp
index 747ddfa9c60..f15efd7987e 100644
--- a/src/mame/drivers/holeland.cpp
+++ b/src/mame/drivers/holeland.cpp
@@ -301,7 +301,7 @@ MACHINE_CONFIG_START(holeland_state::holeland)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_holeland)
MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", "proms", 256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_holeland, this));
+ MCFG_VIDEO_START_OVERRIDE(holeland_state,holeland)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -382,7 +382,7 @@ MACHINE_CONFIG_START(holeland_state::crzrally)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_crzrally)
MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", "proms", 256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_crzrally, this));
+ MCFG_VIDEO_START_OVERRIDE(holeland_state,crzrally)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/homedata.cpp b/src/mame/drivers/homedata.cpp
index 0fdb0651caf..efc1c99a5c2 100644
--- a/src/mame/drivers/homedata.cpp
+++ b/src/mame/drivers/homedata.cpp
@@ -1125,7 +1125,7 @@ static GFXDECODE_START( gfx_lemnangl )
GFXDECODE_END
-void homedata_state::machine_start_homedata()
+MACHINE_START_MEMBER(homedata_state,homedata)
{
save_item(NAME(m_visible_page));
save_item(NAME(m_flipscreen));
@@ -1138,14 +1138,14 @@ void homedata_state::machine_start_homedata()
save_item(NAME(m_snd_command));
}
-void homedata_state::machine_start_reikaids()
+MACHINE_START_MEMBER(homedata_state,reikaids)
{
uint8_t *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 8, &ROM[0xc000], 0x4000);
membank("bank2")->configure_entries(0, 4, memregion("audiocpu")->base(), 0x10000);
- machine_start_homedata();
+ MACHINE_START_CALL_MEMBER(homedata);
save_item(NAME(m_upd7807_porta));
save_item(NAME(m_upd7807_portc));
@@ -1154,14 +1154,14 @@ void homedata_state::machine_start_reikaids()
save_item(NAME(m_gfx_bank));
}
-void homedata_state::machine_start_pteacher()
+MACHINE_START_MEMBER(homedata_state,pteacher)
{
uint8_t *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 4, &ROM[0xc000], 0x4000);
membank("bank2")->configure_entries(0, 4, memregion("audiocpu")->base(), 0x10000);
- machine_start_homedata();
+ MACHINE_START_CALL_MEMBER(homedata);
save_item(NAME(m_upd7807_porta));
save_item(NAME(m_upd7807_portc));
@@ -1171,7 +1171,7 @@ void homedata_state::machine_start_pteacher()
save_item(NAME(m_from_cpu));
}
-void homedata_state::machine_reset_homedata()
+MACHINE_RESET_MEMBER(homedata_state,homedata)
{
m_visible_page = 0;
m_flipscreen = 0;
@@ -1187,14 +1187,14 @@ void homedata_state::machine_reset_homedata()
m_snd_command = 0;
}
-void homedata_state::machine_reset_pteacher()
+MACHINE_RESET_MEMBER(homedata_state,pteacher)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
/* on reset, ports are set as input (high impedance), therefore 0xff output */
pteacher_upd7807_portc_w(space, 0, 0xff);
- machine_reset_homedata();
+ MACHINE_RESET_CALL_MEMBER(homedata);
m_upd7807_porta = 0;
m_gfx_bank[0] = 0;
@@ -1203,14 +1203,14 @@ void homedata_state::machine_reset_pteacher()
m_from_cpu = 0;
}
-void homedata_state::machine_reset_reikaids()
+MACHINE_RESET_MEMBER(homedata_state,reikaids)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
/* on reset, ports are set as input (high impedance), therefore 0xff output */
reikaids_upd7807_portc_w(space, 0, 0xff);
- machine_reset_homedata();
+ MACHINE_RESET_CALL_MEMBER(homedata);
m_reikaids_which = m_priority; // m_priority is set in DRIVER_INIT
m_upd7807_porta = 0;
@@ -1229,8 +1229,8 @@ MACHINE_CONFIG_START(homedata_state::mrokumei)
MCFG_DEVICE_PROGRAM_MAP(mrokumei_sound_map)
MCFG_DEVICE_IO_MAP(mrokumei_sound_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_homedata, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_homedata, this));
+ MCFG_MACHINE_START_OVERRIDE(homedata_state,homedata)
+ MCFG_MACHINE_RESET_OVERRIDE(homedata_state,homedata)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1247,7 +1247,7 @@ MACHINE_CONFIG_START(homedata_state::mrokumei)
MCFG_PALETTE_ADD("palette", 0x8000)
MCFG_PALETTE_INIT_OWNER(homedata_state,mrokumei)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mrokumei, this));
+ MCFG_VIDEO_START_OVERRIDE(homedata_state,mrokumei)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -1283,8 +1283,8 @@ MACHINE_CONFIG_START(homedata_state::reikaids)
MCFG_QUANTUM_TIME(attotime::from_hz(30000)) // very high interleave required to sync for startup tests
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_reikaids, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_reikaids, this));
+ MCFG_MACHINE_START_OVERRIDE(homedata_state,reikaids)
+ MCFG_MACHINE_RESET_OVERRIDE(homedata_state,reikaids)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1300,7 +1300,7 @@ MACHINE_CONFIG_START(homedata_state::reikaids)
MCFG_PALETTE_ADD("palette", 0x8000)
MCFG_PALETTE_INIT_OWNER(homedata_state,reikaids)
- set_video_start_cb(config, driver_callback_delegate(&video_start_reikaids, this));
+ MCFG_VIDEO_START_OVERRIDE(homedata_state,reikaids)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -1340,8 +1340,8 @@ MACHINE_CONFIG_START(homedata_state::pteacher)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // should be enough
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pteacher, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pteacher, this));
+ MCFG_MACHINE_START_OVERRIDE(homedata_state,pteacher)
+ MCFG_MACHINE_RESET_OVERRIDE(homedata_state,pteacher)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1358,7 +1358,7 @@ MACHINE_CONFIG_START(homedata_state::pteacher)
MCFG_PALETTE_ADD("palette", 0x8000)
MCFG_PALETTE_INIT_OWNER(homedata_state,pteacher)
- set_video_start_cb(config, driver_callback_delegate(&video_start_pteacher, this));
+ MCFG_VIDEO_START_OVERRIDE(homedata_state,pteacher)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -1384,7 +1384,7 @@ MACHINE_CONFIG_START(homedata_state::lemnangl)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_lemnangl)
- set_video_start_cb(config, driver_callback_delegate(&video_start_lemnangl, this));
+ MCFG_VIDEO_START_OVERRIDE(homedata_state,lemnangl)
MACHINE_CONFIG_END
static INPUT_PORTS_START( mirderby )
@@ -1527,7 +1527,7 @@ MACHINE_CONFIG_START(homedata_state::mirderby)
MCFG_PALETTE_ADD("palette", 0x8000)
MCFG_PALETTE_INIT_OWNER(homedata_state,mirderby)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mirderby, this));
+ MCFG_VIDEO_START_OVERRIDE(homedata_state,mirderby)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
diff --git a/src/mame/drivers/homelab.cpp b/src/mame/drivers/homelab.cpp
index 683e598e820..f2cafed0095 100644
--- a/src/mame/drivers/homelab.cpp
+++ b/src/mame/drivers/homelab.cpp
@@ -66,11 +66,11 @@ public:
DECLARE_WRITE8_MEMBER(brailab4_portff_w);
DECLARE_CUSTOM_INPUT_MEMBER(cass3_r);
void init_brailab4();
- void video_start_homelab2() ATTR_COLD;
- void machine_reset_homelab3();
- void video_start_homelab3() ATTR_COLD;
- void machine_reset_brailab4();
- void video_start_brailab4() ATTR_COLD;
+ DECLARE_VIDEO_START(homelab2);
+ DECLARE_MACHINE_RESET(homelab3);
+ DECLARE_VIDEO_START(homelab3);
+ DECLARE_MACHINE_RESET(brailab4);
+ DECLARE_VIDEO_START(brailab4);
INTERRUPT_GEN_MEMBER(homelab_frame);
DECLARE_QUICKLOAD_LOAD_MEMBER(homelab);
uint32_t screen_update_homelab2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -139,11 +139,11 @@ WRITE8_MEMBER( homelab_state::cass_w )
m_cass->output(BIT(data, 0) ? -1.0 : +1.0); // FIXME
}
-void homelab_state::machine_reset_homelab3()
+MACHINE_RESET_MEMBER(homelab_state,homelab3)
{
}
-void homelab_state::machine_reset_brailab4()
+MACHINE_RESET_MEMBER(homelab_state,brailab4)
{
membank("bank1")->set_entry(0);
}
@@ -561,17 +561,17 @@ static INPUT_PORTS_START( brailab4 ) // F4 to F8 are foreign characters
PORT_BIT(0xf0, IP_ACTIVE_LOW, IPT_UNUSED)
INPUT_PORTS_END
-void homelab_state::video_start_homelab2()
+VIDEO_START_MEMBER(homelab_state,homelab2)
{
m_p_videoram = memregion("maincpu")->base()+0xc000;
}
-void homelab_state::video_start_homelab3()
+VIDEO_START_MEMBER(homelab_state,homelab3)
{
m_p_videoram = memregion("maincpu")->base()+0xf800;
}
-void homelab_state::video_start_brailab4()
+VIDEO_START_MEMBER(homelab_state,brailab4)
{
m_p_videoram = memregion("maincpu")->base()+0x17800;
}
@@ -757,7 +757,7 @@ MACHINE_CONFIG_START(homelab_state::homelab)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
MCFG_SCREEN_SIZE(40*8, 25*8)
MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 0, 25*8-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_homelab2, this));
+ MCFG_VIDEO_START_OVERRIDE(homelab_state,homelab2)
MCFG_SCREEN_UPDATE_DRIVER(homelab_state, screen_update_homelab2)
MCFG_SCREEN_PALETTE("palette")
@@ -781,7 +781,7 @@ MACHINE_CONFIG_START(homelab_state::homelab3)
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'000'000) / 4)
MCFG_DEVICE_PROGRAM_MAP(homelab3_mem)
MCFG_DEVICE_IO_MAP(homelab3_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_homelab3, this));
+ MCFG_MACHINE_RESET_OVERRIDE(homelab_state,homelab3)
/* video hardware */
MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
@@ -789,7 +789,7 @@ MACHINE_CONFIG_START(homelab_state::homelab3)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 32*8-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_homelab3, this));
+ MCFG_VIDEO_START_OVERRIDE(homelab_state,homelab3)
MCFG_SCREEN_UPDATE_DRIVER(homelab_state, screen_update_homelab3)
MCFG_SCREEN_PALETTE("palette")
@@ -813,7 +813,7 @@ MACHINE_CONFIG_START(homelab_state::brailab4)
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'000'000) / 4)
MCFG_DEVICE_PROGRAM_MAP(brailab4_mem)
MCFG_DEVICE_IO_MAP(brailab4_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_brailab4, this));
+ MCFG_MACHINE_RESET_OVERRIDE(homelab_state,brailab4)
/* video hardware */
MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
@@ -821,7 +821,7 @@ MACHINE_CONFIG_START(homelab_state::brailab4)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 32*8-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_brailab4, this));
+ MCFG_VIDEO_START_OVERRIDE(homelab_state,brailab4)
MCFG_SCREEN_UPDATE_DRIVER(homelab_state, screen_update_homelab3)
MCFG_SCREEN_PALETTE("palette")
diff --git a/src/mame/drivers/hornet.cpp b/src/mame/drivers/hornet.cpp
index 0fe6c36b158..1cf07b8ddc6 100644
--- a/src/mame/drivers/hornet.cpp
+++ b/src/mame/drivers/hornet.cpp
@@ -430,7 +430,7 @@ public:
void init_terabrst();
virtual void machine_start() override;
virtual void machine_reset() override;
- void machine_reset_hornet_2board();
+ DECLARE_MACHINE_RESET(hornet_2board);
uint32_t screen_update_hornet(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_hornet_2board(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(sound_irq);
diff --git a/src/mame/drivers/hp48.cpp b/src/mame/drivers/hp48.cpp
index ef6821ba574..aac7fb37c4a 100644
--- a/src/mame/drivers/hp48.cpp
+++ b/src/mame/drivers/hp48.cpp
@@ -1292,7 +1292,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(hp48_state::hp48gx)
hp48_common(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hp48gx, this));
+ MCFG_MACHINE_START_OVERRIDE (hp48_state, hp48gx )
/* expansion ports */
MCFG_HP48_PORT_ADD ( "port1", HP48_CE2, 128*1024 )
@@ -1305,7 +1305,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(hp48_state::hp48g)
hp48_common(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hp48g, this));
+ MCFG_MACHINE_START_OVERRIDE (hp48_state, hp48g )
/* serial I/O */
//MCFG_XMODEM_ADD( "rs232_x", hp48_xmodem_rs232_conf )
@@ -1315,7 +1315,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(hp48_state::hp48gp)
hp48_common(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hp48gp, this));
+ MCFG_MACHINE_START_OVERRIDE (hp48_state, hp48gp )
/* serial I/O */
//MCFG_XMODEM_ADD( "rs232_x", hp48_xmodem_rs232_conf )
@@ -1327,7 +1327,7 @@ MACHINE_CONFIG_START(hp48_state::hp48sx)
hp48_common(config);
MCFG_DEVICE_MODIFY ( "maincpu" )
MCFG_DEVICE_CLOCK ( 2000000 )
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hp48sx, this));
+ MCFG_MACHINE_START_OVERRIDE (hp48_state, hp48sx )
/* expansion ports */
MCFG_HP48_PORT_ADD ( "port1", HP48_CE1, 128*1024)
@@ -1341,7 +1341,7 @@ MACHINE_CONFIG_START(hp48_state::hp48s)
hp48_common(config);
MCFG_DEVICE_MODIFY ( "maincpu" )
MCFG_DEVICE_CLOCK ( 2000000 )
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hp48s, this));
+ MCFG_MACHINE_START_OVERRIDE (hp48_state, hp48s )
/* serial I/O */
//MCFG_KERMIT_ADD( "rs232_k", hp48_kermit_rs232_conf )
@@ -1350,7 +1350,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(hp48_state::hp49g)
hp48_common(config);
MCFG_DEVICE_MODIFY ( "maincpu" )
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hp49g, this));
+ MCFG_MACHINE_START_OVERRIDE (hp48_state, hp49g )
/* serial I/O */
//MCFG_XMODEM_ADD( "rs232_x", hp48_xmodem_rs232_conf )
diff --git a/src/mame/drivers/hyperspt.cpp b/src/mame/drivers/hyperspt.cpp
index 6871acd624b..b8773269f13 100644
--- a/src/mame/drivers/hyperspt.cpp
+++ b/src/mame/drivers/hyperspt.cpp
@@ -401,7 +401,7 @@ MACHINE_CONFIG_START(hyperspt_state::roadf)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(roadf_map)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_roadf)
- set_video_start_cb(config, driver_callback_delegate(&video_start_roadf, this));
+ MCFG_VIDEO_START_OVERRIDE(hyperspt_state,roadf)
MCFG_DEVICE_MODIFY("audiocpu")
MCFG_DEVICE_PROGRAM_MAP(roadf_sound_map)
diff --git a/src/mame/drivers/hyprduel.cpp b/src/mame/drivers/hyprduel.cpp
index c3b8f168f42..ca7d3f92d79 100644
--- a/src/mame/drivers/hyprduel.cpp
+++ b/src/mame/drivers/hyprduel.cpp
@@ -74,8 +74,8 @@ public:
DECLARE_WRITE16_MEMBER(hyprduel_cpusync_trigger2_w);
void init_magerror();
void init_hyprduel();
- void machine_start_hyprduel() ATTR_COLD;
- void machine_start_magerror() ATTR_COLD;
+ DECLARE_MACHINE_START(hyprduel);
+ DECLARE_MACHINE_START(magerror);
TIMER_CALLBACK_MEMBER(vblank_end_callback);
DECLARE_WRITE_LINE_MEMBER(vdp_blit_end_w);
TIMER_DEVICE_CALLBACK_MEMBER(interrupt);
@@ -463,7 +463,7 @@ void hyprduel_state::machine_reset()
*m_irq_enable = 0xff;
}
-void hyprduel_state::machine_start_hyprduel()
+MACHINE_START_MEMBER(hyprduel_state,hyprduel)
{
save_item(NAME(m_blitter_bit));
save_item(NAME(m_requested_int));
@@ -500,7 +500,7 @@ MACHINE_CONFIG_START(hyprduel_state::hyprduel)
MCFG_DEVICE_ADD("sub", M68000,20000000/2) /* 10MHz */
MCFG_DEVICE_PROGRAM_MAP(hyprduel_map2)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hyprduel, this));
+ MCFG_MACHINE_START_OVERRIDE(hyprduel_state,hyprduel)
/* video hardware */
i4220_config(config);
@@ -528,7 +528,7 @@ MACHINE_CONFIG_START(hyprduel_state::magerror)
MCFG_DEVICE_PROGRAM_MAP(magerror_map2)
MCFG_DEVICE_PERIODIC_INT_DRIVER(hyprduel_state, irq1_line_hold, 968) /* tempo? */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hyprduel, this));
+ MCFG_MACHINE_START_OVERRIDE(hyprduel_state,hyprduel)
/* video hardware */
i4220_config(config);
diff --git a/src/mame/drivers/if800.cpp b/src/mame/drivers/if800.cpp
index 5d024c9a83b..be63e0fdac0 100644
--- a/src/mame/drivers/if800.cpp
+++ b/src/mame/drivers/if800.cpp
@@ -110,7 +110,7 @@ MACHINE_CONFIG_START(if800_state::if800)
MCFG_PALETTE_ADD("palette", 8)
// MCFG_PALETTE_INIT(black_and_white)
-// set_video_start_cb(config, driver_callback_delegate(&video_start_if800, this));
+// MCFG_VIDEO_START_OVERRIDE(if800_state,if800)
MACHINE_CONFIG_END
/* ROM definition */
diff --git a/src/mame/drivers/igs009.cpp b/src/mame/drivers/igs009.cpp
index 0ca3d6dfe20..e3e5d7a036e 100644
--- a/src/mame/drivers/igs009.cpp
+++ b/src/mame/drivers/igs009.cpp
@@ -115,7 +115,7 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
- void video_start_gp98() ATTR_COLD;
+ DECLARE_VIDEO_START(gp98);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void gp98(machine_config &config);
@@ -286,7 +286,7 @@ void igs009_state::video_start()
}
-void igs009_state::video_start_gp98()
+VIDEO_START_MEMBER(igs009_state,gp98)
{
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(igs009_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 0x80,0x20);
m_fg_tilemap->set_transparent_pen(0);
@@ -866,7 +866,7 @@ MACHINE_CONFIG_START(igs009_state::gp98)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_gp98)
- set_video_start_cb(config, driver_callback_delegate(&video_start_gp98, this));
+ MCFG_VIDEO_START_OVERRIDE(igs009_state,gp98)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/igs017.cpp b/src/mame/drivers/igs017.cpp
index 06eae35fdc7..90dddeddb60 100644
--- a/src/mame/drivers/igs017.cpp
+++ b/src/mame/drivers/igs017.cpp
@@ -603,9 +603,9 @@ private:
DECLARE_READ16_MEMBER(slqz2_magic_r);
DECLARE_READ8_MEMBER(mgcs_keys_r);
- void machine_reset_iqblocka();
- void machine_reset_mgcs();
- void machine_reset_lhzb2a();
+ DECLARE_MACHINE_RESET(iqblocka);
+ DECLARE_MACHINE_RESET(mgcs);
+ DECLARE_MACHINE_RESET(lhzb2a);
uint32_t screen_update_igs017(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(iqblocka_interrupt);
TIMER_DEVICE_CALLBACK_MEMBER(mgcs_interrupt);
@@ -3547,7 +3547,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(igs017_state::iqblocka_interrupt)
m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-void igs017_state::machine_reset_iqblocka()
+MACHINE_RESET_MEMBER(igs017_state,iqblocka)
{
m_input_select = 0;
}
@@ -3558,7 +3558,7 @@ MACHINE_CONFIG_START(igs017_state::iqblocka)
MCFG_DEVICE_IO_MAP(iqblocka_io)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", igs017_state, iqblocka_interrupt, "screen", 0, 1)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_iqblocka, this));
+ MCFG_MACHINE_RESET_OVERRIDE(igs017_state,iqblocka)
// i/o
MCFG_DEVICE_ADD("ppi8255", I8255A, 0)
@@ -3642,9 +3642,9 @@ TIMER_DEVICE_CALLBACK_MEMBER(igs017_state::mgcs_interrupt)
m_maincpu->set_input_line(2, HOLD_LINE);
}
-void igs017_state::machine_reset_mgcs()
+MACHINE_RESET_MEMBER(igs017_state,mgcs)
{
- machine_reset_iqblocka();
+ MACHINE_RESET_CALL_MEMBER( iqblocka );
m_scramble_data = 0;
memset(m_igs_magic, 0, sizeof(m_igs_magic));
@@ -3655,7 +3655,7 @@ MACHINE_CONFIG_START(igs017_state::mgcs)
MCFG_DEVICE_PROGRAM_MAP(mgcs)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", igs017_state, mgcs_interrupt, "screen", 0, 1)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mgcs, this));
+ MCFG_MACHINE_RESET_OVERRIDE(igs017_state,mgcs)
// i/o
MCFG_DEVICE_ADD("ppi8255", I8255A, 0)
@@ -3694,7 +3694,7 @@ MACHINE_CONFIG_START(igs017_state::lhzb2)
MCFG_DEVICE_PROGRAM_MAP(lhzb2)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", igs017_state, mgcs_interrupt, "screen", 0, 1)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mgcs, this));
+ MCFG_MACHINE_RESET_OVERRIDE(igs017_state,mgcs)
// i/o
MCFG_DEVICE_ADD("ppi8255", I8255A, 0)
@@ -3733,9 +3733,9 @@ MACHINE_CONFIG_END
// lhzb2a
-void igs017_state::machine_reset_lhzb2a()
+MACHINE_RESET_MEMBER(igs017_state,lhzb2a)
{
- machine_reset_mgcs();
+ MACHINE_RESET_CALL_MEMBER( mgcs );
lhzb2a_remap_addr_w(m_maincpu->space(AS_PROGRAM), 0, 0xf0);
}
@@ -3744,7 +3744,7 @@ MACHINE_CONFIG_START(igs017_state::lhzb2a)
MCFG_DEVICE_PROGRAM_MAP(lhzb2a)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", igs017_state, mgcs_interrupt, "screen", 0, 1)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_lhzb2a, this));
+ MCFG_MACHINE_RESET_OVERRIDE(igs017_state,lhzb2a)
// i/o
// MCFG_DEVICE_ADD("ppi8255", I8255A, 0)
@@ -3790,7 +3790,7 @@ MACHINE_CONFIG_START(igs017_state::slqz2)
MCFG_DEVICE_PROGRAM_MAP(slqz2)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", igs017_state, mgcs_interrupt, "screen", 0, 1)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mgcs, this));
+ MCFG_MACHINE_RESET_OVERRIDE(igs017_state,mgcs)
// i/o
MCFG_DEVICE_ADD("ppi8255", I8255A, 0)
@@ -3834,7 +3834,7 @@ MACHINE_CONFIG_START(igs017_state::sdmg2)
MCFG_DEVICE_PROGRAM_MAP(sdmg2)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", igs017_state, mgcs_interrupt, "screen", 0, 1)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mgcs, this));
+ MCFG_MACHINE_RESET_OVERRIDE(igs017_state,mgcs)
// i/o
MCFG_DEVICE_ADD("ppi8255", I8255A, 0)
@@ -3881,7 +3881,7 @@ MACHINE_CONFIG_START(igs017_state::mgdha)
MCFG_DEVICE_PROGRAM_MAP(mgdha_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", igs017_state, mgdh_interrupt, "screen", 0, 1)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mgcs, this));
+ MCFG_MACHINE_RESET_OVERRIDE(igs017_state,mgcs)
// i/o
MCFG_DEVICE_ADD("ppi8255", I8255A, 0)
@@ -3917,7 +3917,7 @@ MACHINE_CONFIG_START(igs017_state::tjsb)
MCFG_DEVICE_IO_MAP(tjsb_io)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", igs017_state, iqblocka_interrupt, "screen", 0, 1)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_iqblocka, this));
+ MCFG_MACHINE_RESET_OVERRIDE(igs017_state,iqblocka)
// i/o
MCFG_DEVICE_ADD("ppi8255", I8255A, 0)
@@ -3959,7 +3959,7 @@ MACHINE_CONFIG_START(igs017_state::spkrform)
MCFG_DEVICE_IO_MAP(spkrform_io)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", igs017_state, iqblocka_interrupt, "screen", 0, 1)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_iqblocka, this));
+ MCFG_MACHINE_RESET_OVERRIDE(igs017_state,iqblocka)
// i/o
MCFG_DEVICE_ADD("ppi8255", I8255A, 0)
diff --git a/src/mame/drivers/igs_fear.cpp b/src/mame/drivers/igs_fear.cpp
index 368b47a7e27..4b44ea36d8c 100644
--- a/src/mame/drivers/igs_fear.cpp
+++ b/src/mame/drivers/igs_fear.cpp
@@ -88,7 +88,7 @@ MACHINE_CONFIG_START(igs_fear_state::igs_fear)
MCFG_SCREEN_SIZE(512, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_igs_fear, this));
+ MCFG_VIDEO_START_OVERRIDE(igs_fear_state, igs_fear)
MCFG_SCREEN_UPDATE_DRIVER(igs_fear_state, screen_update_igs_fear)
MCFG_SCREEN_PALETTE("palette")
diff --git a/src/mame/drivers/igspoker.cpp b/src/mame/drivers/igspoker.cpp
index f7d56426cb0..ee4b8732a24 100644
--- a/src/mame/drivers/igspoker.cpp
+++ b/src/mame/drivers/igspoker.cpp
@@ -134,7 +134,7 @@ public:
TILE_GET_INFO_MEMBER(get_fg_tile_info);
virtual void machine_reset() override;
virtual void video_start() override;
- void video_start_cpokerpk() ATTR_COLD;
+ DECLARE_VIDEO_START(cpokerpk);
uint32_t screen_update_igs_video(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_cpokerpk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(igs_interrupt);
@@ -238,7 +238,7 @@ uint32_t igspoker_state::screen_update_igs_video(screen_device &screen, bitmap_i
return 0;
}
-void igspoker_state::video_start_cpokerpk()
+VIDEO_START_MEMBER(igspoker_state,cpokerpk)
{
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(igspoker_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
}
@@ -1964,7 +1964,7 @@ MACHINE_CONFIG_START(igspoker_state::number10)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(igspoker_state, screen_update_cpokerpk)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cpokerpk, this));
+ MCFG_VIDEO_START_OVERRIDE(igspoker_state,cpokerpk)
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(12'000'000) / 12, okim6295_device::PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
diff --git a/src/mame/drivers/interact.cpp b/src/mame/drivers/interact.cpp
index b1c1d50a7b8..4070d5ed292 100644
--- a/src/mame/drivers/interact.cpp
+++ b/src/mame/drivers/interact.cpp
@@ -73,8 +73,8 @@ public:
m_videoram(*this, "videoram") { }
required_shared_ptr<uint8_t> m_videoram;
- void machine_start_interact() ATTR_COLD;
- void machine_reset_interact() ATTR_COLD;
+ DECLARE_MACHINE_START(interact);
+ DECLARE_MACHINE_RESET(interact);
uint32_t screen_update_interact(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void hector1(machine_config &config);
void interact(machine_config &config);
@@ -106,12 +106,12 @@ void interact_state::interact_mem(address_map &map)
}
-void interact_state::machine_reset_interact()
+MACHINE_RESET_MEMBER(interact_state,interact)
{
hector_reset(0, 0);
}
-void interact_state::machine_start_interact()
+MACHINE_START_MEMBER(interact_state,interact)
{
hector_init();
}
@@ -131,8 +131,8 @@ MACHINE_CONFIG_START(interact_state::interact)
MCFG_DEVICE_PROGRAM_MAP(interact_mem)
MCFG_DEVICE_PERIODIC_INT_DRIVER(interact_state, irq0_line_hold, 50) /* put on the I8080 irq in Hz*/
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_interact, this));
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_interact, this));
+ MCFG_MACHINE_RESET_OVERRIDE(interact_state,interact)
+ MCFG_MACHINE_START_OVERRIDE(interact_state,interact)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -145,7 +145,7 @@ MACHINE_CONFIG_START(interact_state::interact)
MCFG_PALETTE_ADD("palette", 16) /* 8 colours, but only 4 at a time*/
- set_video_start_cb(config, driver_callback_delegate(&video_start_hec2hrp, this));
+ MCFG_VIDEO_START_OVERRIDE(interact_state,hec2hrp)
hector_audio(config);
@@ -168,8 +168,8 @@ MACHINE_CONFIG_START(interact_state::hector1)
MCFG_DEVICE_PROGRAM_MAP(interact_mem)
MCFG_DEVICE_PERIODIC_INT_DRIVER(interact_state, irq0_line_hold, 50) /* put on the I8080 irq in Hz*/
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_interact, this));
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_interact, this));
+ MCFG_MACHINE_RESET_OVERRIDE(interact_state,interact)
+ MCFG_MACHINE_START_OVERRIDE(interact_state,interact)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -182,7 +182,7 @@ MACHINE_CONFIG_START(interact_state::hector1)
MCFG_PALETTE_ADD("palette", 16) /* 8 colours, but only 4 at a time*/
- set_video_start_cb(config, driver_callback_delegate(&video_start_hec2hrp, this));
+ MCFG_VIDEO_START_OVERRIDE(interact_state,hec2hrp)
hector_audio(config);
diff --git a/src/mame/drivers/ironhors.cpp b/src/mame/drivers/ironhors.cpp
index 05b7ceea5e9..624a97dde3e 100644
--- a/src/mame/drivers/ironhors.cpp
+++ b/src/mame/drivers/ironhors.cpp
@@ -457,7 +457,7 @@ MACHINE_CONFIG_START(ironhors_state::farwest)
MCFG_DEVICE_REMOVE_ADDRESS_MAP(AS_IO)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_farwest)
- set_video_start_cb(config, driver_callback_delegate(&video_start_farwest, this));
+ MCFG_VIDEO_START_OVERRIDE(ironhors_state,farwest)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(ironhors_state, screen_update_farwest)
diff --git a/src/mame/drivers/itech32.cpp b/src/mame/drivers/itech32.cpp
index 718280536b8..d6b2b620300 100644
--- a/src/mame/drivers/itech32.cpp
+++ b/src/mame/drivers/itech32.cpp
@@ -477,7 +477,7 @@ void itech32_state::machine_reset()
}
-void itech32_state::machine_reset_drivedge()
+MACHINE_RESET_MEMBER(itech32_state,drivedge)
{
itech32_state::machine_reset();
@@ -1769,7 +1769,7 @@ MACHINE_CONFIG_START(itech32_state::drivedge)
// MCFG_DEVICE_ADD("comm", M6803, 8000000/4) -- network CPU
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_drivedge, this));
+ MCFG_MACHINE_RESET_OVERRIDE(itech32_state,drivedge)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/itech8.cpp b/src/mame/drivers/itech8.cpp
index 38a8be4d395..c74dd664527 100644
--- a/src/mame/drivers/itech8.cpp
+++ b/src/mame/drivers/itech8.cpp
@@ -603,7 +603,7 @@ WRITE8_MEMBER(itech8_state::nmi_ack_w)
-void itech8_state::machine_start_sstrike()
+MACHINE_START_MEMBER(itech8_state,sstrike)
{
/* we need to update behind the beam as well */
m_behind_beam_update_timer = timer_alloc(TIMER_BEHIND_BEAM_UPDATE);
@@ -1874,7 +1874,7 @@ MACHINE_CONFIG_START(itech8_state::slikshot_hi)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(itech8_state, screen_update_slikshot)
- set_video_start_cb(config, driver_callback_delegate(&video_start_slikshot, this));
+ MCFG_VIDEO_START_OVERRIDE(itech8_state,slikshot)
MACHINE_CONFIG_END
@@ -1892,7 +1892,7 @@ MACHINE_CONFIG_START(itech8_state::slikshot_lo)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(itech8_state, screen_update_slikshot)
- set_video_start_cb(config, driver_callback_delegate(&video_start_slikshot, this));
+ MCFG_VIDEO_START_OVERRIDE(itech8_state,slikshot)
MACHINE_CONFIG_END
@@ -1913,7 +1913,7 @@ MACHINE_CONFIG_START(itech8_state::sstrike)
slikshot_lo(config);
/* basic machine hardware */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_sstrike, this));
+ MCFG_MACHINE_START_OVERRIDE(itech8_state,sstrike)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/jack.cpp b/src/mame/drivers/jack.cpp
index c01265341bd..4b2fcd553fb 100644
--- a/src/mame/drivers/jack.cpp
+++ b/src/mame/drivers/jack.cpp
@@ -877,14 +877,14 @@ void jack_state::machine_reset()
}
-void jack_state::machine_start_striv()
+MACHINE_START_MEMBER(jack_state,striv)
{
save_item(NAME(m_question_address));
save_item(NAME(m_question_rom));
save_item(NAME(m_remap_address));
}
-void jack_state::machine_reset_striv()
+MACHINE_RESET_MEMBER(jack_state,striv)
{
m_question_address = 0;
m_question_rom = 0;
@@ -894,7 +894,7 @@ void jack_state::machine_reset_striv()
}
-void jack_state::machine_start_joinem()
+MACHINE_START_MEMBER(jack_state,joinem)
{
m_joinem_palette_bank = 0;
@@ -902,7 +902,7 @@ void jack_state::machine_start_joinem()
save_item(NAME(m_joinem_palette_bank));
}
-void jack_state::machine_reset_joinem()
+MACHINE_RESET_MEMBER(jack_state,joinem)
{
joinem_control_w(m_maincpu->space(AS_PROGRAM), 0, 0, 0xff);
}
@@ -962,8 +962,8 @@ MACHINE_CONFIG_START(jack_state::striv)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(striv_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_striv, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_striv, this));
+ MCFG_MACHINE_START_OVERRIDE(jack_state,striv)
+ MCFG_MACHINE_RESET_OVERRIDE(jack_state,striv)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -988,8 +988,8 @@ MACHINE_CONFIG_START(jack_state::joinem)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", jack_state, joinem_vblank_irq)
MCFG_DEVICE_PERIODIC_INT_DRIVER(jack_state, irq0_line_hold, 250) // ??? controls game speed
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_joinem, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_joinem, this));
+ MCFG_MACHINE_START_OVERRIDE(jack_state,joinem)
+ MCFG_MACHINE_RESET_OVERRIDE(jack_state,joinem)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -1001,7 +1001,7 @@ MACHINE_CONFIG_START(jack_state::joinem)
MCFG_PALETTE_ADD("palette", 64)
MCFG_PALETTE_INIT_OWNER(jack_state, joinem)
- set_video_start_cb(config, driver_callback_delegate(&video_start_joinem, this));
+ MCFG_VIDEO_START_OVERRIDE(jack_state,joinem)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/jalmah.cpp b/src/mame/drivers/jalmah.cpp
index fbf17f8c5f3..5c578686ae7 100644
--- a/src/mame/drivers/jalmah.cpp
+++ b/src/mame/drivers/jalmah.cpp
@@ -215,7 +215,7 @@ public:
TILE_GET_INFO_MEMBER(get_sc3_tile_info);
virtual void machine_reset() override;
virtual void video_start() override;
- void video_start_urashima() ATTR_COLD;
+ DECLARE_VIDEO_START(urashima);
uint32_t screen_update_jalmah(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_urashima(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(jalmah_mcu_sim);
@@ -369,7 +369,7 @@ void jalmah_state::video_start()
m_sc3_tilemap_3->set_transparent_pen(15);
}
-void jalmah_state::video_start_urashima()
+VIDEO_START_MEMBER(jalmah_state,urashima)
{
m_sc0_tilemap_0 = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),this),tilemap_mapper_delegate(FUNC(jalmah_state::range0_16x16),this),16,16,256,32);
m_sc3_tilemap_0 = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),this),tilemap_mapper_delegate(FUNC(jalmah_state::range2_8x8),this),8,8,128,64);
@@ -1459,7 +1459,7 @@ MACHINE_CONFIG_START(jalmah_state::urashima)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_urashima)
- set_video_start_cb(config, driver_callback_delegate(&video_start_urashima, this));
+ MCFG_VIDEO_START_OVERRIDE(jalmah_state,urashima)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(jalmah_state, screen_update_urashima)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/jangou.cpp b/src/mame/drivers/jangou.cpp
index 19c82ca1b7f..ac4aa792ad6 100644
--- a/src/mame/drivers/jangou.cpp
+++ b/src/mame/drivers/jangou.cpp
@@ -100,10 +100,10 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
DECLARE_PALETTE_INIT(jangou);
- void machine_start_jngolady() ATTR_COLD;
- void machine_reset_jngolady();
- void machine_start_common() ATTR_COLD;
- void machine_reset_common();
+ DECLARE_MACHINE_START(jngolady);
+ DECLARE_MACHINE_RESET(jngolady);
+ DECLARE_MACHINE_START(common);
+ DECLARE_MACHINE_RESET(common);
uint32_t screen_update_jangou(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(cvsd_bit_timer_callback);
DECLARE_WRITE_LINE_MEMBER(jngolady_vclk_cb);
@@ -815,14 +815,14 @@ INPUT_PORTS_END
*
*************************************/
-void jangou_state::machine_start_common()
+MACHINE_START_MEMBER(jangou_state,common)
{
save_item(NAME(m_mux_data));
}
void jangou_state::machine_start()
{
- machine_start_common();
+ MACHINE_START_CALL_MEMBER(common);
save_item(NAME(m_cvsd_shiftreg));
save_item(NAME(m_cvsd_shift_cnt));
@@ -832,9 +832,9 @@ void jangou_state::machine_start()
m_cvsd_bit_timer->adjust(attotime::from_hz(MASTER_CLOCK / 1024), 0, attotime::from_hz(MASTER_CLOCK / 1024));
}
-void jangou_state::machine_start_jngolady()
+MACHINE_START_MEMBER(jangou_state,jngolady)
{
- machine_start_common();
+ MACHINE_START_CALL_MEMBER(common);
save_item(NAME(m_adpcm_byte));
save_item(NAME(m_msm5205_vclk_toggle));
@@ -842,22 +842,22 @@ void jangou_state::machine_start_jngolady()
save_item(NAME(m_z80_latch));
}
-void jangou_state::machine_reset_common()
+MACHINE_RESET_MEMBER(jangou_state,common)
{
m_mux_data = 0;
}
void jangou_state::machine_reset()
{
- machine_reset_common();
+ MACHINE_RESET_CALL_MEMBER(common);
m_cvsd_shiftreg = 0;
m_cvsd_shift_cnt = 0;
}
-void jangou_state::machine_reset_jngolady()
+MACHINE_RESET_MEMBER(jangou_state,jngolady)
{
- machine_reset_common();
+ MACHINE_RESET_CALL_MEMBER(common);
m_adpcm_byte = 0;
m_msm5205_vclk_toggle = 0;
@@ -918,8 +918,8 @@ MACHINE_CONFIG_START(jangou_state::jngolady)
MCFG_DEVICE_ADD("nsc", NSC8105, MASTER_CLOCK / 8)
MCFG_DEVICE_PROGRAM_MAP(nsc_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_jngolady, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_jngolady, this));
+ MCFG_MACHINE_START_OVERRIDE(jangou_state,jngolady)
+ MCFG_MACHINE_RESET_OVERRIDE(jangou_state,jngolady)
/* sound hardware */
MCFG_DEVICE_REMOVE("cvsd")
@@ -941,8 +941,8 @@ MACHINE_CONFIG_START(jangou_state::cntrygrl)
MCFG_DEVICE_REMOVE("cpu1")
- 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(jangou_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(jangou_state,common)
/* sound hardware */
MCFG_DEVICE_REMOVE("cvsd")
@@ -962,8 +962,8 @@ MACHINE_CONFIG_START(jangou_state::roylcrdn)
MCFG_NVRAM_ADD_0FILL("nvram")
- 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(jangou_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(jangou_state,common)
/* sound hardware */
MCFG_DEVICE_REMOVE("cvsd")
diff --git a/src/mame/drivers/jclub2.cpp b/src/mame/drivers/jclub2.cpp
index ee1c5466171..b849f97ba1b 100644
--- a/src/mame/drivers/jclub2.cpp
+++ b/src/mame/drivers/jclub2.cpp
@@ -246,7 +246,7 @@ public:
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
void init_darkhors();
- void video_start_darkhors() ATTR_COLD;
+ DECLARE_VIDEO_START(darkhors);
void darkhors(machine_config &config);
void darkhors_map(address_map &map);
@@ -388,7 +388,7 @@ void darkhors_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
}
}
-void darkhors_state::video_start_darkhors()
+VIDEO_START_MEMBER(darkhors_state,darkhors)
{
m_tmap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(darkhors_state::get_tile_info_0),this), TILEMAP_SCAN_ROWS,16,16, 0x40,0x40);
m_tmap2= &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(darkhors_state::get_tile_info_1),this), TILEMAP_SCAN_ROWS,16,16, 0x40,0x40);
@@ -1229,7 +1229,7 @@ MACHINE_CONFIG_START(darkhors_state::darkhors)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_darkhors)
- set_video_start_cb(config, driver_callback_delegate(&video_start_darkhors, this));
+ MCFG_VIDEO_START_OVERRIDE(darkhors_state, darkhors)
// layout
MCFG_DEFAULT_LAYOUT(layout_jclub2)
diff --git a/src/mame/drivers/jpmimpct.cpp b/src/mame/drivers/jpmimpct.cpp
index d4fef263350..c88b3a3a831 100644
--- a/src/mame/drivers/jpmimpct.cpp
+++ b/src/mame/drivers/jpmimpct.cpp
@@ -144,7 +144,7 @@ void jpmimpct_state::update_irqs()
*
*************************************/
-void jpmimpct_state::machine_start_jpmimpct()
+MACHINE_START_MEMBER(jpmimpct_state,jpmimpct)
{
m_digits.resolve();
@@ -160,7 +160,7 @@ void jpmimpct_state::machine_start_jpmimpct()
}
-void jpmimpct_state::machine_reset_jpmimpct()
+MACHINE_RESET_MEMBER(jpmimpct_state,jpmimpct)
{
memset(&m_duart_1, 0, sizeof(m_duart_1));
@@ -855,8 +855,8 @@ MACHINE_CONFIG_START(jpmimpct_state::jpmimpct)
MCFG_TMS340X0_FROM_SHIFTREG_CB(jpmimpct_state, from_shiftreg) /* read from shiftreg function */
MCFG_QUANTUM_TIME(attotime::from_hz(30000))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_jpmimpct, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_jpmimpct, this));
+ MCFG_MACHINE_START_OVERRIDE(jpmimpct_state,jpmimpct)
+ MCFG_MACHINE_RESET_OVERRIDE(jpmimpct_state,jpmimpct)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_TIMER_DRIVER_ADD("duart_1_timer", jpmimpct_state, duart_1_timer_event)
@@ -870,7 +870,7 @@ MACHINE_CONFIG_START(jpmimpct_state::jpmimpct)
MCFG_DEVICE_ADD("upd", UPD7759)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
- set_video_start_cb(config, driver_callback_delegate(&video_start_jpmimpct, this));
+ MCFG_VIDEO_START_OVERRIDE(jpmimpct_state,jpmimpct)
MCFG_DEVICE_ADD("meters", METERS, 0)
MCFG_METERS_NUMBER(5)
@@ -965,7 +965,7 @@ WRITE8_MEMBER(jpmimpct_state::display_c_w)
m_vfd->sclk(data & 0x01);
}
-void jpmimpct_state::machine_start_impctawp()
+MACHINE_START_MEMBER(jpmimpct_state,impctawp)
{
save_item(NAME(m_duart_1_irq));
save_item(NAME(m_touch_cnt));
@@ -977,7 +977,7 @@ void jpmimpct_state::machine_start_impctawp()
save_item(NAME(m_duart_1.CT));
}
-void jpmimpct_state::machine_reset_impctawp()
+MACHINE_RESET_MEMBER(jpmimpct_state,impctawp)
{
memset(&m_duart_1, 0, sizeof(m_duart_1));
@@ -1319,8 +1319,8 @@ MACHINE_CONFIG_START(jpmimpct_state::impctawp)
MCFG_QUANTUM_TIME(attotime::from_hz(30000))
MCFG_S16LF01_ADD("vfd",0)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_impctawp, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_impctawp, this));
+ MCFG_MACHINE_START_OVERRIDE(jpmimpct_state,impctawp)
+ MCFG_MACHINE_RESET_OVERRIDE(jpmimpct_state,impctawp)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_DEVICE_ADD("ppi8255", I8255, 0)
diff --git a/src/mame/drivers/jrpacman.cpp b/src/mame/drivers/jrpacman.cpp
index 32deb4b813a..948b257c874 100644
--- a/src/mame/drivers/jrpacman.cpp
+++ b/src/mame/drivers/jrpacman.cpp
@@ -311,7 +311,7 @@ MACHINE_CONFIG_START(jrpacman_state::jrpacman)
MCFG_PALETTE_ADD("palette", 128*4)
MCFG_PALETTE_INDIRECT_ENTRIES(32)
MCFG_PALETTE_INIT_OWNER(jrpacman_state,pacman)
- set_video_start_cb(config, driver_callback_delegate(&video_start_jrpacman, this));
+ MCFG_VIDEO_START_OVERRIDE(jrpacman_state,jrpacman)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/kaneko16.cpp b/src/mame/drivers/kaneko16.cpp
index 32671e7030d..cda66326665 100644
--- a/src/mame/drivers/kaneko16.cpp
+++ b/src/mame/drivers/kaneko16.cpp
@@ -118,12 +118,12 @@ Non-Bugs (happen on real PCB)
-void kaneko16_state::machine_reset_gtmr()
+MACHINE_RESET_MEMBER(kaneko16_state,gtmr)
{
m_VIEW2_2_pri = 1;
}
-void kaneko16_state::machine_reset_mgcrystl()
+MACHINE_RESET_MEMBER(kaneko16_state,mgcrystl)
{
m_VIEW2_2_pri = 0;
}
@@ -1810,7 +1810,7 @@ MACHINE_CONFIG_START(kaneko16_berlwall_state::berlwall)
MCFG_KANEKO16_SPRITE_OFFSETS(0, -1*64)
MCFG_KANEKO16_SPRITE_GFXDECODE("gfxdecode")
- set_video_start_cb(config, driver_callback_delegate(&video_start_berlwall, this));
+ MCFG_VIDEO_START_OVERRIDE(kaneko16_berlwall_state,berlwall)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1847,7 +1847,7 @@ MACHINE_CONFIG_START(kaneko16_state::bakubrkr)
MCFG_DEVICE_PROGRAM_MAP(bakubrkr)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", kaneko16_state, kaneko16_interrupt, "screen", 0, 1)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_gtmr, this));
+ MCFG_MACHINE_RESET_OVERRIDE(kaneko16_state,gtmr)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_WATCHDOG_ADD("watchdog")
@@ -1883,7 +1883,7 @@ MACHINE_CONFIG_START(kaneko16_state::bakubrkr)
- set_video_start_cb(config, driver_callback_delegate(&video_start_kaneko16, this));
+ MCFG_VIDEO_START_OVERRIDE(kaneko16_state,kaneko16)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1953,7 +1953,7 @@ MACHINE_CONFIG_START(kaneko16_state::blazeon)
// there is actually a 2nd sprite chip! looks like our device emulation handles both at once
- set_video_start_cb(config, driver_callback_delegate(&video_start_kaneko16, this));
+ MCFG_VIDEO_START_OVERRIDE(kaneko16_state,kaneko16)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -2009,7 +2009,7 @@ MACHINE_CONFIG_START(kaneko16_state::wingforc)
// there is actually a 2nd sprite chip! looks like our device emulation handles both at once
- set_video_start_cb(config, driver_callback_delegate(&video_start_kaneko16, this));
+ MCFG_VIDEO_START_OVERRIDE(kaneko16_state,kaneko16)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2058,7 +2058,7 @@ MACHINE_CONFIG_START(kaneko16_gtmr_state::gtmr)
MCFG_DEVICE_PROGRAM_MAP(gtmr_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", kaneko16_state, kaneko16_interrupt, "screen", 0, 1)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_gtmr, this));
+ MCFG_MACHINE_RESET_OVERRIDE(kaneko16_gtmr_state,gtmr)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
@@ -2097,7 +2097,7 @@ MACHINE_CONFIG_START(kaneko16_gtmr_state::gtmr)
MCFG_KANEKO_HIT_TYPE(1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_kaneko16, this));
+ MCFG_VIDEO_START_OVERRIDE(kaneko16_gtmr_state,kaneko16)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2140,7 +2140,7 @@ MACHINE_CONFIG_START(kaneko16_gtmr_state::bloodwar)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(bloodwar)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_gtmr, this));
+ MCFG_MACHINE_RESET_OVERRIDE(kaneko16_gtmr_state, gtmr )
MCFG_DEVICE_MODIFY("kan_spr")
MCFG_KANEKO16_SPRITE_PRIORITIES(2 /* never used? */ ,3 /* character selection / vs. portraits */ ,5 /* winning portrait*/ ,7 /* ? */)
@@ -2162,7 +2162,7 @@ MACHINE_CONFIG_START(kaneko16_gtmr_state::bonkadv)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(bonkadv)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_gtmr, this));
+ MCFG_MACHINE_RESET_OVERRIDE(kaneko16_gtmr_state, gtmr )
MCFG_DEVICE_MODIFY("kan_spr")
MCFG_KANEKO16_SPRITE_PRIORITIES(2 /* never used? */ ,3 /* volcano lava on level 2 */ ,5 /* in-game player */ ,7 /* demostration text */)
@@ -2187,7 +2187,7 @@ MACHINE_CONFIG_START(kaneko16_state::mgcrystl)
MCFG_DEVICE_PROGRAM_MAP(mgcrystl)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", kaneko16_state, kaneko16_interrupt, "screen", 0, 1)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mgcrystl, this));
+ MCFG_MACHINE_RESET_OVERRIDE(kaneko16_state,mgcrystl)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_WATCHDOG_ADD("watchdog")
@@ -2222,7 +2222,7 @@ MACHINE_CONFIG_START(kaneko16_state::mgcrystl)
- set_video_start_cb(config, driver_callback_delegate(&video_start_kaneko16, this));
+ MCFG_VIDEO_START_OVERRIDE(kaneko16_state,kaneko16)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2307,7 +2307,7 @@ MACHINE_CONFIG_START(kaneko16_shogwarr_state::shogwarr)
MCFG_DEVICE_PROGRAM_MAP(shogwarr)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", kaneko16_shogwarr_state, shogwarr_interrupt, "screen", 0, 1)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mgcrystl, this));
+ MCFG_MACHINE_RESET_OVERRIDE(kaneko16_shogwarr_state,mgcrystl)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_EEPROM_SERIAL_DATA(shogwarr_default_eeprom, 128)
@@ -2333,7 +2333,7 @@ MACHINE_CONFIG_START(kaneko16_shogwarr_state::shogwarr)
MCFG_KANEKO_TMAP_OFFSET(0x33, -0x8, 320, 240)
MCFG_KANEKO_TMAP_GFXDECODE("gfxdecode")
- set_video_start_cb(config, driver_callback_delegate(&video_start_kaneko16, this));
+ MCFG_VIDEO_START_OVERRIDE(kaneko16_shogwarr_state,kaneko16)
MCFG_DEVICE_ADD_VU002_SPRITES
MCFG_KANEKO16_SPRITE_PRIORITIES(1 /* below all */ ,3 /* above tile[0], below the others */ ,5 /* above all */ ,7 /* above all */)
diff --git a/src/mame/drivers/kangaroo.cpp b/src/mame/drivers/kangaroo.cpp
index 93652eee9f0..9ce4c4ee785 100644
--- a/src/mame/drivers/kangaroo.cpp
+++ b/src/mame/drivers/kangaroo.cpp
@@ -182,7 +182,7 @@ void kangaroo_state::machine_start()
}
-void kangaroo_state::machine_start_kangaroo_mcu()
+MACHINE_START_MEMBER(kangaroo_state,kangaroo_mcu)
{
kangaroo_state::machine_start();
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xef00, 0xefff, read8_delegate(FUNC(kangaroo_state::mcu_sim_r),this), write8_delegate(FUNC(kangaroo_state::mcu_sim_w),this));
@@ -463,7 +463,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(kangaroo_state::mcu)
nomcu(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_kangaroo_mcu, this));
+ MCFG_MACHINE_START_OVERRIDE(kangaroo_state,kangaroo_mcu)
MCFG_DEVICE_ADD("mcu", MB8841, MASTER_CLOCK/4/2)
MCFG_DEVICE_DISABLE()
diff --git a/src/mame/drivers/karnov.cpp b/src/mame/drivers/karnov.cpp
index e709dba8290..dcfee9c0010 100644
--- a/src/mame/drivers/karnov.cpp
+++ b/src/mame/drivers/karnov.cpp
@@ -838,7 +838,7 @@ MACHINE_CONFIG_START(karnov_state::karnov)
MCFG_DECO_KARNOVSPRITES_GFX_REGION(2)
MCFG_DECO_KARNOVSPRITES_GFXDECODE("gfxdecode")
- set_video_start_cb(config, driver_callback_delegate(&video_start_karnov, this));
+ MCFG_VIDEO_START_OVERRIDE(karnov_state,karnov)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -916,7 +916,7 @@ MACHINE_CONFIG_START(karnov_state::wndrplnt)
MCFG_DECO_KARNOVSPRITES_GFX_REGION(2)
MCFG_DECO_KARNOVSPRITES_GFXDECODE("gfxdecode")
- set_video_start_cb(config, driver_callback_delegate(&video_start_wndrplnt, this));
+ MCFG_VIDEO_START_OVERRIDE(karnov_state,wndrplnt)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/kaypro.cpp b/src/mame/drivers/kaypro.cpp
index 32fe9e863c5..e5528315443 100644
--- a/src/mame/drivers/kaypro.cpp
+++ b/src/mame/drivers/kaypro.cpp
@@ -202,8 +202,8 @@ MACHINE_CONFIG_START(kaypro_state::kayproii)
MCFG_DEVICE_IO_MAP(kayproii_io)
MCFG_Z80_DAISY_CHAIN(kayproii_daisy_chain)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_kayproii, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_kaypro, this));
+ MCFG_MACHINE_START_OVERRIDE(kaypro_state, kayproii )
+ MCFG_MACHINE_RESET_OVERRIDE(kaypro_state, kaypro )
/* video hardware */
MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
@@ -211,7 +211,7 @@ MACHINE_CONFIG_START(kaypro_state::kayproii)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(80*7, 24*10)
MCFG_SCREEN_VISIBLE_AREA(0,80*7-1,0,24*10-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_kaypro, this));
+ MCFG_VIDEO_START_OVERRIDE(kaypro_state, kaypro )
MCFG_SCREEN_UPDATE_DRIVER(kaypro_state, screen_update_kayproii)
MCFG_SCREEN_PALETTE("palette")
@@ -294,7 +294,7 @@ MACHINE_CONFIG_START(kaypro_state::kaypro484)
MCFG_DEVICE_IO_MAP(kaypro484_io)
MCFG_Z80_DAISY_CHAIN(kaypro484_daisy_chain)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_kaypro, this));
+ MCFG_MACHINE_RESET_OVERRIDE(kaypro_state, kaypro )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -302,7 +302,7 @@ MACHINE_CONFIG_START(kaypro_state::kaypro484)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(80*8, 25*16)
MCFG_SCREEN_VISIBLE_AREA(0,80*8-1,0,25*16-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_kaypro, this));
+ MCFG_VIDEO_START_OVERRIDE(kaypro_state, kaypro )
MCFG_SCREEN_UPDATE_DRIVER(kaypro_state, screen_update_kaypro484)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_kaypro484)
diff --git a/src/mame/drivers/kchamp.cpp b/src/mame/drivers/kchamp.cpp
index 70f4bfbf94c..79f04132c26 100644
--- a/src/mame/drivers/kchamp.cpp
+++ b/src/mame/drivers/kchamp.cpp
@@ -384,15 +384,15 @@ INTERRUPT_GEN_MEMBER(kchamp_state::sound_int)
}
-void kchamp_state::machine_start_kchamp()
+MACHINE_START_MEMBER(kchamp_state,kchamp)
{
save_item(NAME(m_nmi_enable));
save_item(NAME(m_sound_nmi_enable));
}
-void kchamp_state::machine_start_kchampvs()
+MACHINE_START_MEMBER(kchamp_state,kchampvs)
{
- machine_start_kchamp();
+ MACHINE_START_CALL_MEMBER(kchamp);
save_item(NAME(m_msm_play_lo_nibble));
}
@@ -421,7 +421,7 @@ MACHINE_CONFIG_START(kchamp_state::kchampvs)
MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE(*this, kchamp_state, nmi_enable_w))
MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(WRITELINE(*this, kchamp_state, sound_reset_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_kchampvs, this));
+ MCFG_MACHINE_START_OVERRIDE(kchamp_state,kchampvs)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -481,7 +481,7 @@ MACHINE_CONFIG_START(kchamp_state::kchamp)
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, kchamp_state, flipscreen_w))
MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE(*this, kchamp_state, nmi_enable_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_kchamp, this));
+ MCFG_MACHINE_START_OVERRIDE(kchamp_state,kchamp)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/kickgoal.cpp b/src/mame/drivers/kickgoal.cpp
index f6deb32dedb..41e816814d3 100644
--- a/src/mame/drivers/kickgoal.cpp
+++ b/src/mame/drivers/kickgoal.cpp
@@ -661,7 +661,7 @@ MACHINE_CONFIG_START(kickgoal_state::kickgoal)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_kickgoal, this));
+ MCFG_VIDEO_START_OVERRIDE(kickgoal_state,kickgoal)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -700,7 +700,7 @@ MACHINE_CONFIG_START(kickgoal_state::actionhw)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_actionhw, this));
+ MCFG_VIDEO_START_OVERRIDE(kickgoal_state,actionhw)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/kingobox.cpp b/src/mame/drivers/kingobox.cpp
index 77216a25b36..00941770e84 100644
--- a/src/mame/drivers/kingobox.cpp
+++ b/src/mame/drivers/kingobox.cpp
@@ -503,7 +503,7 @@ MACHINE_CONFIG_START(kingofb_state::kingofb)
MCFG_PALETTE_ADD("palette", 256+8*2)
MCFG_PALETTE_INDIRECT_ENTRIES(256+8)
MCFG_PALETTE_INIT_OWNER(kingofb_state,kingofb)
- set_video_start_cb(config, driver_callback_delegate(&video_start_kingofb, this));
+ MCFG_VIDEO_START_OVERRIDE(kingofb_state,kingofb)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -562,7 +562,7 @@ MACHINE_CONFIG_START(kingofb_state::ringking)
MCFG_PALETTE_ADD("palette", 256+8*2)
MCFG_PALETTE_INDIRECT_ENTRIES(256+8)
MCFG_PALETTE_INIT_OWNER(kingofb_state,ringking)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ringking, this));
+ MCFG_VIDEO_START_OVERRIDE(kingofb_state,ringking)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
diff --git a/src/mame/drivers/konamigq.cpp b/src/mame/drivers/konamigq.cpp
index 822f1b86298..879a152d852 100644
--- a/src/mame/drivers/konamigq.cpp
+++ b/src/mame/drivers/konamigq.cpp
@@ -118,8 +118,8 @@ public:
DECLARE_READ16_MEMBER(tms57002_status_word_r);
DECLARE_WRITE16_MEMBER(tms57002_control_word_w);
void init_konamigq();
- void machine_start_konamigq() ATTR_COLD;
- void machine_reset_konamigq();
+ DECLARE_MACHINE_START(konamigq);
+ DECLARE_MACHINE_RESET(konamigq);
INTERRUPT_GEN_MEMBER(tms_sync);
DECLARE_WRITE_LINE_MEMBER(k054539_irq_gen);
@@ -316,14 +316,14 @@ void konamigq_state::init_konamigq()
{
}
-void konamigq_state::machine_start_konamigq()
+MACHINE_START_MEMBER(konamigq_state,konamigq)
{
save_item(NAME(m_sector_buffer));
save_item(NAME(m_sound_ctrl));
save_item(NAME(m_sound_intck));
}
-void konamigq_state::machine_reset_konamigq()
+MACHINE_RESET_MEMBER(konamigq_state,konamigq)
{
}
@@ -345,8 +345,8 @@ MACHINE_CONFIG_START(konamigq_state::konamigq)
MCFG_DEVICE_DATA_MAP(konamigq_dasp_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(konamigq_state, tms_sync, 48000)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_konamigq, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_konamigq, this));
+ MCFG_MACHINE_START_OVERRIDE(konamigq_state, konamigq)
+ MCFG_MACHINE_RESET_OVERRIDE(konamigq_state, konamigq)
MCFG_DEVICE_ADD("mb89371", MB89371, 0)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
diff --git a/src/mame/drivers/konamigx.cpp b/src/mame/drivers/konamigx.cpp
index e7203129a6d..a34811342e4 100644
--- a/src/mame/drivers/konamigx.cpp
+++ b/src/mame/drivers/konamigx.cpp
@@ -1630,8 +1630,8 @@ MACHINE_CONFIG_START(konamigx_state::konamigx)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_konamigx, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_konamigx, this));
+ MCFG_MACHINE_START_OVERRIDE(konamigx_state,konamigx)
+ MCFG_MACHINE_RESET_OVERRIDE(konamigx_state,konamigx)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
@@ -1671,7 +1671,7 @@ MACHINE_CONFIG_START(konamigx_state::konamigx)
MCFG_K055673_SET_SCREEN("screen")
MCFG_K055673_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_konamigx_5bpp, this));
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state, konamigx_5bpp)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1730,7 +1730,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(konamigx_state::dragoonj)
konamigx(config);
MCFG_SCREEN_MODIFY("screen")
- set_video_start_cb(config, driver_callback_delegate(&video_start_dragoonj, this));
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state, dragoonj)
MCFG_DEVICE_MODIFY("k053252")
MCFG_K053252_OFFSETS(24+16, 16)
@@ -1745,7 +1745,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(konamigx_state::le2)
konamigx(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_le2, this));
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state, le2)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", konamigx_state, konamigx_type2_scanline, "screen", 0, 1)
MCFG_DEVICE_MODIFY("k056832")
@@ -1758,7 +1758,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(konamigx_state::konamigx_6bpp)
konamigx(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_konamigx_6bpp, this));
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state, konamigx_6bpp)
MCFG_DEVICE_MODIFY("k056832")
MCFG_K056832_CONFIG("gfx1", K056832_BPP_6, 0, 0, "none")
@@ -1784,7 +1784,7 @@ MACHINE_CONFIG_START(konamigx_state::opengolf)
MCFG_SCREEN_VISIBLE_AREA(40, 40+384-1, 16, 16+224-1)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_opengolf)
- set_video_start_cb(config, driver_callback_delegate(&video_start_opengolf, this));
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state, opengolf)
MCFG_DEVICE_MODIFY("k055673")
MCFG_K055673_CONFIG("gfx2", K055673_LAYOUT_GX6, -53, -23)
@@ -1803,7 +1803,7 @@ MACHINE_CONFIG_START(konamigx_state::racinfrc)
//MCFG_SCREEN_VISIBLE_AREA(32, 32+384-1, 16, 16+224-1)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_racinfrc)
- set_video_start_cb(config, driver_callback_delegate(&video_start_racinfrc, this));
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state, racinfrc)
MCFG_DEVICE_MODIFY("k053252")
MCFG_K053252_OFFSETS(24-8+16, 0)
@@ -1831,7 +1831,7 @@ MACHINE_CONFIG_START(konamigx_state::gxtype3)
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_type3)
- set_video_start_cb(config, driver_callback_delegate(&video_start_konamigx_type3, this));
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state, konamigx_type3)
MCFG_DEVICE_MODIFY("k053252")
MCFG_K053252_OFFSETS(0, 16)
@@ -1890,7 +1890,7 @@ MACHINE_CONFIG_START(konamigx_state::gxtype4)
MCFG_PALETTE_ENABLE_HILIGHTS()
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_type4)
- set_video_start_cb(config, driver_callback_delegate(&video_start_konamigx_type4, this));
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state, konamigx_type4)
MCFG_DEVICE_MODIFY("k053252")
MCFG_K053252_OFFSETS(0, 16)
@@ -1920,7 +1920,7 @@ MACHINE_CONFIG_START(konamigx_state::gxtype4_vsn)
MCFG_SCREEN_SIZE(1024, 1024)
MCFG_SCREEN_VISIBLE_AREA(0, 576-1, 16, 32*8-1-16)
- set_video_start_cb(config, driver_callback_delegate(&video_start_konamigx_type4_vsn, this));
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state, konamigx_type4_vsn)
MCFG_DEVICE_MODIFY("k056832")
MCFG_K056832_CONFIG("gfx1", K056832_BPP_8, 0, 2, "none") // set djmain_hack to 2 to kill layer association or half the tilemaps vanish on screen 0
@@ -1931,7 +1931,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(konamigx_state::gxtype4sd2)
gxtype4(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_konamigx_type4_sd2, this));
+ MCFG_VIDEO_START_OVERRIDE(konamigx_state, konamigx_type4_sd2)
MCFG_DEVICE_MODIFY("k055673")
MCFG_K055673_CONFIG("gfx2", K055673_LAYOUT_GX6, -81, -23)
@@ -3725,7 +3725,7 @@ ROM_END
/**********************************************************************************/
/* initializers */
-void konamigx_state::machine_start_konamigx()
+MACHINE_START_MEMBER(konamigx_state,konamigx)
{
save_item(NAME(m_sound_ctrl));
save_item(NAME(m_sound_intck));
@@ -3740,7 +3740,7 @@ void konamigx_state::machine_start_konamigx()
save_item(NAME(m_prev_pixel_clock));
}
-void konamigx_state::machine_reset_konamigx()
+MACHINE_RESET_MEMBER(konamigx_state,konamigx)
{
m_gx_wrport1_0 = m_gx_wrport1_1 = 0;
m_gx_wrport2 = 0;
diff --git a/src/mame/drivers/konmedal.cpp b/src/mame/drivers/konmedal.cpp
index 862b80caf71..938582bc444 100644
--- a/src/mame/drivers/konmedal.cpp
+++ b/src/mame/drivers/konmedal.cpp
@@ -57,7 +57,7 @@ public:
{ }
DECLARE_PALETTE_INIT(konmedal);
- void machine_start_shuriboy() ATTR_COLD;
+ DECLARE_MACHINE_START(shuriboy);
DECLARE_READ8_MEMBER(vram_r);
DECLARE_WRITE8_MEMBER(vram_w);
@@ -367,7 +367,7 @@ void konmedal_state::machine_start()
membank("bank1")->set_entry(4);
}
-void konmedal_state::machine_start_shuriboy()
+MACHINE_START_MEMBER(konmedal_state, shuriboy)
{
membank("bank1")->configure_entries(0, 0x8, memregion("maincpu")->base()+0x8000, 0x2000);
membank("bank1")->set_entry(0);
@@ -564,7 +564,7 @@ MACHINE_CONFIG_START(konmedal_state::shuriboy)
MCFG_GFX_PALETTE("palette")
MCFG_K052109_CB(konmedal_state, shuriboy_tile_callback)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_shuriboy, this));
+ MCFG_MACHINE_START_OVERRIDE(konmedal_state, shuriboy)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/ksys573.cpp b/src/mame/drivers/ksys573.cpp
index 28d892c7294..c8abab8703e 100644
--- a/src/mame/drivers/ksys573.cpp
+++ b/src/mame/drivers/ksys573.cpp
@@ -419,7 +419,7 @@ public:
void init_ddr();
void init_hyperbbc();
void init_drmn();
- void machine_reset_konami573();
+ DECLARE_MACHINE_RESET( konami573 );
WRITE_LINE_MEMBER( h8_clk_w );
DECLARE_READ_LINE_MEMBER( h8_d0_r );
DECLARE_READ_LINE_MEMBER( h8_d1_r );
@@ -800,7 +800,7 @@ void ksys573_state::driver_start()
save_item( NAME( m_control ) );
}
-void ksys573_state::machine_reset_konami573()
+MACHINE_RESET_MEMBER( ksys573_state,konami573 )
{
update_disc();
@@ -2082,7 +2082,7 @@ MACHINE_CONFIG_START(ksys573_state::konami573)
MCFG_PSX_DMA_CHANNEL_READ( "maincpu", 5, psxdma_device::read_delegate(&ksys573_state::cdrom_dma_read, this ) )
MCFG_PSX_DMA_CHANNEL_WRITE( "maincpu", 5, psxdma_device::write_delegate(&ksys573_state::cdrom_dma_write, this ) )
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_konami573, this));
+ MCFG_MACHINE_RESET_OVERRIDE( ksys573_state, konami573 )
MCFG_DEVICE_ADD( "mb89371", MB89371, 0 )
diff --git a/src/mame/drivers/ladyfrog.cpp b/src/mame/drivers/ladyfrog.cpp
index 490e0d04167..917f124a246 100644
--- a/src/mame/drivers/ladyfrog.cpp
+++ b/src/mame/drivers/ladyfrog.cpp
@@ -347,7 +347,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(ladyfrog_state::toucheme)
ladyfrog(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_toucheme, this));
+ MCFG_VIDEO_START_OVERRIDE(ladyfrog_state,toucheme)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/lasso.cpp b/src/mame/drivers/lasso.cpp
index b12237b165e..25d9ed59b19 100644
--- a/src/mame/drivers/lasso.cpp
+++ b/src/mame/drivers/lasso.cpp
@@ -472,7 +472,7 @@ void lasso_state::machine_start()
save_item(NAME(m_gfxbank));
}
-void lasso_state::machine_start_wwjgtin()
+MACHINE_START_MEMBER(lasso_state,wwjgtin)
{
lasso_state::machine_start();
@@ -484,7 +484,7 @@ void lasso_state::machine_reset()
m_gfxbank = 0;
}
-void lasso_state::machine_reset_wwjgtin()
+MACHINE_RESET_MEMBER(lasso_state,wwjgtin)
{
lasso_state::machine_reset();
@@ -565,8 +565,8 @@ MACHINE_CONFIG_START(lasso_state::wwjgtin)
MCFG_DEVICE_MODIFY("audiocpu")
MCFG_DEVICE_PROGRAM_MAP(wwjgtin_audio_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_wwjgtin, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_wwjgtin, this));
+ MCFG_MACHINE_START_OVERRIDE(lasso_state,wwjgtin)
+ MCFG_MACHINE_RESET_OVERRIDE(lasso_state,wwjgtin)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -577,7 +577,7 @@ MACHINE_CONFIG_START(lasso_state::wwjgtin)
MCFG_PALETTE_ADD("palette", 0x40 + 16*16)
MCFG_PALETTE_INDIRECT_ENTRIES(64)
MCFG_PALETTE_INIT_OWNER(lasso_state,wwjgtin)
- set_video_start_cb(config, driver_callback_delegate(&video_start_wwjgtin, this));
+ MCFG_VIDEO_START_OVERRIDE(lasso_state,wwjgtin)
/* sound hardware */
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
@@ -601,7 +601,7 @@ MACHINE_CONFIG_START(lasso_state::pinbo)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_pinbo)
MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", "proms", 256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_pinbo, this));
+ MCFG_VIDEO_START_OVERRIDE(lasso_state,pinbo)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(lasso_state, screen_update_chameleo)
diff --git a/src/mame/drivers/lastbank.cpp b/src/mame/drivers/lastbank.cpp
index 8e34d674e37..2a62c11077e 100644
--- a/src/mame/drivers/lastbank.cpp
+++ b/src/mame/drivers/lastbank.cpp
@@ -524,8 +524,8 @@ MACHINE_CONFIG_START(lastbank_state::lastbank)
MCFG_QUANTUM_PERFECT_CPU("maincpu")
- //set_machine_start_cb(config, driver_callback_delegate(&machine_start_lastbank, this));
- //set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_lastbank, this));
+ //MCFG_MACHINE_START_OVERRIDE(lastbank_state,lastbank)
+ //MCFG_MACHINE_RESET_OVERRIDE(lastbank_state,lastbank)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -543,7 +543,7 @@ MACHINE_CONFIG_START(lastbank_state::lastbank)
MCFG_DEVICE_ADD("tc0091lvc", TC0091LVC, 0)
MCFG_TC0091LVC_GFXDECODE("gfxdecode")
-// set_video_start_cb(config, driver_callback_delegate(&video_start_lastbank, this));
+// MCFG_VIDEO_START_OVERRIDE(lastbank_state,lastbank)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/lastduel.cpp b/src/mame/drivers/lastduel.cpp
index 8deb011d948..85373eee22a 100644
--- a/src/mame/drivers/lastduel.cpp
+++ b/src/mame/drivers/lastduel.cpp
@@ -462,19 +462,19 @@ TIMER_DEVICE_CALLBACK_MEMBER(lastduel_state::madgear_timer_cb)
m_maincpu->set_input_line(6, HOLD_LINE); /* Controls */
}
-void lastduel_state::machine_start_lastduel()
+MACHINE_START_MEMBER(lastduel_state,lastduel)
{
save_item(NAME(m_tilemap_priority));
save_item(NAME(m_scroll));
}
-void lastduel_state::machine_start_madgear()
+MACHINE_START_MEMBER(lastduel_state,madgear)
{
uint8_t *ROM = memregion("audiocpu")->base();
membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000);
- machine_start_lastduel();
+ MACHINE_START_CALL_MEMBER(lastduel);
}
void lastduel_state::machine_reset()
@@ -498,7 +498,7 @@ MACHINE_CONFIG_START(lastduel_state::lastduel)
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(3'579'545))
MCFG_DEVICE_PROGRAM_MAP(sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_lastduel, this));
+ MCFG_MACHINE_START_OVERRIDE(lastduel_state,lastduel)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -516,7 +516,7 @@ MACHINE_CONFIG_START(lastduel_state::lastduel)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_lastduel)
MCFG_PALETTE_ADD("palette", 1024)
- set_video_start_cb(config, driver_callback_delegate(&video_start_lastduel, this));
+ MCFG_VIDEO_START_OVERRIDE(lastduel_state,lastduel)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -543,7 +543,7 @@ MACHINE_CONFIG_START(lastduel_state::madgear)
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(3'579'545))
MCFG_DEVICE_PROGRAM_MAP(madgear_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_madgear, this));
+ MCFG_MACHINE_START_OVERRIDE(lastduel_state,madgear)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -561,7 +561,7 @@ MACHINE_CONFIG_START(lastduel_state::madgear)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_madgear)
MCFG_PALETTE_ADD("palette", 1024)
- set_video_start_cb(config, driver_callback_delegate(&video_start_madgear, this));
+ MCFG_VIDEO_START_OVERRIDE(lastduel_state,madgear)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/legionna.cpp b/src/mame/drivers/legionna.cpp
index 77d2030cbc6..35982c419ee 100644
--- a/src/mame/drivers/legionna.cpp
+++ b/src/mame/drivers/legionna.cpp
@@ -1255,7 +1255,7 @@ MACHINE_CONFIG_START(legionna_state::legionna)
MCFG_PALETTE_ADD_INIT_BLACK("palette", 128*16)
//MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_legionna, this));
+ MCFG_VIDEO_START_OVERRIDE(legionna_state,legionna)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1308,7 +1308,7 @@ MACHINE_CONFIG_START(legionna_state::heatbrl)
MCFG_PALETTE_ADD_INIT_BLACK("palette", 128*16)
//MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_heatbrl, this));
+ MCFG_VIDEO_START_OVERRIDE(legionna_state,heatbrl)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1362,7 +1362,7 @@ MACHINE_CONFIG_START(legionna_state::godzilla)
MCFG_PALETTE_ADD_INIT_BLACK("palette", 128*16)
//MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_godzilla, this));
+ MCFG_VIDEO_START_OVERRIDE(legionna_state,godzilla)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1415,7 +1415,7 @@ MACHINE_CONFIG_START(legionna_state::denjinmk)
MCFG_PALETTE_ADD_INIT_BLACK("palette", 128*16)
//MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_denjinmk, this));
+ MCFG_VIDEO_START_OVERRIDE(legionna_state,denjinmk)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1468,7 +1468,7 @@ MACHINE_CONFIG_START(legionna_state::grainbow)
MCFG_PALETTE_ADD_INIT_BLACK("palette", 128*16)
//MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_grainbow, this));
+ MCFG_VIDEO_START_OVERRIDE(legionna_state,grainbow)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1522,7 +1522,7 @@ MACHINE_CONFIG_START(legionna_state::cupsoc)
MCFG_PALETTE_ADD_INIT_BLACK("palette", 128*16)
//MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cupsoc, this));
+ MCFG_VIDEO_START_OVERRIDE(legionna_state,cupsoc)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/leland.cpp b/src/mame/drivers/leland.cpp
index eb6b1216ae3..10314d30b57 100644
--- a/src/mame/drivers/leland.cpp
+++ b/src/mame/drivers/leland.cpp
@@ -1014,8 +1014,8 @@ MACHINE_CONFIG_START(leland_state::leland)
MCFG_DEVICE_PROGRAM_MAP(slave_small_map_program)
MCFG_DEVICE_IO_MAP(slave_map_io)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_leland, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_leland, this));
+ MCFG_MACHINE_START_OVERRIDE(leland_state,leland)
+ MCFG_MACHINE_RESET_OVERRIDE(leland_state,leland)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_NVRAM_ADD_0FILL("battery")
@@ -1104,8 +1104,8 @@ MACHINE_CONFIG_START(leland_state::ataxx)
MCFG_80186_CHIP_SELECT_CB(WRITE16("custom", leland_80186_sound_device, peripheral_ctrl))
MCFG_80186_TMROUT0_HANDLER(WRITELINE("custom", leland_80186_sound_device, i80186_tmr0_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ataxx, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ataxx, this));
+ MCFG_MACHINE_START_OVERRIDE(leland_state,ataxx)
+ MCFG_MACHINE_RESET_OVERRIDE(leland_state,ataxx)
MCFG_EEPROM_SERIAL_93C56_ADD("eeprom")
MCFG_EEPROM_SERIAL_ENABLE_STREAMING()
diff --git a/src/mame/drivers/liberate.cpp b/src/mame/drivers/liberate.cpp
index effae172c78..dca2cb79432 100644
--- a/src/mame/drivers/liberate.cpp
+++ b/src/mame/drivers/liberate.cpp
@@ -719,7 +719,7 @@ WRITE_LINE_MEMBER(liberate_state::prosport_interrupt)
*
*************************************/
-void liberate_state::machine_start_liberate()
+MACHINE_START_MEMBER(liberate_state,liberate)
{
save_item(NAME(m_background_disable));
save_item(NAME(m_background_color));
@@ -730,7 +730,7 @@ void liberate_state::machine_start_liberate()
save_item(NAME(m_io_ram));
}
-void liberate_state::machine_reset_liberate()
+MACHINE_RESET_MEMBER(liberate_state,liberate)
{
memset(m_io_ram, 0, ARRAY_LENGTH(m_io_ram));
@@ -754,8 +754,8 @@ MACHINE_CONFIG_START(liberate_state::liberate_base)
MCFG_QUANTUM_TIME(attotime::from_hz(12000))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_liberate, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_liberate, this));
+ MCFG_MACHINE_START_OVERRIDE(liberate_state,liberate)
+ MCFG_MACHINE_RESET_OVERRIDE(liberate_state,liberate)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -771,7 +771,7 @@ MACHINE_CONFIG_START(liberate_state::liberate_base)
MCFG_PALETTE_ADD("palette", 33)
MCFG_PALETTE_INIT_OWNER(liberate_state,liberate)
- set_video_start_cb(config, driver_callback_delegate(&video_start_liberate, this));
+ MCFG_VIDEO_START_OVERRIDE(liberate_state,liberate)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -802,7 +802,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(liberate_state::boomrang)
liberate_base(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_boomrang, this));
+ MCFG_VIDEO_START_OVERRIDE(liberate_state,boomrang)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(liberate_state, screen_update_boomrang)
MACHINE_CONFIG_END
@@ -828,7 +828,7 @@ MACHINE_CONFIG_START(liberate_state::prosoccr)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_prosoccr)
- set_video_start_cb(config, driver_callback_delegate(&video_start_prosoccr, this));
+ MCFG_VIDEO_START_OVERRIDE(liberate_state,prosoccr)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(liberate_state::prosport)
@@ -844,8 +844,8 @@ MACHINE_CONFIG_START(liberate_state::prosport)
// MCFG_QUANTUM_TIME(attotime::from_hz(12000))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_liberate, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_liberate, this));
+ MCFG_MACHINE_START_OVERRIDE(liberate_state,liberate)
+ MCFG_MACHINE_RESET_OVERRIDE(liberate_state,liberate)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -861,7 +861,7 @@ MACHINE_CONFIG_START(liberate_state::prosport)
MCFG_PALETTE_ADD("palette", 256)
MCFG_PALETTE_FORMAT(BBGGGRRR_inverted)
- set_video_start_cb(config, driver_callback_delegate(&video_start_prosport, this));
+ MCFG_VIDEO_START_OVERRIDE(liberate_state,prosport)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/llc.cpp b/src/mame/drivers/llc.cpp
index 650884f795d..78a3d41b02a 100644
--- a/src/mame/drivers/llc.cpp
+++ b/src/mame/drivers/llc.cpp
@@ -206,8 +206,8 @@ MACHINE_CONFIG_START(llc_state::llc1)
MCFG_DEVICE_PROGRAM_MAP(llc1_mem)
MCFG_DEVICE_IO_MAP(llc1_io)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_llc1, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_llc1, this));
+ MCFG_MACHINE_START_OVERRIDE(llc_state, llc1 )
+ MCFG_MACHINE_RESET_OVERRIDE(llc_state, llc1 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -250,7 +250,7 @@ MACHINE_CONFIG_START(llc_state::llc2)
MCFG_DEVICE_PROGRAM_MAP(llc2_mem)
MCFG_DEVICE_IO_MAP(llc2_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_llc2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(llc_state, llc2 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/lsasquad.cpp b/src/mame/drivers/lsasquad.cpp
index 09fc1bb137d..efd8f870659 100644
--- a/src/mame/drivers/lsasquad.cpp
+++ b/src/mame/drivers/lsasquad.cpp
@@ -543,13 +543,17 @@ WRITE8_MEMBER(lsasquad_state::unk)
{
}
-void lsasquad_state::machine_start_lsasquad()
+MACHINE_START_MEMBER(lsasquad_state,lsasquad)
{
uint8_t *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x2000);
}
+MACHINE_RESET_MEMBER(lsasquad_state,lsasquad)
+{
+}
+
/* Note: lsasquad clock values are not verified */
MACHINE_CONFIG_START(lsasquad_state::lsasquad)
@@ -568,7 +572,8 @@ MACHINE_CONFIG_START(lsasquad_state::lsasquad)
/* synchronization of the CPUs */
/* main<->sound synchronization depends on this */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_lsasquad, this));
+ MCFG_MACHINE_START_OVERRIDE(lsasquad_state,lsasquad)
+ MCFG_MACHINE_RESET_OVERRIDE(lsasquad_state,lsasquad)
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
MCFG_GENERIC_LATCH_DATA_PENDING_CB(WRITELINE("soundnmi", input_merger_device, in_w<0>))
@@ -635,7 +640,8 @@ MACHINE_CONFIG_START(lsasquad_state::daikaiju)
/* synchronization of the CPUs */
/* main<->sound synchronization depends on this */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_lsasquad, this));
+ MCFG_MACHINE_START_OVERRIDE(lsasquad_state,lsasquad)
+ MCFG_MACHINE_RESET_OVERRIDE(lsasquad_state,lsasquad)
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
MCFG_GENERIC_LATCH_DATA_PENDING_CB(WRITELINE("soundnmi", input_merger_device, in_w<0>))
diff --git a/src/mame/drivers/lvcards.cpp b/src/mame/drivers/lvcards.cpp
index 5f33f11de8d..907e1b08f57 100644
--- a/src/mame/drivers/lvcards.cpp
+++ b/src/mame/drivers/lvcards.cpp
@@ -83,14 +83,14 @@ TODO:
#include "speaker.h"
-void lvcards_state::machine_start_lvpoker()
+MACHINE_START_MEMBER(lvcards_state,lvpoker)
{
save_item(NAME(m_payout));
save_item(NAME(m_pulse));
save_item(NAME(m_result));
}
-void lvcards_state::machine_reset_lvpoker()
+MACHINE_RESET_MEMBER(lvcards_state,lvpoker)
{
m_payout = 0;
m_pulse = 0;
@@ -491,8 +491,8 @@ MACHINE_CONFIG_START(lvcards_state::lvpoker)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(lvpoker_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_lvpoker, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_lvpoker, this));
+ MCFG_MACHINE_START_OVERRIDE(lvcards_state,lvpoker)
+ MCFG_MACHINE_RESET_OVERRIDE(lvcards_state,lvpoker)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(lvcards_state::ponttehk)
@@ -502,7 +502,7 @@ MACHINE_CONFIG_START(lvcards_state::ponttehk)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(ponttehk_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_lvpoker, this));
+ MCFG_MACHINE_RESET_OVERRIDE(lvcards_state,lvpoker)
// video hardware
MCFG_DEVICE_REMOVE("palette")
diff --git a/src/mame/drivers/lwings.cpp b/src/mame/drivers/lwings.cpp
index 3015331c7c1..06ec4209d51 100644
--- a/src/mame/drivers/lwings.cpp
+++ b/src/mame/drivers/lwings.cpp
@@ -1037,7 +1037,7 @@ MACHINE_CONFIG_START(lwings_state::trojan)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_trojan)
- set_video_start_cb(config, driver_callback_delegate(&video_start_trojan, this));
+ MCFG_VIDEO_START_OVERRIDE(lwings_state,trojan)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(lwings_state, screen_update_trojan)
@@ -1062,13 +1062,13 @@ MACHINE_CONFIG_START(lwings_state::avengers)
MCFG_DEVICE_IO_MAP(avengers_adpcm_io_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_avengers, this));
+ MCFG_VIDEO_START_OVERRIDE(lwings_state,avengers)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(lwings_state::avengersb)
avengers(config);
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_avengersb, this));
+ MCFG_VIDEO_START_OVERRIDE(lwings_state,avengersb)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/m10.cpp b/src/mame/drivers/m10.cpp
index bac652826a5..933c2599b65 100644
--- a/src/mame/drivers/m10.cpp
+++ b/src/mame/drivers/m10.cpp
@@ -168,7 +168,7 @@ PALETTE_INIT_MEMBER(m10_state,m10)
}
}
-void m10_state::machine_start_m10()
+MACHINE_START_MEMBER(m10_state,m10)
{
m_interrupt_timer = timer_alloc(TIMER_INTERRUPT);
@@ -177,7 +177,7 @@ void m10_state::machine_start_m10()
save_item(NAME(m_last));
}
-void m10_state::machine_reset_m10()
+MACHINE_RESET_MEMBER(m10_state,m10)
{
m_bottomline = 0;
m_flip = 0;
@@ -818,8 +818,8 @@ MACHINE_CONFIG_START(m10_state::m10)
MCFG_DEVICE_ADD("maincpu", M6502,IREMM10_CPU_CLOCK)
MCFG_DEVICE_PROGRAM_MAP(m10_main)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_m10, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_m10, this));
+ MCFG_MACHINE_START_OVERRIDE(m10_state,m10)
+ MCFG_MACHINE_RESET_OVERRIDE(m10_state,m10)
//MCFG_DEVICE_VBLANK_INT_DRIVER("screen", m10_state, m10_interrupt)
@@ -833,7 +833,7 @@ MACHINE_CONFIG_START(m10_state::m10)
MCFG_PALETTE_ADD("palette", 2*8)
MCFG_PALETTE_INIT_OWNER(m10_state,m10)
- set_video_start_cb(config, driver_callback_delegate(&video_start_m10, this));
+ MCFG_VIDEO_START_OVERRIDE(m10_state,m10)
/* 74LS123 */
@@ -882,8 +882,8 @@ MACHINE_CONFIG_START(m10_state::m15)
MCFG_DEVICE_ADD("maincpu", M6502,IREMM15_CPU_CLOCK)
MCFG_DEVICE_PROGRAM_MAP(m15_main)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_m10, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_m10, this));
+ MCFG_MACHINE_START_OVERRIDE(m10_state,m10)
+ MCFG_MACHINE_RESET_OVERRIDE(m10_state,m10)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", m10_state, m15_interrupt)
@@ -897,7 +897,7 @@ MACHINE_CONFIG_START(m10_state::m15)
MCFG_PALETTE_ADD("palette", 2*8)
MCFG_PALETTE_INIT_OWNER(m10_state,m10)
- set_video_start_cb(config, driver_callback_delegate(&video_start_m15, this));
+ MCFG_VIDEO_START_OVERRIDE(m10_state, m15 )
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/m62.cpp b/src/mame/drivers/m62.cpp
index 7358ecbc7ab..0c207e09c98 100644
--- a/src/mame/drivers/m62.cpp
+++ b/src/mame/drivers/m62.cpp
@@ -944,7 +944,7 @@ void m62_state::machine_start()
m62_amplify_contrast(1);
}
-void m62_state::machine_start_battroad()
+MACHINE_START_MEMBER(m62_state, battroad)
{
machine_init_save();
m62_amplify_contrast(0);
@@ -1012,7 +1012,7 @@ MACHINE_CONFIG_START(m62_state::kungfum)
MCFG_SCREEN_VISIBLE_AREA((64*8-256)/2, 64*8-(64*8-256)/2-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(m62_state, screen_update_kungfum)
- set_video_start_cb(config, driver_callback_delegate(&video_start_kungfum, this));
+ MCFG_VIDEO_START_OVERRIDE(m62_state,kungfum)
MACHINE_CONFIG_END
@@ -1025,7 +1025,7 @@ MACHINE_CONFIG_START(m62_state::battroad)
MCFG_DEVICE_PROGRAM_MAP(battroad_map)
MCFG_DEVICE_IO_MAP(battroad_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_battroad, this));
+ MCFG_MACHINE_START_OVERRIDE(m62_state,battroad)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -1037,7 +1037,7 @@ MACHINE_CONFIG_START(m62_state::battroad)
MCFG_PALETTE_ADD("fg_palette", 32)
MCFG_PALETTE_INIT_OWNER(m62_state,m62_battroad_fg)
- set_video_start_cb(config, driver_callback_delegate(&video_start_battroad, this));
+ MCFG_VIDEO_START_OVERRIDE(m62_state,battroad)
MACHINE_CONFIG_END
@@ -1049,7 +1049,7 @@ MACHINE_CONFIG_START(m62_state::ldrun2)
MCFG_DEVICE_PROGRAM_MAP(ldrun2_map)
MCFG_DEVICE_IO_MAP(ldrun2_io_map)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ldrun2, this));
+ MCFG_VIDEO_START_OVERRIDE(m62_state,ldrun2)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(m62_state, screen_update_ldrun)
MACHINE_CONFIG_END
@@ -1064,7 +1064,7 @@ MACHINE_CONFIG_START(m62_state::ldrun3)
MCFG_DEVICE_IO_MAP(ldrun3_io_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_ldrun2, this));
+ MCFG_VIDEO_START_OVERRIDE(m62_state,ldrun2)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(m62_state, screen_update_ldrun3)
MACHINE_CONFIG_END
@@ -1079,7 +1079,7 @@ MACHINE_CONFIG_START(m62_state::ldrun4)
MCFG_DEVICE_IO_MAP(ldrun4_io_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_ldrun4, this));
+ MCFG_VIDEO_START_OVERRIDE(m62_state,ldrun4)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(m62_state, screen_update_ldrun4)
MACHINE_CONFIG_END
@@ -1101,7 +1101,7 @@ MACHINE_CONFIG_START(m62_state::lotlot)
MCFG_PALETTE_INIT_OWNER(m62_state,m62_lotlot_fg)
- set_video_start_cb(config, driver_callback_delegate(&video_start_lotlot, this));
+ MCFG_VIDEO_START_OVERRIDE(m62_state,lotlot)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(m62_state, screen_update_lotlot)
MACHINE_CONFIG_END
@@ -1118,7 +1118,7 @@ MACHINE_CONFIG_START(m62_state::kidniki)
/* video hardware */
MCFG_DEVICE_ADD("fg_decode", GFXDECODE, "chr_palette", gfx_m62_fg_kidniki)
- set_video_start_cb(config, driver_callback_delegate(&video_start_kidniki, this));
+ MCFG_VIDEO_START_OVERRIDE(m62_state,kidniki)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(m62_state, screen_update_kidniki)
MACHINE_CONFIG_END
@@ -1134,7 +1134,7 @@ MACHINE_CONFIG_START(m62_state::spelunkr)
/* video hardware */
MCFG_DEVICE_ADD("fg_decode", GFXDECODE, "chr_palette", gfx_m62_fg_spelunkr)
- set_video_start_cb(config, driver_callback_delegate(&video_start_spelunkr, this));
+ MCFG_VIDEO_START_OVERRIDE(m62_state,spelunkr)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(m62_state, screen_update_spelunkr)
MACHINE_CONFIG_END
@@ -1156,7 +1156,7 @@ MACHINE_CONFIG_START(m62_state::spelunk2)
MCFG_PALETTE_ENTRIES(512)
MCFG_PALETTE_INIT_OWNER(m62_state,spelunk2)
- set_video_start_cb(config, driver_callback_delegate(&video_start_spelunk2, this));
+ MCFG_VIDEO_START_OVERRIDE(m62_state,spelunk2)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(m62_state, screen_update_spelunk2)
MACHINE_CONFIG_END
@@ -1179,7 +1179,7 @@ MACHINE_CONFIG_START(m62_state::youjyudn)
MCFG_GFXDECODE_MODIFY("chr_decode", gfx_m62_tiles_youjyudn)
MCFG_DEVICE_ADD("fg_decode", GFXDECODE, "chr_palette", gfx_m62_fg_youjyudn)
- set_video_start_cb(config, driver_callback_delegate(&video_start_youjyudn, this));
+ MCFG_VIDEO_START_OVERRIDE(m62_state,youjyudn)
MACHINE_CONFIG_END
@@ -1195,7 +1195,7 @@ MACHINE_CONFIG_START(m62_state::horizon)
MCFG_SCREEN_VISIBLE_AREA((64*8-256)/2, 64*8-(64*8-256)/2-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(m62_state, screen_update_horizon)
- set_video_start_cb(config, driver_callback_delegate(&video_start_horizon, this));
+ MCFG_VIDEO_START_OVERRIDE(m62_state,horizon)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/m63.cpp b/src/mame/drivers/m63.cpp
index 84cf4c1df64..66c2556fae9 100644
--- a/src/mame/drivers/m63.cpp
+++ b/src/mame/drivers/m63.cpp
@@ -202,9 +202,9 @@ public:
void init_fghtbskt();
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
- void machine_start_m63() ATTR_COLD;
- void machine_reset_m63();
- void video_start_m63() ATTR_COLD;
+ DECLARE_MACHINE_START(m63);
+ DECLARE_MACHINE_RESET(m63);
+ DECLARE_VIDEO_START(m63);
DECLARE_PALETTE_INIT(m63);
uint32_t screen_update_m63(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(snd_irq);
@@ -329,7 +329,7 @@ TILE_GET_INFO_MEMBER(m63_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, 0, m_fg_flag);
}
-void m63_state::video_start_m63()
+VIDEO_START_MEMBER(m63_state,m63)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(m63_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(m63_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
@@ -722,7 +722,7 @@ INTERRUPT_GEN_MEMBER(m63_state::snd_irq)
m_sound_irq = 1;
}
-void m63_state::machine_start_m63()
+MACHINE_START_MEMBER(m63_state,m63)
{
save_item(NAME(m_pal_bank));
save_item(NAME(m_fg_flag));
@@ -735,7 +735,7 @@ void m63_state::machine_start_m63()
save_item(NAME(m_p2));
}
-void m63_state::machine_reset_m63()
+MACHINE_RESET_MEMBER(m63_state,m63)
{
m_pal_bank = 0;
m_fg_flag = 0;
@@ -774,8 +774,8 @@ MACHINE_CONFIG_START(m63_state::m63)
MCFG_MCS48_PORT_T1_IN_CB(READLINE(*this, m63_state, irq_r))
MCFG_DEVICE_PERIODIC_INT_DRIVER(m63_state, snd_irq, 60)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_m63, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_m63, this));
+ MCFG_MACHINE_START_OVERRIDE(m63_state,m63)
+ MCFG_MACHINE_RESET_OVERRIDE(m63_state,m63)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -790,7 +790,7 @@ MACHINE_CONFIG_START(m63_state::m63)
MCFG_PALETTE_ADD("palette", 256+4)
MCFG_PALETTE_INIT_OWNER(m63_state,m63)
- set_video_start_cb(config, driver_callback_delegate(&video_start_m63, this));
+ MCFG_VIDEO_START_OVERRIDE(m63_state,m63)
/* sound hardware */
SPEAKER(config, "mono").front_center(); /* ????? */
@@ -827,8 +827,8 @@ MACHINE_CONFIG_START(m63_state::fghtbskt)
MCFG_DEVICE_IO_MAP(i8039_port_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(m63_state, snd_irq, 60/2)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_m63, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_m63, this));
+ MCFG_MACHINE_START_OVERRIDE(m63_state,m63)
+ MCFG_MACHINE_RESET_OVERRIDE(m63_state,m63)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -841,7 +841,7 @@ MACHINE_CONFIG_START(m63_state::fghtbskt)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_fghtbskt)
MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", "proms", 256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_m63, this));
+ MCFG_VIDEO_START_OVERRIDE(m63_state,m63)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/m72.cpp b/src/mame/drivers/m72.cpp
index bc0108baaaa..030e082e482 100644
--- a/src/mame/drivers/m72.cpp
+++ b/src/mame/drivers/m72.cpp
@@ -212,7 +212,7 @@ void m72_state::machine_start()
m_scanline_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(m72_state::scanline_interrupt),this));
}
-void m72_state::machine_start_kengo()
+MACHINE_START_MEMBER(m72_state,kengo)
{
m_scanline_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(m72_state::kengo_scanline_interrupt),this));
}
@@ -232,7 +232,7 @@ void m72_state::machine_reset()
machine().scheduler().synchronize(timer_expired_delegate(FUNC(m72_state::synch_callback),this));
}
-void m72_state::machine_reset_kengo()
+MACHINE_RESET_MEMBER(m72_state,kengo)
{
m_scanline_timer->adjust(m_screen->time_until_pos(0));
}
@@ -1902,7 +1902,7 @@ MACHINE_CONFIG_START(m72_state::m72_base)
MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_m72, this));
+ MCFG_VIDEO_START_OVERRIDE(m72_state,m72)
m72_audio_chips(config);
MACHINE_CONFIG_END
@@ -1977,7 +1977,7 @@ MACHINE_CONFIG_START(m72_state::m81_hharry)
MCFG_DEVICE_IO_MAP(rtype2_sound_portmap)
MCFG_DEVICE_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55)
- set_video_start_cb(config, driver_callback_delegate(&video_start_hharry, this));
+ MCFG_VIDEO_START_OVERRIDE(m72_state,hharry)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update_m81)
@@ -1989,7 +1989,7 @@ MACHINE_CONFIG_START(m72_state::m81_xmultipl)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(xmultipl_map)
- set_video_start_cb(config, driver_callback_delegate(&video_start_xmultipl, this)); // different offsets
+ MCFG_VIDEO_START_OVERRIDE(m72_state,xmultipl) // different offsets
MACHINE_CONFIG_END
MACHINE_CONFIG_START(m72_state::m81_dbreed)
@@ -2027,7 +2027,7 @@ MACHINE_CONFIG_START(m72_state::rtype2)
MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_rtype2, this));
+ MCFG_VIDEO_START_OVERRIDE(m72_state,rtype2)
m72_audio_chips(config);
MACHINE_CONFIG_END
@@ -2039,7 +2039,7 @@ MACHINE_CONFIG_START(m72_state::hharryu)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(hharryu_map)
- set_video_start_cb(config, driver_callback_delegate(&video_start_hharryu, this));
+ MCFG_VIDEO_START_OVERRIDE(m72_state,hharryu)
MACHINE_CONFIG_END
@@ -2058,8 +2058,8 @@ MACHINE_CONFIG_START(m72_state::cosmccop)
MCFG_DEVICE_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */
/* IRQs are generated by main Z80 and YM2151 */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_kengo, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_kengo, this));
+ MCFG_MACHINE_START_OVERRIDE(m72_state,kengo)
+ MCFG_MACHINE_RESET_OVERRIDE(m72_state,kengo)
// upd71059c isn't needed beacuse the V35 has its own IRQ controller
@@ -2072,7 +2072,7 @@ MACHINE_CONFIG_START(m72_state::cosmccop)
MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_hharryu, this));
+ MCFG_VIDEO_START_OVERRIDE(m72_state,hharryu)
m72_audio_chips(config);
MACHINE_CONFIG_END
@@ -2117,7 +2117,7 @@ MACHINE_CONFIG_START(m72_state::m82)
MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update_m82)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_m82, this));
+ MCFG_VIDEO_START_OVERRIDE(m72_state,m82)
m72_audio_chips(config);
MACHINE_CONFIG_END
@@ -2160,7 +2160,7 @@ MACHINE_CONFIG_START(m72_state::poundfor)
MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_poundfor, this));
+ MCFG_VIDEO_START_OVERRIDE(m72_state,poundfor)
m72_audio_chips(config);
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/m90.cpp b/src/mame/drivers/m90.cpp
index 2a5e9d8df04..570cc02e6ec 100644
--- a/src/mame/drivers/m90.cpp
+++ b/src/mame/drivers/m90.cpp
@@ -851,7 +851,7 @@ MACHINE_CONFIG_START(m90_state::bomblord)
MCFG_SCREEN_UPDATE_DRIVER(m90_state, screen_update_bomblord)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, m90_state, bomblord_vblank_int_w))
- set_video_start_cb(config, driver_callback_delegate(&video_start_bomblord, this));
+ MCFG_VIDEO_START_OVERRIDE(m90_state,bomblord)
MACHINE_CONFIG_END
@@ -872,7 +872,7 @@ MACHINE_CONFIG_START(m90_state::dynablsb)
MCFG_SCREEN_UPDATE_DRIVER(m90_state, screen_update_dynablsb)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, m90_state, dynablsb_vblank_int_w))
- set_video_start_cb(config, driver_callback_delegate(&video_start_dynablsb, this));
+ MCFG_VIDEO_START_OVERRIDE(m90_state,dynablsb)
MCFG_DEVICE_REMOVE("m72")
MCFG_DEVICE_REMOVE("soundirq")
diff --git a/src/mame/drivers/m92.cpp b/src/mame/drivers/m92.cpp
index db6b36805e5..0af2c443394 100644
--- a/src/mame/drivers/m92.cpp
+++ b/src/mame/drivers/m92.cpp
@@ -215,7 +215,7 @@ psoldier dip locations still need verification.
/*****************************************************************************/
-void m92_state::machine_reset_m92()
+MACHINE_RESET_MEMBER(m92_state,m92)
{
m_sprite_buffer_busy = 1;
}
@@ -905,7 +905,7 @@ MACHINE_CONFIG_START(m92_state::m92)
MCFG_DEVICE_ADD("upd71059c", PIC8259, 0)
MCFG_PIC8259_OUT_INT_CB(INPUTLINE("maincpu", 0))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_m92, this));
+ MCFG_MACHINE_RESET_OVERRIDE(m92_state,m92)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", m92_state, m92_scanline_interrupt, "screen", 0, 1)
@@ -924,7 +924,7 @@ MACHINE_CONFIG_START(m92_state::m92)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_m92, this));
+ MCFG_VIDEO_START_OVERRIDE(m92_state,m92)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1004,7 +1004,7 @@ MACHINE_CONFIG_START(m92_state::ppan)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(m92_state, screen_update_ppan)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ppan, this));
+ MCFG_VIDEO_START_OVERRIDE(m92_state,ppan)
MCFG_DEVICE_ADD("oki", OKIM6295, 1000000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
diff --git a/src/mame/drivers/mac.cpp b/src/mame/drivers/mac.cpp
index 3167a1c1f8a..1a785cc2182 100644
--- a/src/mame/drivers/mac.cpp
+++ b/src/mame/drivers/mac.cpp
@@ -417,7 +417,7 @@ WRITE8_MEMBER ( mac_state::mac_rbv_w )
}
// Portable/PB100 video
-void mac_state::video_start_macprtb()
+VIDEO_START_MEMBER(mac_state,macprtb)
{
}
@@ -950,7 +950,7 @@ MACHINE_CONFIG_START(mac_state::mac512ke)
MCFG_PALETTE_ADD("palette", 2)
MCFG_PALETTE_INIT_OWNER(mac_state,mac)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mac, this));
+ MCFG_VIDEO_START_OVERRIDE(mac_state,mac)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", mac_state, mac_scanline, "screen", 0, 1)
@@ -1079,7 +1079,7 @@ MACHINE_CONFIG_START(mac_state::macprtb)
MCFG_PALETTE_ADD("palette", 2)
MCFG_PALETTE_INIT_OWNER(mac_state,mac)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macprtb, this));
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macprtb)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1274,8 +1274,8 @@ MACHINE_CONFIG_START(mac_state::maclc)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macv8, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_macrbv, this));
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macv8)
+ MCFG_VIDEO_RESET_OVERRIDE(mac_state,macrbv)
MCFG_SCREEN_ADD(MAC_SCREEN_NAME, RASTER)
MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
@@ -1355,8 +1355,8 @@ MACHINE_CONFIG_START(mac_state::maclc3)
MCFG_DEVICE_PROGRAM_MAP(maclc3_map)
MCFG_DEVICE_DISASSEMBLE_OVERRIDE(mac_state, mac_dasm_override)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macsonora, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_macsonora, this));
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macsonora)
+ MCFG_VIDEO_RESET_OVERRIDE(mac_state,macsonora)
MCFG_SCREEN_MODIFY(MAC_SCREEN_NAME)
MCFG_SCREEN_UPDATE_DRIVER(mac_state, screen_update_macsonora)
@@ -1397,8 +1397,8 @@ MACHINE_CONFIG_START(mac_state::maciivx)
MCFG_DEVICE_PROGRAM_MAP(maclc3_map)
MCFG_DEVICE_DISASSEMBLE_OVERRIDE(mac_state, mac_dasm_override)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macv8, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_macrbv, this));
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macv8)
+ MCFG_VIDEO_RESET_OVERRIDE(mac_state,macrbv)
MCFG_SCREEN_MODIFY(MAC_SCREEN_NAME)
MCFG_SCREEN_UPDATE_DRIVER(mac_state, screen_update_macrbvvram)
@@ -1433,8 +1433,8 @@ MACHINE_CONFIG_START(mac_state::maciivi)
MCFG_DEVICE_PROGRAM_MAP(maclc3_map)
MCFG_DEVICE_DISASSEMBLE_OVERRIDE(mac_state, mac_dasm_override)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macv8, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_macrbv, this));
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macv8)
+ MCFG_VIDEO_RESET_OVERRIDE(mac_state,macrbv)
MCFG_SCREEN_MODIFY(MAC_SCREEN_NAME)
MCFG_SCREEN_UPDATE_DRIVER(mac_state, screen_update_macrbvvram)
@@ -1500,7 +1500,7 @@ MACHINE_CONFIG_START(mac_state::macse30)
MCFG_PALETTE_ADD("palette", 2)
MCFG_PALETTE_INIT_OWNER(mac_state,mac)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mac, this));
+ MCFG_VIDEO_START_OVERRIDE(mac_state,mac)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1579,7 +1579,7 @@ MACHINE_CONFIG_START(mac_state::macpb140)
MCFG_PALETTE_ADD("palette", 2)
MCFG_PALETTE_INIT_OWNER(mac_state,mac)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macprtb, this));
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macprtb)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1670,7 +1670,7 @@ MACHINE_CONFIG_START(mac_state::macpb160)
MCFG_PALETTE_ADD("palette", 16)
MCFG_PALETTE_INIT_OWNER(mac_state,macgsc)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macprtb, this));
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macprtb)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1763,8 +1763,8 @@ MACHINE_CONFIG_START(mac_state::macclas2)
MCFG_DEVICE_PROGRAM_MAP(maclc_map)
MCFG_DEVICE_DISASSEMBLE_OVERRIDE(mac_state, mac_dasm_override)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macv8, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_maceagle, this));
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macv8)
+ MCFG_VIDEO_RESET_OVERRIDE(mac_state,maceagle)
MCFG_SCREEN_MODIFY(MAC_SCREEN_NAME)
MCFG_SCREEN_SIZE(MAC_H_TOTAL, MAC_V_TOTAL)
@@ -1801,8 +1801,8 @@ MACHINE_CONFIG_START(mac_state::maciici)
MCFG_NUBUS_SLOT_REMOVE("nba")
MCFG_NUBUS_SLOT_REMOVE("nbb")
- set_video_start_cb(config, driver_callback_delegate(&video_start_macrbv, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_macrbv, this));
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macrbv)
+ MCFG_VIDEO_RESET_OVERRIDE(mac_state,macrbv)
MCFG_SCREEN_ADD(MAC_SCREEN_NAME, RASTER)
MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
@@ -1836,8 +1836,8 @@ MACHINE_CONFIG_START(mac_state::maciisi)
MCFG_NUBUS_SLOT_REMOVE("nbe")
MCFG_DEVICE_REMOVE("nubus")
- set_video_start_cb(config, driver_callback_delegate(&video_start_macrbv, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_macrbv, this));
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macrbv)
+ MCFG_VIDEO_RESET_OVERRIDE(mac_state,macrbv)
MCFG_SCREEN_ADD(MAC_SCREEN_NAME, RASTER)
MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480)
@@ -1880,8 +1880,8 @@ MACHINE_CONFIG_START(mac_state::pwrmac)
MCFG_PALETTE_ADD("palette", 256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macsonora, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_macrbv, this));
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macsonora)
+ MCFG_VIDEO_RESET_OVERRIDE(mac_state,macrbv)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1945,8 +1945,8 @@ MACHINE_CONFIG_START(mac_state::macqd700)
MCFG_SCREEN_VISIBLE_AREA(0, 1152-1, 0, 870-1)
MCFG_SCREEN_UPDATE_DRIVER(mac_state, screen_update_macdafb)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macdafb, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_macdafb, this));
+ MCFG_VIDEO_START_OVERRIDE(mac_state,macdafb)
+ MCFG_VIDEO_RESET_OVERRIDE(mac_state,macdafb)
MCFG_PALETTE_ADD("palette", 256)
diff --git a/src/mame/drivers/mac128.cpp b/src/mame/drivers/mac128.cpp
index a8053e6be21..c998cbba7e2 100644
--- a/src/mame/drivers/mac128.cpp
+++ b/src/mame/drivers/mac128.cpp
@@ -238,7 +238,7 @@ public:
void init_mac128k512k();
void init_mac512ke();
void init_macplus();
- void video_start_mac() ATTR_COLD;
+ DECLARE_VIDEO_START(mac);
DECLARE_PALETTE_INIT(mac);
uint32_t screen_update_mac(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
#ifndef MAC_USE_EMULATED_KBD
@@ -1227,7 +1227,7 @@ PALETTE_INIT_MEMBER(mac128_state,mac)
palette.set_pen_color(1, 0x00, 0x00, 0x00);
}
-void mac128_state::video_start_mac()
+VIDEO_START_MEMBER(mac128_state,mac)
{
}
@@ -1339,7 +1339,7 @@ MACHINE_CONFIG_START(mac128_state::mac512ke)
MCFG_PALETTE_ADD("palette", 2)
MCFG_PALETTE_INIT_OWNER(mac128_state,mac)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mac, this));
+ MCFG_VIDEO_START_OVERRIDE(mac128_state,mac)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", mac128_state, mac_scanline, "screen", 0, 1)
diff --git a/src/mame/drivers/macs.cpp b/src/mame/drivers/macs.cpp
index 6986808a190..b81b8700705 100644
--- a/src/mame/drivers/macs.cpp
+++ b/src/mame/drivers/macs.cpp
@@ -90,8 +90,8 @@ public:
void init_kisekaeh();
void init_kisekaem();
void init_macs2();
- void machine_reset_macs();
- void machine_start_macs();
+ DECLARE_MACHINE_RESET(macs);
+ DECLARE_MACHINE_START(macs);
ST0016_DMA_OFFS_CB(dma_offset);
uint32_t screen_update_macs(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -505,8 +505,8 @@ MACHINE_CONFIG_START(macs_state::macs)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", macs_state, irq0_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_macs, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_macs, this));
+ MCFG_MACHINE_START_OVERRIDE(macs_state, macs)
+ MCFG_MACHINE_RESET_OVERRIDE(macs_state, macs)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -654,7 +654,7 @@ static const uint8_t ramdata[160]=
};
#endif
-void macs_state::machine_start_macs()
+MACHINE_START_MEMBER(macs_state,macs)
{
m_rombank[0]->configure_entries(0 , 256, memregion("maincpu")->base(), 0x4000);
m_rombank[0]->configure_entries(256, 256, m_cart1->get_rom_base(), 0x4000);
@@ -673,7 +673,7 @@ void macs_state::machine_start_macs()
m_rambank[1]->set_entry(0);
}
-void macs_state::machine_reset_macs()
+MACHINE_RESET_MEMBER(macs_state,macs)
{
#if 0
uint8_t *macs_ram1 = m_ram1.get();
diff --git a/src/mame/drivers/magicfly.cpp b/src/mame/drivers/magicfly.cpp
index 18a2163f904..8aad5870620 100644
--- a/src/mame/drivers/magicfly.cpp
+++ b/src/mame/drivers/magicfly.cpp
@@ -477,7 +477,7 @@ public:
virtual void video_start() override;
DECLARE_PALETTE_INIT(magicfly);
DECLARE_PALETTE_INIT(bchance);
- void video_start_7mezzo() ATTR_COLD;
+ DECLARE_VIDEO_START(7mezzo);
uint32_t screen_update_magicfly(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
required_device<dac_bit_interface> m_dac;
@@ -563,7 +563,7 @@ TILE_GET_INFO_MEMBER(magicfly_state::get_7mezzo_tile_info)
SET_TILE_INFO_MEMBER(bank, code, color, 0);
}
-void magicfly_state::video_start_7mezzo()
+VIDEO_START_MEMBER(magicfly_state, 7mezzo)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(magicfly_state::get_7mezzo_tile_info), this), TILEMAP_SCAN_ROWS, 8, 8, 32, 29);
}
@@ -975,7 +975,7 @@ MACHINE_CONFIG_START(magicfly_state::_7mezzo)
magicfly(config);
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_7mezzo, this));
+ MCFG_VIDEO_START_OVERRIDE(magicfly_state, 7mezzo)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mappy.cpp b/src/mame/drivers/mappy.cpp
index 76cc36b5cd6..d2b013fe385 100644
--- a/src/mame/drivers/mappy.cpp
+++ b/src/mame/drivers/mappy.cpp
@@ -1354,7 +1354,7 @@ MACHINE_CONFIG_START(mappy_state::superpac_common)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, mappy_state, vblank_irq)) // cause IRQs on both CPUs; also update the custom I/O chips
- set_video_start_cb(config, driver_callback_delegate(&video_start_superpac, this));
+ MCFG_VIDEO_START_OVERRIDE(mappy_state,superpac)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -1482,7 +1482,7 @@ MACHINE_CONFIG_START(mappy_state::phozon)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, mappy_state, vblank_irq)) // cause IRQs on all three CPUs; also update the custom I/O chips
- set_video_start_cb(config, driver_callback_delegate(&video_start_phozon, this));
+ MCFG_VIDEO_START_OVERRIDE(mappy_state,phozon)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -1532,7 +1532,7 @@ MACHINE_CONFIG_START(mappy_state::mappy_common)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, mappy_state, vblank_irq)) // cause IRQs on both CPUs; also update the custom I/O chips
- set_video_start_cb(config, driver_callback_delegate(&video_start_mappy, this));
+ MCFG_VIDEO_START_OVERRIDE(mappy_state,mappy)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
diff --git a/src/mame/drivers/mbee.cpp b/src/mame/drivers/mbee.cpp
index 118117a8658..ad60406944f 100644
--- a/src/mame/drivers/mbee.cpp
+++ b/src/mame/drivers/mbee.cpp
@@ -652,7 +652,7 @@ MACHINE_CONFIG_START(mbee_state::mbee)
MCFG_DEVICE_IO_MAP(mbee_io)
MCFG_Z80_DAISY_CHAIN(mbee_daisy_chain)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mbee, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mbee_state, mbee)
MCFG_DEVICE_ADD("z80pio", Z80PIO, XTAL(12'000'000) / 6)
MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
@@ -673,7 +673,7 @@ MACHINE_CONFIG_START(mbee_state::mbee)
MCFG_PALETTE_ADD("palette", 100)
MCFG_PALETTE_INIT_OWNER(mbee_state, standard)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mono, this));
+ MCFG_VIDEO_START_OVERRIDE(mbee_state, mono)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -709,7 +709,7 @@ MACHINE_CONFIG_START(mbee_state::mbeeic)
MCFG_DEVICE_IO_MAP(mbeeic_io)
MCFG_Z80_DAISY_CHAIN(mbee_daisy_chain)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mbee, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mbee_state, mbee)
MCFG_DEVICE_ADD("z80pio", Z80PIO, 3375000)
MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
@@ -730,7 +730,7 @@ MACHINE_CONFIG_START(mbee_state::mbeeic)
MCFG_PALETTE_ADD("palette", 100)
MCFG_PALETTE_INIT_OWNER(mbee_state, standard)
- set_video_start_cb(config, driver_callback_delegate(&video_start_standard, this));
+ MCFG_VIDEO_START_OVERRIDE(mbee_state, standard)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -770,7 +770,7 @@ MACHINE_CONFIG_START(mbee_state::mbeeppc)
MCFG_DEVICE_MODIFY( "maincpu" )
MCFG_DEVICE_PROGRAM_MAP(mbeeppc_mem)
MCFG_DEVICE_IO_MAP(mbeeppc_io)
- set_video_start_cb(config, driver_callback_delegate(&video_start_premium, this));
+ MCFG_VIDEO_START_OVERRIDE(mbee_state, premium)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_premium)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_INIT_OWNER(mbee_state, premium)
@@ -783,7 +783,7 @@ MACHINE_CONFIG_START(mbee_state::mbee56)
MCFG_DEVICE_MODIFY( "maincpu" )
MCFG_DEVICE_PROGRAM_MAP(mbee56_mem)
MCFG_DEVICE_IO_MAP(mbee56_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mbee56, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mbee_state, mbee56)
MCFG_WD2793_ADD("fdc", XTAL(4'000'000) / 2)
MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(*this, mbee_state, fdc_intrq_w))
MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(*this, mbee_state, fdc_drq_w))
@@ -799,7 +799,7 @@ MACHINE_CONFIG_START(mbee_state::mbee128)
MCFG_DEVICE_MODIFY( "maincpu" )
MCFG_DEVICE_PROGRAM_MAP(mbee256_mem)
MCFG_DEVICE_IO_MAP(mbee128_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mbee128, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mbee_state, mbee128)
MCFG_MC146818_ADD( "rtc", XTAL(32'768) )
MCFG_MC146818_IRQ_HANDLER(WRITELINE(*this, mbee_state, rtc_irq_w))
MACHINE_CONFIG_END
@@ -809,7 +809,7 @@ MACHINE_CONFIG_START(mbee_state::mbee128p)
MCFG_DEVICE_MODIFY( "maincpu" )
MCFG_DEVICE_PROGRAM_MAP(mbee256_mem)
MCFG_DEVICE_IO_MAP(mbee128_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mbee128, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mbee_state, mbee128)
MCFG_WD2793_ADD("fdc", XTAL(4'000'000) / 2)
MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(*this, mbee_state, fdc_intrq_w))
MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(*this, mbee_state, fdc_drq_w))
@@ -825,7 +825,7 @@ MACHINE_CONFIG_START(mbee_state::mbee256)
MCFG_DEVICE_MODIFY( "maincpu" )
MCFG_DEVICE_PROGRAM_MAP(mbee256_mem)
MCFG_DEVICE_IO_MAP(mbee256_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mbee256, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mbee_state, mbee256)
MCFG_DEVICE_REMOVE("fdc:0")
MCFG_DEVICE_REMOVE("fdc:1")
@@ -840,7 +840,7 @@ MACHINE_CONFIG_START(mbee_state::mbeett)
MCFG_DEVICE_MODIFY( "maincpu" )
MCFG_DEVICE_PROGRAM_MAP(mbeett_mem)
MCFG_DEVICE_IO_MAP(mbeett_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mbeett, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mbee_state, mbeett)
MCFG_DEVICE_REMOVE("quickload")
MCFG_DEVICE_REMOVE("quickload2")
MCFG_DEVICE_ADD("scc", SCC8530, 4000000) // clock unknown
diff --git a/src/mame/drivers/mc1502.cpp b/src/mame/drivers/mc1502.cpp
index 2e0fa13c978..15f945b433e 100644
--- a/src/mame/drivers/mc1502.cpp
+++ b/src/mame/drivers/mc1502.cpp
@@ -182,7 +182,7 @@ void mc1502_state::init_mc1502()
membank("bank10")->set_base(m_ram->pointer());
}
-void mc1502_state::machine_start_mc1502()
+MACHINE_START_MEMBER(mc1502_state, mc1502)
{
/*
Keyboard polling circuit holds IRQ1 high until a key is
@@ -197,7 +197,7 @@ void mc1502_state::machine_start_mc1502()
m_kbd.keyb_signal_timer->adjust(attotime::from_msec(20), 0, attotime::from_msec(20));
}
-void mc1502_state::machine_reset_mc1502()
+MACHINE_RESET_MEMBER(mc1502_state, mc1502)
{
m_spkrdata = 0;
m_pit_out2 = 1;
@@ -236,8 +236,8 @@ MACHINE_CONFIG_START(mc1502_state::mc1502)
MCFG_DEVICE_IO_MAP(mc1502_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mc1502, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mc1502, this));
+ MCFG_MACHINE_START_OVERRIDE( mc1502_state, mc1502 )
+ MCFG_MACHINE_RESET_OVERRIDE( mc1502_state, mc1502 )
MCFG_DEVICE_ADD("pit8253", PIT8253, 0)
MCFG_PIT8253_CLK0(XTAL(16'000'000)/12) /* heartbeat IRQ */
diff --git a/src/mame/drivers/mcb216.cpp b/src/mame/drivers/mcb216.cpp
index d3f356da224..4a76c429e9f 100644
--- a/src/mame/drivers/mcb216.cpp
+++ b/src/mame/drivers/mcb216.cpp
@@ -48,8 +48,8 @@ public:
DECLARE_READ8_MEMBER(tms5501_status_r);
- void machine_reset_mcb216();
- void machine_reset_cb308();
+ DECLARE_MACHINE_RESET(mcb216);
+ DECLARE_MACHINE_RESET(cb308);
IRQ_CALLBACK_MEMBER(irq_callback);
@@ -108,11 +108,11 @@ IRQ_CALLBACK_MEMBER(mcb216_state::irq_callback)
return m_tms5501->get_vector();
}
-void mcb216_state::machine_reset_mcb216()
+MACHINE_RESET_MEMBER( mcb216_state, mcb216 )
{
}
-void mcb216_state::machine_reset_cb308()
+MACHINE_RESET_MEMBER( mcb216_state, cb308 )
{
m_maincpu->set_state_int(Z80_PC, 0xe000);
}
@@ -124,7 +124,7 @@ MACHINE_CONFIG_START(mcb216_state::mcb216)
MCFG_DEVICE_IO_MAP(mcb216_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(mcb216_state, irq_callback)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mcb216, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mcb216_state, mcb216)
MCFG_DEVICE_ADD("tms5501", TMS5501, 8_MHz_XTAL / 4)
MCFG_TMS5501_XMT_CALLBACK(WRITELINE("rs232", rs232_port_device, write_txd))
@@ -141,7 +141,7 @@ MACHINE_CONFIG_START(mcb216_state::cb308)
MCFG_DEVICE_IO_MAP(mcb216_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(mcb216_state, irq_callback)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cb308, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mcb216_state, cb308)
MCFG_DEVICE_ADD("tms5501", TMS5501, 8_MHz_XTAL / 4)
MCFG_TMS5501_XMT_CALLBACK(WRITELINE("rs232", rs232_port_device, write_txd))
diff --git a/src/mame/drivers/mcr3.cpp b/src/mame/drivers/mcr3.cpp
index c65da206067..3af3f26e2ef 100644
--- a/src/mame/drivers/mcr3.cpp
+++ b/src/mame/drivers/mcr3.cpp
@@ -1175,7 +1175,7 @@ MACHINE_CONFIG_START(mcr3_state::mcrscroll)
MCFG_PALETTE_ENTRIES(64+4)
MCFG_PALETTE_INIT_OWNER(mcr3_state,spyhunt)
- set_video_start_cb(config, driver_callback_delegate(&video_start_spyhunt, this));
+ MCFG_VIDEO_START_OVERRIDE(mcr3_state,spyhunt)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mcr68.cpp b/src/mame/drivers/mcr68.cpp
index 9cf9bb93ea0..362d4cec05a 100644
--- a/src/mame/drivers/mcr68.cpp
+++ b/src/mame/drivers/mcr68.cpp
@@ -903,8 +903,8 @@ MACHINE_CONFIG_START(mcr68_state::mcr68)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 8)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mcr68, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mcr68, this));
+ MCFG_MACHINE_START_OVERRIDE(mcr68_state,mcr68)
+ MCFG_MACHINE_RESET_OVERRIDE(mcr68_state,mcr68)
MCFG_DEVICE_ADD("ptm", PTM6840, 7723800 / 10)
MCFG_PTM6840_IRQ_CB(INPUTLINE("maincpu", 2))
@@ -924,7 +924,7 @@ MACHINE_CONFIG_START(mcr68_state::mcr68)
MCFG_PALETTE_ADD("palette", 64)
MCFG_PALETTE_FORMAT(xxxxxxxRRRBBBGGG)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mcr68, this));
+ MCFG_VIDEO_START_OVERRIDE(mcr68_state,mcr68)
/* sound hardware -- determined by specific machine */
SPEAKER(config, "speaker").front_center();
diff --git a/src/mame/drivers/megadriv.cpp b/src/mame/drivers/megadriv.cpp
index 014ec6ad0d1..1b316f407da 100644
--- a/src/mame/drivers/megadriv.cpp
+++ b/src/mame/drivers/megadriv.cpp
@@ -247,7 +247,7 @@ INPUT_PORTS_END
*
*************************************/
-void md_cons_state::machine_start_md_common()
+MACHINE_START_MEMBER(md_cons_state, md_common)
{
static const char *const pad6names[2][4] = {
{ "PAD1_6B", "PAD2_6B", "UNUSED", "UNUSED" },
@@ -314,9 +314,9 @@ void md_cons_state::install_tmss()
}
-void md_cons_state::machine_start_ms_megadriv()
+MACHINE_START_MEMBER(md_cons_state, ms_megadriv)
{
- machine_start_md_common();
+ MACHINE_START_CALL_MEMBER( md_common );
// the SVP introduces some kind of DMA 'lag', which we have to compensate for, this is obvious even on gfx DMAd from ROM (the Speedometer)
if (m_cart->get_type() == SEGA_SVP)
@@ -334,19 +334,19 @@ void md_cons_state::machine_start_ms_megadriv()
}
-void md_cons_state::machine_start_ms_megacd()
+MACHINE_START_MEMBER(md_cons_state, ms_megacd)
{
- machine_start_md_common();
+ MACHINE_START_CALL_MEMBER( md_common );
// the segaCD introduces some kind of DMA 'lag', which we have to compensate for,
// at least when reading wordram? we might need to check what mode we're in the DMA...
m_vdp->set_dma_delay(2);
}
-void md_cons_state::machine_reset_ms_megadriv()
+MACHINE_RESET_MEMBER(md_cons_state, ms_megadriv)
{
m_maincpu->reset();
- machine_reset_megadriv();
+ MACHINE_RESET_CALL_MEMBER( megadriv );
// if the system has a 32x, pause the extra CPUs until they are actually turned on
if (m_32x)
@@ -380,8 +380,8 @@ WRITE_LINE_MEMBER(md_cons_state::screen_vblank_console)
MACHINE_CONFIG_START(md_cons_state::ms_megadriv)
md_ntsc(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ms_megadriv, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ms_megadriv, this));
+ MCFG_MACHINE_START_OVERRIDE(md_cons_state, ms_megadriv)
+ MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
MCFG_SCREEN_MODIFY("megadriv")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, md_cons_state, screen_vblank_console))
@@ -393,8 +393,8 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(md_cons_state::ms_megadpal)
md_pal(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ms_megadriv, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ms_megadriv, this));
+ MCFG_MACHINE_START_OVERRIDE(md_cons_state, ms_megadriv)
+ MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
MCFG_SCREEN_MODIFY("megadriv")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, md_cons_state, screen_vblank_console))
@@ -411,8 +411,8 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(md_cons_state::dcat16_megadriv)
dcat16_megadriv_base(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_md_common, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_megadriv, this));
+ MCFG_MACHINE_START_OVERRIDE(md_cons_state, md_common)
+ MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, megadriv)
MCFG_SCREEN_MODIFY("megadriv")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, md_cons_state, screen_vblank_console))
@@ -601,8 +601,8 @@ void md_cons_state::_32x_scanline_helper_callback(int scanline)
MACHINE_CONFIG_START(md_cons_state::genesis_32x)
md_ntsc(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_md_common, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ms_megadriv, this));
+ MCFG_MACHINE_START_OVERRIDE(md_cons_state, md_common)
+ MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
MCFG_DEVICE_MODIFY("gen_vdp")
MCFG_SEGA315_5313_32X_SCANLINE_CB(md_cons_state, _32x_scanline_callback);
@@ -642,8 +642,8 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(md_cons_state::mdj_32x)
md_ntsc(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_md_common, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ms_megadriv, this));
+ MCFG_MACHINE_START_OVERRIDE(md_cons_state, md_common)
+ MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
MCFG_DEVICE_MODIFY("gen_vdp")
MCFG_SEGA315_5313_32X_SCANLINE_CB(md_cons_state, _32x_scanline_callback);
@@ -683,8 +683,8 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(md_cons_state::md_32x)
md_pal(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_md_common, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ms_megadriv, this));
+ MCFG_MACHINE_START_OVERRIDE(md_cons_state, md_common)
+ MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
MCFG_DEVICE_MODIFY("gen_vdp")
MCFG_SEGA315_5313_32X_SCANLINE_CB(md_cons_state, _32x_scanline_callback);
@@ -756,8 +756,8 @@ ROM_END
MACHINE_CONFIG_START(md_cons_state::genesis_scd)
md_ntsc(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ms_megacd, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ms_megadriv, this));
+ MCFG_MACHINE_START_OVERRIDE(md_cons_state, ms_megacd)
+ MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
MCFG_SCREEN_MODIFY("megadriv")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, md_cons_state, screen_vblank_console))
@@ -774,8 +774,8 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(md_cons_state::md_scd)
md_pal(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ms_megacd, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ms_megadriv, this));
+ MCFG_MACHINE_START_OVERRIDE(md_cons_state, ms_megacd)
+ MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
MCFG_SCREEN_MODIFY("megadriv")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, md_cons_state, screen_vblank_console))
@@ -792,8 +792,8 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(md_cons_state::mdj_scd)
md_ntsc(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ms_megacd, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ms_megadriv, this));
+ MCFG_MACHINE_START_OVERRIDE(md_cons_state, ms_megacd)
+ MCFG_MACHINE_RESET_OVERRIDE(md_cons_state, ms_megadriv)
MCFG_SCREEN_MODIFY("megadriv")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, md_cons_state, screen_vblank_console))
@@ -818,7 +818,7 @@ MACHINE_CONFIG_START(md_cons_state::genesis_32x_scd)
MCFG_CDROM_ADD( "cdrom" )
MCFG_CDROM_INTERFACE("scd_cdrom")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ms_megacd, this));
+ MCFG_MACHINE_START_OVERRIDE(md_cons_state, ms_megacd)
MCFG_DEVICE_REMOVE("cartslot")
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "_32x_cart")
@@ -838,7 +838,7 @@ MACHINE_CONFIG_START(md_cons_state::md_32x_scd)
MCFG_CDROM_ADD( "cdrom" )
MCFG_CDROM_INTERFACE("scd_cdrom")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ms_megacd, this));
+ MCFG_MACHINE_START_OVERRIDE(md_cons_state, ms_megacd)
MCFG_DEVICE_REMOVE("cartslot")
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "_32x_cart")
@@ -858,7 +858,7 @@ MACHINE_CONFIG_START(md_cons_state::mdj_32x_scd)
MCFG_CDROM_ADD( "cdrom" )
MCFG_CDROM_INTERFACE("scd_cdrom")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ms_megacd, this));
+ MCFG_MACHINE_START_OVERRIDE(md_cons_state, ms_megacd)
MCFG_DEVICE_REMOVE("cartslot")
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "_32x_cart")
diff --git a/src/mame/drivers/megadriv_acbl.cpp b/src/mame/drivers/megadriv_acbl.cpp
index 7f0c6975828..06bbf213b27 100644
--- a/src/mame/drivers/megadriv_acbl.cpp
+++ b/src/mame/drivers/megadriv_acbl.cpp
@@ -681,12 +681,12 @@ INPUT_PORTS_END
MACHINE_CONFIG_START(md_boot_state::megadrvb)
md_ntsc(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_md_bootleg, this));
+ MCFG_MACHINE_START_OVERRIDE(md_boot_state, md_bootleg)
MACHINE_CONFIG_END
-void md_boot_state::machine_start_md_6button()
+MACHINE_START_MEMBER(md_boot_state, md_6button)
{
- machine_start_md_bootleg();
+ MACHINE_START_CALL_MEMBER(md_bootleg);
m_io_pad_6b[0] = ioport("EXTRA1");
m_io_pad_6b[1] = ioport("EXTRA2");
@@ -700,7 +700,7 @@ void md_boot_state::machine_start_md_6button()
MACHINE_CONFIG_START(md_boot_state::megadrvb_6b)
md_ntsc(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_md_6button, this));
+ MCFG_MACHINE_START_OVERRIDE(md_boot_state, md_6button)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/megadriv_rad.cpp b/src/mame/drivers/megadriv_rad.cpp
index 8b9db140bc2..af62d046a7f 100644
--- a/src/mame/drivers/megadriv_rad.cpp
+++ b/src/mame/drivers/megadriv_rad.cpp
@@ -102,9 +102,9 @@ static INPUT_PORTS_START( megadriv_radica_6button )
INPUT_PORTS_END
-void megadriv_radica_state::machine_start_megadriv_radica_6button()
+MACHINE_START_MEMBER(megadriv_radica_state, megadriv_radica_6button)
{
- machine_start_megadriv();
+ MACHINE_START_CALL_MEMBER(megadriv);
m_vdp->stop_timers();
m_io_pad_6b[0] = ioport("EXTRA1");
@@ -119,17 +119,17 @@ void megadriv_radica_state::machine_start_megadriv_radica_6button()
save_item(NAME(m_bank));
}
-void megadriv_radica_state::machine_start_megadriv_radica_3button()
+MACHINE_START_MEMBER(megadriv_radica_state, megadriv_radica_3button)
{
- machine_start_megadriv();
+ MACHINE_START_CALL_MEMBER(megadriv);
m_vdp->stop_timers();
save_item(NAME(m_bank));
}
-void megadriv_radica_state::machine_reset_megadriv_radica()
+MACHINE_RESET_MEMBER(megadriv_radica_state, megadriv_radica)
{
m_bank = 0;
- machine_reset_megadriv();
+ MACHINE_RESET_CALL_MEMBER(megadriv);
m_maincpu->reset();
}
@@ -137,24 +137,24 @@ MACHINE_CONFIG_START(megadriv_radica_state::megadriv_radica_3button_ntsc)
md_ntsc(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(megadriv_radica_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_megadriv_radica_3button, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_megadriv_radica, this));
+ MCFG_MACHINE_START_OVERRIDE(megadriv_radica_state, megadriv_radica_3button)
+ MCFG_MACHINE_RESET_OVERRIDE(megadriv_radica_state, megadriv_radica)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(megadriv_radica_state::megadriv_radica_3button_pal)
md_pal(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(megadriv_radica_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_megadriv_radica_3button, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_megadriv_radica, this));
+ MCFG_MACHINE_START_OVERRIDE(megadriv_radica_state, megadriv_radica_3button)
+ MCFG_MACHINE_RESET_OVERRIDE(megadriv_radica_state, megadriv_radica)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(megadriv_radica_state::megadriv_radica_6button_pal)
md_pal(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(megadriv_radica_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_megadriv_radica_6button, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_megadriv_radica, this));
+ MCFG_MACHINE_START_OVERRIDE(megadriv_radica_state, megadriv_radica_6button)
+ MCFG_MACHINE_RESET_OVERRIDE(megadriv_radica_state, megadriv_radica)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/megaplay.cpp b/src/mame/drivers/megaplay.cpp
index 074e465689f..55d41d991ec 100644
--- a/src/mame/drivers/megaplay.cpp
+++ b/src/mame/drivers/megaplay.cpp
@@ -84,8 +84,8 @@ public:
DECLARE_READ8_MEMBER(vdp1_count_r);
void init_megaplay();
- void video_start_megplay() ATTR_COLD;
- void machine_reset_megaplay();
+ DECLARE_VIDEO_START(megplay);
+ DECLARE_MACHINE_RESET(megaplay);
uint32_t screen_update_megplay(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void megaplay(machine_config &config);
@@ -653,12 +653,12 @@ uint32_t mplay_state::screen_update_megplay(screen_device &screen, bitmap_rgb32
return 0;
}
-void mplay_state::machine_reset_megaplay()
+MACHINE_RESET_MEMBER(mplay_state,megaplay)
{
m_bios_mode = MP_ROM;
m_bios_bank_addr = 0;
m_readpos = 1;
- machine_reset_megadriv();
+ MACHINE_RESET_CALL_MEMBER(megadriv);
}
MACHINE_CONFIG_START(mplay_state::megaplay)
diff --git a/src/mame/drivers/megasys1.cpp b/src/mame/drivers/megasys1.cpp
index 6a50b266643..b341c618d01 100644
--- a/src/mame/drivers/megasys1.cpp
+++ b/src/mame/drivers/megasys1.cpp
@@ -136,16 +136,16 @@ RAM RW 0f0000-0f3fff 0e0000-0effff? <
#define OKI4_SOUND_CLOCK XTAL(4'000'000)
-void megasys1_state::machine_reset_megasys1()
+MACHINE_RESET_MEMBER(megasys1_state,megasys1)
{
m_ignore_oki_status = 1; /* ignore oki status due 'protection' */
m_ip_latched = 0x0006; /* reset protection - some games expect this initial read without sending anything */
m_mcu_hs = 0;
}
-void megasys1_state::machine_reset_megasys1_hachoo()
+MACHINE_RESET_MEMBER(megasys1_state,megasys1_hachoo)
{
- machine_reset_megasys1();
+ MACHINE_RESET_CALL_MEMBER(megasys1);
m_ignore_oki_status = 0; /* strangely hachoo need real oki status */
}
@@ -1693,7 +1693,7 @@ MACHINE_CONFIG_START(megasys1_state::system_A)
MCFG_QUANTUM_TIME(attotime::from_hz(120000))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_megasys1, this));
+ MCFG_MACHINE_RESET_OVERRIDE(megasys1_state,megasys1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1709,7 +1709,7 @@ MACHINE_CONFIG_START(megasys1_state::system_A)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
MCFG_PALETTE_INIT_OWNER(megasys1_state,megasys1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_megasys1, this));
+ MCFG_VIDEO_START_OVERRIDE(megasys1_state,megasys1)
MCFG_MEGASYS1_TILEMAP_ADD("scroll0", "palette", 256*0)
MCFG_MEGASYS1_TILEMAP_ADD("scroll1", "palette", 256*1)
@@ -1738,7 +1738,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(megasys1_state::system_A_hachoo)
system_A(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_megasys1_hachoo, this));
+ MCFG_MACHINE_RESET_OVERRIDE(megasys1_state,megasys1_hachoo)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(megasys1_state::system_A_iganinju)
@@ -1797,7 +1797,7 @@ MACHINE_CONFIG_START(megasys1_state::system_Bbl)
MCFG_DEVICE_PROGRAM_MAP(megasys1B_edfbl_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", megasys1_state, megasys1B_scanline, "screen", 0, 1)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_megasys1, this));
+ MCFG_MACHINE_RESET_OVERRIDE(megasys1_state,megasys1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1814,7 +1814,7 @@ MACHINE_CONFIG_START(megasys1_state::system_Bbl)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
MCFG_PALETTE_INIT_OWNER(megasys1_state,megasys1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_megasys1, this));
+ MCFG_VIDEO_START_OVERRIDE(megasys1_state,megasys1)
MCFG_MEGASYS1_TILEMAP_ADD("scroll0", "palette", 256*0)
MCFG_MEGASYS1_TILEMAP_ADD("scroll1", "palette", 256*1)
@@ -1878,7 +1878,7 @@ MACHINE_CONFIG_START(megasys1_state::system_D)
MCFG_DEVICE_PROGRAM_MAP(megasys1D_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", megasys1_state, megasys1D_irq)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_megasys1, this));
+ MCFG_MACHINE_RESET_OVERRIDE(megasys1_state,megasys1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1894,7 +1894,7 @@ MACHINE_CONFIG_START(megasys1_state::system_D)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRRGGGGGBBBBBx)
MCFG_PALETTE_INIT_OWNER(megasys1_state,megasys1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_megasys1, this));
+ MCFG_VIDEO_START_OVERRIDE(megasys1_state,megasys1)
MCFG_MEGASYS1_TILEMAP_ADD("scroll0", "palette", 256*0)
MCFG_MEGASYS1_TILEMAP_ADD("scroll1", "palette", 256*1)
@@ -1945,7 +1945,7 @@ MACHINE_CONFIG_START(megasys1_state::system_Z)
MCFG_PALETTE_ADD("palette", 768)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_megasys1, this));
+ MCFG_VIDEO_START_OVERRIDE(megasys1_state,megasys1)
MCFG_MEGASYS1_TILEMAP_ADD("scroll0", "palette", 256*0)
MCFG_MEGASYS1_TILEMAP_ADD("scroll1", "palette", 256*2)
diff --git a/src/mame/drivers/megatech.cpp b/src/mame/drivers/megatech.cpp
index 27d19922004..b2658ed72ac 100644
--- a/src/mame/drivers/megatech.cpp
+++ b/src/mame/drivers/megatech.cpp
@@ -126,7 +126,7 @@ public:
void init_mt_crt();
void init_mt_slot();
- void machine_reset_megatech();
+ DECLARE_MACHINE_RESET(megatech);
image_init_result load_cart(device_image_interface &image, generic_slot_device *slot, int gameno);
DECLARE_DEVICE_IMAGE_LOAD_MEMBER( mt_cart1 ) { return load_cart(image, m_cart1, 0); }
@@ -640,10 +640,10 @@ WRITE_LINE_MEMBER(mtech_state::screen_vblank_main)
screen_vblank_megadriv(state);
}
-void mtech_state::machine_reset_megatech()
+MACHINE_RESET_MEMBER(mtech_state, megatech)
{
m_mt_bank_addr = 0;
- machine_reset_megadriv();
+ MACHINE_RESET_CALL_MEMBER(megadriv);
std::string region_tag;
if (m_cart1->get_rom_size() > 0)
@@ -697,7 +697,7 @@ MACHINE_CONFIG_START(mtech_state::megatech)
MCFG_CXD1095_IN_PORTE_CB(READ8(*this, mtech_state, bios_porte_r))
MCFG_CXD1095_OUT_PORTE_CB(WRITE8(*this, mtech_state, bios_porte_w))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_megatech, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mtech_state, megatech)
MCFG_DEFAULT_LAYOUT(layout_dualhovu)
diff --git a/src/mame/drivers/mephisto.cpp b/src/mame/drivers/mephisto.cpp
index 4a4101b1deb..a15e5b67e82 100644
--- a/src/mame/drivers/mephisto.cpp
+++ b/src/mame/drivers/mephisto.cpp
@@ -99,7 +99,7 @@ public:
void init_mephisto();
virtual void machine_start() override;
virtual void machine_reset() override;
- void machine_start_mm2() ATTR_COLD;
+ DECLARE_MACHINE_START(mm2);
TIMER_DEVICE_CALLBACK_MEMBER(update_nmi);
TIMER_DEVICE_CALLBACK_MEMBER(update_nmi_r5);
TIMER_DEVICE_CALLBACK_MEMBER(update_irq);
@@ -264,7 +264,7 @@ void mephisto_state::machine_start()
m_allowNMI = 1;
}
-void mephisto_state::machine_start_mm2()
+MACHINE_START_MEMBER(mephisto_state,mm2)
{
m_digits.resolve();
m_lcd_shift_counter = 3;
@@ -336,7 +336,7 @@ MACHINE_CONFIG_START(mephisto_state::mm2)
mephisto(config);
MCFG_DEVICE_REPLACE("maincpu", M65C02, 3700000)
MCFG_DEVICE_PROGRAM_MAP(mm2_mem)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mm2, this));
+ MCFG_MACHINE_START_OVERRIDE(mephisto_state, mm2 )
MCFG_DEVICE_REMOVE("nmi_timer")
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_timer", mephisto_state, update_irq, attotime::from_hz(450))
diff --git a/src/mame/drivers/merit.cpp b/src/mame/drivers/merit.cpp
index 7e1d50013ea..3f2e7983c0d 100644
--- a/src/mame/drivers/merit.cpp
+++ b/src/mame/drivers/merit.cpp
@@ -128,7 +128,7 @@ public:
void init_key_2();
void init_dtrvwz5();
virtual void machine_start() override;
- void machine_start_casino5() ATTR_COLD;
+ DECLARE_MACHINE_START(casino5);
MC6845_BEGIN_UPDATE(crtc_begin_update);
MC6845_UPDATE_ROW(crtc_update_row);
required_device<cpu_device> m_maincpu;
@@ -1387,7 +1387,7 @@ void merit_state::dodge_nvram_init(nvram_device &nvram, void *base, size_t size)
reinterpret_cast<uint8_t *>(base)[0x1040] = 0xc9; /* ret */
}
-void merit_state::machine_start_casino5()
+MACHINE_START_MEMBER(merit_state,casino5)
{
merit_state::machine_start();
membank("bank1")->configure_entries(0, 2, memregion("maincpu")->base() + 0x2000, 0x2000);
@@ -1440,7 +1440,7 @@ MACHINE_CONFIG_START(merit_state::casino5)
MCFG_NVRAM_ADD_0FILL("nvram")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_casino5, this));
+ MCFG_MACHINE_START_OVERRIDE(merit_state,casino5)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(merit_state::bigappg)
diff --git a/src/mame/drivers/meritm.cpp b/src/mame/drivers/meritm.cpp
index 1c42c12280a..001d469f427 100644
--- a/src/mame/drivers/meritm.cpp
+++ b/src/mame/drivers/meritm.cpp
@@ -254,10 +254,10 @@ public:
void init_megat3te();
virtual void machine_start() override;
virtual void video_start() override;
- void machine_start_meritm_crt250_questions() ATTR_COLD;
- void machine_start_meritm_crt250_crt252_crt258() ATTR_COLD;
- void machine_start_meritm_crt260() ATTR_COLD;
- void machine_start_merit_common() ATTR_COLD;
+ DECLARE_MACHINE_START(meritm_crt250_questions);
+ DECLARE_MACHINE_START(meritm_crt250_crt252_crt258);
+ DECLARE_MACHINE_START(meritm_crt260);
+ DECLARE_MACHINE_START(merit_common);
uint32_t screen_update_meritm(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(vblank_start_tick);
TIMER_DEVICE_CALLBACK_MEMBER(vblank_end_tick);
@@ -1043,7 +1043,7 @@ static const z80_daisy_config meritm_daisy_chain[] =
{ nullptr }
};
-void meritm_state::machine_start_merit_common()
+MACHINE_START_MEMBER(meritm_state,merit_common)
{
m_z80pio_0->strobe_a(1);
m_z80pio_0->strobe_b(1);
@@ -1056,22 +1056,23 @@ void meritm_state::machine_start()
m_bank1->configure_entries(0, 8, m_region_maincpu->base(), 0x10000);
m_bank = 0xff;
meritm_crt250_switch_banks();
- machine_start_merit_common();
+ MACHINE_START_CALL_MEMBER(merit_common);
save_item(NAME(m_bank));
+
}
-void meritm_state::machine_start_meritm_crt250_questions()
+MACHINE_START_MEMBER(meritm_state,meritm_crt250_questions)
{
meritm_state::machine_start();
save_item(NAME(m_questions_loword_address));
}
-void meritm_state::machine_start_meritm_crt250_crt252_crt258()
+MACHINE_START_MEMBER(meritm_state,meritm_crt250_crt252_crt258)
{
- machine_start_meritm_crt250_questions();
+ MACHINE_START_CALL_MEMBER(meritm_crt250_questions);
}
-void meritm_state::machine_start_meritm_crt260()
+MACHINE_START_MEMBER(meritm_state,meritm_crt260)
{
m_ram = std::make_unique<uint8_t[]>( 0x8000 );
machine().device<nvram_device>("nvram")->set_base(m_ram.get(), 0x8000);
@@ -1082,7 +1083,7 @@ void meritm_state::machine_start_meritm_crt260()
m_bank = 0xff;
m_psd_a15 = 0;
meritm_switch_banks();
- machine_start_merit_common();
+ MACHINE_START_CALL_MEMBER(merit_common);
save_item(NAME(m_bank));
save_item(NAME(m_psd_a15));
save_pointer(NAME(m_ram.get()), 0x8000);
@@ -1154,14 +1155,14 @@ MACHINE_CONFIG_START(meritm_state::meritm_crt250_questions)
meritm_crt250(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(meritm_crt250_questions_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_meritm_crt250_questions, this));
+ MCFG_MACHINE_START_OVERRIDE(meritm_state,meritm_crt250_questions)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(meritm_state::meritm_crt250_crt252_crt258)
meritm_crt250_questions(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(meritm_crt250_crt258_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_meritm_crt250_crt252_crt258, this));
+ MCFG_MACHINE_START_OVERRIDE(meritm_state,meritm_crt250_crt252_crt258)
MCFG_DEVICE_ADD("ns16550", NS16550, UART_CLK)
MCFG_INS8250_OUT_TX_CB(WRITELINE("microtouch", microtouch_device, rx))
@@ -1181,7 +1182,7 @@ MACHINE_CONFIG_START(meritm_state::meritm_crt260)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_msec(1200)) // DS1232, TD connected to VCC
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_meritm_crt260, this));
+ MCFG_MACHINE_START_OVERRIDE(meritm_state,meritm_crt260)
MCFG_DEVICE_ADD("ns16550", NS16550, UART_CLK)
MCFG_INS8250_OUT_TX_CB(WRITELINE("microtouch", microtouch_device, rx))
diff --git a/src/mame/drivers/metro.cpp b/src/mame/drivers/metro.cpp
index 25dd40b3821..ece5421b8ac 100644
--- a/src/mame/drivers/metro.cpp
+++ b/src/mame/drivers/metro.cpp
@@ -3748,7 +3748,7 @@ MACHINE_CONFIG_START(metro_state::blzntrnd)
MCFG_SCREEN_PALETTE("vdp2:palette")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, metro_state, karatour_vblank_irq))
- set_video_start_cb(config, driver_callback_delegate(&video_start_blzntrnd, this));
+ MCFG_VIDEO_START_OVERRIDE(metro_state,blzntrnd)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "vdp2:palette", gfx_blzntrnd)
@@ -3774,7 +3774,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(metro_state::gstrik2)
blzntrnd(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_gstrik2)
- set_video_start_cb(config, driver_callback_delegate(&video_start_gstrik2, this));
+ MCFG_VIDEO_START_OVERRIDE(metro_state,gstrik2)
MCFG_DEVICE_MODIFY("k053936")
MCFG_K053936_OFFSETS(-77, -19)
diff --git a/src/mame/drivers/micral.cpp b/src/mame/drivers/micral.cpp
index 32328972992..227c3ed9d2a 100644
--- a/src/mame/drivers/micral.cpp
+++ b/src/mame/drivers/micral.cpp
@@ -73,7 +73,7 @@ public:
{ }
void init_micral();
- void machine_reset_micral();
+ DECLARE_MACHINE_RESET(micral);
DECLARE_READ8_MEMBER(keyin_r);
DECLARE_READ8_MEMBER(status_r);
DECLARE_READ8_MEMBER(unk_r);
@@ -354,7 +354,7 @@ void micral_state::init_micral()
//membank("bankw0")->configure_entry(0, &main[0xf800]);
}
-void micral_state::machine_reset_micral()
+MACHINE_RESET_MEMBER( micral_state, micral )
{
//membank("bankr0")->set_entry(0); // point at rom
//membank("bankw0")->set_entry(0); // always write to ram
@@ -382,7 +382,7 @@ MACHINE_CONFIG_START(micral_state::micral)
MCFG_DEVICE_PROGRAM_MAP(mem_kbd)
MCFG_DEVICE_IO_MAP(io_kbd)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_micral, this));
+ MCFG_MACHINE_RESET_OVERRIDE(micral_state, micral)
// video hardware
MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green())
diff --git a/src/mame/drivers/microvsn.cpp b/src/mame/drivers/microvsn.cpp
index bb88a9be6fd..4974c43a868 100644
--- a/src/mame/drivers/microvsn.cpp
+++ b/src/mame/drivers/microvsn.cpp
@@ -44,8 +44,8 @@ public:
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_PALETTE_INIT(microvision);
- void machine_start_microvision() ATTR_COLD;
- void machine_reset_microvision();
+ DECLARE_MACHINE_START(microvision);
+ DECLARE_MACHINE_RESET(microvision);
DECLARE_WRITE_LINE_MEMBER(screen_vblank);
DECLARE_DEVICE_IMAGE_LOAD_MEMBER( microvsn_cart );
@@ -145,7 +145,7 @@ PALETTE_INIT_MEMBER(microvision_state,microvision)
}
-void microvision_state::machine_start_microvision()
+MACHINE_START_MEMBER(microvision_state, microvision)
{
m_paddle_timer = timer_alloc(TIMER_PADDLE);
@@ -163,7 +163,7 @@ void microvision_state::machine_start_microvision()
}
-void microvision_state::machine_reset_microvision()
+MACHINE_RESET_MEMBER(microvision_state, microvision)
{
for (auto & elem : m_lcd_latch)
{
@@ -652,8 +652,8 @@ MACHINE_CONFIG_START(microvision_state::microvision)
MCFG_SCREEN_VBLANK_TIME(0)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_microvision, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_microvision, this));
+ MCFG_MACHINE_START_OVERRIDE(microvision_state, microvision )
+ MCFG_MACHINE_RESET_OVERRIDE(microvision_state, microvision )
MCFG_SCREEN_UPDATE_DRIVER(microvision_state, screen_update)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, microvision_state, screen_vblank))
diff --git a/src/mame/drivers/midtunit.cpp b/src/mame/drivers/midtunit.cpp
index e61018e7bbc..a53da696c83 100644
--- a/src/mame/drivers/midtunit.cpp
+++ b/src/mame/drivers/midtunit.cpp
@@ -603,7 +603,7 @@ MACHINE_CONFIG_START(midtunit_state::tunit_core)
MCFG_TMS340X0_TO_SHIFTREG_CB(midtunit_state, to_shiftreg) /* write to shiftreg function */
MCFG_TMS340X0_FROM_SHIFTREG_CB(midtunit_state, from_shiftreg) /* read from shiftreg function */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_midtunit, this));
+ MCFG_MACHINE_RESET_OVERRIDE(midtunit_state,midtunit)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_WATCHDOG_ADD("watchdog")
@@ -618,7 +618,7 @@ MACHINE_CONFIG_START(midtunit_state::tunit_core)
MCFG_SCREEN_UPDATE_DEVICE("maincpu", tms34010_device, tms340x0_ind16)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_midtunit, this));
+ MCFG_VIDEO_START_OVERRIDE(midtunit_state,midtunit)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/midvunit.cpp b/src/mame/drivers/midvunit.cpp
index 9aca03cc29d..2db42128d86 100644
--- a/src/mame/drivers/midvunit.cpp
+++ b/src/mame/drivers/midvunit.cpp
@@ -75,7 +75,7 @@ void midvunit_state::machine_reset()
}
-void midvunit_state::machine_reset_midvplus()
+MACHINE_RESET_MEMBER(midvunit_state,midvplus)
{
m_dcs->reset_w(1);
m_dcs->reset_w(0);
@@ -1130,7 +1130,7 @@ MACHINE_CONFIG_START(midvunit_state::midvplus)
MCFG_DEVICE_PROGRAM_MAP(midvplus_map)
MCFG_TMS3203X_XF1_CB(WRITE8(*this, midvunit_state, midvplus_xf1_w))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_midvplus, this));
+ MCFG_MACHINE_RESET_OVERRIDE(midvunit_state,midvplus)
MCFG_DEVICE_REMOVE("nvram")
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, true)
diff --git a/src/mame/drivers/midwunit.cpp b/src/mame/drivers/midwunit.cpp
index 20cb84ed82c..f126bb88247 100644
--- a/src/mame/drivers/midwunit.cpp
+++ b/src/mame/drivers/midwunit.cpp
@@ -632,7 +632,7 @@ MACHINE_CONFIG_START(midwunit_state::wunit)
MCFG_TMS340X0_TO_SHIFTREG_CB(midtunit_state, to_shiftreg) /* write to shiftreg function */
MCFG_TMS340X0_FROM_SHIFTREG_CB(midtunit_state, from_shiftreg) /* read from shiftreg function */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_midwunit, this));
+ MCFG_MACHINE_RESET_OVERRIDE(midwunit_state,midwunit)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -645,7 +645,7 @@ MACHINE_CONFIG_START(midwunit_state::wunit)
MCFG_SCREEN_UPDATE_DEVICE("maincpu", tms34010_device, tms340x0_ind16)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_midwunit, this));
+ MCFG_VIDEO_START_OVERRIDE(midwunit_state,midwunit)
/* sound hardware */
MCFG_DEVICE_ADD("dcs", DCS_AUDIO_8K, 0)
diff --git a/src/mame/drivers/midxunit.cpp b/src/mame/drivers/midxunit.cpp
index 4056d335012..3e4d10c09f8 100644
--- a/src/mame/drivers/midxunit.cpp
+++ b/src/mame/drivers/midxunit.cpp
@@ -253,7 +253,7 @@ MACHINE_CONFIG_START(midxunit_state::midxunit)
MCFG_TMS340X0_TO_SHIFTREG_CB(midtunit_state, to_shiftreg) /* write to shiftreg function */
MCFG_TMS340X0_FROM_SHIFTREG_CB(midtunit_state, from_shiftreg) /* read from shiftreg function */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_midxunit, this));
+ MCFG_MACHINE_RESET_OVERRIDE(midxunit_state,midxunit)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -264,7 +264,7 @@ MACHINE_CONFIG_START(midxunit_state::midxunit)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 506, 101, 501, 289, 20, 274)
MCFG_SCREEN_UPDATE_DEVICE("maincpu", tms34010_device, tms340x0_ind16)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_midxunit, this));
+ MCFG_VIDEO_START_OVERRIDE(midxunit_state,midxunit)
MCFG_DEVICE_ADD("serial_pic", MIDWAY_SERIAL_PIC, 0)
/* serial prefixes 419, 420 */
diff --git a/src/mame/drivers/midyunit.cpp b/src/mame/drivers/midyunit.cpp
index c1283327bf5..9eb0f56f5d0 100644
--- a/src/mame/drivers/midyunit.cpp
+++ b/src/mame/drivers/midyunit.cpp
@@ -1111,7 +1111,7 @@ MACHINE_CONFIG_START(midyunit_state::zunit)
MCFG_TMS340X0_TO_SHIFTREG_CB(midyunit_state, to_shiftreg) /* write to shiftreg function */
MCFG_TMS340X0_FROM_SHIFTREG_CB(midyunit_state, from_shiftreg) /* read from shiftreg function */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_midyunit, this));
+ MCFG_MACHINE_RESET_OVERRIDE(midyunit_state,midyunit)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -1124,7 +1124,7 @@ MACHINE_CONFIG_START(midyunit_state::zunit)
MCFG_SCREEN_UPDATE_DEVICE("maincpu", tms34010_device, tms340x0_ind16)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_midzunit, this));
+ MCFG_VIDEO_START_OVERRIDE(midyunit_state,midzunit)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1154,7 +1154,7 @@ MACHINE_CONFIG_START(midyunit_state::yunit_core)
MCFG_TMS340X0_TO_SHIFTREG_CB(midyunit_state, to_shiftreg) /* write to shiftreg function */
MCFG_TMS340X0_FROM_SHIFTREG_CB(midyunit_state, from_shiftreg) /* read from shiftreg function */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_midyunit, this));
+ MCFG_MACHINE_RESET_OVERRIDE(midyunit_state,midyunit)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -1183,7 +1183,7 @@ MACHINE_CONFIG_START(midyunit_state::yunit_cvsd_4bit_slow)
/* video hardware */
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_midyunit_4bit, this));
+ MCFG_VIDEO_START_OVERRIDE(midyunit_state,midyunit_4bit)
MACHINE_CONFIG_END
@@ -1200,7 +1200,7 @@ MACHINE_CONFIG_START(midyunit_state::yunit_cvsd_4bit_fast)
/* video hardware */
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_midyunit_4bit, this));
+ MCFG_VIDEO_START_OVERRIDE(midyunit_state,midyunit_4bit)
MACHINE_CONFIG_END
@@ -1214,7 +1214,7 @@ MACHINE_CONFIG_START(midyunit_state::yunit_cvsd_6bit_slow)
/* video hardware */
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(4096)
- set_video_start_cb(config, driver_callback_delegate(&video_start_midyunit_6bit, this));
+ MCFG_VIDEO_START_OVERRIDE(midyunit_state,midyunit_6bit)
MACHINE_CONFIG_END
@@ -1231,7 +1231,7 @@ MACHINE_CONFIG_START(midyunit_state::yunit_adpcm_6bit_fast)
/* video hardware */
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(4096)
- set_video_start_cb(config, driver_callback_delegate(&video_start_midyunit_6bit, this));
+ MCFG_VIDEO_START_OVERRIDE(midyunit_state,midyunit_6bit)
MACHINE_CONFIG_END
@@ -1248,7 +1248,7 @@ MACHINE_CONFIG_START(midyunit_state::yunit_adpcm_6bit_faster)
/* video hardware */
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(4096)
- set_video_start_cb(config, driver_callback_delegate(&video_start_midyunit_6bit, this));
+ MCFG_VIDEO_START_OVERRIDE(midyunit_state,midyunit_6bit)
MACHINE_CONFIG_END
@@ -1273,7 +1273,7 @@ MACHINE_CONFIG_START(midyunit_state::mkyawdim)
/* video hardware */
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(4096)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mkyawdim, this));
+ MCFG_VIDEO_START_OVERRIDE(midyunit_state,mkyawdim)
/* sound hardware */
diff --git a/src/mame/drivers/midzeus.cpp b/src/mame/drivers/midzeus.cpp
index b0e34ccbb45..a56dccab475 100644
--- a/src/mame/drivers/midzeus.cpp
+++ b/src/mame/drivers/midzeus.cpp
@@ -91,7 +91,7 @@ private:
*
*************************************/
-void midzeus_state::machine_start_midzeus()
+MACHINE_START_MEMBER(midzeus_state,midzeus)
{
m_digits.resolve();
@@ -112,7 +112,7 @@ void midzeus_state::machine_start_midzeus()
}
-void midzeus_state::machine_reset_midzeus()
+MACHINE_RESET_MEMBER(midzeus_state,midzeus)
{
memcpy(m_ram_base, memregion("user1")->base(), 0x40000*4);
*m_ram_base <<= 1;
@@ -1270,8 +1270,8 @@ MACHINE_CONFIG_START(midzeus_state::midzeus)
MCFG_DEVICE_PROGRAM_MAP(zeus_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", midzeus_state, display_irq)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_midzeus, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_midzeus, this));
+ MCFG_MACHINE_START_OVERRIDE(midzeus_state,midzeus)
+ MCFG_MACHINE_RESET_OVERRIDE(midzeus_state,midzeus)
MCFG_NVRAM_ADD_1FILL("nvram")
/* video hardware */
@@ -1282,7 +1282,7 @@ MACHINE_CONFIG_START(midzeus_state::midzeus)
MCFG_SCREEN_UPDATE_DRIVER(midzeus_state, screen_update_midzeus)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_midzeus, this));
+ MCFG_VIDEO_START_OVERRIDE(midzeus_state,midzeus)
/* sound hardware */
MCFG_DEVICE_ADD("dcs", DCS2_AUDIO_2104, 0)
@@ -1314,8 +1314,8 @@ MACHINE_CONFIG_START(midzeus2_state::midzeus2)
MCFG_DEVICE_PROGRAM_MAP(zeus2_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", midzeus2_state, display_irq)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_midzeus, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_midzeus, this));
+ MCFG_MACHINE_START_OVERRIDE(midzeus2_state,midzeus)
+ MCFG_MACHINE_RESET_OVERRIDE(midzeus2_state,midzeus)
MCFG_NVRAM_ADD_1FILL("nvram")
/* video hardware */
diff --git a/src/mame/drivers/mikrosha.cpp b/src/mame/drivers/mikrosha.cpp
index 39cc8790e60..2b578241d3c 100644
--- a/src/mame/drivers/mikrosha.cpp
+++ b/src/mame/drivers/mikrosha.cpp
@@ -34,18 +34,18 @@ public:
DECLARE_WRITE_LINE_MEMBER(mikrosha_pit_out2);
I8275_DRAW_CHARACTER_MEMBER(display_pixels);
- void machine_reset_mikrosha();
+ DECLARE_MACHINE_RESET(mikrosha);
void mikrosha(machine_config &config);
void mikrosha_io(address_map &map);
void mikrosha_mem(address_map &map);
};
-void mikrosha_state::machine_reset_mikrosha()
+MACHINE_RESET_MEMBER(mikrosha_state,mikrosha)
{
if (m_cart->exists())
m_maincpu->space(AS_PROGRAM).install_read_handler(0x8000, 0x8000+m_cart->get_rom_size()-1, read8_delegate(FUNC(generic_slot_device::read_rom),(generic_slot_device*)m_cart));
- machine_reset_radio86();
+ MACHINE_RESET_CALL_MEMBER(radio86);
}
/* Address maps */
@@ -211,7 +211,7 @@ MACHINE_CONFIG_START(mikrosha_state::mikrosha)
MCFG_DEVICE_PROGRAM_MAP(mikrosha_mem)
MCFG_DEVICE_IO_MAP(mikrosha_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mikrosha, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mikrosha_state, mikrosha)
MCFG_DEVICE_ADD("ppi8255_1", I8255, 0)
MCFG_I8255_IN_PORTA_CB(READ8(*this, radio86_state, radio86_8255_portb_r2))
diff --git a/src/mame/drivers/missb2.cpp b/src/mame/drivers/missb2.cpp
index cfc51883ff9..3d6b1a6ed22 100644
--- a/src/mame/drivers/missb2.cpp
+++ b/src/mame/drivers/missb2.cpp
@@ -40,8 +40,8 @@ public:
DECLARE_READ8_MEMBER(missb2_oki_r);
DECLARE_WRITE_LINE_MEMBER(irqhandler);
void init_missb2();
- void machine_start_missb2() ATTR_COLD;
- void machine_reset_missb2();
+ DECLARE_MACHINE_START(missb2);
+ DECLARE_MACHINE_RESET(missb2);
uint32_t screen_update_missb2(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void missb2(machine_config &config);
@@ -445,7 +445,7 @@ WRITE_LINE_MEMBER(missb2_state::irqhandler)
/* Machine Driver */
-void missb2_state::machine_start_missb2()
+MACHINE_START_MEMBER(missb2_state,missb2)
{
m_gfxdecode->gfx(1)->set_palette(*m_bgpalette);
@@ -454,9 +454,9 @@ void missb2_state::machine_start_missb2()
save_item(NAME(m_sreset_old));
}
-void missb2_state::machine_reset_missb2()
+MACHINE_RESET_MEMBER(missb2_state,missb2)
{
- machine_reset_common();
+ MACHINE_RESET_CALL_MEMBER(common);
m_oki->reset();
bublbobl_bankswitch_w(m_maincpu->space(AS_PROGRAM), 0, 0x00, 0xFF); // force a bankswitch write of all zeroes, as /RESET clears the latch
}
@@ -481,8 +481,8 @@ MACHINE_CONFIG_START(missb2_state::missb2)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_VBLANK_INIT("screen", 128);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_missb2, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_missb2, this));
+ MCFG_MACHINE_START_OVERRIDE(missb2_state,missb2)
+ MCFG_MACHINE_RESET_OVERRIDE(missb2_state,missb2)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/mitchell.cpp b/src/mame/drivers/mitchell.cpp
index 66c580d25c7..05dd1a796e3 100644
--- a/src/mame/drivers/mitchell.cpp
+++ b/src/mame/drivers/mitchell.cpp
@@ -1120,7 +1120,7 @@ GFXDECODE_END
*
*************************************/
-void mitchell_state::machine_start_mitchell()
+MACHINE_START_MEMBER(mitchell_state,mitchell)
{
save_item(NAME(m_dial_selected));
save_item(NAME(m_keymatrix));
@@ -1138,7 +1138,7 @@ void mitchell_state::machine_start_mitchell()
}
}
-void mitchell_state::machine_reset_mitchell()
+MACHINE_RESET_MEMBER(mitchell_state,mitchell)
{
m_sample_select = false;
m_dial_selected = 0;
@@ -1169,8 +1169,8 @@ MACHINE_CONFIG_START(mitchell_state::mgakuen)
MCFG_DEVICE_IO_MAP(mitchell_io_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", mitchell_state, mitchell_irq, "screen", 0, 1)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mitchell, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mitchell, this));
+ MCFG_MACHINE_START_OVERRIDE(mitchell_state,mitchell)
+ MCFG_MACHINE_RESET_OVERRIDE(mitchell_state,mitchell)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
@@ -1188,7 +1188,7 @@ MACHINE_CONFIG_START(mitchell_state::mgakuen)
MCFG_PALETTE_ADD("palette", 1024) /* less colors than the others */
MCFG_PALETTE_FORMAT(xxxxRRRRGGGGBBBB)
- set_video_start_cb(config, driver_callback_delegate(&video_start_pang, this));
+ MCFG_VIDEO_START_OVERRIDE(mitchell_state,pang)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1210,8 +1210,8 @@ MACHINE_CONFIG_START(mitchell_state::pang)
MCFG_DEVICE_OPCODES_MAP(decrypted_opcodes_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", mitchell_state, mitchell_irq, "screen", 0, 1)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mitchell, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mitchell, this));
+ MCFG_MACHINE_START_OVERRIDE(mitchell_state,mitchell)
+ MCFG_MACHINE_RESET_OVERRIDE(mitchell_state,mitchell)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
@@ -1229,7 +1229,7 @@ MACHINE_CONFIG_START(mitchell_state::pang)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(xxxxRRRRGGGGBBBB)
- set_video_start_cb(config, driver_callback_delegate(&video_start_pang, this));
+ MCFG_VIDEO_START_OVERRIDE(mitchell_state,pang)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1330,8 +1330,8 @@ MACHINE_CONFIG_START(mitchell_state::mstworld)
MCFG_DEVICE_ADD("audiocpu", Z80,6000000) /* 6 MHz? */
MCFG_DEVICE_PROGRAM_MAP(mstworld_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mitchell, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mitchell, this));
+ MCFG_MACHINE_START_OVERRIDE(mitchell_state,mitchell)
+ MCFG_MACHINE_RESET_OVERRIDE(mitchell_state,mitchell)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1347,7 +1347,7 @@ MACHINE_CONFIG_START(mitchell_state::mstworld)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(xxxxRRRRGGGGBBBB)
- set_video_start_cb(config, driver_callback_delegate(&video_start_pang, this));
+ MCFG_VIDEO_START_OVERRIDE(mitchell_state,pang)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1384,7 +1384,7 @@ MACHINE_CONFIG_START(mitchell_state::marukin)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(xxxxRRRRGGGGBBBB)
- set_video_start_cb(config, driver_callback_delegate(&video_start_pang, this));
+ MCFG_VIDEO_START_OVERRIDE(mitchell_state,pang)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1439,7 +1439,7 @@ MACHINE_CONFIG_START(mitchell_state::pkladiesbl)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(xxxxRRRRGGGGBBBB)
- set_video_start_cb(config, driver_callback_delegate(&video_start_pang, this));
+ MCFG_VIDEO_START_OVERRIDE(mitchell_state,pang)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/mmd1.cpp b/src/mame/drivers/mmd1.cpp
index 8a67665acf2..772a2835f87 100644
--- a/src/mame/drivers/mmd1.cpp
+++ b/src/mame/drivers/mmd1.cpp
@@ -172,8 +172,8 @@ public:
DECLARE_WRITE8_MEMBER(mmd2_status_callback);
DECLARE_WRITE_LINE_MEMBER(mmd2_inte_callback);
void init_mmd2();
- void machine_reset_mmd1();
- void machine_reset_mmd2();
+ DECLARE_MACHINE_RESET(mmd1);
+ DECLARE_MACHINE_RESET(mmd2);
void mmd1(machine_config &config);
void mmd2(machine_config &config);
void mmd1_io(address_map &map);
@@ -441,12 +441,12 @@ WRITE_LINE_MEMBER( mmd1_state::mmd2_inte_callback )
output().set_value("led_inte", state);
}
-void mmd1_state::machine_reset_mmd1()
+MACHINE_RESET_MEMBER(mmd1_state,mmd1)
{
m_return_code = 0xff;
}
-void mmd1_state::machine_reset_mmd2()
+MACHINE_RESET_MEMBER(mmd1_state,mmd2)
{
membank("bank1")->set_entry(0);
membank("bank2")->set_entry(0);
@@ -497,7 +497,7 @@ MACHINE_CONFIG_START(mmd1_state::mmd1)
MCFG_DEVICE_PROGRAM_MAP(mmd1_mem)
MCFG_DEVICE_IO_MAP(mmd1_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mmd1, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mmd1_state,mmd1)
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_mmd1)
@@ -511,7 +511,7 @@ MACHINE_CONFIG_START(mmd1_state::mmd2)
MCFG_I8085A_STATUS(WRITE8(*this, mmd1_state, mmd2_status_callback))
MCFG_I8085A_INTE(WRITELINE(*this, mmd1_state, mmd2_inte_callback))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mmd2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mmd1_state,mmd2)
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_mmd2)
diff --git a/src/mame/drivers/model1.cpp b/src/mame/drivers/model1.cpp
index 3bcc8987376..293a1c2a714 100644
--- a/src/mame/drivers/model1.cpp
+++ b/src/mame/drivers/model1.cpp
@@ -838,7 +838,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(model1_state::model1_interrupt)
}
}
-void model1_state::machine_reset_model1()
+MACHINE_RESET_MEMBER(model1_state,model1)
{
membank("bank1")->set_base(memregion("maincpu")->base() + 0x1000000);
irq_init();
@@ -1719,8 +1719,8 @@ MACHINE_CONFIG_START(model1_state::model1)
MCFG_DEVICE_ADDRESS_MAP(mb86233_device::AS_RF, copro_rf_map)
#endif
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_model1, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_model1, this));
+ MCFG_MACHINE_START_OVERRIDE(model1_state,model1)
+ MCFG_MACHINE_RESET_OVERRIDE(model1_state,model1)
MCFG_DEVICE_ADD("ioboard", SEGA_MODEL1IO, 0)
MCFG_MODEL1IO_READ_CB(READ8("dpram", mb8421_device, left_r))
@@ -1742,7 +1742,7 @@ MACHINE_CONFIG_START(model1_state::model1)
MCFG_PALETTE_ADD("palette", 8192)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_model1, this));
+ MCFG_VIDEO_START_OVERRIDE(model1_state,model1)
MCFG_SEGAM1AUDIO_ADD(M1AUDIO_TAG)
MCFG_SEGAM1AUDIO_RXD_HANDLER(WRITELINE("m1uart", i8251_device, write_rxd))
diff --git a/src/mame/drivers/model2.cpp b/src/mame/drivers/model2.cpp
index a5fe26cbb1b..edbb3c4babe 100644
--- a/src/mame/drivers/model2.cpp
+++ b/src/mame/drivers/model2.cpp
@@ -156,7 +156,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(model2_state::model2_timer_cb)
m_timerrun[tnum] = 0;
}
-void model2_state::machine_start_model2()
+MACHINE_START_MEMBER( model2_state, model2 )
{
// initialize custom debugger pool, @see machine/model2.cpp
debug_init();
@@ -181,9 +181,9 @@ void model2_state::machine_start_model2()
save_item(NAME(m_geo_read_start_address));
}
-void model2_tgp_state::machine_start_model2_tgp()
+MACHINE_START_MEMBER(model2_tgp_state,model2_tgp)
{
- machine_start_model2();
+ MACHINE_START_CALL_MEMBER(model2);
m_copro_fifo_in->setup(16,
[this]() { m_copro_tgp->stall(); },
@@ -204,9 +204,9 @@ void model2_tgp_state::machine_start_model2_tgp()
[ ]() { });
}
-void model2b_state::machine_start_model2b()
+MACHINE_START_MEMBER(model2b_state,model2b)
{
- machine_start_model2();
+ MACHINE_START_CALL_MEMBER(model2);
m_copro_fifo_in->setup(16,
[ ]() { },
@@ -226,9 +226,9 @@ void model2b_state::machine_start_model2b()
[this]() { m_copro_adsp->set_flag_input(1, m_copro_fifo_in->is_full()); });
}
-void model2c_state::machine_start_model2c()
+MACHINE_START_MEMBER(model2c_state,model2c)
{
- machine_start_model2();
+ MACHINE_START_CALL_MEMBER(model2);
m_copro_fifo_in->setup(16,
[ ]() { },
@@ -248,7 +248,7 @@ void model2c_state::machine_start_model2c()
[ ]() { });
}
-void model2_state::machine_reset_model2_common()
+MACHINE_RESET_MEMBER( model2_state, model2_common )
{
int i;
@@ -287,7 +287,7 @@ void model2_state::machine_reset_model2_common()
m_geo_read_start_address = 0;
}
-void model2_state::machine_reset_model2_scsp()
+MACHINE_RESET_MEMBER(model2_state,model2_scsp)
{
membank("bank4")->set_base(memregion("scsp")->base() + 0x200000);
membank("bank5")->set_base(memregion("scsp")->base() + 0x600000);
@@ -298,29 +298,29 @@ void model2_state::machine_reset_model2_scsp()
m_scsp->set_ram_base(m_soundram);
}
-void model2_tgp_state::machine_reset_model2_tgp()
+MACHINE_RESET_MEMBER(model2_tgp_state,model2_tgp)
{
- machine_reset_model2_common();
+ MACHINE_RESET_CALL_MEMBER(model2_common);
// hold TGP in halt until we have code
m_copro_tgp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
}
-void model2o_state::machine_reset_model2o()
+MACHINE_RESET_MEMBER(model2o_state,model2o)
{
- machine_reset_model2_tgp();
+ MACHINE_RESET_CALL_MEMBER(model2_tgp);
}
-void model2a_state::machine_reset_model2a()
+MACHINE_RESET_MEMBER(model2a_state,model2a)
{
- machine_reset_model2_tgp();
- machine_reset_model2_scsp();
+ MACHINE_RESET_CALL_MEMBER(model2_tgp);
+ MACHINE_RESET_CALL_MEMBER(model2_scsp);
}
-void model2b_state::machine_reset_model2b()
+MACHINE_RESET_MEMBER(model2b_state,model2b)
{
- machine_reset_model2_common();
- machine_reset_model2_scsp();
+ MACHINE_RESET_CALL_MEMBER(model2_common);
+ MACHINE_RESET_CALL_MEMBER(model2_scsp);
m_copro_adsp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
@@ -330,10 +330,10 @@ void model2b_state::machine_reset_model2b()
m_copro_adsp->set_input_line(SHARC_INPUT_FLAG1, CLEAR_LINE);
}
-void model2c_state::machine_reset_model2c()
+MACHINE_RESET_MEMBER(model2c_state,model2c)
{
- machine_reset_model2_common();
- machine_reset_model2_scsp();
+ MACHINE_RESET_CALL_MEMBER(model2_common);
+ MACHINE_RESET_CALL_MEMBER(model2_scsp);
m_copro_tgpx4->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
}
@@ -2439,8 +2439,8 @@ MACHINE_CONFIG_START(model2o_state::model2o)
MCFG_DEVICE_ADD("copro_fifo_in", GENERIC_FIFO_U32, 0)
MCFG_DEVICE_ADD("copro_fifo_out", GENERIC_FIFO_U32, 0)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_model2_tgp, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_model2o, this));
+ MCFG_MACHINE_START_OVERRIDE(model2_tgp_state,model2_tgp)
+ MCFG_MACHINE_RESET_OVERRIDE(model2o_state,model2o)
MCFG_NVRAM_ADD_1FILL("backup1")
@@ -2583,8 +2583,8 @@ MACHINE_CONFIG_START(model2a_state::model2a)
MCFG_DEVICE_ADD("copro_fifo_in", GENERIC_FIFO_U32, 0)
MCFG_DEVICE_ADD("copro_fifo_out", GENERIC_FIFO_U32, 0)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_model2_tgp, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_model2a, this));
+ MCFG_MACHINE_START_OVERRIDE(model2_tgp_state,model2_tgp)
+ MCFG_MACHINE_RESET_OVERRIDE(model2a_state,model2a)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_NVRAM_ADD_1FILL("backup1")
@@ -2696,8 +2696,8 @@ MACHINE_CONFIG_START(model2b_state::model2b)
MCFG_DEVICE_ADD("copro_fifo_in", GENERIC_FIFO_U32, 0)
MCFG_DEVICE_ADD("copro_fifo_out", GENERIC_FIFO_U32, 0)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_model2b, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_model2b, this));
+ MCFG_MACHINE_START_OVERRIDE(model2b_state,model2b)
+ MCFG_MACHINE_RESET_OVERRIDE(model2b_state,model2b)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_NVRAM_ADD_1FILL("backup1")
@@ -2811,8 +2811,8 @@ MACHINE_CONFIG_START(model2c_state::model2c)
MCFG_DEVICE_ADD("copro_fifo_in", GENERIC_FIFO_U32, 0)
MCFG_DEVICE_ADD("copro_fifo_out", GENERIC_FIFO_U32, 0)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_model2c, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_model2c, this));
+ MCFG_MACHINE_START_OVERRIDE(model2c_state,model2c)
+ MCFG_MACHINE_RESET_OVERRIDE(model2c_state,model2c)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_NVRAM_ADD_1FILL("backup1")
diff --git a/src/mame/drivers/model3.cpp b/src/mame/drivers/model3.cpp
index c4be4978fac..9b2e6202b40 100644
--- a/src/mame/drivers/model3.cpp
+++ b/src/mame/drivers/model3.cpp
@@ -1283,28 +1283,28 @@ TIMER_CALLBACK_MEMBER(model3_state::real3d_dma_timer_callback)
m_dma_busy = 0;
}
-void model3_state::machine_start_model3_10()
+MACHINE_START_MEMBER(model3_state,model3_10)
{
configure_fast_ram();
m_sound_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(model3_state::model3_sound_timer_tick),this));
m_real3d_dma_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(model3_state::real3d_dma_timer_callback),this));
}
-void model3_state::machine_start_model3_15()
+MACHINE_START_MEMBER(model3_state,model3_15)
{
configure_fast_ram();
m_sound_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(model3_state::model3_sound_timer_tick),this));
m_real3d_dma_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(model3_state::real3d_dma_timer_callback),this));
}
-void model3_state::machine_start_model3_20()
+MACHINE_START_MEMBER(model3_state,model3_20)
{
configure_fast_ram();
m_sound_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(model3_state::model3_sound_timer_tick),this));
m_real3d_dma_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(model3_state::real3d_dma_timer_callback),this));
}
-void model3_state::machine_start_model3_21()
+MACHINE_START_MEMBER(model3_state,model3_21)
{
configure_fast_ram();
@@ -1365,10 +1365,10 @@ void model3_state::model3_init(int step)
}
}
-void model3_state::machine_reset_model3_10(){ model3_init(0x10); }
-void model3_state::machine_reset_model3_15(){ model3_init(0x15); }
-void model3_state::machine_reset_model3_20(){ model3_init(0x20); }
-void model3_state::machine_reset_model3_21(){ model3_init(0x21); }
+MACHINE_RESET_MEMBER(model3_state,model3_10){ model3_init(0x10); }
+MACHINE_RESET_MEMBER(model3_state,model3_15){ model3_init(0x15); }
+MACHINE_RESET_MEMBER(model3_state,model3_20){ model3_init(0x20); }
+MACHINE_RESET_MEMBER(model3_state,model3_21){ model3_init(0x21); }
READ64_MEMBER(model3_state::model3_ctrl_r)
@@ -5756,8 +5756,8 @@ MACHINE_CONFIG_START(model3_state::model3_10)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_model3_10, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_model3_10, this));
+ MCFG_MACHINE_START_OVERRIDE(model3_state,model3_10)
+ MCFG_MACHINE_RESET_OVERRIDE(model3_state,model3_10)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_NVRAM_ADD_1FILL("backup")
@@ -5803,8 +5803,8 @@ MACHINE_CONFIG_START(model3_state::model3_15)
MCFG_DEVICE_ADD("audiocpu", M68000, 12000000)
MCFG_DEVICE_PROGRAM_MAP(model3_snd)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_model3_15, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_model3_15, this));
+ MCFG_MACHINE_START_OVERRIDE(model3_state,model3_15)
+ MCFG_MACHINE_RESET_OVERRIDE(model3_state,model3_15)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_NVRAM_ADD_1FILL("backup")
@@ -5866,8 +5866,8 @@ MACHINE_CONFIG_START(model3_state::model3_20)
MCFG_DEVICE_ADD("audiocpu", M68000, 12000000)
MCFG_DEVICE_PROGRAM_MAP(model3_snd)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_model3_20, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_model3_20, this));
+ MCFG_MACHINE_START_OVERRIDE(model3_state, model3_20)
+ MCFG_MACHINE_RESET_OVERRIDE(model3_state, model3_20)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_NVRAM_ADD_1FILL("backup")
@@ -5931,8 +5931,8 @@ MACHINE_CONFIG_START(model3_state::model3_21)
MCFG_DEVICE_ADD("audiocpu", M68000, 12000000)
MCFG_DEVICE_PROGRAM_MAP(model3_snd)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_model3_21, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_model3_21, this));
+ MCFG_MACHINE_START_OVERRIDE(model3_state, model3_21)
+ MCFG_MACHINE_RESET_OVERRIDE(model3_state, model3_21)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_NVRAM_ADD_1FILL("backup")
diff --git a/src/mame/drivers/moo.cpp b/src/mame/drivers/moo.cpp
index 3353453a42e..82b83c6782c 100644
--- a/src/mame/drivers/moo.cpp
+++ b/src/mame/drivers/moo.cpp
@@ -464,7 +464,7 @@ static INPUT_PORTS_START( bucky )
INPUT_PORTS_END
-void moo_state::machine_start_moo()
+MACHINE_START_MEMBER(moo_state,moo)
{
save_item(NAME(m_cur_control2));
save_item(NAME(m_alpha_enabled));
@@ -476,15 +476,17 @@ void moo_state::machine_start_moo()
m_dmaend_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(moo_state::dmaend_callback),this));
}
-void moo_state::machine_reset_moo()
+MACHINE_RESET_MEMBER(moo_state,moo)
{
- for (int i = 0; i < 16; i++)
+ int i;
+
+ for (i = 0; i < 16; i++)
m_protram[i] = 0;
- for (int i = 0; i < 4; i++)
+ for (i = 0; i < 4; i++)
m_layer_colorbase[i] = 0;
- for (int i = 0; i < 3; i++)
+ for (i = 0; i < 3; i++)
m_layerpri[i] = 0;
m_cur_control2 = 0;
@@ -502,8 +504,8 @@ MACHINE_CONFIG_START(moo_state::moo)
MCFG_DEVICE_ADD("soundcpu", Z80, XTAL(32'000'000)/4) // 8MHz verified
MCFG_DEVICE_PROGRAM_MAP(sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_moo, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_moo, this));
+ MCFG_MACHINE_START_OVERRIDE(moo_state,moo)
+ MCFG_MACHINE_RESET_OVERRIDE(moo_state,moo)
MCFG_EEPROM_SERIAL_ER5911_8BIT_ADD("eeprom")
@@ -524,7 +526,7 @@ MACHINE_CONFIG_START(moo_state::moo)
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_ENABLE_HILIGHTS()
- set_video_start_cb(config, driver_callback_delegate(&video_start_moo, this));
+ MCFG_VIDEO_START_OVERRIDE(moo_state,moo)
MCFG_DEVICE_ADD("k053246", K053246, 0)
MCFG_K053246_CB(moo_state, sprite_callback)
@@ -562,8 +564,8 @@ MACHINE_CONFIG_START(moo_state::moobl)
MCFG_DEVICE_PROGRAM_MAP(moobl_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", moo_state, moobl_interrupt)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_moo, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_moo, this));
+ MCFG_MACHINE_START_OVERRIDE(moo_state,moo)
+ MCFG_MACHINE_RESET_OVERRIDE(moo_state,moo)
MCFG_EEPROM_SERIAL_ER5911_8BIT_ADD("eeprom")
@@ -581,7 +583,7 @@ MACHINE_CONFIG_START(moo_state::moobl)
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_ENABLE_HILIGHTS()
- set_video_start_cb(config, driver_callback_delegate(&video_start_moo, this));
+ MCFG_VIDEO_START_OVERRIDE(moo_state,moo)
MCFG_DEVICE_ADD("k053246", K053246, 0)
MCFG_K053246_CB(moo_state, sprite_callback)
@@ -624,7 +626,7 @@ MACHINE_CONFIG_START(moo_state::bucky)
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_ENABLE_HILIGHTS()
- set_video_start_cb(config, driver_callback_delegate(&video_start_bucky, this));
+ MCFG_VIDEO_START_OVERRIDE(moo_state,bucky)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/mpu4dealem.cpp b/src/mame/drivers/mpu4dealem.cpp
index d3681e41504..c94bb1f8aa7 100644
--- a/src/mame/drivers/mpu4dealem.cpp
+++ b/src/mame/drivers/mpu4dealem.cpp
@@ -33,7 +33,7 @@ public:
}
optional_shared_ptr<uint8_t> m_dealem_videoram;
- void machine_reset_dealem_vid();
+ DECLARE_MACHINE_RESET(dealem_vid);
DECLARE_PALETTE_INIT(dealem);
uint32_t screen_update_dealem(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(dealem_vsync_changed);
@@ -175,7 +175,7 @@ void mpu4dealem_state::dealem_memmap(address_map &map)
map(0x8000, 0xffff).rom().nopw();/* 64k paged ROM (4 pages) */
}
-void mpu4dealem_state::machine_reset_dealem_vid()
+MACHINE_RESET_MEMBER(mpu4dealem_state,dealem_vid)
{
m_vfd->reset(); //for debug ports only
@@ -198,8 +198,8 @@ void mpu4dealem_state::machine_reset_dealem_vid()
/* machine driver for Zenitone Deal 'Em board */
MACHINE_CONFIG_START(mpu4dealem_state::dealem)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mod2, this)); /* main mpu4 board initialisation */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dealem_vid, this));
+ MCFG_MACHINE_START_OVERRIDE(mpu4dealem_state,mod2) /* main mpu4 board initialisation */
+ MCFG_MACHINE_RESET_OVERRIDE(mpu4dealem_state,dealem_vid)
MCFG_DEVICE_ADD("maincpu", M6809, MPU4_MASTER_CLOCK/4)
MCFG_DEVICE_PROGRAM_MAP(dealem_memmap)
diff --git a/src/mame/drivers/mpu4vid.cpp b/src/mame/drivers/mpu4vid.cpp
index 538178f5367..808dca09b2c 100644
--- a/src/mame/drivers/mpu4vid.cpp
+++ b/src/mame/drivers/mpu4vid.cpp
@@ -274,9 +274,9 @@ public:
void init_skiltrek();
void init_crmaze3();
void init_cybcas();
- void machine_start_mpu4_vid() ATTR_COLD;
- void machine_reset_mpu4_vid();
- void video_start_mpu4_vid() ATTR_COLD;
+ DECLARE_MACHINE_START(mpu4_vid);
+ DECLARE_MACHINE_RESET(mpu4_vid);
+ DECLARE_VIDEO_START(mpu4_vid);
SCN2674_DRAW_CHARACTER_MEMBER(display_pixels);
DECLARE_WRITE_LINE_MEMBER(m6809_acia_irq);
DECLARE_WRITE_LINE_MEMBER(m68k_acia_irq);
@@ -435,7 +435,7 @@ WRITE16_MEMBER(mpu4vid_state::mpu4_vid_vidram_w )
}
-void mpu4vid_state::video_start_mpu4_vid()
+VIDEO_START_MEMBER(mpu4vid_state,mpu4_vid)
{
m_vid_vidram.allocate(0x20000/2);
@@ -1149,7 +1149,7 @@ WRITE_LINE_MEMBER(mpu4vid_state::mpu_video_reset)
}
/* machine start (called only once) */
-void mpu4vid_state::machine_start_mpu4_vid()
+MACHINE_START_MEMBER(mpu4vid_state,mpu4_vid)
{
mpu4_config_common();
@@ -1161,7 +1161,7 @@ void mpu4vid_state::machine_start_mpu4_vid()
m_videocpu->set_reset_callback(write_line_delegate(FUNC(mpu4vid_state::mpu_video_reset),this));
}
-void mpu4vid_state::machine_reset_mpu4_vid()
+MACHINE_RESET_MEMBER(mpu4vid_state,mpu4_vid)
{
m_vfd->reset(); //for debug ports only
@@ -1304,9 +1304,9 @@ MACHINE_CONFIG_START(mpu4vid_state::mpu4_vid)
// MCFG_QUANTUM_TIME(attotime::from_hz(960))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mpu4_vid, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mpu4_vid, this));
- set_video_start_cb(config, driver_callback_delegate(&video_start_mpu4_vid, this));
+ MCFG_MACHINE_START_OVERRIDE(mpu4vid_state,mpu4_vid)
+ MCFG_MACHINE_RESET_OVERRIDE(mpu4vid_state,mpu4_vid)
+ MCFG_VIDEO_START_OVERRIDE (mpu4vid_state,mpu4_vid)
MCFG_PALETTE_ADD("palette", ef9369_device::NUMCOLORS)
diff --git a/src/mame/drivers/mquake.cpp b/src/mame/drivers/mquake.cpp
index 541808f8eba..02b121514f2 100644
--- a/src/mame/drivers/mquake.cpp
+++ b/src/mame/drivers/mquake.cpp
@@ -332,7 +332,7 @@ MACHINE_CONFIG_START(mquake_state::mquake)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_INIT_OWNER(mquake_state,amiga)
- set_video_start_cb(config, driver_callback_delegate(&video_start_amiga, this));
+ MCFG_VIDEO_START_OVERRIDE(mquake_state,amiga)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
diff --git a/src/mame/drivers/ms32.cpp b/src/mame/drivers/ms32.cpp
index 3f469c6240b..bc8d75ee1ee 100644
--- a/src/mame/drivers/ms32.cpp
+++ b/src/mame/drivers/ms32.cpp
@@ -1750,7 +1750,7 @@ MACHINE_CONFIG_START(ms32_state::f1superb)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_f1superb)
- set_video_start_cb(config, driver_callback_delegate(&video_start_f1superb, this));
+ MCFG_VIDEO_START_OVERRIDE(ms32_state,f1superb)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/msisaac.cpp b/src/mame/drivers/msisaac.cpp
index 86220b77d8e..da5a749b4e5 100644
--- a/src/mame/drivers/msisaac.cpp
+++ b/src/mame/drivers/msisaac.cpp
@@ -428,7 +428,7 @@ void msisaac_state::machine_start()
void msisaac_state::machine_reset()
{
- //machine_reset_ta7630();
+ //MACHINE_RESET_CALL_MEMBER(ta7630);
/* video */
m_bg2_textbank = 0;
diff --git a/src/mame/drivers/mtx.cpp b/src/mame/drivers/mtx.cpp
index 88e6ed33cd0..74b5c782b24 100644
--- a/src/mame/drivers/mtx.cpp
+++ b/src/mame/drivers/mtx.cpp
@@ -291,8 +291,8 @@ MACHINE_CONFIG_START(mtx_state::mtx512)
MCFG_DEVICE_IO_MAP(mtx_io)
MCFG_Z80_DAISY_CHAIN(mtx_daisy_chain)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mtx512, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mtx512, this));
+ MCFG_MACHINE_START_OVERRIDE(mtx_state,mtx512)
+ MCFG_MACHINE_RESET_OVERRIDE(mtx_state,mtx512)
/* video hardware */
MCFG_DEVICE_ADD( "tms9929a", TMS9929A, XTAL(10'738'635) / 2 )
diff --git a/src/mame/drivers/multigam.cpp b/src/mame/drivers/multigam.cpp
index 22fcd9aebe0..103c5dd446f 100644
--- a/src/mame/drivers/multigam.cpp
+++ b/src/mame/drivers/multigam.cpp
@@ -190,9 +190,9 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
DECLARE_PALETTE_INIT(multigam);
- void machine_start_multigm3() ATTR_COLD;
- void machine_reset_multigm3();
- void machine_start_supergm3() ATTR_COLD;
+ DECLARE_MACHINE_START(multigm3);
+ DECLARE_MACHINE_RESET(multigm3);
+ DECLARE_MACHINE_START(supergm3);
TIMER_CALLBACK_MEMBER(mmc1_resync_callback);
void set_videorom_bank( int start, int count, int bank, int bank_size_in_kb);
void set_videoram_bank( int start, int count, int bank, int bank_size_in_kb);
@@ -1145,7 +1145,7 @@ void multigam_state::machine_reset()
{
}
-void multigam_state::machine_reset_multigm3()
+MACHINE_RESET_MEMBER(multigam_state,multigm3)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
/* reset the ppu */
@@ -1165,7 +1165,7 @@ void multigam_state::machine_start()
membank("bank1")->set_base(memregion("gfx1")->base());
}
-void multigam_state::machine_start_multigm3()
+MACHINE_START_MEMBER(multigam_state,multigm3)
{
m_nt_ram = std::make_unique<uint8_t[]>(0x1000);
m_nt_page[0] = m_nt_ram.get();
@@ -1187,7 +1187,7 @@ void multigam_state::machine_start_multigm3()
set_videorom_bank(0, 8, 0, 8);
}
-void multigam_state::machine_start_supergm3()
+MACHINE_START_MEMBER(multigam_state,supergm3)
{
m_nt_ram = std::make_unique<uint8_t[]>(0x1000);
m_nt_page[0] = m_nt_ram.get();
@@ -1226,8 +1226,8 @@ MACHINE_CONFIG_START(multigam_state::multigm3)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(multigm3_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_multigm3, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_multigm3, this));
+ MCFG_MACHINE_START_OVERRIDE(multigam_state, multigm3 )
+ MCFG_MACHINE_RESET_OVERRIDE(multigam_state, multigm3 )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(multigam_state::multigmt)
@@ -1241,7 +1241,7 @@ MACHINE_CONFIG_START(multigam_state::supergm3)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(supergm3_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_supergm3, this));
+ MCFG_MACHINE_START_OVERRIDE(multigam_state,supergm3)
MACHINE_CONFIG_END
ROM_START( multigam )
diff --git a/src/mame/drivers/mw8080bw.cpp b/src/mame/drivers/mw8080bw.cpp
index d9692da6e68..f42417d37ff 100644
--- a/src/mame/drivers/mw8080bw.cpp
+++ b/src/mame/drivers/mw8080bw.cpp
@@ -235,8 +235,8 @@ MACHINE_CONFIG_START(mw8080bw_state::mw8080bw_root)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",I8080,MW8080BW_CPU_CLOCK)
MCFG_DEVICE_PROGRAM_MAP(main_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)
@@ -890,7 +890,7 @@ TIMER_CALLBACK_MEMBER(mw8080bw_state::maze_tone_timing_timer_callback)
}
-void mw8080bw_state::machine_start_maze()
+MACHINE_START_MEMBER(mw8080bw_state,maze)
{
/* create astable timer for IC B1 */
m_maze_tone_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(mw8080bw_state::maze_tone_timing_timer_callback), this));
@@ -903,7 +903,7 @@ void mw8080bw_state::machine_start_maze()
save_item(NAME(m_maze_tone_timing_state));
machine().save().register_postload(save_prepost_delegate(FUNC(mw8080bw_state::maze_update_discrete), this));
- machine_start_mw8080bw();
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
@@ -968,7 +968,7 @@ MACHINE_CONFIG_START(mw8080bw_state::maze)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(maze_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_maze, this));
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,maze)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(RES_K(270), CAP_U(10))) /* 2.97s */
@@ -986,12 +986,12 @@ MACHINE_CONFIG_END
*
*************************************/
-void mw8080bw_state::machine_start_boothill()
+MACHINE_START_MEMBER(mw8080bw_state,boothill)
{
/* setup for save states */
save_item(NAME(m_rev_shift_res));
- machine_start_mw8080bw();
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
@@ -1062,7 +1062,7 @@ MACHINE_CONFIG_START(mw8080bw_state::boothill)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(boothill_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_boothill, this));
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,boothill)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(RES_K(270), CAP_U(10))) /* 2.97s */
@@ -1192,12 +1192,12 @@ MACHINE_CONFIG_END
#define DESERTGU_DIP_SW_0_1_SET_2_TAG ("DIPSW01SET2")
-void mw8080bw_state::machine_start_desertgu()
+MACHINE_START_MEMBER(mw8080bw_state,desertgu)
{
/* setup for save states */
save_item(NAME(m_desertgun_controller_select));
- machine_start_mw8080bw();
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
@@ -1300,7 +1300,7 @@ MACHINE_CONFIG_START(mw8080bw_state::desertgu)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(desertgu_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_desertgu, this));
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,desertgu)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
@@ -1524,12 +1524,12 @@ MACHINE_CONFIG_END
*
*************************************/
-void mw8080bw_state::machine_start_gmissile()
+MACHINE_START_MEMBER(mw8080bw_state,gmissile)
{
/* setup for save states */
save_item(NAME(m_rev_shift_res));
- machine_start_mw8080bw();
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
@@ -1601,7 +1601,7 @@ MACHINE_CONFIG_START(mw8080bw_state::gmissile)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(gmissile_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_gmissile, this));
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,gmissile)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
@@ -1622,12 +1622,12 @@ MACHINE_CONFIG_END
*
*************************************/
-void mw8080bw_state::machine_start_m4()
+MACHINE_START_MEMBER(mw8080bw_state,m4)
{
/* setup for save states */
save_item(NAME(m_rev_shift_res));
- machine_start_mw8080bw();
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
@@ -1697,7 +1697,7 @@ MACHINE_CONFIG_START(mw8080bw_state::m4)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(m4_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_m4, this));
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,m4)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
@@ -1722,12 +1722,12 @@ MACHINE_CONFIG_END
#define CLOWNS_CONTROLLER_P2_TAG ("CONTP2")
-void mw8080bw_state::machine_start_clowns()
+MACHINE_START_MEMBER(mw8080bw_state,clowns)
{
/* setup for save states */
save_item(NAME(m_clowns_controller_select));
- machine_start_mw8080bw();
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
@@ -1868,7 +1868,7 @@ MACHINE_CONFIG_START(mw8080bw_state::clowns)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(clowns_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_clowns, this));
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,clowns)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
@@ -1966,7 +1966,7 @@ MACHINE_CONFIG_START(mw8080bw_state::spacwalk)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(spacwalk_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_clowns, this));
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,clowns)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
@@ -2170,7 +2170,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(mw8080bw_state::spcenctr_strobe_timer_callback)
}
-void mw8080bw_state::machine_start_spcenctr()
+MACHINE_START_MEMBER(mw8080bw_state,spcenctr)
{
/* setup for save states */
save_item(NAME(m_spcenctr_strobe_state));
@@ -2180,7 +2180,7 @@ void mw8080bw_state::machine_start_spcenctr()
save_item(NAME(m_spcenctr_bright_control));
save_item(NAME(m_spcenctr_brightness));
- machine_start_mw8080bw();
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
@@ -2292,7 +2292,7 @@ MACHINE_CONFIG_START(mw8080bw_state::spcenctr)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(spcenctr_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_spcenctr, this));
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,spcenctr)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
@@ -2323,12 +2323,12 @@ MACHINE_CONFIG_END
*************************************/
-void mw8080bw_state::machine_start_phantom2()
+MACHINE_START_MEMBER(mw8080bw_state,phantom2)
{
/* setup for save states */
save_item(NAME(m_phantom2_cloud_counter));
- machine_start_mw8080bw();
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
@@ -2390,7 +2390,7 @@ MACHINE_CONFIG_START(mw8080bw_state::phantom2)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(phantom2_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_phantom2, this));
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,phantom2)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
@@ -2553,12 +2553,12 @@ MACHINE_CONFIG_END
*
*************************************/
-void mw8080bw_state::machine_start_invaders()
+MACHINE_START_MEMBER(mw8080bw_state,invaders)
{
/* setup for save states */
save_item(NAME(m_flip_screen));
- machine_start_mw8080bw();
+ MACHINE_START_CALL_MEMBER(mw8080bw);
}
@@ -2746,7 +2746,7 @@ MACHINE_CONFIG_START(mw8080bw_state::invaders)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(invaders_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_invaders, this));
+ MCFG_MACHINE_START_OVERRIDE(mw8080bw_state,invaders)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(255 * attotime::from_hz(MW8080BW_60HZ))
diff --git a/src/mame/drivers/mystwarr.cpp b/src/mame/drivers/mystwarr.cpp
index 1dce5c3f8fc..e1b526456f7 100644
--- a/src/mame/drivers/mystwarr.cpp
+++ b/src/mame/drivers/mystwarr.cpp
@@ -859,7 +859,7 @@ static GFXDECODE_START( gfx_dadandrn )
GFXDECODE_ENTRY( "gfx3", 0, bglayout_8bpp, 0x0000, 8 )
GFXDECODE_END
-void mystwarr_state::machine_start_mystwarr()
+MACHINE_START_MEMBER(mystwarr_state,mystwarr)
{
membank("z80bank")->configure_entries(0, 16, memregion("soundcpu")->base(), 0x4000);
membank("z80bank")->set_entry(2);
@@ -875,38 +875,43 @@ void mystwarr_state::machine_start_mystwarr()
save_item(NAME(m_sound_nmi_clk));
}
-void mystwarr_state::machine_reset_mystwarr()
+MACHINE_RESET_MEMBER(mystwarr_state,mystwarr)
{
+ int i;
+
// soften chorus(chip 0 channel 0-3), boost voice(chip 0 channel 4-7)
- for (int i = 0; i <= 3; i++)
+ for (i=0; i<=3; i++)
{
m_k054539_1->set_gain(i, 0.8);
m_k054539_1->set_gain(i+4, 2.0);
}
// soften percussions(chip 1 channel 0-7)
- for (int i = 0; i <= 7; i++)
- m_k054539_2->set_gain(i, 0.5);
+ for (i=0; i<=7; i++) m_k054539_2->set_gain(i, 0.5);
}
-void mystwarr_state::machine_reset_dadandrn()
+MACHINE_RESET_MEMBER(mystwarr_state,dadandrn)
{
+ int i;
+
// boost voice(chip 0 channel 4-7)
- for (int i = 4; i <= 7; i++)
- m_k054539_1->set_gain(i, 2.0);
+ for (i=4; i<=7; i++) m_k054539_1->set_gain(i, 2.0);
}
-void mystwarr_state::machine_reset_viostorm()
+MACHINE_RESET_MEMBER(mystwarr_state,viostorm)
{
+ int i;
+
// boost voice(chip 0 channel 4-7)
- for (int i = 4; i <= 7; i++)
- m_k054539_1->set_gain(i, 2.0);
+ for (i=4; i<=7; i++) m_k054539_1->set_gain(i, 2.0);
}
-void mystwarr_state::machine_reset_metamrph()
+MACHINE_RESET_MEMBER(mystwarr_state,metamrph)
{
+ int i;
+
// boost voice(chip 0 channel 4-7) and soften other channels
- for (int i = 0; i <= 3; i++)
+ for (i=0; i<=3; i++)
{
m_k054539_1->set_gain(i, 0.8);
m_k054539_1->set_gain(i+4, 1.8);
@@ -915,22 +920,23 @@ void mystwarr_state::machine_reset_metamrph()
}
}
-void mystwarr_state::machine_reset_martchmp()
+MACHINE_RESET_MEMBER(mystwarr_state,martchmp)
{
+ int i;
k054539_device *k054539 = subdevice<k054539_device>("k054539");
k054539->init_flags(k054539_device::REVERSE_STEREO);
// boost voice(chip 0 channel 4-7)
- for (int i = 4; i <= 7; i++)
- k054539->set_gain(i, 1.4);
+ for (i=4; i<=7; i++) k054539->set_gain(i, 1.4);
}
-void mystwarr_state::machine_reset_gaiapols()
+MACHINE_RESET_MEMBER(mystwarr_state,gaiapols)
{
+ int i;
+
// boost voice(chip 0 channel 5-7)
- for (int i = 5; i <= 7; i++)
- m_k054539_1->set_gain(i, 2.0);
+ for (i=5; i<=7; i++) m_k054539_1->set_gain(i, 2.0);
}
@@ -951,8 +957,8 @@ MACHINE_CONFIG_START(mystwarr_state::mystwarr)
MCFG_DEVICE_ADD("k053252", K053252, 6000000) // 6 MHz?
MCFG_K053252_OFFSETS(24, 16)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mystwarr, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mystwarr, this));
+ MCFG_MACHINE_START_OVERRIDE(mystwarr_state,mystwarr)
+ MCFG_MACHINE_RESET_OVERRIDE(mystwarr_state,mystwarr)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -985,7 +991,7 @@ MACHINE_CONFIG_START(mystwarr_state::mystwarr)
MCFG_K054338_ALPHAINV(1)
MCFG_K054338_MIXER("k055555")
- set_video_start_cb(config, driver_callback_delegate(&video_start_mystwarr, this));
+ MCFG_VIDEO_START_OVERRIDE(mystwarr_state, mystwarr)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1008,7 +1014,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(mystwarr_state::viostorm)
mystwarr(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_viostorm, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mystwarr_state,viostorm)
MCFG_DEVICE_REPLACE("k053252", K053252, 16000000/2)
MCFG_K053252_OFFSETS(40, 16)
@@ -1020,7 +1026,7 @@ MACHINE_CONFIG_START(mystwarr_state::viostorm)
MCFG_TIMER_DRIVER_CALLBACK(mystwarr_state, metamrph_interrupt)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_viostorm, this));
+ MCFG_VIDEO_START_OVERRIDE(mystwarr_state, viostorm)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(mystwarr_state, screen_update_metamrph)
@@ -1040,7 +1046,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(mystwarr_state::metamrph)
mystwarr(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_metamrph, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mystwarr_state,metamrph)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
@@ -1054,7 +1060,7 @@ MACHINE_CONFIG_START(mystwarr_state::metamrph)
MCFG_K053250_ADD("k053250_1", "palette", "screen", -7, 0)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_metamrph, this));
+ MCFG_VIDEO_START_OVERRIDE(mystwarr_state, metamrph)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(mystwarr_state, screen_update_metamrph)
@@ -1074,7 +1080,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(mystwarr_state::dadandrn)
mystwarr(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dadandrn, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mystwarr_state,dadandrn)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
@@ -1088,7 +1094,7 @@ MACHINE_CONFIG_START(mystwarr_state::dadandrn)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_dadandrn)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_dadandrn, this));
+ MCFG_VIDEO_START_OVERRIDE(mystwarr_state, dadandrn)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(mystwarr_state, screen_update_dadandrn)
@@ -1108,7 +1114,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(mystwarr_state::gaiapols)
mystwarr(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_gaiapols, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mystwarr_state,gaiapols)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
@@ -1124,7 +1130,7 @@ MACHINE_CONFIG_START(mystwarr_state::gaiapols)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_gaiapols)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_gaiapols, this));
+ MCFG_VIDEO_START_OVERRIDE(mystwarr_state, gaiapols)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(mystwarr_state, screen_update_dadandrn)
@@ -1145,7 +1151,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(mystwarr_state::martchmp)
mystwarr(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_martchmp, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mystwarr_state,martchmp)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
@@ -1164,7 +1170,7 @@ MACHINE_CONFIG_START(mystwarr_state::martchmp)
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_ENABLE_HILIGHTS()
- set_video_start_cb(config, driver_callback_delegate(&video_start_martchmp, this));
+ MCFG_VIDEO_START_OVERRIDE(mystwarr_state, martchmp)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
diff --git a/src/mame/drivers/mz700.cpp b/src/mame/drivers/mz700.cpp
index 23b81eb4d99..aa49256728b 100644
--- a/src/mame/drivers/mz700.cpp
+++ b/src/mame/drivers/mz700.cpp
@@ -385,7 +385,7 @@ MACHINE_CONFIG_START(mz_state::mz700)
MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(16)
MCFG_ADDRESS_MAP_BANK_STRIDE(0x2000)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mz700, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mz_state, mz700)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -450,7 +450,8 @@ MACHINE_CONFIG_START(mz_state::mz800)
MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(16)
MCFG_ADDRESS_MAP_BANK_STRIDE(0x2000)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mz800, this));
+ MCFG_MACHINE_RESET_OVERRIDE(mz_state, mz800)
+ MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_mz800)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(mz_state, screen_update_mz800)
diff --git a/src/mame/drivers/n64.cpp b/src/mame/drivers/n64.cpp
index 0920349268b..3e77ff298db 100644
--- a/src/mame/drivers/n64.cpp
+++ b/src/mame/drivers/n64.cpp
@@ -30,7 +30,7 @@ public:
{ }
DECLARE_READ32_MEMBER(dd_null_r);
- void machine_start_n64dd() ATTR_COLD;
+ DECLARE_MACHINE_START(n64dd);
INTERRUPT_GEN_MEMBER(n64_reset_poll);
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(n64_cart);
void mempak_format(uint8_t* pak);
@@ -378,7 +378,7 @@ DEVICE_IMAGE_LOAD_MEMBER(n64_mess_state,n64_cart)
return image_init_result::PASS;
}
-void n64_mess_state::machine_start_n64dd()
+MACHINE_START_MEMBER(n64_mess_state,n64dd)
{
machine_start();
machine().device<n64_periphs>("rcp")->dd_present = true;
@@ -487,7 +487,7 @@ MACHINE_CONFIG_START(n64_mess_state::n64dd)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(n64dd_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_n64dd, this));
+ MCFG_MACHINE_START_OVERRIDE(n64_mess_state, n64dd)
MCFG_DEVICE_REMOVE("cartslot")
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "n64_cart")
diff --git a/src/mame/drivers/n8080.cpp b/src/mame/drivers/n8080.cpp
index 80bb18e1c9e..0fb413ba939 100644
--- a/src/mame/drivers/n8080.cpp
+++ b/src/mame/drivers/n8080.cpp
@@ -470,32 +470,32 @@ void n8080_state::machine_start()
save_item(NAME(m_inte));
}
-void n8080_state::machine_reset_n8080()
+MACHINE_RESET_MEMBER(n8080_state,n8080)
{
m_shift_data = 0;
m_shift_bits = 0;
m_inte = 0;
}
-void n8080_state::machine_reset_spacefev()
+MACHINE_RESET_MEMBER(n8080_state,spacefev)
{
- machine_reset_n8080();
+ MACHINE_RESET_CALL_MEMBER(n8080);
m_spacefev_red_screen = 0;
m_spacefev_red_cannon = 0;
}
-void n8080_state::machine_reset_sheriff()
+MACHINE_RESET_MEMBER(n8080_state,sheriff)
{
- machine_reset_n8080();
+ MACHINE_RESET_CALL_MEMBER(n8080);
m_sheriff_color_mode = 0;
m_sheriff_color_data = 0;
}
-void n8080_state::machine_reset_helifire()
+MACHINE_RESET_MEMBER(n8080_state,helifire)
{
- machine_reset_n8080();
+ MACHINE_RESET_CALL_MEMBER(n8080);
m_helifire_mv = 0;
m_helifire_sc = 0;
@@ -512,7 +512,7 @@ MACHINE_CONFIG_START(n8080_state::spacefev)
MCFG_DEVICE_PROGRAM_MAP(main_cpu_map)
MCFG_DEVICE_IO_MAP(main_io_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_spacefev, this));
+ MCFG_MACHINE_RESET_OVERRIDE(n8080_state,spacefev)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -524,7 +524,7 @@ MACHINE_CONFIG_START(n8080_state::spacefev)
MCFG_PALETTE_ADD("palette", 8)
MCFG_PALETTE_INIT_OWNER(n8080_state,n8080)
- set_video_start_cb(config, driver_callback_delegate(&video_start_spacefev, this));
+ MCFG_VIDEO_START_OVERRIDE(n8080_state,spacefev)
MCFG_TIMER_DRIVER_ADD_SCANLINE("rst1", n8080_state, rst1_tick, "screen", 128, 256)
MCFG_TIMER_DRIVER_ADD_SCANLINE("rst2", n8080_state, rst2_tick, "screen", 240, 256)
@@ -543,7 +543,7 @@ MACHINE_CONFIG_START(n8080_state::sheriff)
MCFG_DEVICE_PROGRAM_MAP(main_cpu_map)
MCFG_DEVICE_IO_MAP(main_io_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sheriff, this));
+ MCFG_MACHINE_RESET_OVERRIDE(n8080_state,sheriff)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -555,7 +555,7 @@ MACHINE_CONFIG_START(n8080_state::sheriff)
MCFG_PALETTE_ADD("palette", 8)
MCFG_PALETTE_INIT_OWNER(n8080_state,n8080)
- set_video_start_cb(config, driver_callback_delegate(&video_start_sheriff, this));
+ MCFG_VIDEO_START_OVERRIDE(n8080_state,sheriff)
MCFG_TIMER_DRIVER_ADD_SCANLINE("rst1", n8080_state, rst1_tick, "screen", 128, 256)
MCFG_TIMER_DRIVER_ADD_SCANLINE("rst2", n8080_state, rst2_tick, "screen", 240, 256)
@@ -587,7 +587,7 @@ MACHINE_CONFIG_START(n8080_state::helifire)
MCFG_DEVICE_PROGRAM_MAP(helifire_main_cpu_map)
MCFG_DEVICE_IO_MAP(main_io_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_helifire, this));
+ MCFG_MACHINE_RESET_OVERRIDE(n8080_state,helifire)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -600,7 +600,7 @@ MACHINE_CONFIG_START(n8080_state::helifire)
MCFG_PALETTE_ADD("palette", 8 + 0x400)
MCFG_PALETTE_INIT_OWNER(n8080_state,helifire)
- set_video_start_cb(config, driver_callback_delegate(&video_start_helifire, this));
+ MCFG_VIDEO_START_OVERRIDE(n8080_state,helifire)
MCFG_TIMER_DRIVER_ADD_SCANLINE("rst1", n8080_state, rst1_tick, "screen", 128, 256)
MCFG_TIMER_DRIVER_ADD_SCANLINE("rst2", n8080_state, rst2_tick, "screen", 240, 256)
diff --git a/src/mame/drivers/namcofl.cpp b/src/mame/drivers/namcofl.cpp
index 8fc1f906321..285cc731d61 100644
--- a/src/mame/drivers/namcofl.cpp
+++ b/src/mame/drivers/namcofl.cpp
@@ -552,7 +552,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(namcofl_state::mcu_adc_cb)
}
-void namcofl_state::machine_start_namcofl()
+MACHINE_START_MEMBER(namcofl_state,namcofl)
{
m_raster_interrupt_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(namcofl_state::raster_interrupt_callback),this));
m_network_interrupt_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(namcofl_state::network_interrupt_callback),this));
@@ -568,7 +568,7 @@ void namcofl_state::machine_start_namcofl()
}
-void namcofl_state::machine_reset_namcofl()
+MACHINE_RESET_MEMBER(namcofl_state,namcofl)
{
m_network_interrupt_timer->adjust(m_screen->time_until_pos(m_screen->visible_area().max_y + 3));
m_vblank_interrupt_timer->adjust(m_screen->time_until_pos(m_screen->visible_area().max_y + 1));
@@ -592,8 +592,8 @@ MACHINE_CONFIG_START(namcofl_state::namcofl)
MCFG_TIMER_DRIVER_ADD_PERIODIC("mcu_irq2", namcofl_state, mcu_irq2_cb, attotime::from_hz(60))
MCFG_TIMER_DRIVER_ADD_PERIODIC("mcu_adc", namcofl_state, mcu_adc_cb, attotime::from_hz(60))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_namcofl, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_namcofl, this));
+ MCFG_MACHINE_START_OVERRIDE(namcofl_state,namcofl)
+ MCFG_MACHINE_RESET_OVERRIDE(namcofl_state,namcofl)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_SCREEN_ADD("screen", RASTER)
@@ -610,7 +610,7 @@ MACHINE_CONFIG_START(namcofl_state::namcofl)
MCFG_DEVICE_ADD("c116", NAMCO_C116, 0)
MCFG_GFX_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_namcofl, this));
+ MCFG_VIDEO_START_OVERRIDE(namcofl_state,namcofl)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
diff --git a/src/mame/drivers/namconb1.cpp b/src/mame/drivers/namconb1.cpp
index 3856f6c41c9..1ec49d25dd6 100644
--- a/src/mame/drivers/namconb1.cpp
+++ b/src/mame/drivers/namconb1.cpp
@@ -1058,7 +1058,7 @@ GFXDECODE_END /* gfxdecodeinfo2 */
/***************************************************************/
-void namconb1_state::machine_reset_namconb()
+MACHINE_RESET_MEMBER(namconb1_state, namconb)
{
m_pos_irq_level = 0;
m_unk_irq_level = 0;
@@ -1077,7 +1077,7 @@ MACHINE_CONFIG_START(namconb1_state::namconb1)
MCFG_DEVICE_IO_MAP(namcoc75_io)
MCFG_EEPROM_2816_ADD("eeprom")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_namconb, this));
+ MCFG_MACHINE_RESET_OVERRIDE(namconb1_state, namconb)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", namconb1_state, scantimer, "screen", 0, 1)
@@ -1100,7 +1100,7 @@ MACHINE_CONFIG_START(namconb1_state::namconb1)
MCFG_DEVICE_ADD("c116", NAMCO_C116, 0)
MCFG_GFX_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_namconb1, this));
+ MCFG_VIDEO_START_OVERRIDE(namconb1_state,namconb1)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
@@ -1120,7 +1120,7 @@ MACHINE_CONFIG_START(namconb1_state::namconb2)
MCFG_DEVICE_IO_MAP(namcoc75_io)
MCFG_EEPROM_2816_ADD("eeprom")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_namconb, this));
+ MCFG_MACHINE_RESET_OVERRIDE(namconb1_state, namconb)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", namconb1_state, scantimer, "screen", 0, 1)
MCFG_TIMER_DRIVER_ADD_PERIODIC("mcu_irq0", namconb1_state, mcu_irq0_cb, attotime::from_hz(60))
@@ -1141,7 +1141,7 @@ MACHINE_CONFIG_START(namconb1_state::namconb2)
MCFG_DEVICE_ADD("c116", NAMCO_C116, 0)
MCFG_GFX_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_namconb2, this));
+ MCFG_VIDEO_START_OVERRIDE(namconb1_state,namconb2)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
diff --git a/src/mame/drivers/namcos10.cpp b/src/mame/drivers/namcos10.cpp
index a37f12d3190..8d582106834 100644
--- a/src/mame/drivers/namcos10.cpp
+++ b/src/mame/drivers/namcos10.cpp
@@ -484,7 +484,7 @@ public:
void init_mrdrilrg();
void init_chocovdr();
void init_konotako();
- void machine_reset_namcos10();
+ DECLARE_MACHINE_RESET(namcos10);
void memn_driver_init( );
required_device<cpu_device> m_maincpu;
};
@@ -906,7 +906,7 @@ void namcos10_state::init_konotako()
}
-void namcos10_state::machine_reset_namcos10()
+MACHINE_RESET_MEMBER(namcos10_state,namcos10)
{
i2c_dev_clock = i2c_dev_data = 1;
i2c_host_clock = i2c_host_data = 1;
@@ -931,7 +931,7 @@ MACHINE_CONFIG_START(namcos10_state::namcos10_memm)
MCFG_RAM_MODIFY("maincpu:ram")
MCFG_RAM_DEFAULT_SIZE("16M")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_namcos10, this));
+ MCFG_MACHINE_RESET_OVERRIDE(namcos10_state, namcos10 )
/* video hardware */
MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8561CQ, 0x200000, XTAL(53'693'175) )
@@ -956,7 +956,7 @@ MACHINE_CONFIG_START(namcos10_state::namcos10_memn)
MCFG_RAM_MODIFY("maincpu:ram")
MCFG_RAM_DEFAULT_SIZE("16M")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_namcos10, this));
+ MCFG_MACHINE_RESET_OVERRIDE(namcos10_state, namcos10 )
/* video hardware */
MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8561CQ, 0x200000, XTAL(53'693'175) )
diff --git a/src/mame/drivers/namcos2.cpp b/src/mame/drivers/namcos2.cpp
index 13fa6c43304..7c78344c051 100644
--- a/src/mame/drivers/namcos2.cpp
+++ b/src/mame/drivers/namcos2.cpp
@@ -1751,8 +1751,8 @@ MACHINE_CONFIG_START(namcos2_state::base)
MCFG_QUANTUM_TIME(attotime::from_hz(12000)) /* CPU slices per frame */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_namcos2, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_namcos2, this));
+ MCFG_MACHINE_START_OVERRIDE(namcos2_state,namcos2)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
configure_c148_standard(config);
@@ -1832,8 +1832,8 @@ MACHINE_CONFIG_START(namcos2_state::gollygho)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_namcos2, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_namcos2, this));
+ MCFG_MACHINE_START_OVERRIDE(namcos2_state,namcos2)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
configure_c148_standard(config);
@@ -1883,8 +1883,8 @@ MACHINE_CONFIG_START(namcos2_state::finallap)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_namcos2, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_namcos2, this));
+ MCFG_MACHINE_START_OVERRIDE(namcos2_state,namcos2)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
configure_c148_standard(config);
@@ -1902,7 +1902,7 @@ MACHINE_CONFIG_START(namcos2_state::finallap)
MCFG_PALETTE_ADD("palette", 0x2000)
MCFG_PALETTE_ENABLE_SHADOWS()
- set_video_start_cb(config, driver_callback_delegate(&video_start_finallap, this));
+ MCFG_VIDEO_START_OVERRIDE(namcos2_state, finallap)
MCFG_NAMCO_C45_ROAD_ADD("c45_road")
MCFG_GFX_PALETTE("palette")
@@ -1939,8 +1939,8 @@ MACHINE_CONFIG_START(namcos2_state::sgunner)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_namcos2, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_namcos2, this));
+ MCFG_MACHINE_START_OVERRIDE(namcos2_state,namcos2)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
configure_c148_standard(config);
@@ -1958,7 +1958,7 @@ MACHINE_CONFIG_START(namcos2_state::sgunner)
MCFG_PALETTE_ADD("palette", 0x2000)
MCFG_PALETTE_ENABLE_SHADOWS()
- set_video_start_cb(config, driver_callback_delegate(&video_start_sgunner, this));
+ MCFG_VIDEO_START_OVERRIDE(namcos2_state, sgunner)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
@@ -1997,8 +1997,8 @@ MACHINE_CONFIG_START(namcos2_state::sgunner2)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_namcos2, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_namcos2, this));
+ MCFG_MACHINE_START_OVERRIDE(namcos2_state,namcos2)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
configure_c148_standard(config);
@@ -2016,7 +2016,7 @@ MACHINE_CONFIG_START(namcos2_state::sgunner2)
MCFG_PALETTE_ADD("palette", 0x2000)
MCFG_PALETTE_ENABLE_SHADOWS()
- set_video_start_cb(config, driver_callback_delegate(&video_start_sgunner, this));
+ MCFG_VIDEO_START_OVERRIDE(namcos2_state, sgunner)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
@@ -2050,8 +2050,8 @@ MACHINE_CONFIG_START(namcos2_state::luckywld)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_namcos2, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_namcos2, this));
+ MCFG_MACHINE_START_OVERRIDE(namcos2_state,namcos2)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
configure_c148_standard(config);
@@ -2069,7 +2069,7 @@ MACHINE_CONFIG_START(namcos2_state::luckywld)
MCFG_PALETTE_ADD("palette", 0x2000)
MCFG_PALETTE_ENABLE_SHADOWS()
- set_video_start_cb(config, driver_callback_delegate(&video_start_luckywld, this));
+ MCFG_VIDEO_START_OVERRIDE(namcos2_state, luckywld)
MCFG_NAMCO_C45_ROAD_ADD("c45_road")
MCFG_GFX_PALETTE("palette")
@@ -2106,8 +2106,8 @@ MACHINE_CONFIG_START(namcos2_state::metlhawk)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_namcos2, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_namcos2, this));
+ MCFG_MACHINE_START_OVERRIDE(namcos2_state,namcos2)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos2_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
configure_c148_standard(config);
@@ -2125,7 +2125,7 @@ MACHINE_CONFIG_START(namcos2_state::metlhawk)
MCFG_PALETTE_ADD("palette", 0x2000)
MCFG_PALETTE_ENABLE_SHADOWS()
- set_video_start_cb(config, driver_callback_delegate(&video_start_metlhawk, this));
+ MCFG_VIDEO_START_OVERRIDE(namcos2_state, metlhawk)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
diff --git a/src/mame/drivers/namcos21.cpp b/src/mame/drivers/namcos21.cpp
index d32130db49b..2256fca5db3 100644
--- a/src/mame/drivers/namcos21.cpp
+++ b/src/mame/drivers/namcos21.cpp
@@ -1875,9 +1875,9 @@ static GFXDECODE_START( gfx_namcos21 )
GFXDECODE_ENTRY( "gfx1", 0x000000, tile_layout, 0x1000, 0x10 )
GFXDECODE_END
-void namcos21_state::machine_start_namcos21()
+MACHINE_START_MEMBER(namcos21_state,namcos21)
{
- machine_start_namcos2();
+ MACHINE_START_CALL_MEMBER( namcos2 );
namcos2_kickstart = namcos21_kickstart;
}
@@ -1947,8 +1947,8 @@ MACHINE_CONFIG_START(namcos21_state::namcos21)
MCFG_QUANTUM_TIME(attotime::from_hz(12000))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_namcos21, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_namcos2, this));
+ MCFG_MACHINE_START_OVERRIDE(namcos21_state,namcos21)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos21_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
@@ -1964,7 +1964,7 @@ MACHINE_CONFIG_START(namcos21_state::namcos21)
MCFG_PALETTE_ADD("palette", NAMCOS21_NUM_COLORS)
MCFG_PALETTE_FORMAT(XBRG)
- set_video_start_cb(config, driver_callback_delegate(&video_start_namcos21, this));
+ MCFG_VIDEO_START_OVERRIDE(namcos21_state,namcos21)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
@@ -2008,8 +2008,8 @@ MACHINE_CONFIG_START(namcos21_state::driveyes)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_namcos21, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_namcos2, this));
+ MCFG_MACHINE_START_OVERRIDE(namcos21_state,namcos21)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos21_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_DEVICE_ADD("gearbox", NAMCOIO_GEARBOX, 0)
@@ -2026,7 +2026,7 @@ MACHINE_CONFIG_START(namcos21_state::driveyes)
MCFG_PALETTE_ADD("palette", NAMCOS21_NUM_COLORS)
MCFG_PALETTE_FORMAT(XBRG)
- set_video_start_cb(config, driver_callback_delegate(&video_start_namcos21, this));
+ MCFG_VIDEO_START_OVERRIDE(namcos21_state,namcos21)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
@@ -2076,8 +2076,8 @@ MACHINE_CONFIG_START(namcos21_state::winrun)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_namcos21, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_namcos2, this));
+ MCFG_MACHINE_START_OVERRIDE(namcos21_state,namcos21)
+ MCFG_MACHINE_RESET_OVERRIDE(namcos21_state,namcos2)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2090,7 +2090,7 @@ MACHINE_CONFIG_START(namcos21_state::winrun)
MCFG_PALETTE_ADD("palette", NAMCOS21_NUM_COLORS)
MCFG_PALETTE_FORMAT(XBRG)
- set_video_start_cb(config, driver_callback_delegate(&video_start_namcos21, this));
+ MCFG_VIDEO_START_OVERRIDE(namcos21_state,namcos21)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
diff --git a/src/mame/drivers/namcos22.cpp b/src/mame/drivers/namcos22.cpp
index 110ee66697c..75c5578da43 100644
--- a/src/mame/drivers/namcos22.cpp
+++ b/src/mame/drivers/namcos22.cpp
@@ -3952,7 +3952,7 @@ MACHINE_CONFIG_START(namcos22_state::propcycl)
MCFG_TIMER_DRIVER_ADD("pc_p_int", namcos22_state, propcycl_pedal_interrupt)
MACHINE_CONFIG_END
-void namcos22_state::machine_start_adillor()
+MACHINE_START_MEMBER(namcos22_state,adillor)
{
machine_start();
@@ -3966,7 +3966,7 @@ MACHINE_CONFIG_START(namcos22_state::adillor)
/* basic machine hardware */
MCFG_TIMER_DRIVER_ADD_PERIODIC("ar_tb_upd", namcos22_state, adillor_trackball_update, attotime::from_msec(20))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_adillor, this));
+ MCFG_MACHINE_START_OVERRIDE(namcos22_state,adillor)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/namcos23.cpp b/src/mame/drivers/namcos23.cpp
index 82419395bee..e95bdcca138 100644
--- a/src/mame/drivers/namcos23.cpp
+++ b/src/mame/drivers/namcos23.cpp
@@ -1558,8 +1558,8 @@ public:
DECLARE_WRITE16_MEMBER(c435_state_reset_w);
void init_s23();
TILE_GET_INFO_MEMBER(TextTilemapGetInfo);
- void video_start_s23() ATTR_COLD;
- void machine_reset_gmen();
+ DECLARE_VIDEO_START(s23);
+ DECLARE_MACHINE_RESET(gmen);
virtual void machine_start() override;
virtual void machine_reset() override;
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
@@ -2398,7 +2398,7 @@ WRITE32_MEMBER(namcos23_state::textchar_w)
// Video start/update callbacks
-void namcos23_state::video_start_s23()
+VIDEO_START_MEMBER(namcos23_state,s23)
{
m_gfxdecode->gfx(0)->set_source(reinterpret_cast<uint8_t *>(m_charram.target()));
m_bgtilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(namcos23_state::TextTilemapGetInfo),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
@@ -3481,7 +3481,7 @@ void namcos23_state::machine_reset()
m_subcpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
-void namcos23_state::machine_reset_gmen()
+MACHINE_RESET_MEMBER(namcos23_state,gmen)
{
machine_reset();
@@ -3614,7 +3614,7 @@ MACHINE_CONFIG_START(namcos23_state::gorgon)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_namcos23)
- set_video_start_cb(config, driver_callback_delegate(&video_start_s23, this));
+ MCFG_VIDEO_START_OVERRIDE(namcos23_state,s23)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -3681,7 +3681,7 @@ MACHINE_CONFIG_START(namcos23_state::s23)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_namcos23)
- set_video_start_cb(config, driver_callback_delegate(&video_start_s23, this));
+ MCFG_VIDEO_START_OVERRIDE(namcos23_state,s23)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -3713,7 +3713,7 @@ MACHINE_CONFIG_START(namcos23_state::gmen)
MCFG_DEVICE_ADD("gmen_sh2", SH2, XTAL(28'700'000))
MCFG_DEVICE_PROGRAM_MAP(gmen_sh2_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_gmen, this));
+ MCFG_MACHINE_RESET_OVERRIDE(namcos23_state,gmen)
MACHINE_CONFIG_END
@@ -3761,7 +3761,7 @@ MACHINE_CONFIG_START(namcos23_state::ss23)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_namcos23)
- set_video_start_cb(config, driver_callback_delegate(&video_start_s23, this));
+ MCFG_VIDEO_START_OVERRIDE(namcos23_state,s23)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
diff --git a/src/mame/drivers/naomi.cpp b/src/mame/drivers/naomi.cpp
index b3b9ebba961..fcf41775b19 100644
--- a/src/mame/drivers/naomi.cpp
+++ b/src/mame/drivers/naomi.cpp
@@ -2662,7 +2662,7 @@ static INPUT_PORTS_START( aw1w )
PORT_INCLUDE( naomi_debug )
INPUT_PORTS_END
-void naomi_state::machine_reset_naomi()
+MACHINE_RESET_MEMBER(naomi_state,naomi)
{
naomi_state::machine_reset();
m_aica->set_ram_base(dc_sound_ram, 8*1024*1024);
@@ -2736,7 +2736,7 @@ MACHINE_CONFIG_START(naomi_state::naomi_base)
MCFG_X76F100_ADD("naomibd_eeprom")
MCFG_M3COMM_ADD("comm_board")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_naomi, this));
+ MCFG_MACHINE_RESET_OVERRIDE(naomi_state,naomi)
MCFG_NVRAM_ADD_0FILL("sram")
MACHINE_CONFIG_END
@@ -2851,7 +2851,7 @@ MACHINE_CONFIG_START(atomiswave_state::aw_base)
MCFG_MACRONIX_29L001MC_ADD("awflash")
MCFG_AW_ROM_BOARD_ADD("rom_board", "rom_key", WRITE8(*this, dc_state, g1_irq))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dc_console, this));
+ MCFG_MACHINE_RESET_OVERRIDE(dc_state,dc_console)
MCFG_NVRAM_ADD_0FILL("sram")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/nbmj8688.cpp b/src/mame/drivers/nbmj8688.cpp
index 0f6d3081c2a..db326f7fc7f 100644
--- a/src/mame/drivers/nbmj8688.cpp
+++ b/src/mame/drivers/nbmj8688.cpp
@@ -2474,7 +2474,7 @@ MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_4096)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_INIT_OWNER(nbmj8688_state,mbmj8688_12bit)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mbmj8688_pure_12bit, this));
+ MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_pure_12bit)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -2499,7 +2499,7 @@ MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_256)
MCFG_PALETTE_ENTRIES(256)
MCFG_PALETTE_INIT_OWNER(nbmj8688_state,mbmj8688_8bit)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mbmj8688_8bit, this));
+ MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_8bit)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_65536)
@@ -2513,7 +2513,7 @@ MACHINE_CONFIG_START(nbmj8688_state::NBMJDRV_65536)
MCFG_PALETTE_ENTRIES(65536)
MCFG_PALETTE_INIT_OWNER(nbmj8688_state,mbmj8688_16bit)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mbmj8688_hybrid_16bit, this));
+ MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_hybrid_16bit)
MACHINE_CONFIG_END
// --------------------------------------------------------------------------------
@@ -2565,7 +2565,7 @@ MACHINE_CONFIG_START(nbmj8688_state::mbmj_h12bit)
MCFG_DEVICE_IO_MAP(secolove_io_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_mbmj8688_hybrid_12bit, this));
+ MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_hybrid_12bit)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8688_state::citylove)
@@ -2616,7 +2616,7 @@ MACHINE_CONFIG_START(nbmj8688_state::mbmj_p16bit)
MCFG_DEVICE_IO_MAP(secolove_io_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_mbmj8688_pure_16bit, this));
+ MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_pure_16bit)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8688_state::mbmj_p16bit_LCD)
@@ -2667,7 +2667,7 @@ MACHINE_CONFIG_START(nbmj8688_state::mbmj_p16bit_LCD)
MCFG_DEVICE_ADD("lcdc1", HD61830B, 5000000/2) // ???
MCFG_VIDEO_SET_SCREEN("lcd1")
- set_video_start_cb(config, driver_callback_delegate(&video_start_mbmj8688_pure_16bit_LCD, this));
+ MCFG_VIDEO_START_OVERRIDE(nbmj8688_state,mbmj8688_pure_16bit_LCD)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
diff --git a/src/mame/drivers/nbmj8891.cpp b/src/mame/drivers/nbmj8891.cpp
index c7372078658..37474214287 100644
--- a/src/mame/drivers/nbmj8891.cpp
+++ b/src/mame/drivers/nbmj8891.cpp
@@ -2280,7 +2280,7 @@ MACHINE_CONFIG_START(nbmj8891_state::mjcamerb)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start__1layer, this));
+ MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8891_state::mmcamera)
@@ -2298,7 +2298,7 @@ MACHINE_CONFIG_START(nbmj8891_state::mmcamera)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start__1layer, this));
+ MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8891_state::hanamomo)
@@ -2315,7 +2315,7 @@ MACHINE_CONFIG_START(nbmj8891_state::hanamomo)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start__1layer, this));
+ MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8891_state::msjiken)
@@ -2338,7 +2338,7 @@ MACHINE_CONFIG_START(nbmj8891_state::telmahjn)
MCFG_NB1413M3_TYPE( NB1413M3_TELMAHJN )
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start__1layer, this));
+ MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8891_state::mgmen89)
@@ -2359,7 +2359,7 @@ MACHINE_CONFIG_START(nbmj8891_state::mjfocus)
MCFG_NB1413M3_TYPE( NB1413M3_MJFOCUS )
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start__1layer, this));
+ MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nbmj8891_state::pairsnb)
@@ -2522,7 +2522,7 @@ MACHINE_CONFIG_START(nbmj8891_state::mjfocusm)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start__1layer, this));
+ MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
/* sound hardware */
MCFG_DEVICE_REPLACE("fmsnd", AY8910, 1250000)
@@ -2555,7 +2555,7 @@ MACHINE_CONFIG_START(nbmj8891_state::taiwanmb)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start__1layer, this));
+ MCFG_VIDEO_START_OVERRIDE(nbmj8891_state,_1layer)
/* sound hardware */
MCFG_DEVICE_REPLACE("fmsnd", AY8910, 1250000)
diff --git a/src/mame/drivers/nbmj9195.cpp b/src/mame/drivers/nbmj9195.cpp
index 6cd5fc6af77..097dc82f247 100644
--- a/src/mame/drivers/nbmj9195.cpp
+++ b/src/mame/drivers/nbmj9195.cpp
@@ -2593,7 +2593,7 @@ MACHINE_CONFIG_START(nbmj9195_state::NBMJDRV2)
OTHERS_TMZ84C011_MAIN_PORTS
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start__1layer, this));
+ MCFG_VIDEO_START_OVERRIDE(nbmj9195_state,_1layer)
MACHINE_CONFIG_END
@@ -2608,7 +2608,7 @@ MACHINE_CONFIG_START(nbmj9195_state::NBMJDRV3)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(512)
- set_video_start_cb(config, driver_callback_delegate(&video_start_nb22090, this));
+ MCFG_VIDEO_START_OVERRIDE(nbmj9195_state,nb22090)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/nc.cpp b/src/mame/drivers/nc.cpp
index 087177453b7..9d4fca3f82d 100644
--- a/src/mame/drivers/nc.cpp
+++ b/src/mame/drivers/nc.cpp
@@ -1120,7 +1120,7 @@ void nc_state::nc200_floppy_drive_index_callback(int drive_id)
}
#endif
-void nc_state::machine_reset_nc200()
+MACHINE_RESET_MEMBER(nc_state, nc200)
{
/* 512k of rom */
m_membank_rom_mask = 0x1f;
@@ -1139,7 +1139,7 @@ void nc_state::machine_reset_nc200()
nc200_video_set_backlight(0);
}
-void nc_state::machine_start_nc200()
+MACHINE_START_MEMBER(nc_state, nc200)
{
m_type = NC_TYPE_200;
@@ -1477,8 +1477,8 @@ MACHINE_CONFIG_START(nc_state::nc200)
MCFG_DEVICE_MODIFY( "maincpu" )
MCFG_DEVICE_IO_MAP(nc200_io)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_nc200, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_nc200, this));
+ MCFG_MACHINE_START_OVERRIDE(nc_state, nc200)
+ MCFG_MACHINE_RESET_OVERRIDE(nc_state, nc200)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/neoprint.cpp b/src/mame/drivers/neoprint.cpp
index 9643d55297a..4a9affd20f4 100644
--- a/src/mame/drivers/neoprint.cpp
+++ b/src/mame/drivers/neoprint.cpp
@@ -65,7 +65,7 @@ public:
void init_npcartv1();
void init_nprsp();
void init_unkneo();
- void machine_reset_nprsp();
+ DECLARE_MACHINE_RESET(nprsp);
uint32_t screen_update_neoprint(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_nprsp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -534,7 +534,7 @@ MACHINE_CONFIG_START(neoprint_state::neoprint)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
MACHINE_CONFIG_END
-void neoprint_state::machine_reset_nprsp()
+MACHINE_RESET_MEMBER(neoprint_state,nprsp)
{
m_bank_val = 0;
}
@@ -562,7 +562,7 @@ MACHINE_CONFIG_START(neoprint_state::nprsp)
MCFG_SCREEN_UPDATE_DRIVER(neoprint_state, screen_update_nprsp)
MCFG_SCREEN_PALETTE("palette")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_nprsp, this));
+ MCFG_MACHINE_RESET_OVERRIDE(neoprint_state,nprsp)
MCFG_PALETTE_ADD("palette", 0x10000)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
diff --git a/src/mame/drivers/nes.cpp b/src/mame/drivers/nes.cpp
index b52f2267001..0583a6b1ea1 100644
--- a/src/mame/drivers/nes.cpp
+++ b/src/mame/drivers/nes.cpp
@@ -193,7 +193,7 @@ void nes_state::setup_disk(nes_disksys_device *slot)
}
-void nes_state::machine_start_fds()
+MACHINE_START_MEMBER( nes_state, fds )
{
m_ciram = std::make_unique<uint8_t[]>(0x800);
m_io_disksel = ioport("FLIPDISK");
@@ -204,7 +204,7 @@ void nes_state::machine_start_fds()
save_pointer(NAME(m_ciram.get()), 0x800);
}
-void nes_state::machine_reset_fds()
+MACHINE_RESET_MEMBER( nes_state, fds )
{
// Reset the mapper variables
m_disk->pcb_reset();
@@ -215,8 +215,8 @@ void nes_state::machine_reset_fds()
MACHINE_CONFIG_START(nes_state::fds)
famicom(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_fds, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_fds, this));
+ MCFG_MACHINE_START_OVERRIDE( nes_state, fds )
+ MCFG_MACHINE_RESET_OVERRIDE( nes_state, fds )
MCFG_DEVICE_REMOVE("nes_slot")
MCFG_DEVICE_ADD("disk", NES_DISKSYS, 0)
@@ -230,7 +230,7 @@ MACHINE_CONFIG_START(nes_state::fds)
MACHINE_CONFIG_END
-void nes_state::machine_start_famitwin()
+MACHINE_START_MEMBER( nes_state, famitwin )
{
// start the base nes stuff
machine_start();
@@ -246,7 +246,7 @@ void nes_state::machine_start_famitwin()
}
}
-void nes_state::machine_reset_famitwin()
+MACHINE_RESET_MEMBER( nes_state, famitwin )
{
// Reset the mapper variables. Will also mark the char-gen ram as dirty
m_cartslot->pcb_reset();
@@ -261,8 +261,8 @@ void nes_state::machine_reset_famitwin()
MACHINE_CONFIG_START(nes_state::famitwin)
famicom(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_famitwin, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_famitwin, this));
+ MCFG_MACHINE_START_OVERRIDE( nes_state, famitwin )
+ MCFG_MACHINE_RESET_OVERRIDE( nes_state, famitwin )
MCFG_DEVICE_MODIFY("nes_slot")
MCFG_NES_CARTRIDGE_NOT_MANDATORY
diff --git a/src/mame/drivers/ninjakd2.cpp b/src/mame/drivers/ninjakd2.cpp
index 852d1e399da..c6d3302ba6d 100644
--- a/src/mame/drivers/ninjakd2.cpp
+++ b/src/mame/drivers/ninjakd2.cpp
@@ -914,14 +914,14 @@ void ninjakd2_state::machine_reset()
m_rom_bank_mask = num_banks - 1;
}
-void ninjakd2_state::machine_start_omegaf()
+MACHINE_START_MEMBER(ninjakd2_state,omegaf)
{
omegaf_io_protection_start();
machine_start();
}
-void ninjakd2_state::machine_reset_omegaf()
+MACHINE_RESET_MEMBER(ninjakd2_state,omegaf)
{
omegaf_io_protection_reset();
@@ -1004,7 +1004,7 @@ MACHINE_CONFIG_START(ninjakd2_state::mnight)
MCFG_DEVICE_PROGRAM_MAP(ninjakid_nopcm_sound_cpu)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_mnight, this));
+ MCFG_VIDEO_START_OVERRIDE(ninjakd2_state,mnight)
/* sound hardware */
MCFG_DEVICE_REMOVE("pcm")
@@ -1020,7 +1020,7 @@ MACHINE_CONFIG_START(ninjakd2_state::arkarea)
MCFG_DEVICE_PROGRAM_MAP(ninjakid_nopcm_sound_cpu)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_arkarea, this));
+ MCFG_VIDEO_START_OVERRIDE(ninjakd2_state,arkarea)
/* sound hardware */
MCFG_DEVICE_REMOVE("pcm")
@@ -1043,7 +1043,7 @@ MACHINE_CONFIG_START(ninjakd2_state::robokid)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
MCFG_PALETTE_ENDIANNESS(ENDIANNESS_BIG)
- set_video_start_cb(config, driver_callback_delegate(&video_start_robokid, this));
+ MCFG_VIDEO_START_OVERRIDE(ninjakd2_state,robokid)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(ninjakd2_state, screen_update_robokid)
MACHINE_CONFIG_END
@@ -1058,11 +1058,11 @@ MACHINE_CONFIG_START(ninjakd2_state::omegaf)
MCFG_DEVICE_MODIFY("soundcpu")
MCFG_DEVICE_PROGRAM_MAP(ninjakid_nopcm_sound_cpu)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_omegaf, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_omegaf, this));
+ MCFG_MACHINE_START_OVERRIDE(ninjakd2_state,omegaf)
+ MCFG_MACHINE_RESET_OVERRIDE(ninjakd2_state,omegaf)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_omegaf, this));
+ MCFG_VIDEO_START_OVERRIDE(ninjakd2_state,omegaf)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(ninjakd2_state, screen_update_omegaf)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/niyanpai.cpp b/src/mame/drivers/niyanpai.cpp
index fb5e162bc61..6e3d8d8608d 100644
--- a/src/mame/drivers/niyanpai.cpp
+++ b/src/mame/drivers/niyanpai.cpp
@@ -71,7 +71,7 @@ READ16_MEMBER(niyanpai_state::dipsw_r)
return ((dipsw_a << 8) | dipsw_b);
}
-void niyanpai_state::machine_start_musobana()
+MACHINE_START_MEMBER(niyanpai_state, musobana)
{
save_item(NAME(m_motor_on));
save_item(NAME(m_musobana_inputport));
@@ -728,7 +728,7 @@ MACHINE_CONFIG_START(niyanpai_state::musobana)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(musobana_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_musobana, this));
+ MCFG_MACHINE_START_OVERRIDE(niyanpai_state, musobana)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(niyanpai_state::mhhonban)
diff --git a/src/mame/drivers/nmk16.cpp b/src/mame/drivers/nmk16.cpp
index 8b0816b1916..29447b50129 100644
--- a/src/mame/drivers/nmk16.cpp
+++ b/src/mame/drivers/nmk16.cpp
@@ -3861,7 +3861,7 @@ MACHINE_CONFIG_START(nmk16_state::tharrier)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_tharrier)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macross, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3901,7 +3901,7 @@ MACHINE_CONFIG_START(nmk16_state::mustang)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macross, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3944,7 +3944,7 @@ MACHINE_CONFIG_START(nmk16_state::mustangb)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macross, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3982,7 +3982,7 @@ MACHINE_CONFIG_START(nmk16_state::bioship)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_bioship, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,bioship)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4022,7 +4022,7 @@ MACHINE_CONFIG_START(nmk16_state::vandyke)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macross, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4065,7 +4065,7 @@ MACHINE_CONFIG_START(nmk16_state::vandykeb)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macross, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4091,7 +4091,7 @@ MACHINE_CONFIG_START(nmk16_state::acrobatm)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macross, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4135,7 +4135,7 @@ MACHINE_CONFIG_START(nmk16_state::tdragonb) /* bootleg using Raiden sound har
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macross, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4170,7 +4170,7 @@ MACHINE_CONFIG_START(nmk16_state::tdragon)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macross, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4218,7 +4218,7 @@ MACHINE_CONFIG_START(nmk16_state::ssmissin)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macross, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4247,7 +4247,7 @@ MACHINE_CONFIG_START(nmk16_state::strahl)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_strahl, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,strahl)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4287,7 +4287,7 @@ MACHINE_CONFIG_START(nmk16_state::hachamf)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macross, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4333,7 +4333,7 @@ MACHINE_CONFIG_START(nmk16_state::macross)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macross, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4373,7 +4373,7 @@ MACHINE_CONFIG_START(nmk16_state::blkheart)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macross, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4412,7 +4412,7 @@ MACHINE_CONFIG_START(nmk16_state::gunnail)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_gunnail, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,gunnail)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4456,7 +4456,7 @@ MACHINE_CONFIG_START(nmk16_state::macross2)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macross2, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4502,7 +4502,7 @@ MACHINE_CONFIG_START(nmk16_state::tdragon2)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macross2, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4555,7 +4555,7 @@ MACHINE_CONFIG_START(nmk16_state::raphero)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_raphero, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,raphero)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4597,7 +4597,7 @@ MACHINE_CONFIG_START(nmk16_state::bjtwin)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_bjtwin, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,bjtwin)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4659,7 +4659,7 @@ MACHINE_CONFIG_START(nmk16_state::manybloc)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macross, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -5171,7 +5171,7 @@ MACHINE_CONFIG_START(nmk16_state::stagger1)
MCFG_PALETTE_ADD("palette", 768)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_afega, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,afega)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -5216,7 +5216,7 @@ MACHINE_CONFIG_START(nmk16_state::grdnstrm)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_grdnstrm)
- set_video_start_cb(config, driver_callback_delegate(&video_start_firehawk, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,firehawk)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(nmk16_state, screen_update_firehawk)
MACHINE_CONFIG_END
@@ -5230,7 +5230,7 @@ MACHINE_CONFIG_START(nmk16_state::grdnstrmk) /* Side by side with PCB, the music
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE(57) /* Side by side with PCB, MAME is too fast at 56 */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_grdnstrm)
- set_video_start_cb(config, driver_callback_delegate(&video_start_grdnstrm, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,grdnstrm)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(nmk16_state::popspops)
@@ -5262,7 +5262,7 @@ MACHINE_CONFIG_START(nmk16_state::firehawk)
MCFG_PALETTE_ADD("palette", 768)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_firehawk, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,firehawk)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -5303,7 +5303,7 @@ MACHINE_CONFIG_START(nmk16_state::twinactn)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_macross, this));
+ MCFG_VIDEO_START_OVERRIDE(nmk16_state,macross)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/nova2001.cpp b/src/mame/drivers/nova2001.cpp
index 73a9ea0463e..3108cc31c94 100644
--- a/src/mame/drivers/nova2001.cpp
+++ b/src/mame/drivers/nova2001.cpp
@@ -166,7 +166,7 @@ WRITE8_MEMBER(nova2001_state::ninjakun_cpu2_io_A002_w)
*
*************************************/
-void nova2001_state::machine_start_ninjakun()
+MACHINE_START_MEMBER(nova2001_state,ninjakun)
{
/* Save State Stuff */
save_item(NAME(m_ninjakun_io_a002_ctrl));
@@ -668,7 +668,7 @@ MACHINE_CONFIG_START(nova2001_state::nova2001)
MCFG_PALETTE_FORMAT_CLASS(1, nova2001_state, BBGGRRII)
MCFG_PALETTE_INIT_OWNER(nova2001_state,nova2001)
- set_video_start_cb(config, driver_callback_delegate(&video_start_nova2001, this));
+ MCFG_VIDEO_START_OVERRIDE(nova2001_state,nova2001)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -697,7 +697,7 @@ MACHINE_CONFIG_START(nova2001_state::ninjakun)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ninjakun, this));
+ MCFG_MACHINE_START_OVERRIDE(nova2001_state,ninjakun)
/* video hardware */
@@ -712,7 +712,7 @@ MACHINE_CONFIG_START(nova2001_state::ninjakun)
MCFG_PALETTE_ADD("palette", 768)
MCFG_PALETTE_FORMAT_CLASS(1, nova2001_state, BBGGRRII)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ninjakun, this));
+ MCFG_VIDEO_START_OVERRIDE(nova2001_state,ninjakun)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -749,7 +749,7 @@ MACHINE_CONFIG_START(nova2001_state::pkunwar)
MCFG_PALETTE_FORMAT_CLASS(1, nova2001_state, BBGGRRII)
MCFG_PALETTE_INIT_OWNER(nova2001_state,nova2001)
- set_video_start_cb(config, driver_callback_delegate(&video_start_pkunwar, this));
+ MCFG_VIDEO_START_OVERRIDE(nova2001_state,pkunwar)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -791,7 +791,7 @@ MACHINE_CONFIG_START(nova2001_state::raiders5)
MCFG_PALETTE_ADD("palette", 768)
MCFG_PALETTE_FORMAT_CLASS(1, nova2001_state, BBGGRRII)
- set_video_start_cb(config, driver_callback_delegate(&video_start_raiders5, this));
+ MCFG_VIDEO_START_OVERRIDE(nova2001_state,raiders5)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/novag6502.cpp b/src/mame/drivers/novag6502.cpp
index 1b7bd140808..3e108d567bf 100644
--- a/src/mame/drivers/novag6502.cpp
+++ b/src/mame/drivers/novag6502.cpp
@@ -110,7 +110,7 @@ public:
DECLARE_WRITE8_MEMBER(sexpert_lcd_data_w);
DECLARE_READ8_MEMBER(sexpert_input1_r);
DECLARE_READ8_MEMBER(sexpert_input2_r);
- void machine_reset_sexpert();
+ DECLARE_MACHINE_RESET(sexpert);
void init_sexpert();
DECLARE_INPUT_CHANGED_MEMBER(sexpert_cpu_freq);
void sexpert_map(address_map &map);
@@ -453,7 +453,7 @@ void novag6502_state::sexpert_set_cpu_freq()
m_maincpu->set_unscaled_clock((ioport("FAKE")->read() & 1) ? (12_MHz_XTAL/2) : (10_MHz_XTAL/2));
}
-void novag6502_state::machine_reset_sexpert()
+MACHINE_RESET_MEMBER(novag6502_state, sexpert)
{
novagbase_state::machine_reset();
@@ -928,7 +928,7 @@ MACHINE_CONFIG_START(novag6502_state::sexpert)
MCFG_NVRAM_ADD_1FILL("nvram")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sexpert, this));
+ MCFG_MACHINE_RESET_OVERRIDE(novag6502_state, sexpert)
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
diff --git a/src/mame/drivers/novagmcs48.cpp b/src/mame/drivers/novagmcs48.cpp
index 8df3ec97df6..e9a0d19c22c 100644
--- a/src/mame/drivers/novagmcs48.cpp
+++ b/src/mame/drivers/novagmcs48.cpp
@@ -49,7 +49,7 @@ public:
DECLARE_WRITE8_MEMBER(presto_mux_w);
DECLARE_WRITE8_MEMBER(presto_control_w);
DECLARE_READ8_MEMBER(presto_input_r);
- void machine_reset_octo();
+ DECLARE_MACHINE_RESET(octo);
DECLARE_INPUT_CHANGED_MEMBER(octo_cpu_freq);
void octo_set_cpu_freq();
void presto(machine_config &config);
@@ -98,7 +98,7 @@ void novagmcs48_state::octo_set_cpu_freq()
m_maincpu->set_unscaled_clock((ioport("FAKE")->read() & 1) ? (15000000) : (12000000));
}
-void novagmcs48_state::machine_reset_octo()
+MACHINE_RESET_MEMBER(novagmcs48_state, octo)
{
novagbase_state::machine_reset();
octo_set_cpu_freq();
@@ -169,7 +169,7 @@ MACHINE_CONFIG_START(novagmcs48_state::octo)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(12000000) // LC circuit, measured, see octo_set_cpu_freq
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_octo, this));
+ MCFG_MACHINE_RESET_OVERRIDE(novagmcs48_state, octo)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/nycaptor.cpp b/src/mame/drivers/nycaptor.cpp
index 7a2b0ec7c3f..bd6fc1d5de3 100644
--- a/src/mame/drivers/nycaptor.cpp
+++ b/src/mame/drivers/nycaptor.cpp
@@ -723,7 +723,7 @@ void nycaptor_state::machine_start()
void nycaptor_state::machine_reset()
{
-// machine_reset_ta7630();
+// MACHINE_RESET_CALL_MEMBER(ta7630);
m_generic_control_reg = 0;
diff --git a/src/mame/drivers/ojankohs.cpp b/src/mame/drivers/ojankohs.cpp
index 594fb107ba3..ee2dcb778b1 100644
--- a/src/mame/drivers/ojankohs.cpp
+++ b/src/mame/drivers/ojankohs.cpp
@@ -655,7 +655,7 @@ static GFXDECODE_START( gfx_ojankohs )
GFXDECODE_ENTRY( "gfx1", 0, ojankohs_bglayout, 0, 64 )
GFXDECODE_END
-void ojankohs_state::machine_start_common()
+MACHINE_START_MEMBER(ojankohs_state,common)
{
save_item(NAME(m_gfxreg));
save_item(NAME(m_flipscreen));
@@ -669,31 +669,31 @@ void ojankohs_state::machine_start_common()
save_item(NAME(m_vclk_left));
}
-void ojankohs_state::machine_start_ojankohs()
+MACHINE_START_MEMBER(ojankohs_state,ojankohs)
{
uint8_t *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 0x40, &ROM[0x10000], 0x4000);
- machine_start_common();
+ MACHINE_START_CALL_MEMBER(common);
}
-void ojankohs_state::machine_start_ojankoy()
+MACHINE_START_MEMBER(ojankohs_state,ojankoy)
{
uint8_t *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 0x20, &ROM[0x10000], 0x4000);
- machine_start_common();
+ MACHINE_START_CALL_MEMBER(common);
}
-void ojankohs_state::machine_start_ojankoc()
+MACHINE_START_MEMBER(ojankohs_state,ojankoc)
{
uint8_t *ROM = memregion("user1")->base();
membank("bank1")->configure_entries(0, 0x10, &ROM[0x0000], 0x8000);
- machine_start_common();
+ MACHINE_START_CALL_MEMBER(common);
}
void ojankohs_state::machine_reset()
@@ -720,7 +720,7 @@ MACHINE_CONFIG_START(ojankohs_state::ojankohs)
MCFG_DEVICE_IO_MAP(ojankohs_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", ojankohs_state, irq0_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ojankohs, this));
+ MCFG_MACHINE_START_OVERRIDE(ojankohs_state,ojankohs)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -737,7 +737,7 @@ MACHINE_CONFIG_START(ojankohs_state::ojankohs)
MCFG_DEVICE_ADD("gga", VSYSTEM_GGA, XTAL(13'333'000)/2) // divider not verified
- set_video_start_cb(config, driver_callback_delegate(&video_start_ojankohs, this));
+ MCFG_VIDEO_START_OVERRIDE(ojankohs_state,ojankohs)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -761,7 +761,7 @@ MACHINE_CONFIG_START(ojankohs_state::ojankoy)
MCFG_DEVICE_IO_MAP(ojankoy_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", ojankohs_state, irq0_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ojankoy, this));
+ MCFG_MACHINE_START_OVERRIDE(ojankohs_state,ojankoy)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -777,7 +777,7 @@ MACHINE_CONFIG_START(ojankohs_state::ojankoy)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_INIT_OWNER(ojankohs_state,ojankoy)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ojankoy, this));
+ MCFG_VIDEO_START_OVERRIDE(ojankohs_state,ojankoy)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -801,7 +801,7 @@ MACHINE_CONFIG_START(ojankohs_state::ccasino)
MCFG_DEVICE_IO_MAP(ccasino_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", ojankohs_state, irq0_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ojankohs, this));
+ MCFG_MACHINE_START_OVERRIDE(ojankohs_state,ojankohs)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -818,7 +818,7 @@ MACHINE_CONFIG_START(ojankohs_state::ccasino)
MCFG_DEVICE_ADD("gga", VSYSTEM_GGA, XTAL(13'333'000)/2) // divider not verified
- set_video_start_cb(config, driver_callback_delegate(&video_start_ccasino, this));
+ MCFG_VIDEO_START_OVERRIDE(ojankohs_state,ccasino)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -842,7 +842,7 @@ MACHINE_CONFIG_START(ojankohs_state::ojankoc)
MCFG_DEVICE_IO_MAP(ojankoc_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", ojankohs_state, irq0_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ojankoc, this));
+ MCFG_MACHINE_START_OVERRIDE(ojankohs_state,ojankoc)
MCFG_NVRAM_ADD_0FILL("nvram")
/* video hardware */
@@ -856,7 +856,7 @@ MACHINE_CONFIG_START(ojankohs_state::ojankoc)
MCFG_PALETTE_ADD("palette", 16)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ojankoc, this));
+ MCFG_VIDEO_START_OVERRIDE(ojankohs_state,ojankoc)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/onyx.cpp b/src/mame/drivers/onyx.cpp
index 24745565da3..7cb100c5b6e 100644
--- a/src/mame/drivers/onyx.cpp
+++ b/src/mame/drivers/onyx.cpp
@@ -63,7 +63,7 @@ public:
, m_pio2(*this, "pio2")
{ }
- void machine_reset_c8002();
+ DECLARE_MACHINE_RESET(c8002);
void c8002(machine_config &config);
void c5000(machine_config &config);
@@ -86,7 +86,7 @@ static INPUT_PORTS_START( c8002 )
INPUT_PORTS_END
-void onyx_state::machine_reset_c8002()
+MACHINE_RESET_MEMBER(onyx_state, c8002)
{
}
@@ -143,7 +143,7 @@ MACHINE_CONFIG_START(onyx_state::c8002)
//MCFG_Z80_DAISY_CHAIN(sub_daisy_chain)
MCFG_DEVICE_PROGRAM_MAP(submem)
MCFG_DEVICE_IO_MAP(subio)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_c8002, this));
+ MCFG_MACHINE_RESET_OVERRIDE(onyx_state, c8002)
MCFG_DEVICE_ADD("sio1_clock", CLOCK, 307200)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE("sio1", z80sio_device, rxca_w))
@@ -249,7 +249,7 @@ MACHINE_CONFIG_START(onyx_state::c5000)
//MCFG_Z80_DAISY_CHAIN(sub_daisy_chain)
MCFG_DEVICE_PROGRAM_MAP(c5000_mem)
MCFG_DEVICE_IO_MAP(c5000_io)
- //set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_c8002, this));
+ //MCFG_MACHINE_RESET_OVERRIDE(onyx_state, c8002)
MCFG_DEVICE_ADD("sio1_clock", CLOCK, 614400)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE("sio1", z80sio_device, rxtxcb_w))
diff --git a/src/mame/drivers/opwolf.cpp b/src/mame/drivers/opwolf.cpp
index 3f33b5b2e58..7c4122f9529 100644
--- a/src/mame/drivers/opwolf.cpp
+++ b/src/mame/drivers/opwolf.cpp
@@ -457,7 +457,7 @@ void opwolf_state::machine_start()
save_item(NAME(m_adpcm_end));
}
-void opwolf_state::machine_reset_opwolf()
+MACHINE_RESET_MEMBER(opwolf_state,opwolf)
{
m_adpcm_b[0] = m_adpcm_b[1] = 0;
m_adpcm_c[0] = m_adpcm_c[1] = 0;
@@ -796,7 +796,7 @@ MACHINE_CONFIG_START(opwolf_state::opwolf)
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_opwolf, this));
+ MCFG_MACHINE_RESET_OVERRIDE(opwolf_state,opwolf)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/orion.cpp b/src/mame/drivers/orion.cpp
index ab6a9e8fa5e..16519932b7a 100644
--- a/src/mame/drivers/orion.cpp
+++ b/src/mame/drivers/orion.cpp
@@ -97,8 +97,8 @@ MACHINE_CONFIG_START(orion_state::orion128)
MCFG_DEVICE_PROGRAM_MAP(orion128_mem)
MCFG_DEVICE_IO_MAP(orion128_io)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_orion128, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_orion128, this));
+ MCFG_MACHINE_START_OVERRIDE(orion_state, orion128 )
+ MCFG_MACHINE_RESET_OVERRIDE(orion_state, orion128 )
MCFG_DEVICE_ADD("ppi8255_1", I8255A, 0)
MCFG_I8255_IN_PORTA_CB(READ8(*this, orion_state, orion_romdisk_porta_r))
@@ -123,7 +123,7 @@ MACHINE_CONFIG_START(orion_state::orion128)
MCFG_PALETTE_ADD("palette", 18)
MCFG_PALETTE_INIT_OWNER(orion_state, orion128 )
- set_video_start_cb(config, driver_callback_delegate(&video_start_orion128, this));
+ MCFG_VIDEO_START_OVERRIDE(orion_state,orion128)
SPEAKER(config, "mono").front_center();
WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25);
@@ -170,8 +170,8 @@ MACHINE_CONFIG_START(orion_state::orionz80)
MCFG_DEVICE_IO_MAP(orionz80_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", orion_state, orionz80_interrupt)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_orionz80, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_orionz80, this));
+ MCFG_MACHINE_START_OVERRIDE(orion_state, orionz80 )
+ MCFG_MACHINE_RESET_OVERRIDE(orion_state, orionz80 )
MCFG_DEVICE_ADD("ppi8255_1", I8255A, 0)
MCFG_I8255_IN_PORTA_CB(READ8(*this, orion_state, orion_romdisk_porta_r))
@@ -196,7 +196,7 @@ MACHINE_CONFIG_START(orion_state::orionz80)
MCFG_PALETTE_ADD("palette", 18)
MCFG_PALETTE_INIT_OWNER(orion_state, orion128 )
- set_video_start_cb(config, driver_callback_delegate(&video_start_orion128, this));
+ MCFG_VIDEO_START_OVERRIDE(orion_state,orion128)
MCFG_MC146818_ADD( "rtc", XTAL(4'194'304) )
@@ -247,7 +247,7 @@ MACHINE_CONFIG_START(orion_state::orionpro)
MCFG_DEVICE_PROGRAM_MAP(orionpro_mem)
MCFG_DEVICE_IO_MAP(orionpro_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_orionpro, this));
+ MCFG_MACHINE_RESET_OVERRIDE(orion_state, orionpro )
MCFG_DEVICE_ADD("ppi8255_1", I8255A, 0)
MCFG_I8255_IN_PORTA_CB(READ8(*this, orion_state, orion_romdisk_porta_r))
@@ -272,7 +272,7 @@ MACHINE_CONFIG_START(orion_state::orionpro)
MCFG_PALETTE_ADD("palette", 18)
MCFG_PALETTE_INIT_OWNER(orion_state, orion128 )
- set_video_start_cb(config, driver_callback_delegate(&video_start_orion128, this));
+ MCFG_VIDEO_START_OVERRIDE(orion_state,orion128)
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 1.0);
diff --git a/src/mame/drivers/p8k.cpp b/src/mame/drivers/p8k.cpp
index 940b902cbfd..79d0deef044 100644
--- a/src/mame/drivers/p8k.cpp
+++ b/src/mame/drivers/p8k.cpp
@@ -94,7 +94,7 @@ public:
DECLARE_READ8_MEMBER(p8k_port0_r);
DECLARE_WRITE8_MEMBER(p8k_port0_w);
void init_p8k();
- void machine_reset_p8k();
+ DECLARE_MACHINE_RESET(p8k);
DECLARE_WRITE_LINE_MEMBER(fdc_irq);
DECLARE_WRITE_LINE_MEMBER(p8k_daisy_interrupt);
@@ -274,7 +274,7 @@ static INPUT_PORTS_START( p8k )
INPUT_PORTS_END
-void p8k_state::machine_reset_p8k()
+MACHINE_RESET_MEMBER(p8k_state,p8k)
{
membank("bank0")->set_entry(0);
membank("bank1")->set_entry(0);
@@ -418,7 +418,7 @@ MACHINE_CONFIG_START(p8k_state::p8k)
MCFG_Z80_DAISY_CHAIN(p8k_daisy_chain)
MCFG_DEVICE_PROGRAM_MAP(p8k_memmap)
MCFG_DEVICE_IO_MAP(p8k_iomap)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_p8k, this));
+ MCFG_MACHINE_RESET_OVERRIDE(p8k_state,p8k)
/* peripheral hardware */
MCFG_DEVICE_ADD("dma", Z80DMA, XTAL(4'000'000))
diff --git a/src/mame/drivers/pacman.cpp b/src/mame/drivers/pacman.cpp
index e8a53bfd676..091fee90b95 100644
--- a/src/mame/drivers/pacman.cpp
+++ b/src/mame/drivers/pacman.cpp
@@ -378,7 +378,7 @@ Boards:
*
*************************************/
-void pacman_state::machine_reset_mschamp()
+MACHINE_RESET_MEMBER(pacman_state,mschamp)
{
uint8_t *rom = memregion("maincpu")->base() + 0x10000;
int whichbank = ioport("GAME")->read() & 1;
@@ -390,12 +390,12 @@ void pacman_state::machine_reset_mschamp()
membank("bank2")->set_entry(whichbank);
}
-void pacman_state::machine_reset_superabc()
+MACHINE_RESET_MEMBER(pacman_state,superabc)
{
superabc_bank_w(m_maincpu->space(AS_PROGRAM), 0, 0);
}
-void pacman_state::machine_reset_maketrax()
+MACHINE_RESET_MEMBER(pacman_state,maketrax)
{
m_maketrax_counter = 0;
m_maketrax_offset = 0;
@@ -3552,7 +3552,7 @@ MACHINE_CONFIG_START(pacman_state::pacman)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, pacman_state, vblank_irq))
- set_video_start_cb(config, driver_callback_delegate(&video_start_pacman, this));
+ MCFG_VIDEO_START_OVERRIDE(pacman_state,pacman)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3564,7 +3564,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(pacman_state::maketrax)
pacman(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_maketrax, this));
+ MCFG_MACHINE_RESET_OVERRIDE(pacman_state,maketrax)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pacman_state::korosuke)
@@ -3597,7 +3597,7 @@ MACHINE_CONFIG_START(pacman_state::birdiy)
//MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(WRITELINE(*this, pacman_state, coin_lockout_global_w))
MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(WRITELINE(*this, pacman_state, coin_counter_w))
- set_video_start_cb(config, driver_callback_delegate(&video_start_birdiy, this));
+ MCFG_VIDEO_START_OVERRIDE(pacman_state,birdiy)
MACHINE_CONFIG_END
@@ -3702,8 +3702,8 @@ MACHINE_CONFIG_START(pacman_state::theglobp)
MCFG_DEVICE_PROGRAM_MAP(epos_map)
MCFG_DEVICE_IO_MAP(epos_portmap)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_theglobp, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_theglobp, this));
+ MCFG_MACHINE_START_OVERRIDE(pacman_state,theglobp)
+ MCFG_MACHINE_RESET_OVERRIDE(pacman_state,theglobp)
MACHINE_CONFIG_END
@@ -3715,8 +3715,8 @@ MACHINE_CONFIG_START(pacman_state::acitya)
MCFG_DEVICE_PROGRAM_MAP(epos_map)
MCFG_DEVICE_IO_MAP(epos_portmap)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_acitya, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_acitya, this));
+ MCFG_MACHINE_START_OVERRIDE(pacman_state,acitya)
+ MCFG_MACHINE_RESET_OVERRIDE(pacman_state,acitya)
MACHINE_CONFIG_END
@@ -3728,8 +3728,8 @@ MACHINE_CONFIG_START(pacman_state::eeekk)
MCFG_DEVICE_PROGRAM_MAP(epos_map)
MCFG_DEVICE_IO_MAP(epos_portmap)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_eeekk, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_eeekk, this));
+ MCFG_MACHINE_START_OVERRIDE(pacman_state,eeekk)
+ MCFG_MACHINE_RESET_OVERRIDE(pacman_state,eeekk)
MACHINE_CONFIG_END
@@ -3805,7 +3805,7 @@ MACHINE_CONFIG_START(pacman_state::s2650games)
MCFG_SCREEN_UPDATE_DRIVER(pacman_state, screen_update_s2650games)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, pacman_state, s2650_interrupt))
- set_video_start_cb(config, driver_callback_delegate(&video_start_s2650games, this));
+ MCFG_VIDEO_START_OVERRIDE(pacman_state,s2650games)
/* sound hardware */
MCFG_DEVICE_REMOVE("namco")
@@ -3862,7 +3862,7 @@ MACHINE_CONFIG_START(pacman_state::mschamp)
MCFG_DEVICE_PROGRAM_MAP(mschamp_map)
MCFG_DEVICE_IO_MAP(mschamp_portmap)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mschamp, this));
+ MCFG_MACHINE_RESET_OVERRIDE(pacman_state,mschamp)
MACHINE_CONFIG_END
@@ -3875,7 +3875,7 @@ MACHINE_CONFIG_START(pacman_state::superabc)
MCFG_NVRAM_ADD_0FILL("28c16.u17")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_superabc, this));
+ MCFG_MACHINE_RESET_OVERRIDE(pacman_state,superabc)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_superabc)
diff --git a/src/mame/drivers/partner.cpp b/src/mame/drivers/partner.cpp
index a31436191a0..b3213d3c8fc 100644
--- a/src/mame/drivers/partner.cpp
+++ b/src/mame/drivers/partner.cpp
@@ -174,7 +174,7 @@ MACHINE_CONFIG_START(partner_state::partner)
MCFG_DEVICE_ADD("maincpu", I8080, XTAL(16'000'000) / 9)
MCFG_DEVICE_PROGRAM_MAP(partner_mem)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_partner, this));
+ MCFG_MACHINE_RESET_OVERRIDE(partner_state, partner )
MCFG_DEVICE_ADD("ppi8255_1", I8255, 0)
MCFG_I8255_OUT_PORTA_CB(WRITE8(*this, radio86_state, radio86_8255_porta_w2))
diff --git a/src/mame/drivers/pasopia7.cpp b/src/mame/drivers/pasopia7.cpp
index b025a5b4628..085775a906a 100644
--- a/src/mame/drivers/pasopia7.cpp
+++ b/src/mame/drivers/pasopia7.cpp
@@ -85,7 +85,7 @@ public:
TIMER_CALLBACK_MEMBER(pio_timer);
void init_p7_lcd();
void init_p7_raster();
- void video_start_pasopia7() ATTR_COLD;
+ DECLARE_VIDEO_START(pasopia7);
DECLARE_PALETTE_INIT(p7_lcd);
uint32_t screen_update_pasopia7(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -152,7 +152,7 @@ TIMER_CALLBACK_MEMBER( pasopia7_state::pio_timer )
m_pio->port_b_write(keyb_r(generic_space(),0,0xff));
}
-void pasopia7_state::video_start_pasopia7()
+VIDEO_START_MEMBER(pasopia7_state,pasopia7)
{
m_p7_pal = std::make_unique<uint8_t[]>(0x10);
}
@@ -978,7 +978,7 @@ MACHINE_CONFIG_START(pasopia7_state::p7_raster)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 32-1)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_pasopia7, this));
+ MCFG_VIDEO_START_OVERRIDE(pasopia7_state,pasopia7)
MCFG_SCREEN_UPDATE_DRIVER(pasopia7_state, screen_update_pasopia7)
MCFG_PALETTE_ADD_3BIT_BRG("palette")
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_pasopia7)
@@ -996,7 +996,7 @@ MACHINE_CONFIG_START(pasopia7_state::p7_lcd)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 200-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_pasopia7, this));
+ MCFG_VIDEO_START_OVERRIDE(pasopia7_state,pasopia7)
MCFG_SCREEN_UPDATE_DRIVER(pasopia7_state, screen_update_pasopia7)
MCFG_SCREEN_PALETTE("palette")
diff --git a/src/mame/drivers/pc6001.cpp b/src/mame/drivers/pc6001.cpp
index d0e57019600..c0a993bc393 100644
--- a/src/mame/drivers/pc6001.cpp
+++ b/src/mame/drivers/pc6001.cpp
@@ -1545,7 +1545,7 @@ MACHINE_CONFIG_START(pc6001mk2_state::pc6001mk2)
MCFG_DEVICE_PROGRAM_MAP(pc6001mk2_map)
MCFG_DEVICE_IO_MAP(pc6001mk2_io)
-// set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pc6001mk2, this));
+// MCFG_MACHINE_RESET_OVERRIDE(pc6001mk2_state,pc6001mk2)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(pc6001mk2_state, screen_update_pc6001mk2)
@@ -1583,7 +1583,7 @@ MACHINE_CONFIG_START(pc6001sr_state::pc6001sr)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pc6001sr_state, sr_vrtc_irq)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(pc6001_state, irq_callback)
-// set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pc6001sr, this));
+// MCFG_MACHINE_RESET_OVERRIDE(pc6001sr_state,pc6001sr)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(pc6001sr_state, screen_update_pc6001sr)
diff --git a/src/mame/drivers/pc8801.cpp b/src/mame/drivers/pc8801.cpp
index d12d068d7e6..429b02c6e02 100644
--- a/src/mame/drivers/pc8801.cpp
+++ b/src/mame/drivers/pc8801.cpp
@@ -488,9 +488,9 @@ protected:
virtual void machine_start() override;
virtual void machine_reset() override;
public:
- void machine_reset_pc8801_clock_speed();
- void machine_reset_pc8801_dic();
- void machine_reset_pc8801_cdrom();
+ DECLARE_MACHINE_RESET(pc8801_clock_speed);
+ DECLARE_MACHINE_RESET(pc8801_dic);
+ DECLARE_MACHINE_RESET(pc8801_cdrom);
INTERRUPT_GEN_MEMBER(pc8801_vrtc_irq);
TIMER_CALLBACK_MEMBER(pc8801fd_upd765_tc_to_zero);
TIMER_DEVICE_CALLBACK_MEMBER(pc8801_rtc_irq);
@@ -548,34 +548,42 @@ void pc8801_state::video_start()
void pc8801_state::draw_bitmap_3bpp(bitmap_ind16 &bitmap,const rectangle &cliprect)
{
- uint32_t count = 0;
- uint16_t y_double = (pc8801_pixel_clock());
- uint16_t y_size = (y_double+1) * 200;
+ int x,y,xi;
+ uint32_t count;
+ uint16_t y_size;
+ uint16_t y_double;
- for (int y = 0; y < y_size; y += (y_double + 1))
+ count = 0;
+
+ y_double = (pc8801_pixel_clock());
+ y_size = (y_double+1) * 200;
+
+ for(y=0;y<y_size;y+=(y_double+1))
{
- for (int x = 0; x < 640; x += 8)
+ for(x=0;x<640;x+=8)
{
- for (int xi = 0; xi < 8; xi++)
+ for(xi=0;xi<8;xi++)
{
- int pen = 0;
+ int pen;
+
+ pen = 0;
/* note: layer masking doesn't occur in 3bpp mode, Bug Attack relies on this */
pen |= ((m_gvram[count+0x0000] >> (7-xi)) & 1) << 0;
pen |= ((m_gvram[count+0x4000] >> (7-xi)) & 1) << 1;
pen |= ((m_gvram[count+0x8000] >> (7-xi)) & 1) << 2;
- if (y_double)
+ if(y_double)
{
- if (cliprect.contains(x+xi, y+0))
+ if(cliprect.contains(x+xi, y+0))
bitmap.pix16(y+0, x+xi) = m_palette->pen(pen & 7);
- if (cliprect.contains(x+xi, y+1))
+ if(cliprect.contains(x+xi, y+1))
bitmap.pix16(y+1, x+xi) = m_palette->pen(pen & 7);
}
else
{
- if (cliprect.contains(x+xi, y+0))
+ if(cliprect.contains(x+xi, y+0))
bitmap.pix16(y, x+xi) = m_palette->pen(pen & 7);
}
}
@@ -587,34 +595,41 @@ void pc8801_state::draw_bitmap_3bpp(bitmap_ind16 &bitmap,const rectangle &clipre
void pc8801_state::draw_bitmap_1bpp(bitmap_ind16 &bitmap,const rectangle &cliprect)
{
- uint32_t count = 0;
- uint8_t color = (m_gfx_ctrl & 1) ? 7 & ((m_layer_mask ^ 0xe) >> 1) : 7;
- uint8_t is_cursor = 0;
+ int x,y,xi;
+ uint32_t count;
+ uint8_t color;
+ uint8_t is_cursor;
- for (int y = 0; y < 200; y++)
+ count = 0;
+ color = (m_gfx_ctrl & 1) ? 7 & ((m_layer_mask ^ 0xe) >> 1) : 7;
+ is_cursor = 0;
+
+ for(y=0;y<200;y++)
{
- for (int x = 0; x < 640; x += 8)
+ for(x=0;x<640;x+=8)
{
- if (!(m_gfx_ctrl & 1))
+ if(!(m_gfx_ctrl & 1))
is_cursor = calc_cursor_pos(x/8,y/lines_per_char,y & (lines_per_char-1));
- for (int xi = 0; xi < 8; xi++)
+ for(xi=0;xi<8;xi++)
{
- int pen = ((m_gvram[count+0x0000] >> (7-xi)) & 1);
- if (is_cursor)
+ int pen;
+
+ pen = ((m_gvram[count+0x0000] >> (7-xi)) & 1);
+ if(is_cursor)
pen^=1;
- if ((m_gfx_ctrl & 1))
+ if((m_gfx_ctrl & 1))
{
- if (cliprect.contains(x+xi, y*2+0))
+ if(cliprect.contains(x+xi, y*2+0))
bitmap.pix16(y*2+0, x+xi) = m_palette->pen(pen ? color : 0);
- if (cliprect.contains(x+xi, y*2+1))
+ if(cliprect.contains(x+xi, y*2+1))
bitmap.pix16(y*2+1, x+xi) = m_palette->pen(pen ? color : 0);
}
else
{
- if (cliprect.contains(x+xi, y))
+ if(cliprect.contains(x+xi, y))
bitmap.pix16(y, x+xi) = m_palette->pen(pen ? color : 0);
}
}
@@ -627,20 +642,22 @@ void pc8801_state::draw_bitmap_1bpp(bitmap_ind16 &bitmap,const rectangle &clipre
{
count = 0;
- for (int y = 200; y < 400; y++)
+ for(y=200;y<400;y++)
{
- for (int x = 0; x < 640; x += 8)
+ for(x=0;x<640;x+=8)
{
- if (!(m_gfx_ctrl & 1))
- is_cursor = calc_cursor_pos(x / 8, y / lines_per_char, y & (lines_per_char - 1));
+ if(!(m_gfx_ctrl & 1))
+ is_cursor = calc_cursor_pos(x/8,y/lines_per_char,y & (lines_per_char-1));
- for (int xi = 0; xi < 8; xi++)
+ for(xi=0;xi<8;xi++)
{
- int pen = ((m_gvram[count+0x4000] >> (7-xi)) & 1);
- if (is_cursor)
+ int pen;
+
+ pen = ((m_gvram[count+0x4000] >> (7-xi)) & 1);
+ if(is_cursor)
pen^=1;
- if (cliprect.contains(x+xi, y))
+ if(cliprect.contains(x+xi, y))
bitmap.pix16(y, x+xi) = m_palette->pen(pen ? 7 : 0);
}
@@ -652,20 +669,20 @@ void pc8801_state::draw_bitmap_1bpp(bitmap_ind16 &bitmap,const rectangle &clipre
uint8_t pc8801_state::calc_cursor_pos(int x,int y,int yi)
{
- if (!(m_crtc.cursor_on)) // don't bother if cursor is off
+ if(!(m_crtc.cursor_on)) // don't bother if cursor is off
return 0;
- if (x == m_crtc.param[4][0] && y == m_crtc.param[4][1]) /* check if position matches */
+ if(x == m_crtc.param[4][0] && y == m_crtc.param[4][1]) /* check if position matches */
{
/* don't pass through if we are using underscore */
- if ((!(m_crtc.param[0][2] & 0x40)) && yi != 7)
+ if((!(m_crtc.param[0][2] & 0x40)) && yi != 7)
return 0;
/* finally check if blinking is currently active high */
- if (!(m_crtc.param[0][2] & 0x20))
+ if(!(m_crtc.param[0][2] & 0x20))
return 1;
- if (((m_screen->frame_number() / blink_speed) & 1) == 0)
+ if(((m_screen->frame_number() / blink_speed) & 1) == 0)
return 1;
return 0;
@@ -679,106 +696,121 @@ uint8_t pc8801_state::calc_cursor_pos(int x,int y,int yi)
uint8_t pc8801_state::extract_text_attribute(uint32_t address,int x, uint8_t width, uint8_t &non_special)
{
uint8_t *vram = m_work_ram.get();
+ int i;
+ int fifo_size;
+ int offset;
non_special = 0;
- if (m_crtc.param[0][4] & 0x80)
+ if(m_crtc.param[0][4] & 0x80)
{
popmessage("Using non-separate mode for text tilemap, contact MESSdev");
return 0;
}
- int fifo_size = (m_crtc.param[0][4] & 0x20) ? 0 : ((m_crtc.param[0][4] & 0x1f) + 1);
+ fifo_size = (m_crtc.param[0][4] & 0x20) ? 0 : ((m_crtc.param[0][4] & 0x1f) + 1);
- if (fifo_size == 0)
+ if(fifo_size == 0)
{
non_special = 1;
return (text_color_flag) ? 0xe8 : 0;
}
/* TODO: correct or hack-ish? Certainly having 0 as a attribute X is weird in any case. */
- int offset = (vram[address] == 0) ? 2 : 0;
+ offset = (vram[address] == 0) ? 2 : 0;
- for (int i = 0; i < fifo_size; i++)
+ for(i=0;i<fifo_size;i++)
{
- if (x < vram[address+offset])
+ if(x < vram[address+offset])
{
return vram[address+1];
}
else
- {
- address += 2;
- }
+ address+=2;
}
- return vram[address - 3 + offset];
+ return vram[address-3+offset];
}
void pc8801_state::pc8801_draw_char(bitmap_ind16 &bitmap,int x,int y,int pal,uint8_t gfx_mode,uint8_t reverse,uint8_t secret,uint8_t blink,uint8_t upper,uint8_t lower,int y_size,int width, uint8_t non_special)
{
+ int xi,yi;
uint8_t *vram = m_work_ram.get();
- uint8_t y_height = lines_per_char;
- uint8_t y_double = (pc8801_pixel_clock());
- uint8_t y_step = (non_special) ? 80 : 120; // trusted by Elthlead
- uint8_t is_cursor = 0;
+ uint8_t is_cursor;
+ uint8_t y_height, y_double;
+ uint8_t y_step;
- for (int yi = 0; yi < y_height; yi++)
+ y_height = lines_per_char;
+ y_double = (pc8801_pixel_clock());
+ y_step = (non_special) ? 80 : 120; // trusted by Elthlead
+ is_cursor = 0;
+
+ for(yi=0;yi<y_height;yi++)
{
- if (m_gfx_ctrl & 1)
+ if(m_gfx_ctrl & 1)
is_cursor = calc_cursor_pos(x,y,yi);
- for (int xi = 0; xi < 8; xi++)
+ for(xi=0;xi<8;xi++)
{
- int tile = vram[x+(y*y_step)+m_dma_address[2]];
+ int res_x,res_y;
+ int tile;
+ int color;
- int res_x = x*8+xi*(width+1);
- int res_y = y*y_height+yi;
+ {
+ tile = vram[x+(y*y_step)+m_dma_address[2]];
- if (!m_screen->visible_area().contains(res_x, res_y))
- continue;
+ res_x = x*8+xi*(width+1);
+ res_y = y*y_height+yi;
- int color;
- if (gfx_mode)
- {
- uint8_t mask = (xi & 4) ? 0x10 : 0x01;
- mask <<= ((yi & (0x6 << y_double)) >> (1 + y_double));
- color = (tile & mask) ? pal : -1;
- }
- else
- {
- uint8_t blink_mask = 0;
- if (blink && ((m_screen->frame_number() / blink_speed) & 3) == 1)
- blink_mask = 1;
+ if(!m_screen->visible_area().contains(res_x, res_y))
+ continue;
- uint8_t char_data;
- if (yi >= (1 << (y_double+3)) || secret || blink_mask)
- char_data = 0;
+ if(gfx_mode)
+ {
+ uint8_t mask;
+
+ mask = (xi & 4) ? 0x10 : 0x01;
+ mask <<= ((yi & (0x6 << y_double)) >> (1+y_double));
+ color = (tile & mask) ? pal : -1;
+ }
else
- char_data = (m_cg_rom[tile * 8 + (yi >> y_double)] >> (7 - xi)) & 1;
+ {
+ uint8_t char_data;
+ uint8_t blink_mask;
- if (yi == 0 && upper)
- char_data = 1;
+ blink_mask = 0;
+ if(blink && ((m_screen->frame_number() / blink_speed) & 3) == 1)
+ blink_mask = 1;
- if (yi == y_height && lower)
- char_data = 1;
+ if(yi >= (1 << (y_double+3)) || secret || blink_mask)
+ char_data = 0;
+ else
+ char_data = (m_cg_rom[tile*8+(yi >> y_double)] >> (7-xi)) & 1;
- if (is_cursor)
- char_data ^= 1;
+ if(yi == 0 && upper)
+ char_data = 1;
- if (reverse)
- char_data ^= 1;
+ if(yi == y_height && lower)
+ char_data = 1;
- color = char_data ? pal : -1;
- }
+ if(is_cursor)
+ char_data^=1;
- if (color != -1)
- {
- bitmap.pix16(res_y, res_x) = m_palette->pen(color);
- if (width)
- {
- if (!m_screen->visible_area().contains(res_x + 1, res_y))
- continue;
+ if(reverse)
+ char_data^=1;
+
+ color = char_data ? pal : -1;
+ }
- bitmap.pix16(res_y, res_x + 1) = m_palette->pen(color);
+ if(color != -1)
+ {
+ bitmap.pix16(res_y, res_x) = m_palette->pen(color);
+ if(width)
+ {
+ if(!m_screen->visible_area().contains(res_x+1, res_y))
+ continue;
+
+ bitmap.pix16(res_y, res_x+1) = m_palette->pen(color);
+ }
}
}
}
@@ -787,19 +819,27 @@ void pc8801_state::pc8801_draw_char(bitmap_ind16 &bitmap,int x,int y,int pal,uin
void pc8801_state::draw_text(bitmap_ind16 &bitmap,int y_size, uint8_t width)
{
- for (int y = 0; y < y_size; y++)
+ int x,y;
+ uint8_t attr;
+ uint8_t reverse;
+ uint8_t gfx_mode;
+ uint8_t secret;
+ uint8_t upper;
+ uint8_t lower;
+ uint8_t blink;
+ int pal;
+ uint8_t non_special;
+
+ for(y=0;y<y_size;y++)
{
- for (int x = 0; x < 80; x++)
+ for(x=0;x<80;x++)
{
- if (x & 1 && !width)
+ if(x & 1 && !width)
continue;
- uint8_t non_special;
- uint8_t attr = extract_text_attribute((((y * 120) + 80 + m_dma_address[2]) & 0xffff), x, width, non_special);
+ attr = extract_text_attribute((((y*120)+80+m_dma_address[2]) & 0xffff),(x),width,non_special);
- int pal;
- uint8_t gfx_mode, reverse, secret, upper, lower, blink;
- if (text_color_flag && (attr & 8)) // color mode
+ if(text_color_flag && (attr & 8)) // color mode
{
pal = ((attr & 0xe0) >> 5);
gfx_mode = (attr & 0x10) >> 4;
@@ -822,11 +862,12 @@ void pc8801_state::draw_text(bitmap_ind16 &bitmap,int y_size, uint8_t width)
pal|=8; //text pal bank
reverse ^= m_crtc.inverse;
- if (attr & 0x80)
+ if(attr & 0x80)
popmessage("Warning: mono gfx mode enabled, contact MESSdev");
+
}
- pc8801_draw_char(bitmap, x, y, pal, gfx_mode, reverse, secret, blink, upper, lower, y_size, !width, non_special);
+ pc8801_draw_char(bitmap,x,y,pal,gfx_mode,reverse,secret,blink,upper,lower,y_size,!width,non_special);
}
}
}
@@ -837,9 +878,9 @@ uint32_t pc8801_state::screen_update( screen_device &screen, bitmap_ind16 &bitma
// popmessage("%04x %04x %02x",m_dma_address[2],m_dma_counter[2],m_dmac_mode);
- if (m_gfx_ctrl & 8)
+ if(m_gfx_ctrl & 8)
{
- if (m_gfx_ctrl & 0x10)
+ if(m_gfx_ctrl & 0x10)
draw_bitmap_3bpp(bitmap,cliprect);
else
draw_bitmap_1bpp(bitmap,cliprect);
@@ -847,7 +888,7 @@ uint32_t pc8801_state::screen_update( screen_device &screen, bitmap_ind16 &bitma
//popmessage("%02x %02x %02x %02x %02x",state->m_layer_mask,state->m_dmac_mode,state->m_crtc.status,state->m_crtc.irq_mask,state->m_gfx_ctrl);
- if (!(m_layer_mask & 1) && m_dmac_mode & 4 && m_crtc.status & 0x10 && m_crtc.irq_mask == 3)
+ if(!(m_layer_mask & 1) && m_dmac_mode & 4 && m_crtc.status & 0x10 && m_crtc.irq_mask == 3)
{
//popmessage("%02x %02x",m_crtc.param[0][0],m_crtc.param[0][4]);
@@ -859,31 +900,38 @@ uint32_t pc8801_state::screen_update( screen_device &screen, bitmap_ind16 &bitma
READ8_MEMBER(pc8801_state::pc8801_alu_r)
{
+ int i;
+ uint8_t b,r,g;
+
/* store data to ALU regs */
- for (int i = 0; i < 3; i++)
+ for(i=0;i<3;i++)
m_alu_reg[i] = m_gvram[i*0x4000 + offset];
- uint8_t b = m_gvram[offset + 0x0000];
- uint8_t r = m_gvram[offset + 0x4000];
- uint8_t g = m_gvram[offset + 0x8000];
- if (!(m_alu_ctrl2 & 1)) { b^=0xff; }
- if (!(m_alu_ctrl2 & 2)) { r^=0xff; }
- if (!(m_alu_ctrl2 & 4)) { g^=0xff; }
+ b = m_gvram[offset + 0x0000];
+ r = m_gvram[offset + 0x4000];
+ g = m_gvram[offset + 0x8000];
+ if(!(m_alu_ctrl2 & 1)) { b^=0xff; }
+ if(!(m_alu_ctrl2 & 2)) { r^=0xff; }
+ if(!(m_alu_ctrl2 & 4)) { g^=0xff; }
return b & r & g;
}
WRITE8_MEMBER(pc8801_state::pc8801_alu_w)
{
- switch (m_alu_ctrl2 & 0x30) // alu write mode
+ int i;
+
+ switch(m_alu_ctrl2 & 0x30) // alu write mode
{
case 0x00: //logic operation
{
- for (int i = 0; i < 3; i++)
+ uint8_t logic_op;
+
+ for(i=0;i<3;i++)
{
- uint8_t logic_op = (m_alu_ctrl1 & (0x11 << i)) >> i;
+ logic_op = (m_alu_ctrl1 & (0x11 << i)) >> i;
- switch (logic_op)
+ switch(logic_op)
{
case 0x00: { m_gvram[i*0x4000 + offset] &= ~data; } break;
case 0x01: { m_gvram[i*0x4000 + offset] |= data; } break;
@@ -896,7 +944,7 @@ WRITE8_MEMBER(pc8801_state::pc8801_alu_w)
case 0x10: // restore data from ALU regs
{
- for (int i = 0; i < 3; i++)
+ for(i=0;i<3;i++)
m_gvram[i*0x4000 + offset] = m_alu_reg[i];
}
break;
@@ -924,7 +972,7 @@ WRITE8_MEMBER(pc8801_state::pc8801_wram_w)
READ8_MEMBER(pc8801_state::pc8801_ext_wram_r)
{
- if (offset < m_extram_size)
+ if(offset < m_extram_size)
return m_ext_work_ram[offset];
return 0xff;
@@ -932,7 +980,7 @@ READ8_MEMBER(pc8801_state::pc8801_ext_wram_r)
WRITE8_MEMBER(pc8801_state::pc8801_ext_wram_w)
{
- if (offset < m_extram_size)
+ if(offset < m_extram_size)
m_ext_work_ram[offset] = data;
}
@@ -982,67 +1030,69 @@ READ8_MEMBER(pc8801_state::pc8801_cdbios_rom_r)
READ8_MEMBER(pc8801_state::pc8801_mem_r)
{
- if (offset <= 0x7fff)
+ if(offset <= 0x7fff)
{
- if (m_extram_mode & 1)
- return pc8801_ext_wram_r(space, offset | (m_extram_bank * 0x8000));
+ if(m_extram_mode & 1)
+ return pc8801_ext_wram_r(space,offset | (m_extram_bank * 0x8000));
- if (m_gfx_ctrl & 2)
- return pc8801_wram_r(space, offset);
+ if(m_gfx_ctrl & 2)
+ return pc8801_wram_r(space,offset);
- if (m_has_cdrom && m_cdrom_reg[9] & 0x10)
- return pc8801_cdbios_rom_r(space, (offset & 0x7fff) | ((m_gfx_ctrl & 4) ? 0x8000 : 0x0000));
+ if(m_has_cdrom && m_cdrom_reg[9] & 0x10)
+ return pc8801_cdbios_rom_r(space,(offset & 0x7fff) | ((m_gfx_ctrl & 4) ? 0x8000 : 0x0000));
- if (m_gfx_ctrl & 4)
- return pc8801_nbasic_rom_r(space, offset);
+ if(m_gfx_ctrl & 4)
+ return pc8801_nbasic_rom_r(space,offset);
- if (offset >= 0x6000 && offset <= 0x7fff && ((m_ext_rom_bank & 1) == 0))
- return pc8801_n88basic_rom_r(space, 0x8000 + (offset & 0x1fff) + (0x2000 * (m_misc_ctrl & 3)));
+ if(offset >= 0x6000 && offset <= 0x7fff && ((m_ext_rom_bank & 1) == 0))
+ return pc8801_n88basic_rom_r(space,0x8000 + (offset & 0x1fff) + (0x2000 * (m_misc_ctrl & 3)));
return pc8801_n88basic_rom_r(space,offset);
}
- else if (offset >= 0x8000 && offset <= 0x83ff) // work RAM window
+ else if(offset >= 0x8000 && offset <= 0x83ff) // work RAM window
{
- if (m_gfx_ctrl & 6) //wram read select or n basic select banks this as normal wram
- return pc8801_wram_r(space, offset);
+ uint32_t window_offset;
+
+ if(m_gfx_ctrl & 6) //wram read select or n basic select banks this as normal wram
+ return pc8801_wram_r(space,offset);
- uint32_t window_offset = (offset & 0x3ff) + (m_window_offset_bank << 8);
+ window_offset = (offset & 0x3ff) + (m_window_offset_bank << 8);
- if (((window_offset & 0xf000) == 0xf000) && (m_misc_ctrl & 0x10))
+ if(((window_offset & 0xf000) == 0xf000) && (m_misc_ctrl & 0x10))
printf("Read from 0xf000 - 0xffff window offset\n"); //accessed by Castle Excellent, no noticeable quirk
- if (((window_offset & 0xf000) == 0xf000) && (m_misc_ctrl & 0x10))
- return pc8801_high_wram_r(space, window_offset & 0xfff);
+ if(((window_offset & 0xf000) == 0xf000) && (m_misc_ctrl & 0x10))
+ return pc8801_high_wram_r(space,window_offset & 0xfff);
- return pc8801_wram_r(space, window_offset);
+ return pc8801_wram_r(space,window_offset);
}
- else if (offset >= 0x8400 && offset <= 0xbfff)
+ else if(offset >= 0x8400 && offset <= 0xbfff)
{
- return pc8801_wram_r(space, offset);
+ return pc8801_wram_r(space,offset);
}
- else if (offset >= 0xc000 && offset <= 0xffff)
+ else if(offset >= 0xc000 && offset <= 0xffff)
{
- if (m_has_dictionary && m_dic_ctrl)
- return pc8801ma_dic_r(space, (offset & 0x3fff) + ((m_dic_bank & 0x1f) * 0x4000));
+ if(m_has_dictionary && m_dic_ctrl)
+ return pc8801ma_dic_r(space,(offset & 0x3fff) + ((m_dic_bank & 0x1f) * 0x4000));
- if (m_misc_ctrl & 0x40)
+ if(m_misc_ctrl & 0x40)
{
- if (!machine().side_effects_disabled())
+ if(!machine().side_effects_disabled())
m_vram_sel = 3;
- if (m_alu_ctrl2 & 0x80)
- return pc8801_alu_r(space, offset & 0x3fff);
+ if(m_alu_ctrl2 & 0x80)
+ return pc8801_alu_r(space,offset & 0x3fff);
}
- if (m_vram_sel == 3)
+ if(m_vram_sel == 3)
{
- if (offset >= 0xf000 && offset <= 0xffff && (m_misc_ctrl & 0x10))
- return pc8801_high_wram_r(space, offset & 0xfff);
+ if(offset >= 0xf000 && offset <= 0xffff && (m_misc_ctrl & 0x10))
+ return pc8801_high_wram_r(space,offset & 0xfff);
- return pc8801_wram_r(space, offset);
+ return pc8801_wram_r(space,offset);
}
- return pc8801_gvram_r(space, (offset & 0x3fff) + (0x4000 * m_vram_sel));
+ return pc8801_gvram_r(space,(offset & 0x3fff) + (0x4000 * m_vram_sel));
}
return 0xff;
@@ -1050,66 +1100,68 @@ READ8_MEMBER(pc8801_state::pc8801_mem_r)
WRITE8_MEMBER(pc8801_state::pc8801_mem_w)
{
- if (offset <= 0x7fff)
+ if(offset <= 0x7fff)
{
- if (m_extram_mode & 0x10)
- pc8801_ext_wram_w(space, offset | (m_extram_bank * 0x8000), data);
+ if(m_extram_mode & 0x10)
+ pc8801_ext_wram_w(space,offset | (m_extram_bank * 0x8000),data);
else
- pc8801_wram_w(space, offset, data);
+ pc8801_wram_w(space,offset,data);
return;
}
- else if (offset >= 0x8000 && offset <= 0x83ff)
+ else if(offset >= 0x8000 && offset <= 0x83ff)
{
- if (m_gfx_ctrl & 6) //wram read select or n basic select banks this as normal wram
- pc8801_wram_w(space, offset, data);
+ if(m_gfx_ctrl & 6) //wram read select or n basic select banks this as normal wram
+ pc8801_wram_w(space,offset,data);
else
{
- uint32_t window_offset = (offset & 0x3ff) + (m_window_offset_bank << 8);
+ uint32_t window_offset;
+
+ window_offset = (offset & 0x3ff) + (m_window_offset_bank << 8);
- if (((window_offset & 0xf000) == 0xf000) && (m_misc_ctrl & 0x10))
+ if(((window_offset & 0xf000) == 0xf000) && (m_misc_ctrl & 0x10))
printf("Write to 0xf000 - 0xffff window offset\n"); //accessed by Castle Excellent, no noticeable quirk
- if (((window_offset & 0xf000) == 0xf000) && (m_misc_ctrl & 0x10))
- pc8801_high_wram_w(space, window_offset & 0xfff, data);
+ if(((window_offset & 0xf000) == 0xf000) && (m_misc_ctrl & 0x10))
+ pc8801_high_wram_w(space,window_offset & 0xfff,data);
else
- pc8801_wram_w(space, window_offset, data);
+ pc8801_wram_w(space,window_offset,data);
}
return;
}
- else if (offset >= 0x8400 && offset <= 0xbfff)
+ else if(offset >= 0x8400 && offset <= 0xbfff)
{
- pc8801_wram_w(space, offset, data);
+ pc8801_wram_w(space,offset,data);
return;
}
- else if (offset >= 0xc000 && offset <= 0xffff)
+ else if(offset >= 0xc000 && offset <= 0xffff)
{
- if (m_misc_ctrl & 0x40)
+ if(m_misc_ctrl & 0x40)
{
- if (!machine().side_effects_disabled())
+ if(!machine().side_effects_disabled())
m_vram_sel = 3;
- if (m_alu_ctrl2 & 0x80)
+ if(m_alu_ctrl2 & 0x80)
{
- pc8801_alu_w(space, offset & 0x3fff, data);
+ pc8801_alu_w(space,offset & 0x3fff,data);
return;
}
}
- if (m_vram_sel == 3)
+ if(m_vram_sel == 3)
{
- if (offset >= 0xf000 && offset <= 0xffff && (m_misc_ctrl & 0x10))
+ if(offset >= 0xf000 && offset <= 0xffff && (m_misc_ctrl & 0x10))
{
- pc8801_high_wram_w(space, offset & 0xfff, data);
+ pc8801_high_wram_w(space,offset & 0xfff,data);
return;
}
- pc8801_wram_w(space, offset, data);
+ pc8801_wram_w(space,offset,data);
return;
}
- pc8801_gvram_w(space, (offset & 0x3fff) + (0x4000 * m_vram_sel), data);
+ pc8801_gvram_w(space,(offset & 0x3fff) + (0x4000 * m_vram_sel),data);
return;
}
}
@@ -1149,23 +1201,23 @@ WRITE8_MEMBER(pc8801_state::pc8801_ctrl_w)
m_rtc->stb_w((data & 2) >> 1);
m_rtc->clk_w((data & 4) >> 2);
- if (((m_device_ctrl_data & 0x20) == 0x00) && ((data & 0x20) == 0x20))
+ if(((m_device_ctrl_data & 0x20) == 0x00) && ((data & 0x20) == 0x20))
m_beeper->set_state(1);
- if (((m_device_ctrl_data & 0x20) == 0x20) && ((data & 0x20) == 0x00))
+ if(((m_device_ctrl_data & 0x20) == 0x20) && ((data & 0x20) == 0x00))
m_beeper->set_state(0);
- if ((m_device_ctrl_data & 0x40) != (data & 0x40))
+ if((m_device_ctrl_data & 0x40) != (data & 0x40))
{
attotime new_time = machine().time();
- if (m_mouse.phase == 0)
+ if(m_mouse.phase == 0)
{
m_mouse.x = ioport("MOUSEX")->read();
m_mouse.y = ioport("MOUSEY")->read();
}
- if (data & 0x40 && (new_time - m_mouse.time) > attotime::from_hz(900))
+ if(data & 0x40 && (new_time - m_mouse.time) > attotime::from_hz(900))
{
m_mouse.phase = 0;
}
@@ -1179,7 +1231,7 @@ WRITE8_MEMBER(pc8801_state::pc8801_ctrl_w)
}
/* TODO: is SING a buzzer mask? Bastard Special relies on this ... */
- if (m_device_ctrl_data & 0x80)
+ if(m_device_ctrl_data & 0x80)
m_beeper->set_state(0);
m_device_ctrl_data = data;
@@ -1205,21 +1257,22 @@ uint8_t pc8801_state::pc8801_pixel_clock(void)
void pc8801_state::pc8801_dynamic_res_change(void)
{
rectangle visarea;
+ int xsize,ysize,xvis,yvis;
attoseconds_t refresh;;
/* bail out if screen params aren't valid */
- if (!m_crtc.param[0][0] || !m_crtc.param[0][1] || !m_crtc.param[0][2] || !m_crtc.param[0][3])
+ if(!m_crtc.param[0][0] || !m_crtc.param[0][1] || !m_crtc.param[0][2] || !m_crtc.param[0][3])
return;
- int xvis = screen_width;
- int yvis = screen_height * lines_per_char;
- int xsize = screen_width + hretrace;
- int ysize = screen_height * lines_per_char + vretrace * lines_per_char;
+ xvis = screen_width;
+ yvis = screen_height * lines_per_char;
+ xsize = screen_width + hretrace;
+ ysize = screen_height * lines_per_char + vretrace * lines_per_char;
// popmessage("H %d V %d (%d x %d) HR %d VR %d (%d %d)\n",xvis,yvis,screen_height,lines_per_char,hretrace,vretrace, xsize,ysize);
visarea.set(0, xvis - 1, 0, yvis - 1);
- if (pc8801_pixel_clock())
+ if(pc8801_pixel_clock())
refresh = HZ_TO_ATTOSECONDS(PIXEL_CLOCK_24KHz) * (xsize) * ysize;
else
refresh = HZ_TO_ATTOSECONDS(PIXEL_CLOCK_15KHz) * (xsize) * ysize;
@@ -1257,7 +1310,7 @@ WRITE8_MEMBER(pc8801_state::pc8801_vram_select_w)
WRITE8_MEMBER(pc8801_state::i8214_irq_level_w)
{
- if (data & 8)
+ if(data & 8)
m_pic->b_w(7);
else
m_pic->b_w(data & 0x07);
@@ -1273,7 +1326,7 @@ WRITE8_MEMBER(pc8801_state::i8214_irq_mask_w)
#else
WRITE8_MEMBER(pc8801_state::pc8801_irq_level_w)
{
- if (data & 8)
+ if(data & 8)
m_i8214_irq_level = 7;
else
m_i8214_irq_level = data & 7;
@@ -1287,13 +1340,13 @@ WRITE8_MEMBER(pc8801_state::pc8801_irq_mask_w)
m_timer_irq_mask = data & 1;
m_vrtc_irq_mask = data & 2;
- if (m_timer_irq_mask == 0)
+ if(m_timer_irq_mask == 0)
m_timer_irq_latch = 0;
- if (m_vrtc_irq_mask == 0)
+ if(m_vrtc_irq_mask == 0)
m_vrtc_irq_latch = 0;
- if (m_timer_irq_latch == 0 && m_vrtc_irq_latch == 0 && m_sound_irq_latch == 0)
+ if(m_timer_irq_latch == 0 && m_vrtc_irq_latch == 0 && m_sound_irq_latch == 0)
m_maincpu->set_input_line(0,CLEAR_LINE);
// IRQ_LOG(("%02x MASK (%02x %02x)\n",data,m_timer_irq_latch,m_vrtc_irq_latch));
@@ -1338,13 +1391,13 @@ WRITE8_MEMBER(pc8801_state::pc8801_misc_ctrl_w)
#else
m_sound_irq_mask = ((data & 0x80) == 0);
- if (m_sound_irq_mask == 0)
+ if(m_sound_irq_mask == 0)
m_sound_irq_latch = 0;
- if (m_timer_irq_latch == 0 && m_vrtc_irq_latch == 0 && m_sound_irq_latch == 0)
+ if(m_timer_irq_latch == 0 && m_vrtc_irq_latch == 0 && m_sound_irq_latch == 0)
m_maincpu->set_input_line(0,CLEAR_LINE);
- if (m_sound_irq_mask && m_sound_irq_pending)
+ if(m_sound_irq_mask && m_sound_irq_pending)
{
m_maincpu->set_input_line(0,HOLD_LINE);
m_sound_irq_latch = 1;
@@ -1362,9 +1415,9 @@ WRITE8_MEMBER(pc8801_state::pc8801_bgpal_w)
WRITE8_MEMBER(pc8801_state::pc8801_palram_w)
{
- if (m_misc_ctrl & 0x20) //analog palette
+ if(m_misc_ctrl & 0x20) //analog palette
{
- if ((data & 0x40) == 0)
+ if((data & 0x40) == 0)
{
m_palram[offset].b = data & 0x7;
m_palram[offset].r = (data & 0x38) >> 3;
@@ -1404,10 +1457,10 @@ READ8_MEMBER(pc8801_state::pc8801_crtc_param_r)
WRITE8_MEMBER(pc8801_state::pc88_crtc_param_w)
{
- if (m_crtc.param_count < 5)
+ if(m_crtc.param_count < 5)
{
m_crtc.param[m_crtc.cmd][m_crtc.param_count] = data;
- if (m_crtc.cmd == 0)
+ if(m_crtc.cmd == 0)
pc8801_dynamic_res_change();
m_crtc.param_count++;
@@ -1446,7 +1499,7 @@ WRITE8_MEMBER(pc8801_state::pc88_crtc_cmd_w)
m_crtc.cmd = (data & 0xe0) >> 5;
m_crtc.param_count = 0;
- switch (m_crtc.cmd)
+ switch(m_crtc.cmd)
{
case 0: // reset CRTC
m_crtc.status &= (~0x16);
@@ -1486,7 +1539,7 @@ READ8_MEMBER(pc8801_state::pc8801_dmac_r)
WRITE8_MEMBER(pc8801_state::pc8801_dmac_w)
{
- if (offset & 1)
+ if(offset & 1)
m_dma_counter[offset >> 1] = (m_dmac_ff) ? (m_dma_counter[offset >> 1]&0xff)|(data<<8) : (m_dma_counter[offset >> 1]&0xff00)|(data&0xff);
else
m_dma_address[offset >> 1] = (m_dmac_ff) ? (m_dma_address[offset >> 1]&0xff)|(data<<8) : (m_dma_address[offset >> 1]&0xff00)|(data&0xff);
@@ -1505,7 +1558,7 @@ WRITE8_MEMBER(pc8801_state::pc8801_dmac_mode_w)
m_dmac_mode = data;
m_dmac_ff = 0;
- if (data != 0xe4 && data != 0xa0 && data != 0xc4 && data != 0x80 && data != 0x00)
+ if(data != 0xe4 && data != 0xa0 && data != 0xc4 && data != 0x80 && data != 0x00)
printf("%02x DMAC mode\n",data);
}
@@ -1546,7 +1599,7 @@ WRITE8_MEMBER(pc8801_state::pc8801_alu_ctrl2_w)
WRITE8_MEMBER(pc8801_state::pc8801_pcg8100_w)
{
- if (data)
+ if(data)
printf("Write to PCG-8100 %02x %02x\n",offset,data);
}
@@ -1563,7 +1616,7 @@ WRITE8_MEMBER(pc8801_state::pc8801_txt_cmt_ctrl_w)
READ8_MEMBER(pc8801_state::pc8801_kanji_r)
{
- if ((offset & 2) == 0)
+ if((offset & 2) == 0)
return m_kanji_rom[m_knj_addr[0]*2+((offset & 1) ^ 1)];
return 0xff;
@@ -1571,13 +1624,13 @@ READ8_MEMBER(pc8801_state::pc8801_kanji_r)
WRITE8_MEMBER(pc8801_state::pc8801_kanji_w)
{
- if ((offset & 2) == 0)
+ if((offset & 2) == 0)
m_knj_addr[0] = ((offset & 1) == 0) ? ((m_knj_addr[0]&0xff00)|(data&0xff)) : ((m_knj_addr[0]&0x00ff)|(data<<8));
}
READ8_MEMBER(pc8801_state::pc8801_kanji_lv2_r)
{
- if ((offset & 2) == 0)
+ if((offset & 2) == 0)
return m_kanji_rom[m_knj_addr[1]*2+((offset & 1) ^ 1)];
return 0xff;
@@ -1585,21 +1638,21 @@ READ8_MEMBER(pc8801_state::pc8801_kanji_lv2_r)
WRITE8_MEMBER(pc8801_state::pc8801_kanji_lv2_w)
{
- if ((offset & 2) == 0)
+ if((offset & 2) == 0)
m_knj_addr[1] = ((offset & 1) == 0) ? ((m_knj_addr[1]&0xff00)|(data&0xff)) : ((m_knj_addr[1]&0x00ff)|(data<<8));
}
WRITE8_MEMBER(pc8801_state::pc8801_dic_bank_w)
{
printf("JISHO BANK = %02x\n",data);
- if (m_has_dictionary)
+ if(m_has_dictionary)
m_dic_bank = data & 0x1f;
}
WRITE8_MEMBER(pc8801_state::pc8801_dic_ctrl_w)
{
printf("JISHO CTRL = %02x\n",data);
- if (m_has_dictionary)
+ if(m_has_dictionary)
m_dic_ctrl = (data ^ 1) & 1;
}
@@ -1621,13 +1674,13 @@ WRITE8_MEMBER(pc8801_state::pc8801_cdrom_w)
*/
//printf("CD-ROM write %02x -> [%02x]\n",data,offset);
- if (m_has_cdrom)
+ if(m_has_cdrom)
m_cdrom_reg[offset] = data;
}
READ8_MEMBER(pc8801_state::pc8801_cpuclock_r)
{
- if (m_has_clock_speed)
+ if(m_has_clock_speed)
return 0x10 | m_clock_setting;
return 0xff;
@@ -1635,7 +1688,7 @@ READ8_MEMBER(pc8801_state::pc8801_cpuclock_r)
READ8_MEMBER(pc8801_state::pc8801_baudrate_r)
{
- if (m_has_clock_speed)
+ if(m_has_clock_speed)
return 0xf0 | m_baudrate_val;
return 0xff;
@@ -1643,7 +1696,7 @@ READ8_MEMBER(pc8801_state::pc8801_baudrate_r)
WRITE8_MEMBER(pc8801_state::pc8801_baudrate_w)
{
- if (m_has_clock_speed)
+ if(m_has_clock_speed)
m_baudrate_val = data & 0xf;
}
@@ -1659,7 +1712,7 @@ WRITE8_MEMBER(pc8801_state::pc8801_rtc_w)
READ8_MEMBER(pc8801_state::pc8801_sound_board_r)
{
- if (m_has_opna)
+ if(m_has_opna)
return m_opna->read(space, offset);
return (offset & 2) ? 0xff : m_opn->read(space, offset);
@@ -1667,15 +1720,15 @@ READ8_MEMBER(pc8801_state::pc8801_sound_board_r)
WRITE8_MEMBER(pc8801_state::pc8801_sound_board_w)
{
- if (m_has_opna)
+ if(m_has_opna)
m_opna->write(space, offset,data);
- else if ((offset & 2) == 0)
+ else if((offset & 2) == 0)
m_opn->write(space, offset, data);
}
READ8_MEMBER(pc8801_state::pc8801_opna_r)
{
- if (m_has_opna && (offset & 2) == 0)
+ if(m_has_opna && (offset & 2) == 0)
return m_opna->read(space, (offset & 1) | ((offset & 4) >> 1));
return 0xff;
@@ -1683,19 +1736,19 @@ READ8_MEMBER(pc8801_state::pc8801_opna_r)
WRITE8_MEMBER(pc8801_state::pc8801_opna_w)
{
- if (m_has_opna && (offset & 2) == 0)
+ if(m_has_opna && (offset & 2) == 0)
m_opna->write(space, (offset & 1) | ((offset & 4) >> 1),data);
- else if (m_has_opna && offset == 2)
+ else if(m_has_opna && offset == 2)
{
m_sound_irq_mask = ((data & 0x80) == 0);
- if (m_sound_irq_mask == 0)
+ if(m_sound_irq_mask == 0)
m_sound_irq_latch = 0;
- if (m_timer_irq_latch == 0 && m_vrtc_irq_latch == 0 && m_sound_irq_latch == 0)
+ if(m_timer_irq_latch == 0 && m_vrtc_irq_latch == 0 && m_sound_irq_latch == 0)
m_maincpu->set_input_line(0,CLEAR_LINE);
- if (m_sound_irq_mask && m_sound_irq_pending)
+ if(m_sound_irq_mask && m_sound_irq_pending)
{
m_maincpu->set_input_line(0,HOLD_LINE);
m_sound_irq_latch = 1;
@@ -2213,7 +2266,7 @@ static const cassette_interface pc88_cassette_interface =
#ifdef USE_PROPER_I8214
void pc8801_state::pc8801_raise_irq(uint8_t irq,uint8_t state)
{
- if (state)
+ if(state)
{
drvm_int_state |= irq;
@@ -2263,7 +2316,7 @@ IRQ_CALLBACK_MEMBER(pc8801_state::pc8801_irq_callback)
WRITE_LINE_MEMBER(pc8801_state::pc8801_sound_irq)
{
- if (m_sound_irq_mask && state)
+ if(m_sound_irq_mask && state)
pc8801_raise_irq(machine(),1<<(4),1);
}
@@ -2277,7 +2330,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(pc8801_state::pc8801_rtc_irq)
INTERRUPT_GEN_MEMBER(pc8801_state::pc8801_vrtc_irq)
{
- if (m_vblank_irq_mask)
+ if(m_vblank_irq_mask)
pc8801_raise_irq(machine(),1<<(1),1);
}
@@ -2287,17 +2340,17 @@ INTERRUPT_GEN_MEMBER(pc8801_state::pc8801_vrtc_irq)
IRQ_CALLBACK_MEMBER(pc8801_state::pc8801_irq_callback)
{
- if (m_sound_irq_latch)
+ if(m_sound_irq_latch)
{
m_sound_irq_latch = 0;
return 4*2;
}
- else if (m_vrtc_irq_latch)
+ else if(m_vrtc_irq_latch)
{
m_vrtc_irq_latch = 0;
return 1*2;
}
- else if (m_timer_irq_latch)
+ else if(m_timer_irq_latch)
{
m_timer_irq_latch = 0;
return 2*2;
@@ -2313,9 +2366,9 @@ WRITE_LINE_MEMBER(pc8801_state::pc8801_sound_irq)
{
// printf("%02x %02x %02x\n",m_sound_irq_mask,m_i8214_irq_level,state);
/* TODO: correct i8214 irq level? */
- if (state)
+ if(state)
{
- if (m_sound_irq_mask)
+ if(m_sound_irq_mask)
{
m_sound_irq_latch = 1;
m_sound_irq_pending = 0;
@@ -2329,7 +2382,7 @@ WRITE_LINE_MEMBER(pc8801_state::pc8801_sound_irq)
TIMER_DEVICE_CALLBACK_MEMBER(pc8801_state::pc8801_rtc_irq)
{
- if (m_timer_irq_mask && m_i8214_irq_level >= 3)
+ if(m_timer_irq_mask && m_i8214_irq_level >= 3)
{
m_timer_irq_latch = 1;
//IRQ_LOG(("timer\n"));
@@ -2339,7 +2392,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(pc8801_state::pc8801_rtc_irq)
INTERRUPT_GEN_MEMBER(pc8801_state::pc8801_vrtc_irq)
{
- if (m_vrtc_irq_mask && m_i8214_irq_level >= 2)
+ if(m_vrtc_irq_mask && m_i8214_irq_level >= 2)
{
m_vrtc_irq_latch = 1;
//IRQ_LOG(("vrtc\n"));
@@ -2399,7 +2452,9 @@ void pc8801_state::machine_reset()
}
{
- for (int i = 0; i < 3; i++)
+ int i;
+
+ for(i=0;i<3;i++)
m_alu_reg[i] = 0x00;
}
@@ -2440,7 +2495,9 @@ void pc8801_state::machine_reset()
}
{
- for (int i = 0; i < 0x10; i++) //text + bitmap
+ int i;
+
+ for(i=0;i<0x10;i++) //text + bitmap
m_palette->set_pen_color(i, pal1bit(i >> 1), pal1bit(i >> 2), pal1bit(i >> 0));
}
@@ -2452,7 +2509,7 @@ void pc8801_state::machine_reset()
m_has_opna = ioport("BOARD_CONFIG")->read() & 1;
}
-void pc8801_state::machine_reset_pc8801_clock_speed()
+MACHINE_RESET_MEMBER(pc8801_state,pc8801_clock_speed)
{
pc8801_state::machine_reset();
m_has_clock_speed = 1;
@@ -2463,28 +2520,32 @@ void pc8801_state::machine_reset_pc8801_clock_speed()
m_baudrate_val = 0;
}
-void pc8801_state::machine_reset_pc8801_dic()
+MACHINE_RESET_MEMBER(pc8801_state,pc8801_dic)
{
- machine_reset_pc8801_clock_speed();
+ MACHINE_RESET_CALL_MEMBER( pc8801_clock_speed );
m_has_dictionary = 1;
m_dic_bank = 0;
m_dic_ctrl = 0;
}
-void pc8801_state::machine_reset_pc8801_cdrom()
+MACHINE_RESET_MEMBER(pc8801_state,pc8801_cdrom)
{
- machine_reset_pc8801_dic();
+ MACHINE_RESET_CALL_MEMBER( pc8801_dic );
m_has_cdrom = 1;
{
- for (int i = 0; i < 0x10; i++)
+ int i;
+
+ for(i=0;i<0x10;i++)
m_cdrom_reg[i] = 0;
}
}
PALETTE_INIT_MEMBER(pc8801_state, pc8801)
{
- for (int i = 0; i < 0x10; i++) //text + bitmap
+ int i;
+
+ for(i=0;i<0x10;i++) //text + bitmap
palette.set_pen_color(i, pal1bit(i >> 1), pal1bit(i >> 2), pal1bit(i >> 0));
}
@@ -2494,8 +2555,10 @@ READ8_MEMBER(pc8801_state::opn_porta_r)
{
if(ioport("BOARD_CONFIG")->read() & 2)
{
- uint8_t shift = (m_mouse.phase & 1) ? 0 : 4;
- uint8_t res = (m_mouse.phase & 2) ? m_mouse.y : m_mouse.x;
+ uint8_t shift,res;
+
+ shift = (m_mouse.phase & 1) ? 0 : 4;
+ res = (m_mouse.phase & 2) ? m_mouse.y : m_mouse.x;
// printf("%d\n",m_mouse.phase);
@@ -2576,7 +2639,7 @@ MACHINE_CONFIG_START(pc8801_state::pc8801)
MCFG_PALETTE_ADD("palette", 0x10)
MCFG_PALETTE_INIT_OWNER(pc8801_state, pc8801)
-// set_video_start_cb(config, driver_callback_delegate(&video_start_pc8801, this));
+// MCFG_VIDEO_START_OVERRIDE(pc8801_state,pc8801)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2600,17 +2663,17 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(pc8801_state::pc8801fh)
pc8801(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pc8801_clock_speed, this));
+ MCFG_MACHINE_RESET_OVERRIDE(pc8801_state, pc8801_clock_speed )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pc8801_state::pc8801ma)
pc8801(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pc8801_dic, this));
+ MCFG_MACHINE_RESET_OVERRIDE(pc8801_state, pc8801_dic )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pc8801_state::pc8801mc)
pc8801(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pc8801_cdrom, this));
+ MCFG_MACHINE_RESET_OVERRIDE(pc8801_state, pc8801_cdrom )
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pc9801.cpp b/src/mame/drivers/pc9801.cpp
index 33c54369475..a4bd94cb1db 100644
--- a/src/mame/drivers/pc9801.cpp
+++ b/src/mame/drivers/pc9801.cpp
@@ -2038,7 +2038,7 @@ PALETTE_INIT_MEMBER(pc9801_state,pc9801)
palette.set_pen_color(i, pal1bit(0), pal1bit(0), pal1bit(0));
}
-void pc9801_state::machine_start_pc9801_common()
+MACHINE_START_MEMBER(pc9801_state,pc9801_common)
{
m_rtc->cs_w(1);
m_rtc->oe_w(1);
@@ -2056,45 +2056,45 @@ void pc9801_state::machine_start_pc9801_common()
save_pointer(NAME(m_egc.regs), 8);
}
-void pc9801_state::machine_start_pc9801f()
+MACHINE_START_MEMBER(pc9801_state,pc9801f)
{
- machine_start_pc9801_common();
+ MACHINE_START_CALL_MEMBER(pc9801_common);
m_fdc_2hd->set_rate(500000);
m_fdc_2dd->set_rate(250000);
m_sys_type = 0x00 >> 6;
}
-void pc9801_state::machine_start_pc9801rs()
+MACHINE_START_MEMBER(pc9801_state,pc9801rs)
{
- machine_start_pc9801_common();
+ MACHINE_START_CALL_MEMBER(pc9801_common);
m_sys_type = 0x80 >> 6;
}
-void pc9801_state::machine_start_pc9801bx2()
+MACHINE_START_MEMBER(pc9801_state,pc9801bx2)
{
- machine_start_pc9801rs();
+ MACHINE_START_CALL_MEMBER(pc9801rs);
save_pointer(NAME(m_sdip), 24);
}
-void pc9801_state::machine_start_pc9821()
+MACHINE_START_MEMBER(pc9801_state,pc9821)
{
- machine_start_pc9801rs();
+ MACHINE_START_CALL_MEMBER(pc9801rs);
save_pointer(NAME(m_sdip), 24);
}
-void pc9801_state::machine_start_pc9821ap2()
+MACHINE_START_MEMBER(pc9801_state,pc9821ap2)
{
- machine_start_pc9821();
+ MACHINE_START_CALL_MEMBER(pc9821);
// ...
}
-void pc9801_state::machine_reset_pc9801_common()
+MACHINE_RESET_MEMBER(pc9801_state,pc9801_common)
{
memset(m_tvram.get(), 0, sizeof(uint16_t) * 0x2000);
/* this looks like to be some kind of backup ram, system will boot with green colors otherwise */
@@ -2120,9 +2120,9 @@ void pc9801_state::machine_reset_pc9801_common()
memset(&m_egc, 0, sizeof(m_egc));
}
-void pc9801_state::machine_reset_pc9801f()
+MACHINE_RESET_MEMBER(pc9801_state,pc9801f)
{
- machine_reset_pc9801_common();
+ MACHINE_RESET_CALL_MEMBER(pc9801_common);
uint8_t op_mode;
uint8_t *ROM;
@@ -2142,9 +2142,9 @@ void pc9801_state::machine_reset_pc9801f()
ROM[i] = PRG[i+op_mode*0x8000+0x10000];
}
-void pc9801_state::machine_reset_pc9801rs()
+MACHINE_RESET_MEMBER(pc9801_state,pc9801rs)
{
- machine_reset_pc9801_common();
+ MACHINE_RESET_CALL_MEMBER(pc9801_common);
m_gate_a20 = 0;
m_fdc_ctrl = 3;
@@ -2161,9 +2161,9 @@ void pc9801_state::machine_reset_pc9801rs()
}
}
-void pc9801_state::machine_reset_pc9821()
+MACHINE_RESET_MEMBER(pc9801_state,pc9821)
{
- machine_reset_pc9801rs();
+ MACHINE_RESET_CALL_MEMBER(pc9801rs);
m_pc9821_window_bank = 0x08;
}
@@ -2391,8 +2391,8 @@ MACHINE_CONFIG_START(pc9801_state::pc9801)
pc9801_common(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pc9801f, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pc9801f, this));
+ MCFG_MACHINE_START_OVERRIDE(pc9801_state,pc9801f)
+ MCFG_MACHINE_RESET_OVERRIDE(pc9801_state,pc9801f)
// TODO: maybe force dips to avoid beep error
MCFG_RAM_ADD(RAM_TAG)
@@ -2432,8 +2432,8 @@ MACHINE_CONFIG_START(pc9801_state::pc9801rs)
MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(18)
MCFG_ADDRESS_MAP_BANK_STRIDE(0x18000)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pc9801rs, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pc9801rs, this));
+ MCFG_MACHINE_START_OVERRIDE(pc9801_state,pc9801rs)
+ MCFG_MACHINE_RESET_OVERRIDE(pc9801_state,pc9801rs)
MCFG_DEVICE_MODIFY("i8237")
MCFG_DEVICE_CLOCK(MAIN_CLOCK_X1*8); // unknown clock
@@ -2462,8 +2462,8 @@ MACHINE_CONFIG_START(pc9801_state::pc9801vm)
MCFG_RAM_DEFAULT_SIZE("640K")
MCFG_RAM_EXTRA_OPTIONS("640K")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pc9801_common, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pc9801_common, this));
+ MCFG_MACHINE_START_OVERRIDE(pc9801_state,pc9801_common)
+ MCFG_MACHINE_RESET_OVERRIDE(pc9801_state,pc9801_common)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pc9801_state::pc9801ux)
@@ -2483,7 +2483,7 @@ MACHINE_CONFIG_START(pc9801_state::pc9801bx2)
MCFG_DEVICE_IO_MAP(pc9821_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pc9801bx2, this));
+ MCFG_MACHINE_START_OVERRIDE(pc9801_state,pc9801bx2)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pc9801_state::pc9821)
@@ -2498,8 +2498,8 @@ MACHINE_CONFIG_START(pc9801_state::pc9821)
MCFG_PIT8253_CLK1(MAIN_CLOCK_X2)
MCFG_PIT8253_CLK2(MAIN_CLOCK_X2)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pc9821, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pc9821, this));
+ MCFG_MACHINE_START_OVERRIDE(pc9801_state,pc9821)
+ MCFG_MACHINE_RESET_OVERRIDE(pc9801_state,pc9821)
MCFG_DEVICE_MODIFY("i8237")
MCFG_DEVICE_CLOCK(16000000); // unknown clock
@@ -2516,7 +2516,7 @@ MACHINE_CONFIG_START(pc9801_state::pc9821ap2)
MCFG_DEVICE_IO_MAP(pc9821_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pc9821ap2, this));
+ MCFG_MACHINE_START_OVERRIDE(pc9801_state,pc9821ap2)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pc9801_state::pc9821v20)
diff --git a/src/mame/drivers/pce.cpp b/src/mame/drivers/pce.cpp
index beff31f8d8c..38d5ec71e7c 100644
--- a/src/mame/drivers/pce.cpp
+++ b/src/mame/drivers/pce.cpp
@@ -321,8 +321,8 @@ MACHINE_CONFIG_START(pce_state::pce_common)
MCFG_DEVICE_IO_MAP(pce_io)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pce, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mess_pce, this));
+ MCFG_MACHINE_START_OVERRIDE(pce_state, pce )
+ MCFG_MACHINE_RESET_OVERRIDE(pce_state, mess_pce )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -374,8 +374,8 @@ MACHINE_CONFIG_START(pce_state::sgx)
MCFG_DEVICE_IO_MAP(sgx_io)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pce, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mess_pce, this));
+ MCFG_MACHINE_START_OVERRIDE(pce_state, pce )
+ MCFG_MACHINE_RESET_OVERRIDE(pce_state, mess_pce )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/pdp11.cpp b/src/mame/drivers/pdp11.cpp
index b9683ca535c..b28d09f1fff 100644
--- a/src/mame/drivers/pdp11.cpp
+++ b/src/mame/drivers/pdp11.cpp
@@ -113,8 +113,8 @@ public:
uint8_t m_teletype_data;
uint16_t m_teletype_status;
virtual void machine_reset() override;
- void machine_reset_pdp11ub2();
- void machine_reset_pdp11qb();
+ DECLARE_MACHINE_RESET(pdp11ub2);
+ DECLARE_MACHINE_RESET(pdp11qb);
void load9312prom(uint8_t *desc, uint8_t *src, int size);
void pdp11ub2(machine_config &config);
void pdp11(machine_config &config);
@@ -310,7 +310,7 @@ void pdp11_state::load9312prom(uint8_t *desc, uint8_t *src, int size)
}
}
-void pdp11_state::machine_reset_pdp11ub2()
+MACHINE_RESET_MEMBER(pdp11_state,pdp11ub2)
{
// Load M9312
uint8_t* user1 = memregion("consproms")->base() + ioport("CONSPROM")->read() * 0x0400;
@@ -341,7 +341,7 @@ void pdp11_state::machine_reset_pdp11ub2()
}
-void pdp11_state::machine_reset_pdp11qb()
+MACHINE_RESET_MEMBER(pdp11_state,pdp11qb)
{
m_maincpu->set_state_int(T11_PC, 0xea00);
}
@@ -369,12 +369,12 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(pdp11_state::pdp11ub2)
pdp11(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pdp11ub2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(pdp11_state,pdp11ub2)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pdp11_state::pdp11qb)
pdp11(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pdp11qb, this));
+ MCFG_MACHINE_RESET_OVERRIDE(pdp11_state,pdp11qb)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_T11_INITIAL_MODE(0 << 13)
diff --git a/src/mame/drivers/pengo.cpp b/src/mame/drivers/pengo.cpp
index 580bde119cd..a85dc5d6200 100644
--- a/src/mame/drivers/pengo.cpp
+++ b/src/mame/drivers/pengo.cpp
@@ -407,7 +407,7 @@ MACHINE_CONFIG_START(pengo_state::pengo)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, pengo_state, vblank_irq))
- set_video_start_cb(config, driver_callback_delegate(&video_start_pengo, this));
+ MCFG_VIDEO_START_OVERRIDE(pengo_state,pengo)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -445,7 +445,7 @@ MACHINE_CONFIG_START(pengo_state::jrpacmbl)
MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(WRITELINE(*this, pengo_state, jrpacman_spritebank_w))
MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(WRITELINE(*this, pengo_state, jrpacman_charbank_w))
- set_video_start_cb(config, driver_callback_delegate(&video_start_jrpacman, this));
+ MCFG_VIDEO_START_OVERRIDE(pengo_state,jrpacman)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/pentagon.cpp b/src/mame/drivers/pentagon.cpp
index bb9f38c8353..b0c0456dbaa 100644
--- a/src/mame/drivers/pentagon.cpp
+++ b/src/mame/drivers/pentagon.cpp
@@ -37,8 +37,8 @@ public:
DECLARE_READ8_MEMBER(beta_neutral_r);
DECLARE_READ8_MEMBER(beta_enable_r);
DECLARE_READ8_MEMBER(beta_disable_r);
- void machine_reset_pentagon();
- void video_start_pentagon() ATTR_COLD;
+ DECLARE_MACHINE_RESET(pentagon);
+ DECLARE_VIDEO_START(pentagon);
INTERRUPT_GEN_MEMBER(pentagon_interrupt);
TIMER_CALLBACK_MEMBER(irq_on);
TIMER_CALLBACK_MEMBER(irq_off);
@@ -210,7 +210,7 @@ void pentagon_state::pentagon_switch(address_map &map)
map(0x4000, 0xffff).r(this, FUNC(pentagon_state::beta_disable_r));
}
-void pentagon_state::machine_reset_pentagon()
+MACHINE_RESET_MEMBER(pentagon_state,pentagon)
{
uint8_t *messram = m_ram->pointer();
m_program = &m_maincpu->space(AS_PROGRAM);
@@ -237,7 +237,7 @@ void pentagon_state::machine_reset_pentagon()
pentagon_update_memory();
}
-void pentagon_state::video_start_pentagon()
+VIDEO_START_MEMBER(pentagon_state,pentagon)
{
m_frame_invert_count = 16;
m_frame_number = 0;
@@ -281,12 +281,12 @@ MACHINE_CONFIG_START(pentagon_state::pentagon)
MCFG_DEVICE_IO_MAP(pentagon_io)
MCFG_DEVICE_OPCODES_MAP(pentagon_switch)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pentagon_state, pentagon_interrupt)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pentagon, this));
+ MCFG_MACHINE_RESET_OVERRIDE(pentagon_state, pentagon )
MCFG_SCREEN_MODIFY("screen")
//MCFG_SCREEN_RAW_PARAMS(XTAL(14'000'000) / 2, 448, 0, 352, 320, 0, 304)
MCFG_SCREEN_RAW_PARAMS(XTAL(14'000'000) / 2, 448, 0, 352, 320, 0, 287)
- set_video_start_cb(config, driver_callback_delegate(&video_start_pentagon, this));
+ MCFG_VIDEO_START_OVERRIDE(pentagon_state, pentagon )
MCFG_BETA_DISK_ADD(BETA_DISK_TAG)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_pentagon)
diff --git a/src/mame/drivers/pet.cpp b/src/mame/drivers/pet.cpp
index 20e31e5be73..85da3d4590e 100644
--- a/src/mame/drivers/pet.cpp
+++ b/src/mame/drivers/pet.cpp
@@ -243,11 +243,11 @@ public:
required_ioport_array<10> m_row;
required_ioport m_lock;
- void machine_start_pet();
- void machine_start_pet2001();
- void machine_reset_pet();
- void machine_start_pet40();
- void machine_reset_pet40();
+ DECLARE_MACHINE_START( pet );
+ DECLARE_MACHINE_START( pet2001 );
+ DECLARE_MACHINE_RESET( pet );
+ DECLARE_MACHINE_START( pet40 );
+ DECLARE_MACHINE_RESET( pet40 );
MC6845_BEGIN_UPDATE( pet_begin_update );
MC6845_UPDATE_ROW( pet40_update_row );
@@ -381,8 +381,8 @@ public:
pet2001b_state(mconfig, type, tag)
{ }
- void machine_start_pet80() ATTR_COLD;
- void machine_reset_pet80();
+ DECLARE_MACHINE_START( pet80 );
+ DECLARE_MACHINE_RESET( pet80 );
MC6845_UPDATE_ROW( pet80_update_row );
MC6845_UPDATE_ROW( cbm8296_update_row );
@@ -431,8 +431,8 @@ public:
required_device<pla_device> m_pla1;
required_device<pla_device> m_pla2;
- void machine_start_cbm8296() ATTR_COLD;
- void machine_reset_cbm8296();
+ DECLARE_MACHINE_START( cbm8296 );
+ DECLARE_MACHINE_RESET( cbm8296 );
void read_pla1(offs_t offset, int phi2, int brw, int noscreen, int noio, int ramsela, int ramsel9, int ramon, int norom,
int &cswff, int &cs9, int &csa, int &csio, int &cse, int &cskb, int &fa12, int &casena1);
@@ -1599,7 +1599,7 @@ void cbm8296d_ieee488_devices(device_slot_interface &device)
// MACHINE_START( pet )
//-------------------------------------------------
-void pet_state::machine_start_pet()
+MACHINE_START_MEMBER( pet_state, pet )
{
// allocate memory
m_video_ram.allocate(m_video_ram_size);
@@ -1640,15 +1640,15 @@ void pet_state::machine_start_pet()
// MACHINE_START( pet2001 )
//-------------------------------------------------
-void pet_state::machine_start_pet2001()
+MACHINE_START_MEMBER( pet_state, pet2001 )
{
m_video_ram_size = 0x400;
- machine_start_pet();
+ MACHINE_START_CALL_MEMBER(pet);
}
-void pet_state::machine_reset_pet()
+MACHINE_RESET_MEMBER( pet_state, pet )
{
m_maincpu->reset();
@@ -1666,17 +1666,17 @@ void pet_state::machine_reset_pet()
// MACHINE_START( pet40 )
//-------------------------------------------------
-void pet_state::machine_start_pet40()
+MACHINE_START_MEMBER( pet_state, pet40 )
{
m_video_ram_size = 0x400;
- machine_start_pet();
+ MACHINE_START_CALL_MEMBER(pet);
}
-void pet_state::machine_reset_pet40()
+MACHINE_RESET_MEMBER( pet_state, pet40 )
{
- machine_reset_pet();
+ MACHINE_RESET_CALL_MEMBER(pet);
m_crtc->reset();
}
@@ -1686,29 +1686,29 @@ void pet_state::machine_reset_pet40()
// MACHINE_START( pet80 )
//-------------------------------------------------
-void pet80_state::machine_start_pet80()
+MACHINE_START_MEMBER( pet80_state, pet80 )
{
m_video_ram_size = 0x800;
- machine_start_pet();
+ MACHINE_START_CALL_MEMBER(pet);
}
-void pet80_state::machine_reset_pet80()
+MACHINE_RESET_MEMBER( pet80_state, pet80 )
{
- machine_reset_pet();
+ MACHINE_RESET_CALL_MEMBER(pet);
m_crtc->reset();
}
//-------------------------------------------------
-// machine_start_cbm8296()
+// MACHINE_START( cbm8296 )
//-------------------------------------------------
-void cbm8296_state::machine_start_cbm8296()
+MACHINE_START_MEMBER( cbm8296_state, cbm8296 )
{
- machine_start_pet80();
+ MACHINE_START_CALL_MEMBER(pet80);
// state saving
save_item(NAME(m_cr));
@@ -1716,9 +1716,9 @@ void cbm8296_state::machine_start_cbm8296()
}
-void cbm8296_state::machine_reset_cbm8296()
+MACHINE_RESET_MEMBER( cbm8296_state, cbm8296 )
{
- machine_reset_pet80();
+ MACHINE_RESET_CALL_MEMBER(pet80);
m_cr = 0;
m_via_pa = 0xff;
@@ -1778,8 +1778,8 @@ MACHINE_CONFIG_END
//-------------------------------------------------
MACHINE_CONFIG_START(pet_state::pet)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pet2001, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pet, this));
+ MCFG_MACHINE_START_OVERRIDE(pet_state, pet2001)
+ MCFG_MACHINE_RESET_OVERRIDE(pet_state, pet)
// basic machine hardware
MCFG_DEVICE_ADD(M6502_TAG, M6502, XTAL(8'000'000)/8)
@@ -2072,8 +2072,8 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(pet2001b_state::pet4032f)
pet4000(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pet40, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pet40, this));
+ MCFG_MACHINE_START_OVERRIDE(pet_state, pet40)
+ MCFG_MACHINE_RESET_OVERRIDE(pet_state, pet40)
// video hardware
MCFG_SCREEN_MODIFY(SCREEN_TAG)
@@ -2148,8 +2148,8 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(pet_state::cbm4032f)
cbm4000(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pet40, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pet40, this));
+ MCFG_MACHINE_START_OVERRIDE(pet_state, pet40)
+ MCFG_MACHINE_RESET_OVERRIDE(pet_state, pet40)
// video hardware
MCFG_SCREEN_MODIFY(SCREEN_TAG)
@@ -2231,8 +2231,8 @@ MACHINE_CONFIG_END
//-------------------------------------------------
MACHINE_CONFIG_START(pet80_state::pet80)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pet80, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pet80, this));
+ MCFG_MACHINE_START_OVERRIDE(pet80_state, pet80)
+ MCFG_MACHINE_RESET_OVERRIDE(pet80_state, pet80)
// basic machine hardware
MCFG_DEVICE_ADD(M6502_TAG, M6502, XTAL(16'000'000)/16)
@@ -2373,8 +2373,8 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(cbm8296_state::cbm8296)
pet80(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_cbm8296, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cbm8296, this));
+ MCFG_MACHINE_START_OVERRIDE(cbm8296_state, cbm8296)
+ MCFG_MACHINE_RESET_OVERRIDE(cbm8296_state, cbm8296)
MCFG_DEVICE_MODIFY(M6502_TAG)
MCFG_DEVICE_PROGRAM_MAP(cbm8296_mem)
diff --git a/src/mame/drivers/pgm.cpp b/src/mame/drivers/pgm.cpp
index caf32d02b22..1f20b8eca9c 100644
--- a/src/mame/drivers/pgm.cpp
+++ b/src/mame/drivers/pgm.cpp
@@ -498,12 +498,12 @@ TIMER_DEVICE_CALLBACK_MEMBER(pgm_state::pgm_interrupt)
if (!m_irq4_disabled) m_maincpu->set_input_line(4, HOLD_LINE);
}
-void pgm_state::machine_start_pgm()
+MACHINE_START_MEMBER(pgm_state,pgm)
{
// machine().base_datetime(m_systime);
}
-void pgm_state::machine_reset_pgm()
+MACHINE_RESET_MEMBER(pgm_state,pgm)
{
m_soundcpu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
}
@@ -519,8 +519,8 @@ MACHINE_CONFIG_START(pgm_state::pgmbase)
MCFG_DEVICE_PROGRAM_MAP(pgm_z80_mem)
MCFG_DEVICE_IO_MAP(pgm_z80_io)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pgm, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pgm, this));
+ MCFG_MACHINE_START_OVERRIDE(pgm_state, pgm )
+ MCFG_MACHINE_RESET_OVERRIDE(pgm_state, pgm )
MCFG_NVRAM_ADD_0FILL("sram")
MCFG_V3021_ADD("rtc")
@@ -539,7 +539,7 @@ MACHINE_CONFIG_START(pgm_state::pgmbase)
MCFG_PALETTE_ADD("palette", 0x1200/2)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- set_video_start_cb(config, driver_callback_delegate(&video_start_pgm, this));
+ MCFG_VIDEO_START_OVERRIDE(pgm_state,pgm)
/*sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/phoenix.cpp b/src/mame/drivers/phoenix.cpp
index 486854b8a9c..242166bd3b2 100644
--- a/src/mame/drivers/phoenix.cpp
+++ b/src/mame/drivers/phoenix.cpp
@@ -435,7 +435,7 @@ static GFXDECODE_START( gfx_pleiads )
GFXDECODE_END
-void phoenix_state::machine_reset_phoenix()
+MACHINE_RESET_MEMBER(phoenix_state,phoenix)
{
membank("bank1")->set_base(memregion("maincpu")->base() + 0x4000);
}
@@ -447,7 +447,7 @@ MACHINE_CONFIG_START(phoenix_state::phoenix)
MCFG_DEVICE_ADD("maincpu", I8085A, CPU_CLOCK) /* 2.75 MHz */
MCFG_DEVICE_PROGRAM_MAP(phoenix_memory_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_phoenix, this));
+ MCFG_MACHINE_RESET_OVERRIDE(phoenix_state,phoenix)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -459,7 +459,7 @@ MACHINE_CONFIG_START(phoenix_state::phoenix)
MCFG_PALETTE_ADD("palette", 256)
MCFG_PALETTE_INIT_OWNER(phoenix_state,phoenix)
- set_video_start_cb(config, driver_callback_delegate(&video_start_phoenix, this));
+ MCFG_VIDEO_START_OVERRIDE(phoenix_state,phoenix)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -517,7 +517,7 @@ MACHINE_CONFIG_START(phoenix_state::survival)
MCFG_I8085A_SID(READLINE(*this, phoenix_state, survival_sid_callback))
MCFG_DEVICE_PROGRAM_MAP(survival_memory_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_phoenix, this));
+ MCFG_MACHINE_RESET_OVERRIDE(phoenix_state,phoenix)
/* video hardware */
@@ -533,7 +533,7 @@ MACHINE_CONFIG_START(phoenix_state::survival)
MCFG_PALETTE_ADD("palette", 256)
MCFG_PALETTE_INIT_OWNER(phoenix_state,survival)
- set_video_start_cb(config, driver_callback_delegate(&video_start_phoenix, this));
+ MCFG_VIDEO_START_OVERRIDE(phoenix_state,phoenix)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/pipedrm.cpp b/src/mame/drivers/pipedrm.cpp
index a83508ed377..9fe9e395da6 100644
--- a/src/mame/drivers/pipedrm.cpp
+++ b/src/mame/drivers/pipedrm.cpp
@@ -182,8 +182,8 @@ public:
required_device<generic_latch_8_device> m_soundlatch;
- void machine_start_pipedrm() ATTR_COLD;
- void machine_reset_pipedrm();
+ DECLARE_MACHINE_START(pipedrm);
+ DECLARE_MACHINE_RESET(pipedrm);
void init_pipedrm();
void init_hatris();
DECLARE_WRITE8_MEMBER( pipedrm_bankswitch_w );
@@ -548,7 +548,7 @@ GFXDECODE_END
*
*************************************/
-void pipedrm_state::machine_start_pipedrm()
+MACHINE_START_MEMBER(pipedrm_state,pipedrm)
{
/* initialize main Z80 bank */
membank("bank1")->configure_entries(0, 8, memregion("maincpu")->base() + 0x10000, 0x2000);
@@ -561,7 +561,7 @@ void pipedrm_state::machine_start_pipedrm()
/* video-related elements are saved in video_start */
}
-void pipedrm_state::machine_reset_pipedrm()
+MACHINE_RESET_MEMBER(pipedrm_state,pipedrm)
{
m_flipscreen_old = -1;
m_scrollx_ofs = 0x159;
@@ -588,8 +588,8 @@ MACHINE_CONFIG_START(pipedrm_state::pipedrm)
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(sound_portmap)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pipedrm, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pipedrm, this));
+ MCFG_MACHINE_START_OVERRIDE(pipedrm_state,pipedrm)
+ MCFG_MACHINE_RESET_OVERRIDE(pipedrm_state,pipedrm)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -614,7 +614,7 @@ MACHINE_CONFIG_START(pipedrm_state::pipedrm)
MCFG_VSYSTEM_SPR2_SET_PRITYPE(3)
MCFG_VSYSTEM_SPR2_GFXDECODE("gfxdecode")
- set_video_start_cb(config, driver_callback_delegate(&video_start_pipedrm, this));
+ MCFG_VIDEO_START_OVERRIDE(pipedrm_state,pipedrm)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -643,8 +643,8 @@ MACHINE_CONFIG_START(pipedrm_state::hatris)
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(hatris_sound_portmap)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pipedrm, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pipedrm, this));
+ MCFG_MACHINE_START_OVERRIDE(pipedrm_state,pipedrm)
+ MCFG_MACHINE_RESET_OVERRIDE(pipedrm_state,pipedrm)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -663,7 +663,7 @@ MACHINE_CONFIG_START(pipedrm_state::hatris)
MCFG_VSYSTEM_GGA_REGISTER_WRITE_CB(WRITE8(*this, fromance_state, fromance_gga_data_w))
- set_video_start_cb(config, driver_callback_delegate(&video_start_hatris, this));
+ MCFG_VIDEO_START_OVERRIDE(pipedrm_state,hatris)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/piratesh.cpp b/src/mame/drivers/piratesh.cpp
index a7dae80013c..cda2f74ea77 100644
--- a/src/mame/drivers/piratesh.cpp
+++ b/src/mame/drivers/piratesh.cpp
@@ -95,9 +95,9 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(helm_r);
DECLARE_CUSTOM_INPUT_MEMBER(battery_r);
- void machine_start_piratesh() ATTR_COLD;
- void machine_reset_piratesh();
- void video_start_piratesh() ATTR_COLD;
+ DECLARE_MACHINE_START(piratesh);
+ DECLARE_MACHINE_RESET(piratesh);
+ DECLARE_VIDEO_START(piratesh);
uint32_t screen_update_piratesh(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(k054539_nmi_gen);
TIMER_DEVICE_CALLBACK_MEMBER(piratesh_interrupt);
@@ -181,7 +181,7 @@ K055673_CB_MEMBER(piratesh_state::piratesh_sprite_callback)
-void piratesh_state::video_start_piratesh()
+VIDEO_START_MEMBER(piratesh_state, piratesh)
{
// TODO: These come from the 055555
m_layer_colorbase[0] = 0;
@@ -551,7 +551,7 @@ INPUT_PORTS_END
/**********************************************************************************/
-void piratesh_state::machine_start_piratesh()
+MACHINE_START_MEMBER(piratesh_state, piratesh)
{
#if 0
m_sound_ctrl = 2;
@@ -566,12 +566,14 @@ void piratesh_state::machine_start_piratesh()
#endif
}
-void piratesh_state::machine_reset_piratesh()
+MACHINE_RESET_MEMBER(piratesh_state,piratesh)
{
m_int_status = 0;
+ int i;
+
// soften chorus(chip 0 channel 0-3), boost voice(chip 0 channel 4-7)
- for (int i = 0; i <= 7; i++)
+ for (i=0; i<=7; i++)
{
// m_k054539->set_gain(i, 0.5);
}
@@ -593,8 +595,8 @@ MACHINE_CONFIG_START(piratesh_state::piratesh)
MCFG_DEVICE_ADD("k053252", K053252, XTAL(32'000'000)/4)
MCFG_K053252_OFFSETS(40, 16) // TODO
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_piratesh, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_piratesh, this));
+ MCFG_MACHINE_START_OVERRIDE(piratesh_state, piratesh)
+ MCFG_MACHINE_RESET_OVERRIDE(piratesh_state, piratesh)
MCFG_TICKET_DISPENSER_ADD("ticket", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH)
MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH)
@@ -638,7 +640,7 @@ MACHINE_CONFIG_START(piratesh_state::piratesh)
MCFG_K054338_ALPHAINV(1)
MCFG_K054338_MIXER("k055555")
- set_video_start_cb(config, driver_callback_delegate(&video_start_piratesh, this));
+ MCFG_VIDEO_START_OVERRIDE(piratesh_state, piratesh)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
diff --git a/src/mame/drivers/playch10.cpp b/src/mame/drivers/playch10.cpp
index 8e031af6e6a..235b73b9e70 100644
--- a/src/mame/drivers/playch10.cpp
+++ b/src/mame/drivers/playch10.cpp
@@ -705,8 +705,8 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(playch10_state::playch10_hboard)
playch10(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_playch10_hboard, this));
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_playch10_hboard, this));
+ MCFG_VIDEO_START_OVERRIDE(playch10_state,playch10_hboard)
+ MCFG_MACHINE_START_OVERRIDE(playch10_state,playch10_hboard)
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mame/drivers/playmark.cpp b/src/mame/drivers/playmark.cpp
index 04d6c4883de..9bcdf106d5a 100644
--- a/src/mame/drivers/playmark.cpp
+++ b/src/mame/drivers/playmark.cpp
@@ -1003,7 +1003,7 @@ void playmark_state::configure_oki_banks()
}
}
-void playmark_state::machine_start_playmark()
+MACHINE_START_MEMBER(playmark_state,playmark)
{
save_item(NAME(m_bgscrollx));
save_item(NAME(m_bgscrolly));
@@ -1024,7 +1024,7 @@ void playmark_state::machine_start_playmark()
-void playmark_state::machine_reset_playmark()
+MACHINE_RESET_MEMBER(playmark_state,playmark)
{
m_bgscrollx = 0;
m_bgscrolly = 0;
@@ -1055,8 +1055,8 @@ MACHINE_CONFIG_START(playmark_state::bigtwin)
MCFG_PIC16C5x_READ_C_CB(READ8(*this, playmark_state, playmark_snd_flag_r))
MCFG_PIC16C5x_WRITE_C_CB(WRITE8(*this, playmark_state, playmark_snd_control_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_playmark, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_playmark, this));
+ MCFG_MACHINE_START_OVERRIDE(playmark_state,playmark)
+ MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1071,7 +1071,7 @@ MACHINE_CONFIG_START(playmark_state::bigtwin)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_bigtwin, this));
+ MCFG_VIDEO_START_OVERRIDE(playmark_state,bigtwin)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1095,8 +1095,8 @@ MACHINE_CONFIG_START(playmark_state::bigtwinb)
MCFG_PIC16C5x_READ_C_CB(READ8(*this, playmark_state, playmark_snd_flag_r))
MCFG_PIC16C5x_WRITE_C_CB(WRITE8(*this, playmark_state, playmark_snd_control_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_playmark, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_playmark, this));
+ MCFG_MACHINE_START_OVERRIDE(playmark_state,playmark)
+ MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1111,7 +1111,7 @@ MACHINE_CONFIG_START(playmark_state::bigtwinb)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_bigtwinb, this));
+ MCFG_VIDEO_START_OVERRIDE(playmark_state,bigtwinb)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1139,8 +1139,8 @@ MACHINE_CONFIG_START(playmark_state::wbeachvl)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_EEPROM_SERIAL_DEFAULT_VALUE(0)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_playmark, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_playmark, this));
+ MCFG_MACHINE_START_OVERRIDE(playmark_state,playmark)
+ MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1155,7 +1155,7 @@ MACHINE_CONFIG_START(playmark_state::wbeachvl)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(RRRRRGGGGGBBBBBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_wbeachvl, this));
+ MCFG_VIDEO_START_OVERRIDE(playmark_state,wbeachvl)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1179,8 +1179,8 @@ MACHINE_CONFIG_START(playmark_state::excelsr)
MCFG_PIC16C5x_READ_C_CB(READ8(*this, playmark_state, playmark_snd_flag_r))
MCFG_PIC16C5x_WRITE_C_CB(WRITE8(*this, playmark_state, playmark_snd_control_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_playmark, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_playmark, this));
+ MCFG_MACHINE_START_OVERRIDE(playmark_state,playmark)
+ MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1195,7 +1195,7 @@ MACHINE_CONFIG_START(playmark_state::excelsr)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_excelsr, this));
+ MCFG_VIDEO_START_OVERRIDE(playmark_state,excelsr)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1220,8 +1220,8 @@ MACHINE_CONFIG_START(playmark_state::hrdtimes)
MCFG_PIC16C5x_WRITE_C_CB(WRITE8(*this, playmark_state, hrdtimes_snd_control_w))
MCFG_DEVICE_DISABLE() /* Internal code is not dumped yet */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_playmark, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_playmark, this));
+ MCFG_MACHINE_START_OVERRIDE(playmark_state,playmark)
+ MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1236,7 +1236,7 @@ MACHINE_CONFIG_START(playmark_state::hrdtimes)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_hrdtimes, this));
+ MCFG_VIDEO_START_OVERRIDE(playmark_state,hrdtimes)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1263,8 +1263,8 @@ MACHINE_CONFIG_START(playmark_state::hotmind)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_EEPROM_SERIAL_DEFAULT_VALUE(0)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_playmark, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_playmark, this));
+ MCFG_MACHINE_START_OVERRIDE(playmark_state,playmark)
+ MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1279,7 +1279,7 @@ MACHINE_CONFIG_START(playmark_state::hotmind)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_hotmind, this));
+ MCFG_VIDEO_START_OVERRIDE(playmark_state,hotmind)
MCFG_TICKET_DISPENSER_ADD("ticket", attotime::from_msec(350), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH )
MCFG_TICKET_DISPENSER_ADD("token", attotime::from_msec(350), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH )
@@ -1308,8 +1308,8 @@ MACHINE_CONFIG_START(playmark_state::luckboomh)
MCFG_NVRAM_ADD_0FILL("nvram")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_playmark, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_playmark, this));
+ MCFG_MACHINE_START_OVERRIDE(playmark_state,playmark)
+ MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1324,7 +1324,7 @@ MACHINE_CONFIG_START(playmark_state::luckboomh)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_luckboomh, this));
+ MCFG_VIDEO_START_OVERRIDE(playmark_state,luckboomh)
MCFG_TICKET_DISPENSER_ADD("ticket", attotime::from_msec(350), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH )
MCFG_TICKET_DISPENSER_ADD("token", attotime::from_msec(350), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH )
diff --git a/src/mame/drivers/pocketc.cpp b/src/mame/drivers/pocketc.cpp
index c1d1171d458..241a59c2f66 100644
--- a/src/mame/drivers/pocketc.cpp
+++ b/src/mame/drivers/pocketc.cpp
@@ -812,7 +812,7 @@ MACHINE_CONFIG_START(pc1251_state::pc1260)
MCFG_DEVICE_MODIFY( "maincpu" )
MCFG_DEVICE_PROGRAM_MAP( pc1260_mem)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pc1260, this));
+ MCFG_MACHINE_START_OVERRIDE(pc1251_state, pc1260 )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pc1251_state::pc1261)
diff --git a/src/mame/drivers/poisk1.cpp b/src/mame/drivers/poisk1.cpp
index a705246e55a..5441d1a4bd0 100644
--- a/src/mame/drivers/poisk1.cpp
+++ b/src/mame/drivers/poisk1.cpp
@@ -94,8 +94,8 @@ public:
required_ioport_array<8> m_kbdio;
void init_poisk1();
- void machine_start_poisk1() ATTR_COLD;
- void machine_reset_poisk1();
+ DECLARE_MACHINE_START(poisk1);
+ DECLARE_MACHINE_RESET(poisk1);
DECLARE_PALETTE_INIT(p1);
virtual void video_start() override;
@@ -604,12 +604,12 @@ void p1_state::init_poisk1()
membank("bank10")->set_base(m_ram->pointer());
}
-void p1_state::machine_start_poisk1()
+MACHINE_START_MEMBER(p1_state, poisk1)
{
DBG_LOG(0, "init", ("machine_start()\n"));
}
-void p1_state::machine_reset_poisk1()
+MACHINE_RESET_MEMBER(p1_state, poisk1)
{
DBG_LOG(0, "init", ("machine_reset()\n"));
@@ -648,8 +648,8 @@ MACHINE_CONFIG_START(p1_state::poisk1)
MCFG_DEVICE_IO_MAP(poisk1_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_poisk1, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_poisk1, this));
+ MCFG_MACHINE_START_OVERRIDE( p1_state, poisk1 )
+ MCFG_MACHINE_RESET_OVERRIDE( p1_state, poisk1 )
MCFG_DEVICE_ADD( "pit8253", PIT8253 ,0)
MCFG_PIT8253_CLK0(XTAL(15'000'000)/12) /* heartbeat IRQ */
diff --git a/src/mame/drivers/polepos.cpp b/src/mame/drivers/polepos.cpp
index c2dae67d081..7dbaa289564 100644
--- a/src/mame/drivers/polepos.cpp
+++ b/src/mame/drivers/polepos.cpp
@@ -395,7 +395,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(polepos_state::polepos_scanline)
}
-void polepos_state::machine_reset_polepos()
+MACHINE_RESET_MEMBER(polepos_state,polepos)
{
/* set the interrupt vectors (this shouldn't be needed) */
m_subcpu->set_input_line_vector(0, Z8000_NVI);
@@ -892,7 +892,7 @@ MACHINE_CONFIG_START(polepos_state::polepos)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* some interleaving */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_polepos, this));
+ MCFG_MACHINE_RESET_OVERRIDE(polepos_state,polepos)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", polepos_state, polepos_scanline, "screen", 0, 1)
@@ -920,7 +920,7 @@ MACHINE_CONFIG_START(polepos_state::polepos)
MCFG_DEFAULT_LAYOUT(layout_polepos)
MCFG_PALETTE_INIT_OWNER(polepos_state,polepos)
- set_video_start_cb(config, driver_callback_delegate(&video_start_polepos, this));
+ MCFG_VIDEO_START_OVERRIDE(polepos_state,polepos)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1005,7 +1005,7 @@ MACHINE_CONFIG_START(polepos_state::topracern)
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* some interleaving */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_polepos, this));
+ MCFG_MACHINE_RESET_OVERRIDE(polepos_state,polepos)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", polepos_state, polepos_scanline, "screen", 0, 1)
@@ -1033,7 +1033,7 @@ MACHINE_CONFIG_START(polepos_state::topracern)
MCFG_DEFAULT_LAYOUT(layout_topracer)
MCFG_PALETTE_INIT_OWNER(polepos_state,polepos)
- set_video_start_cb(config, driver_callback_delegate(&video_start_polepos, this));
+ MCFG_VIDEO_START_OVERRIDE(polepos_state,polepos)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
diff --git a/src/mame/drivers/powerbal.cpp b/src/mame/drivers/powerbal.cpp
index 89ec8d99bab..46b92ae4347 100644
--- a/src/mame/drivers/powerbal.cpp
+++ b/src/mame/drivers/powerbal.cpp
@@ -45,10 +45,10 @@ private:
int m_bg_yoffset;
TILE_GET_INFO_MEMBER(powerbal_get_bg_tile_info);
- void machine_start_powerbal() ATTR_COLD;
- void machine_reset_powerbal();
- void video_start_powerbal() ATTR_COLD;
- void video_start_atombjt() ATTR_COLD;
+ DECLARE_MACHINE_START(powerbal);
+ DECLARE_MACHINE_RESET(powerbal);
+ DECLARE_VIDEO_START(powerbal);
+ DECLARE_VIDEO_START(atombjt);
uint32_t screen_update_powerbal(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites_powerbal( bitmap_ind16 &bitmap, const rectangle &cliprect );
DECLARE_WRITE16_MEMBER(magicstk_coin_eeprom_w);
@@ -555,7 +555,7 @@ void powerbal_state::draw_sprites_powerbal(bitmap_ind16 &bitmap, const rectangle
}
}
-void powerbal_state::video_start_powerbal()
+VIDEO_START_MEMBER(powerbal_state,powerbal)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(powerbal_state::powerbal_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
@@ -564,7 +564,7 @@ void powerbal_state::video_start_powerbal()
m_bg_tilemap->set_scrolly(0, m_bg_yoffset);
}
-void powerbal_state::video_start_atombjt()
+VIDEO_START_MEMBER(powerbal_state,atombjt)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(powerbal_state::powerbal_get_bg_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
@@ -614,12 +614,12 @@ GFXDECODE_END
-void powerbal_state::machine_start_powerbal()
+MACHINE_START_MEMBER(powerbal_state,powerbal)
{
save_item(NAME(m_tilebank));
}
-void powerbal_state::machine_reset_powerbal()
+MACHINE_RESET_MEMBER(powerbal_state,powerbal)
{
m_tilebank = 0;
configure_oki_banks();
@@ -632,8 +632,8 @@ MACHINE_CONFIG_START(powerbal_state::powerbal)
MCFG_DEVICE_PROGRAM_MAP(powerbal_main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", powerbal_state, irq2_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_powerbal, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_powerbal, this));
+ MCFG_MACHINE_START_OVERRIDE(powerbal_state,powerbal)
+ MCFG_MACHINE_RESET_OVERRIDE(powerbal_state,powerbal)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -648,7 +648,7 @@ MACHINE_CONFIG_START(powerbal_state::powerbal)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_powerbal, this));
+ MCFG_VIDEO_START_OVERRIDE(powerbal_state,powerbal)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -668,8 +668,8 @@ MACHINE_CONFIG_START(powerbal_state::magicstk)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_EEPROM_SERIAL_DEFAULT_VALUE(0)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_powerbal, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_powerbal, this));
+ MCFG_MACHINE_START_OVERRIDE(powerbal_state,powerbal)
+ MCFG_MACHINE_RESET_OVERRIDE(powerbal_state,powerbal)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -684,7 +684,7 @@ MACHINE_CONFIG_START(powerbal_state::magicstk)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_powerbal, this));
+ MCFG_VIDEO_START_OVERRIDE(powerbal_state,powerbal)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -706,7 +706,7 @@ MACHINE_CONFIG_START(powerbal_state::atombjt)
MCFG_SCREEN_SIZE(512, 256) \
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 2*8, 30*8-1) \
- set_video_start_cb(config, driver_callback_delegate(&video_start_atombjt, this));
+ MCFG_VIDEO_START_OVERRIDE(powerbal_state,atombjt)
MACHINE_CONFIG_END
/*
diff --git a/src/mame/drivers/powerins.cpp b/src/mame/drivers/powerins.cpp
index d6ca4b900d8..007e48b3274 100644
--- a/src/mame/drivers/powerins.cpp
+++ b/src/mame/drivers/powerins.cpp
@@ -296,7 +296,7 @@ GFXDECODE_END
***************************************************************************/
-void powerins_state::machine_start_powerinsa()
+MACHINE_START_MEMBER(powerins_state, powerinsa)
{
membank("okibank")->configure_entries(0, 5, memregion("oki1")->base() + 0x30000, 0x10000);
}
@@ -360,7 +360,7 @@ MACHINE_CONFIG_START(powerins_state::powerinsa)
MCFG_DEVICE_REMOVE("soundcpu")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_powerinsa, this));
+ MCFG_MACHINE_START_OVERRIDE(powerins_state, powerinsa)
MCFG_DEVICE_REPLACE("oki1", OKIM6295, 990000, okim6295_device::PIN7_LOW) // pin7 not verified
MCFG_DEVICE_ADDRESS_MAP(0, powerinsa_oki_map)
diff --git a/src/mame/drivers/primo.cpp b/src/mame/drivers/primo.cpp
index 6f421323ff6..079b2a643d9 100644
--- a/src/mame/drivers/primo.cpp
+++ b/src/mame/drivers/primo.cpp
@@ -304,7 +304,7 @@ MACHINE_CONFIG_START(primo_state::primob32)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(primob_port)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_primob, this));
+ MCFG_MACHINE_RESET_OVERRIDE(primo_state, primob)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(primo_state::primob48)
@@ -312,7 +312,7 @@ MACHINE_CONFIG_START(primo_state::primob48)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(primob_port)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_primob, this));
+ MCFG_MACHINE_RESET_OVERRIDE(primo_state, primob)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(primo_state::primob64)
@@ -320,7 +320,7 @@ MACHINE_CONFIG_START(primo_state::primob64)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(primob_port)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_primob, this));
+ MCFG_MACHINE_RESET_OVERRIDE(primo_state, primob)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(primo_state::primoc64)
@@ -328,7 +328,7 @@ MACHINE_CONFIG_START(primo_state::primoc64)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(primob_port)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_primob, this));
+ MCFG_MACHINE_RESET_OVERRIDE(primo_state, primob)
MACHINE_CONFIG_END
ROM_START( primoa32 )
diff --git a/src/mame/drivers/psikyo.cpp b/src/mame/drivers/psikyo.cpp
index eec86586adb..389b268074e 100644
--- a/src/mame/drivers/psikyo.cpp
+++ b/src/mame/drivers/psikyo.cpp
@@ -1048,7 +1048,7 @@ MACHINE_CONFIG_START(psikyo_state::sngkace)
MCFG_PALETTE_ADD("palette", 0x1000)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- set_video_start_cb(config, driver_callback_delegate(&video_start_sngkace, this));
+ MCFG_VIDEO_START_OVERRIDE(psikyo_state,sngkace)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1094,7 +1094,7 @@ MACHINE_CONFIG_START(psikyo_state::gunbird)
MCFG_PALETTE_ADD("palette", 0x1000)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- set_video_start_cb(config, driver_callback_delegate(&video_start_psikyo, this));
+ MCFG_VIDEO_START_OVERRIDE(psikyo_state,psikyo)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1135,7 +1135,7 @@ MACHINE_CONFIG_START(psikyo_state::s1945bl) /* Bootleg hardware based on the unp
MCFG_PALETTE_ADD("palette", 0x1000)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- set_video_start_cb(config, driver_callback_delegate(&video_start_psikyo, this));
+ MCFG_VIDEO_START_OVERRIDE(psikyo_state,psikyo)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1180,7 +1180,7 @@ MACHINE_CONFIG_START(psikyo_state::s1945)
MCFG_PALETTE_ADD("palette", 0x1000)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- set_video_start_cb(config, driver_callback_delegate(&video_start_psikyo, this));
+ MCFG_VIDEO_START_OVERRIDE(psikyo_state,psikyo)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/psx.cpp b/src/mame/drivers/psx.cpp
index e749e8ec016..0b4479e4e71 100644
--- a/src/mame/drivers/psx.cpp
+++ b/src/mame/drivers/psx.cpp
@@ -51,7 +51,7 @@ public:
uint8_t m_cd_io_status;
uint8_t m_cd_param[8];
uint8_t m_cd_result[8];
- void machine_reset_psx();
+ DECLARE_MACHINE_RESET(psx);
inline void ATTR_PRINTF(3,4) verboselog( int n_level, const char *s_fmt, ... );
void psxexe_conv32(uint32_t *uint32);
int load_psxexe(std::vector<uint8_t> buffer);
diff --git a/src/mame/drivers/psychic5.cpp b/src/mame/drivers/psychic5.cpp
index 1576aeae0c9..e80b5b709dd 100644
--- a/src/mame/drivers/psychic5.cpp
+++ b/src/mame/drivers/psychic5.cpp
@@ -339,14 +339,14 @@ Notes (23-Jan-2016 AS):
#include "speaker.h"
-void psychic5_state::machine_start_psychic5()
+MACHINE_START_MEMBER(psychic5_state, psychic5)
{
membank("mainbank")->configure_entries(0, 4, memregion("maincpu")->base() + 0x10000, 0x4000);
save_item(NAME(m_bank_latch));
}
-void psychic5_state::machine_start_bombsa()
+MACHINE_START_MEMBER(psychic5_state, bombsa)
{
membank("mainbank")->configure_entries(0, 8, memregion("maincpu")->base() + 0x10000, 0x4000);
@@ -740,7 +740,7 @@ MACHINE_CONFIG_START(psychic5_state::psychic5)
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* Allow time for 2nd cpu to interleave */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_psychic5, this));
+ MCFG_MACHINE_START_OVERRIDE(psychic5_state,psychic5)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -752,8 +752,8 @@ MACHINE_CONFIG_START(psychic5_state::psychic5)
MCFG_DEVICE_ADD("blend", JALECO_BLEND, 0)
- set_video_start_cb(config, driver_callback_delegate(&video_start_psychic5, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_psychic5, this));
+ MCFG_VIDEO_START_OVERRIDE(psychic5_state,psychic5)
+ MCFG_VIDEO_RESET_OVERRIDE(psychic5_state,psychic5)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -794,7 +794,7 @@ MACHINE_CONFIG_START(psychic5_state::bombsa)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_bombsa, this));
+ MCFG_MACHINE_START_OVERRIDE(psychic5_state,bombsa)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -804,8 +804,8 @@ MACHINE_CONFIG_START(psychic5_state::bombsa)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_bombsa)
MCFG_PALETTE_ADD("palette", 768)
- set_video_start_cb(config, driver_callback_delegate(&video_start_bombsa, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_psychic5, this));
+ MCFG_VIDEO_START_OVERRIDE(psychic5_state,bombsa)
+ MCFG_VIDEO_RESET_OVERRIDE(psychic5_state,psychic5)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/puckpkmn.cpp b/src/mame/drivers/puckpkmn.cpp
index 0268a8098aa..78acc618a48 100644
--- a/src/mame/drivers/puckpkmn.cpp
+++ b/src/mame/drivers/puckpkmn.cpp
@@ -284,7 +284,7 @@ MACHINE_CONFIG_START(md_boot_state::puckpkmn)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(puckpkmn_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_md_bootleg, this));
+ MCFG_MACHINE_START_OVERRIDE(md_boot_state, md_bootleg)
MCFG_DEVICE_REMOVE("genesis_snd_z80")
diff --git a/src/mame/drivers/pulsar.cpp b/src/mame/drivers/pulsar.cpp
index f6f33ad2cdc..68d2c46e03c 100644
--- a/src/mame/drivers/pulsar.cpp
+++ b/src/mame/drivers/pulsar.cpp
@@ -60,7 +60,7 @@ public:
{ }
void init_pulsar();
- void machine_reset_pulsar();
+ DECLARE_MACHINE_RESET(pulsar);
TIMER_CALLBACK_MEMBER(pulsar_reset);
DECLARE_WRITE8_MEMBER(baud_w);
DECLARE_WRITE8_MEMBER(ppi_pa_w);
@@ -188,7 +188,7 @@ static void pulsar_floppies(device_slot_interface &device)
static INPUT_PORTS_START( pulsar )
INPUT_PORTS_END
-void pulsar_state::machine_reset_pulsar()
+MACHINE_RESET_MEMBER( pulsar_state, pulsar )
{
machine().scheduler().timer_set(attotime::from_usec(3), timer_expired_delegate(FUNC(pulsar_state::pulsar_reset),this));
membank("bankr0")->set_entry(0); // point at rom
@@ -217,7 +217,7 @@ MACHINE_CONFIG_START(pulsar_state::pulsar)
MCFG_DEVICE_PROGRAM_MAP(pulsar_mem)
MCFG_DEVICE_IO_MAP(pulsar_io)
MCFG_Z80_DAISY_CHAIN(daisy_chain_intf)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pulsar, this));
+ MCFG_MACHINE_RESET_OVERRIDE(pulsar_state, pulsar)
/* Devices */
MCFG_DEVICE_ADD("ppi", I8255, 0)
diff --git a/src/mame/drivers/punchout.cpp b/src/mame/drivers/punchout.cpp
index 8472def8bc3..3feeffa8e4c 100644
--- a/src/mame/drivers/punchout.cpp
+++ b/src/mame/drivers/punchout.cpp
@@ -616,7 +616,7 @@ WRITE_LINE_MEMBER(punchout_state::vblank_irq)
}
-void punchout_state::machine_reset_spnchout()
+MACHINE_RESET_MEMBER(punchout_state, spnchout)
{
m_rp5h01->enable_w(0); // _CE -> GND
}
@@ -692,7 +692,7 @@ MACHINE_CONFIG_START(punchout_state::spnchout)
MCFG_RP5C01_REMOVE_BATTERY()
MCFG_RP5H01_ADD("rp5h01")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_spnchout, this));
+ MCFG_MACHINE_RESET_OVERRIDE(punchout_state, spnchout)
MACHINE_CONFIG_END
@@ -706,7 +706,7 @@ MACHINE_CONFIG_START(punchout_state::armwrest)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_armwrest)
- set_video_start_cb(config, driver_callback_delegate(&video_start_armwrest, this));
+ MCFG_VIDEO_START_OVERRIDE(punchout_state, armwrest)
MCFG_SCREEN_MODIFY("top")
MCFG_SCREEN_UPDATE_DRIVER(punchout_state, screen_update_armwrest_top)
MCFG_SCREEN_MODIFY("bottom")
diff --git a/src/mame/drivers/qdrmfgp.cpp b/src/mame/drivers/qdrmfgp.cpp
index bdde9fb64f7..e7e8fa54c73 100644
--- a/src/mame/drivers/qdrmfgp.cpp
+++ b/src/mame/drivers/qdrmfgp.cpp
@@ -495,20 +495,20 @@ WRITE_LINE_MEMBER(qdrmfgp_state::k054539_irq1_gen)
*
*************************************/
-void qdrmfgp_state::machine_start_qdrmfgp()
+MACHINE_START_MEMBER(qdrmfgp_state,qdrmfgp)
{
save_item(NAME(m_control));
save_item(NAME(m_pal));
save_item(NAME(m_gp2_irq_control));
}
-void qdrmfgp_state::machine_start_qdrmfgp2()
+MACHINE_START_MEMBER(qdrmfgp_state,qdrmfgp2)
{
/* sound irq (CCU? 240Hz) */
m_gp2_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(qdrmfgp_state::gp2_timer_callback), this));
m_gp2_timer->adjust(attotime::from_hz(XTAL(18'432'000)/76800), 0, attotime::from_hz(XTAL(18'432'000)/76800));
- machine_start_qdrmfgp();
+ MACHINE_START_CALL_MEMBER( qdrmfgp );
}
void qdrmfgp_state::machine_reset()
@@ -530,7 +530,7 @@ MACHINE_CONFIG_START(qdrmfgp_state::qdrmfgp)
MCFG_DEVICE_PROGRAM_MAP(qdrmfgp_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", qdrmfgp_state, qdrmfgp_interrupt, "screen", 0, 1)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_qdrmfgp, this));
+ MCFG_MACHINE_START_OVERRIDE(qdrmfgp_state,qdrmfgp)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, true)
@@ -548,7 +548,7 @@ MACHINE_CONFIG_START(qdrmfgp_state::qdrmfgp)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_qdrmfgp, this));
+ MCFG_VIDEO_START_OVERRIDE(qdrmfgp_state,qdrmfgp)
MCFG_DEVICE_ADD("k056832", K056832, 0)
MCFG_K056832_CB(qdrmfgp_state, qdrmfgp_tile_callback)
@@ -576,7 +576,7 @@ MACHINE_CONFIG_START(qdrmfgp_state::qdrmfgp2)
MCFG_DEVICE_PROGRAM_MAP(qdrmfgp2_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", qdrmfgp_state, qdrmfgp2_interrupt)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_qdrmfgp2, this));
+ MCFG_MACHINE_START_OVERRIDE(qdrmfgp_state,qdrmfgp2)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", nullptr, true)
@@ -594,7 +594,7 @@ MACHINE_CONFIG_START(qdrmfgp_state::qdrmfgp2)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_qdrmfgp2, this));
+ MCFG_VIDEO_START_OVERRIDE(qdrmfgp_state,qdrmfgp2)
MCFG_DEVICE_ADD("k056832", K056832, 0)
MCFG_K056832_CB(qdrmfgp_state, qdrmfgp2_tile_callback)
diff --git a/src/mame/drivers/qix.cpp b/src/mame/drivers/qix.cpp
index 4a922c6ad0d..224537cc677 100644
--- a/src/mame/drivers/qix.cpp
+++ b/src/mame/drivers/qix.cpp
@@ -662,7 +662,7 @@ MACHINE_CONFIG_START(qix_state::mcu)
MCFG_M68705_PORTA_W_CB(WRITE8(*this, qix_state, qix_68705_portA_w))
MCFG_M68705_PORTB_W_CB(WRITE8(*this, qix_state, qix_68705_portB_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_qixmcu, this));
+ MCFG_MACHINE_START_OVERRIDE(qix_state,qixmcu)
MCFG_DEVICE_MODIFY("pia0")
MCFG_PIA_READPB_HANDLER(READ8(*this, qix_state, qixmcu_coin_r))
diff --git a/src/mame/drivers/quasar.cpp b/src/mame/drivers/quasar.cpp
index 616b85927f2..350d5e08657 100644
--- a/src/mame/drivers/quasar.cpp
+++ b/src/mame/drivers/quasar.cpp
@@ -279,9 +279,9 @@ INTERRUPT_GEN_MEMBER(quasar_state::quasar_interrupt)
// Quasar S2650 Main CPU, I8035 sound board
// ****************************************
-void quasar_state::machine_start_quasar()
+MACHINE_START_MEMBER(quasar_state,quasar)
{
- machine_start_cvs();
+ MACHINE_START_CALL_MEMBER(cvs);
/* register state save */
save_item(NAME(m_effectcontrol));
@@ -289,9 +289,9 @@ void quasar_state::machine_start_quasar()
save_item(NAME(m_io_page));
}
-void quasar_state::machine_reset_quasar()
+MACHINE_RESET_MEMBER(quasar_state,quasar)
{
- machine_reset_cvs();
+ MACHINE_RESET_CALL_MEMBER(cvs);
m_effectcontrol = 0;
m_page = 0;
@@ -314,8 +314,8 @@ MACHINE_CONFIG_START(quasar_state::quasar)
MCFG_MCS48_PORT_T1_IN_CB(READLINE(*this, quasar_state, audio_t1_r))
MCFG_MCS48_PORT_P1_OUT_CB(WRITE8("dac", dac_byte_interface, write))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_quasar, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_quasar, this));
+ MCFG_MACHINE_START_OVERRIDE(quasar_state,quasar)
+ MCFG_MACHINE_RESET_OVERRIDE(quasar_state,quasar)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
@@ -342,7 +342,7 @@ MACHINE_CONFIG_START(quasar_state::quasar)
MCFG_DEVICE_ADD("s2636_2", S2636, 0)
MCFG_S2636_OFFSETS(CVS_S2636_Y_OFFSET - 8, CVS_S2636_X_OFFSET - 9)
- set_video_start_cb(config, driver_callback_delegate(&video_start_quasar, this));
+ MCFG_VIDEO_START_OVERRIDE(quasar_state,quasar)
/* sound hardware */
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
diff --git a/src/mame/drivers/r2dx_v33.cpp b/src/mame/drivers/r2dx_v33.cpp
index 791a693fffb..0fc49f6fea4 100644
--- a/src/mame/drivers/r2dx_v33.cpp
+++ b/src/mame/drivers/r2dx_v33.cpp
@@ -120,8 +120,8 @@ public:
INTERRUPT_GEN_MEMBER(rdx_v33_interrupt);
- void machine_reset_r2dx_v33();
- void machine_reset_nzeroteam();
+ DECLARE_MACHINE_RESET(r2dx_v33);
+ DECLARE_MACHINE_RESET(nzeroteam);
void nzerotea(machine_config &config);
void rdx_v33(machine_config &config);
@@ -765,12 +765,12 @@ static INPUT_PORTS_START( zerotm2k )
INPUT_PORTS_END
-void r2dx_v33_state::machine_reset_r2dx_v33()
+MACHINE_RESET_MEMBER(r2dx_v33_state,r2dx_v33)
{
common_reset();
}
-void r2dx_v33_state::machine_reset_nzeroteam()
+MACHINE_RESET_MEMBER(r2dx_v33_state,nzeroteam)
{
common_reset();
@@ -791,7 +791,7 @@ MACHINE_CONFIG_START(r2dx_v33_state::rdx_v33)
MCFG_DEVICE_PROGRAM_MAP(rdx_v33_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", r2dx_v33_state, rdx_v33_interrupt)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_r2dx_v33, this));
+ MCFG_MACHINE_RESET_OVERRIDE(r2dx_v33_state,r2dx_v33)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
@@ -807,7 +807,7 @@ MACHINE_CONFIG_START(r2dx_v33_state::rdx_v33)
MCFG_PALETTE_ADD("palette", 2048)
//MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_raiden2, this));
+ MCFG_VIDEO_START_OVERRIDE(raiden2_state,raiden2)
MCFG_DEVICE_ADD("crtc", SEIBU_CRTC, 0)
MCFG_SEIBU_CRTC_LAYER_EN_CB(WRITE16(*this, raiden2_state, tilemap_enable_w))
@@ -828,7 +828,7 @@ MACHINE_CONFIG_START(r2dx_v33_state::nzerotea)
MCFG_DEVICE_PROGRAM_MAP(nzerotea_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", r2dx_v33_state, rdx_v33_interrupt)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_nzeroteam, this));
+ MCFG_MACHINE_RESET_OVERRIDE(r2dx_v33_state,nzeroteam)
MCFG_DEVICE_ADD("audiocpu", Z80, 14318180/4)
MCFG_DEVICE_PROGRAM_MAP(zeroteam_sound_map)
@@ -845,7 +845,7 @@ MACHINE_CONFIG_START(r2dx_v33_state::nzerotea)
MCFG_PALETTE_ADD("palette", 2048)
//MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_raiden2, this));
+ MCFG_VIDEO_START_OVERRIDE(raiden2_state,raiden2)
MCFG_DEVICE_ADD("crtc", SEIBU_CRTC, 0)
MCFG_SEIBU_CRTC_LAYER_EN_CB(WRITE16(*this, raiden2_state, tilemap_enable_w))
diff --git a/src/mame/drivers/radio86.cpp b/src/mame/drivers/radio86.cpp
index 95f466cf8c8..36395c72287 100644
--- a/src/mame/drivers/radio86.cpp
+++ b/src/mame/drivers/radio86.cpp
@@ -356,7 +356,7 @@ MACHINE_CONFIG_START(radio86_state::radio86)
MCFG_DEVICE_ADD("maincpu",I8080, XTAL(16'000'000) / 9)
MCFG_DEVICE_PROGRAM_MAP(radio86_mem)
MCFG_DEVICE_IO_MAP(radio86_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_radio86, this));
+ MCFG_MACHINE_RESET_OVERRIDE(radio86_state, radio86 )
MCFG_DEVICE_ADD("ppi8255_1", I8255, 0)
MCFG_I8255_OUT_PORTA_CB(WRITE8(*this, radio86_state, radio86_8255_porta_w2))
diff --git a/src/mame/drivers/raiden.cpp b/src/mame/drivers/raiden.cpp
index c8f76110094..acf620a1906 100644
--- a/src/mame/drivers/raiden.cpp
+++ b/src/mame/drivers/raiden.cpp
@@ -427,7 +427,7 @@ MACHINE_CONFIG_START(raiden_state::raidenb)
MCFG_DEVICE_PROGRAM_MAP(raidenb_main_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_raidenb, this));
+ MCFG_VIDEO_START_OVERRIDE(raiden_state,raidenb)
MCFG_DEVICE_ADD("crtc", SEIBU_CRTC, 0)
MCFG_SEIBU_CRTC_LAYER_EN_CB(WRITE16(*this, raiden_state, raidenb_layer_enable_w))
diff --git a/src/mame/drivers/raiden2.cpp b/src/mame/drivers/raiden2.cpp
index 3a1d0c0b7a7..c1d61acb00b 100644
--- a/src/mame/drivers/raiden2.cpp
+++ b/src/mame/drivers/raiden2.cpp
@@ -522,7 +522,7 @@ TILE_GET_INFO_MEMBER(raiden2_state::get_text_tile_info)
/* VIDEO START (move to video file) */
-void raiden2_state::video_start_raiden2()
+VIDEO_START_MEMBER(raiden2_state,raiden2)
{
back_data = make_unique_clear<uint16_t[]>(0x800/2);
fore_data = make_unique_clear<uint16_t[]>(0x800/2);
@@ -743,7 +743,7 @@ void raiden2_state::common_reset()
tx_bank = 0;
}
-void raiden2_state::machine_reset_raiden2()
+MACHINE_RESET_MEMBER(raiden2_state,raiden2)
{
common_reset();
sprcpt_init();
@@ -755,7 +755,7 @@ void raiden2_state::machine_reset_raiden2()
//cop_init();
}
-void raiden2_state::machine_reset_raidendx()
+MACHINE_RESET_MEMBER(raiden2_state,raidendx)
{
common_reset();
sprcpt_init();
@@ -768,7 +768,7 @@ void raiden2_state::machine_reset_raidendx()
//cop_init();
}
-void raiden2_state::machine_reset_zeroteam()
+MACHINE_RESET_MEMBER(raiden2_state,zeroteam)
{
bg_bank = 0;
fg_bank = 2;
@@ -783,7 +783,7 @@ void raiden2_state::machine_reset_zeroteam()
//cop_init();
}
-void raiden2_state::machine_reset_xsedae()
+MACHINE_RESET_MEMBER(raiden2_state,xsedae)
{
bg_bank = 0;
fg_bank = 2;
@@ -1437,7 +1437,7 @@ MACHINE_CONFIG_START(raiden2_state::raiden2)
MCFG_DEVICE_PROGRAM_MAP(raiden2_mem)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", raiden2_state, raiden2_interrupt)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_raiden2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(raiden2_state,raiden2)
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(28'636'363)/8)
MCFG_DEVICE_PROGRAM_MAP(raiden2_sound_map)
@@ -1459,7 +1459,7 @@ MACHINE_CONFIG_START(raiden2_state::raiden2)
MCFG_DEVICE_ADD("raiden2cop", RAIDEN2COP, 0)
MCFG_RAIDEN2COP_VIDEORAM_OUT_CB(WRITE16(*this, raiden2_state, m_videoram_private_w))
- set_video_start_cb(config, driver_callback_delegate(&video_start_raiden2, this));
+ MCFG_VIDEO_START_OVERRIDE(raiden2_state,raiden2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1487,7 +1487,7 @@ MACHINE_CONFIG_START(raiden2_state::xsedae)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(xsedae_mem)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_xsedae, this));
+ MCFG_MACHINE_RESET_OVERRIDE(raiden2_state,xsedae)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
@@ -1499,7 +1499,7 @@ MACHINE_CONFIG_START(raiden2_state::raidendx)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(raidendx_mem)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_raidendx, this));
+ MCFG_MACHINE_RESET_OVERRIDE(raiden2_state,raidendx)
MACHINE_CONFIG_END
@@ -1510,7 +1510,7 @@ MACHINE_CONFIG_START(raiden2_state::zeroteam)
MCFG_DEVICE_PROGRAM_MAP(zeroteam_mem)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", raiden2_state, raiden2_interrupt)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_zeroteam, this));
+ MCFG_MACHINE_RESET_OVERRIDE(raiden2_state,zeroteam)
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(28'636'363)/8)
MCFG_DEVICE_PROGRAM_MAP(zeroteam_sound_map)
@@ -1533,7 +1533,7 @@ MACHINE_CONFIG_START(raiden2_state::zeroteam)
MCFG_DEVICE_ADD("raiden2cop", RAIDEN2COP, 0)
MCFG_RAIDEN2COP_VIDEORAM_OUT_CB(WRITE16(*this, raiden2_state, m_videoram_private_w))
- set_video_start_cb(config, driver_callback_delegate(&video_start_raiden2, this));
+ MCFG_VIDEO_START_OVERRIDE(raiden2_state,raiden2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/rallyx.cpp b/src/mame/drivers/rallyx.cpp
index 81c452cdc85..2f469c09906 100644
--- a/src/mame/drivers/rallyx.cpp
+++ b/src/mame/drivers/rallyx.cpp
@@ -795,7 +795,7 @@ static const char *const rallyx_sample_names[] =
*
*************************************/
-void rallyx_state::machine_start_rallyx()
+MACHINE_START_MEMBER(rallyx_state,rallyx)
{
save_item(NAME(m_last_bang));
save_item(NAME(m_stars_enable));
@@ -833,7 +833,7 @@ MACHINE_CONFIG_START(rallyx_state::rallyx)
MCFG_WATCHDOG_ADD("watchdog")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_rallyx, this));
+ MCFG_MACHINE_START_OVERRIDE(rallyx_state,rallyx)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -851,7 +851,7 @@ MACHINE_CONFIG_START(rallyx_state::rallyx)
MCFG_PALETTE_INDIRECT_ENTRIES(32)
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_INIT_OWNER(rallyx_state,rallyx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_rallyx, this));
+ MCFG_VIDEO_START_OVERRIDE(rallyx_state,rallyx)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -885,7 +885,7 @@ MACHINE_CONFIG_START(rallyx_state::jungler)
MCFG_WATCHDOG_ADD("watchdog")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_rallyx, this));
+ MCFG_MACHINE_START_OVERRIDE(rallyx_state,rallyx)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -903,7 +903,7 @@ MACHINE_CONFIG_START(rallyx_state::jungler)
MCFG_PALETTE_INDIRECT_ENTRIES(32+64)
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_INIT_OWNER(rallyx_state,jungler)
- set_video_start_cb(config, driver_callback_delegate(&video_start_jungler, this));
+ MCFG_VIDEO_START_OVERRIDE(rallyx_state,jungler)
/* sound hardware */
MCFG_DEVICE_ADD("timeplt_audio", LOCOMOTN_AUDIO)
@@ -916,7 +916,7 @@ MACHINE_CONFIG_START(rallyx_state::tactcian)
/* basic machine hardware */
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_locomotn, this));
+ MCFG_VIDEO_START_OVERRIDE(rallyx_state,locomotn)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(rallyx_state, screen_update_locomotn)
MACHINE_CONFIG_END
@@ -931,7 +931,7 @@ MACHINE_CONFIG_START(rallyx_state::locomotn)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(rallyx_state, screen_update_locomotn)
- set_video_start_cb(config, driver_callback_delegate(&video_start_locomotn, this));
+ MCFG_VIDEO_START_OVERRIDE(rallyx_state,locomotn)
MACHINE_CONFIG_END
@@ -944,7 +944,7 @@ MACHINE_CONFIG_START(rallyx_state::commsega)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(rallyx_state, screen_update_locomotn)
- set_video_start_cb(config, driver_callback_delegate(&video_start_commsega, this));
+ MCFG_VIDEO_START_OVERRIDE(rallyx_state,commsega)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/ravens.cpp b/src/mame/drivers/ravens.cpp
index 214ca027312..9d74a4f245d 100644
--- a/src/mame/drivers/ravens.cpp
+++ b/src/mame/drivers/ravens.cpp
@@ -99,7 +99,7 @@ public:
DECLARE_WRITE8_MEMBER(display_w);
DECLARE_WRITE8_MEMBER(leds_w);
void kbd_put(u8 data);
- void machine_reset_ravens2();
+ DECLARE_MACHINE_RESET(ravens2);
DECLARE_READ_LINE_MEMBER(cass_r);
DECLARE_WRITE_LINE_MEMBER(cass_w);
DECLARE_QUICKLOAD_LOAD_MEMBER( ravens );
@@ -202,7 +202,7 @@ WRITE8_MEMBER( ravens_state::port1c_w )
m_term_char = data;
}
-void ravens_state::machine_reset_ravens2()
+MACHINE_RESET_MEMBER( ravens_state, ravens2 )
{
m_term_data = 0x80;
m_digits[6] = 0;
@@ -364,7 +364,7 @@ MACHINE_CONFIG_START(ravens_state::ravens2)
MCFG_S2650_SENSE_INPUT(READLINE(*this, ravens_state, cass_r))
MCFG_S2650_FLAG_OUTPUT(WRITELINE(*this, ravens_state, cass_w))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ravens2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(ravens_state, ravens2)
/* video hardware */
MCFG_DEVICE_ADD("terminal", GENERIC_TERMINAL, 0)
diff --git a/src/mame/drivers/rbisland.cpp b/src/mame/drivers/rbisland.cpp
index 6c86b77a753..cdc848fb709 100644
--- a/src/mame/drivers/rbisland.cpp
+++ b/src/mame/drivers/rbisland.cpp
@@ -737,7 +737,7 @@ MACHINE_CONFIG_START(rbisland_state::jumping)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_jumping, this));
+ MCFG_VIDEO_START_OVERRIDE(rbisland_state,jumping)
MCFG_DEVICE_ADD("pc080sn", PC080SN, 0)
MCFG_PC080SN_GFX_REGION(1)
diff --git a/src/mame/drivers/rc702.cpp b/src/mame/drivers/rc702.cpp
index d34e559d162..b10f0ce2a71 100644
--- a/src/mame/drivers/rc702.cpp
+++ b/src/mame/drivers/rc702.cpp
@@ -58,7 +58,7 @@ public:
}
void init_rc702();
- void machine_reset_rc702();
+ DECLARE_MACHINE_RESET(rc702);
DECLARE_READ8_MEMBER(memory_read_byte);
DECLARE_WRITE8_MEMBER(memory_write_byte);
DECLARE_WRITE8_MEMBER(port14_w);
@@ -147,7 +147,7 @@ static INPUT_PORTS_START( rc702 )
PORT_DIPSETTING( 0x00, DEF_STR( On ))
INPUT_PORTS_END
-void rc702_state::machine_reset_rc702()
+MACHINE_RESET_MEMBER( rc702_state, rc702 )
{
membank("bankr0")->set_entry(0); // point at rom
membank("bankw0")->set_entry(0); // always write to ram
@@ -334,7 +334,7 @@ MACHINE_CONFIG_START(rc702_state::rc702)
MCFG_DEVICE_IO_MAP(rc702_io)
MCFG_Z80_DAISY_CHAIN(daisy_chain_intf)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_rc702, this));
+ MCFG_MACHINE_RESET_OVERRIDE(rc702_state, rc702)
MCFG_DEVICE_ADD("ctc_clock", CLOCK, 614000)
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(*this, rc702_state, clock_w))
diff --git a/src/mame/drivers/rd100.cpp b/src/mame/drivers/rd100.cpp
index f0e09108b03..01f7fd0a265 100644
--- a/src/mame/drivers/rd100.cpp
+++ b/src/mame/drivers/rd100.cpp
@@ -33,7 +33,7 @@ public:
{ }
void init_rd100();
- void machine_reset_rd100();
+ DECLARE_MACHINE_RESET(rd100);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void rd100(machine_config &config);
@@ -93,7 +93,7 @@ void rd100_state::init_rd100()
{
}
-void rd100_state::machine_reset_rd100()
+MACHINE_RESET_MEMBER( rd100_state, rd100 )
{
}
@@ -102,7 +102,7 @@ MACHINE_CONFIG_START(rd100_state::rd100)
MCFG_DEVICE_ADD("maincpu", MC6809, XTAL(4'000'000)) // MC6809P???
MCFG_DEVICE_PROGRAM_MAP(mem_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_rd100, this));
+ MCFG_MACHINE_RESET_OVERRIDE(rd100_state, rd100)
MCFG_DEVICE_ADD("pia1", PIA6821, 0)
diff --git a/src/mame/drivers/rm380z.cpp b/src/mame/drivers/rm380z.cpp
index c2c16c72eeb..ce294a2e278 100644
--- a/src/mame/drivers/rm380z.cpp
+++ b/src/mame/drivers/rm380z.cpp
@@ -279,7 +279,7 @@ MACHINE_CONFIG_START(rm380z_state::rm480z)
MCFG_DEVICE_PROGRAM_MAP(rm480z_mem)
MCFG_DEVICE_IO_MAP(rm480z_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_rm480z, this));
+ MCFG_MACHINE_RESET_OVERRIDE(rm380z_state, rm480z)
/* video hardware */
// MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(50)
diff --git a/src/mame/drivers/rohga.cpp b/src/mame/drivers/rohga.cpp
index 0cd0dd5cf52..840e11ecc85 100644
--- a/src/mame/drivers/rohga.cpp
+++ b/src/mame/drivers/rohga.cpp
@@ -1037,7 +1037,7 @@ MACHINE_CONFIG_START(rohga_state::wizdfire)
MCFG_DECO146_SOUNDLATCH_IRQ_CB(INPUTLINE("audiocpu", 0))
MCFG_DECO146_SET_INTERFACE_SCRAMBLE_REVERSE
- set_video_start_cb(config, driver_callback_delegate(&video_start_wizdfire, this));
+ MCFG_VIDEO_START_OVERRIDE(rohga_state, wizdfire)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1125,7 +1125,7 @@ MACHINE_CONFIG_START(rohga_state::nitrobal)
MCFG_DECO_SPRITE_GFX_REGION(4)
MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
- set_video_start_cb(config, driver_callback_delegate(&video_start_wizdfire, this));
+ MCFG_VIDEO_START_OVERRIDE(rohga_state, wizdfire)
MCFG_DECO146_ADD("ioprot")
MCFG_DECO146_IN_PORTA_CB(IOPORT("INPUTS"))
diff --git a/src/mame/drivers/route16.cpp b/src/mame/drivers/route16.cpp
index b2f3b2df5d5..585681451d6 100644
--- a/src/mame/drivers/route16.cpp
+++ b/src/mame/drivers/route16.cpp
@@ -596,12 +596,12 @@ static INPUT_PORTS_START( ttmahjng )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
INPUT_PORTS_END
-void route16_state::machine_start_speakres()
+MACHINE_START_MEMBER(route16_state, speakres)
{
save_item(NAME(m_speakres_vrx));
}
-void route16_state::machine_start_ttmahjng()
+MACHINE_START_MEMBER(route16_state, ttmahjng)
{
save_item(NAME(m_ttmahjng_port_select));
}
@@ -696,7 +696,7 @@ MACHINE_CONFIG_START(route16_state::speakres)
MCFG_DEVICE_MODIFY("cpu1")
MCFG_DEVICE_PROGRAM_MAP(speakres_cpu1_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_speakres, this));
+ MCFG_MACHINE_START_OVERRIDE(route16_state, speakres)
MACHINE_CONFIG_END
@@ -715,7 +715,7 @@ MACHINE_CONFIG_START(route16_state::ttmahjng)
MCFG_DEVICE_PROGRAM_MAP(ttmahjng_cpu1_map)
MCFG_DEVICE_REMOVE_ADDRESS_MAP(AS_IO)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ttmahjng, this));
+ MCFG_MACHINE_START_OVERRIDE(route16_state, ttmahjng)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
diff --git a/src/mame/drivers/rpunch.cpp b/src/mame/drivers/rpunch.cpp
index 340dc7b265f..8d70ef8e0db 100644
--- a/src/mame/drivers/rpunch.cpp
+++ b/src/mame/drivers/rpunch.cpp
@@ -487,7 +487,7 @@ MACHINE_CONFIG_START(rpunch_state::rpunch)
MCFG_DEVICE_ADD("gga", VSYSTEM_GGA, VIDEO_CLOCK/2) // verified from rpunch schematics
MCFG_VSYSTEM_GGA_REGISTER_WRITE_CB(WRITE8(*this, rpunch_state, rpunch_gga_data_w))
- set_video_start_cb(config, driver_callback_delegate(&video_start_rpunch, this));
+ MCFG_VIDEO_START_OVERRIDE(rpunch_state,rpunch)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -503,7 +503,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(rpunch_state::svolley)
rpunch(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_svolley, this));
+ MCFG_VIDEO_START_OVERRIDE(rpunch_state,svolley)
MACHINE_CONFIG_END
@@ -538,7 +538,7 @@ MACHINE_CONFIG_START(rpunch_state::svolleybl)
MCFG_DEVICE_ADD("gga", VSYSTEM_GGA, VIDEO_CLOCK/2)
MCFG_VSYSTEM_GGA_REGISTER_WRITE_CB(WRITE8(*this, rpunch_state, rpunch_gga_data_w))
- set_video_start_cb(config, driver_callback_delegate(&video_start_rpunch, this));
+ MCFG_VIDEO_START_OVERRIDE(rpunch_state,rpunch)
/* sound hardware */
diff --git a/src/mame/drivers/runaway.cpp b/src/mame/drivers/runaway.cpp
index a937c1de25e..09a2551944f 100644
--- a/src/mame/drivers/runaway.cpp
+++ b/src/mame/drivers/runaway.cpp
@@ -377,7 +377,7 @@ MACHINE_CONFIG_START(runaway_state::qwak)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_qwak)
- set_video_start_cb(config, driver_callback_delegate(&video_start_qwak, this));
+ MCFG_VIDEO_START_OVERRIDE(runaway_state,qwak)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(runaway_state, screen_update_qwak)
diff --git a/src/mame/drivers/s11.cpp b/src/mame/drivers/s11.cpp
index e94f545c636..6ae7b96f16b 100644
--- a/src/mame/drivers/s11.cpp
+++ b/src/mame/drivers/s11.cpp
@@ -167,7 +167,7 @@ void s11_state::device_timer(emu_timer &timer, device_timer_id id, int param, vo
}
}
-void s11_state::machine_reset_s11()
+MACHINE_RESET_MEMBER( s11_state, s11 )
{
membank("bank0")->set_entry(0);
membank("bank1")->set_entry(0);
@@ -386,7 +386,7 @@ MACHINE_CONFIG_START(s11_state::s11)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M6802, XTAL(4'000'000))
MCFG_DEVICE_PROGRAM_MAP(s11_main_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_s11, this));
+ MCFG_MACHINE_RESET_OVERRIDE(s11_state, s11)
/* Video */
MCFG_DEFAULT_LAYOUT(layout_s11)
diff --git a/src/mame/drivers/s11a.cpp b/src/mame/drivers/s11a.cpp
index 8c34fad6954..04e917ad90b 100644
--- a/src/mame/drivers/s11a.cpp
+++ b/src/mame/drivers/s11a.cpp
@@ -143,9 +143,9 @@ static INPUT_PORTS_START( s11a )
INPUT_PORTS_END
-void s11a_state::machine_reset_s11a()
+MACHINE_RESET_MEMBER( s11a_state, s11a )
{
- machine_reset_s11();
+ MACHINE_RESET_CALL_MEMBER(s11);
membank("bgbank")->set_entry(0);
}
@@ -178,7 +178,7 @@ MACHINE_CONFIG_START(s11a_state::s11a)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M6808, XTAL(4'000'000))
MCFG_DEVICE_PROGRAM_MAP(s11a_main_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_s11a, this));
+ MCFG_MACHINE_RESET_OVERRIDE(s11a_state, s11a)
/* Video */
MCFG_DEFAULT_LAYOUT(layout_s11a)
diff --git a/src/mame/drivers/s11b.cpp b/src/mame/drivers/s11b.cpp
index 479d60eec8a..bf5b0226458 100644
--- a/src/mame/drivers/s11b.cpp
+++ b/src/mame/drivers/s11b.cpp
@@ -145,7 +145,7 @@ static INPUT_PORTS_START( s11b )
PORT_CONFSETTING( 0x10, "English" )
INPUT_PORTS_END
-void s11b_state::machine_reset_s11b()
+MACHINE_RESET_MEMBER( s11b_state, s11b )
{
membank("bank0")->set_entry(0);
membank("bank1")->set_entry(0);
@@ -252,7 +252,7 @@ MACHINE_CONFIG_START(s11b_state::s11b)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M6808, XTAL(4'000'000))
MCFG_DEVICE_PROGRAM_MAP(s11b_main_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_s11b, this));
+ MCFG_MACHINE_RESET_OVERRIDE(s11b_state, s11b)
/* Video */
MCFG_DEFAULT_LAYOUT(layout_s11b)
diff --git a/src/mame/drivers/s11c.cpp b/src/mame/drivers/s11c.cpp
index 2029e0770a3..69b05ae1131 100644
--- a/src/mame/drivers/s11c.cpp
+++ b/src/mame/drivers/s11c.cpp
@@ -135,7 +135,7 @@ WRITE8_MEMBER( s11c_state::bgbank_w )
// popmessage("BG bank set to %02x (%i)",data,bank);
}
*/
-void s11c_state::machine_reset_s11c()
+MACHINE_RESET_MEMBER( s11c_state, s11c )
{
// membank("bgbank")->set_entry(0);
// reset the CPUs again, so that the CPUs are starting with the right vectors (otherwise sound may die on reset)
@@ -157,7 +157,7 @@ MACHINE_CONFIG_START(s11c_state::s11c)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M6808, XTAL(4'000'000))
MCFG_DEVICE_PROGRAM_MAP(s11c_main_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_s11c, this));
+ MCFG_MACHINE_RESET_OVERRIDE(s11c_state, s11c)
/* Video */
MCFG_DEFAULT_LAYOUT(layout_s11c)
diff --git a/src/mame/drivers/s3.cpp b/src/mame/drivers/s3.cpp
index e8516e88510..e39fddbab10 100644
--- a/src/mame/drivers/s3.cpp
+++ b/src/mame/drivers/s3.cpp
@@ -88,8 +88,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(irq);
DECLARE_INPUT_CHANGED_MEMBER(main_nmi);
DECLARE_INPUT_CHANGED_MEMBER(audio_nmi);
- void machine_reset_s3();
- void machine_reset_s3a();
+ DECLARE_MACHINE_RESET(s3);
+ DECLARE_MACHINE_RESET(s3a);
void s3a(machine_config &config);
void s3(machine_config &config);
void s3_audio_map(address_map &map);
@@ -273,13 +273,13 @@ static INPUT_PORTS_START( s3 )
PORT_DIPSETTING( 0x07, "31" )
INPUT_PORTS_END
-void s3_state::machine_reset_s3()
+MACHINE_RESET_MEMBER( s3_state, s3 )
{
m_t_c = 0;
m_chimes = 1;
}
-void s3_state::machine_reset_s3a()
+MACHINE_RESET_MEMBER( s3_state, s3a )
{
m_t_c = 0;
m_chimes = 0;
@@ -438,7 +438,7 @@ MACHINE_CONFIG_START(s3_state::s3)
MCFG_DEVICE_ADD("maincpu", M6800, 3580000)
MCFG_DEVICE_PROGRAM_MAP(s3_main_map)
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq", s3_state, irq, attotime::from_hz(250))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_s3, this));
+ MCFG_MACHINE_RESET_OVERRIDE(s3_state, s3)
/* Video */
MCFG_DEFAULT_LAYOUT(layout_s3)
@@ -490,7 +490,7 @@ MACHINE_CONFIG_START(s3_state::s3a)
/* Add the soundcard */
MCFG_DEVICE_ADD("audiocpu", M6802, 3580000)
MCFG_DEVICE_PROGRAM_MAP(s3_audio_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_s3a, this));
+ MCFG_MACHINE_RESET_OVERRIDE(s3_state, s3a)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
diff --git a/src/mame/drivers/s4.cpp b/src/mame/drivers/s4.cpp
index 927b096469d..e72e341b30e 100644
--- a/src/mame/drivers/s4.cpp
+++ b/src/mame/drivers/s4.cpp
@@ -82,8 +82,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(irq);
DECLARE_INPUT_CHANGED_MEMBER(main_nmi);
DECLARE_INPUT_CHANGED_MEMBER(audio_nmi);
- void machine_reset_s4();
- void machine_reset_s4a();
+ DECLARE_MACHINE_RESET(s4);
+ DECLARE_MACHINE_RESET(s4a);
void s4(machine_config &config);
void s4a(machine_config &config);
void s4_audio_map(address_map &map);
@@ -267,13 +267,13 @@ static INPUT_PORTS_START( s4 )
PORT_DIPSETTING( 0x07, "31" )
INPUT_PORTS_END
-void s4_state::machine_reset_s4()
+MACHINE_RESET_MEMBER( s4_state, s4 )
{
m_t_c = 0;
m_chimes = 1;
}
-void s4_state::machine_reset_s4a()
+MACHINE_RESET_MEMBER( s4_state, s4a )
{
m_t_c = 0;
m_chimes = 0;
@@ -432,7 +432,7 @@ MACHINE_CONFIG_START(s4_state::s4)
MCFG_DEVICE_ADD("maincpu", M6800, 3580000)
MCFG_DEVICE_PROGRAM_MAP(s4_main_map)
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq", s4_state, irq, attotime::from_hz(250))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_s4, this));
+ MCFG_MACHINE_RESET_OVERRIDE(s4_state, s4)
/* Video */
MCFG_DEFAULT_LAYOUT(layout_s4)
@@ -484,7 +484,7 @@ MACHINE_CONFIG_START(s4_state::s4a)
/* Add the soundcard */
MCFG_DEVICE_ADD("audiocpu", M6808, 3580000)
MCFG_DEVICE_PROGRAM_MAP(s4_audio_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_s4a, this));
+ MCFG_MACHINE_RESET_OVERRIDE(s4_state, s4a)
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("dac", MC1408, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
diff --git a/src/mame/drivers/s6.cpp b/src/mame/drivers/s6.cpp
index 3b80a050468..3f4a59d8c2d 100644
--- a/src/mame/drivers/s6.cpp
+++ b/src/mame/drivers/s6.cpp
@@ -96,7 +96,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(pia_irq);
DECLARE_INPUT_CHANGED_MEMBER(main_nmi);
DECLARE_INPUT_CHANGED_MEMBER(audio_nmi);
- void machine_reset_s6();
+ DECLARE_MACHINE_RESET(s6);
void init_s6();
void s6(machine_config &config);
void s6_audio_map(address_map &map);
@@ -394,7 +394,7 @@ void s6_state::device_timer(emu_timer &timer, device_timer_id id, int param, voi
}
}
-void s6_state::machine_reset_s6()
+MACHINE_RESET_MEMBER( s6_state, s6 )
{
}
@@ -408,7 +408,7 @@ MACHINE_CONFIG_START(s6_state::s6)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M6808, 3580000) // 6802 or 6808 could be used here
MCFG_DEVICE_PROGRAM_MAP(s6_main_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_s6, this));
+ MCFG_MACHINE_RESET_OVERRIDE(s6_state, s6)
/* Video */
MCFG_DEFAULT_LAYOUT(layout_s6)
diff --git a/src/mame/drivers/s6a.cpp b/src/mame/drivers/s6a.cpp
index d6aacf58df4..9ee583a01af 100644
--- a/src/mame/drivers/s6a.cpp
+++ b/src/mame/drivers/s6a.cpp
@@ -89,7 +89,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(pia_irq);
DECLARE_INPUT_CHANGED_MEMBER(main_nmi);
DECLARE_INPUT_CHANGED_MEMBER(audio_nmi);
- void machine_reset_s6a();
+ DECLARE_MACHINE_RESET(s6a);
void init_s6a();
void s6a(machine_config &config);
void s6a_audio_map(address_map &map);
@@ -377,7 +377,7 @@ void s6a_state::device_timer(emu_timer &timer, device_timer_id id, int param, vo
}
}
-void s6a_state::machine_reset_s6a()
+MACHINE_RESET_MEMBER( s6a_state, s6a )
{
}
@@ -391,7 +391,7 @@ MACHINE_CONFIG_START(s6a_state::s6a)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M6808, 3580000)
MCFG_DEVICE_PROGRAM_MAP(s6a_main_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_s6a, this));
+ MCFG_MACHINE_RESET_OVERRIDE(s6a_state, s6a)
/* Video */
MCFG_DEFAULT_LAYOUT(layout_s6a)
diff --git a/src/mame/drivers/s7.cpp b/src/mame/drivers/s7.cpp
index 2073376337c..c9e13954582 100644
--- a/src/mame/drivers/s7.cpp
+++ b/src/mame/drivers/s7.cpp
@@ -115,7 +115,7 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(main_nmi);
DECLARE_INPUT_CHANGED_MEMBER(audio_nmi);
DECLARE_INPUT_CHANGED_MEMBER(diag_coin);
- void machine_reset_s7();
+ DECLARE_MACHINE_RESET(s7);
void init_s7();
void s7(machine_config &config);
void s7_audio_map(address_map &map);
@@ -420,7 +420,7 @@ void s7_state::machine_start()
machine().device<nvram_device>("nvram")->set_base(m_nvram, sizeof(m_nvram));
}
-void s7_state::machine_reset_s7()
+MACHINE_RESET_MEMBER( s7_state, s7 )
{
}
@@ -434,7 +434,7 @@ MACHINE_CONFIG_START(s7_state::s7)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M6808, 3580000)
MCFG_DEVICE_PROGRAM_MAP(s7_main_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_s7, this));
+ MCFG_MACHINE_RESET_OVERRIDE(s7_state, s7)
/* Video */
MCFG_DEFAULT_LAYOUT(layout_s7)
diff --git a/src/mame/drivers/s8.cpp b/src/mame/drivers/s8.cpp
index 13f86854e4a..5f2eb552595 100644
--- a/src/mame/drivers/s8.cpp
+++ b/src/mame/drivers/s8.cpp
@@ -90,7 +90,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(pia_irq);
DECLARE_INPUT_CHANGED_MEMBER(main_nmi);
DECLARE_INPUT_CHANGED_MEMBER(audio_nmi);
- void machine_reset_s8();
+ DECLARE_MACHINE_RESET(s8);
void init_s8();
void s8(machine_config &config);
void s8_audio_map(address_map &map);
@@ -302,7 +302,7 @@ void s8_state::device_timer(emu_timer &timer, device_timer_id id, int param, voi
}
}
-void s8_state::machine_reset_s8()
+MACHINE_RESET_MEMBER( s8_state, s8 )
{
}
@@ -316,7 +316,7 @@ MACHINE_CONFIG_START(s8_state::s8)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M6802, XTAL(4'000'000))
MCFG_DEVICE_PROGRAM_MAP(s8_main_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_s8, this));
+ MCFG_MACHINE_RESET_OVERRIDE(s8_state, s8)
/* Video */
MCFG_DEFAULT_LAYOUT(layout_s8)
diff --git a/src/mame/drivers/s8a.cpp b/src/mame/drivers/s8a.cpp
index 8da7deeca82..d72096f0cea 100644
--- a/src/mame/drivers/s8a.cpp
+++ b/src/mame/drivers/s8a.cpp
@@ -66,7 +66,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(pia_irq);
DECLARE_INPUT_CHANGED_MEMBER(main_nmi);
DECLARE_INPUT_CHANGED_MEMBER(audio_nmi);
- void machine_reset_s8a();
+ DECLARE_MACHINE_RESET(s8a);
void init_s8a();
void s8a(machine_config &config);
void s8a_audio_map(address_map &map);
@@ -274,7 +274,7 @@ void s8a_state::device_timer(emu_timer &timer, device_timer_id id, int param, vo
}
}
-void s8a_state::machine_reset_s8a()
+MACHINE_RESET_MEMBER( s8a_state, s8a )
{
}
@@ -288,7 +288,7 @@ MACHINE_CONFIG_START(s8a_state::s8a)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M6802, XTAL(4'000'000))
MCFG_DEVICE_PROGRAM_MAP(s8a_main_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_s8a, this));
+ MCFG_MACHINE_RESET_OVERRIDE(s8a_state, s8a)
/* Video */
MCFG_DEFAULT_LAYOUT(layout_s8a)
diff --git a/src/mame/drivers/s9.cpp b/src/mame/drivers/s9.cpp
index eef093d2756..21806f9c001 100644
--- a/src/mame/drivers/s9.cpp
+++ b/src/mame/drivers/s9.cpp
@@ -77,7 +77,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(pia_irq);
DECLARE_INPUT_CHANGED_MEMBER(main_nmi);
DECLARE_INPUT_CHANGED_MEMBER(audio_nmi);
- void machine_reset_s9();
+ DECLARE_MACHINE_RESET(s9);
void init_s9();
void s9(machine_config &config);
void s9_audio_map(address_map &map);
@@ -308,7 +308,7 @@ void s9_state::device_timer(emu_timer &timer, device_timer_id id, int param, voi
}
}
-void s9_state::machine_reset_s9()
+MACHINE_RESET_MEMBER( s9_state, s9 )
{
}
@@ -322,7 +322,7 @@ MACHINE_CONFIG_START(s9_state::s9)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M6808, XTAL(4'000'000))
MCFG_DEVICE_PROGRAM_MAP(s9_main_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_s9, this));
+ MCFG_MACHINE_RESET_OVERRIDE(s9_state, s9)
/* Video */
MCFG_DEFAULT_LAYOUT(layout_s9)
diff --git a/src/mame/drivers/sangho.cpp b/src/mame/drivers/sangho.cpp
index c657e41c82c..8482572363f 100644
--- a/src/mame/drivers/sangho.cpp
+++ b/src/mame/drivers/sangho.cpp
@@ -94,8 +94,8 @@ public:
DECLARE_WRITE8_MEMBER(sexyboom_bank_w);
void init_pzlestar();
virtual void machine_start() override;
- void machine_reset_pzlestar();
- void machine_reset_sexyboom();
+ DECLARE_MACHINE_RESET(pzlestar);
+ DECLARE_MACHINE_RESET(sexyboom);
void pzlestar_map_banks();
void sexyboom_map_bank(int bank);
DECLARE_READ8_MEMBER(sec_slot_r);
@@ -437,13 +437,13 @@ void sangho_state::machine_start()
m_ram = std::make_unique<uint8_t[]>(0x20000); // TODO: define how much RAM these ones have (MSX2+ can potentially go up to 4MB)
}
-void sangho_state::machine_reset_pzlestar()
+MACHINE_RESET_MEMBER(sangho_state,pzlestar)
{
m_pzlestar_mem_bank = 2;
pzlestar_map_banks();
}
-void sangho_state::machine_reset_sexyboom()
+MACHINE_RESET_MEMBER(sangho_state,sexyboom)
{
m_sexyboom_bank[0] = 0x00;
m_sexyboom_bank[1] = 0x00;
@@ -470,7 +470,7 @@ MACHINE_CONFIG_START(sangho_state::pzlestar)
MCFG_V99X8_INTERRUPT_CALLBACK(INPUTLINE("maincpu", 0))
MCFG_V99X8_SCREEN_ADD_NTSC("screen", "v9958", XTAL(21'477'272))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pzlestar, this));
+ MCFG_MACHINE_RESET_OVERRIDE(sangho_state,pzlestar)
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("ymsnd", YM2413, XTAL(21'477'272)/6)
@@ -489,7 +489,7 @@ MACHINE_CONFIG_START(sangho_state::sexyboom)
MCFG_V99X8_INTERRUPT_CALLBACK(INPUTLINE("maincpu", 0))
MCFG_V99X8_SCREEN_ADD_NTSC("screen", "v9958", XTAL(21'477'272))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sexyboom, this));
+ MCFG_MACHINE_RESET_OVERRIDE(sangho_state,sexyboom)
MCFG_PALETTE_ADD("palette", 19780)
diff --git a/src/mame/drivers/sapi1.cpp b/src/mame/drivers/sapi1.cpp
index b64aeecb2d8..a6aca9f2020 100644
--- a/src/mame/drivers/sapi1.cpp
+++ b/src/mame/drivers/sapi1.cpp
@@ -77,8 +77,8 @@ public:
void init_sapizps3();
void init_sapizps3a();
void init_sapizps3b();
- void machine_reset_sapi1();
- void machine_reset_sapizps3();
+ DECLARE_MACHINE_RESET(sapi1);
+ DECLARE_MACHINE_RESET(sapizps3);
MC6845_UPDATE_ROW(crtc_update_row);
uint32_t screen_update_sapi1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_sapi3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -583,13 +583,13 @@ WRITE8_MEMBER( sapi1_state::sapi3_25_w )
m_zps3_25 = data & 0xfc; //??
}
-void sapi1_state::machine_reset_sapi1()
+MACHINE_RESET_MEMBER( sapi1_state, sapi1 )
{
m_keyboard_mask = 0;
m_refresh_counter = 0x20;
}
-void sapi1_state::machine_reset_sapizps3()
+MACHINE_RESET_MEMBER( sapi1_state, sapizps3 )
{
m_keyboard_mask = 0;
m_bank1->set_entry(1);
@@ -620,7 +620,7 @@ MACHINE_CONFIG_START(sapi1_state::sapi1)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", I8080A, XTAL(18'000'000) / 9) // Tesla MHB8080A + MHB8224 + MHB8228
MCFG_DEVICE_PROGRAM_MAP(sapi1_mem)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sapi1, this));
+ MCFG_MACHINE_RESET_OVERRIDE(sapi1_state, sapi1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -653,7 +653,7 @@ MACHINE_CONFIG_START(sapi1_state::sapi3)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(sapi3_mem)
MCFG_DEVICE_IO_MAP(sapi3_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sapizps3, this));
+ MCFG_MACHINE_RESET_OVERRIDE(sapi1_state, sapizps3 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(40*6, 20*9)
MCFG_SCREEN_VISIBLE_AREA(0, 40*6-1, 0, 20*9-1)
@@ -691,7 +691,7 @@ MACHINE_CONFIG_START(sapi1_state::sapi3a)
MCFG_DEVICE_ADD("maincpu", I8080A, XTAL(18'000'000) / 9) // Tesla MHB8080A + MHB8224 + MHB8228
MCFG_DEVICE_PROGRAM_MAP(sapi3a_mem)
MCFG_DEVICE_IO_MAP(sapi3a_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sapizps3, this));
+ MCFG_MACHINE_RESET_OVERRIDE(sapi1_state, sapizps3 )
/* video hardware */
MCFG_DEVICE_ADD("uart", AY51013, 0) // Tesla MHB1012
diff --git a/src/mame/drivers/saturn.cpp b/src/mame/drivers/saturn.cpp
index 8229cf4b9a0..07a3a76d090 100644
--- a/src/mame/drivers/saturn.cpp
+++ b/src/mame/drivers/saturn.cpp
@@ -463,8 +463,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(tray_open);
DECLARE_INPUT_CHANGED_MEMBER(tray_close);
- void machine_start_saturn() ATTR_COLD;
- void machine_reset_saturn();
+ DECLARE_MACHINE_START(saturn);
+ DECLARE_MACHINE_RESET(saturn);
DECLARE_READ8_MEMBER(saturn_cart_type_r);
DECLARE_READ32_MEMBER(abus_dummy_r);
@@ -595,7 +595,7 @@ void sat_console_state::nvram_init(nvram_device &nvram, void *data, size_t size)
}
-void sat_console_state::machine_start_saturn()
+MACHINE_START_MEMBER(sat_console_state, saturn)
{
machine().device<scsp_device>("scsp")->set_ram_base(m_sound_ram);
@@ -672,7 +672,7 @@ WRITE32_MEMBER(sat_console_state::saturn_null_ram_w)
{
}
-void sat_console_state::machine_reset_saturn()
+MACHINE_RESET_MEMBER(sat_console_state,saturn)
{
m_scsp_last_line = 0;
@@ -821,8 +821,8 @@ MACHINE_CONFIG_START(sat_console_state::saturn)
MCFG_SMPC_HLE_DOT_SELECT_CB(WRITELINE(*this, saturn_state, dot_select_w))
MCFG_SMPC_HLE_IRQ_HANDLER_CB(WRITELINE("scu", sega_scu_device, smpc_irq_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_saturn, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_saturn, this));
+ MCFG_MACHINE_START_OVERRIDE(sat_console_state,saturn)
+ MCFG_MACHINE_RESET_OVERRIDE(sat_console_state,saturn)
MCFG_NVRAM_ADD_CUSTOM_DRIVER("nvram", sat_console_state, nvram_init)
@@ -834,7 +834,7 @@ MACHINE_CONFIG_START(sat_console_state::saturn)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_stv)
- set_video_start_cb(config, driver_callback_delegate(&video_start_stv_vdp2, this));
+ MCFG_VIDEO_START_OVERRIDE(sat_console_state,stv_vdp2)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
diff --git a/src/mame/drivers/sauro.cpp b/src/mame/drivers/sauro.cpp
index 2343637c0e0..f239cd1f5f5 100644
--- a/src/mame/drivers/sauro.cpp
+++ b/src/mame/drivers/sauro.cpp
@@ -491,7 +491,7 @@ MACHINE_CONFIG_START(sauro_state::trckydoc)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_trckydoc)
- set_video_start_cb(config, driver_callback_delegate(&video_start_trckydoc, this));
+ MCFG_VIDEO_START_OVERRIDE(sauro_state,trckydoc)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(sauro_state, screen_update_trckydoc)
@@ -518,7 +518,7 @@ MACHINE_CONFIG_START(sauro_state::sauro)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_sauro)
- set_video_start_cb(config, driver_callback_delegate(&video_start_sauro, this));
+ MCFG_VIDEO_START_OVERRIDE(sauro_state,sauro)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(sauro_state, screen_update_sauro)
diff --git a/src/mame/drivers/sbrain.cpp b/src/mame/drivers/sbrain.cpp
index e651c6058fb..85b9429f41e 100644
--- a/src/mame/drivers/sbrain.cpp
+++ b/src/mame/drivers/sbrain.cpp
@@ -76,7 +76,7 @@ public:
{}
void init_sbrain();
- void machine_reset_sbrain();
+ DECLARE_MACHINE_RESET(sbrain);
DECLARE_READ8_MEMBER(ppi_pa_r);
DECLARE_WRITE8_MEMBER(ppi_pa_w);
DECLARE_READ8_MEMBER(ppi_pb_r);
@@ -475,7 +475,7 @@ static void sbrain_floppies(device_slot_interface &device)
device.option_add("525dd", FLOPPY_525_DD);
}
-void sbrain_state::machine_reset_sbrain()
+MACHINE_RESET_MEMBER( sbrain_state, sbrain )
{
m_keydown = 0;
m_bankr0->set_entry(1); // point at rom
@@ -548,7 +548,7 @@ MACHINE_CONFIG_START(sbrain_state::sbrain)
MCFG_DEVICE_PROGRAM_MAP(sbrain_submem)
MCFG_DEVICE_IO_MAP(sbrain_subio)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sbrain, this));
+ MCFG_MACHINE_RESET_OVERRIDE(sbrain_state, sbrain)
/* video hardware */
MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::amber())
diff --git a/src/mame/drivers/scobra.cpp b/src/mame/drivers/scobra.cpp
index 50b06689958..2284f8b413c 100644
--- a/src/mame/drivers/scobra.cpp
+++ b/src/mame/drivers/scobra.cpp
@@ -876,7 +876,7 @@ MACHINE_CONFIG_START(scobra_state::type1)
MCFG_DEVICE_ADD("konami_7474", TTL7474, 0)
MCFG_7474_COMP_OUTPUT_CB(WRITELINE(*this, scobra_state,scramble_sh_7474_q_callback))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_scramble, this));
+ MCFG_MACHINE_RESET_OVERRIDE(scobra_state,scramble)
MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0)
MCFG_I8255_IN_PORTA_CB(IOPORT("IN0"))
@@ -910,7 +910,7 @@ MACHINE_CONFIG_START(scobra_state::type1)
MCFG_PALETTE_ADD("palette", 32+64+2+1) /* 32 for characters, 64 for stars, 2 for bullets, 1 for background */
MCFG_PALETTE_INIT_OWNER(scobra_state,scrambold)
- set_video_start_cb(config, driver_callback_delegate(&video_start_scrambold, this));
+ MCFG_VIDEO_START_OVERRIDE(scobra_state,scrambold)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -941,7 +941,7 @@ MACHINE_CONFIG_START(scobra_state::rescue)
MCFG_PALETTE_ENTRIES(32+64+2+128) /* 32 for characters, 64 for stars, 2 for bullets, 128 for background */
MCFG_PALETTE_INIT_OWNER(scobra_state,rescue)
- set_video_start_cb(config, driver_callback_delegate(&video_start_rescue, this));
+ MCFG_VIDEO_START_OVERRIDE(scobra_state,rescue)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(scobra_state::rescuefe)
@@ -969,7 +969,7 @@ MACHINE_CONFIG_START(scobra_state::minefld)
MCFG_PALETTE_ENTRIES(32+64+2+256) /* 32 for characters, 64 for stars, 2 for bullets, 256 for background */
MCFG_PALETTE_INIT_OWNER(scobra_state,minefld)
- set_video_start_cb(config, driver_callback_delegate(&video_start_minefld, this));
+ MCFG_VIDEO_START_OVERRIDE(scobra_state,minefld)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(scobra_state::minefldfe)
@@ -987,7 +987,7 @@ MACHINE_CONFIG_START(scobra_state::mimonkey)
MCFG_DEVICE_PROGRAM_MAP(mimonkey_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_mimonkey, this));
+ MCFG_VIDEO_START_OVERRIDE(scobra_state,mimonkey)
MACHINE_CONFIG_END
@@ -1024,7 +1024,7 @@ MACHINE_CONFIG_START(scobra_state::stratgyx)
MCFG_PALETTE_ENTRIES( 32+64+2+8) /* 32 for characters, 64 for stars, 2 for bullets, 8 for background */
MCFG_PALETTE_INIT_OWNER(scobra_state,stratgyx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_stratgyx, this));
+ MCFG_VIDEO_START_OVERRIDE(scobra_state,stratgyx)
MACHINE_CONFIG_END
@@ -1038,7 +1038,7 @@ MACHINE_CONFIG_START(scobra_state::darkplnt)
MCFG_PALETTE_ENTRIES(32+64+2) /* 32 for characters, 64 (buffer) for stars, 2 for bullets */
MCFG_PALETTE_INIT_OWNER(scobra_state,darkplnt)
- set_video_start_cb(config, driver_callback_delegate(&video_start_darkplnt, this));
+ MCFG_VIDEO_START_OVERRIDE(scobra_state,darkplnt)
MACHINE_CONFIG_END
@@ -1056,7 +1056,7 @@ MACHINE_CONFIG_START(scobra_state::hustler)
MCFG_DEVICE_ADD("konami_7474", TTL7474, 0)
MCFG_7474_COMP_OUTPUT_CB(WRITELINE(*this, scobra_state,scramble_sh_7474_q_callback))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_scramble, this));
+ MCFG_MACHINE_RESET_OVERRIDE(scobra_state,scramble)
MCFG_DEVICE_ADD("7474_9m_1", TTL7474, 0)
MCFG_7474_OUTPUT_CB(WRITELINE(*this, scobra_state,galaxold_7474_9m_1_callback))
@@ -1090,7 +1090,7 @@ MACHINE_CONFIG_START(scobra_state::hustler)
MCFG_PALETTE_ADD("palette", 32+64+2) /* 32 for characters, 64 for stars, 2 for bullets */
MCFG_PALETTE_INIT_OWNER(scobra_state,galaxold)
- set_video_start_cb(config, driver_callback_delegate(&video_start_scrambold, this));
+ MCFG_VIDEO_START_OVERRIDE(scobra_state,scrambold)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/scorpion.cpp b/src/mame/drivers/scorpion.cpp
index 275b286e401..be9647505ab 100644
--- a/src/mame/drivers/scorpion.cpp
+++ b/src/mame/drivers/scorpion.cpp
@@ -30,8 +30,8 @@ public:
DECLARE_WRITE8_MEMBER(scorpion_0000_w);
DECLARE_WRITE8_MEMBER(scorpion_port_7ffd_w);
DECLARE_WRITE8_MEMBER(scorpion_port_1ffd_w);
- void machine_start_scorpion() ATTR_COLD;
- void machine_reset_scorpion();
+ DECLARE_MACHINE_START(scorpion);
+ DECLARE_MACHINE_RESET(scorpion);
TIMER_DEVICE_CALLBACK_MEMBER(nmi_check_callback);
void scorpion(machine_config &config);
void profi(machine_config &config);
@@ -206,7 +206,7 @@ void scorpion_state::scorpion_switch(address_map &map)
map(0x4000, 0xffff).r(this, FUNC(scorpion_state::beta_disable_r));
}
-void scorpion_state::machine_reset_scorpion()
+MACHINE_RESET_MEMBER(scorpion_state,scorpion)
{
uint8_t *messram = m_ram->pointer();
m_program = &m_maincpu->space(AS_PROGRAM);
@@ -230,8 +230,7 @@ void scorpion_state::machine_reset_scorpion()
m_port_1ffd_data = 0;
scorpion_update_memory();
}
-
-void scorpion_state::machine_start_scorpion()
+MACHINE_START_MEMBER(scorpion_state,scorpion)
{
}
@@ -297,8 +296,8 @@ MACHINE_CONFIG_START(scorpion_state::scorpion)
MCFG_DEVICE_IO_MAP(scorpion_io)
MCFG_DEVICE_OPCODES_MAP(scorpion_switch)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_scorpion, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_scorpion, this));
+ MCFG_MACHINE_START_OVERRIDE(scorpion_state, scorpion )
+ MCFG_MACHINE_RESET_OVERRIDE(scorpion_state, scorpion )
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_scorpion)
MCFG_BETA_DISK_ADD(BETA_DISK_TAG)
diff --git a/src/mame/drivers/scramble.cpp b/src/mame/drivers/scramble.cpp
index aaf59ad3809..62433f71fd8 100644
--- a/src/mame/drivers/scramble.cpp
+++ b/src/mame/drivers/scramble.cpp
@@ -1326,7 +1326,7 @@ MACHINE_CONFIG_START(scramble_state::scramble)
MCFG_WATCHDOG_ADD("watchdog")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_scramble, this));
+ MCFG_MACHINE_RESET_OVERRIDE(scramble_state,scramble)
MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0)
MCFG_I8255_IN_PORTA_CB(IOPORT("IN0"))
@@ -1350,7 +1350,7 @@ MACHINE_CONFIG_START(scramble_state::scramble)
MCFG_PALETTE_ADD("palette", 32+64+2+1) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
MCFG_PALETTE_INIT_OWNER(scramble_state,scrambold)
- set_video_start_cb(config, driver_callback_delegate(&video_start_scrambold, this));
+ MCFG_VIDEO_START_OVERRIDE(scramble_state,scrambold)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1412,7 +1412,7 @@ MACHINE_CONFIG_START(scramble_state::newsin7)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
MCFG_PALETTE_INIT_OWNER(scramble_state,galaxold)
- set_video_start_cb(config, driver_callback_delegate(&video_start_newsin7, this));
+ MCFG_VIDEO_START_OVERRIDE(scramble_state,newsin7)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(scramble_state::mrkougb)
@@ -1451,7 +1451,7 @@ MACHINE_CONFIG_START(scramble_state::ckongs)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
MCFG_PALETTE_INIT_OWNER(scramble_state,galaxold)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ckongs, this));
+ MCFG_VIDEO_START_OVERRIDE(scramble_state,ckongs)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(scramble_state::hotshock)
@@ -1467,13 +1467,13 @@ MACHINE_CONFIG_START(scramble_state::hotshock)
MCFG_DEVICE_MODIFY("audiocpu")
MCFG_DEVICE_IO_MAP(hotshock_sound_io_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_galaxold, this));
+ MCFG_MACHINE_RESET_OVERRIDE(scramble_state,galaxold)
/* video hardware */
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
MCFG_PALETTE_INIT_OWNER(scramble_state,galaxold)
- set_video_start_cb(config, driver_callback_delegate(&video_start_pisces, this));
+ MCFG_VIDEO_START_OVERRIDE(scramble_state,pisces)
MCFG_DEVICE_MODIFY("8910.1")
MCFG_SOUND_ROUTES_RESET()
@@ -1495,7 +1495,7 @@ MACHINE_CONFIG_START(scramble_state::cavelon)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(32+64+2+0) /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
MCFG_PALETTE_INIT_OWNER(scramble_state,galaxold)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ckongs, this));
+ MCFG_VIDEO_START_OVERRIDE(scramble_state,ckongs)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(scramble_state::mimonscr)
@@ -1506,7 +1506,7 @@ MACHINE_CONFIG_START(scramble_state::mimonscr)
MCFG_DEVICE_PROGRAM_MAP(mimonscr_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_mimonkey, this));
+ MCFG_VIDEO_START_OVERRIDE(scramble_state,mimonkey)
MACHINE_CONFIG_END
/* Triple Punch and Mariner are different - only one CPU, one 8910 */
@@ -1548,7 +1548,7 @@ MACHINE_CONFIG_START(scramble_state::mariner)
MCFG_PALETTE_ENTRIES(32+64+2+16) /* 32 for characters, 64 for stars, 2 for bullets, 16 for background */
MCFG_PALETTE_INIT_OWNER(scramble_state,mariner)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mariner, this));
+ MCFG_VIDEO_START_OVERRIDE(scramble_state,mariner)
MACHINE_CONFIG_END
/* Hunchback replaces the Z80 with a S2650 CPU */
@@ -1579,7 +1579,7 @@ MACHINE_CONFIG_START(scramble_state::hncholms)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(18432000/6/2/2)
- set_video_start_cb(config, driver_callback_delegate(&video_start_scorpion, this));
+ MCFG_VIDEO_START_OVERRIDE(scramble_state,scorpion)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(scramble_state::ad2083)
@@ -1600,7 +1600,7 @@ MACHINE_CONFIG_START(scramble_state::ad2083)
MCFG_WATCHDOG_ADD("watchdog")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_galaxold, this));
+ MCFG_MACHINE_RESET_OVERRIDE(scramble_state,galaxold)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1615,7 +1615,7 @@ MACHINE_CONFIG_START(scramble_state::ad2083)
MCFG_PALETTE_ADD("palette", 32+64+2+8) /* 32 for characters, 64 for stars, 2 for bullets, 8 for background */
MCFG_PALETTE_INIT_OWNER(scramble_state,turtles)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ad2083, this));
+ MCFG_VIDEO_START_OVERRIDE(scramble_state,ad2083)
/* sound hardware */
@@ -1636,7 +1636,7 @@ MACHINE_CONFIG_START(scramble_state::harem)
MCFG_DEVICE_PROGRAM_MAP(harem_sound_map)
MCFG_DEVICE_IO_MAP(harem_sound_io_map)
- set_video_start_cb(config, driver_callback_delegate(&video_start_harem, this));
+ MCFG_VIDEO_START_OVERRIDE(scramble_state,harem)
/* extra AY8910 with I/O ports */
MCFG_DEVICE_ADD("8910.3", AY8910, 14318000/8)
diff --git a/src/mame/drivers/scregg.cpp b/src/mame/drivers/scregg.cpp
index bcce5959229..4b0294cf114 100644
--- a/src/mame/drivers/scregg.cpp
+++ b/src/mame/drivers/scregg.cpp
@@ -70,8 +70,8 @@ public:
DECLARE_READ8_MEMBER(scregg_irqack_r);
void init_rockduck();
- void machine_start_scregg() ATTR_COLD;
- void machine_reset_scregg();
+ DECLARE_MACHINE_START(scregg);
+ DECLARE_MACHINE_RESET(scregg);
TIMER_DEVICE_CALLBACK_MEMBER(scregg_interrupt);
void scregg(machine_config &config);
void dommy(machine_config &config);
@@ -245,7 +245,7 @@ GFXDECODE_END
-void scregg_state::machine_start_scregg()
+MACHINE_START_MEMBER(scregg_state,scregg)
{
save_item(NAME(m_btime_palette));
save_item(NAME(m_bnj_scroll1));
@@ -253,7 +253,7 @@ void scregg_state::machine_start_scregg()
save_item(NAME(m_btime_tilemap));
}
-void scregg_state::machine_reset_scregg()
+MACHINE_RESET_MEMBER(scregg_state,scregg)
{
m_btime_palette = 0;
m_bnj_scroll1 = 0;
@@ -271,8 +271,8 @@ MACHINE_CONFIG_START(scregg_state::dommy)
MCFG_DEVICE_PROGRAM_MAP(dommy_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("irq", scregg_state, scregg_interrupt, "screen", 0, 8)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_scregg, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_scregg, this));
+ MCFG_MACHINE_START_OVERRIDE(scregg_state,scregg)
+ MCFG_MACHINE_RESET_OVERRIDE(scregg_state,scregg)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -303,8 +303,8 @@ MACHINE_CONFIG_START(scregg_state::scregg)
MCFG_DEVICE_PROGRAM_MAP(eggs_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("irq", scregg_state, scregg_interrupt, "screen", 0, 8)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_scregg, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_scregg, this));
+ MCFG_MACHINE_START_OVERRIDE(scregg_state,scregg)
+ MCFG_MACHINE_RESET_OVERRIDE(scregg_state,scregg)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/segac2.cpp b/src/mame/drivers/segac2.cpp
index e8cf52288f3..b73330d40f1 100644
--- a/src/mame/drivers/segac2.cpp
+++ b/src/mame/drivers/segac2.cpp
@@ -159,9 +159,9 @@ public:
void init_pclubjv4();
void init_pclubjv5();
void segac2_common_init(segac2_prot_delegate prot_func);
- void video_start_segac2_new() ATTR_COLD;
- void machine_start_segac2() ATTR_COLD;
- void machine_reset_segac2();
+ DECLARE_VIDEO_START(segac2_new);
+ DECLARE_MACHINE_START(segac2);
+ DECLARE_MACHINE_RESET(segac2);
uint32_t screen_update_segac2_new(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
int m_segac2_bg_pal_lookup[4];
@@ -236,7 +236,7 @@ public:
******************************************************************************/
-void segac2_state::machine_start_segac2()
+MACHINE_START_MEMBER(segac2_state,segac2)
{
save_item(NAME(m_prot_write_buf));
save_item(NAME(m_prot_read_buf));
@@ -245,7 +245,7 @@ void segac2_state::machine_start_segac2()
}
-void segac2_state::machine_reset_segac2()
+MACHINE_RESET_MEMBER(segac2_state,segac2)
{
// megadriv_scanline_timer = machine().device<timer_device>("md_scan_timer");
// megadriv_scanline_timer->adjust(attotime::zero);
@@ -1446,9 +1446,9 @@ WRITE_LINE_MEMBER(segac2_state::segac2_irq2_interrupt)
******************************************************************************/
-void segac2_state::video_start_segac2_new()
+VIDEO_START_MEMBER(segac2_state,segac2_new)
{
- video_start_megadriv();
+ VIDEO_START_CALL_MEMBER(megadriv);
}
// C2 doesn't use the internal VDP CRAM, instead it uses the digital output of the chip
@@ -1544,8 +1544,8 @@ MACHINE_CONFIG_START(segac2_state::segac)
MCFG_DEVICE_PROGRAM_MAP(main_map)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(md_base_state,genesis_int_callback)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_segac2, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_segac2, this));
+ MCFG_MACHINE_START_OVERRIDE(segac2_state,segac2)
+ MCFG_MACHINE_RESET_OVERRIDE(segac2_state,segac2)
MCFG_NVRAM_ADD_1FILL("nvram") // borencha requires 0xff fill or there is no sound (it lacks some of the init code of the borench set)
MCFG_DEVICE_ADD("io", SEGA_315_5296, XL2_CLOCK/6) // clock divider guessed
@@ -1578,7 +1578,7 @@ MACHINE_CONFIG_START(segac2_state::segac)
MCFG_PALETTE_ADD("palette", 2048*3)
- set_video_start_cb(config, driver_callback_delegate(&video_start_segac2_new, this));
+ MCFG_VIDEO_START_OVERRIDE(segac2_state,segac2_new)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/segapico.cpp b/src/mame/drivers/segapico.cpp
index 8d8612b0a23..19fb33b7235 100644
--- a/src/mame/drivers/segapico.cpp
+++ b/src/mame/drivers/segapico.cpp
@@ -167,7 +167,7 @@ public:
m_picocart(*this, "picoslot") { }
required_device<pico_cart_slot_device> m_picocart;
- void machine_start_pico() ATTR_COLD;
+ DECLARE_MACHINE_START(pico);
void pico(machine_config &config);
void picopal(machine_config &config);
};
@@ -378,7 +378,7 @@ static void pico_cart(device_slot_interface &device)
device.option_add_internal("rom_sramsafe", MD_ROM_SRAM); // not sure these are needed...
}
-void pico_state::machine_start_pico()
+MACHINE_START_MEMBER(pico_state,pico)
{
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7fffff, read16_delegate(FUNC(base_md_cart_slot_device::read),(base_md_cart_slot_device*)m_picocart), write16_delegate(FUNC(base_md_cart_slot_device::write),(base_md_cart_slot_device*)m_picocart));
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xa13000, 0xa130ff, read16_delegate(FUNC(base_md_cart_slot_device::read_a13),(base_md_cart_slot_device*)m_picocart), write16_delegate(FUNC(base_md_cart_slot_device::write_a13),(base_md_cart_slot_device*)m_picocart));
@@ -397,8 +397,8 @@ MACHINE_CONFIG_START(pico_state::pico)
MCFG_DEVICE_REMOVE("genesis_snd_z80")
MCFG_DEVICE_REMOVE("ymsnd")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pico, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ms_megadriv, this));
+ MCFG_MACHINE_START_OVERRIDE( pico_state, pico )
+ MCFG_MACHINE_RESET_OVERRIDE( pico_base_state, ms_megadriv )
MCFG_PICO_CARTRIDGE_ADD("picoslot", pico_cart, nullptr)
MCFG_SOFTWARE_LIST_ADD("cart_list","pico")
@@ -418,8 +418,8 @@ MACHINE_CONFIG_START(pico_state::picopal)
MCFG_DEVICE_REMOVE("genesis_snd_z80")
MCFG_DEVICE_REMOVE("ymsnd")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pico, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ms_megadriv, this));
+ MCFG_MACHINE_START_OVERRIDE( pico_state, pico )
+ MCFG_MACHINE_RESET_OVERRIDE( pico_base_state, ms_megadriv )
MCFG_PICO_CARTRIDGE_ADD("picoslot", pico_cart, nullptr)
MCFG_SOFTWARE_LIST_ADD("cart_list","pico")
@@ -563,7 +563,7 @@ public:
m_picocart(*this, "coperaslot") { }
required_device<copera_cart_slot_device> m_picocart;
- void machine_start_copera() ATTR_COLD;
+ DECLARE_MACHINE_START(copera);
void copera(machine_config &config);
void copera_mem(address_map &map);
};
@@ -590,7 +590,7 @@ static void copera_cart(device_slot_interface &device)
device.option_add_internal("rom_sramsafe", MD_ROM_SRAM); // not sure these are needed...
}
-void copera_state::machine_start_copera()
+MACHINE_START_MEMBER(copera_state,copera)
{
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7fffff, read16_delegate(FUNC(base_md_cart_slot_device::read),(base_md_cart_slot_device*)m_picocart), write16_delegate(FUNC(base_md_cart_slot_device::write),(base_md_cart_slot_device*)m_picocart));
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xa13000, 0xa130ff, read16_delegate(FUNC(base_md_cart_slot_device::read_a13),(base_md_cart_slot_device*)m_picocart), write16_delegate(FUNC(base_md_cart_slot_device::write_a13),(base_md_cart_slot_device*)m_picocart));
@@ -613,8 +613,8 @@ MACHINE_CONFIG_START(copera_state::copera)
MCFG_DEVICE_REMOVE("genesis_snd_z80")
MCFG_DEVICE_REMOVE("ymsnd")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_copera, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ms_megadriv, this));
+ MCFG_MACHINE_START_OVERRIDE( copera_state, copera )
+ MCFG_MACHINE_RESET_OVERRIDE( pico_base_state, ms_megadriv )
MCFG_COPERA_CARTRIDGE_ADD("coperaslot", copera_cart, nullptr)
MCFG_SOFTWARE_LIST_ADD("cart_list","copera")
diff --git a/src/mame/drivers/seibuspi.cpp b/src/mame/drivers/seibuspi.cpp
index 2c262e1c282..aa04e9014b4 100644
--- a/src/mame/drivers/seibuspi.cpp
+++ b/src/mame/drivers/seibuspi.cpp
@@ -1851,7 +1851,7 @@ void seibuspi_state::machine_start()
if (m_z80_rom != nullptr) save_pointer(NAME(m_z80_rom->base()), m_z80_rom->bytes());
}
-void seibuspi_state::machine_reset_spi()
+MACHINE_RESET_MEMBER(seibuspi_state,spi)
{
m_audiocpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
@@ -1873,7 +1873,7 @@ MACHINE_CONFIG_START(seibuspi_state::spi)
MCFG_QUANTUM_TIME(attotime::from_hz(12000))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_spi, this));
+ MCFG_MACHINE_RESET_OVERRIDE(seibuspi_state, spi)
MCFG_DS2404_ADD("ds2404", 1995, 1, 1)
@@ -1916,7 +1916,7 @@ MACHINE_CONFIG_START(seibuspi_state::ejanhs)
spi(config);
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_ejanhs, this));
+ MCFG_VIDEO_START_OVERRIDE(seibuspi_state, ejanhs)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(seibuspi_state::rdft2)
@@ -1928,7 +1928,7 @@ MACHINE_CONFIG_END
/* single boards */
-void seibuspi_state::machine_reset_sxx2e()
+MACHINE_RESET_MEMBER(seibuspi_state,sxx2e)
{
m_z80_bank->set_entry(0);
m_z80_lastbank = 0;
@@ -1945,7 +1945,7 @@ MACHINE_CONFIG_START(seibuspi_state::sxx2e)
MCFG_DEVICE_MODIFY("audiocpu")
MCFG_DEVICE_PROGRAM_MAP(sxx2e_soundmap)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sxx2e, this));
+ MCFG_MACHINE_RESET_OVERRIDE(seibuspi_state, sxx2e)
MCFG_DEVICE_REMOVE("soundflash1")
MCFG_DEVICE_REMOVE("soundflash2")
@@ -2077,7 +2077,7 @@ MACHINE_CONFIG_START(seibuspi_state::sys386f)
MCFG_PALETTE_ADD_INIT_BLACK("palette", 8192)
- set_video_start_cb(config, driver_callback_delegate(&video_start_sys386f, this));
+ MCFG_VIDEO_START_OVERRIDE(seibuspi_state, sys386f)
/* sound hardware */
// Single PCBs only output mono sound
diff --git a/src/mame/drivers/seicupbl.cpp b/src/mame/drivers/seicupbl.cpp
index bc947773a11..f2000226e59 100644
--- a/src/mame/drivers/seicupbl.cpp
+++ b/src/mame/drivers/seicupbl.cpp
@@ -292,16 +292,16 @@ uint32_t seicupbl_state::screen_update( screen_device &screen, bitmap_ind16 &bit
m_sc_layer[i]->set_scrolly(0, m_vregs[i*2+1]);
}
- if (!(m_layer_disable&0x0001))
+ if (!(m_layer_disable&0x0001))
m_sc_layer[0]->draw(screen, bitmap, cliprect, 0, 1);
-
- if (!(m_layer_disable&0x0002))
+
+ if (!(m_layer_disable&0x0002))
m_sc_layer[1]->draw(screen, bitmap, cliprect, 0, 2);
-
- if (!(m_layer_disable&0x0004))
+
+ if (!(m_layer_disable&0x0004))
m_sc_layer[2]->draw(screen, bitmap, cliprect, 0, 4);
-
- if (!(m_layer_disable&0x0008))
+
+ if (!(m_layer_disable&0x0008))
m_sc_layer[3]->draw(screen, bitmap, cliprect, 0, 8);
if (!(m_layer_disable&0x0010))
@@ -588,7 +588,7 @@ MACHINE_CONFIG_START(seicupbl_state::cupsocbl)
MCFG_PALETTE_ADD_INIT_BLACK("palette", 128*16)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
-// set_video_start_cb(config, driver_callback_delegate(&video_start_cupsoc, this));
+// MCFG_VIDEO_START_OVERRIDE(seicupbl_state,cupsoc)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/selz80.cpp b/src/mame/drivers/selz80.cpp
index 24cbd1ed00f..3415f1bf4ad 100644
--- a/src/mame/drivers/selz80.cpp
+++ b/src/mame/drivers/selz80.cpp
@@ -53,8 +53,8 @@ public:
DECLARE_WRITE8_MEMBER(scanlines_w);
DECLARE_WRITE8_MEMBER(digit_w);
DECLARE_READ8_MEMBER(kbd_r);
- void machine_reset_dagz80();
- void machine_reset_selz80();
+ DECLARE_MACHINE_RESET(dagz80);
+ DECLARE_MACHINE_RESET(selz80);
void selz80(machine_config &config);
void dagz80(machine_config &config);
@@ -175,12 +175,12 @@ void selz80_state::setup_baud()
}
}
-void selz80_state::machine_reset_selz80()
+MACHINE_RESET_MEMBER(selz80_state, selz80)
{
setup_baud();
}
-void selz80_state::machine_reset_dagz80()
+MACHINE_RESET_MEMBER(selz80_state, dagz80)
{
setup_baud();
uint8_t* rom = memregion("user1")->base();
@@ -220,7 +220,7 @@ MACHINE_CONFIG_START(selz80_state::selz80)
MCFG_DEVICE_ADD("maincpu",Z80, XTAL(4'000'000)) // it's actually a 5MHz XTAL with a NEC uPD780C-1 cpu
MCFG_DEVICE_PROGRAM_MAP(selz80_mem)
MCFG_DEVICE_IO_MAP(selz80_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_selz80, this));
+ MCFG_MACHINE_RESET_OVERRIDE(selz80_state, selz80 )
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_selz80)
@@ -252,7 +252,7 @@ MACHINE_CONFIG_START(selz80_state::dagz80)
selz80(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(dagz80_mem)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dagz80, this));
+ MCFG_MACHINE_RESET_OVERRIDE(selz80_state, dagz80 )
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/seta.cpp b/src/mame/drivers/seta.cpp
index 89aac47cb11..06a360aa8cb 100644
--- a/src/mame/drivers/seta.cpp
+++ b/src/mame/drivers/seta.cpp
@@ -2213,7 +2213,7 @@ void seta_state::keroppi_map(address_map &map)
map(0xe00600, 0xe00607).ram().rw(m_seta001, FUNC(seta001_device::spritectrl_r16), FUNC(seta001_device::spritectrl_w16));
}
-void seta_state::machine_start_keroppi()
+MACHINE_START_MEMBER(seta_state,keroppi)
{
m_keroppi_prize_hop = 0;
m_keroppi_protection_count = 0;
@@ -2372,7 +2372,7 @@ void seta_state::drgnunit_map(address_map &map)
***************************************************************************/
// Coin drop
-void setaroul_state::machine_reset_setaroul()
+MACHINE_RESET_MEMBER(setaroul_state, setaroul)
{
m_coin_start_cycles = 0;
}
@@ -3476,7 +3476,7 @@ void seta_state::downtown_sub_map(address_map &map)
Caliber 50 / U.S. Classic
***************************************************************************/
-void seta_state::machine_reset_calibr50()
+MACHINE_RESET_MEMBER(seta_state,calibr50)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
calibr50_sub_bankswitch_w(space, 0, 0);
@@ -7839,7 +7839,7 @@ MACHINE_CONFIG_START(seta_state::tndrcade)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_tndrcade)
MCFG_PALETTE_ADD("palette", 512) /* sprites only */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_no_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -7894,7 +7894,7 @@ MACHINE_CONFIG_START(seta_state::twineagl)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_downtown)
MCFG_PALETTE_ADD("palette", 512)
- set_video_start_cb(config, driver_callback_delegate(&video_start_twineagl_1_layer, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,twineagl_1_layer)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -7940,7 +7940,7 @@ MACHINE_CONFIG_START(seta_state::downtown)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_downtown)
MCFG_PALETTE_ADD("palette", 512)
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_1_layer, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_1_layer)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -7975,7 +7975,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(seta_state::calibr50_interrupt)
}
-void seta_state::machine_start_usclssic()
+MACHINE_START_MEMBER(seta_state, usclssic)
{
m_buttonmux->ab_w(0xff);
}
@@ -8002,8 +8002,8 @@ MACHINE_CONFIG_START(seta_state::usclssic)
MCFG_DEVCB_CHAIN_OUTPUT(WRITELINE("upd4701", upd4701_device, right_w)) MCFG_DEVCB_BIT(1)
MCFG_DEVCB_CHAIN_OUTPUT(WRITELINE("upd4701", upd4701_device, left_w)) MCFG_DEVCB_BIT(2)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_usclssic, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_calibr50, this));
+ MCFG_MACHINE_START_OVERRIDE(seta_state,usclssic)
+ MCFG_MACHINE_RESET_OVERRIDE(seta_state,calibr50)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
@@ -8024,7 +8024,7 @@ MACHINE_CONFIG_START(seta_state::usclssic)
MCFG_PALETTE_INDIRECT_ENTRIES(0x400)
MCFG_PALETTE_INIT_OWNER(seta_state,usclssic) /* layer is 6 planes deep */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_1_layer, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_1_layer)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8064,7 +8064,7 @@ MACHINE_CONFIG_START(seta_state::calibr50)
MCFG_UPD4701_PORTX("ROT1")
MCFG_UPD4701_PORTY("ROT2")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_calibr50, this));
+ MCFG_MACHINE_RESET_OVERRIDE(seta_state,calibr50)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
@@ -8082,7 +8082,7 @@ MACHINE_CONFIG_START(seta_state::calibr50)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_downtown)
MCFG_PALETTE_ADD("palette", 512)
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_1_layer, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_1_layer)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8132,7 +8132,7 @@ MACHINE_CONFIG_START(seta_state::metafox)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_downtown)
MCFG_PALETTE_ADD("palette", 512)
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_1_layer, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_1_layer)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8172,7 +8172,7 @@ MACHINE_CONFIG_START(seta_state::atehate)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_tndrcade)
MCFG_PALETTE_ADD("palette", 512) /* sprites only */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_no_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8220,7 +8220,7 @@ MACHINE_CONFIG_START(seta_state::blandia)
MCFG_PALETTE_INDIRECT_ENTRIES(0x600*2)
MCFG_PALETTE_INIT_OWNER(seta_state,blandia) /* layers 1&2 are 6 planes deep */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8257,7 +8257,7 @@ MACHINE_CONFIG_START(seta_state::blandiap)
MCFG_PALETTE_INDIRECT_ENTRIES(0x600*2)
MCFG_PALETTE_INIT_OWNER(seta_state,blandia) /* layers 1&2 are 6 planes deep */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8294,7 +8294,7 @@ MACHINE_CONFIG_START(seta_state::blockcar)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_tndrcade)
MCFG_PALETTE_ADD("palette", 512) /* sprites only */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_no_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8368,7 +8368,7 @@ MACHINE_CONFIG_START(seta_state::daioh)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_msgundam)
MCFG_PALETTE_ADD("palette", 512 * 3) /* sprites, layer1, layer2 */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8405,7 +8405,7 @@ MACHINE_CONFIG_START(seta_state::daiohp)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_daiohp)
MCFG_PALETTE_ADD("palette", 512 * 3) /* sprites, layer1, layer2 */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8448,7 +8448,7 @@ MACHINE_CONFIG_START(seta_state::drgnunit)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_downtown)
MCFG_PALETTE_ADD("palette", 512)
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_1_layer, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_1_layer)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8484,7 +8484,7 @@ MACHINE_CONFIG_START(seta_state::qzkklgy2)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_qzkklgy2)
MCFG_PALETTE_ADD("palette", 512)
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_1_layer, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_1_layer)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -8520,7 +8520,7 @@ MACHINE_CONFIG_START(setaroul_state::setaroul)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", setaroul_state, interrupt, "screen", 0, 1)
MCFG_WATCHDOG_ADD("watchdog")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_setaroul, this));
+ MCFG_MACHINE_RESET_OVERRIDE(setaroul_state, setaroul)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
@@ -8548,7 +8548,7 @@ MACHINE_CONFIG_START(setaroul_state::setaroul)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_INIT_OWNER(setaroul_state,setaroul)
- set_video_start_cb(config, driver_callback_delegate(&video_start_setaroul_1_layer, this));
+ MCFG_VIDEO_START_OVERRIDE(setaroul_state,setaroul_1_layer)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -8590,7 +8590,7 @@ MACHINE_CONFIG_START(seta_state::eightfrc)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_msgundam)
MCFG_PALETTE_ADD("palette", 512 * 3) /* sprites, layer1, layer2 */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8636,7 +8636,7 @@ MACHINE_CONFIG_START(seta_state::extdwnhl)
MCFG_PALETTE_INDIRECT_ENTRIES(0x600)
MCFG_PALETTE_INIT_OWNER(seta_state,zingzip) /* layer 1 gfx is 6 planes deep */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -8657,10 +8657,7 @@ INTERRUPT_GEN_MEMBER(seta_state::wrofaero_interrupt)
device.execute().set_input_line(2, HOLD_LINE );
}
-void seta_state::machine_start_wrofaero()
-{
- uPD71054_timer_init();
-}
+MACHINE_START_MEMBER(seta_state,wrofaero){ uPD71054_timer_init(); }
#endif // __uPD71054_TIMER
@@ -8685,7 +8682,7 @@ MACHINE_CONFIG_START(seta_state::gundhara)
MCFG_WATCHDOG_ADD("watchdog")
#if __uPD71054_TIMER
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_wrofaero, this));
+ MCFG_MACHINE_START_OVERRIDE(seta_state, wrofaero )
#endif // __uPD71054_TIMER
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -8707,7 +8704,7 @@ MACHINE_CONFIG_START(seta_state::gundhara)
MCFG_PALETTE_INDIRECT_ENTRIES(0x600)
MCFG_PALETTE_INIT_OWNER(seta_state,gundhara) /* layers are 6 planes deep (seta_state,but have only 4 palettes) */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8768,7 +8765,7 @@ MACHINE_CONFIG_START(seta_state::jjsquawk)
MCFG_PALETTE_INDIRECT_ENTRIES(0x600)
MCFG_PALETTE_INIT_OWNER(seta_state,jjsquawk) /* layers are 6 planes deep */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8803,7 +8800,7 @@ MACHINE_CONFIG_START(seta_state::jjsquawb)
MCFG_PALETTE_INDIRECT_ENTRIES(0x600)
MCFG_PALETTE_INIT_OWNER(seta_state,jjsquawk) /* layers are 6 planes deep */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8845,7 +8842,7 @@ MACHINE_CONFIG_START(seta_state::kamenrid)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_msgundam)
MCFG_PALETTE_ADD("palette", 512 * 3) /* sprites, layer2, layer1 */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -8883,7 +8880,7 @@ MACHINE_CONFIG_START(seta_state::orbs)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_orbs)
MCFG_PALETTE_ADD("palette", 512) /* sprites only */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_no_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -8908,7 +8905,7 @@ MACHINE_CONFIG_START(seta_state::keroppij)
MCFG_DEVICE_PROGRAM_MAP(keroppi_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, seta_interrupt_1_and_2, "screen", 0, 1)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_keroppi, this));
+ MCFG_MACHINE_START_OVERRIDE(seta_state,keroppi)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
@@ -8926,7 +8923,7 @@ MACHINE_CONFIG_START(seta_state::keroppij)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_orbs)
MCFG_PALETTE_ADD("palette", 512) /* sprites only */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_no_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -8977,7 +8974,7 @@ MACHINE_CONFIG_START(seta_state::krzybowl)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_tndrcade)
MCFG_PALETTE_ADD("palette", 512) /* sprites only */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_no_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9024,7 +9021,7 @@ MACHINE_CONFIG_START(seta_state::madshark)
MCFG_PALETTE_INDIRECT_ENTRIES(0x600)
MCFG_PALETTE_INIT_OWNER(seta_state,jjsquawk) /* layers are 6 planes deep */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9067,7 +9064,7 @@ MACHINE_CONFIG_START(seta_state::magspeed)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_msgundam)
MCFG_PALETTE_ADD("palette", 512 * 3) /* sprites, layer2, layer1 */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9111,7 +9108,7 @@ MACHINE_CONFIG_START(seta_state::msgundam)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_msgundam)
MCFG_PALETTE_ADD("palette", 512 * 3) /* sprites, layer2, layer1 */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9149,7 +9146,7 @@ MACHINE_CONFIG_START(seta_state::oisipuzl)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_msgundam)
MCFG_PALETTE_ADD("palette", 512 * 3) /* sprites, layer2, layer1 */
- set_video_start_cb(config, driver_callback_delegate(&video_start_oisipuzl_2_layers, this)); // flip is inverted for the tilemaps
+ MCFG_VIDEO_START_OVERRIDE(seta_state,oisipuzl_2_layers) // flip is inverted for the tilemaps
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -9189,7 +9186,7 @@ MACHINE_CONFIG_START(seta_state::triplfun)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_msgundam)
MCFG_PALETTE_ADD("palette", 512 * 3) /* sprites, layer2, layer1 */
- set_video_start_cb(config, driver_callback_delegate(&video_start_oisipuzl_2_layers, this)); // flip is inverted for the tilemaps
+ MCFG_VIDEO_START_OVERRIDE(seta_state,oisipuzl_2_layers) // flip is inverted for the tilemaps
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -9233,7 +9230,7 @@ MACHINE_CONFIG_START(seta_state::kiwame)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_tndrcade)
MCFG_PALETTE_ADD("palette", 512) /* sprites only */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_no_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -9276,7 +9273,7 @@ MACHINE_CONFIG_START(seta_state::rezon)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_msgundam)
MCFG_PALETTE_ADD("palette", 512 * 3) /* sprites, layer1, layer2 */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9316,7 +9313,7 @@ MACHINE_CONFIG_START(seta_state::thunderl)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_tndrcade)
MCFG_PALETTE_ADD("palette", 512) /* sprites only */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_no_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9392,7 +9389,7 @@ MACHINE_CONFIG_START(seta_state::wiggie)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_wiggie)
MCFG_PALETTE_ADD("palette", 512) /* sprites only */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_no_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9433,7 +9430,7 @@ MACHINE_CONFIG_START(seta_state::wits)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_tndrcade)
MCFG_PALETTE_ADD("palette", 512) /* sprites only */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_no_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9470,7 +9467,7 @@ MACHINE_CONFIG_START(seta_state::umanclub)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_tndrcade)
MCFG_PALETTE_ADD("palette", 512)
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_no_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9511,7 +9508,7 @@ MACHINE_CONFIG_START(seta_state::utoukond)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_msgundam)
MCFG_PALETTE_ADD("palette", 512 * 3) /* sprites, layer2, layer1 */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -9550,7 +9547,7 @@ MACHINE_CONFIG_START(seta_state::wrofaero)
MCFG_WATCHDOG_ADD("watchdog")
#if __uPD71054_TIMER
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_wrofaero, this));
+ MCFG_MACHINE_START_OVERRIDE(seta_state, wrofaero )
#endif // __uPD71054_TIMER
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -9569,7 +9566,7 @@ MACHINE_CONFIG_START(seta_state::wrofaero)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_msgundam)
MCFG_PALETTE_ADD("palette", 512 * 3) /* sprites, layer1, layer2 */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9618,7 +9615,7 @@ MACHINE_CONFIG_START(seta_state::zingzip)
MCFG_PALETTE_INDIRECT_ENTRIES(0x600)
MCFG_PALETTE_INIT_OWNER(seta_state,zingzip) /* layer 1 gfx is 6 planes deep */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9671,7 +9668,7 @@ MACHINE_CONFIG_START(seta_state::pairlove)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_pairlove)
MCFG_PALETTE_ADD("palette", 2048) /* sprites only */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_no_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_no_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9722,7 +9719,7 @@ MACHINE_CONFIG_START(seta_state::crazyfgt)
MCFG_PALETTE_INDIRECT_ENTRIES(0x600)
MCFG_PALETTE_INIT_OWNER(seta_state,gundhara) /* layers are 6 planes deep (seta_state,but have only 4 palettes) */
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_2_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -9792,7 +9789,7 @@ MACHINE_CONFIG_START(jockeyc_state::jockeyc)
MCFG_PALETTE_ADD("palette", 512 * 1)
MCFG_PALETTE_INIT_OWNER(seta_state,palette_init_RRRRRGGGGGBBBBB_proms)
- set_video_start_cb(config, driver_callback_delegate(&video_start_jockeyc_1_layer, this));
+ MCFG_VIDEO_START_OVERRIDE(jockeyc_state,jockeyc_1_layer)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
diff --git a/src/mame/drivers/seta2.cpp b/src/mame/drivers/seta2.cpp
index 490c3eb1653..94775441662 100644
--- a/src/mame/drivers/seta2.cpp
+++ b/src/mame/drivers/seta2.cpp
@@ -226,7 +226,7 @@ void seta2_state::gundamex_map(address_map &map)
Wakakusamonogatari Mahjong Yonshimai
***************************************************************************/
-void seta2_state::machine_start_mj4simai()
+MACHINE_START_MEMBER(seta2_state, mj4simai)
{
save_item(NAME(m_keyboard_row));
}
@@ -2559,7 +2559,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(seta2_state::mj4simai)
seta2(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mj4simai, this));
+ MCFG_MACHINE_START_OVERRIDE(seta2_state, mj4simai)
MACHINE_CONFIG_END
@@ -2601,7 +2601,7 @@ MACHINE_CONFIG_START(seta2_state::myangel)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 0x178-1, 0x00, 0xf0-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_yoffset, this));
+ MCFG_VIDEO_START_OVERRIDE(seta2_state,yoffset)
MACHINE_CONFIG_END
@@ -2614,7 +2614,7 @@ MACHINE_CONFIG_START(seta2_state::myangel2)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0, 0x178-1, 0x00, 0xf0-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_yoffset, this));
+ MCFG_VIDEO_START_OVERRIDE(seta2_state,yoffset)
MACHINE_CONFIG_END
@@ -2663,7 +2663,7 @@ MACHINE_CONFIG_START(seta2_state::reelquak)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0x40, 0x180-1, 0x80, 0x170-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_xoffset, this));
+ MCFG_VIDEO_START_OVERRIDE(seta2_state,xoffset)
MACHINE_CONFIG_END
@@ -2717,7 +2717,7 @@ MACHINE_CONFIG_START(seta2_state::telpacfl)
// video hardware
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0x0, 0x180-1, 0xff, 0x1ef-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_xoffset1, this));
+ MCFG_VIDEO_START_OVERRIDE(seta2_state,xoffset1)
MACHINE_CONFIG_END
@@ -2736,13 +2736,13 @@ TIMER_DEVICE_CALLBACK_MEMBER(seta2_state::funcube_interrupt)
m_maincpu->set_input_line(2, HOLD_LINE);
}
-void seta2_state::machine_start_funcube()
+MACHINE_START_MEMBER(seta2_state, funcube)
{
save_item(NAME(m_funcube_coin_start_cycles));
save_item(NAME(m_funcube_hopper_motor));
}
-void seta2_state::machine_reset_funcube()
+MACHINE_RESET_MEMBER(seta2_state, funcube)
{
m_funcube_coin_start_cycles = 0;
m_funcube_hopper_motor = 0;
@@ -2767,8 +2767,8 @@ MACHINE_CONFIG_START(seta2_state::funcube)
MCFG_WATCHDOG_ADD("watchdog")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_funcube, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_funcube, this));
+ MCFG_MACHINE_START_OVERRIDE(seta2_state, funcube)
+ MCFG_MACHINE_RESET_OVERRIDE(seta2_state, funcube)
// video hardware
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/shangkid.cpp b/src/mame/drivers/shangkid.cpp
index 8c6ce3e9452..de83c1c82f1 100644
--- a/src/mame/drivers/shangkid.cpp
+++ b/src/mame/drivers/shangkid.cpp
@@ -191,7 +191,7 @@ void shangkid_state::init_shangkid()
/***************************************************************************************/
-void shangkid_state::machine_reset_shangkid()
+MACHINE_RESET_MEMBER(shangkid_state,shangkid)
{
membank("bank2")->set_entry(0);
}
@@ -415,7 +415,7 @@ MACHINE_CONFIG_START(shangkid_state::chinhero)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_chinhero)
MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", "proms", 256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_shangkid, this));
+ MCFG_VIDEO_START_OVERRIDE(shangkid_state,shangkid)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -450,7 +450,7 @@ MACHINE_CONFIG_START(shangkid_state::shangkid)
MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(INPUTLINE("audiocpu", INPUT_LINE_RESET)) MCFG_DEVCB_INVERT
MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(MEMBANK("bank1"))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_shangkid, this));
+ MCFG_MACHINE_RESET_OVERRIDE(shangkid_state,shangkid)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_shangkid)
diff --git a/src/mame/drivers/sigmab98.cpp b/src/mame/drivers/sigmab98.cpp
index 3d9a01f80d7..7ce5e6f91a0 100644
--- a/src/mame/drivers/sigmab98.cpp
+++ b/src/mame/drivers/sigmab98.cpp
@@ -281,8 +281,8 @@ public:
void init_haekaka();
void init_gocowboy();
- void machine_reset_sigmab98();
- void machine_reset_sammymdl();
+ DECLARE_MACHINE_RESET(sigmab98);
+ DECLARE_MACHINE_RESET(sammymdl);
virtual void video_start() override;
uint32_t screen_update_sigmab98(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -347,7 +347,7 @@ public:
DECLARE_WRITE8_MEMBER(lufykzku_c8_w);
DECLARE_WRITE8_MEMBER(lufykzku_watchdog_w);
- void machine_reset_lufykzku();
+ DECLARE_MACHINE_RESET(lufykzku);
void init_lufykzku();
TIMER_DEVICE_CALLBACK_MEMBER(lufykzku_irq);
@@ -2819,7 +2819,7 @@ INPUT_PORTS_END
Sigma B-98 Games
***************************************************************************/
-void sigmab98_state::machine_reset_sigmab98()
+MACHINE_RESET_MEMBER(sigmab98_state,sigmab98)
{
m_rombank = 0;
membank("rombank")->set_entry(0);
@@ -2839,7 +2839,7 @@ MACHINE_CONFIG_START(sigmab98_state::sigmab98)
MCFG_DEVICE_IO_MAP(gegege_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", sigmab98_state, sigmab98_vblank_interrupt)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sigmab98, this));
+ MCFG_MACHINE_RESET_OVERRIDE(sigmab98_state, sigmab98)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
@@ -2899,7 +2899,7 @@ MACHINE_CONFIG_END
Banpresto Medal Games
***************************************************************************/
-void lufykzku_state::machine_reset_lufykzku()
+MACHINE_RESET_MEMBER(lufykzku_state,lufykzku)
{
m_rombank = 0;
membank("romrambank")->set_entry(0);
@@ -2923,7 +2923,7 @@ MACHINE_CONFIG_START(lufykzku_state::lufykzku)
MCFG_DEVICE_IO_MAP(lufykzku_io_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", lufykzku_state, lufykzku_irq, "screen", 0, 1)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_lufykzku, this));
+ MCFG_MACHINE_RESET_OVERRIDE(lufykzku_state, lufykzku)
MCFG_NVRAM_ADD_0FILL("nvram") // battery backed RAM
// No EEPROM
@@ -2969,7 +2969,7 @@ MACHINE_CONFIG_END
Sammy Medal Games
***************************************************************************/
-void sigmab98_state::machine_reset_sammymdl()
+MACHINE_RESET_MEMBER(sigmab98_state,sammymdl)
{
m_maincpu->set_state_int(Z80_PC, 0x400); // code starts at 400 ??? (000 = cart header)
}
@@ -2994,7 +2994,7 @@ MACHINE_CONFIG_START(sigmab98_state::sammymdl)
MCFG_DEVICE_IO_MAP( animalc_io )
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", sigmab98_state, sammymdl_irq, "screen", 0, 1)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sammymdl, this));
+ MCFG_MACHINE_RESET_OVERRIDE(sigmab98_state, sammymdl )
MCFG_NVRAM_ADD_0FILL("nvram") // battery backed RAM
MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("eeprom")
diff --git a/src/mame/drivers/simple_st0016.cpp b/src/mame/drivers/simple_st0016.cpp
index 3678122b2e1..1260aa81686 100644
--- a/src/mame/drivers/simple_st0016.cpp
+++ b/src/mame/drivers/simple_st0016.cpp
@@ -484,7 +484,7 @@ MACHINE_CONFIG_START(st0016_state::st0016)
MCFG_SCREEN_PALETTE("maincpu:palette")
-// set_video_start_cb(config, driver_callback_delegate(&video_start_st0016, this));
+// MCFG_VIDEO_START_OVERRIDE(st0016_state,st0016)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/slapfght.cpp b/src/mame/drivers/slapfght.cpp
index c31e0838562..cdceb753451 100644
--- a/src/mame/drivers/slapfght.cpp
+++ b/src/mame/drivers/slapfght.cpp
@@ -923,7 +923,7 @@ MACHINE_CONFIG_START(slapfght_state::perfrman)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_perfrman)
MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", "proms", 256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_perfrman, this));
+ MCFG_VIDEO_START_OVERRIDE(slapfght_state, perfrman)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -975,7 +975,7 @@ MACHINE_CONFIG_START(slapfght_state::tigerh)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_slapfght)
MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", "proms", 256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_slapfight, this));
+ MCFG_VIDEO_START_OVERRIDE(slapfght_state, slapfight)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1048,7 +1048,7 @@ MACHINE_CONFIG_START(slapfght_state::slapfigh)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_slapfght)
MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", "proms", 256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_slapfight, this));
+ MCFG_VIDEO_START_OVERRIDE(slapfght_state, slapfight)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/sms.cpp b/src/mame/drivers/sms.cpp
index e1b6722515d..490a34432dc 100644
--- a/src/mame/drivers/sms.cpp
+++ b/src/mame/drivers/sms.cpp
@@ -494,8 +494,8 @@ INPUT_PORTS_END
MACHINE_CONFIG_START(sms_state::sms_base)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_sms, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sms, this));
+ MCFG_MACHINE_START_OVERRIDE(sms_state,sms)
+ MCFG_MACHINE_RESET_OVERRIDE(sms_state,sms)
/* basic machine hardware */
SPEAKER(config, "mono").front_center();
@@ -612,8 +612,8 @@ MACHINE_CONFIG_START(sms_state::sms1_ntsc)
MCFG_DEFAULT_LAYOUT(layout_sms1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_sms1, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_sms1, this));
+ MCFG_VIDEO_START_OVERRIDE(sms_state,sms1)
+ MCFG_VIDEO_RESET_OVERRIDE(sms_state,sms1)
MCFG_DEVICE_ADD("sms_vdp", SEGA315_5124, 0)
MCFG_SEGA315_5124_SET_SCREEN("screen")
@@ -726,8 +726,8 @@ MACHINE_CONFIG_START(sms_state::sms1_pal)
MCFG_DEFAULT_LAYOUT(layout_sms1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_sms1, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_sms1, this));
+ MCFG_VIDEO_START_OVERRIDE(sms_state,sms1)
+ MCFG_VIDEO_RESET_OVERRIDE(sms_state,sms1)
MCFG_DEVICE_ADD("sms_vdp", SEGA315_5124, 0)
MCFG_SEGA315_5124_SET_SCREEN("screen")
@@ -793,8 +793,8 @@ MACHINE_CONFIG_START(sms_state::sms1_paln)
MCFG_DEFAULT_LAYOUT(layout_sms1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_sms1, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_sms1, this));
+ MCFG_VIDEO_START_OVERRIDE(sms_state,sms1)
+ MCFG_VIDEO_RESET_OVERRIDE(sms_state,sms1)
MCFG_DEVICE_ADD("sms_vdp", SEGA315_5124, 0)
MCFG_SEGA315_5124_SET_SCREEN("screen")
@@ -862,8 +862,8 @@ MACHINE_CONFIG_START(sms_state::sms1_br)
MCFG_DEFAULT_LAYOUT(layout_sms1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_sms1, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_sms1, this));
+ MCFG_VIDEO_START_OVERRIDE(sms_state,sms1)
+ MCFG_VIDEO_RESET_OVERRIDE(sms_state,sms1)
MCFG_DEVICE_ADD("sms_vdp", SEGA315_5124, 0)
MCFG_SEGA315_5124_SET_SCREEN("screen")
@@ -949,16 +949,16 @@ MACHINE_CONFIG_START(sms_state::gamegear)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_sms, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sms, this));
+ MCFG_MACHINE_START_OVERRIDE(sms_state,sms)
+ MCFG_MACHINE_RESET_OVERRIDE(sms_state,sms)
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_GG_RAW_PARAMS(MASTER_CLOCK_GG/6)
MCFG_SCREEN_UPDATE_DRIVER(sms_state, screen_update_gamegear)
- set_video_start_cb(config, driver_callback_delegate(&video_start_gamegear, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_gamegear, this));
+ MCFG_VIDEO_START_OVERRIDE(sms_state,gamegear)
+ MCFG_VIDEO_RESET_OVERRIDE(sms_state,gamegear)
MCFG_DEVICE_ADD("sms_vdp", SEGA315_5378, 0)
MCFG_SEGA315_5378_SET_SCREEN("screen")
diff --git a/src/mame/drivers/sms_bootleg.cpp b/src/mame/drivers/sms_bootleg.cpp
index 2e315689820..aca12490c20 100644
--- a/src/mame/drivers/sms_bootleg.cpp
+++ b/src/mame/drivers/sms_bootleg.cpp
@@ -281,8 +281,8 @@ MACHINE_CONFIG_START(smsbootleg_state::sms_supergame)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_sms, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sms, this));
+ MCFG_MACHINE_START_OVERRIDE(sms_state,sms)
+ MCFG_MACHINE_RESET_OVERRIDE(sms_state,sms)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/smsmcorp.cpp b/src/mame/drivers/smsmcorp.cpp
index 36de292ea7b..ade4e98837e 100644
--- a/src/mame/drivers/smsmcorp.cpp
+++ b/src/mame/drivers/smsmcorp.cpp
@@ -249,7 +249,7 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
- void machine_start_sureshot() ATTR_COLD;
+ DECLARE_MACHINE_START(sureshot);
uint32_t screen_update_sms(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
required_device<screen_device> m_screen;
@@ -530,7 +530,7 @@ void smsmfg_state::machine_start()
save_item(NAME(m_communication_port));
}
-void smsmfg_state::machine_start_sureshot()
+MACHINE_START_MEMBER(smsmfg_state,sureshot)
{
save_item(NAME(m_communication_port_status));
save_item(NAME(m_communication_port));
@@ -586,7 +586,7 @@ MACHINE_CONFIG_START(smsmfg_state::sureshot)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(sureshot_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_sureshot, this));
+ MCFG_MACHINE_START_OVERRIDE(smsmfg_state,sureshot)
MACHINE_CONFIG_END
/*************************************
diff --git a/src/mame/drivers/snesb.cpp b/src/mame/drivers/snesb.cpp
index 616d223cfed..ba764891716 100644
--- a/src/mame/drivers/snesb.cpp
+++ b/src/mame/drivers/snesb.cpp
@@ -184,7 +184,7 @@ public:
void init_endless();
void init_mk3snes();
void init_legendsb();
- void machine_reset_ffight2b();
+ DECLARE_MACHINE_RESET(ffight2b);
void mk3snes(machine_config &config);
void ffight2b(machine_config &config);
void kinstb(machine_config &config);
@@ -737,7 +737,7 @@ MACHINE_CONFIG_START(snesb_state::mk3snes)
MACHINE_CONFIG_END
-void snesb_state::machine_reset_ffight2b()
+MACHINE_RESET_MEMBER( snesb_state, ffight2b )
{
address_space &cpu0space = m_maincpu->space(AS_PROGRAM);
snes_state::machine_reset();
@@ -748,7 +748,7 @@ void snesb_state::machine_reset_ffight2b()
MACHINE_CONFIG_START(snesb_state::ffight2b)
kinstb(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ffight2b, this));
+ MCFG_MACHINE_RESET_OVERRIDE( snesb_state, ffight2b )
MACHINE_CONFIG_END
void snesb_state::init_kinstb()
diff --git a/src/mame/drivers/snk.cpp b/src/mame/drivers/snk.cpp
index e7e94d50066..4e0e22b5339 100644
--- a/src/mame/drivers/snk.cpp
+++ b/src/mame/drivers/snk.cpp
@@ -3679,7 +3679,7 @@ MACHINE_CONFIG_START(snk_state::marvins)
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_INIT_OWNER(snk_state,tnk3)
- set_video_start_cb(config, driver_callback_delegate(&video_start_marvins, this));
+ MCFG_VIDEO_START_OVERRIDE(snk_state,marvins)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3753,7 +3753,7 @@ MACHINE_CONFIG_START(snk_state::jcross)
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_INIT_OWNER(snk_state,tnk3)
- set_video_start_cb(config, driver_callback_delegate(&video_start_jcross, this));
+ MCFG_VIDEO_START_OVERRIDE(snk_state,jcross)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3782,7 +3782,7 @@ MACHINE_CONFIG_START(snk_state::sgladiat)
/* visible area is correct. Debug info is shown in the black bars at the sides
of the screen when the Debug dip switch is on */
- set_video_start_cb(config, driver_callback_delegate(&video_start_sgladiat, this));
+ MCFG_VIDEO_START_OVERRIDE(snk_state,sgladiat)
MACHINE_CONFIG_END
@@ -3802,7 +3802,7 @@ MACHINE_CONFIG_START(snk_state::hal21)
MCFG_DEVICE_PERIODIC_INT_DRIVER(snk_state, irq0_line_hold, 220) // music tempo, hand tuned
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_hal21, this));
+ MCFG_VIDEO_START_OVERRIDE(snk_state,hal21)
MACHINE_CONFIG_END
@@ -3836,7 +3836,7 @@ MACHINE_CONFIG_START(snk_state::tnk3)
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_INIT_OWNER(snk_state,tnk3)
- set_video_start_cb(config, driver_callback_delegate(&video_start_tnk3, this));
+ MCFG_VIDEO_START_OVERRIDE(snk_state,tnk3)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3863,7 +3863,7 @@ MACHINE_CONFIG_START(snk_state::aso)
MCFG_DEVICE_PROGRAM_MAP(aso_YM3526_sound_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_aso, this));
+ MCFG_VIDEO_START_OVERRIDE(snk_state,aso)
MACHINE_CONFIG_END
@@ -3931,7 +3931,7 @@ MACHINE_CONFIG_START(snk_state::ikari)
MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", "proms", 0x400)
MCFG_PALETTE_ENABLE_SHADOWS()
- set_video_start_cb(config, driver_callback_delegate(&video_start_ikari, this));
+ MCFG_VIDEO_START_OVERRIDE(snk_state,ikari)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3989,7 +3989,7 @@ MACHINE_CONFIG_START(snk_state::bermudat)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_gwar)
MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", "proms", 0x400)
- set_video_start_cb(config, driver_callback_delegate(&video_start_gwar, this));
+ MCFG_VIDEO_START_OVERRIDE(snk_state,gwar)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4010,7 +4010,7 @@ MACHINE_CONFIG_START(snk_state::psychos)
bermudat(config);
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_psychos, this));
+ MCFG_VIDEO_START_OVERRIDE(snk_state,psychos)
MACHINE_CONFIG_END
@@ -4094,7 +4094,7 @@ MACHINE_CONFIG_START(snk_state::tdfever)
MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", "proms", 0x400)
MCFG_PALETTE_ENABLE_SHADOWS()
- set_video_start_cb(config, driver_callback_delegate(&video_start_tdfever, this));
+ MCFG_VIDEO_START_OVERRIDE(snk_state,tdfever)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/snk6502.cpp b/src/mame/drivers/snk6502.cpp
index f40e9cde9fa..a37d836fcfa 100644
--- a/src/mame/drivers/snk6502.cpp
+++ b/src/mame/drivers/snk6502.cpp
@@ -795,7 +795,7 @@ INTERRUPT_GEN_MEMBER(snk6502_state::snk6502_interrupt)
*
*************************************/
-void snk6502_state::machine_reset_sasuke()
+MACHINE_RESET_MEMBER(snk6502_state,sasuke)
{
m_sound->set_music_clock(M_LN2 * (RES_K(18) + RES_K(1)) * CAP_U(1));
@@ -805,7 +805,7 @@ void snk6502_state::machine_reset_sasuke()
sasuke_start_counter();
}
-void snk6502_state::machine_reset_satansat()
+MACHINE_RESET_MEMBER(snk6502_state,satansat)
{
// same as sasuke (assumption?)
// NOTE: this was set before sasuke was adjusted to a lower freq, please don't modify until measured/confirmed on pcb
@@ -814,13 +814,13 @@ void snk6502_state::machine_reset_satansat()
sasuke_start_counter();
}
-void snk6502_state::machine_reset_vanguard()
+MACHINE_RESET_MEMBER(snk6502_state,vanguard)
{
// 41.6 Hz update (measured)
m_sound->set_music_clock(1 / 41.6);
}
-void snk6502_state::machine_reset_pballoon()
+MACHINE_RESET_MEMBER(snk6502_state,pballoon)
{
// 40.3 Hz update (measured)
m_sound->set_music_clock(1 / 40.3);
@@ -840,7 +840,7 @@ MACHINE_CONFIG_START(snk6502_state::sasuke)
MCFG_DEVICE_PROGRAM_MAP(sasuke_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", snk6502_state, satansat_interrupt)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sasuke, this));
+ MCFG_MACHINE_RESET_OVERRIDE(snk6502_state,sasuke)
// video hardware
@@ -856,7 +856,7 @@ MACHINE_CONFIG_START(snk6502_state::sasuke)
MCFG_PALETTE_ADD("palette", 32)
MCFG_PALETTE_INIT_OWNER(snk6502_state,satansat)
- set_video_start_cb(config, driver_callback_delegate(&video_start_satansat, this));
+ MCFG_VIDEO_START_OVERRIDE(snk6502_state,satansat)
MCFG_MC6845_ADD("crtc", MC6845, "screen", MASTER_CLOCK / 16)
MCFG_MC6845_SHOW_BORDER_AREA(false)
@@ -934,7 +934,7 @@ MACHINE_CONFIG_START(snk6502_state::satansat)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(satansat_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_satansat, this));
+ MCFG_MACHINE_RESET_OVERRIDE(snk6502_state,satansat)
// video hardware
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_satansat)
@@ -974,7 +974,7 @@ MACHINE_CONFIG_START(snk6502_state::vanguard)
MCFG_DEVICE_PROGRAM_MAP(vanguard_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", snk6502_state, snk6502_interrupt)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_vanguard, this));
+ MCFG_MACHINE_RESET_OVERRIDE(snk6502_state,vanguard)
// video hardware
@@ -990,7 +990,7 @@ MACHINE_CONFIG_START(snk6502_state::vanguard)
MCFG_PALETTE_ADD("palette", 64)
MCFG_PALETTE_INIT_OWNER(snk6502_state,snk6502)
- set_video_start_cb(config, driver_callback_delegate(&video_start_snk6502, this));
+ MCFG_VIDEO_START_OVERRIDE(snk6502_state,snk6502)
MCFG_MC6845_ADD("crtc", MC6845, "screen", MASTER_CLOCK / 16)
MCFG_MC6845_SHOW_BORDER_AREA(false)
@@ -1092,9 +1092,9 @@ MACHINE_CONFIG_START(snk6502_state::pballoon)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(pballoon_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pballoon, this));
+ MCFG_MACHINE_RESET_OVERRIDE(snk6502_state,pballoon)
- set_video_start_cb(config, driver_callback_delegate(&video_start_pballoon, this));
+ MCFG_VIDEO_START_OVERRIDE(snk6502_state, pballoon )
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/snk68.cpp b/src/mame/drivers/snk68.cpp
index 28f21e2cc7b..23cec980956 100644
--- a/src/mame/drivers/snk68.cpp
+++ b/src/mame/drivers/snk68.cpp
@@ -646,7 +646,7 @@ MACHINE_CONFIG_START(snk68_state::searchar)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(searchar_map)
- set_video_start_cb(config, driver_callback_delegate(&video_start_searchar, this));
+ MCFG_VIDEO_START_OVERRIDE(snk68_state,searchar)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/snookr10.cpp b/src/mame/drivers/snookr10.cpp
index 0993b7bb348..d61b2e2dd92 100644
--- a/src/mame/drivers/snookr10.cpp
+++ b/src/mame/drivers/snookr10.cpp
@@ -1079,7 +1079,7 @@ MACHINE_CONFIG_START(snookr10_state::apple10)
/* video hardware */
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_INIT_OWNER(snookr10_state, apple10)
- set_video_start_cb(config, driver_callback_delegate(&video_start_apple10, this));
+ MCFG_VIDEO_START_OVERRIDE(snookr10_state, apple10)
MACHINE_CONFIG_END
@@ -1101,7 +1101,7 @@ MACHINE_CONFIG_START(snookr10_state::crystalc)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_INIT_OWNER(snookr10_state, crystalc)
- set_video_start_cb(config, driver_callback_delegate(&video_start_crystalc, this));
+ MCFG_VIDEO_START_OVERRIDE(snookr10_state, crystalc)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/snowbros.cpp b/src/mame/drivers/snowbros.cpp
index 46429098e73..c5f036ac5a3 100644
--- a/src/mame/drivers/snowbros.cpp
+++ b/src/mame/drivers/snowbros.cpp
@@ -1706,7 +1706,7 @@ static GFXDECODE_START( gfx_hyperpac )
GFXDECODE_ENTRY( "gfx1", 0, hyperpac_tilelayout, 0, 16 )
GFXDECODE_END
-void snowbros_state::machine_reset_semiprot()
+MACHINE_RESET_MEMBER(snowbros_state,semiprot)
{
uint16_t *PROTDATA = (uint16_t*)memregion("user1")->base();
int i;
@@ -1715,7 +1715,7 @@ void snowbros_state::machine_reset_semiprot()
m_hyperpac_ram[0xf000/2 + i] = PROTDATA[i];
}
-void snowbros_state::machine_reset_finalttr()
+MACHINE_RESET_MEMBER(snowbros_state,finalttr)
{
uint16_t *PROTDATA = (uint16_t*)memregion("user1")->base();
int i;
@@ -1830,7 +1830,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(snowbros_state::semiprot)
semicom(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_semiprot, this));
+ MCFG_MACHINE_RESET_OVERRIDE (snowbros_state, semiprot )
MACHINE_CONFIG_END
@@ -1941,7 +1941,7 @@ MACHINE_CONFIG_START(snowbros_state::finalttr)
MCFG_DEVICE_MODIFY("soundcpu")
MCFG_DEVICE_CLOCK(XTAL(3'579'545))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_finalttr, this));
+ MCFG_MACHINE_RESET_OVERRIDE (snowbros_state, finalttr )
MCFG_DEVICE_REPLACE("ymsnd", YM2151, XTAL(3'579'545)) /* possible but less likely 4MHz (12MHz/3) */
MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", 0))
diff --git a/src/mame/drivers/sorcerer.cpp b/src/mame/drivers/sorcerer.cpp
index aaf4e58ff1c..11356065706 100644
--- a/src/mame/drivers/sorcerer.cpp
+++ b/src/mame/drivers/sorcerer.cpp
@@ -489,7 +489,7 @@ MACHINE_CONFIG_START(sorcerer_state::sorcererd)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(sorcererd_mem)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_sorcererd, this));
+ MCFG_MACHINE_START_OVERRIDE(sorcerer_state, sorcererd )
MCFG_DEVICE_ADD("fdc", MICROPOLIS, 0)
MCFG_MICROPOLIS_DEFAULT_DRIVE4_TAGS
diff --git a/src/mame/drivers/spbactn.cpp b/src/mame/drivers/spbactn.cpp
index e48b8d2727b..97b2af00d96 100644
--- a/src/mame/drivers/spbactn.cpp
+++ b/src/mame/drivers/spbactn.cpp
@@ -428,7 +428,7 @@ MACHINE_CONFIG_START(spbactn_state::spbactn)
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
#endif
- set_video_start_cb(config, driver_callback_delegate(&video_start_spbactn, this));
+ MCFG_VIDEO_START_OVERRIDE(spbactn_state,spbactn)
MCFG_SCREEN_UPDATE_DRIVER(spbactn_state, screen_update_spbactn)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_spbactn)
@@ -482,7 +482,7 @@ MACHINE_CONFIG_START(spbactn_state::spbactnp)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_spbactnp, this));
+ MCFG_VIDEO_START_OVERRIDE(spbactn_state,spbactnp)
MCFG_SCREEN_UPDATE_DRIVER(spbactn_state, screen_update_spbactnp)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_spbactnp)
diff --git a/src/mame/drivers/spc1500.cpp b/src/mame/drivers/spc1500.cpp
index 21fb62cbdb2..6ba02055d15 100644
--- a/src/mame/drivers/spc1500.cpp
+++ b/src/mame/drivers/spc1500.cpp
@@ -287,7 +287,7 @@ public:
DECLARE_WRITE8_MEMBER(double_w);
DECLARE_READ8_MEMBER(io_r);
DECLARE_PALETTE_INIT(spc);
- void video_start_spc() ATTR_COLD;
+ DECLARE_VIDEO_START(spc);
MC6845_UPDATE_ROW(crtc_update_row);
MC6845_RECONFIGURE(crtc_reconfig);
TIMER_DEVICE_CALLBACK_MEMBER(timer);
@@ -514,7 +514,7 @@ PALETTE_INIT_MEMBER(spc1500_state,spc)
palette.set_pen_color(7,rgb_t(0xff,0xff,0xff));
}
-void spc1500_state::video_start_spc()
+VIDEO_START_MEMBER(spc1500_state, spc)
{
}
@@ -895,7 +895,7 @@ MACHINE_CONFIG_START(spc1500_state::spc1500)
MCFG_MC6845_CHAR_WIDTH(8)
MCFG_MC6845_UPDATE_ROW_CB(spc1500_state, crtc_update_row)
MCFG_MC6845_RECONFIGURE_CB(spc1500_state, crtc_reconfig)
- set_video_start_cb(config, driver_callback_delegate(&video_start_spc, this));
+ MCFG_VIDEO_START_OVERRIDE(spc1500_state, spc)
MCFG_DEVICE_ADD("ppi8255", I8255, 0)
MCFG_I8255_OUT_PORTA_CB(WRITE8("cent_data_out", output_latch_device, write))
diff --git a/src/mame/drivers/spec128.cpp b/src/mame/drivers/spec128.cpp
index 61272834467..598ac5ac8f7 100644
--- a/src/mame/drivers/spec128.cpp
+++ b/src/mame/drivers/spec128.cpp
@@ -250,7 +250,7 @@ void spectrum_state::spectrum_128_mem(address_map &map)
map(0xc000, 0xffff).bankrw("bank4");
}
-void spectrum_state::machine_reset_spectrum_128()
+MACHINE_RESET_MEMBER(spectrum_state,spectrum_128)
{
uint8_t *messram = m_ram->pointer();
@@ -263,7 +263,7 @@ void spectrum_state::machine_reset_spectrum_128()
/* Bank 2 is always in 0x8000 - 0xbfff */
membank("bank3")->set_base(messram + (2<<14));
- machine_reset_spectrum();
+ MACHINE_RESET_CALL_MEMBER(spectrum);
/* set initial ram config */
m_port_7ffd_data = 0;
@@ -301,13 +301,13 @@ MACHINE_CONFIG_START(spectrum_state::spectrum_128)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", spectrum_state, spec_interrupt)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_spectrum_128, this));
+ MCFG_MACHINE_RESET_OVERRIDE(spectrum_state, spectrum_128 )
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_RAW_PARAMS(X1_128_SINCLAIR / 2.5f, 456, 0, 352, 311, 0, 296)
- set_video_start_cb(config, driver_callback_delegate(&video_start_spectrum_128, this));
+ MCFG_VIDEO_START_OVERRIDE(spectrum_state, spectrum_128 )
MCFG_GFXDECODE_MODIFY("gfxdecode", spec128)
/* sound hardware */
diff --git a/src/mame/drivers/special.cpp b/src/mame/drivers/special.cpp
index 81a9a1000af..f331f040b79 100644
--- a/src/mame/drivers/special.cpp
+++ b/src/mame/drivers/special.cpp
@@ -368,7 +368,7 @@ MACHINE_CONFIG_START(special_state::special)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", I8080, 2000000)
MCFG_DEVICE_PROGRAM_MAP(specialist_mem)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_special, this));
+ MCFG_MACHINE_RESET_OVERRIDE(special_state, special )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -376,7 +376,7 @@ MACHINE_CONFIG_START(special_state::special)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(384, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 256-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_special, this));
+ MCFG_VIDEO_START_OVERRIDE(special_state,special)
MCFG_SCREEN_UPDATE_DRIVER(special_state, screen_update_special)
MCFG_SCREEN_PALETTE("palette")
@@ -417,7 +417,7 @@ MACHINE_CONFIG_START(special_state::specialp)
MCFG_SCREEN_UPDATE_DRIVER(special_state, screen_update_specialp)
MCFG_SCREEN_SIZE(512, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_specialp, this));
+ MCFG_VIDEO_START_OVERRIDE(special_state,specialp)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(special_state::specialm)
@@ -437,13 +437,13 @@ MACHINE_CONFIG_START(special_state::specimx)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(specimx_mem)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_specimx, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_specimx, this));
+ MCFG_MACHINE_START_OVERRIDE (special_state, specimx )
+ MCFG_MACHINE_RESET_OVERRIDE (special_state, specimx )
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(special_state, screen_update_specimx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_specimx, this));
+ MCFG_VIDEO_START_OVERRIDE(special_state,specimx)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(16)
@@ -488,7 +488,7 @@ MACHINE_CONFIG_START(special_state::erik)
MCFG_DEVICE_ADD("maincpu", Z80, 4000000)
MCFG_DEVICE_PROGRAM_MAP(erik_mem)
MCFG_DEVICE_IO_MAP(erik_io_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_erik, this));
+ MCFG_MACHINE_RESET_OVERRIDE(special_state, erik )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -496,7 +496,7 @@ MACHINE_CONFIG_START(special_state::erik)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(384, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 256-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_erik, this));
+ MCFG_VIDEO_START_OVERRIDE(special_state,erik)
MCFG_SCREEN_UPDATE_DRIVER(special_state, screen_update_erik)
MCFG_SCREEN_PALETTE("palette")
diff --git a/src/mame/drivers/specpls3.cpp b/src/mame/drivers/specpls3.cpp
index 330934a9c45..9e96b9d22e0 100644
--- a/src/mame/drivers/specpls3.cpp
+++ b/src/mame/drivers/specpls3.cpp
@@ -325,12 +325,12 @@ void spectrum_state::spectrum_plus3_mem(address_map &map)
map(0xc000, 0xffff).bankrw("bank4");
}
-void spectrum_state::machine_reset_spectrum_plus3()
+MACHINE_RESET_MEMBER(spectrum_state,spectrum_plus3)
{
uint8_t *messram = m_ram->pointer();
memset(messram,0,128*1024);
- machine_reset_spectrum();
+ MACHINE_RESET_CALL_MEMBER(spectrum);
/* Initial configuration */
m_port_7ffd_data = 0;
@@ -381,7 +381,7 @@ MACHINE_CONFIG_START(spectrum_state::spectrum_plus3)
MCFG_SCREEN_REFRESH_RATE(50.01)
MCFG_GFXDECODE_MODIFY("gfxdecode", specpls3)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_spectrum_plus3, this));
+ MCFG_MACHINE_RESET_OVERRIDE(spectrum_state, spectrum_plus3 )
MCFG_UPD765A_ADD("upd765", true, true)
MCFG_FLOPPY_DRIVE_ADD("upd765:0", specpls3_floppies, "3ssdd", floppy_image_device::default_floppy_formats)
diff --git a/src/mame/drivers/spectrum.cpp b/src/mame/drivers/spectrum.cpp
index 4a9485d6bbc..82a6110c36f 100644
--- a/src/mame/drivers/spectrum.cpp
+++ b/src/mame/drivers/spectrum.cpp
@@ -619,7 +619,7 @@ void spectrum_state::init_spectrum()
}
}
-void spectrum_state::machine_reset_spectrum()
+MACHINE_RESET_MEMBER(spectrum_state,spectrum)
{
m_port_7ffd_data = -1;
m_port_1ffd_data = -1;
@@ -674,7 +674,7 @@ MACHINE_CONFIG_START(spectrum_state::spectrum_common)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", spectrum_state, spec_interrupt)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_spectrum, this));
+ MCFG_MACHINE_RESET_OVERRIDE(spectrum_state, spectrum )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -689,7 +689,7 @@ MACHINE_CONFIG_START(spectrum_state::spectrum_common)
MCFG_PALETTE_INIT_OWNER(spectrum_state, spectrum )
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_spectrum)
- set_video_start_cb(config, driver_callback_delegate(&video_start_spectrum, this));
+ MCFG_VIDEO_START_OVERRIDE(spectrum_state, spectrum )
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/speglsht.cpp b/src/mame/drivers/speglsht.cpp
index 9cfa2dc1960..d581cae6fb2 100644
--- a/src/mame/drivers/speglsht.cpp
+++ b/src/mame/drivers/speglsht.cpp
@@ -144,9 +144,9 @@ public:
DECLARE_READ32_MEMBER(cop_r);
DECLARE_READ32_MEMBER(irq_ack_clear);
void init_speglsht();
- void machine_reset_speglsht();
+ DECLARE_MACHINE_RESET(speglsht);
virtual void machine_start() override;
- void video_start_speglsht() ATTR_COLD;
+ DECLARE_VIDEO_START(speglsht);
uint32_t screen_update_speglsht(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE8_MEMBER(st0016_rom_bank_w);
@@ -356,15 +356,15 @@ static GFXDECODE_START( gfx_speglsht )
GFXDECODE_END
-void speglsht_state::machine_reset_speglsht()
+MACHINE_RESET_MEMBER(speglsht_state,speglsht)
{
std::fill(&m_shared[0],&m_shared[m_shared.bytes()],0);
}
-void speglsht_state::video_start_speglsht()
+VIDEO_START_MEMBER(speglsht_state,speglsht)
{
m_bitmap = std::make_unique<bitmap_ind16>(512, 5122 );
-// video_start_st0016();
+// VIDEO_START_CALL_MEMBER(st0016);
}
#define PLOT_PIXEL_RGB(x,y,r,g,b) if(y>=0 && x>=0 && x<512 && y<512) \
@@ -422,7 +422,7 @@ MACHINE_CONFIG_START(speglsht_state::speglsht)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", speglsht_state, irq4_line_assert)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_speglsht, this));
+ MCFG_MACHINE_RESET_OVERRIDE(speglsht_state,speglsht)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -435,7 +435,7 @@ MACHINE_CONFIG_START(speglsht_state::speglsht)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_speglsht)
MCFG_PALETTE_ADD("palette", 16*16*4+1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_speglsht, this));
+ MCFG_VIDEO_START_OVERRIDE(speglsht_state,speglsht)
MACHINE_CONFIG_END
ROM_START( speglsht )
diff --git a/src/mame/drivers/splash.cpp b/src/mame/drivers/splash.cpp
index 00e095f0aae..93dceb955fd 100644
--- a/src/mame/drivers/splash.cpp
+++ b/src/mame/drivers/splash.cpp
@@ -474,12 +474,12 @@ static GFXDECODE_START( gfx_splash )
GFXDECODE_END
-void splash_state::machine_start_splash()
+MACHINE_START_MEMBER(splash_state,splash)
{
save_item(NAME(m_adpcm_data));
}
-void splash_state::machine_reset_splash()
+MACHINE_RESET_MEMBER(splash_state,splash)
{
m_adpcm_data = 0;
m_ret = 0x100;
@@ -515,8 +515,8 @@ MACHINE_CONFIG_START(splash_state::splash)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_splash, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_splash, this));
+ MCFG_MACHINE_START_OVERRIDE(splash_state, splash )
+ MCFG_MACHINE_RESET_OVERRIDE(splash_state, splash )
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -534,7 +534,7 @@ MACHINE_CONFIG_START(splash_state::splash)
MACHINE_CONFIG_END
-void splash_state::machine_start_roldfrog()
+MACHINE_START_MEMBER(splash_state, roldfrog)
{
save_item(NAME(m_ret));
save_item(NAME(m_vblank_irq));
@@ -578,8 +578,8 @@ MACHINE_CONFIG_START(splash_state::roldfrog)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_roldfrog, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_splash, this));
+ MCFG_MACHINE_START_OVERRIDE(splash_state, roldfrog )
+ MCFG_MACHINE_RESET_OVERRIDE(splash_state, splash )
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/spyhuntertec.cpp b/src/mame/drivers/spyhuntertec.cpp
index 4fd4b5f9858..e13065ecab7 100644
--- a/src/mame/drivers/spyhuntertec.cpp
+++ b/src/mame/drivers/spyhuntertec.cpp
@@ -81,7 +81,7 @@ public:
tilemap_t *m_bg_tilemap;
DECLARE_WRITE8_MEMBER(spyhuntertec_paletteram_w);
void init_spyhuntertec();
-// void video_start_spyhuntertec() ATTR_COLD;
+// DECLARE_VIDEO_START(spyhuntertec);
// uint32_t screen_update_spyhuntertec(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE8_MEMBER(spyhuntertec_port04_w);
DECLARE_WRITE8_MEMBER(spyhuntertec_portf0_w);
diff --git a/src/mame/drivers/srmp2.cpp b/src/mame/drivers/srmp2.cpp
index 26ae5e90afe..3efffe5bfdd 100644
--- a/src/mame/drivers/srmp2.cpp
+++ b/src/mame/drivers/srmp2.cpp
@@ -88,7 +88,7 @@ void srmp2_state::machine_start()
save_item(NAME(m_iox.data));
}
-void srmp2_state::machine_start_srmp2()
+MACHINE_START_MEMBER(srmp2_state,srmp2)
{
machine_start();
@@ -104,7 +104,7 @@ void srmp2_state::machine_start_srmp2()
save_item(NAME(m_color_bank));
}
-void srmp2_state::machine_start_srmp3()
+MACHINE_START_MEMBER(srmp2_state,srmp3)
{
machine_start();
@@ -121,7 +121,7 @@ void srmp2_state::machine_start_srmp3()
save_item(NAME(m_gfx_bank));
}
-void srmp2_state::machine_start_rmgoldyh()
+MACHINE_START_MEMBER(srmp2_state,rmgoldyh)
{
machine_start();
@@ -138,7 +138,7 @@ void srmp2_state::machine_start_rmgoldyh()
save_item(NAME(m_gfx_bank));
}
-void srmp2_state::machine_start_mjyuugi()
+MACHINE_START_MEMBER(srmp2_state,mjyuugi)
{
machine_start();
@@ -1149,7 +1149,7 @@ MACHINE_CONFIG_START(srmp2_state::srmp2)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", srmp2_state, irq4_line_assert)
MCFG_DEVICE_PERIODIC_INT_DRIVER(srmp2_state, irq2_line_assert, 15*60) /* Interrupt times is not understood */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_srmp2, this));
+ MCFG_MACHINE_START_OVERRIDE(srmp2_state,srmp2)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -1195,7 +1195,7 @@ MACHINE_CONFIG_START(srmp2_state::srmp3)
MCFG_DEVICE_IO_MAP(srmp3_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", srmp2_state, irq0_line_assert)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_srmp3, this));
+ MCFG_MACHINE_START_OVERRIDE(srmp2_state,srmp3)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@@ -1238,7 +1238,7 @@ MACHINE_CONFIG_START(srmp2_state::rmgoldyh)
MCFG_DEVICE_PROGRAM_MAP(rmgoldyh_map)
MCFG_DEVICE_IO_MAP(rmgoldyh_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_rmgoldyh, this));
+ MCFG_MACHINE_START_OVERRIDE(srmp2_state,rmgoldyh)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(srmp2_state::mjyuugi)
@@ -1249,7 +1249,7 @@ MACHINE_CONFIG_START(srmp2_state::mjyuugi)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", srmp2_state, irq4_line_assert)
MCFG_DEVICE_PERIODIC_INT_DRIVER(srmp2_state, irq2_line_assert, 15*60) /* Interrupt times is not understood */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mjyuugi, this));
+ MCFG_MACHINE_START_OVERRIDE(srmp2_state,mjyuugi)
MCFG_NVRAM_ADD_0FILL("nvram")
diff --git a/src/mame/drivers/sslam.cpp b/src/mame/drivers/sslam.cpp
index 7d323fd5f00..f4ebd420f20 100644
--- a/src/mame/drivers/sslam.cpp
+++ b/src/mame/drivers/sslam.cpp
@@ -714,7 +714,7 @@ MACHINE_CONFIG_START(sslam_state::sslam)
MCFG_PALETTE_ADD("palette", 0x800)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_sslam, this));
+ MCFG_VIDEO_START_OVERRIDE(sslam_state,sslam)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -748,7 +748,7 @@ MACHINE_CONFIG_START(sslam_state::powerbls)
MCFG_PALETTE_ADD("palette", 0x200)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_powerbls, this));
+ MCFG_VIDEO_START_OVERRIDE(sslam_state,powerbls)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/ssv.cpp b/src/mame/drivers/ssv.cpp
index c2cea3a05d2..59dbabfcedb 100644
--- a/src/mame/drivers/ssv.cpp
+++ b/src/mame/drivers/ssv.cpp
@@ -2624,7 +2624,7 @@ MACHINE_CONFIG_START(ssv_state::gdfs)
MCFG_ST0020_SPRITES_PALETTE("palette")
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_gdfs)
- set_video_start_cb(config, driver_callback_delegate(&video_start_gdfs, this));
+ MCFG_VIDEO_START_OVERRIDE(ssv_state,gdfs)
MACHINE_CONFIG_END
@@ -2839,7 +2839,7 @@ MACHINE_CONFIG_START(ssv_state::eaglshot)
MCFG_SCREEN_UPDATE_DRIVER(ssv_state, screen_update_eaglshot)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_eaglshot)
- set_video_start_cb(config, driver_callback_delegate(&video_start_eaglshot, this));
+ MCFG_VIDEO_START_OVERRIDE(ssv_state,eaglshot)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/stargame.cpp b/src/mame/drivers/stargame.cpp
index eafcb168c7d..e8f29d61ebe 100644
--- a/src/mame/drivers/stargame.cpp
+++ b/src/mame/drivers/stargame.cpp
@@ -30,7 +30,7 @@ public:
{ }
DECLARE_WRITE8_MEMBER(rint_w);
- void machine_reset_stargame();
+ DECLARE_MACHINE_RESET(stargame);
void stargame(machine_config &config);
void audiocpu_io(address_map &map);
@@ -89,7 +89,7 @@ WRITE8_MEMBER( stargame_state::rint_w )
m_audiocpu->set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
}
-void stargame_state::machine_reset_stargame()
+MACHINE_RESET_MEMBER( stargame_state, stargame )
{
m_audiocpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); // doesn't do anything? cpu should be stuck in reset until allowed to start by SRESET line
}
@@ -112,7 +112,7 @@ MACHINE_CONFIG_START(stargame_state::stargame)
MCFG_DEVICE_PROGRAM_MAP(audiocpu_map)
MCFG_DEVICE_IO_MAP(audiocpu_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_stargame, this));
+ MCFG_MACHINE_RESET_OVERRIDE(stargame_state, stargame)
/* video hardware */
//MCFG_DEFAULT_LAYOUT()
diff --git a/src/mame/drivers/statriv2.cpp b/src/mame/drivers/statriv2.cpp
index 729c39f2ecf..3cdfd56a8ab 100644
--- a/src/mame/drivers/statriv2.cpp
+++ b/src/mame/drivers/statriv2.cpp
@@ -119,7 +119,7 @@ public:
TILE_GET_INFO_MEMBER(vertical_tile_info);
virtual void video_start() override;
DECLARE_PALETTE_INIT(statriv2);
- void video_start_vertical() ATTR_COLD;
+ DECLARE_VIDEO_START(vertical);
uint32_t screen_update_statriv2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(statriv2_interrupt);
void statriv2(machine_config &config);
@@ -177,7 +177,7 @@ void statriv2_state::video_start()
m_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(statriv2_state::horizontal_tile_info), this), TILEMAP_SCAN_ROWS, 8, 15, 64, 16);
}
-void statriv2_state::video_start_vertical()
+VIDEO_START_MEMBER(statriv2_state,vertical)
{
m_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(statriv2_state::vertical_tile_info), this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
@@ -644,7 +644,7 @@ MACHINE_CONFIG_START(statriv2_state::statriv2v)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/2, 392, 0, 256, 262, 0, 256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_vertical, this));
+ MCFG_VIDEO_START_OVERRIDE(statriv2_state, vertical)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_vertical)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/stv.cpp b/src/mame/drivers/stv.cpp
index 3eb41ad0f90..6fe65d4c1bb 100644
--- a/src/mame/drivers/stv.cpp
+++ b/src/mame/drivers/stv.cpp
@@ -1097,8 +1097,8 @@ MACHINE_CONFIG_START(stv_state::stv)
MCFG_SMPC_HLE_DOT_SELECT_CB(WRITELINE(*this, saturn_state, dot_select_w))
MCFG_SMPC_HLE_IRQ_HANDLER_CB(WRITELINE("scu", sega_scu_device, smpc_irq_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_stv, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_stv, this));
+ MCFG_MACHINE_START_OVERRIDE(stv_state,stv)
+ MCFG_MACHINE_RESET_OVERRIDE(stv_state,stv)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom") /* Actually AK93C45F */
@@ -1111,7 +1111,7 @@ MACHINE_CONFIG_START(stv_state::stv)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_stv)
- set_video_start_cb(config, driver_callback_delegate(&video_start_stv_vdp2, this));
+ MCFG_VIDEO_START_OVERRIDE(stv_state,stv_vdp2)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
@@ -1209,7 +1209,7 @@ MACHINE_CONFIG_START(stv_state::hopper)
MCFG_HOPPER_ADD("hopper", attotime::from_msec(100), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH)
MACHINE_CONFIG_END
-void stv_state::machine_reset_stv()
+MACHINE_RESET_MEMBER(stv_state,stv)
{
m_scsp_last_line = 0;
@@ -1282,7 +1282,7 @@ image_init_result stv_state::load_cart(device_image_interface &image, generic_sl
}
-void stv_state::machine_start_stv()
+MACHINE_START_MEMBER(stv_state,stv)
{
machine().device<scsp_device>("scsp")->set_ram_base(m_sound_ram);
diff --git a/src/mame/drivers/subsino.cpp b/src/mame/drivers/subsino.cpp
index ca8230bf33c..e840760a910 100644
--- a/src/mame/drivers/subsino.cpp
+++ b/src/mame/drivers/subsino.cpp
@@ -319,11 +319,11 @@ private:
TILE_GET_INFO_MEMBER(get_stbsub_tile_info);
template<uint8_t Reel> TILE_GET_INFO_MEMBER(get_reel_tile_info);
template<uint8_t Reel> TILE_GET_INFO_MEMBER(get_stbsub_reel_tile_info);
- void video_start_subsino() ATTR_COLD;
+ DECLARE_VIDEO_START(subsino);
DECLARE_PALETTE_INIT(_2proms);
DECLARE_PALETTE_INIT(_3proms);
- void video_start_reels() ATTR_COLD;
- void video_start_stbsub() ATTR_COLD;
+ DECLARE_VIDEO_START(reels);
+ DECLARE_VIDEO_START(stbsub);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_reels(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_stbsub_reels(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -389,7 +389,7 @@ TILE_GET_INFO_MEMBER(subsino_state::get_stbsub_tile_info)
}
-void subsino_state::video_start_subsino()
+VIDEO_START_MEMBER(subsino_state,subsino)
{
m_tmap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(subsino_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 0x40,0x20);
m_tmap->set_transparent_pen(0 );
@@ -429,9 +429,9 @@ TILE_GET_INFO_MEMBER(subsino_state::get_stbsub_reel_tile_info)
}
-void subsino_state::video_start_reels()
+VIDEO_START_MEMBER(subsino_state, reels)
{
- video_start_subsino();
+ VIDEO_START_CALL_MEMBER( subsino );
m_reel_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(subsino_state::get_reel_tile_info<0>), this), TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
m_reel_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(subsino_state::get_reel_tile_info<1>), this), TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
@@ -443,7 +443,7 @@ void subsino_state::video_start_reels()
}
-void subsino_state::video_start_stbsub()
+VIDEO_START_MEMBER(subsino_state,stbsub)
{
m_tmap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(subsino_state::get_stbsub_tile_info), this), TILEMAP_SCAN_ROWS, 8, 8, 0x40, 0x20);
m_tmap->set_transparent_pen(0 );
@@ -2731,7 +2731,7 @@ MACHINE_CONFIG_START(subsino_state::victor21)
MCFG_PALETTE_ADD("palette", 0x100)
MCFG_PALETTE_INIT_OWNER(subsino_state, _2proms)
- set_video_start_cb(config, driver_callback_delegate(&video_start_subsino, this));
+ MCFG_VIDEO_START_OVERRIDE(subsino_state,subsino)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2775,7 +2775,7 @@ MACHINE_CONFIG_START(subsino_state::crsbingo)
MCFG_PALETTE_ADD("palette", 0x100)
MCFG_PALETTE_INIT_OWNER(subsino_state, _2proms)
- set_video_start_cb(config, driver_callback_delegate(&video_start_subsino, this));
+ MCFG_VIDEO_START_OVERRIDE(subsino_state,subsino)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2817,7 +2817,7 @@ MACHINE_CONFIG_START(subsino_state::srider)
MCFG_PALETTE_ADD("palette", 0x100)
MCFG_PALETTE_INIT_OWNER(subsino_state, _3proms)
- set_video_start_cb(config, driver_callback_delegate(&video_start_subsino, this));
+ MCFG_VIDEO_START_OVERRIDE(subsino_state,subsino)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2870,7 +2870,7 @@ MACHINE_CONFIG_START(subsino_state::tisub)
MCFG_PALETTE_ADD("palette", 0x100)
MCFG_PALETTE_INIT_OWNER(subsino_state, _3proms)
- set_video_start_cb(config, driver_callback_delegate(&video_start_reels, this));
+ MCFG_VIDEO_START_OVERRIDE(subsino_state, reels)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2913,7 +2913,7 @@ MACHINE_CONFIG_START(subsino_state::stbsub)
MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette") // HMC HM86171 VGA 256 colour RAMDAC
- set_video_start_cb(config, driver_callback_delegate(&video_start_stbsub, this));
+ MCFG_VIDEO_START_OVERRIDE(subsino_state,stbsub)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/subsino2.cpp b/src/mame/drivers/subsino2.cpp
index 6ae5ab973b9..a3894fad3c8 100644
--- a/src/mame/drivers/subsino2.cpp
+++ b/src/mame/drivers/subsino2.cpp
@@ -173,7 +173,7 @@ public:
void init_ptrain();
TILE_GET_INFO_MEMBER(ss9601_get_tile_info_0);
TILE_GET_INFO_MEMBER(ss9601_get_tile_info_1);
- void video_start_subsino2() ATTR_COLD;
+ DECLARE_VIDEO_START(subsino2);
uint32_t screen_update_subsino2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(am188em_int0_irq);
required_device<cpu_device> m_maincpu;
@@ -624,7 +624,7 @@ WRITE8_MEMBER(subsino2_state::ss9601_disable_w)
Video Update
***************************************************************************/
-void subsino2_state::video_start_subsino2()
+VIDEO_START_MEMBER(subsino2_state,subsino2)
{
// SS9601 Regs:
@@ -2387,7 +2387,7 @@ MACHINE_CONFIG_START(subsino2_state::bishjan)
MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette") // HMC HM86171 VGA 256 colour RAMDAC
- set_video_start_cb(config, driver_callback_delegate(&video_start_subsino2, this));
+ MCFG_VIDEO_START_OVERRIDE(subsino2_state, subsino2 )
// sound hardware
// SS9904
@@ -2438,7 +2438,7 @@ MACHINE_CONFIG_START(subsino2_state::mtrain)
MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette") // HMC HM86171 VGA 256 colour RAMDAC
- set_video_start_cb(config, driver_callback_delegate(&video_start_subsino2, this));
+ MCFG_VIDEO_START_OVERRIDE(subsino2_state, subsino2 )
// sound hardware
SPEAKER(config, "mono").front_center();
@@ -2472,7 +2472,7 @@ MACHINE_CONFIG_START(subsino2_state::saklove)
MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette") // HMC HM86171 VGA 256 colour RAMDAC
- set_video_start_cb(config, driver_callback_delegate(&video_start_subsino2, this));
+ MCFG_VIDEO_START_OVERRIDE(subsino2_state, subsino2 )
// sound hardware
SPEAKER(config, "mono").front_center();
@@ -2510,7 +2510,7 @@ MACHINE_CONFIG_START(subsino2_state::xplan)
MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette") // HMC HM86171 VGA 256 colour RAMDAC
- set_video_start_cb(config, driver_callback_delegate(&video_start_subsino2, this));
+ MCFG_VIDEO_START_OVERRIDE(subsino2_state, subsino2 )
// sound hardware
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/suna16.cpp b/src/mame/drivers/suna16.cpp
index 42e3e0ac0d3..7b7a83ab1d8 100644
--- a/src/mame/drivers/suna16.cpp
+++ b/src/mame/drivers/suna16.cpp
@@ -224,7 +224,7 @@ void suna16_state::bestbest_map(address_map &map)
map(0x5e0000, 0x5fffff).ram().share("spriteram2"); // Sprites (Chip 2)
}
-void suna16_state::machine_start_bestbest()
+MACHINE_START_MEMBER(suna16_state,bestbest)
{
save_item(NAME(m_prot));
}
@@ -307,7 +307,7 @@ void suna16_state::bestbest_sound_map(address_map &map)
Back Street Soccer
***************************************************************************/
-void suna16_state::machine_start_bssoccer()
+MACHINE_START_MEMBER(suna16_state, bssoccer)
{
m_bank1->configure_entries(0, 8, memregion("pcm1")->base() + 0x1000, 0x10000);
m_bank2->configure_entries(0, 8, memregion("pcm2")->base() + 0x1000, 0x10000);
@@ -396,14 +396,14 @@ void suna16_state::uballoon_pcm_1_io_map(address_map &map)
map(0x03, 0x03).w(this, FUNC(suna16_state::uballoon_pcm_1_bankswitch_w)); // Rom Bank
}
-void suna16_state::machine_start_uballoon()
+MACHINE_START_MEMBER(suna16_state,uballoon)
{
m_bank1->configure_entries(0, 2, memregion("pcm1")->base() + 0x400, 0x10000);
save_item(NAME(m_prot));
}
-void suna16_state::machine_reset_uballoon()
+MACHINE_RESET_MEMBER(suna16_state,uballoon)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
uballoon_pcm_1_bankswitch_w(space, 0, 0);
@@ -832,7 +832,7 @@ MACHINE_CONFIG_START(suna16_state::bssoccer)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_bssoccer, this));
+ MCFG_MACHINE_START_OVERRIDE(suna16_state,bssoccer)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -894,8 +894,8 @@ MACHINE_CONFIG_START(suna16_state::uballoon)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_uballoon, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_uballoon, this));
+ MCFG_MACHINE_START_OVERRIDE(suna16_state,uballoon)
+ MCFG_MACHINE_RESET_OVERRIDE(suna16_state,uballoon)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -950,8 +950,8 @@ MACHINE_CONFIG_START(suna16_state::sunaq)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_uballoon, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_uballoon, this));
+ MCFG_MACHINE_START_OVERRIDE(suna16_state,uballoon)
+ MCFG_MACHINE_RESET_OVERRIDE(suna16_state,uballoon)
/* video hardware */
@@ -1012,7 +1012,7 @@ MACHINE_CONFIG_START(suna16_state::bestbest)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_bestbest, this));
+ MCFG_MACHINE_START_OVERRIDE(suna16_state, bestbest)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/suna8.cpp b/src/mame/drivers/suna8.cpp
index 9177ee5a569..29c70849241 100644
--- a/src/mame/drivers/suna8.cpp
+++ b/src/mame/drivers/suna8.cpp
@@ -1904,7 +1904,7 @@ MACHINE_CONFIG_START(suna8_state::hardhead)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
MCFG_PALETTE_ENDIANNESS(ENDIANNESS_BIG)
- set_video_start_cb(config, driver_callback_delegate(&video_start_suna8_text, this));
+ MCFG_VIDEO_START_OVERRIDE(suna8_state,suna8_text)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -1963,7 +1963,7 @@ MACHINE_CONFIG_START(suna8_state::rranger)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
MCFG_PALETTE_ENDIANNESS(ENDIANNESS_BIG)
- set_video_start_cb(config, driver_callback_delegate(&video_start_suna8_text, this));
+ MCFG_VIDEO_START_OVERRIDE(suna8_state,suna8_text)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -1992,7 +1992,7 @@ MACHINE_CONFIG_END
/* 1 x 24 MHz crystal */
-void suna8_state::machine_reset_brickzn()
+MACHINE_RESET_MEMBER(suna8_state,brickzn)
{
m_protection_val = m_prot2 = m_prot2_prev = 0xff;
m_paletteram_enab = 1; // for brickzn11
@@ -2016,7 +2016,7 @@ MACHINE_CONFIG_START(suna8_state::brickzn11)
MCFG_DEVICE_PROGRAM_MAP(brickzn_pcm_map)
MCFG_DEVICE_IO_MAP(brickzn_pcm_io_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_brickzn, this));
+ MCFG_MACHINE_RESET_OVERRIDE(suna8_state, brickzn )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2032,7 +2032,7 @@ MACHINE_CONFIG_START(suna8_state::brickzn11)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
MCFG_PALETTE_ENDIANNESS(ENDIANNESS_BIG)
- set_video_start_cb(config, driver_callback_delegate(&video_start_suna8_brickzn, this));
+ MCFG_VIDEO_START_OVERRIDE(suna8_state,suna8_brickzn)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -2083,7 +2083,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(suna8_state::hardhea2_interrupt)
if (m_nmi_enable) m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-void suna8_state::machine_reset_hardhea2()
+MACHINE_RESET_MEMBER(suna8_state,hardhea2)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
hardhea2_rambank_0_w(space,0,0);
@@ -2098,7 +2098,7 @@ MACHINE_CONFIG_START(suna8_state::hardhea2)
MCFG_DEVICE_OPCODES_MAP(decrypted_opcodes_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", suna8_state, hardhea2_interrupt, "screen", 0, 1)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_hardhea2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(suna8_state,hardhea2)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(256)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
@@ -2146,7 +2146,7 @@ MACHINE_CONFIG_START(suna8_state::starfigh)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
MCFG_PALETTE_ENDIANNESS(ENDIANNESS_BIG)
- set_video_start_cb(config, driver_callback_delegate(&video_start_suna8_starfigh, this));
+ MCFG_VIDEO_START_OVERRIDE(suna8_state,suna8_starfigh)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -2200,7 +2200,7 @@ MACHINE_CONFIG_START(suna8_state::sparkman)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
MCFG_PALETTE_ENDIANNESS(ENDIANNESS_BIG)
- set_video_start_cb(config, driver_callback_delegate(&video_start_suna8_sparkman, this));
+ MCFG_VIDEO_START_OVERRIDE(suna8_state,suna8_sparkman)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
diff --git a/src/mame/drivers/super80.cpp b/src/mame/drivers/super80.cpp
index 28db479af82..f6acb3ea1f4 100644
--- a/src/mame/drivers/super80.cpp
+++ b/src/mame/drivers/super80.cpp
@@ -711,7 +711,7 @@ MACHINE_CONFIG_START(super80_state::super80)
MCFG_DEVICE_PROGRAM_MAP(super80_map)
MCFG_DEVICE_IO_MAP(super80_io)
MCFG_Z80_DAISY_CHAIN(super80_daisy_chain)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_super80, this));
+ MCFG_MACHINE_RESET_OVERRIDE(super80_state, super80)
MCFG_DEVICE_ADD("z80pio", Z80PIO, MASTER_CLOCK/6)
MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
@@ -729,7 +729,7 @@ MACHINE_CONFIG_START(super80_state::super80)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_super80)
MCFG_DEFAULT_LAYOUT( layout_super80 )
- set_video_start_cb(config, driver_callback_delegate(&video_start_super80, this));
+ MCFG_VIDEO_START_OVERRIDE(super80_state,super80)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -798,7 +798,7 @@ MACHINE_CONFIG_START(super80_state::super80v)
MCFG_DEVICE_PROGRAM_MAP(super80v_map)
MCFG_DEVICE_IO_MAP(super80v_io)
MCFG_Z80_DAISY_CHAIN(super80_daisy_chain)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_super80r, this));
+ MCFG_MACHINE_RESET_OVERRIDE(super80_state, super80r)
MCFG_DEVICE_ADD("z80pio", Z80PIO, MASTER_CLOCK/6)
MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
diff --git a/src/mame/drivers/supercrd.cpp b/src/mame/drivers/supercrd.cpp
index 8ef225b16c3..38f4f61defb 100644
--- a/src/mame/drivers/supercrd.cpp
+++ b/src/mame/drivers/supercrd.cpp
@@ -190,7 +190,7 @@ public:
DECLARE_WRITE8_MEMBER(supercrd_colorram_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
DECLARE_PALETTE_INIT(supercrd);
- void video_start_supercrd() ATTR_COLD;
+ DECLARE_VIDEO_START(supercrd);
uint32_t screen_update_supercrd(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
@@ -270,7 +270,7 @@ TILE_GET_INFO_MEMBER(supercrd_state::get_bg_tile_info)
}
-void supercrd_state::video_start_supercrd()
+VIDEO_START_MEMBER(supercrd_state, supercrd)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(supercrd_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 4, 8, 96, 29);
}
@@ -439,7 +439,7 @@ MACHINE_CONFIG_START(supercrd_state::supercrd)
MCFG_PALETTE_ADD("palette", 0x200)
MCFG_PALETTE_INIT_OWNER(supercrd_state, supercrd)
- set_video_start_cb(config, driver_callback_delegate(&video_start_supercrd, this));
+ MCFG_VIDEO_START_OVERRIDE(supercrd_state, supercrd)
// MCFG_MC6845_ADD("crtc", MC6845, "screen", MASTER_CLOCK/8)
// MCFG_MC6845_SHOW_BORDER_AREA(false)
diff --git a/src/mame/drivers/superqix.cpp b/src/mame/drivers/superqix.cpp
index 311f123d3ce..fee953cae2e 100644
--- a/src/mame/drivers/superqix.cpp
+++ b/src/mame/drivers/superqix.cpp
@@ -920,7 +920,7 @@ void superqix_state_base::machine_init_common()
// superqix specific stuff, TODO: should be moved to superqix_state below
save_item(NAME(m_gfxbank));
save_item(NAME(m_show_bitmap));
- // the following are saved in superqix_state::video_start_superqix:
+ // the following are saved in VIDEO_START_MEMBER(superqix_state,superqix):
//save_item(NAME(*m_fg_bitmap[0]));
//save_item(NAME(*m_fg_bitmap[1]));
}
@@ -949,7 +949,7 @@ void hotsmash_state::machine_init_common()
save_item(NAME(m_dial_sign));
}
-void superqix_state::machine_reset_superqix()
+MACHINE_RESET_MEMBER(superqix_state, superqix)
{
if (m_mcu.found()) // mcu sets only
{
@@ -962,7 +962,7 @@ void superqix_state::machine_reset_superqix()
}
}
-void superqix_state::machine_start_superqix()
+MACHINE_START_MEMBER(superqix_state, superqix)
{
/* configure the banks */
membank("bank1")->configure_entries(0, 4, memregion("maincpu")->base() + 0x10000, 0x4000);
@@ -970,7 +970,7 @@ void superqix_state::machine_start_superqix()
machine_init_common();
}
-void hotsmash_state::machine_start_pbillian()
+MACHINE_START_MEMBER(hotsmash_state, pbillian)
{
/* configure the banks */
membank("bank1")->configure_entries(0, 2, memregion("maincpu")->base() + 0x10000, 0x4000);
@@ -1362,7 +1362,7 @@ MACHINE_CONFIG_START(hotsmash_state::pbillian)
MCFG_M68705_PORTC_W_CB(WRITE8(*this, hotsmash_state, hotsmash_68705_portC_w))
//MCFG_QUANTUM_PERFECT_CPU("maincpu")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pbillian, this));
+ MCFG_MACHINE_START_OVERRIDE(hotsmash_state, pbillian)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1378,7 +1378,7 @@ MACHINE_CONFIG_START(hotsmash_state::pbillian)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_FORMAT_CLASS(1, superqix_state, BBGGRRII)
- set_video_start_cb(config, driver_callback_delegate(&video_start_pbillian, this));
+ MCFG_VIDEO_START_OVERRIDE(hotsmash_state, pbillian)
SPEAKER(config, "mono").front_center();
@@ -1408,7 +1408,7 @@ MACHINE_CONFIG_START(superqix_state::sqix)
MCFG_MCS51_PORT_P3_IN_CB(READ8(*this, superqix_state, mcu_port3_r))
MCFG_MCS51_PORT_P3_OUT_CB(WRITE8(*this, superqix_state, mcu_port3_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_superqix, this));
+ MCFG_MACHINE_START_OVERRIDE(superqix_state,superqix)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1423,7 +1423,7 @@ MACHINE_CONFIG_START(superqix_state::sqix)
MCFG_PALETTE_ADD("palette", 256)
MCFG_PALETTE_FORMAT_CLASS(1, superqix_state, BBGGRRII)
- set_video_start_cb(config, driver_callback_delegate(&video_start_superqix, this));
+ MCFG_VIDEO_START_OVERRIDE(superqix_state,superqix)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1461,7 +1461,7 @@ MACHINE_CONFIG_START(superqix_state::sqix_nomcu)
MCFG_DEVICE_IO_MAP(sqix_port_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(superqix_state, sqix_timer_irq, 4*60) /* ??? */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_superqix, this));
+ MCFG_MACHINE_START_OVERRIDE(superqix_state,superqix)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1476,7 +1476,7 @@ MACHINE_CONFIG_START(superqix_state::sqix_nomcu)
MCFG_PALETTE_ADD("palette", 256)
MCFG_PALETTE_FORMAT_CLASS(1, superqix_state, BBGGRRII)
- set_video_start_cb(config, driver_callback_delegate(&video_start_superqix, this));
+ MCFG_VIDEO_START_OVERRIDE(superqix_state,superqix)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/suprnova.cpp b/src/mame/drivers/suprnova.cpp
index a9446f10870..fd34849a11c 100644
--- a/src/mame/drivers/suprnova.cpp
+++ b/src/mame/drivers/suprnova.cpp
@@ -826,31 +826,31 @@ MACHINE_CONFIG_START(skns_state::skns)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
-void skns_state::machine_reset_sknsa()
+MACHINE_RESET_MEMBER(skns_state,sknsa)
{
m_region = 'A';
skns_state::machine_reset();
}
-void skns_state::machine_reset_sknsj()
+MACHINE_RESET_MEMBER(skns_state,sknsj)
{
m_region = 'J';
skns_state::machine_reset();
}
-void skns_state::machine_reset_sknsu()
+MACHINE_RESET_MEMBER(skns_state,sknsu)
{
m_region = 'U';
skns_state::machine_reset();
}
-void skns_state::machine_reset_sknse()
+MACHINE_RESET_MEMBER(skns_state,sknse)
{
m_region = 'E';
skns_state::machine_reset();
}
-void skns_state::machine_reset_sknsk()
+MACHINE_RESET_MEMBER(skns_state,sknsk)
{
m_region = 'K';
skns_state::machine_reset();
@@ -859,27 +859,27 @@ void skns_state::machine_reset_sknsk()
MACHINE_CONFIG_START(skns_state::sknsa)
skns(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sknsa, this));
+ MCFG_MACHINE_RESET_OVERRIDE(skns_state,sknsa)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(skns_state::sknsj)
skns(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sknsj, this));
+ MCFG_MACHINE_RESET_OVERRIDE(skns_state,sknsj)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(skns_state::sknsu)
skns(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sknsu, this));
+ MCFG_MACHINE_RESET_OVERRIDE(skns_state,sknsu)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(skns_state::sknse)
skns(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sknse, this));
+ MCFG_MACHINE_RESET_OVERRIDE(skns_state,sknse)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(skns_state::sknsk)
skns(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_sknsk, this));
+ MCFG_MACHINE_RESET_OVERRIDE(skns_state,sknsk)
MACHINE_CONFIG_END
/***** IDLE SKIPPING *****/
diff --git a/src/mame/drivers/svision.cpp b/src/mame/drivers/svision.cpp
index f95d45c33de..dc8abd1fdac 100644
--- a/src/mame/drivers/svision.cpp
+++ b/src/mame/drivers/svision.cpp
@@ -500,7 +500,7 @@ void svision_state::machine_reset()
}
-void svision_state::machine_reset_tvlink()
+MACHINE_RESET_MEMBER(svision_state,tvlink)
{
svision_state::machine_reset();
m_tvlink.palette_on = false;
@@ -581,7 +581,7 @@ MACHINE_CONFIG_START(svision_state::tvlinkp)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(tvlink_mem)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_tvlink, this));
+ MCFG_MACHINE_RESET_OVERRIDE(svision_state, tvlink)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_NO_PALETTE
diff --git a/src/mame/drivers/swyft.cpp b/src/mame/drivers/swyft.cpp
index 344d92b7b86..f004fef679c 100644
--- a/src/mame/drivers/swyft.cpp
+++ b/src/mame/drivers/swyft.cpp
@@ -335,9 +335,9 @@ public:
optional_ioport m_y6;
optional_ioport m_y7;*/
- void machine_start_swyft() ATTR_COLD;
- void machine_reset_swyft();
- void video_start_swyft() ATTR_COLD;
+ DECLARE_MACHINE_START(swyft);
+ DECLARE_MACHINE_RESET(swyft);
+ DECLARE_VIDEO_START(swyft);
uint32_t screen_update_swyft(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -573,7 +573,7 @@ void swyft_state::swyft_mem(address_map &map)
map(0x0e4000, 0x0e4fff).rw(this, FUNC(swyft_state::swyft_via1_r), FUNC(swyft_state::swyft_via1_w));
}
-void swyft_state::machine_start_swyft()
+MACHINE_START_MEMBER(swyft_state,swyft)
{
m_via0->write_ca1(1);
m_via0->write_ca2(1);
@@ -586,11 +586,11 @@ void swyft_state::machine_start_swyft()
m_via1->write_cb2(1);
}
-void swyft_state::machine_reset_swyft()
+MACHINE_RESET_MEMBER(swyft_state,swyft)
{
}
-void swyft_state::video_start_swyft()
+VIDEO_START_MEMBER(swyft_state,swyft)
{
}
@@ -768,8 +768,8 @@ MACHINE_CONFIG_START(swyft_state::swyft)
MCFG_DEVICE_ADD("maincpu",M68008, XTAL(15'897'600)/2) //MC68008P8, Y1=15.8976Mhz, clock GUESSED at Y1 / 2
MCFG_DEVICE_PROGRAM_MAP(swyft_mem)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_swyft, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_swyft, this));
+ MCFG_MACHINE_START_OVERRIDE(swyft_state,swyft)
+ MCFG_MACHINE_RESET_OVERRIDE(swyft_state,swyft)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -782,7 +782,7 @@ MACHINE_CONFIG_START(swyft_state::swyft)
MCFG_PALETTE_ADD_MONOCHROME("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_swyft, this));
+ MCFG_VIDEO_START_OVERRIDE(swyft_state,swyft)
MCFG_DEVICE_ADD("acia6850", ACIA6850, 0)
// acia rx and tx clocks come from one of the VIA pins and are tied together, fix this below? acia e clock comes from 68008
diff --git a/src/mame/drivers/system1.cpp b/src/mame/drivers/system1.cpp
index 797097cc601..7c14f8f0a1c 100644
--- a/src/mame/drivers/system1.cpp
+++ b/src/mame/drivers/system1.cpp
@@ -400,7 +400,7 @@ void system1_state::machine_start()
}
-void system1_state::machine_start_system2()
+MACHINE_START_MEMBER(system1_state,system2)
{
system1_state::machine_start();
m_mute_xor = 0x01;
@@ -2486,10 +2486,10 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(system1_state::sys2)
sys1ppi(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_system2, this));
+ MCFG_MACHINE_START_OVERRIDE(system1_state,system2)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_system2, this));
+ MCFG_VIDEO_START_OVERRIDE(system1_state,system2)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(system1_state, screen_update_system2)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/system16.cpp b/src/mame/drivers/system16.cpp
index d32402cc3d2..933b76ed934 100644
--- a/src/mame/drivers/system16.cpp
+++ b/src/mame/drivers/system16.cpp
@@ -2179,7 +2179,7 @@ MACHINE_CONFIG_START(segas1x_bootleg_state::system16_base)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_sys16)
MCFG_PALETTE_ADD("palette", 2048*SHADOW_COLORS_MULTIPLIER)
- set_video_start_cb(config, driver_callback_delegate(&video_start_system16, this));
+ MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state,system16)
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
MACHINE_CONFIG_END
@@ -2194,7 +2194,7 @@ MACHINE_CONFIG_START(segas1x_bootleg_state::shinobi_datsu)
MCFG_BOOTLEG_SYS16A_SPRITES_ADD("sprites")
MCFG_BOOTLEG_SYS16A_SPRITES_XORIGIN(189-117)
- set_video_start_cb(config, driver_callback_delegate(&video_start_s16a_bootleg_shinobi, this));
+ MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state, s16a_bootleg_shinobi )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_s16a_bootleg)
@@ -2213,7 +2213,7 @@ MACHINE_CONFIG_START(segas1x_bootleg_state::passshtb)
MCFG_BOOTLEG_SYS16A_SPRITES_XORIGIN(189-117)
MCFG_BOOTLEG_SYS16A_SPRITES_REMAP(1,0,3,2,5,4,7,6)
- set_video_start_cb(config, driver_callback_delegate(&video_start_s16a_bootleg_passsht, this));
+ MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state, s16a_bootleg_passsht )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_s16a_bootleg)
@@ -2233,7 +2233,7 @@ MACHINE_CONFIG_START(segas1x_bootleg_state::passsht4b)
MCFG_BOOTLEG_SYS16A_SPRITES_XORIGIN(189-117)
MCFG_BOOTLEG_SYS16A_SPRITES_REMAP(1,0,3,2,5,4,7,6)
- set_video_start_cb(config, driver_callback_delegate(&video_start_s16a_bootleg_passsht, this));
+ MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state, s16a_bootleg_passsht )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_s16a_bootleg_passht4b)
@@ -2254,7 +2254,7 @@ MACHINE_CONFIG_START(segas1x_bootleg_state::wb3bb)
MCFG_BOOTLEG_SYS16A_SPRITES_REMAP(4,0,5,1,6,2,7,3)
MCFG_BOOTLEG_SYS16A_SPRITES_YORIGIN(0)
- set_video_start_cb(config, driver_callback_delegate(&video_start_s16a_bootleg_wb3bl, this));
+ MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state, s16a_bootleg_wb3bl )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_s16a_bootleg)
@@ -2287,7 +2287,7 @@ MACHINE_CONFIG_START(segas1x_bootleg_state::goldnaxeb_base)
MCFG_BOOTLEG_SYS16B_SPRITES_ADD("sprites")
MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-121)
- set_video_start_cb(config, driver_callback_delegate(&video_start_system16, this));
+ MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state,system16)
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
MACHINE_CONFIG_END
@@ -2448,7 +2448,7 @@ MACHINE_CONFIG_START(segas1x_bootleg_state::system18)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_sys16)
MCFG_PALETTE_ADD("palette", (2048+2048)*SHADOW_COLORS_MULTIPLIER) // 64 extra colours for vdp (but we use 2048 so shadow mask works)
- set_video_start_cb(config, driver_callback_delegate(&video_start_system18old, this));
+ MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state,system18old)
MCFG_BOOTLEG_SYS16B_SPRITES_ADD("sprites")
MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-107)
@@ -2504,7 +2504,7 @@ MACHINE_CONFIG_START(segas1x_bootleg_state::astormb2)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_sys16)
MCFG_PALETTE_ADD("palette", (2048+2048)*SHADOW_COLORS_MULTIPLIER) // 64 extra colours for vdp (but we use 2048 so shadow mask works)
- set_video_start_cb(config, driver_callback_delegate(&video_start_system18old, this));
+ MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state,system18old)
MCFG_BOOTLEG_SYS16B_SPRITES_ADD("sprites")
MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-107)
@@ -2568,7 +2568,7 @@ MACHINE_CONFIG_START(segas1x_bootleg_state::shdancbla)
MACHINE_CONFIG_END
-void segas1x_bootleg_state::machine_reset_ddcrewbl()
+MACHINE_RESET_MEMBER(segas1x_bootleg_state,ddcrewbl)
{
// set up the initial banks for this game
// because it doesn't appear to actually program banks 0-3.
@@ -2599,12 +2599,12 @@ MACHINE_CONFIG_START(segas1x_bootleg_state::ddcrewbl)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_sys16)
MCFG_PALETTE_ADD("palette", (2048+2048)*SHADOW_COLORS_MULTIPLIER)
- set_video_start_cb(config, driver_callback_delegate(&video_start_system18old, this));
+ MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state,system18old)
MCFG_BOOTLEG_SYS16B_SPRITES_ADD("sprites")
MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-124)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ddcrewbl, this));
+ MCFG_MACHINE_RESET_OVERRIDE(segas1x_bootleg_state,ddcrewbl)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/taito_b.cpp b/src/mame/drivers/taito_b.cpp
index ecaa22f51fc..7364faa6a2c 100644
--- a/src/mame/drivers/taito_b.cpp
+++ b/src/mame/drivers/taito_b.cpp
@@ -1978,7 +1978,7 @@ MACHINE_CONFIG_START(taitob_state::rastsag2)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitob_color_order0, this));
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order0)
MCFG_DEVICE_ADD("tc0180vcu", TC0180VCU, 0)
MCFG_TC0180VCU_BG_COLORBASE(0xc0)
@@ -2035,7 +2035,7 @@ MACHINE_CONFIG_START(taitob_state::masterw)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitob_color_order2, this));
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_DEVICE_ADD("tc0180vcu", TC0180VCU, 0)
MCFG_TC0180VCU_BG_COLORBASE(0x30)
@@ -2113,7 +2113,7 @@ MACHINE_CONFIG_START(taitob_state::ashura)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitob_color_order0, this));
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order0)
MCFG_DEVICE_ADD("tc0180vcu", TC0180VCU, 0)
MCFG_TC0180VCU_BG_COLORBASE(0xc0)
@@ -2170,7 +2170,7 @@ MACHINE_CONFIG_START(taitob_state::crimec)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitob_color_order1, this));
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order1)
MCFG_DEVICE_ADD("tc0180vcu", TC0180VCU, 0)
MCFG_TC0180VCU_BG_COLORBASE(0x00)
@@ -2228,8 +2228,8 @@ MACHINE_CONFIG_START(taitob_state::hitice)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_hitice, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_hitice, this));
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,hitice)
+ MCFG_VIDEO_RESET_OVERRIDE(taitob_state,hitice)
MCFG_DEVICE_ADD("tc0180vcu", TC0180VCU, 0)
MCFG_TC0180VCU_BG_COLORBASE(0xc0)
@@ -2291,7 +2291,7 @@ MACHINE_CONFIG_START(taitob_state::rambo3p)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitob_color_order0, this));
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order0)
MCFG_DEVICE_ADD("tc0180vcu", TC0180VCU, 0)
MCFG_TC0180VCU_BG_COLORBASE(0xc0)
@@ -2349,7 +2349,7 @@ MACHINE_CONFIG_START(taitob_state::rambo3)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitob_color_order2, this));
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_DEVICE_ADD("tc0180vcu", TC0180VCU, 0)
MCFG_TC0180VCU_BG_COLORBASE(0x30)
@@ -2412,7 +2412,7 @@ MACHINE_CONFIG_START(taitob_state::pbobble)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitob_color_order1, this));
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order1)
MCFG_DEVICE_ADD("tc0180vcu", TC0180VCU, 0)
MCFG_TC0180VCU_BG_COLORBASE(0x00)
@@ -2475,7 +2475,7 @@ MACHINE_CONFIG_START(taitob_state::spacedx)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitob_color_order1, this));
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order1)
MCFG_DEVICE_ADD("tc0180vcu", TC0180VCU, 0)
MCFG_TC0180VCU_BG_COLORBASE(0x00)
@@ -2532,7 +2532,7 @@ MACHINE_CONFIG_START(taitob_state::spacedxo)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitob_color_order2, this));
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_DEVICE_ADD("tc0180vcu", TC0180VCU, 0)
MCFG_TC0180VCU_BG_COLORBASE(0x30)
@@ -2595,7 +2595,7 @@ MACHINE_CONFIG_START(taitob_state::qzshowby)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitob_color_order1, this));
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order1)
MCFG_DEVICE_ADD("tc0180vcu", TC0180VCU, 0)
MCFG_TC0180VCU_BG_COLORBASE(0x00)
@@ -2652,7 +2652,7 @@ MACHINE_CONFIG_START(taitob_state::viofight)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitob_color_order2, this));
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_DEVICE_ADD("tc0180vcu", TC0180VCU, 0)
MCFG_TC0180VCU_BG_COLORBASE(0x30)
@@ -2714,7 +2714,7 @@ MACHINE_CONFIG_START(taitob_state::silentd)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitob_color_order2, this));
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_DEVICE_ADD("tc0180vcu", TC0180VCU, 0)
MCFG_TC0180VCU_BG_COLORBASE(0x30)
@@ -2771,7 +2771,7 @@ MACHINE_CONFIG_START(taitob_state::selfeena)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitob_color_order2, this));
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_DEVICE_ADD("tc0180vcu", TC0180VCU, 0)
MCFG_TC0180VCU_BG_COLORBASE(0x30)
@@ -2837,7 +2837,7 @@ MACHINE_CONFIG_START(taitob_state::ryujin)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitob_color_order2, this));
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order2)
MCFG_DEVICE_ADD("tc0180vcu", TC0180VCU, 0)
MCFG_TC0180VCU_BG_COLORBASE(0x30)
@@ -2901,7 +2901,7 @@ MACHINE_CONFIG_START(taitob_state::sbm)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitob_color_order0, this));
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,taitob_color_order0)
MCFG_DEVICE_ADD("tc0180vcu", TC0180VCU, 0)
MCFG_TC0180VCU_BG_COLORBASE(0xc0)
@@ -2956,7 +2956,7 @@ MACHINE_CONFIG_START(taitob_c_state::realpunc)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_realpunc, this));
+ MCFG_VIDEO_START_OVERRIDE(taitob_state,realpunc)
MCFG_HD63484_ADD("hd63484", 0, realpunc_hd63484_map)
MCFG_HD63484_AUTO_CONFIGURE_SCREEN(false)
diff --git a/src/mame/drivers/taito_f2.cpp b/src/mame/drivers/taito_f2.cpp
index d32b9eb7f08..db3619182e5 100644
--- a/src/mame/drivers/taito_f2.cpp
+++ b/src/mame/drivers/taito_f2.cpp
@@ -2838,14 +2838,14 @@ WRITE8_MEMBER(taitof2_state::cameltrya_porta_w)
MACHINE DRIVERS
***********************************************************/
-void taitof2_state::machine_start_common()
+MACHINE_START_MEMBER(taitof2_state,common)
{
m_int6_timer = timer_alloc(TIMER_TAITOF2_INTERRUPT6);
}
-void taitof2_state::machine_start_f2()
+MACHINE_START_MEMBER(taitof2_state,f2)
{
- machine_start_common();
+ MACHINE_START_CALL_MEMBER(common);
membank("bank2")->configure_entries(0, 8, memregion("audiocpu")->base() + 0x10000, 0x4000);
}
@@ -2858,7 +2858,7 @@ MACHINE_CONFIG_START(taitof2_state::taito_f2)
MCFG_DEVICE_ADD("audiocpu", Z80, 24000000/6) /* 4 MHz */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_f2, this));
+ MCFG_MACHINE_START_OVERRIDE(taitof2_state,f2)
MCFG_WATCHDOG_ADD("watchdog")
@@ -2876,7 +2876,7 @@ MACHINE_CONFIG_START(taitof2_state::taito_f2)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_default, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_default)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -2947,7 +2947,7 @@ MACHINE_CONFIG_START(taitof2_state::finalb)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_finalb)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_finalb, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_finalb)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, taitof2_state, screen_vblank_partial_buffer_delayed))
@@ -2972,7 +2972,7 @@ MACHINE_CONFIG_START(taitof2_state::dondokod)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_pivot)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_dondokod, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_dondokod)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, taitof2_state, screen_vblank_partial_buffer_delayed))
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri_roz)
@@ -3006,7 +3006,7 @@ MACHINE_CONFIG_START(taitof2_state::megab)
MCFG_TIMER_DRIVER_ADD("cchip_irq_clear", taitof2_state, cchip_irq_clear_cb)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_megab, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_megab)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
@@ -3030,7 +3030,7 @@ MACHINE_CONFIG_START(taitof2_state::thundfox)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_thundfox)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_thundfox, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_thundfox)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_thundfox)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, taitof2_state, screen_vblank_partial_buffer_delayed_thundfox))
@@ -3068,7 +3068,7 @@ MACHINE_CONFIG_START(taitof2_state::cameltry)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_pivot)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_dondokod, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_dondokod)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri_roz)
@@ -3118,7 +3118,7 @@ MACHINE_CONFIG_START(taitof2_state::liquidk)
MCFG_DEVICE_PROGRAM_MAP(liquidk_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_megab, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_megab)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, taitof2_state, screen_vblank_partial_buffer_delayed))
@@ -3168,7 +3168,7 @@ MACHINE_CONFIG_START(taitof2_state::ssi)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_ssi, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_ssi)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_ssi)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, taitof2_state, screen_vblank_partial_buffer_delayed_thundfox))
@@ -3193,7 +3193,7 @@ MACHINE_CONFIG_START(taitof2_state::gunfront)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_gunfront, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_gunfront)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, taitof2_state, screen_vblank_partial_buffer_delayed))
@@ -3217,7 +3217,7 @@ MACHINE_CONFIG_START(taitof2_state::growl)
MCFG_DEVICE_PROGRAM_MAP(growl_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_growl, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_growl)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
@@ -3243,7 +3243,7 @@ MACHINE_CONFIG_START(taitof2_state::mjnquest)
MCFG_DEVICE_PROGRAM_MAP(mjnquest_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_mjnquest, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_mjnquest)
MCFG_DEVICE_ADD("tc0100scn", TC0100SCN, 0)
MCFG_TC0100SCN_GFX_REGION(1)
@@ -3265,7 +3265,7 @@ MACHINE_CONFIG_START(taitof2_state::footchmp)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_deadconx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_footchmp, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_footchmp)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_deadconx)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, taitof2_state, screen_vblank_full_buffer_delayed))
@@ -3298,7 +3298,7 @@ MACHINE_CONFIG_START(taitof2_state::hthero)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_deadconx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_hthero, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_hthero)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_deadconx)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, taitof2_state, screen_vblank_full_buffer_delayed))
@@ -3323,7 +3323,7 @@ MACHINE_CONFIG_START(taitof2_state::koshien)
MCFG_DEVICE_PROGRAM_MAP(koshien_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_koshien, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_koshien)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
@@ -3354,7 +3354,7 @@ MACHINE_CONFIG_START(taitof2_state::yuyugogo)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_yuyugogo)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_yuyugogo, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_yuyugogo)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_yesnoj)
@@ -3385,7 +3385,7 @@ MACHINE_CONFIG_START(taitof2_state::ninjak)
MCFG_TE7750_OUT_PORT8_CB(WRITE8(*this, taitof2_state, taitof2_4p_coin_word_w))
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_ninjak, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_ninjak)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
@@ -3408,7 +3408,7 @@ MACHINE_CONFIG_START(taitof2_state::solfigtr)
MCFG_DEVICE_PROGRAM_MAP(solfigtr_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_solfigtr, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_solfigtr)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
@@ -3453,7 +3453,7 @@ MACHINE_CONFIG_START(taitof2_state::pulirula)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_pivot)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_pulirula, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_pulirula)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri_roz)
@@ -3485,7 +3485,7 @@ MACHINE_CONFIG_START(taitof2_state::metalb)
MCFG_PALETTE_ENTRIES(8192)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_metalb, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_metalb)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_metalb)
@@ -3510,7 +3510,7 @@ MACHINE_CONFIG_START(taitof2_state::qzchikyu)
MCFG_DEVICE_PROGRAM_MAP(qzchikyu_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_qzchikyu, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_qzchikyu)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, taitof2_state, screen_vblank_partial_buffer_delayed_qzchikyu))
@@ -3537,7 +3537,7 @@ MACHINE_CONFIG_START(taitof2_state::yesnoj)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_yesnoj, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_yesnoj)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_yesnoj)
@@ -3564,7 +3564,7 @@ MACHINE_CONFIG_START(taitof2_state::deadconx)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_deadconx, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_deadconx)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_deadconx)
@@ -3589,7 +3589,7 @@ MACHINE_CONFIG_START(taitof2_state::deadconxj)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_deadconx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_deadconxj, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_deadconxj)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_deadconx)
@@ -3613,7 +3613,7 @@ MACHINE_CONFIG_START(taitof2_state::dinorex)
MCFG_DEVICE_PROGRAM_MAP(dinorex_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_dinorex, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_dinorex)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
@@ -3639,7 +3639,7 @@ MACHINE_CONFIG_START(taitof2_state::qjinsei)
MCFG_DEVICE_PROGRAM_MAP(qjinsei_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_quiz, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_quiz)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
@@ -3665,7 +3665,7 @@ MACHINE_CONFIG_START(taitof2_state::qcrayon)
MCFG_DEVICE_PROGRAM_MAP(qcrayon_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_quiz, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_quiz)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
@@ -3691,7 +3691,7 @@ MACHINE_CONFIG_START(taitof2_state::qcrayon2)
MCFG_DEVICE_PROGRAM_MAP(qcrayon2_map)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_quiz, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_quiz)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri)
@@ -3719,7 +3719,7 @@ MACHINE_CONFIG_START(taitof2_state::driftout)
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_pivot)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_driftout, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_driftout)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(taitof2_state, screen_update_taitof2_pri_roz)
@@ -3748,7 +3748,7 @@ MACHINE_CONFIG_START(taitof2_state::cameltrya)
MCFG_DEVICE_ADD("audiocpu", Z80,24000000/4) /* verifed on pcb */
MCFG_DEVICE_PROGRAM_MAP(cameltrya_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_common, this));
+ MCFG_MACHINE_START_OVERRIDE(taitof2_state,common)
MCFG_DEVICE_ADD("tc0220ioc", TC0220IOC, 0)
MCFG_TC0220IOC_READ_0_CB(IOPORT("DSWA"))
@@ -3772,7 +3772,7 @@ MACHINE_CONFIG_START(taitof2_state::cameltrya)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBxxxx)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_dondokod, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_dondokod)
MCFG_DEVICE_ADD("tc0100scn", TC0100SCN, 0)
MCFG_TC0100SCN_GFX_REGION(1)
@@ -3817,7 +3817,7 @@ MACHINE_CONFIG_START(taitof2_state::driveout)
MCFG_DEVICE_ADD("audiocpu", Z80,24000000/6) /* 4 MHz */
MCFG_DEVICE_PROGRAM_MAP(driveout_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_common, this));
+ MCFG_MACHINE_START_OVERRIDE(taitof2_state,common)
MCFG_DEVICE_ADD("tc0510nio", TC0510NIO, 0)
MCFG_TC0510NIO_READ_0_CB(IOPORT("DSWA"))
@@ -3841,7 +3841,7 @@ MACHINE_CONFIG_START(taitof2_state::driveout)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitof2_driftout, this));
+ MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_driftout)
MCFG_DEVICE_ADD("tc0100scn", TC0100SCN, 0)
MCFG_TC0100SCN_GFX_REGION(1)
diff --git a/src/mame/drivers/taito_f3.cpp b/src/mame/drivers/taito_f3.cpp
index fe146c99aa8..2b2ab0fb6a2 100644
--- a/src/mame/drivers/taito_f3.cpp
+++ b/src/mame/drivers/taito_f3.cpp
@@ -451,7 +451,7 @@ void taito_f3_state::machine_start()
save_item(NAME(m_coin_word));
}
-void taito_f3_state::machine_reset_f3()
+MACHINE_RESET_MEMBER(taito_f3_state,f3)
{
/* start with sound m68k off, qtheater relies on it (otherwise main CPU tries to reset it while 68k is working with irq table vectors). */
m_audiocpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
@@ -464,7 +464,7 @@ MACHINE_CONFIG_START(taito_f3_state::f3)
MCFG_DEVICE_PROGRAM_MAP(f3_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taito_f3_state, f3_interrupt2)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_f3, this));
+ MCFG_MACHINE_RESET_OVERRIDE(taito_f3_state,f3)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
@@ -482,7 +482,7 @@ MACHINE_CONFIG_START(taito_f3_state::f3)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_taito_f3)
MCFG_PALETTE_ADD("palette", 0x2000)
- set_video_start_cb(config, driver_callback_delegate(&video_start_f3, this));
+ MCFG_VIDEO_START_OVERRIDE(taito_f3_state,f3)
/* sound hardware */
MCFG_DEVICE_ADD("taito_en", TAITO_EN, 0)
@@ -580,7 +580,7 @@ MACHINE_CONFIG_START(taito_f3_state::bubsympb)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_bubsympb)
MCFG_PALETTE_ADD("palette", 8192)
- set_video_start_cb(config, driver_callback_delegate(&video_start_f3, this));
+ MCFG_VIDEO_START_OVERRIDE(taito_f3_state,f3)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/taito_l.cpp b/src/mame/drivers/taito_l.cpp
index 7388fc8cd46..65ab91263ca 100644
--- a/src/mame/drivers/taito_l.cpp
+++ b/src/mame/drivers/taito_l.cpp
@@ -123,7 +123,7 @@ void taitol_1cpu_state::state_register()
}
-void taitol_state::machine_start_taito_l()
+MACHINE_START_MEMBER(taitol_state, taito_l)
{
state_register();
}
@@ -184,7 +184,7 @@ void taitol_1cpu_state::taito_machine_reset()
}
-void taitol_state::machine_reset_taito_l()
+MACHINE_RESET_MEMBER(taitol_state, taito_l)
{
taito_machine_reset();
}
@@ -1479,7 +1479,7 @@ MACHINE_CONFIG_START(taitol_state::l_system_video)
MCFG_PALETTE_ADD("palette", 256)
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taito_l, this));
+ MCFG_VIDEO_START_OVERRIDE(taitol_state, taito_l)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", taitol_state, vbl_interrupt, "screen", 0, 1)
MACHINE_CONFIG_END
@@ -1509,8 +1509,8 @@ MACHINE_CONFIG_START(fhawk_state::fhawk)
MCFG_TC0220IOC_WRITE_4_CB(WRITE8(*this, taitol_state, coin_control_w))
MCFG_TC0220IOC_READ_7_CB(IOPORT("IN2"))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_taito_l, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_taito_l, this));
+ MCFG_MACHINE_START_OVERRIDE(taitol_state, taito_l)
+ MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l)
/* video hardware */
l_system_video(config);
@@ -1584,8 +1584,8 @@ MACHINE_CONFIG_START(taitol_2cpu_state::raimais)
MCFG_DEVICE_ADD("dpram", MB8421, 0)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_taito_l, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_taito_l, this));
+ MCFG_MACHINE_START_OVERRIDE(taitol_state, taito_l)
+ MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l)
/* video hardware */
l_system_video(config);
@@ -1628,8 +1628,8 @@ MACHINE_CONFIG_START(taitol_2cpu_state::kurikint)
MCFG_TC0040IOC_WRITE_4_CB(WRITE8(*this, taitol_state, coin_control_w))
MCFG_TC0040IOC_READ_7_CB(IOPORT("IN2"))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_taito_l, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_taito_l, this));
+ MCFG_MACHINE_START_OVERRIDE(taitol_state, taito_l)
+ MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l)
/* video hardware */
l_system_video(config);
@@ -1652,8 +1652,8 @@ MACHINE_CONFIG_START(taitol_1cpu_state::plotting)
MCFG_DEVICE_PROGRAM_MAP(plotting_map)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(taitol_state, irq_callback)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_taito_l, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_taito_l, this));
+ MCFG_MACHINE_START_OVERRIDE(taitol_state, taito_l)
+ MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l)
/* video hardware */
l_system_video(config);
@@ -1776,8 +1776,8 @@ MACHINE_CONFIG_START(taitol_2cpu_state::evilston)
MCFG_DEVICE_ADD("dpram", MB8421, 0)
MCFG_MB8421_INTL_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_NMI))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_taito_l, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_taito_l, this));
+ MCFG_MACHINE_START_OVERRIDE(taitol_state, taito_l)
+ MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l)
/* video hardware */
l_system_video(config);
diff --git a/src/mame/drivers/taito_x.cpp b/src/mame/drivers/taito_x.cpp
index 93f1a30ef55..459ea330c7b 100644
--- a/src/mame/drivers/taito_x.cpp
+++ b/src/mame/drivers/taito_x.cpp
@@ -800,7 +800,7 @@ GFXDECODE_END
/**************************************************************************/
-void taitox_state::machine_start_taitox()
+MACHINE_START_MEMBER(taitox_state,taitox)
{
int banks = memregion("audiocpu")->bytes() / 0x4000;
membank("z80bank")->configure_entries(0, banks, memregion("audiocpu")->base(), 0x4000);
@@ -841,7 +841,7 @@ MACHINE_CONFIG_START(taitox_state::superman)
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_taitox, this));
+ MCFG_MACHINE_START_OVERRIDE(taitox_state,taitox)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
@@ -859,7 +859,7 @@ MACHINE_CONFIG_START(taitox_state::superman)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_no_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(taitox_state,seta_no_layers)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -889,7 +889,7 @@ MACHINE_CONFIG_START(taitox_state::daisenpu)
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_taitox, this));
+ MCFG_MACHINE_START_OVERRIDE(taitox_state,taitox)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
@@ -907,7 +907,7 @@ MACHINE_CONFIG_START(taitox_state::daisenpu)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_no_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(taitox_state,seta_no_layers)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -935,7 +935,7 @@ MACHINE_CONFIG_START(taitox_state::gigandes)
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_taitox, this));
+ MCFG_MACHINE_START_OVERRIDE(taitox_state,taitox)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
@@ -953,7 +953,7 @@ MACHINE_CONFIG_START(taitox_state::gigandes)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- set_video_start_cb(config, driver_callback_delegate(&video_start_seta_no_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(taitox_state,seta_no_layers)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -983,7 +983,7 @@ MACHINE_CONFIG_START(taitox_state::ballbros)
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_taitox, this));
+ MCFG_MACHINE_START_OVERRIDE(taitox_state,taitox)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
@@ -1001,7 +1001,7 @@ MACHINE_CONFIG_START(taitox_state::ballbros)
MCFG_PALETTE_ADD("palette", 2048)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- set_video_start_cb(config, driver_callback_delegate(&video_start_kyustrkr_no_layers, this));
+ MCFG_VIDEO_START_OVERRIDE(taitox_state, kyustrkr_no_layers)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
diff --git a/src/mame/drivers/taito_z.cpp b/src/mame/drivers/taito_z.cpp
index 49585e7c2f7..a31f050cf1e 100644
--- a/src/mame/drivers/taito_z.cpp
+++ b/src/mame/drivers/taito_z.cpp
@@ -3148,7 +3148,7 @@ Contcirc road glitchiness in attract?
SAVE STATES
***********************************************************/
-void taitoz_state::machine_start_bshark()
+MACHINE_START_MEMBER(taitoz_state,bshark)
{
save_item(NAME(m_cpua_ctrl));
@@ -3157,16 +3157,16 @@ void taitoz_state::machine_start_bshark()
save_item(NAME(m_ioc220_port));
}
-void taitoz_state::machine_start_taitoz()
+MACHINE_START_MEMBER(taitoz_state,taitoz)
{
int banks = memregion("audiocpu")->bytes() / 0x4000;
membank("z80bank")->configure_entries(0, banks, memregion("audiocpu")->base(), 0x4000);
- machine_start_bshark();
+ MACHINE_START_CALL_MEMBER(bshark);
}
-void taitoz_state::machine_reset_taitoz()
+MACHINE_RESET_MEMBER(taitoz_state,taitoz)
{
m_cpua_ctrl = 0xff;
m_sci_int6 = 0;
@@ -3189,8 +3189,8 @@ MACHINE_CONFIG_START(taitoz_state::contcirc)
MCFG_DEVICE_PROGRAM_MAP(contcirc_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq6_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_taitoz, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_taitoz, this));
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_DEVICE_ADD("tc0040ioc", TC0040IOC, 0)
MCFG_TC0040IOC_READ_0_CB(IOPORT("DSWA"))
@@ -3213,7 +3213,7 @@ MACHINE_CONFIG_START(taitoz_state::contcirc)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitoz, this));
+ MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_DEVICE_ADD("tc0100scn", TC0100SCN, 0)
MCFG_TC0100SCN_GFX_REGION(1)
@@ -3264,8 +3264,8 @@ MACHINE_CONFIG_START(taitoz_state::chasehq)
MCFG_DEVICE_PROGRAM_MAP(chq_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_taitoz, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_taitoz, this));
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_DEVICE_ADD("tc0040ioc", TC0040IOC, 0)
MCFG_TC0040IOC_READ_0_CB(IOPORT("DSWA"))
@@ -3288,7 +3288,7 @@ MACHINE_CONFIG_START(taitoz_state::chasehq)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitoz, this));
+ MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_DEVICE_ADD("tc0100scn", TC0100SCN, 0)
MCFG_TC0100SCN_GFX_REGION(1)
@@ -3339,8 +3339,8 @@ MACHINE_CONFIG_START(taitoz_state::enforce)
MCFG_DEVICE_PROGRAM_MAP(enforce_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq6_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_taitoz, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_taitoz, this));
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
@@ -3365,7 +3365,7 @@ MACHINE_CONFIG_START(taitoz_state::enforce)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitoz, this));
+ MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_DEVICE_ADD("tc0100scn", TC0100SCN, 0)
MCFG_TC0100SCN_GFX_REGION(1)
@@ -3413,8 +3413,8 @@ MACHINE_CONFIG_START(taitoz_state::bshark)
MCFG_DEVICE_PROGRAM_MAP(bshark_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_bshark, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_taitoz, this));
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,bshark)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
@@ -3446,7 +3446,7 @@ MACHINE_CONFIG_START(taitoz_state::bshark)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitoz, this));
+ MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_DEVICE_ADD("tc0100scn", TC0100SCN, 0)
MCFG_TC0100SCN_GFX_REGION(1)
@@ -3501,8 +3501,8 @@ MACHINE_CONFIG_START(taitoz_state::sci)
MCFG_DEVICE_PROGRAM_MAP(sci_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_taitoz, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_taitoz, this));
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_QUANTUM_TIME(attotime::from_hz(3000))
@@ -3527,7 +3527,7 @@ MACHINE_CONFIG_START(taitoz_state::sci)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitoz, this));
+ MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_DEVICE_ADD("tc0100scn", TC0100SCN, 0)
MCFG_TC0100SCN_GFX_REGION(1)
@@ -3575,8 +3575,8 @@ MACHINE_CONFIG_START(taitoz_state::nightstr)
MCFG_DEVICE_PROGRAM_MAP(nightstr_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_taitoz, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_taitoz, this));
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
@@ -3608,7 +3608,7 @@ MACHINE_CONFIG_START(taitoz_state::nightstr)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitoz, this));
+ MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_DEVICE_ADD("tc0100scn", TC0100SCN, 0)
MCFG_TC0100SCN_GFX_REGION(1)
@@ -3659,8 +3659,8 @@ MACHINE_CONFIG_START(taitoz_state::aquajack)
MCFG_DEVICE_PROGRAM_MAP(aquajack_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_taitoz, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_taitoz, this));
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_QUANTUM_TIME(attotime::from_hz(30000))
@@ -3685,7 +3685,7 @@ MACHINE_CONFIG_START(taitoz_state::aquajack)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitoz, this));
+ MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_DEVICE_ADD("tc0100scn", TC0100SCN, 0)
MCFG_TC0100SCN_GFX_REGION(1)
@@ -3733,8 +3733,8 @@ MACHINE_CONFIG_START(taitoz_state::spacegun)
MCFG_DEVICE_PROGRAM_MAP(spacegun_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_bshark, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_taitoz, this));
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,bshark)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_EEPROM_SERIAL_DATA(spacegun_default_eeprom, 128)
@@ -3812,8 +3812,8 @@ MACHINE_CONFIG_START(taitoz_state::dblaxle)
MCFG_DEVICE_PROGRAM_MAP(dblaxle_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_taitoz, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_taitoz, this));
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
// make quantum time to be a multiple of the xtal (fixes road layer stuck on continue)
MCFG_QUANTUM_TIME(attotime::from_hz(XTAL(32'000'000)/1024))
@@ -3839,7 +3839,7 @@ MACHINE_CONFIG_START(taitoz_state::dblaxle)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitoz, this));
+ MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
MCFG_TC0480SCP_GFX_REGION(1)
@@ -3887,8 +3887,8 @@ MACHINE_CONFIG_START(taitoz_state::racingb)
MCFG_DEVICE_PROGRAM_MAP(racingb_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_taitoz, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_taitoz, this));
+ MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
+ MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
@@ -3912,7 +3912,7 @@ MACHINE_CONFIG_START(taitoz_state::racingb)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_dblaxle)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_taitoz, this));
+ MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
MCFG_DEVICE_ADD("tc0480scp", TC0480SCP, 0)
MCFG_TC0480SCP_GFX_REGION(1)
diff --git a/src/mame/drivers/tandy1t.cpp b/src/mame/drivers/tandy1t.cpp
index e2e4d51fd4c..d9bf6c9bf88 100644
--- a/src/mame/drivers/tandy1t.cpp
+++ b/src/mame/drivers/tandy1t.cpp
@@ -112,7 +112,7 @@ public:
void machine_start() override;
- void machine_reset_tandy1000rl();
+ DECLARE_MACHINE_RESET(tandy1000rl);
struct
{
@@ -405,7 +405,7 @@ void tandy1000_state::tandy1000_set_bios_bank()
m_biosbank->set_bank( bank );
}
-void tandy1000_state::machine_reset_tandy1000rl()
+MACHINE_RESET_MEMBER(tandy1000_state, tandy1000rl)
{
m_tandy_bios_bank = 6;
tandy1000_set_bios_bank();
@@ -733,7 +733,7 @@ MACHINE_CONFIG_START(tandy1000_state::t1000rl)
MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(20)
MCFG_ADDRESS_MAP_BANK_STRIDE(0x10000)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_tandy1000rl, this));
+ MCFG_MACHINE_RESET_OVERRIDE(tandy1000_state,tandy1000rl)
MCFG_DEVICE_MODIFY(RAM_TAG)
MCFG_RAM_EXTRA_OPTIONS("384K")
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/tasman.cpp b/src/mame/drivers/tasman.cpp
index 5ddd6c72cbd..4aa1a1d4175 100644
--- a/src/mame/drivers/tasman.cpp
+++ b/src/mame/drivers/tasman.cpp
@@ -70,7 +70,7 @@ public:
DECLARE_READ32_MEMBER(test_r);
// DECLARE_READ32_MEMBER(rng_r);
void init_kingtut();
- void video_start_kongambl() ATTR_COLD;
+ DECLARE_VIDEO_START(kongambl);
uint8_t m_irq_mask;
virtual void machine_reset() override { m_irq_mask = 0; };
@@ -86,7 +86,7 @@ public:
};
-void kongambl_state::video_start_kongambl()
+VIDEO_START_MEMBER(kongambl_state,kongambl)
{
#if CUSTOM_DRAW
@@ -664,7 +664,7 @@ MACHINE_CONFIG_START(kongambl_state::kongambl)
MCFG_PALETTE_ADD("palette", 32768)
MCFG_PALETTE_FORMAT(XRGB)
- set_video_start_cb(config, driver_callback_delegate(&video_start_kongambl, this));
+ MCFG_VIDEO_START_OVERRIDE(kongambl_state,kongambl)
MCFG_K055555_ADD("k055555")
diff --git a/src/mame/drivers/tatsumi.cpp b/src/mame/drivers/tatsumi.cpp
index 832cfdcb8a9..9ed8a453c93 100644
--- a/src/mame/drivers/tatsumi.cpp
+++ b/src/mame/drivers/tatsumi.cpp
@@ -27,7 +27,7 @@
changes the size at runtime.
Big Fight/Cyclewarriors - misc graphics problems.
Cyclewarriors - test mode text does not appear as it needs a -256 Y scroll offset from somewhere.
-
+
reference of bigfight : https://youtu.be/aUUoUCr6yhk
Emulation by Bryan McPhail, mish@tendril.co.uk
@@ -848,7 +848,7 @@ WRITE_LINE_MEMBER(apache3_state::apache3_68000_reset)
m_subcpu2->set_input_line(INPUT_LINE_RESET, PULSE_LINE);
}
-void apache3_state::machine_reset_apache3()
+MACHINE_RESET_MEMBER(apache3_state,apache3)
{
m_subcpu2->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); // TODO
@@ -877,7 +877,7 @@ MACHINE_CONFIG_START(apache3_state::apache3)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
MCFG_NVRAM_ADD_0FILL("nvram")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_apache3, this));
+ MCFG_MACHINE_RESET_OVERRIDE(apache3_state, apache3)
MCFG_DEVICE_ADD("adc", M58990, 1000000) // unknown clock
MCFG_ADC0808_IN0_CB(IOPORT("STICK_X"))
@@ -907,7 +907,7 @@ MACHINE_CONFIG_START(apache3_state::apache3)
bit 0: 3.9kOhm resistor
*/
- set_video_start_cb(config, driver_callback_delegate(&video_start_apache3, this));
+ MCFG_VIDEO_START_OVERRIDE(apache3_state, apache3)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -956,7 +956,7 @@ MACHINE_CONFIG_START(roundup5_state::roundup5)
MCFG_PALETTE_MEMBITS(8)
MCFG_PALETTE_ENDIANNESS(ENDIANNESS_BIG)
- set_video_start_cb(config, driver_callback_delegate(&video_start_roundup5, this));
+ MCFG_VIDEO_START_OVERRIDE(roundup5_state,roundup5)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1013,7 +1013,7 @@ MACHINE_CONFIG_START(cyclwarr_state::cyclwarr)
MCFG_PALETTE_ADD("palette", 8192 + 8192)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- set_video_start_cb(config, driver_callback_delegate(&video_start_cyclwarr, this));
+ MCFG_VIDEO_START_OVERRIDE(cyclwarr_state, cyclwarr)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1073,7 +1073,7 @@ MACHINE_CONFIG_START(cyclwarr_state::bigfight)
MCFG_PALETTE_ADD("palette", 8192 + 8192)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
- set_video_start_cb(config, driver_callback_delegate(&video_start_bigfight, this));
+ MCFG_VIDEO_START_OVERRIDE(cyclwarr_state, bigfight)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
diff --git a/src/mame/drivers/tavernie.cpp b/src/mame/drivers/tavernie.cpp
index 3063f4b1af3..c1ee4d059ee 100644
--- a/src/mame/drivers/tavernie.cpp
+++ b/src/mame/drivers/tavernie.cpp
@@ -93,8 +93,8 @@ public:
DECLARE_READ8_MEMBER(pb_ivg_r);
void kbd_put(u8 data);
DECLARE_WRITE8_MEMBER(ds_w);
- void machine_reset_cpu09();
- void machine_reset_ivg09();
+ DECLARE_MACHINE_RESET(cpu09);
+ DECLARE_MACHINE_RESET(ivg09);
MC6845_UPDATE_ROW(crtc_update_row);
void ivg09(machine_config &config);
@@ -175,12 +175,12 @@ static INPUT_PORTS_START( ivg09 )
PORT_DIPSETTING( 0x60, "IVG09 (mc6845)" )
INPUT_PORTS_END
-void tavernie_state::machine_reset_cpu09()
+MACHINE_RESET_MEMBER( tavernie_state, cpu09)
{
m_term_data = 0;
}
-void tavernie_state::machine_reset_ivg09()
+MACHINE_RESET_MEMBER( tavernie_state, ivg09)
{
m_beep->set_state(1);
m_term_data = 0;
@@ -297,7 +297,7 @@ MACHINE_CONFIG_START(tavernie_state::cpu09)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", MC6809, XTAL(4'000'000))
MCFG_DEVICE_PROGRAM_MAP(cpu09_mem)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cpu09, this));
+ MCFG_MACHINE_RESET_OVERRIDE(tavernie_state, cpu09)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -338,7 +338,7 @@ MACHINE_CONFIG_START(tavernie_state::ivg09)
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(ivg09_mem)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ivg09, this));
+ MCFG_MACHINE_RESET_OVERRIDE(tavernie_state, ivg09)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/tecmo16.cpp b/src/mame/drivers/tecmo16.cpp
index e44ebe38110..d8fc26b9d47 100644
--- a/src/mame/drivers/tecmo16.cpp
+++ b/src/mame/drivers/tecmo16.cpp
@@ -420,14 +420,14 @@ MACHINE_CONFIG_START(tecmo16_state::ginkun)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(ginkun_map)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ginkun, this));
+ MCFG_VIDEO_START_OVERRIDE(tecmo16_state,ginkun)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(tecmo16_state::riot)
ginkun(config);
/* basic machine hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_riot, this));
+ MCFG_VIDEO_START_OVERRIDE(tecmo16_state,riot)
MACHINE_CONFIG_END
/******************************************************************************/
diff --git a/src/mame/drivers/tetrisp2.cpp b/src/mame/drivers/tetrisp2.cpp
index 5994667561c..7e7fa8a0777 100644
--- a/src/mame/drivers/tetrisp2.cpp
+++ b/src/mame/drivers/tetrisp2.cpp
@@ -1716,7 +1716,7 @@ MACHINE_CONFIG_START(tetrisp2_state::tetrisp2)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_tetrisp2)
MCFG_PALETTE_ADD("palette", 0x8000)
- set_video_start_cb(config, driver_callback_delegate(&video_start_tetrisp2, this));
+ MCFG_VIDEO_START_OVERRIDE(tetrisp2_state,tetrisp2)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1751,7 +1751,7 @@ MACHINE_CONFIG_START(tetrisp2_state::nndmseal)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_tetrisp2)
MCFG_PALETTE_ADD("palette", 0x8000)
- set_video_start_cb(config, driver_callback_delegate(&video_start_nndmseal, this)); // bg layer offset
+ MCFG_VIDEO_START_OVERRIDE(tetrisp2_state,nndmseal) // bg layer offset
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1784,7 +1784,7 @@ MACHINE_CONFIG_START(tetrisp2_state::rockn)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_tetrisp2)
MCFG_PALETTE_ADD("palette", 0x8000)
- set_video_start_cb(config, driver_callback_delegate(&video_start_rockntread, this));
+ MCFG_VIDEO_START_OVERRIDE(tetrisp2_state,rockntread)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1819,7 +1819,7 @@ MACHINE_CONFIG_START(tetrisp2_state::rockn2)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_tetrisp2)
MCFG_PALETTE_ADD("palette", 0x8000)
- set_video_start_cb(config, driver_callback_delegate(&video_start_rockntread, this));
+ MCFG_VIDEO_START_OVERRIDE(tetrisp2_state,rockntread)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1870,7 +1870,7 @@ MACHINE_CONFIG_START(tetrisp2_state::rocknms)
MCFG_SCREEN_VISIBLE_AREA(0, 0x140-1, 0, 0xe0-1)
MCFG_SCREEN_UPDATE_DRIVER(tetrisp2_state, screen_update_rocknms_right)
- set_video_start_cb(config, driver_callback_delegate(&video_start_rocknms, this));
+ MCFG_VIDEO_START_OVERRIDE(tetrisp2_state,rocknms)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1921,7 +1921,7 @@ MACHINE_CONFIG_START(stepstag_state::stepstag)
MCFG_SCREEN_UPDATE_DRIVER(stepstag_state, screen_update_stepstag_right)
MCFG_SCREEN_PALETTE("rpalette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_stepstag, this));
+ MCFG_VIDEO_START_OVERRIDE(stepstag_state, stepstag )
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_tetrisp2)
MCFG_PALETTE_ADD("palette", 0x8000)
@@ -1994,7 +1994,7 @@ MACHINE_CONFIG_START(stepstag_state::vjdash) // 4 Screens
MCFG_SCREEN_UPDATE_DRIVER(stepstag_state, screen_update_stepstag_right)
MCFG_SCREEN_PALETTE("rpalette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_stepstag, this));
+ MCFG_VIDEO_START_OVERRIDE(stepstag_state, stepstag )
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_tetrisp2)
MCFG_PALETTE_ADD("palette", 0x8000)
diff --git a/src/mame/drivers/thedealr.cpp b/src/mame/drivers/thedealr.cpp
index dd42cc69cb7..a1b7bd1b582 100644
--- a/src/mame/drivers/thedealr.cpp
+++ b/src/mame/drivers/thedealr.cpp
@@ -68,8 +68,8 @@ public:
DECLARE_WRITE8_MEMBER(unk_w);
// machine
- void machine_start_thedealr() ATTR_COLD;
- void machine_reset_thedealr();
+ DECLARE_MACHINE_START(thedealr);
+ DECLARE_MACHINE_RESET(thedealr);
TIMER_DEVICE_CALLBACK_MEMBER(thedealr_interrupt);
// video
@@ -135,7 +135,7 @@ void thedealr_state::iox_reset()
m_iox_coins = 0x00;
}
-void thedealr_state::machine_reset_thedealr()
+MACHINE_RESET_MEMBER(thedealr_state,thedealr)
{
iox_reset();
}
@@ -506,7 +506,7 @@ GFXDECODE_END
***************************************************************************/
-void thedealr_state::machine_start_thedealr()
+MACHINE_START_MEMBER(thedealr_state,thedealr)
{
save_item(NAME(m_iox_status));
save_item(NAME(m_iox_ret));
@@ -546,8 +546,8 @@ MACHINE_CONFIG_START(thedealr_state::thedealr)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_thedealr, this));
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_thedealr, this));
+ MCFG_MACHINE_RESET_OVERRIDE(thedealr_state,thedealr)
+ MCFG_MACHINE_START_OVERRIDE(thedealr_state,thedealr)
// video hardware
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/thomson.cpp b/src/mame/drivers/thomson.cpp
index 9d4a19d9a04..4188d925cc4 100644
--- a/src/mame/drivers/thomson.cpp
+++ b/src/mame/drivers/thomson.cpp
@@ -621,8 +621,8 @@ static void cd90_640_floppies(device_slot_interface &device)
MACHINE_CONFIG_START(thomson_state::to7)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_to7, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_to7, this));
+ MCFG_MACHINE_START_OVERRIDE( thomson_state, to7 )
+ MCFG_MACHINE_RESET_OVERRIDE( thomson_state, to7 )
/* cpu */
MCFG_DEVICE_ADD("maincpu", MC6809E, 1000000)
@@ -646,7 +646,7 @@ MACHINE_CONFIG_START(thomson_state::to7)
MCFG_PALETTE_ADD ( "palette", 4097 ) /* 12-bit color + transparency */
MCFG_PALETTE_INIT_OWNER(thomson_state, thom)
- set_video_start_cb(config, driver_callback_delegate(&video_start_thom, this));
+ MCFG_VIDEO_START_OVERRIDE( thomson_state, thom )
/* sound */
SPEAKER(config, "speaker").front_center();
@@ -929,8 +929,8 @@ INPUT_PORTS_END
MACHINE_CONFIG_START(thomson_state::to770)
to7(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_to770, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_to770, this));
+ MCFG_MACHINE_START_OVERRIDE( thomson_state, to770 )
+ MCFG_MACHINE_RESET_OVERRIDE( thomson_state, to770 )
MCFG_DEVICE_MODIFY( "maincpu" )
MCFG_DEVICE_PROGRAM_MAP ( to770)
@@ -1122,8 +1122,8 @@ INPUT_PORTS_END
MACHINE_CONFIG_START(thomson_state::mo5)
to7(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mo5, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mo5, this));
+ MCFG_MACHINE_START_OVERRIDE( thomson_state, mo5 )
+ MCFG_MACHINE_RESET_OVERRIDE( thomson_state, mo5 )
MCFG_DEVICE_MODIFY( "maincpu" )
MCFG_DEVICE_PROGRAM_MAP ( mo5)
@@ -1485,8 +1485,8 @@ INPUT_PORTS_END
MACHINE_CONFIG_START(thomson_state::to9)
to7(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_to9, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_to9, this));
+ MCFG_MACHINE_START_OVERRIDE( thomson_state, to9 )
+ MCFG_MACHINE_RESET_OVERRIDE( thomson_state, to9 )
MCFG_DEVICE_MODIFY( "maincpu" )
MCFG_DEVICE_PROGRAM_MAP ( to9)
@@ -1709,8 +1709,8 @@ INPUT_PORTS_END
MACHINE_CONFIG_START(thomson_state::to8)
to7(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_to8, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_to8, this));
+ MCFG_MACHINE_START_OVERRIDE( thomson_state, to8 )
+ MCFG_MACHINE_RESET_OVERRIDE( thomson_state, to8 )
MCFG_DEVICE_MODIFY( "maincpu" )
MCFG_DEVICE_PROGRAM_MAP ( to8)
@@ -1875,8 +1875,8 @@ INPUT_PORTS_END
MACHINE_CONFIG_START(thomson_state::to9p)
to7(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_to9p, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_to9p, this));
+ MCFG_MACHINE_START_OVERRIDE( thomson_state, to9p )
+ MCFG_MACHINE_RESET_OVERRIDE( thomson_state, to9p )
MCFG_DEVICE_MODIFY( "maincpu" )
MCFG_DEVICE_PROGRAM_MAP ( to9p)
@@ -2224,8 +2224,8 @@ INPUT_PORTS_END
MACHINE_CONFIG_START(thomson_state::mo6)
to7(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mo6, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mo6, this));
+ MCFG_MACHINE_START_OVERRIDE( thomson_state, mo6 )
+ MCFG_MACHINE_RESET_OVERRIDE( thomson_state, mo6 )
MCFG_DEVICE_MODIFY( "maincpu" )
MCFG_DEVICE_PROGRAM_MAP ( mo6)
@@ -2494,8 +2494,8 @@ INPUT_PORTS_END
MACHINE_CONFIG_START(thomson_state::mo5nr)
to7(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mo5nr, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mo5nr, this));
+ MCFG_MACHINE_START_OVERRIDE( thomson_state, mo5nr )
+ MCFG_MACHINE_RESET_OVERRIDE( thomson_state, mo5nr )
MCFG_DEVICE_MODIFY( "maincpu" )
MCFG_DEVICE_PROGRAM_MAP ( mo5nr)
diff --git a/src/mame/drivers/ti85.cpp b/src/mame/drivers/ti85.cpp
index 8bd3547f3fc..e4fb6c8ce24 100644
--- a/src/mame/drivers/ti85.cpp
+++ b/src/mame/drivers/ti85.cpp
@@ -607,7 +607,7 @@ MACHINE_CONFIG_START(ti85_state::ti85)
MCFG_DEVICE_CLOCK(6000000) /* 6 MHz */
MCFG_DEVICE_IO_MAP(ti85_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ti85, this));
+ MCFG_MACHINE_RESET_OVERRIDE(ti85_state, ti85 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(128, 64)
@@ -630,7 +630,7 @@ MACHINE_CONFIG_START(ti85_state::ti82)
MCFG_DEVICE_CLOCK(6000000) /* 6 MHz */
MCFG_DEVICE_IO_MAP(ti82_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ti85, this));
+ MCFG_MACHINE_RESET_OVERRIDE(ti85_state, ti85 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DEVICE("t6a04", t6a04_device, screen_update)
@@ -659,7 +659,7 @@ MACHINE_CONFIG_START(ti85_state::ti83)
MCFG_DEVICE_CLOCK(6000000) /* 6 MHz */
MCFG_DEVICE_IO_MAP(ti83_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ti85, this));
+ MCFG_MACHINE_RESET_OVERRIDE(ti85_state, ti85 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DEVICE("t6a04", t6a04_device, screen_update)
@@ -678,8 +678,8 @@ MACHINE_CONFIG_START(ti85_state::ti86)
MCFG_DEVICE_PROGRAM_MAP(ti86_mem)
MCFG_DEVICE_IO_MAP(ti86_io)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ti86, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ti85, this));
+ MCFG_MACHINE_START_OVERRIDE(ti85_state, ti86 )
+ MCFG_MACHINE_RESET_OVERRIDE(ti85_state, ti85 )
MCFG_SNAPSHOT_ADD("snapshot", ti85_state, ti8x, "sav", 0)
MACHINE_CONFIG_END
@@ -691,8 +691,8 @@ MACHINE_CONFIG_START(ti85_state::ti83p)
MCFG_DEVICE_PROGRAM_MAP(ti83p_asic_mem)
MCFG_DEVICE_IO_MAP(ti83p_io)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ti83p, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ti83p, this));
+ MCFG_MACHINE_START_OVERRIDE(ti85_state, ti83p )
+ MCFG_MACHINE_RESET_OVERRIDE(ti85_state, ti83p )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DEVICE("t6a04", t6a04_device, screen_update)
@@ -751,7 +751,7 @@ MACHINE_CONFIG_START(ti85_state::ti83pse)
MCFG_DEVICE_MODIFY("membank4")
MCFG_DEVICE_PROGRAM_MAP(ti83pse_banked_mem)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ti83pse, this));
+ MCFG_MACHINE_START_OVERRIDE(ti85_state, ti83pse )
MCFG_DEVICE_REPLACE("flash", FUJITSU_29F160T, 0)
MACHINE_CONFIG_END
@@ -769,13 +769,13 @@ MACHINE_CONFIG_START(ti85_state::ti84p)
MCFG_DEVICE_MODIFY("membank4")
MCFG_DEVICE_PROGRAM_MAP(ti84p_banked_mem)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ti84p, this));
+ MCFG_MACHINE_START_OVERRIDE(ti85_state, ti84p )
MCFG_DEVICE_REPLACE("flash", AMD_29F800T , 0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(ti85_state::ti84pse)
ti83pse(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ti84pse, this));
+ MCFG_MACHINE_START_OVERRIDE(ti85_state, ti84pse )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(ti85_state::ti73)
diff --git a/src/mame/drivers/ti990_4.cpp b/src/mame/drivers/ti990_4.cpp
index a08c2d6c9ac..6b21c5def9a 100644
--- a/src/mame/drivers/ti990_4.cpp
+++ b/src/mame/drivers/ti990_4.cpp
@@ -67,7 +67,7 @@ public:
void init_ti990_4();
void init_ti990_4v();
- void machine_reset_ti990_4();
+ DECLARE_MACHINE_RESET(ti990_4);
void ti990_4v(machine_config &config);
void ti990_4(machine_config &config);
@@ -276,7 +276,7 @@ void ti990_4_state::cru_map_v(address_map &map)
nullptr
}; */
-void ti990_4_state::machine_reset_ti990_4()
+MACHINE_RESET_MEMBER(ti990_4_state,ti990_4)
{
hold_load();
reset_int_lines();
@@ -296,7 +296,7 @@ MACHINE_CONFIG_START(ti990_4_state::ti990_4)
MCFG_TMS99xx_EXTOP_HANDLER( WRITE8(*this, ti990_4_state, external_operation) )
MCFG_TMS99xx_INTLEVEL_HANDLER( READ8(*this, ti990_4_state, interrupt_level) )
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ti990_4, this));
+ MCFG_MACHINE_RESET_OVERRIDE(ti990_4_state, ti990_4 )
// Terminal
MCFG_DEVICE_ADD("asr733", ASR733, 0)
@@ -316,7 +316,7 @@ MACHINE_CONFIG_START(ti990_4_state::ti990_4v)
MCFG_TMS99xx_ADD("maincpu", TMS9900, 3000000, memmap, cru_map_v)
MCFG_TMS99xx_EXTOP_HANDLER( WRITE8(*this, ti990_4_state, external_operation) )
MCFG_TMS99xx_INTLEVEL_HANDLER( READ8(*this, ti990_4_state, interrupt_level) )
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ti990_4, this));
+ MCFG_MACHINE_RESET_OVERRIDE(ti990_4_state, ti990_4 )
// Terminal
MCFG_DEVICE_ADD("vdt911", VDT911, 0)
diff --git a/src/mame/drivers/ti99_2.cpp b/src/mame/drivers/ti99_2.cpp
index 62372187133..d6fba45c76e 100644
--- a/src/mame/drivers/ti99_2.cpp
+++ b/src/mame/drivers/ti99_2.cpp
@@ -203,9 +203,9 @@ public:
{ }
- void machine_start_ti99_224() ATTR_COLD;
- void machine_start_ti99_232() ATTR_COLD;
- void machine_reset_ti99_2();
+ DECLARE_MACHINE_START( ti99_224 );
+ DECLARE_MACHINE_START( ti99_232 );
+ DECLARE_MACHINE_RESET( ti99_2 );
DECLARE_WRITE8_MEMBER(intflag_write);
@@ -244,7 +244,7 @@ private:
int m_first_ram_page;
};
-void ti99_2_state::machine_start_ti99_224()
+MACHINE_START_MEMBER(ti99_2_state, ti99_224)
{
m_rom = memregion(TI992_ROM)->base();
m_ram_start = 0xf000 - m_ram->default_size();
@@ -252,7 +252,7 @@ void ti99_2_state::machine_start_ti99_224()
m_have_banked_ROM = false;
}
-void ti99_2_state::machine_start_ti99_232()
+MACHINE_START_MEMBER(ti99_2_state, ti99_232)
{
m_rom = memregion(TI992_ROM)->base();
m_ram_start = 0xf000 - m_ram->default_size();
@@ -260,7 +260,7 @@ void ti99_2_state::machine_start_ti99_232()
m_have_banked_ROM = true;
}
-void ti99_2_state::machine_reset_ti99_2()
+MACHINE_RESET_MEMBER(ti99_2_state, ti99_2)
{
m_otherbank = false;
@@ -591,7 +591,7 @@ MACHINE_CONFIG_START(ti99_2_state::ti99_224)
MCFG_VIDEO992_SCREEN_ADD( TI_SCREEN_TAG )
MCFG_SCREEN_UPDATE_DEVICE( TI_VDC_TAG, bus::ti99::internal::video992_device, screen_update )
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ti99_224, this));
+ MCFG_MACHINE_START_OVERRIDE(ti99_2_state, ti99_224 )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(ti99_2_state::ti99_232)
@@ -604,7 +604,7 @@ MACHINE_CONFIG_START(ti99_2_state::ti99_232)
MCFG_VIDEO992_SCREEN_ADD( TI_SCREEN_TAG )
MCFG_SCREEN_UPDATE_DEVICE( TI_VDC_TAG, bus::ti99::internal::video992_device, screen_update )
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ti99_232, this));
+ MCFG_MACHINE_START_OVERRIDE(ti99_2_state, ti99_232 )
MACHINE_CONFIG_END
@@ -622,7 +622,7 @@ MACHINE_CONFIG_START(ti99_2_state::ti99_2)
MCFG_RAM_DEFAULT_SIZE("4096")
MCFG_RAM_DEFAULT_VALUE(0)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ti99_2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(ti99_2_state, ti99_2 )
// Cassette drives
// There is no route from the cassette to some audio output, so we don't hear it.
diff --git a/src/mame/drivers/ti99_4p.cpp b/src/mame/drivers/ti99_4p.cpp
index c55b8647c12..1b0d1d5dcf9 100644
--- a/src/mame/drivers/ti99_4p.cpp
+++ b/src/mame/drivers/ti99_4p.cpp
@@ -180,7 +180,7 @@ public:
DECLARE_WRITE8_MEMBER(tms9901_interrupt);
DECLARE_WRITE_LINE_MEMBER(alphaW);
virtual void machine_start() override;
- void machine_reset_ti99_4p();
+ DECLARE_MACHINE_RESET(ti99_4p);
DECLARE_WRITE_LINE_MEMBER(video_interrupt_in);
@@ -981,7 +981,7 @@ WRITE_LINE_MEMBER(ti99_4p_state::video_interrupt_in)
/*
Reset the machine.
*/
-void ti99_4p_state::machine_reset_ti99_4p()
+MACHINE_RESET_MEMBER(ti99_4p_state,ti99_4p)
{
set_9901_int(12, CLEAR_LINE);
diff --git a/src/mame/drivers/ti99_4x.cpp b/src/mame/drivers/ti99_4x.cpp
index 983deef0095..11e0bf10170 100644
--- a/src/mame/drivers/ti99_4x.cpp
+++ b/src/mame/drivers/ti99_4x.cpp
@@ -90,14 +90,14 @@ public:
{ }
// Machine management
- void machine_start_ti99_4() ATTR_COLD;
- void machine_start_ti99_4a() ATTR_COLD;
- void machine_start_ti99_4qi() ATTR_COLD;
- void machine_start_ti99_4ev() ATTR_COLD;
+ DECLARE_MACHINE_START(ti99_4);
+ DECLARE_MACHINE_START(ti99_4a);
+ DECLARE_MACHINE_START(ti99_4qi);
+ DECLARE_MACHINE_START(ti99_4ev);
- void machine_reset_ti99_4();
- void machine_reset_ti99_4a();
- void machine_reset_ti99_4ev();
+ DECLARE_MACHINE_RESET(ti99_4);
+ DECLARE_MACHINE_RESET(ti99_4a);
+ DECLARE_MACHINE_RESET(ti99_4ev);
// Processor connections with the main board
DECLARE_READ8_MEMBER( cruread );
@@ -820,14 +820,14 @@ void ti99_4x_state::register_save_state()
Machine definitions
******************************************************************************/
-void ti99_4x_state::machine_start_ti99_4()
+MACHINE_START_MEMBER(ti99_4x_state,ti99_4)
{
m_nready_combined = 0;
m_model = MODEL_4;
register_save_state();
}
-void ti99_4x_state::machine_reset_ti99_4()
+MACHINE_RESET_MEMBER(ti99_4x_state,ti99_4)
{
m_cpu->set_ready(ASSERT_LINE);
m_cpu->set_hold(CLEAR_LINE);
@@ -848,8 +848,8 @@ MACHINE_CONFIG_START(ti99_4x_state::ti99_4)
MCFG_TMS99xx_CLKOUT_HANDLER( WRITELINE(*this, ti99_4x_state, clock_out) )
MCFG_TMS99xx_DBIN_HANDLER( WRITELINE(*this, ti99_4x_state, dbin_line) )
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ti99_4, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ti99_4, this));
+ MCFG_MACHINE_START_OVERRIDE(ti99_4x_state, ti99_4 )
+ MCFG_MACHINE_RESET_OVERRIDE(ti99_4x_state, ti99_4 )
// Main board
MCFG_DEVICE_ADD(TI_TMS9901_TAG, TMS9901, 3000000)
@@ -942,14 +942,14 @@ MACHINE_CONFIG_END
TI-99/4A - replaced the 99/4 and became the standard TI-99 console
***********************************************************************/
-void ti99_4x_state::machine_start_ti99_4a()
+MACHINE_START_MEMBER(ti99_4x_state,ti99_4a)
{
m_nready_combined = 0;
m_model = MODEL_4A;
register_save_state();
}
-void ti99_4x_state::machine_reset_ti99_4a()
+MACHINE_RESET_MEMBER(ti99_4x_state,ti99_4a)
{
m_cpu->set_ready(ASSERT_LINE);
m_cpu->set_hold(CLEAR_LINE);
@@ -966,8 +966,8 @@ MACHINE_CONFIG_START(ti99_4x_state::ti99_4a)
MCFG_TMS99xx_CLKOUT_HANDLER( WRITELINE(*this, ti99_4x_state, clock_out) )
MCFG_TMS99xx_DBIN_HANDLER( WRITELINE(*this, ti99_4x_state, dbin_line) )
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ti99_4a, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ti99_4a, this));
+ MCFG_MACHINE_START_OVERRIDE(ti99_4x_state, ti99_4a )
+ MCFG_MACHINE_RESET_OVERRIDE(ti99_4x_state, ti99_4a )
// Main board
MCFG_DEVICE_ADD(TI_TMS9901_TAG, TMS9901, 3000000)
@@ -1064,7 +1064,7 @@ MACHINE_CONFIG_END
those from Atarisoft.
*************************************************************************/
-void ti99_4x_state::machine_start_ti99_4qi()
+MACHINE_START_MEMBER(ti99_4x_state, ti99_4qi)
{
m_model = MODEL_4QI;
m_nready_combined = 0;
@@ -1073,7 +1073,7 @@ void ti99_4x_state::machine_start_ti99_4qi()
MACHINE_CONFIG_START(ti99_4x_state::ti99_4qi)
ti99_4a(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ti99_4qi, this));
+ MCFG_MACHINE_START_OVERRIDE(ti99_4x_state, ti99_4qi )
MACHINE_CONFIG_END
/*
@@ -1098,7 +1098,7 @@ MACHINE_CONFIG_END
which is intended to use the EVPC, does not have an own sound chip.
*************************************************************************/
-void ti99_4x_state::machine_start_ti99_4ev()
+MACHINE_START_MEMBER(ti99_4x_state, ti99_4ev)
{
m_nready_combined = 0;
m_model = MODEL_4A;
@@ -1108,7 +1108,7 @@ void ti99_4x_state::machine_start_ti99_4ev()
register_save_state();
}
-void ti99_4x_state::machine_reset_ti99_4ev()
+MACHINE_RESET_MEMBER(ti99_4x_state, ti99_4ev)
{
m_cpu->set_ready(ASSERT_LINE);
m_cpu->set_hold(CLEAR_LINE);
@@ -1126,8 +1126,8 @@ MACHINE_CONFIG_START(ti99_4x_state::ti99_4ev_60hz)
MCFG_TMS99xx_CLKOUT_HANDLER( WRITELINE(*this, ti99_4x_state, clock_out) )
MCFG_TMS99xx_DBIN_HANDLER( WRITELINE(*this, ti99_4x_state, dbin_line) )
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ti99_4ev, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ti99_4ev, this));
+ MCFG_MACHINE_START_OVERRIDE(ti99_4x_state, ti99_4ev )
+ MCFG_MACHINE_RESET_OVERRIDE(ti99_4x_state, ti99_4ev )
// Main board
MCFG_DEVICE_ADD(TI_TMS9901_TAG, TMS9901, 3000000)
diff --git a/src/mame/drivers/ti99_8.cpp b/src/mame/drivers/ti99_8.cpp
index 0e12f76b693..8ad91d0895a 100644
--- a/src/mame/drivers/ti99_8.cpp
+++ b/src/mame/drivers/ti99_8.cpp
@@ -227,8 +227,8 @@ public:
}
// Machine management
- void machine_start_ti99_8() ATTR_COLD;
- void machine_reset_ti99_8();
+ DECLARE_MACHINE_START(ti99_8);
+ DECLARE_MACHINE_RESET(ti99_8);
// Processor connections with the main board
DECLARE_READ8_MEMBER( cruread );
@@ -691,7 +691,7 @@ WRITE_LINE_MEMBER( ti99_8_state::dbin_line )
m_mainboard->dbin_in(state);
}
-void ti99_8_state::machine_start_ti99_8()
+MACHINE_START_MEMBER(ti99_8_state,ti99_8)
{
// Need to configure the speech ROM for inverse bit order
speechrom_device* mem = subdevice<speechrom_device>(TI998_SPEECHROM_REG);
@@ -703,7 +703,7 @@ void ti99_8_state::machine_start_ti99_8()
save_item(NAME(m_int2));
}
-void ti99_8_state::machine_reset_ti99_8()
+MACHINE_RESET_MEMBER(ti99_8_state, ti99_8)
{
m_cpu->hold_line(CLEAR_LINE);
@@ -730,8 +730,8 @@ MACHINE_CONFIG_START(ti99_8_state::ti99_8)
MCFG_TMS9995_DBIN_HANDLER( WRITELINE(*this, ti99_8_state, dbin_line) )
MCFG_TMS9995_HOLDA_HANDLER( WRITELINE(TI998_MAINBOARD_TAG, bus::ti99::internal::mainboard8_device, holda_line) )
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ti99_8, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ti99_8, this));
+ MCFG_MACHINE_START_OVERRIDE(ti99_8_state, ti99_8 )
+ MCFG_MACHINE_RESET_OVERRIDE(ti99_8_state, ti99_8 )
// 9901 configuration
MCFG_DEVICE_ADD(TI_TMS9901_TAG, TMS9901, XTAL(10'738'635)/4.0)
diff --git a/src/mame/drivers/tiamc1.cpp b/src/mame/drivers/tiamc1.cpp
index b22e86f168e..43ac507d597 100644
--- a/src/mame/drivers/tiamc1.cpp
+++ b/src/mame/drivers/tiamc1.cpp
@@ -363,7 +363,7 @@ MACHINE_CONFIG_START(tiamc1_state::kot)
MCFG_DEVICE_IO_MAP(kotrybolov_io_map)
MCFG_SCREEN_MODIFY("screen")
- set_video_start_cb(config, driver_callback_delegate(&video_start_kot, this));
+ MCFG_VIDEO_START_OVERRIDE(tiamc1_state, kot)
MCFG_SCREEN_UPDATE_DRIVER(tiamc1_state, screen_update_kot)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_kot)
diff --git a/src/mame/drivers/tickee.cpp b/src/mame/drivers/tickee.cpp
index fcc5497a467..c9b4f632e0b 100644
--- a/src/mame/drivers/tickee.cpp
+++ b/src/mame/drivers/tickee.cpp
@@ -79,9 +79,9 @@ public:
DECLARE_WRITE16_MEMBER(ff7f_w);
DECLARE_WRITE16_MEMBER(rapidfir_control_w);
DECLARE_WRITE16_MEMBER(sound_bank_w);
- void machine_reset_tickee();
- void video_start_tickee() ATTR_COLD;
- void machine_reset_rapidfir();
+ DECLARE_MACHINE_RESET(tickee);
+ DECLARE_VIDEO_START(tickee);
+ DECLARE_MACHINE_RESET(rapidfir);
TIMER_CALLBACK_MEMBER(trigger_gun_interrupt);
TIMER_CALLBACK_MEMBER(clear_gun_interrupt);
TIMER_CALLBACK_MEMBER(setup_gun_interrupts);
@@ -201,7 +201,7 @@ TIMER_CALLBACK_MEMBER(tickee_state::setup_gun_interrupts)
*
*************************************/
-void tickee_state::video_start_tickee()
+VIDEO_START_MEMBER(tickee_state,tickee)
{
/* start a timer going on the first scanline of every frame */
m_setup_gun_timer = timer_alloc(TIMER_SETUP_GUN_INTERRUPTS);
@@ -277,13 +277,13 @@ TMS340X0_SCANLINE_RGB32_CB_MEMBER(tickee_state::rapidfir_scanline_update)
*
*************************************/
-void tickee_state::machine_reset_tickee()
+MACHINE_RESET_MEMBER(tickee_state,tickee)
{
m_beamxadd = 50;
m_beamyadd = 0;
}
-void tickee_state::machine_reset_rapidfir()
+MACHINE_RESET_MEMBER(tickee_state,rapidfir)
{
m_beamxadd = 0;
m_beamyadd = -5;
@@ -766,7 +766,7 @@ MACHINE_CONFIG_START(tickee_state::tickee)
MCFG_TMS340X0_PIXELS_PER_CLOCK(1) /* pixels per clock */
MCFG_TMS340X0_SCANLINE_RGB32_CB(tickee_state, scanline_update) /* scanline callback (rgb32) */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_tickee, this));
+ MCFG_MACHINE_RESET_OVERRIDE(tickee_state,tickee)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_TICKET_DISPENSER_ADD("ticket1", attotime::from_msec(100), TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_HIGH)
@@ -775,7 +775,7 @@ MACHINE_CONFIG_START(tickee_state::tickee)
/* video hardware */
MCFG_TLC34076_ADD("tlc34076", TLC34076_6_BIT)
- set_video_start_cb(config, driver_callback_delegate(&video_start_tickee, this));
+ MCFG_VIDEO_START_OVERRIDE(tickee_state,tickee)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(VIDEO_CLOCK/2, 444, 0, 320, 233, 0, 200)
@@ -817,7 +817,7 @@ MACHINE_CONFIG_START(tickee_state::rapidfir)
MCFG_TMS340X0_TO_SHIFTREG_CB(tickee_state, rapidfir_to_shiftreg) /* write to shiftreg function */
MCFG_TMS340X0_FROM_SHIFTREG_CB(tickee_state, rapidfir_from_shiftreg) /* read from shiftreg function */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_rapidfir, this));
+ MCFG_MACHINE_RESET_OVERRIDE(tickee_state,rapidfir)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_WATCHDOG_ADD("watchdog")
@@ -825,7 +825,7 @@ MACHINE_CONFIG_START(tickee_state::rapidfir)
/* video hardware */
MCFG_TLC34076_ADD("tlc34076", TLC34076_6_BIT)
- set_video_start_cb(config, driver_callback_delegate(&video_start_tickee, this));
+ MCFG_VIDEO_START_OVERRIDE(tickee_state,tickee)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(VIDEO_CLOCK/2, 444, 0, 320, 233, 0, 200)
@@ -849,7 +849,7 @@ MACHINE_CONFIG_START(tickee_state::mouseatk)
MCFG_TMS340X0_PIXELS_PER_CLOCK(1) /* pixels per clock */
MCFG_TMS340X0_SCANLINE_RGB32_CB(tickee_state, scanline_update) /* scanline callback (rgb32) */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_tickee, this));
+ MCFG_MACHINE_RESET_OVERRIDE(tickee_state,tickee)
MCFG_NVRAM_ADD_1FILL("nvram")
MCFG_TICKET_DISPENSER_ADD("ticket1", attotime::from_msec(100), TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_HIGH)
diff --git a/src/mame/drivers/timeplt.cpp b/src/mame/drivers/timeplt.cpp
index 59d831af379..9239fec90bc 100644
--- a/src/mame/drivers/timeplt.cpp
+++ b/src/mame/drivers/timeplt.cpp
@@ -479,7 +479,7 @@ MACHINE_CONFIG_START(timeplt_state::psurge)
MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(NOOP)
MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(NOOP)
- set_video_start_cb(config, driver_callback_delegate(&video_start_psurge, this));
+ MCFG_VIDEO_START_OVERRIDE(timeplt_state,psurge)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(timeplt_state::bikkuric)
@@ -491,7 +491,7 @@ MACHINE_CONFIG_START(timeplt_state::bikkuric)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(chkun_main_map)
- set_video_start_cb(config, driver_callback_delegate(&video_start_chkun, this));
+ MCFG_VIDEO_START_OVERRIDE(timeplt_state,chkun)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(timeplt_state::chkun)
diff --git a/src/mame/drivers/timex.cpp b/src/mame/drivers/timex.cpp
index 4e977d58638..d5d1b78716f 100644
--- a/src/mame/drivers/timex.cpp
+++ b/src/mame/drivers/timex.cpp
@@ -547,7 +547,7 @@ void spectrum_state::ts2068_mem(address_map &map)
}
-void spectrum_state::machine_reset_ts2068()
+MACHINE_RESET_MEMBER(spectrum_state,ts2068)
{
m_port_ff_data = 0;
m_port_f4_data = 0;
@@ -557,7 +557,7 @@ void spectrum_state::machine_reset_ts2068()
m_dock_cart_type = m_dock_crt ? TIMEX_CART_DOCK : TIMEX_CART_NONE;
ts2068_update_memory();
- machine_reset_spectrum();
+ MACHINE_RESET_CALL_MEMBER(spectrum);
}
@@ -583,7 +583,7 @@ void spectrum_state::tc2048_mem(address_map &map)
map(0x4000, 0xffff).bankr("bank1").bankw("bank2");
}
-void spectrum_state::machine_reset_tc2048()
+MACHINE_RESET_MEMBER(spectrum_state,tc2048)
{
uint8_t *messram = m_ram->pointer();
@@ -591,7 +591,7 @@ void spectrum_state::machine_reset_tc2048()
membank("bank2")->set_base(messram);
m_port_ff_data = 0;
m_port_f4_data = -1;
- machine_reset_spectrum();
+ MACHINE_RESET_CALL_MEMBER(spectrum);
}
@@ -694,7 +694,7 @@ MACHINE_CONFIG_START(spectrum_state::ts2068)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", spectrum_state, spec_interrupt)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ts2068, this));
+ MCFG_MACHINE_RESET_OVERRIDE(spectrum_state, ts2068 )
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -706,7 +706,7 @@ MACHINE_CONFIG_START(spectrum_state::ts2068)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_ts2068)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ts2068, this));
+ MCFG_VIDEO_START_OVERRIDE(spectrum_state, ts2068 )
/* sound */
MCFG_DEVICE_REPLACE("ay8912", AY8912, XTAL(14'112'000)/8) /* From Schematic; 1.764 MHz */
@@ -739,7 +739,7 @@ MACHINE_CONFIG_START(spectrum_state::tc2048)
MCFG_DEVICE_PROGRAM_MAP(tc2048_mem)
MCFG_DEVICE_IO_MAP(tc2048_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_tc2048, this));
+ MCFG_MACHINE_RESET_OVERRIDE(spectrum_state, tc2048 )
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -749,7 +749,7 @@ MACHINE_CONFIG_START(spectrum_state::tc2048)
MCFG_SCREEN_UPDATE_DRIVER(spectrum_state, screen_update_tc2048)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, spectrum_state, screen_vblank_timex))
- set_video_start_cb(config, driver_callback_delegate(&video_start_spectrum_128, this));
+ MCFG_VIDEO_START_OVERRIDE(spectrum_state, spectrum_128 )
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
diff --git a/src/mame/drivers/tm990189.cpp b/src/mame/drivers/tm990189.cpp
index 01c4238e6fa..77a37924400 100644
--- a/src/mame/drivers/tm990189.cpp
+++ b/src/mame/drivers/tm990189.cpp
@@ -151,12 +151,10 @@ public:
DECLARE_WRITE_LINE_MEMBER(sys9901_tapewdata_w);
DECLARE_WRITE8_MEMBER( xmit_callback );
-
- void machine_start_tm990_189() ATTR_COLD;
- void machine_reset_tm990_189();
-
- void machine_start_tm990_189_v() ATTR_COLD;
- void machine_reset_tm990_189_v();
+ DECLARE_MACHINE_START(tm990_189);
+ DECLARE_MACHINE_RESET(tm990_189);
+ DECLARE_MACHINE_START(tm990_189_v);
+ DECLARE_MACHINE_RESET(tm990_189_v);
TIMER_DEVICE_CALLBACK_MEMBER(display_callback);
TIMER_CALLBACK_MEMBER(clear_load);
@@ -179,20 +177,20 @@ private:
#define displayena_duration attotime::from_usec(4500) /* Can anyone confirm this? 74LS123 connected to C=0.1uF and R=100kOhm */
-void tm990189_state::machine_reset_tm990_189()
+MACHINE_RESET_MEMBER(tm990189_state,tm990_189)
{
m_tms9980a->set_ready(ASSERT_LINE);
m_tms9980a->set_hold(CLEAR_LINE);
hold_load();
}
-void tm990189_state::machine_start_tm990_189()
+MACHINE_START_MEMBER(tm990189_state,tm990_189)
{
m_digits.resolve();
m_displayena_timer = machine().scheduler().timer_alloc(timer_expired_delegate());
}
-void tm990189_state::machine_start_tm990_189_v()
+MACHINE_START_MEMBER(tm990189_state,tm990_189_v)
{
m_digits.resolve();
m_displayena_timer = machine().scheduler().timer_alloc(timer_expired_delegate());
@@ -203,7 +201,7 @@ void tm990189_state::machine_start_tm990_189_v()
m_joy2y_timer = machine().scheduler().timer_alloc(timer_expired_delegate());
}
-void tm990189_state::machine_reset_tm990_189_v()
+MACHINE_RESET_MEMBER(tm990189_state,tm990_189_v)
{
m_tms9980a->set_ready(ASSERT_LINE);
m_tms9980a->set_hold(CLEAR_LINE);
@@ -818,8 +816,8 @@ MACHINE_CONFIG_START(tm990189_state::tm990_189)
MCFG_TMS99xx_ADD("maincpu", TMS9980A, 2000000, tm990_189_memmap, tm990_189_cru_map)
MCFG_TMS99xx_EXTOP_HANDLER( WRITE8(*this, tm990189_state, external_operation) )
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_tm990_189, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_tm990_189, this));
+ MCFG_MACHINE_START_OVERRIDE(tm990189_state, tm990_189 )
+ MCFG_MACHINE_RESET_OVERRIDE(tm990189_state, tm990_189 )
/* Video hardware */
MCFG_DEFAULT_LAYOUT(layout_tm990189)
@@ -873,8 +871,8 @@ MACHINE_CONFIG_START(tm990189_state::tm990_189_v)
MCFG_TMS99xx_ADD("maincpu", TMS9980A, 2000000, tm990_189_v_memmap, tm990_189_cru_map)
MCFG_TMS99xx_EXTOP_HANDLER( WRITE8(*this, tm990189_state, external_operation) )
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_tm990_189_v, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_tm990_189_v, this));
+ MCFG_MACHINE_START_OVERRIDE(tm990189_state, tm990_189_v )
+ MCFG_MACHINE_RESET_OVERRIDE(tm990189_state, tm990_189_v )
/* video hardware */
MCFG_DEVICE_ADD( "tms9918", TMS9918, XTAL(10'738'635) / 2 )
diff --git a/src/mame/drivers/tmnt.cpp b/src/mame/drivers/tmnt.cpp
index 400eeebd849..122eac1cd11 100644
--- a/src/mame/drivers/tmnt.cpp
+++ b/src/mame/drivers/tmnt.cpp
@@ -1889,7 +1889,7 @@ WRITE8_MEMBER(tmnt_state::volume_callback)
m_k007232->set_volume(1, 0, (data & 0x0f) * 0x11);
}
-void tmnt_state::machine_start_common()
+MACHINE_START_MEMBER(tmnt_state,common)
{
save_item(NAME(m_toggle));
save_item(NAME(m_last));
@@ -1901,7 +1901,7 @@ void tmnt_state::machine_start_common()
save_item(NAME(m_irq5_mask));
}
-void tmnt_state::machine_reset_common()
+MACHINE_RESET_MEMBER(tmnt_state,common)
{
m_toggle = 0;
m_last = 0;
@@ -1917,8 +1917,8 @@ MACHINE_CONFIG_START(tmnt_state::cuebrick)
MCFG_DEVICE_PROGRAM_MAP(cuebrick_main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", tmnt_state, tmnt_interrupt)
- 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(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
MCFG_WATCHDOG_ADD("watchdog")
@@ -1940,7 +1940,7 @@ MACHINE_CONFIG_START(tmnt_state::cuebrick)
MCFG_NVRAM_ADD_0FILL("nvram")
- set_video_start_cb(config, driver_callback_delegate(&video_start_cuebrick, this));
+ MCFG_VIDEO_START_OVERRIDE(tmnt_state,cuebrick)
MCFG_DEVICE_ADD("k052109", K052109, 0)
MCFG_GFX_PALETTE("palette")
@@ -1972,8 +1972,8 @@ MACHINE_CONFIG_START(tmnt_state::mia)
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(3'579'545))
MCFG_DEVICE_PROGRAM_MAP(mia_audio_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(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
MCFG_WATCHDOG_ADD("watchdog")
@@ -1992,7 +1992,7 @@ MACHINE_CONFIG_START(tmnt_state::mia)
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_ENABLE_HILIGHTS()
- set_video_start_cb(config, driver_callback_delegate(&video_start_mia, this));
+ MCFG_VIDEO_START_OVERRIDE(tmnt_state,mia)
MCFG_DEVICE_ADD("k052109", K052109, 0)
MCFG_GFX_PALETTE("palette")
@@ -2020,7 +2020,7 @@ MACHINE_CONFIG_START(tmnt_state::mia)
MACHINE_CONFIG_END
-void tmnt_state::machine_reset_tmnt()
+MACHINE_RESET_MEMBER(tmnt_state,tmnt)
{
/* the UPD7759 control flip-flops are cleared: /ST is 1, /RESET is 0 */
m_upd7759->start_w(0);
@@ -2037,8 +2037,8 @@ MACHINE_CONFIG_START(tmnt_state::tmnt)
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(3'579'545))
MCFG_DEVICE_PROGRAM_MAP(tmnt_audio_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_common, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_tmnt, this));
+ MCFG_MACHINE_START_OVERRIDE(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,tmnt)
MCFG_WATCHDOG_ADD("watchdog")
@@ -2058,7 +2058,7 @@ MACHINE_CONFIG_START(tmnt_state::tmnt)
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_ENABLE_HILIGHTS()
- set_video_start_cb(config, driver_callback_delegate(&video_start_tmnt, this));
+ MCFG_VIDEO_START_OVERRIDE(tmnt_state,tmnt)
MCFG_DEVICE_ADD("k052109", K052109, 0)
MCFG_GFX_PALETTE("palette")
@@ -2105,8 +2105,8 @@ MACHINE_CONFIG_START(tmnt_state::punkshot)
MCFG_DEVICE_PROGRAM_MAP(punkshot_audio_map)
/* NMIs are generated by the 053260 */
- 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(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
MCFG_WATCHDOG_ADD("watchdog")
@@ -2158,8 +2158,8 @@ MACHINE_CONFIG_START(tmnt_state::lgtnfght)
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(3'579'545))
MCFG_DEVICE_PROGRAM_MAP(lgtnfght_audio_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(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
MCFG_WATCHDOG_ADD("watchdog")
@@ -2178,7 +2178,7 @@ MACHINE_CONFIG_START(tmnt_state::lgtnfght)
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_ENABLE_HILIGHTS()
- set_video_start_cb(config, driver_callback_delegate(&video_start_lgtnfght, this));
+ MCFG_VIDEO_START_OVERRIDE(tmnt_state,lgtnfght)
MCFG_DEVICE_ADD("k052109", K052109, 0)
MCFG_GFX_PALETTE("palette")
@@ -2216,8 +2216,8 @@ MACHINE_CONFIG_START(tmnt_state::blswhstl)
MCFG_DEVICE_PROGRAM_MAP(ssriders_audio_map)
/* NMIs are generated by the 053260 */
- 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(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
MCFG_EEPROM_SERIAL_ER5911_8BIT_ADD("eeprom")
@@ -2239,7 +2239,7 @@ MACHINE_CONFIG_START(tmnt_state::blswhstl)
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_ENABLE_HILIGHTS()
- set_video_start_cb(config, driver_callback_delegate(&video_start_blswhstl, this));
+ MCFG_VIDEO_START_OVERRIDE(tmnt_state, blswhstl )
MCFG_DEVICE_ADD("k052109", K052109, 0)
MCFG_GFX_PALETTE("palette")
@@ -2295,8 +2295,8 @@ MACHINE_CONFIG_START(tmnt_state::glfgreat)
MCFG_DEVICE_PROGRAM_MAP(glfgreat_audio_map)
/* NMIs are generated by the 053260 */
- 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(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
MCFG_WATCHDOG_ADD("watchdog")
@@ -2317,7 +2317,7 @@ MACHINE_CONFIG_START(tmnt_state::glfgreat)
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_ENABLE_HILIGHTS()
- set_video_start_cb(config, driver_callback_delegate(&video_start_glfgreat, this));
+ MCFG_VIDEO_START_OVERRIDE(tmnt_state,glfgreat)
MCFG_DEVICE_ADD("k052109", K052109, 0)
MCFG_GFX_PALETTE("palette")
@@ -2344,9 +2344,9 @@ MACHINE_CONFIG_START(tmnt_state::glfgreat)
MACHINE_CONFIG_END
-void tmnt_state::machine_start_prmrsocr()
+MACHINE_START_MEMBER(tmnt_state,prmrsocr)
{
- machine_start_common();
+ MACHINE_START_CALL_MEMBER(common);
uint8_t *ROM = memregion("audiocpu")->base();
membank("bank1")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
}
@@ -2362,8 +2362,8 @@ MACHINE_CONFIG_START(tmnt_state::prmrsocr)
MCFG_DEVICE_PROGRAM_MAP(prmrsocr_audio_map)
/* NMIs are generated by the 054539 */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_prmrsocr, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_common, this));
+ MCFG_MACHINE_START_OVERRIDE(tmnt_state,prmrsocr)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
MCFG_EEPROM_SERIAL_ER5911_8BIT_ADD("eeprom")
@@ -2386,7 +2386,7 @@ MACHINE_CONFIG_START(tmnt_state::prmrsocr)
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_ENABLE_HILIGHTS()
- set_video_start_cb(config, driver_callback_delegate(&video_start_prmrsocr, this));
+ MCFG_VIDEO_START_OVERRIDE(tmnt_state,prmrsocr)
MCFG_DEVICE_ADD("k052109", K052109, 0)
MCFG_GFX_PALETTE("palette")
@@ -2432,8 +2432,8 @@ MACHINE_CONFIG_START(tmnt_state::tmnt2)
MCFG_DEVICE_PROGRAM_MAP(ssriders_audio_map)
/* NMIs are generated by the 053260 */
- 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(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
MCFG_EEPROM_SERIAL_ER5911_8BIT_ADD("eeprom")
@@ -2454,7 +2454,7 @@ MACHINE_CONFIG_START(tmnt_state::tmnt2)
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_ENABLE_HILIGHTS()
- set_video_start_cb(config, driver_callback_delegate(&video_start_lgtnfght, this));
+ MCFG_VIDEO_START_OVERRIDE(tmnt_state,lgtnfght)
MCFG_DEVICE_ADD("k052109", K052109, 0)
MCFG_GFX_PALETTE("palette")
@@ -2492,8 +2492,8 @@ MACHINE_CONFIG_START(tmnt_state::ssriders)
MCFG_DEVICE_PROGRAM_MAP(ssriders_audio_map)
/* NMIs are generated by the 053260 */
- 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(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
MCFG_EEPROM_SERIAL_ER5911_8BIT_ADD("eeprom")
@@ -2514,7 +2514,7 @@ MACHINE_CONFIG_START(tmnt_state::ssriders)
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_ENABLE_HILIGHTS()
- set_video_start_cb(config, driver_callback_delegate(&video_start_lgtnfght, this));
+ MCFG_VIDEO_START_OVERRIDE(tmnt_state,lgtnfght)
MCFG_DEVICE_ADD("k052109", K052109, 0)
MCFG_GFX_PALETTE("palette")
@@ -2548,8 +2548,8 @@ MACHINE_CONFIG_START(tmnt_state::sunsetbl)
MCFG_DEVICE_PROGRAM_MAP(sunsetbl_main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", tmnt_state, irq4_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(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
MCFG_EEPROM_SERIAL_ER5911_8BIT_ADD("eeprom")
@@ -2599,8 +2599,8 @@ MACHINE_CONFIG_START(tmnt_state::thndrx2)
MCFG_DEVICE_PROGRAM_MAP(thndrx2_audio_map)
/* NMIs are generated by the 053260 */
- 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(tmnt_state,common)
+ MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common)
MCFG_EEPROM_SERIAL_ER5911_8BIT_ADD("eeprom")
diff --git a/src/mame/drivers/toaplan1.cpp b/src/mame/drivers/toaplan1.cpp
index 278b7828088..6cde6c5486b 100644
--- a/src/mame/drivers/toaplan1.cpp
+++ b/src/mame/drivers/toaplan1.cpp
@@ -1927,7 +1927,7 @@ MACHINE_CONFIG_START(toaplan1_rallybik_state::rallybik)
MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(WRITELINE(*this, toaplan1_rallybik_state, coin_lockout_1_w))
MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(WRITELINE(*this, toaplan1_rallybik_state, coin_lockout_2_w))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_toaplan1, this));
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan1_state,toaplan1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1943,7 +1943,7 @@ MACHINE_CONFIG_START(toaplan1_rallybik_state::rallybik)
MCFG_PALETTE_ADD("palette", (64*16)+(64*16))
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_rallybik, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan1_rallybik_state,rallybik)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -1966,7 +1966,7 @@ MACHINE_CONFIG_START(toaplan1_state::truxton)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_toaplan1, this));
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan1_state,toaplan1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1980,7 +1980,7 @@ MACHINE_CONFIG_START(toaplan1_state::truxton)
MCFG_PALETTE_ADD("palette", (64*16)+(64*16))
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan1, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2003,7 +2003,7 @@ MACHINE_CONFIG_START(toaplan1_state::hellfire)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_toaplan1, this));
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan1_state,toaplan1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2017,7 +2017,7 @@ MACHINE_CONFIG_START(toaplan1_state::hellfire)
MCFG_PALETTE_ADD("palette", (64*16)+(64*16))
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan1, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2040,7 +2040,7 @@ MACHINE_CONFIG_START(toaplan1_state::zerowing)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_zerowing, this));
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan1_state,zerowing)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2054,7 +2054,7 @@ MACHINE_CONFIG_START(toaplan1_state::zerowing)
MCFG_PALETTE_ADD("palette", (64*16)+(64*16))
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan1, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2082,7 +2082,7 @@ MACHINE_CONFIG_START(toaplan1_state::demonwld)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_demonwld, this));
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan1_state,demonwld)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2096,7 +2096,7 @@ MACHINE_CONFIG_START(toaplan1_state::demonwld)
MCFG_PALETTE_ADD("palette", (64*16)+(64*16))
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan1, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2119,7 +2119,7 @@ MACHINE_CONFIG_START(toaplan1_state::samesame)
MCFG_QUANTUM_PERFECT_CPU("maincpu")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_zerowing, this));
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan1_state,zerowing)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2133,7 +2133,7 @@ MACHINE_CONFIG_START(toaplan1_state::samesame)
MCFG_PALETTE_ADD("palette", (64*16)+(64*16))
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan1, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2156,7 +2156,7 @@ MACHINE_CONFIG_START(toaplan1_state::outzone)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_zerowing, this));
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan1_state,zerowing)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2170,7 +2170,7 @@ MACHINE_CONFIG_START(toaplan1_state::outzone)
MCFG_PALETTE_ADD("palette", (64*16)+(64*16))
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan1, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2193,7 +2193,7 @@ MACHINE_CONFIG_START(toaplan1_state::outzonecv)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_zerowing, this));
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan1_state,zerowing)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2207,7 +2207,7 @@ MACHINE_CONFIG_START(toaplan1_state::outzonecv)
MCFG_PALETTE_ADD("palette", (64*16)+(64*16))
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan1, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2230,7 +2230,7 @@ MACHINE_CONFIG_START(toaplan1_state::vimana)
MCFG_QUANTUM_TIME(attotime::from_hz(600)) // GUESSED
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_vimana, this));
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan1_state,vimana)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2244,7 +2244,7 @@ MACHINE_CONFIG_START(toaplan1_state::vimana)
MCFG_PALETTE_ADD("palette", (64*16)+(64*16))
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan1, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan1_state,toaplan1)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/toaplan2.cpp b/src/mame/drivers/toaplan2.cpp
index a1c0a280b44..b099bad81bc 100644
--- a/src/mame/drivers/toaplan2.cpp
+++ b/src/mame/drivers/toaplan2.cpp
@@ -424,7 +424,7 @@ WRITE_LINE_MEMBER(toaplan2_state::toaplan2_reset)
}
-void toaplan2_state::machine_reset_toaplan2()
+MACHINE_RESET_MEMBER(toaplan2_state,toaplan2)
{
// All games execute a RESET instruction on init, presumably to reset the sound CPU.
// This is important for games with common RAM; the RAM test will fail
@@ -433,9 +433,9 @@ void toaplan2_state::machine_reset_toaplan2()
}
-void toaplan2_state::machine_reset_ghox()
+MACHINE_RESET_MEMBER(toaplan2_state,ghox)
{
- machine_reset_toaplan2();
+ MACHINE_RESET_CALL_MEMBER(toaplan2);
m_old_p1_paddle_h = 0;
m_old_p2_paddle_h = 0;
}
@@ -3249,7 +3249,7 @@ MACHINE_CONFIG_START(toaplan2_state::tekipaki)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_toaplan2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3269,7 +3269,7 @@ MACHINE_CONFIG_START(toaplan2_state::tekipaki)
MCFG_GFX_PALETTE("palette")
MCFG_GP9001_VINT_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_4))
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan2, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3292,7 +3292,7 @@ MACHINE_CONFIG_START(toaplan2_state::ghox)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ghox, this));
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,ghox)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3312,7 +3312,7 @@ MACHINE_CONFIG_START(toaplan2_state::ghox)
MCFG_GFX_PALETTE("palette")
MCFG_GP9001_VINT_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_4))
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan2, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3403,7 +3403,7 @@ MACHINE_CONFIG_START(toaplan2_state::dogyuun)
MCFG_DEVICE_ADD("gp9001_1", GP9001_VDP, XTAL(27'000'000))
MCFG_GFX_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan2, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3449,7 +3449,7 @@ MACHINE_CONFIG_START(toaplan2_state::kbash)
MCFG_GFX_PALETTE("palette")
MCFG_GP9001_VINT_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_4))
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan2, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3486,7 +3486,7 @@ MACHINE_CONFIG_START(toaplan2_state::kbash2)
MCFG_GFX_PALETTE("palette")
MCFG_GP9001_VINT_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_4))
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan2, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3521,7 +3521,7 @@ MACHINE_CONFIG_START(toaplan2_state::truxton2)
MCFG_GFX_PALETTE("palette")
MCFG_GP9001_VINT_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_2))
- set_video_start_cb(config, driver_callback_delegate(&video_start_truxton2, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,truxton2)
/* sound hardware */
#ifdef TRUXTON2_STEREO // music data is stereo...
@@ -3558,7 +3558,7 @@ MACHINE_CONFIG_START(toaplan2_state::pipibibs)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_toaplan2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3578,7 +3578,7 @@ MACHINE_CONFIG_START(toaplan2_state::pipibibs)
MCFG_GFX_PALETTE("palette")
MCFG_GP9001_VINT_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_4))
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan2, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3601,7 +3601,7 @@ MACHINE_CONFIG_START(toaplan2_state::pipibibsbl)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_toaplan2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -3621,7 +3621,7 @@ MACHINE_CONFIG_START(toaplan2_state::pipibibsbl)
MCFG_GFX_PALETTE("palette")
MCFG_GP9001_VINT_CALLBACK(ASSERTLINE("maincpu", M68K_IRQ_4))
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan2, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3700,7 +3700,7 @@ MACHINE_CONFIG_START(toaplan2_state::fixeight)
MCFG_GFX_PALETTE("palette")
MCFG_GP9001_VINT_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_4))
- set_video_start_cb(config, driver_callback_delegate(&video_start_truxton2, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,truxton2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3739,7 +3739,7 @@ MACHINE_CONFIG_START(toaplan2_state::fixeightbl)
MCFG_GFX_PALETTE("palette")
MCFG_GP9001_VINT_CALLBACK(ASSERTLINE("maincpu", M68K_IRQ_2))
- set_video_start_cb(config, driver_callback_delegate(&video_start_fixeightbl, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,fixeightbl)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3779,7 +3779,7 @@ MACHINE_CONFIG_START(toaplan2_state::vfive)
MCFG_GFX_PALETTE("palette")
MCFG_GP9001_VINT_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_4))
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan2, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3823,7 +3823,7 @@ MACHINE_CONFIG_START(toaplan2_state::batsugun)
MCFG_DEVICE_ADD("gp9001_1", GP9001_VDP, XTAL(27'000'000))
MCFG_GFX_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan2, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3862,7 +3862,7 @@ MACHINE_CONFIG_START(toaplan2_state::pwrkick)
MCFG_GFX_PALETTE("palette")
MCFG_GP9001_VINT_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_4))
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan2, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3895,7 +3895,7 @@ MACHINE_CONFIG_START(toaplan2_state::othldrby)
MCFG_GFX_PALETTE("palette")
MCFG_GP9001_VINT_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_4))
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan2, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3925,7 +3925,7 @@ MACHINE_CONFIG_START(toaplan2_state::enmadaio)
MCFG_GFX_PALETTE("palette")
MCFG_GP9001_VINT_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_4))
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan2, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3962,7 +3962,7 @@ MACHINE_CONFIG_START(toaplan2_state::snowbro2)
MCFG_GFX_PALETTE("palette")
MCFG_GP9001_VINT_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_4))
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan2, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,toaplan2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -3986,7 +3986,7 @@ MACHINE_CONFIG_START(toaplan2_state::mahoudai)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_toaplan2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -4007,7 +4007,7 @@ MACHINE_CONFIG_START(toaplan2_state::mahoudai)
MCFG_GFX_PALETTE("palette")
MCFG_GP9001_VINT_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_4))
- set_video_start_cb(config, driver_callback_delegate(&video_start_bgaregga, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,bgaregga)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4031,7 +4031,7 @@ MACHINE_CONFIG_START(toaplan2_state::shippumd)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_toaplan2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -4052,7 +4052,7 @@ MACHINE_CONFIG_START(toaplan2_state::shippumd)
MCFG_GFX_PALETTE("palette")
MCFG_GP9001_VINT_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_4))
- set_video_start_cb(config, driver_callback_delegate(&video_start_bgaregga, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,bgaregga)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4075,7 +4075,7 @@ MACHINE_CONFIG_START(toaplan2_state::bgaregga)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_toaplan2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -4096,7 +4096,7 @@ MACHINE_CONFIG_START(toaplan2_state::bgaregga)
MCFG_GFX_PALETTE("palette")
MCFG_GP9001_VINT_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_4))
- set_video_start_cb(config, driver_callback_delegate(&video_start_bgaregga, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,bgaregga)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4118,7 +4118,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(toaplan2_state::bgareggabl)
bgaregga(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_bgareggabl, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,bgareggabl)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(toaplan2_state, screen_update_bootleg)
@@ -4136,7 +4136,7 @@ MACHINE_CONFIG_START(toaplan2_state::batrider)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_toaplan2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -4157,7 +4157,7 @@ MACHINE_CONFIG_START(toaplan2_state::batrider)
MCFG_GFX_PALETTE("palette")
MCFG_GP9001_VINT_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_2))
- set_video_start_cb(config, driver_callback_delegate(&video_start_batrider, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,batrider)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -4195,7 +4195,7 @@ MACHINE_CONFIG_START(toaplan2_state::bbakraid)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_toaplan2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(toaplan2_state,toaplan2)
MCFG_EEPROM_SERIAL_93C66_8BIT_ADD("eeprom")
@@ -4218,7 +4218,7 @@ MACHINE_CONFIG_START(toaplan2_state::bbakraid)
MCFG_GFX_PALETTE("palette")
MCFG_GP9001_VINT_CALLBACK(INPUTLINE("maincpu", M68K_IRQ_1))
- set_video_start_cb(config, driver_callback_delegate(&video_start_batrider, this));
+ MCFG_VIDEO_START_OVERRIDE(toaplan2_state,batrider)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/tosh1000.cpp b/src/mame/drivers/tosh1000.cpp
index b42e90a80e2..c7412e6c947 100644
--- a/src/mame/drivers/tosh1000.cpp
+++ b/src/mame/drivers/tosh1000.cpp
@@ -72,7 +72,7 @@ public:
, m_bram(*this, "bram")
{ }
- void machine_reset_tosh1000();
+ DECLARE_MACHINE_RESET(tosh1000);
void init_tosh1000();
DECLARE_WRITE8_MEMBER(romdos_bank_w);
@@ -106,7 +106,7 @@ void tosh1000_state::init_tosh1000()
{
}
-void tosh1000_state::machine_reset_tosh1000()
+MACHINE_RESET_MEMBER(tosh1000_state, tosh1000)
{
m_bram_latch = false;
m_bram_offset = 0;
@@ -265,7 +265,7 @@ MACHINE_CONFIG_START(tosh1000_state::tosh1000)
MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8)
MCFG_ADDRESS_MAP_BANK_STRIDE(0x10000)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_tosh1000, this));
+ MCFG_MACHINE_RESET_OVERRIDE(tosh1000_state, tosh1000)
MCFG_IBM5160_MOTHERBOARD_ADD("mb", "maincpu")
diff --git a/src/mame/drivers/trackfld.cpp b/src/mame/drivers/trackfld.cpp
index 97d950c4c25..a4d10a3ebbc 100644
--- a/src/mame/drivers/trackfld.cpp
+++ b/src/mame/drivers/trackfld.cpp
@@ -869,7 +869,7 @@ GFXDECODE_END
-void trackfld_state::machine_start_trackfld()
+MACHINE_START_MEMBER(trackfld_state,trackfld)
{
save_item(NAME(m_irq_mask));
save_item(NAME(m_nmi_mask));
@@ -881,7 +881,7 @@ void trackfld_state::machine_start_trackfld()
save_item(NAME(m_old_gfx_bank));
}
-void trackfld_state::machine_reset_trackfld()
+MACHINE_RESET_MEMBER(trackfld_state,trackfld)
{
m_bg_bank = 0;
m_sprite_bank1 = 0;
@@ -910,8 +910,8 @@ MACHINE_CONFIG_START(trackfld_state::trackfld)
MCFG_DEVICE_ADD("audiocpu", Z80, SOUND_CLOCK/4)
MCFG_DEVICE_PROGRAM_MAP(sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_trackfld, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_trackfld, this));
+ MCFG_MACHINE_START_OVERRIDE(trackfld_state,trackfld)
+ MCFG_MACHINE_RESET_OVERRIDE(trackfld_state,trackfld)
MCFG_DEVICE_ADD("mainlatch", LS259, 0) // 1D
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, trackfld_state, flipscreen_w)) // FLIP
@@ -941,7 +941,7 @@ MACHINE_CONFIG_START(trackfld_state::trackfld)
MCFG_PALETTE_ADD("palette", 16*16+16*16)
MCFG_PALETTE_INDIRECT_ENTRIES(32)
MCFG_PALETTE_INIT_OWNER(trackfld_state,trackfld)
- set_video_start_cb(config, driver_callback_delegate(&video_start_trackfld, this));
+ MCFG_VIDEO_START_OVERRIDE(trackfld_state,trackfld)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -986,8 +986,8 @@ MACHINE_CONFIG_START(trackfld_state::yieartf)
// MCFG_DEVICE_ADD("audiocpu", Z80, SOUND_CLOCK/4)
// MCFG_DEVICE_PROGRAM_MAP(sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_trackfld, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_trackfld, this));
+ MCFG_MACHINE_START_OVERRIDE(trackfld_state,trackfld)
+ MCFG_MACHINE_RESET_OVERRIDE(trackfld_state,trackfld)
MCFG_DEVICE_ADD("mainlatch", LS259, 0)
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, trackfld_state, flipscreen_w))
@@ -1017,7 +1017,7 @@ MACHINE_CONFIG_START(trackfld_state::yieartf)
MCFG_PALETTE_ADD("palette", 16*16+16*16)
MCFG_PALETTE_INDIRECT_ENTRIES(32)
MCFG_PALETTE_INIT_OWNER(trackfld_state,trackfld)
- set_video_start_cb(config, driver_callback_delegate(&video_start_trackfld, this));
+ MCFG_VIDEO_START_OVERRIDE(trackfld_state,trackfld)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -1069,8 +1069,8 @@ MACHINE_CONFIG_START(trackfld_state::hyprolyb)
MCFG_DEVICE_MODIFY("audiocpu")
MCFG_DEVICE_PROGRAM_MAP(hyprolyb_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_trackfld, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_trackfld, this));
+ MCFG_MACHINE_START_OVERRIDE(trackfld_state,trackfld)
+ MCFG_MACHINE_RESET_OVERRIDE(trackfld_state,trackfld)
/* sound hardware */
MCFG_DEVICE_REMOVE("vlm")
@@ -1090,7 +1090,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(trackfld_state::atlantol)
hyprolyb(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_atlantol, this));
+ MCFG_VIDEO_START_OVERRIDE(trackfld_state,atlantol)
MACHINE_CONFIG_END
diff --git a/src/mame/drivers/trs80.cpp b/src/mame/drivers/trs80.cpp
index 96259b6be36..b9e3d5c7c06 100644
--- a/src/mame/drivers/trs80.cpp
+++ b/src/mame/drivers/trs80.cpp
@@ -679,7 +679,7 @@ MACHINE_CONFIG_START(trs80_state::model3)
MCFG_DEVICE_IO_MAP(model3_io)
MCFG_DEVICE_PERIODIC_INT_DRIVER(trs80_state, trs80_rtc_interrupt, 20.2752_MHz_XTAL / 10 / 67584)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_trs80m4, this));
+ MCFG_MACHINE_RESET_OVERRIDE(trs80_state, trs80m4)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_trs80m4)
@@ -719,7 +719,7 @@ MACHINE_CONFIG_START(trs80_state::lnw80)
MCFG_DEVICE_CLOCK(16_MHz_XTAL / 4) // or 16MHz / 9; 4MHz or 1.77MHz operation selected by HI/LO switch
MCFG_DEVICE_PROGRAM_MAP(lnw80_map)
MCFG_DEVICE_IO_MAP(lnw80_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_lnw80, this));
+ MCFG_MACHINE_RESET_OVERRIDE(trs80_state, lnw80)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_lnw80)
@@ -762,7 +762,7 @@ MACHINE_CONFIG_START(trs80_state::cp500)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(cp500_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_cp500, this));
+ MCFG_MACHINE_RESET_OVERRIDE(trs80_state, cp500)
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mame/drivers/trvquest.cpp b/src/mame/drivers/trvquest.cpp
index d7a695f2774..97c221dd06d 100644
--- a/src/mame/drivers/trvquest.cpp
+++ b/src/mame/drivers/trvquest.cpp
@@ -152,7 +152,7 @@ static INPUT_PORTS_START( trvquest )
INPUT_PORTS_END
-void gameplan_state::machine_start_trvquest()
+MACHINE_START_MEMBER(gameplan_state,trvquest)
{
/* register for save states */
save_item(NAME(m_video_x));
@@ -164,7 +164,7 @@ void gameplan_state::machine_start_trvquest()
m_via_0->write_pb5(1);
}
-void gameplan_state::machine_reset_trvquest()
+MACHINE_RESET_MEMBER(gameplan_state,trvquest)
{
m_video_x = 0;
m_video_y = 0;
@@ -185,8 +185,8 @@ MACHINE_CONFIG_START(gameplan_state::trvquest)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gameplan_state, trvquest_interrupt)
MCFG_NVRAM_ADD_1FILL("nvram")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_trvquest, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_trvquest, this));
+ MCFG_MACHINE_START_OVERRIDE(gameplan_state,trvquest)
+ MCFG_MACHINE_RESET_OVERRIDE(gameplan_state,trvquest)
/* video hardware */
trvquest_video(config);
diff --git a/src/mame/drivers/ts802.cpp b/src/mame/drivers/ts802.cpp
index 0c8acc48c03..eab513a9b10 100644
--- a/src/mame/drivers/ts802.cpp
+++ b/src/mame/drivers/ts802.cpp
@@ -40,7 +40,7 @@ public:
{ }
void init_ts802();
- void machine_reset_ts802();
+ DECLARE_MACHINE_RESET(ts802);
DECLARE_READ8_MEMBER(port00_r) { return 0x80; };
DECLARE_READ8_MEMBER(port0c_r) { return 1; };
DECLARE_READ8_MEMBER(port0e_r) { return 0; };
@@ -143,7 +143,7 @@ static void ts802_floppies(device_slot_interface &device)
device.option_add("525dd", FLOPPY_525_DD);
}
-void ts802_state::machine_reset_ts802()
+MACHINE_RESET_MEMBER( ts802_state, ts802 )
{
membank("bankr0")->set_entry(0); // point at rom
membank("bankw0")->set_entry(0); // always write to ram
@@ -191,7 +191,7 @@ MACHINE_CONFIG_START(ts802_state::ts802)
MCFG_DEVICE_PROGRAM_MAP(ts802_mem)
MCFG_DEVICE_IO_MAP(ts802_io)
//MCFG_Z80_DAISY_CHAIN(daisy_chain_intf) // causes problems
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ts802, this));
+ MCFG_MACHINE_RESET_OVERRIDE(ts802_state, ts802)
/* Devices */
MCFG_DEVICE_ADD("terminal", GENERIC_TERMINAL, 0)
diff --git a/src/mame/drivers/tsamurai.cpp b/src/mame/drivers/tsamurai.cpp
index bc16b887838..b7181baf540 100644
--- a/src/mame/drivers/tsamurai.cpp
+++ b/src/mame/drivers/tsamurai.cpp
@@ -55,20 +55,20 @@ void tsamurai_state::machine_start()
save_item(NAME(m_nmi_enabled));
}
-void tsamurai_state::machine_start_tsamurai()
+MACHINE_START_MEMBER(tsamurai_state, tsamurai)
{
save_item(NAME(m_sound_command1));
save_item(NAME(m_sound_command2));
machine_start();
}
-void tsamurai_state::machine_start_m660()
+MACHINE_START_MEMBER(tsamurai_state, m660)
{
- machine_start_tsamurai();
+ MACHINE_START_CALL_MEMBER(tsamurai);
save_item(NAME(m_sound_command3));
}
-void tsamurai_state::machine_start_vsgongf()
+MACHINE_START_MEMBER(tsamurai_state, vsgongf)
{
save_item(NAME(m_vsgongf_sound_nmi_enabled));
machine_start();
@@ -729,7 +729,7 @@ MACHINE_CONFIG_START(tsamurai_state::tsamurai)
MCFG_DEVICE_ADD("audio2", Z80, XTAL(24'000'000)/8)
MCFG_DEVICE_PROGRAM_MAP(sound2_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_tsamurai, this));
+ MCFG_MACHINE_START_OVERRIDE(tsamurai_state,tsamurai)
MCFG_DEVICE_ADD("mainlatch", LS259, 0)
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, tsamurai_state, flip_screen_w))
@@ -750,7 +750,7 @@ MACHINE_CONFIG_START(tsamurai_state::tsamurai)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_tsamurai)
MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", "proms", 256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_tsamurai, this));
+ MCFG_VIDEO_START_OVERRIDE(tsamurai_state,tsamurai)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -777,7 +777,7 @@ MACHINE_CONFIG_START(tsamurai_state::vsgongf)
MCFG_DEVICE_IO_MAP(vsgongf_audio_io_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(tsamurai_state, vsgongf_sound_interrupt, 3*60)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_vsgongf, this));
+ MCFG_MACHINE_START_OVERRIDE(tsamurai_state,vsgongf)
MCFG_DEVICE_ADD("mainlatch", LS259, 0) // 4L
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(NOOP) // vreg? always 0
@@ -798,7 +798,7 @@ MACHINE_CONFIG_START(tsamurai_state::vsgongf)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_tsamurai)
MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", "proms", 256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_vsgongf, this));
+ MCFG_VIDEO_START_OVERRIDE(tsamurai_state,vsgongf)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -831,7 +831,7 @@ MACHINE_CONFIG_START(tsamurai_state::m660)
MCFG_DEVICE_PROGRAM_MAP(sound3_m660_map)
MCFG_DEVICE_IO_MAP(sound3_m660_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_m660, this));
+ MCFG_MACHINE_START_OVERRIDE(tsamurai_state,m660)
MCFG_DEVICE_ADD("mainlatch", LS259, 0)
MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, tsamurai_state, flip_screen_w))
@@ -854,7 +854,7 @@ MACHINE_CONFIG_START(tsamurai_state::m660)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_tsamurai)
MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", "proms", 256)
- set_video_start_cb(config, driver_callback_delegate(&video_start_m660, this));
+ MCFG_VIDEO_START_OVERRIDE(tsamurai_state,m660)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
diff --git a/src/mame/drivers/tubep.cpp b/src/mame/drivers/tubep.cpp
index aa897ce93b3..e79836157d7 100644
--- a/src/mame/drivers/tubep.cpp
+++ b/src/mame/drivers/tubep.cpp
@@ -345,7 +345,7 @@ void tubep_state::tubep_setup_save_state()
-void tubep_state::machine_start_tubep()
+MACHINE_START_MEMBER(tubep_state,tubep)
{
/* Create interrupt timer */
m_interrupt_timer = timer_alloc(TIMER_TUBEP_SCANLINE);
@@ -354,7 +354,7 @@ void tubep_state::machine_start_tubep()
}
-void tubep_state::machine_reset_tubep()
+MACHINE_RESET_MEMBER(tubep_state,tubep)
{
m_interrupt_timer->adjust(m_screen->time_until_pos(0));
}
@@ -489,7 +489,7 @@ TIMER_CALLBACK_MEMBER(tubep_state::rjammer_scanline_callback)
}
-void tubep_state::machine_start_rjammer()
+MACHINE_START_MEMBER(tubep_state,rjammer)
{
/* Create interrupt timer */
m_interrupt_timer = timer_alloc(TIMER_RJAMMER_SCANLINE);
@@ -497,7 +497,7 @@ void tubep_state::machine_start_rjammer()
tubep_setup_save_state();
}
-void tubep_state::machine_reset_rjammer()
+MACHINE_RESET_MEMBER(tubep_state,rjammer)
{
m_interrupt_timer->adjust(m_screen->time_until_pos(0));
}
@@ -848,8 +848,8 @@ MACHINE_CONFIG_START(tubep_state::tubep)
MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(WRITELINE(*this, tubep_state, background_romselect_w))
MCFG_ADDRESSABLE_LATCH_Q7_OUT_CB(WRITELINE(*this, tubep_state, colorproms_A4_line_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_tubep, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_tubep, this));
+ MCFG_MACHINE_START_OVERRIDE(tubep_state,tubep)
+ MCFG_MACHINE_RESET_OVERRIDE(tubep_state,tubep)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -920,8 +920,8 @@ MACHINE_CONFIG_START(tubep_state::rjammer)
MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE(*this, tubep_state, coin2_counter_w))
MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(WRITELINE(*this, tubep_state, screen_flip_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_rjammer, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_rjammer, this));
+ MCFG_MACHINE_START_OVERRIDE(tubep_state,rjammer)
+ MCFG_MACHINE_RESET_OVERRIDE(tubep_state,rjammer)
/* video hardware */
diff --git a/src/mame/drivers/tumbleb.cpp b/src/mame/drivers/tumbleb.cpp
index 84c7eca4ded..48c79922795 100644
--- a/src/mame/drivers/tumbleb.cpp
+++ b/src/mame/drivers/tumbleb.cpp
@@ -2000,7 +2000,7 @@ GFXDECODE_END
/******************************************************************************/
-void tumbleb_state::machine_start_tumbleb()
+MACHINE_START_MEMBER(tumbleb_state,tumbleb)
{
save_item(NAME(m_music_command));
save_item(NAME(m_music_bank));
@@ -2010,7 +2010,7 @@ void tumbleb_state::machine_start_tumbleb()
save_item(NAME(m_tilebank));
}
-void tumbleb_state::machine_reset_tumbleb()
+MACHINE_RESET_MEMBER(tumbleb_state,tumbleb)
{
m_music_command = 0;
m_music_bank = 0;
@@ -2026,8 +2026,8 @@ MACHINE_CONFIG_START(tumbleb_state::tumblepb)
MCFG_DEVICE_PROGRAM_MAP(tumblepopb_main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", tumbleb_state, irq6_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_tumbleb, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_tumbleb, this));
+ MCFG_MACHINE_START_OVERRIDE(tumbleb_state,tumbleb)
+ MCFG_MACHINE_RESET_OVERRIDE(tumbleb_state,tumbleb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2047,7 +2047,7 @@ MACHINE_CONFIG_START(tumbleb_state::tumblepb)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_tumblepb, this));
+ MCFG_VIDEO_START_OVERRIDE(tumbleb_state,tumblepb)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2064,8 +2064,8 @@ MACHINE_CONFIG_START(tumbleb_state::tumbleb2)
MCFG_DEVICE_PROGRAM_MAP(tumblepopb_main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", tumbleb_state, tumbleb2_interrupt)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_tumbleb, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_tumbleb, this));
+ MCFG_MACHINE_START_OVERRIDE(tumbleb_state,tumbleb)
+ MCFG_MACHINE_RESET_OVERRIDE(tumbleb_state,tumbleb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2085,7 +2085,7 @@ MACHINE_CONFIG_START(tumbleb_state::tumbleb2)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_tumblepb, this));
+ MCFG_VIDEO_START_OVERRIDE(tumbleb_state,tumblepb)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2105,8 +2105,8 @@ MACHINE_CONFIG_START(tumbleb_state::jumpkids)
MCFG_DEVICE_ADD("audiocpu", Z80, 8000000/2)
MCFG_DEVICE_PROGRAM_MAP(jumpkids_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_tumbleb, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_tumbleb, this));
+ MCFG_MACHINE_START_OVERRIDE(tumbleb_state,tumbleb)
+ MCFG_MACHINE_RESET_OVERRIDE(tumbleb_state,tumbleb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2126,7 +2126,7 @@ MACHINE_CONFIG_START(tumbleb_state::jumpkids)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_tumblepb, this));
+ MCFG_VIDEO_START_OVERRIDE(tumbleb_state,tumblepb)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2144,8 +2144,8 @@ MACHINE_CONFIG_START(tumbleb_state::fncywld)
MCFG_DEVICE_PROGRAM_MAP(fncywld_main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", tumbleb_state, irq6_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_tumbleb, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_tumbleb, this));
+ MCFG_MACHINE_START_OVERRIDE(tumbleb_state,tumbleb)
+ MCFG_MACHINE_RESET_OVERRIDE(tumbleb_state,tumbleb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2166,7 +2166,7 @@ MACHINE_CONFIG_START(tumbleb_state::fncywld)
MCFG_PALETTE_ADD("palette", 0x800)
MCFG_PALETTE_FORMAT(xxxxRRRRGGGGBBBB)
- set_video_start_cb(config, driver_callback_delegate(&video_start_fncywld, this));
+ MCFG_VIDEO_START_OVERRIDE(tumbleb_state,fncywld)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2180,7 +2180,7 @@ MACHINE_CONFIG_END
-void tumbleb_state::machine_reset_htchctch()
+MACHINE_RESET_MEMBER(tumbleb_state,htchctch)
{
if (memregion("user1") != nullptr)
{
@@ -2192,7 +2192,7 @@ void tumbleb_state::machine_reset_htchctch()
m_mainram[0x000 / 2 + i] = PROTDATA[i];
}
- machine_reset_tumbleb();
+ MACHINE_RESET_CALL_MEMBER(tumbleb);
}
MACHINE_CONFIG_START(tumbleb_state::htchctch)
@@ -2205,8 +2205,8 @@ MACHINE_CONFIG_START(tumbleb_state::htchctch)
MCFG_DEVICE_ADD("audiocpu", Z80, 15000000/4) /* verified on dquizgo */
MCFG_DEVICE_PROGRAM_MAP(semicom_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_tumbleb, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_htchctch, this));
+ MCFG_MACHINE_START_OVERRIDE(tumbleb_state,tumbleb)
+ MCFG_MACHINE_RESET_OVERRIDE(tumbleb_state,htchctch)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2226,7 +2226,7 @@ MACHINE_CONFIG_START(tumbleb_state::htchctch)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_tumblepb, this));
+ MCFG_VIDEO_START_OVERRIDE(tumbleb_state,tumblepb)
/* sound hardware - same as hyperpac */
SPEAKER(config, "mono").front_center();
@@ -2290,7 +2290,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(tumbleb_state::sdfight)
bcstory(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_sdfight, this));
+ MCFG_VIDEO_START_OVERRIDE(tumbleb_state,sdfight)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(tumbleb_state, screen_update_sdfight)
MACHINE_CONFIG_END
@@ -2319,8 +2319,8 @@ MACHINE_CONFIG_START(tumbleb_state::suprtrio)
MCFG_DEVICE_ADD("audiocpu", Z80, 8000000)
MCFG_DEVICE_PROGRAM_MAP(suprtrio_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_tumbleb, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_tumbleb, this));
+ MCFG_MACHINE_START_OVERRIDE(tumbleb_state,tumbleb)
+ MCFG_MACHINE_RESET_OVERRIDE(tumbleb_state,tumbleb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2340,7 +2340,7 @@ MACHINE_CONFIG_START(tumbleb_state::suprtrio)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_suprtrio, this));
+ MCFG_VIDEO_START_OVERRIDE(tumbleb_state,suprtrio)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -2358,8 +2358,8 @@ MACHINE_CONFIG_START(tumbleb_state::pangpang)
MCFG_DEVICE_PROGRAM_MAP(pangpang_main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", tumbleb_state, tumbleb2_interrupt)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_tumbleb, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_tumbleb, this));
+ MCFG_MACHINE_START_OVERRIDE(tumbleb_state,tumbleb)
+ MCFG_MACHINE_RESET_OVERRIDE(tumbleb_state,tumbleb)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2379,7 +2379,7 @@ MACHINE_CONFIG_START(tumbleb_state::pangpang)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_pangpang, this));
+ MCFG_VIDEO_START_OVERRIDE(tumbleb_state,pangpang)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/turbo.cpp b/src/mame/drivers/turbo.cpp
index f69d9928582..ef175948410 100644
--- a/src/mame/drivers/turbo.cpp
+++ b/src/mame/drivers/turbo.cpp
@@ -189,7 +189,7 @@
*
*************************************/
-void turbo_state::machine_reset_buckrog()
+MACHINE_RESET_MEMBER(turbo_state,buckrog)
{
m_buckrog_command = 0x00;
memset(m_alt_spriteram, 0x00, sizeof(m_alt_spriteram));
@@ -891,7 +891,7 @@ MACHINE_CONFIG_START(turbo_state::turbo)
MCFG_SCREEN_UPDATE_DRIVER(turbo_state, screen_update_turbo)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_turbo, this));
+ MCFG_VIDEO_START_OVERRIDE(turbo_state,turbo)
/* sound hardware */
turbo_samples(config);
@@ -931,7 +931,7 @@ MACHINE_CONFIG_START(turbo_state::subroc3d)
MCFG_SCREEN_UPDATE_DRIVER(turbo_state, screen_update_subroc3d)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_turbo, this));
+ MCFG_VIDEO_START_OVERRIDE(turbo_state,turbo)
/* sound hardware */
subroc3d_samples(config);
@@ -951,7 +951,7 @@ MACHINE_CONFIG_START(turbo_state::buckrog)
MCFG_DEVICE_IO_MAP(buckrog_cpu2_portmap)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_buckrog, this));
+ MCFG_MACHINE_RESET_OVERRIDE(turbo_state,buckrog)
MCFG_DEVICE_ADD("i8255_0", I8255, 0)
MCFG_I8255_OUT_PORTA_CB(WRITE8(*this, turbo_state, buckrog_ppi0a_w))
@@ -979,7 +979,7 @@ MACHINE_CONFIG_START(turbo_state::buckrog)
MCFG_SCREEN_UPDATE_DRIVER(turbo_state, screen_update_buckrog)
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_buckrog, this));
+ MCFG_VIDEO_START_OVERRIDE(turbo_state,buckrog)
/* sound hardware */
buckrog_samples(config);
diff --git a/src/mame/drivers/twincobr.cpp b/src/mame/drivers/twincobr.cpp
index 057bbd1acc9..97679afc645 100644
--- a/src/mame/drivers/twincobr.cpp
+++ b/src/mame/drivers/twincobr.cpp
@@ -669,7 +669,7 @@ MACHINE_CONFIG_START(twincobr_state::twincobr)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_twincobr, this));
+ MCFG_MACHINE_RESET_OVERRIDE(twincobr_state,twincobr)
MCFG_DEVICE_ADD("mainlatch", LS259, 0)
MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(WRITELINE(*this, twincobr_state, int_enable_w))
@@ -706,7 +706,7 @@ MACHINE_CONFIG_START(twincobr_state::twincobr)
MCFG_PALETTE_ADD("palette", 1792)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan0, this));
+ MCFG_VIDEO_START_OVERRIDE(twincobr_state,toaplan0)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/tx1.cpp b/src/mame/drivers/tx1.cpp
index 34f4f9cb97a..e535c37c073 100644
--- a/src/mame/drivers/tx1.cpp
+++ b/src/mame/drivers/tx1.cpp
@@ -632,7 +632,7 @@ MACHINE_CONFIG_START(tx1_state::tx1)
MCFG_DEVICE_IO_MAP(tx1_sound_io)
MCFG_DEVICE_PERIODIC_INT_DRIVER(tx1_state, irq0_line_hold, TX1_PIXEL_CLOCK / 4 / 2048 / 2)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_tx1, this));
+ MCFG_MACHINE_RESET_OVERRIDE(tx1_state,tx1)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_DEVICE_ADD("ppi8255", I8255A, 0)
@@ -662,7 +662,7 @@ MACHINE_CONFIG_START(tx1_state::tx1)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, tx1_state, screen_vblank_tx1))
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_tx1, this));
+ MCFG_VIDEO_START_OVERRIDE(tx1_state,tx1)
SPEAKER(config, "frontleft", -0.2, 0.0, 1.0);
SPEAKER(config, "frontright", 0.2, 0.0, 1.0);
@@ -696,7 +696,7 @@ MACHINE_CONFIG_START(tx1_state::buggyboy)
MCFG_DEVICE_PERIODIC_INT_DRIVER(tx1_state, z80_irq, BUGGYBOY_ZCLK / 2 / 4 / 2048)
MCFG_DEVICE_IO_MAP(buggyboy_sound_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_buggyboy, this));
+ MCFG_MACHINE_RESET_OVERRIDE(tx1_state,buggyboy)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_DEVICE_ADD("ppi8255", I8255A, 0)
@@ -725,7 +725,7 @@ MACHINE_CONFIG_START(tx1_state::buggyboy)
MCFG_PALETTE_ADD("palette", 256)
MCFG_PALETTE_INIT_OWNER(tx1_state,buggyboy)
- set_video_start_cb(config, driver_callback_delegate(&video_start_buggyboy, this));
+ MCFG_VIDEO_START_OVERRIDE(tx1_state,buggyboy)
SPEAKER(config, "frontleft", -0.2, 0.0, 1.0);
SPEAKER(config, "frontright", 0.2, 0.0, 1.0);
@@ -762,7 +762,7 @@ MACHINE_CONFIG_START(tx1_state::buggybjr)
MCFG_DEVICE_IO_MAP(buggyboy_sound_io)
MCFG_DEVICE_PERIODIC_INT_DRIVER(tx1_state, z80_irq, BUGGYBOY_ZCLK / 2 / 4 / 2048)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_buggyboy, this));
+ MCFG_MACHINE_RESET_OVERRIDE(tx1_state,buggyboy)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_SCREEN_ADD("screen", RASTER)
@@ -773,7 +773,7 @@ MACHINE_CONFIG_START(tx1_state::buggybjr)
MCFG_PALETTE_ADD("palette", 256)
MCFG_PALETTE_INIT_OWNER(tx1_state,buggyboy)
- set_video_start_cb(config, driver_callback_delegate(&video_start_buggybjr, this));
+ MCFG_VIDEO_START_OVERRIDE(tx1_state,buggybjr)
SPEAKER(config, "frontleft", -0.2, 0.0, 1.0);
SPEAKER(config, "frontright", 0.2, 0.0, 1.0);
diff --git a/src/mame/drivers/upscope.cpp b/src/mame/drivers/upscope.cpp
index 4b306df5afb..a2a425c3857 100644
--- a/src/mame/drivers/upscope.cpp
+++ b/src/mame/drivers/upscope.cpp
@@ -284,7 +284,7 @@ MACHINE_CONFIG_START(upscope_state::upscope)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_INIT_OWNER(upscope_state,amiga)
- set_video_start_cb(config, driver_callback_delegate(&video_start_amiga, this));
+ MCFG_VIDEO_START_OVERRIDE(upscope_state,amiga)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
diff --git a/src/mame/drivers/ut88.cpp b/src/mame/drivers/ut88.cpp
index f7b57107512..ac1a43070f7 100644
--- a/src/mame/drivers/ut88.cpp
+++ b/src/mame/drivers/ut88.cpp
@@ -192,7 +192,7 @@ MACHINE_CONFIG_START(ut88_state::ut88)
MCFG_DEVICE_ADD("maincpu", I8080, 2000000)
MCFG_DEVICE_PROGRAM_MAP(ut88_mem)
MCFG_DEVICE_IO_MAP(ut88_io)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ut88, this));
+ MCFG_MACHINE_RESET_OVERRIDE(ut88_state, ut88 )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -200,7 +200,7 @@ MACHINE_CONFIG_START(ut88_state::ut88)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(64*8, 28*8)
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 28*8-1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ut88, this));
+ MCFG_VIDEO_START_OVERRIDE(ut88_state,ut88)
MCFG_SCREEN_UPDATE_DRIVER(ut88_state, screen_update_ut88)
MCFG_SCREEN_PALETTE("palette")
@@ -234,8 +234,8 @@ MACHINE_CONFIG_START(ut88_state::ut88mini)
MCFG_DEVICE_ADD("maincpu", I8080, 2000000)
MCFG_DEVICE_PROGRAM_MAP(ut88mini_mem)
MCFG_DEVICE_IO_MAP(ut88mini_io)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_ut88mini, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_ut88mini, this));
+ MCFG_MACHINE_START_OVERRIDE(ut88_state,ut88mini)
+ MCFG_MACHINE_RESET_OVERRIDE(ut88_state, ut88mini )
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_ut88mini)
diff --git a/src/mame/drivers/v6809.cpp b/src/mame/drivers/v6809.cpp
index 0b3b3ab22e3..adbb53f0897 100644
--- a/src/mame/drivers/v6809.cpp
+++ b/src/mame/drivers/v6809.cpp
@@ -89,7 +89,7 @@ public:
DECLARE_WRITE8_MEMBER(v6809_address_w);
DECLARE_WRITE8_MEMBER(v6809_register_w);
void kbd_put(u8 data);
- void machine_reset_v6809();
+ DECLARE_MACHINE_RESET(v6809);
MC6845_UPDATE_ROW(crtc_update_row);
MC6845_ON_UPDATE_ADDR_CHANGED(crtc_update_addr);
@@ -135,7 +135,7 @@ void v6809_state::v6809_mem(address_map &map)
static INPUT_PORTS_START( v6809 )
INPUT_PORTS_END
-void v6809_state::machine_reset_v6809()
+MACHINE_RESET_MEMBER( v6809_state, v6809)
{
m_term_data = 0;
m_pia0->cb1_w(1);
@@ -282,7 +282,7 @@ MACHINE_CONFIG_START(v6809_state::v6809)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", MC6809, XTAL(16'000'000) / 4) // divided by 4 again internally
MCFG_DEVICE_PROGRAM_MAP(v6809_mem)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_v6809, this));
+ MCFG_MACHINE_RESET_OVERRIDE(v6809_state, v6809)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/vcombat.cpp b/src/mame/drivers/vcombat.cpp
index 3134ac3afee..6f05b5dbb55 100644
--- a/src/mame/drivers/vcombat.cpp
+++ b/src/mame/drivers/vcombat.cpp
@@ -128,8 +128,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(sound_update);
void init_shadfgtr();
void init_vcombat();
- void machine_reset_vcombat();
- void machine_reset_shadfgtr();
+ DECLARE_MACHINE_RESET(vcombat);
+ DECLARE_MACHINE_RESET(shadfgtr);
uint32_t update_screen(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, int index);
uint32_t screen_update_vcombat_main(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_vcombat_aux(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
@@ -427,7 +427,7 @@ void vcombat_state::sound_map(address_map &map)
}
-void vcombat_state::machine_reset_vcombat()
+MACHINE_RESET_MEMBER(vcombat_state,vcombat)
{
m_vid_0->i860_set_pin(DEC_PIN_BUS_HOLD, 1);
m_vid_1->i860_set_pin(DEC_PIN_BUS_HOLD, 1);
@@ -435,7 +435,7 @@ void vcombat_state::machine_reset_vcombat()
m_crtc_select = 0;
}
-void vcombat_state::machine_reset_shadfgtr()
+MACHINE_RESET_MEMBER(vcombat_state,shadfgtr)
{
m_vid_0->i860_set_pin(DEC_PIN_BUS_HOLD, 1);
@@ -572,7 +572,7 @@ MACHINE_CONFIG_START(vcombat_state::vcombat)
MCFG_DEVICE_PERIODIC_INT_DRIVER(vcombat_state, irq1_line_hold, 15000) /* Remove this if MC6845 is enabled */
MCFG_NVRAM_ADD_0FILL("nvram")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_vcombat, this));
+ MCFG_MACHINE_RESET_OVERRIDE(vcombat_state,vcombat)
/* Temporary hack for experimenting with timing. */
#if 0
@@ -615,7 +615,7 @@ MACHINE_CONFIG_START(vcombat_state::shadfgtr)
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_NVRAM_ADD_0FILL("nvram")
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_shadfgtr, this));
+ MCFG_MACHINE_RESET_OVERRIDE(vcombat_state,shadfgtr)
MCFG_TLC34076_ADD("tlc34076", TLC34076_6_BIT)
diff --git a/src/mame/drivers/vegaeo.cpp b/src/mame/drivers/vegaeo.cpp
index 718b5ecd2d0..96b87af1ccd 100644
--- a/src/mame/drivers/vegaeo.cpp
+++ b/src/mame/drivers/vegaeo.cpp
@@ -48,7 +48,7 @@ public:
DECLARE_WRITE8_MEMBER(qs1000_p3_w);
void init_vegaeo();
- void video_start_vega() ATTR_COLD;
+ DECLARE_VIDEO_START(vega);
uint32_t screen_update_vega(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void vega(machine_config &config);
@@ -150,7 +150,7 @@ static INPUT_PORTS_START( crazywar )
INPUT_PORTS_END
-void vegaeo_state::video_start_vega()
+VIDEO_START_MEMBER(vegaeo_state,vega)
{
m_vram = std::make_unique<uint8_t[]>(0x14000*2);
save_pointer(NAME(m_vram.get()), 0x14000*2);
@@ -190,7 +190,7 @@ MACHINE_CONFIG_START(vegaeo_state::vega)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
MCFG_PALETTE_MEMBITS(16)
- set_video_start_cb(config, driver_callback_delegate(&video_start_vega, this));
+ MCFG_VIDEO_START_OVERRIDE(vegaeo_state,vega)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
diff --git a/src/mame/drivers/vicdual.cpp b/src/mame/drivers/vicdual.cpp
index e8974610482..d55b26b6c9d 100644
--- a/src/mame/drivers/vicdual.cpp
+++ b/src/mame/drivers/vicdual.cpp
@@ -534,7 +534,7 @@ MACHINE_CONFIG_START(vicdual_state::frogs)
MCFG_DEVICE_PROGRAM_MAP(frogs_map)
MCFG_DEVICE_IO_MAP(frogs_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_frogs_audio, this));
+ MCFG_MACHINE_START_OVERRIDE(vicdual_state,frogs_audio)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -991,7 +991,7 @@ static INPUT_PORTS_START( digger )
INPUT_PORTS_END
-void vicdual_state::machine_reset_headon2()
+MACHINE_RESET_MEMBER( vicdual_state, headon2 )
{
m_palette_bank = 3;
}
@@ -1005,7 +1005,7 @@ MACHINE_CONFIG_START(vicdual_state::headon2)
MCFG_DEVICE_PROGRAM_MAP(headon2_map)
MCFG_DEVICE_IO_MAP(headon2_io_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_headon2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(vicdual_state, headon2)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -2348,7 +2348,7 @@ static INPUT_PORTS_START( samurai )
INPUT_PORTS_END
-void vicdual_state::machine_start_samurai()
+MACHINE_START_MEMBER(vicdual_state,samurai)
{
m_samurai_protection_data = 0;
save_item(NAME(m_samurai_protection_data));
@@ -2364,7 +2364,7 @@ MACHINE_CONFIG_START(vicdual_state::samurai)
MCFG_DEVICE_PROGRAM_MAP(samurai_map)
MCFG_DEVICE_IO_MAP(samurai_io_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_samurai, this));
+ MCFG_MACHINE_START_OVERRIDE(vicdual_state,samurai)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
@@ -2524,7 +2524,7 @@ static INPUT_PORTS_START( nsub )
INPUT_PORTS_END
-void nsub_state::machine_start_nsub()
+MACHINE_START_MEMBER(nsub_state, nsub)
{
m_nsub_play_counter = 0;
save_item(NAME(m_nsub_coin_counter));
@@ -2537,7 +2537,7 @@ void nsub_state::machine_start_nsub()
m_nsub_coinage_timer->adjust(attotime::zero, 0, attotime::from_msec(150));
}
-void nsub_state::machine_reset_nsub()
+MACHINE_RESET_MEMBER(nsub_state, nsub)
{
m_nsub_coin_counter = m_coinage->read() & 7;
@@ -2559,8 +2559,8 @@ MACHINE_CONFIG_START(nsub_state::nsub)
MCFG_SCREEN_UPDATE_DRIVER(nsub_state, screen_update_color)
MCFG_S97269PB_ADD("s97269pb")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_nsub, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_nsub, this));
+ MCFG_MACHINE_START_OVERRIDE(nsub_state, nsub)
+ MCFG_MACHINE_RESET_OVERRIDE(nsub_state, nsub)
/* audio hardware */
MCFG_S97271P_ADD("s97271p")
diff --git a/src/mame/drivers/videopkr.cpp b/src/mame/drivers/videopkr.cpp
index 91d870f2e02..6d91c5ca464 100644
--- a/src/mame/drivers/videopkr.cpp
+++ b/src/mame/drivers/videopkr.cpp
@@ -371,7 +371,7 @@ public:
virtual void machine_start() override;
virtual void video_start() override;
DECLARE_PALETTE_INIT(videopkr);
- void video_start_vidadcba() ATTR_COLD;
+ DECLARE_VIDEO_START(vidadcba);
DECLARE_PALETTE_INIT(babypkr);
DECLARE_PALETTE_INIT(fortune1);
uint32_t screen_update_videopkr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -546,7 +546,7 @@ void videopkr_state::video_start()
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(videopkr_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
-void videopkr_state::video_start_vidadcba()
+VIDEO_START_MEMBER(videopkr_state,vidadcba)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(videopkr_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
}
@@ -1333,7 +1333,7 @@ MACHINE_CONFIG_START(videopkr_state::videodad)
MCFG_SCREEN_VISIBLE_AREA(4*16, 31*16-1, 2*8, 30*8-1)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_videodad)
- set_video_start_cb(config, driver_callback_delegate(&video_start_vidadcba, this));
+ MCFG_VIDEO_START_OVERRIDE(videopkr_state,vidadcba)
MACHINE_CONFIG_END
@@ -1364,7 +1364,7 @@ MACHINE_CONFIG_START(videopkr_state::babypkr)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_INIT_OWNER(videopkr_state,babypkr)
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_videodad)
- set_video_start_cb(config, driver_callback_delegate(&video_start_vidadcba, this));
+ MCFG_VIDEO_START_OVERRIDE(videopkr_state,vidadcba)
MCFG_DEVICE_ADD("aysnd", AY8910, CPU_CLOCK / 6) /* no ports used */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3)
diff --git a/src/mame/drivers/vlc.cpp b/src/mame/drivers/vlc.cpp
index 3912d77f06c..9b84ef57280 100644
--- a/src/mame/drivers/vlc.cpp
+++ b/src/mame/drivers/vlc.cpp
@@ -202,7 +202,7 @@ public:
DECLARE_WRITE16_MEMBER( nevada_sec_w );
DECLARE_WRITE16_MEMBER( vram_w );
- void machine_start_nevada() ATTR_COLD;
+ DECLARE_MACHINE_START(nevada);
void init_nevada();
TILE_GET_INFO_MEMBER(get_bg_tile_info);
@@ -570,7 +570,7 @@ INPUT_PORTS_END
* Machine start *
*************************/
-void nevada_state::machine_start_nevada()
+MACHINE_START_MEMBER(nevada_state, nevada)
{
m_nvram->set_base(m_ram62256, 0x1000);
}
@@ -589,7 +589,7 @@ MACHINE_CONFIG_START(nevada_state::nevada)
MCFG_WATCHDOG_ADD("watchdog")
MCFG_WATCHDOG_TIME_INIT(attotime::from_msec(150)) /* 150ms Ds1232 TD to Ground */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_nevada, this));
+ MCFG_MACHINE_START_OVERRIDE(nevada_state, nevada)
MCFG_NVRAM_ADD_CUSTOM_DRIVER("nvram", nevada_state, nvram_init)
diff --git a/src/mame/drivers/votrtnt.cpp b/src/mame/drivers/votrtnt.cpp
index 4e7ee3231e5..870860b1c8c 100644
--- a/src/mame/drivers/votrtnt.cpp
+++ b/src/mame/drivers/votrtnt.cpp
@@ -51,7 +51,7 @@ public:
, m_clock(*this, "acia_clock")
{ }
- void machine_reset_votrtnt();
+ DECLARE_MACHINE_RESET(votrtnt);
void votrtnt(machine_config &config);
void _6802_mem(address_map &map);
@@ -112,7 +112,7 @@ static INPUT_PORTS_START(votrtnt)
PORT_DIPSETTING( 0x80, "9600" )
INPUT_PORTS_END
-void votrtnt_state::machine_reset_votrtnt()
+MACHINE_RESET_MEMBER( votrtnt_state, votrtnt )
{
// Read the dips, whichever one is found to be on first is accepted
u8 dips = ioport("DSW1")->read();
@@ -140,7 +140,7 @@ MACHINE_CONFIG_START(votrtnt_state::votrtnt)
MCFG_DEVICE_ADD("maincpu", M6802, XTAL(2'457'600)) /* 2.4576MHz XTAL, verified; divided by 4 inside the m6802*/
MCFG_DEVICE_PROGRAM_MAP(_6802_mem)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_votrtnt, this));
+ MCFG_MACHINE_RESET_OVERRIDE(votrtnt_state, votrtnt)
/* video hardware */
//MCFG_DEFAULT_LAYOUT(layout_votrtnt)
diff --git a/src/mame/drivers/vsnes.cpp b/src/mame/drivers/vsnes.cpp
index 6f29f8d5ac6..03aa62e370d 100644
--- a/src/mame/drivers/vsnes.cpp
+++ b/src/mame/drivers/vsnes.cpp
@@ -1707,8 +1707,8 @@ MACHINE_CONFIG_START(vsnes_state::vsnes)
MCFG_DEVICE_ADD("maincpu", N2A03, NTSC_APU_CLOCK)
MCFG_DEVICE_PROGRAM_MAP(vsnes_cpu1_map)
/* some carts also trigger IRQs */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_vsnes, this));
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_vsnes, this));
+ MCFG_MACHINE_RESET_OVERRIDE(vsnes_state,vsnes)
+ MCFG_MACHINE_START_OVERRIDE(vsnes_state,vsnes)
/* video hardware */
MCFG_SCREEN_ADD("screen1", RASTER)
@@ -1775,8 +1775,8 @@ MACHINE_CONFIG_START(vsnes_state::vsdual)
MCFG_DEVICE_ADD("sub", N2A03, NTSC_APU_CLOCK)
MCFG_DEVICE_PROGRAM_MAP(vsnes_cpu2_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_vsdual, this));
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_vsdual, this));
+ MCFG_MACHINE_RESET_OVERRIDE(vsnes_state,vsdual)
+ MCFG_MACHINE_START_OVERRIDE(vsnes_state,vsdual)
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
@@ -1821,8 +1821,8 @@ MACHINE_CONFIG_START(vsnes_state::vsnes_bootleg)
MCFG_DEVICE_ADD("maincpu", M6502,XTAL(16'000'000)/4) // 4mhz? seems too high but flickers badly otherwise, issue elsewhere?
MCFG_DEVICE_PROGRAM_MAP(vsnes_cpu1_bootleg_map)
/* some carts also trigger IRQs */
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_vsnes, this));
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_vsnes, this));
+ MCFG_MACHINE_RESET_OVERRIDE(vsnes_state,vsnes)
+ MCFG_MACHINE_START_OVERRIDE(vsnes_state,vsnes)
MCFG_DEVICE_ADD("sub", Z80,XTAL(16'000'000)/4) /* ? MHz */ // Z8400APS-Z80CPU
MCFG_DEVICE_PROGRAM_MAP(vsnes_bootleg_z80_map)
diff --git a/src/mame/drivers/vtech2.cpp b/src/mame/drivers/vtech2.cpp
index 68f689f630f..a6e044ee83f 100644
--- a/src/mame/drivers/vtech2.cpp
+++ b/src/mame/drivers/vtech2.cpp
@@ -457,13 +457,13 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(vtech2_state::laser500)
laser350(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_laser500, this));
+ MCFG_MACHINE_RESET_OVERRIDE(vtech2_state, laser500 )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(vtech2_state::laser700)
laser350(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_laser700, this));
+ MCFG_MACHINE_RESET_OVERRIDE(vtech2_state, laser700 )
/* Second 5.25" floppy drive */
MCFG_LEGACY_FLOPPY_DRIVE_ADD( FLOPPY_1, vtech2_floppy_interface )
diff --git a/src/mame/drivers/wallc.cpp b/src/mame/drivers/wallc.cpp
index 6ed15ecbb5c..ce3780b746b 100644
--- a/src/mame/drivers/wallc.cpp
+++ b/src/mame/drivers/wallc.cpp
@@ -104,8 +104,8 @@ private:
DECLARE_PALETTE_INIT(wallc);
DECLARE_PALETTE_INIT(unkitpkr);
- void video_start_unkitpkr() ATTR_COLD;
- void video_start_sidampkr() ATTR_COLD;
+ DECLARE_VIDEO_START(unkitpkr);
+ DECLARE_VIDEO_START(sidampkr);
};
@@ -238,12 +238,12 @@ void wallc_state::video_start()
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(wallc_state::get_bg_tile_info), this), TILEMAP_SCAN_COLS_FLIP_Y, 8, 8, 32, 32);
}
-void wallc_state::video_start_unkitpkr()
+VIDEO_START_MEMBER(wallc_state, unkitpkr)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(wallc_state::get_bg_tile_info_unkitpkr), this), TILEMAP_SCAN_COLS_FLIP_Y, 8, 8, 32, 32);
}
-void wallc_state::video_start_sidampkr()
+VIDEO_START_MEMBER(wallc_state, sidampkr)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(wallc_state::get_bg_tile_info), this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
@@ -545,7 +545,7 @@ MACHINE_CONFIG_START(wallc_state::unkitpkr)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(unkitpkr_map)
- set_video_start_cb(config, driver_callback_delegate(&video_start_unkitpkr, this));
+ MCFG_VIDEO_START_OVERRIDE(wallc_state, unkitpkr)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_INIT_OWNER(wallc_state, unkitpkr)
@@ -558,7 +558,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(wallc_state::sidampkr)
unkitpkr(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_sidampkr, this));
+ MCFG_VIDEO_START_OVERRIDE(wallc_state, sidampkr)
MACHINE_CONFIG_END
/***************************************************************************
diff --git a/src/mame/drivers/wardner.cpp b/src/mame/drivers/wardner.cpp
index e8ae3de4b77..4ac08f52c56 100644
--- a/src/mame/drivers/wardner.cpp
+++ b/src/mame/drivers/wardner.cpp
@@ -370,7 +370,7 @@ void wardner_state::driver_start()
void wardner_state::machine_reset()
{
- machine_reset_twincobr();
+ MACHINE_RESET_CALL_MEMBER(twincobr);
m_membank->set_bank(0);
}
@@ -436,7 +436,7 @@ MACHINE_CONFIG_START(wardner_state::wardner)
MCFG_PALETTE_ADD("palette", 1792)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- set_video_start_cb(config, driver_callback_delegate(&video_start_toaplan0, this));
+ MCFG_VIDEO_START_OVERRIDE(wardner_state,toaplan0)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/warpwarp.cpp b/src/mame/drivers/warpwarp.cpp
index fb5e188e488..97585d47c62 100644
--- a/src/mame/drivers/warpwarp.cpp
+++ b/src/mame/drivers/warpwarp.cpp
@@ -741,7 +741,7 @@ MACHINE_CONFIG_START(warpwarp_state::geebee)
MCFG_PALETTE_ADD("palette", 4*2)
MCFG_PALETTE_INIT_OWNER(warpwarp_state,geebee)
- set_video_start_cb(config, driver_callback_delegate(&video_start_geebee, this));
+ MCFG_VIDEO_START_OVERRIDE(warpwarp_state,geebee)
/* sound hardware */
SPEAKER(config, "mono").front_center();
@@ -765,7 +765,7 @@ MACHINE_CONFIG_START(warpwarp_state::navarone)
MCFG_PALETTE_ENTRIES(2*2)
MCFG_PALETTE_INIT_OWNER(warpwarp_state,navarone)
- set_video_start_cb(config, driver_callback_delegate(&video_start_navarone, this));
+ MCFG_VIDEO_START_OVERRIDE(warpwarp_state,navarone)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(warpwarp_state::kaitei)
@@ -776,7 +776,7 @@ MACHINE_CONFIG_START(warpwarp_state::kaitei)
MCFG_PALETTE_MODIFY("palette")
MCFG_PALETTE_ENTRIES(4*2+1)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_kaitei, this));
+ MCFG_MACHINE_RESET_OVERRIDE(warpwarp_state,kaitei)
MACHINE_CONFIG_END
@@ -809,7 +809,7 @@ MACHINE_CONFIG_START(warpwarp_state::bombbee)
MCFG_PALETTE_ADD("palette", 2*256+1)
MCFG_PALETTE_INIT_OWNER(warpwarp_state,warpwarp)
- set_video_start_cb(config, driver_callback_delegate(&video_start_warpwarp, this));
+ MCFG_VIDEO_START_OVERRIDE(warpwarp_state,warpwarp)
/* sound hardware */
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/wc90.cpp b/src/mame/drivers/wc90.cpp
index 3c7547f3311..494636bccc3 100644
--- a/src/mame/drivers/wc90.cpp
+++ b/src/mame/drivers/wc90.cpp
@@ -394,7 +394,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(wc90_state::wc90t)
wc90(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_wc90t, this));
+ MCFG_VIDEO_START_OVERRIDE(wc90_state, wc90t )
MACHINE_CONFIG_END
MACHINE_CONFIG_START(wc90_state::pac90)
diff --git a/src/mame/drivers/wecleman.cpp b/src/mame/drivers/wecleman.cpp
index 1a6d9c9c56b..ca577f2f5f1 100644
--- a/src/mame/drivers/wecleman.cpp
+++ b/src/mame/drivers/wecleman.cpp
@@ -1030,12 +1030,12 @@ TIMER_DEVICE_CALLBACK_MEMBER(wecleman_state::hotchase_scanline)
m_maincpu->set_input_line(4, HOLD_LINE);
}
-void wecleman_state::machine_reset_wecleman()
+MACHINE_RESET_MEMBER(wecleman_state, wecleman)
{
m_k007232[0]->set_bank( 0, 1 );
}
-void wecleman_state::machine_start_wecleman()
+MACHINE_START_MEMBER(wecleman_state, wecleman)
{
m_led.resolve();
}
@@ -1056,8 +1056,8 @@ MACHINE_CONFIG_START(wecleman_state::wecleman)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_wecleman, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_wecleman, this));
+ MCFG_MACHINE_START_OVERRIDE(wecleman_state, wecleman)
+ MCFG_MACHINE_RESET_OVERRIDE(wecleman_state, wecleman)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1071,7 +1071,7 @@ MACHINE_CONFIG_START(wecleman_state::wecleman)
MCFG_PALETTE_ADD("palette", 2048)
- set_video_start_cb(config, driver_callback_delegate(&video_start_wecleman, this));
+ MCFG_VIDEO_START_OVERRIDE(wecleman_state,wecleman)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -1099,16 +1099,18 @@ INTERRUPT_GEN_MEMBER(wecleman_state::hotchase_sound_timer)
device.execute().set_input_line(M6809_FIRQ_LINE, HOLD_LINE);
}
-void wecleman_state::machine_start_hotchase()
+MACHINE_START_MEMBER(wecleman_state, hotchase)
{
m_led.resolve();
}
-void wecleman_state::machine_reset_hotchase()
+MACHINE_RESET_MEMBER(wecleman_state, hotchase)
{
+ int i;
+
/* TODO: PCB reference clearly shows that the POST has random/filled data on the paletteram.
For now let's fill everything with white colors until we have better info about it */
- for (int i = 0; i < 0x2000 / 2; i++)
+ for(i=0;i<0x2000/2;i++)
{
m_generic_paletteram_16[i] = 0xffff;
m_palette->set_pen_color(i,0xff,0xff,0xff);
@@ -1132,8 +1134,8 @@ MACHINE_CONFIG_START(wecleman_state::hotchase)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_hotchase, this));
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_hotchase, this));
+ MCFG_MACHINE_RESET_OVERRIDE(wecleman_state, hotchase)
+ MCFG_MACHINE_START_OVERRIDE(wecleman_state, hotchase)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -1147,7 +1149,7 @@ MACHINE_CONFIG_START(wecleman_state::hotchase)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_hotchase)
MCFG_PALETTE_ADD("palette", 2048*2)
- set_video_start_cb(config, driver_callback_delegate(&video_start_hotchase, this));
+ MCFG_VIDEO_START_OVERRIDE(wecleman_state, hotchase)
MCFG_DEVICE_ADD("k051316_1", K051316, 0)
MCFG_GFX_PALETTE("palette")
diff --git a/src/mame/drivers/wgp.cpp b/src/mame/drivers/wgp.cpp
index af7acdfd3fd..5e3e61e2210 100644
--- a/src/mame/drivers/wgp.cpp
+++ b/src/mame/drivers/wgp.cpp
@@ -971,7 +971,7 @@ MACHINE_CONFIG_START(wgp_state::wgp2)
MCFG_QUANTUM_TIME(attotime::from_hz(12000))
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_wgp2, this));
+ MCFG_VIDEO_START_OVERRIDE(wgp_state, wgp2)
MCFG_DEVICE_MODIFY("tc0100scn")
MCFG_TC0100SCN_OFFSETS(4, 2)
diff --git a/src/mame/drivers/williams.cpp b/src/mame/drivers/williams.cpp
index 326a1b43311..085bad25a8c 100644
--- a/src/mame/drivers/williams.cpp
+++ b/src/mame/drivers/williams.cpp
@@ -1471,8 +1471,8 @@ MACHINE_CONFIG_START(williams_state::williams)
MCFG_DEVICE_ADD("soundcpu", M6808, SOUND_CLOCK) // internal clock divider of 4, effective frequency is 894.886kHz
MCFG_DEVICE_PROGRAM_MAP(sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_williams, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_williams, this));
+ MCFG_MACHINE_START_OVERRIDE(williams_state,williams)
+ MCFG_MACHINE_RESET_OVERRIDE(williams_state,williams)
MCFG_NVRAM_ADD_0FILL("nvram") // 5101 (Defender), 5114 or 6514 (later games) + battery
MCFG_TIMER_DRIVER_ADD("scan_timer", williams_state, williams_va11_callback)
@@ -1486,7 +1486,7 @@ MACHINE_CONFIG_START(williams_state::williams)
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK*2/3, 512, 6, 298, 260, 7, 247)
MCFG_SCREEN_UPDATE_DRIVER(williams_state, screen_update_williams)
- set_video_start_cb(config, driver_callback_delegate(&video_start_williams, this));
+ MCFG_VIDEO_START_OVERRIDE(williams_state,williams)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -1530,8 +1530,8 @@ MACHINE_CONFIG_START(williams_state::defender)
MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(16)
MCFG_ADDRESS_MAP_BANK_STRIDE(0x1000)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_defender, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_defender, this));
+ MCFG_MACHINE_START_OVERRIDE(williams_state,defender)
+ MCFG_MACHINE_RESET_OVERRIDE(williams_state,defender)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(12, 304-1, 7, 247-1)
@@ -1648,11 +1648,11 @@ MACHINE_CONFIG_START(blaster_state::blastkit)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(blaster_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_blaster, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_blaster, this));
+ MCFG_MACHINE_START_OVERRIDE(blaster_state,blaster)
+ MCFG_MACHINE_RESET_OVERRIDE(blaster_state,blaster)
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_blaster, this));
+ MCFG_VIDEO_START_OVERRIDE(blaster_state,blaster)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(blaster_state, screen_update_blaster)
@@ -1733,8 +1733,8 @@ MACHINE_CONFIG_START(williams2_state::williams2)
MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(12)
MCFG_ADDRESS_MAP_BANK_STRIDE(0x0800)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_williams2, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_williams2, this));
+ MCFG_MACHINE_START_OVERRIDE(williams2_state,williams2)
+ MCFG_MACHINE_RESET_OVERRIDE(williams2_state,williams2)
MCFG_NVRAM_ADD_0FILL("nvram") // 5114 + battery
MCFG_TIMER_DRIVER_ADD("scan_timer", williams2_state, williams2_va11_callback)
@@ -1751,7 +1751,7 @@ MACHINE_CONFIG_START(williams2_state::williams2)
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK*2/3, 512, 8, 284, 260, 8, 248)
MCFG_SCREEN_UPDATE_DRIVER(williams2_state, screen_update_williams2)
- set_video_start_cb(config, driver_callback_delegate(&video_start_williams2, this));
+ MCFG_VIDEO_START_OVERRIDE(williams2_state,williams2)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -1846,8 +1846,8 @@ MACHINE_CONFIG_START(joust2_state::joust2)
MCFG_DEVICE_ADD("cvsd", WILLIAMS_CVSD_SOUND)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_joust2, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_joust2, this));
+ MCFG_MACHINE_START_OVERRIDE(joust2_state,joust2)
+ MCFG_MACHINE_RESET_OVERRIDE(joust2_state,joust2)
/* pia */
MCFG_DEVICE_MODIFY("pia_0")
diff --git a/src/mame/drivers/wmg.cpp b/src/mame/drivers/wmg.cpp
index 575b653c8d6..f047d0b921d 100644
--- a/src/mame/drivers/wmg.cpp
+++ b/src/mame/drivers/wmg.cpp
@@ -90,7 +90,7 @@ public:
, m_keyboard(*this, "X%d", 0)
{ }
- void machine_reset_wmg();
+ DECLARE_MACHINE_RESET(wmg);
void init_wmg();
DECLARE_READ8_MEMBER(wmg_nvram_r);
DECLARE_WRITE8_MEMBER(wmg_nvram_w);
@@ -413,7 +413,7 @@ WRITE8_MEMBER( wmg_state::wmg_d000_w )
}
-void wmg_state::machine_reset_wmg()
+MACHINE_RESET_MEMBER( wmg_state, wmg )
{
address_space &space1 = m_maincpu->space(AS_PROGRAM);
m_wmg_c400=0xff;
@@ -421,7 +421,7 @@ void wmg_state::machine_reset_wmg()
m_wmg_port_select=0;
m_wmg_vram_bank=0;
wmg_c400_w( space1, 0, 0);
- machine_reset_williams_common();
+ MACHINE_RESET_CALL_MEMBER(williams_common);
m_maincpu->reset();
}
@@ -499,8 +499,8 @@ MACHINE_CONFIG_START(wmg_state::wmg)
MCFG_DEVICE_ADD("soundcpu", M6808, SOUND_CLOCK)
MCFG_DEVICE_PROGRAM_MAP(wmg_cpu2)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_williams, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_wmg, this));
+ MCFG_MACHINE_START_OVERRIDE(williams_state,williams)
+ MCFG_MACHINE_RESET_OVERRIDE(wmg_state, wmg)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_TIMER_DRIVER_ADD("scan_timer", williams_state, williams_va11_callback)
@@ -514,7 +514,7 @@ MACHINE_CONFIG_START(wmg_state::wmg)
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK*2/3, 512, 6, 298, 260, 7, 247)
MCFG_SCREEN_UPDATE_DRIVER(williams_state, screen_update_williams)
- set_video_start_cb(config, driver_callback_delegate(&video_start_williams, this));
+ MCFG_VIDEO_START_OVERRIDE(williams_state,williams)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
diff --git a/src/mame/drivers/wyvernf0.cpp b/src/mame/drivers/wyvernf0.cpp
index ea1be8a6f67..646063e60a9 100644
--- a/src/mame/drivers/wyvernf0.cpp
+++ b/src/mame/drivers/wyvernf0.cpp
@@ -74,7 +74,7 @@ public:
TILE_GET_INFO_MEMBER(get_fg_tile_info);
DECLARE_WRITE8_MEMBER(bgram_w);
DECLARE_WRITE8_MEMBER(fgram_w);
- void video_start_wyvernf0() ATTR_COLD;
+ DECLARE_VIDEO_START(wyvernf0);
uint32_t screen_update_wyvernf0(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, bool is_foreground );
@@ -89,8 +89,8 @@ public:
DECLARE_WRITE8_MEMBER(sound_command_w);
DECLARE_WRITE8_MEMBER(nmi_disable_w);
DECLARE_WRITE8_MEMBER(nmi_enable_w);
- void machine_start_wyvernf0() ATTR_COLD;
- void machine_reset_wyvernf0();
+ DECLARE_MACHINE_START(wyvernf0);
+ DECLARE_MACHINE_RESET(wyvernf0);
TIMER_CALLBACK_MEMBER(nmi_callback);
// MCU
@@ -157,7 +157,7 @@ TILE_GET_INFO_MEMBER(wyvernf0_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(1, code, color, TILE_FLIPXY(code >> 14));
}
-void wyvernf0_state::video_start_wyvernf0()
+VIDEO_START_MEMBER(wyvernf0_state,wyvernf0)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(wyvernf0_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(wyvernf0_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
@@ -613,7 +613,7 @@ GFXDECODE_END
***************************************************************************/
-void wyvernf0_state::machine_start_wyvernf0()
+MACHINE_START_MEMBER(wyvernf0_state,wyvernf0)
{
uint8_t *ROM = memregion("rombank")->base();
membank("rombank")->configure_entries(0, 8, ROM, 0x2000);
@@ -631,7 +631,7 @@ void wyvernf0_state::machine_start_wyvernf0()
save_item(NAME(m_mcu_ready));
}
-void wyvernf0_state::machine_reset_wyvernf0()
+MACHINE_RESET_MEMBER(wyvernf0_state,wyvernf0)
{
m_sound_nmi_enable = 0;
m_pending_nmi = 0;
@@ -656,8 +656,8 @@ MACHINE_CONFIG_START(wyvernf0_state::wyvernf0)
// MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // 100 CPU slices per second to synchronize between the MCU and the main CPU
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_wyvernf0, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_wyvernf0, this));
+ MCFG_MACHINE_START_OVERRIDE(wyvernf0_state,wyvernf0)
+ MCFG_MACHINE_RESET_OVERRIDE(wyvernf0_state,wyvernf0)
// video hardware
MCFG_SCREEN_ADD("screen", RASTER)
@@ -673,7 +673,7 @@ MACHINE_CONFIG_START(wyvernf0_state::wyvernf0)
MCFG_PALETTE_FORMAT(xxxxRRRRGGGGBBBB)
MCFG_PALETTE_ENDIANNESS(ENDIANNESS_BIG)
- set_video_start_cb(config, driver_callback_delegate(&video_start_wyvernf0, this));
+ MCFG_VIDEO_START_OVERRIDE(wyvernf0_state,wyvernf0)
// sound hardware
SPEAKER(config, "mono").front_center();
diff --git a/src/mame/drivers/x1.cpp b/src/mame/drivers/x1.cpp
index d23b6276979..c2cd9f511df 100644
--- a/src/mame/drivers/x1.cpp
+++ b/src/mame/drivers/x1.cpp
@@ -2089,7 +2089,7 @@ TIMER_CALLBACK_MEMBER(x1_state::x1_rtc_increment)
if((m_rtc.year & 0xf0) >= 0xa0) { m_rtc.year = 0; } //roll over
}
-void x1_state::machine_reset_x1()
+MACHINE_RESET_MEMBER(x1_state,x1)
{
//uint8_t *ROM = memregion("x1_cpu")->base();
int i;
@@ -2133,9 +2133,9 @@ void x1_state::machine_reset_x1()
// m_old_vpos = -1;
}
-void x1_state::machine_reset_x1turbo()
+MACHINE_RESET_MEMBER(x1_state,x1turbo)
{
- machine_reset_x1();
+ MACHINE_RESET_CALL_MEMBER( x1 );
m_is_turbo = 1;
m_ex_bank = 0x10;
@@ -2153,7 +2153,7 @@ static const gfx_layout x1_pcg_8x8 =
8*8
};
-void x1_state::machine_start_x1()
+MACHINE_START_MEMBER(x1_state,x1)
{
/* set up RTC */
{
@@ -2229,8 +2229,8 @@ MACHINE_CONFIG_START(x1_state::x1)
MCFG_I8255_IN_PORTC_CB(READ8(*this, x1_state, x1_portc_r))
MCFG_I8255_OUT_PORTC_CB(WRITE8(*this, x1_state, x1_portc_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_x1, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_x1, this));
+ MCFG_MACHINE_START_OVERRIDE(x1_state,x1)
+ MCFG_MACHINE_RESET_OVERRIDE(x1_state,x1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -2249,7 +2249,7 @@ MACHINE_CONFIG_START(x1_state::x1)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_x1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_x1, this));
+ MCFG_VIDEO_START_OVERRIDE(x1_state,x1)
MCFG_MB8877_ADD("fdc", MAIN_CLOCK / 16)
// TODO: guesswork, try to implicitily start the motor
@@ -2294,7 +2294,7 @@ MACHINE_CONFIG_START(x1_state::x1turbo)
MCFG_DEVICE_MODIFY("x1_cpu")
MCFG_DEVICE_PROGRAM_MAP(x1turbo_mem)
MCFG_Z80_DAISY_CHAIN(x1turbo_daisy)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_x1turbo, this));
+ MCFG_MACHINE_RESET_OVERRIDE(x1_state,x1turbo)
MCFG_DEVICE_MODIFY("iobank")
MCFG_DEVICE_PROGRAM_MAP(x1turbo_io_banks)
diff --git a/src/mame/drivers/x1twin.cpp b/src/mame/drivers/x1twin.cpp
index 85f9ce7318e..2ac2ae944a9 100644
--- a/src/mame/drivers/x1twin.cpp
+++ b/src/mame/drivers/x1twin.cpp
@@ -441,8 +441,8 @@ MACHINE_CONFIG_START(x1twin_state::x1twin)
MCFG_I8255_IN_PORTC_CB(READ8(*this, x1_state, x1_portc_r))
MCFG_I8255_OUT_PORTC_CB(WRITE8(*this, x1_state, x1_portc_w))
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_x1, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_x1, this));
+ MCFG_MACHINE_START_OVERRIDE(x1twin_state,x1)
+ MCFG_MACHINE_RESET_OVERRIDE(x1twin_state,x1)
#if 0
MCFG_DEVICE_ADD("pce_cpu", H6280, PCE_MAIN_CLOCK/3)
@@ -475,7 +475,7 @@ MACHINE_CONFIG_START(x1twin_state::x1twin)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_x1)
- set_video_start_cb(config, driver_callback_delegate(&video_start_x1, this));
+ MCFG_VIDEO_START_OVERRIDE(x1twin_state,x1)
MCFG_MB8877_ADD("fdc", MAIN_CLOCK / 16)
// TODO: guesswork, try to implicitily start the motor
diff --git a/src/mame/drivers/x68k.cpp b/src/mame/drivers/x68k.cpp
index f8f84ad31f7..149a2b0937f 100644
--- a/src/mame/drivers/x68k.cpp
+++ b/src/mame/drivers/x68k.cpp
@@ -1689,7 +1689,7 @@ MACHINE_CONFIG_START(x68k_state::x68000)
MCFG_PALETTE_ADD("pcgpalette", 256)
MCFG_PALETTE_FORMAT_CLASS(2, x68k_state, GGGGGRRRRRBBBBBI)
- set_video_start_cb(config, driver_callback_delegate(&video_start_x68000, this));
+ MCFG_VIDEO_START_OVERRIDE(x68k_state, x68000 )
MCFG_DEFAULT_LAYOUT( layout_x68000 )
diff --git a/src/mame/drivers/xmen.cpp b/src/mame/drivers/xmen.cpp
index 1339f571fb2..beed0af6d52 100644
--- a/src/mame/drivers/xmen.cpp
+++ b/src/mame/drivers/xmen.cpp
@@ -387,7 +387,7 @@ MACHINE_CONFIG_START(xmen_state::xmen6p)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, xmen_state, screen_vblank_xmen6p))
MCFG_SCREEN_PALETTE("palette")
- set_video_start_cb(config, driver_callback_delegate(&video_start_xmen6p, this));
+ MCFG_VIDEO_START_OVERRIDE(xmen_state,xmen6p)
MCFG_DEVICE_ADD("k052109", K052109, 0)
MCFG_GFX_PALETTE("palette")
diff --git a/src/mame/drivers/yunsun16.cpp b/src/mame/drivers/yunsun16.cpp
index 129d3f3e964..963b0989b6b 100644
--- a/src/mame/drivers/yunsun16.cpp
+++ b/src/mame/drivers/yunsun16.cpp
@@ -573,14 +573,14 @@ void yunsun16_state::machine_reset()
m_sprites_scrolldy = -0x0f;
}
-void yunsun16_state::machine_start_shocking()
+MACHINE_START_MEMBER(yunsun16_state, shocking)
{
machine_start();
membank("okibank")->configure_entries(0, 0x80000 / 0x20000, memregion("oki")->base(), 0x20000);
membank("okibank")->set_entry(0);
}
-void yunsun16_state::machine_reset_shocking()
+MACHINE_RESET_MEMBER(yunsun16_state, shocking)
{
machine_reset();
membank("okibank")->set_entry(0);
@@ -641,8 +641,8 @@ MACHINE_CONFIG_START(yunsun16_state::shocking)
MCFG_DEVICE_PROGRAM_MAP(main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", yunsun16_state, irq2_line_hold)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_shocking, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_shocking, this));
+ MCFG_MACHINE_START_OVERRIDE(yunsun16_state, shocking)
+ MCFG_MACHINE_RESET_OVERRIDE(yunsun16_state, shocking)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/z80ne.cpp b/src/mame/drivers/z80ne.cpp
index 7d56919b00a..ab1187cd790 100644
--- a/src/mame/drivers/z80ne.cpp
+++ b/src/mame/drivers/z80ne.cpp
@@ -421,8 +421,8 @@ MACHINE_CONFIG_START(z80ne_state::z80ne)
MCFG_DEVICE_PROGRAM_MAP(z80ne_mem)
MCFG_DEVICE_IO_MAP(z80ne_io)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_z80ne, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_z80ne, this));
+ MCFG_MACHINE_START_OVERRIDE(z80ne_state,z80ne)
+ MCFG_MACHINE_RESET_OVERRIDE(z80ne_state,z80ne)
MCFG_DEVICE_ADD( "uart", AY31015, 0 )
MCFG_AY31015_TX_CLOCK(4800.0)
@@ -453,8 +453,8 @@ MACHINE_CONFIG_START(z80ne_state::z80net)
MCFG_DEVICE_PROGRAM_MAP(z80net_mem)
MCFG_DEVICE_IO_MAP(z80net_io)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_z80net, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_z80net, this));
+ MCFG_MACHINE_START_OVERRIDE(z80ne_state, z80net )
+ MCFG_MACHINE_RESET_OVERRIDE(z80ne_state, z80net )
MCFG_DEVICE_ADD("lx387_kr2376", KR2376_ST, 50000)
MCFG_KR2376_MATRIX_X0(IOPORT("X0"))
@@ -492,8 +492,8 @@ MACHINE_CONFIG_START(z80ne_state::z80netb)
MCFG_DEVICE_PROGRAM_MAP(z80netb_mem)
MCFG_DEVICE_IO_MAP(z80net_io)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_z80netb, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_z80netb, this));
+ MCFG_MACHINE_START_OVERRIDE(z80ne_state,z80netb)
+ MCFG_MACHINE_RESET_OVERRIDE(z80ne_state,z80netb)
MCFG_DEVICE_ADD( "uart", AY31015, 0 )
MCFG_AY31015_TX_CLOCK(4800.0)
@@ -543,8 +543,8 @@ MACHINE_CONFIG_START(z80netf_state::z80netf)
MCFG_DEVICE_PROGRAM_MAP(z80netf_mem)
MCFG_DEVICE_IO_MAP(z80netf_io)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_z80netf, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_z80netf, this));
+ MCFG_MACHINE_START_OVERRIDE(z80netf_state,z80netf)
+ MCFG_MACHINE_RESET_OVERRIDE(z80netf_state,z80netf)
MCFG_DEVICE_ADD( "uart", AY31015, 0 )
MCFG_AY31015_TX_CLOCK(4800.0)
diff --git a/src/mame/drivers/zaxxon.cpp b/src/mame/drivers/zaxxon.cpp
index 49ddca01749..e7c6a29648e 100644
--- a/src/mame/drivers/zaxxon.cpp
+++ b/src/mame/drivers/zaxxon.cpp
@@ -1014,7 +1014,7 @@ MACHINE_CONFIG_START(zaxxon_state::razmataze)
MCFG_DEVICE_REMOVE("ppi8255")
/* video hardware */
- set_video_start_cb(config, driver_callback_delegate(&video_start_razmataz, this));
+ MCFG_VIDEO_START_OVERRIDE(zaxxon_state,razmataz)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(zaxxon_state, screen_update_razmataz)
@@ -1065,7 +1065,7 @@ MACHINE_CONFIG_START(zaxxon_state::congo)
MCFG_PALETTE_ENTRIES(512)
MCFG_PALETTE_INIT_OWNER(zaxxon_state, zaxxon)
- set_video_start_cb(config, driver_callback_delegate(&video_start_congo, this));
+ MCFG_VIDEO_START_OVERRIDE(zaxxon_state,congo)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(zaxxon_state, screen_update_congo)
diff --git a/src/mame/drivers/zn.cpp b/src/mame/drivers/zn.cpp
index 17994ab1f0b..47ad63fa2b8 100644
--- a/src/mame/drivers/zn.cpp
+++ b/src/mame/drivers/zn.cpp
@@ -124,23 +124,23 @@ public:
void init_jdredd();
void init_coh1000w();
void init_primrag2();
- void machine_start_coh1000c();
- void machine_start_coh1000ta();
- void machine_start_coh1002e();
- void machine_start_bam2();
- void machine_start_nbajamex();
- void machine_start_coh1001l();
- void machine_start_coh1002v();
- void machine_start_coh1002m();
- void machine_reset_coh1000c();
- void machine_reset_glpracr();
- void machine_reset_coh1000ta();
- void machine_reset_coh1002e();
- void machine_reset_bam2();
- void machine_reset_nbajamex();
- void machine_reset_coh1001l();
- void machine_reset_coh1002v();
- void machine_reset_coh1002m();
+ DECLARE_MACHINE_START(coh1000c);
+ DECLARE_MACHINE_START(coh1000ta);
+ DECLARE_MACHINE_START(coh1002e);
+ DECLARE_MACHINE_START(bam2);
+ DECLARE_MACHINE_START(nbajamex);
+ DECLARE_MACHINE_START(coh1001l);
+ DECLARE_MACHINE_START(coh1002v);
+ DECLARE_MACHINE_START(coh1002m);
+ DECLARE_MACHINE_RESET(coh1000c);
+ DECLARE_MACHINE_RESET(glpracr);
+ DECLARE_MACHINE_RESET(coh1000ta);
+ DECLARE_MACHINE_RESET(coh1002e);
+ DECLARE_MACHINE_RESET(bam2);
+ DECLARE_MACHINE_RESET(nbajamex);
+ DECLARE_MACHINE_RESET(coh1001l);
+ DECLARE_MACHINE_RESET(coh1002v);
+ DECLARE_MACHINE_RESET(coh1002m);
INTERRUPT_GEN_MEMBER(qsound_interrupt);
void atpsx_dma_read(uint32_t *p_n_psxram, uint32_t n_address, int32_t n_size );
void atpsx_dma_write(uint32_t *p_n_psxram, uint32_t n_address, int32_t n_size );
@@ -613,22 +613,22 @@ void zn_state::coh1000c_map(address_map &map)
map(0x1fb60000, 0x1fb60000).w(m_soundlatch, FUNC(generic_latch_8_device::write));
}
-void zn_state::machine_start_coh1000c()
+MACHINE_START_MEMBER(zn_state,coh1000c)
{
m_rombank[0]->configure_entries( 0, 16, m_bankedroms->base() + 0x400000, 0x400000 ); /* banked game rom */
m_soundbank->configure_entries( 0, 16, memregion("audiocpu")->base() + 0x8000, 0x4000 ); /* banked audio rom */
}
-void zn_state::machine_reset_coh1000c()
+MACHINE_RESET_MEMBER(zn_state,coh1000c)
{
m_rombank[0]->set_entry( 0 );
m_soundbank->set_entry( 0 );
}
-void zn_state::machine_reset_glpracr()
+MACHINE_RESET_MEMBER(zn_state,glpracr)
{
m_audiocpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); // glpracr qsound rom sockets are empty
- machine_reset_coh1000c();
+ MACHINE_RESET_CALL_MEMBER(coh1000c);
}
void zn_state::qsound_map(address_map &map)
@@ -657,8 +657,8 @@ MACHINE_CONFIG_START(zn_state::coh1000c)
MCFG_DEVICE_IO_MAP(qsound_portmap)
MCFG_DEVICE_PERIODIC_INT_DRIVER(zn_state, qsound_interrupt, 250) // measured (cps2.cpp)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_coh1000c, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_coh1000c, this));
+ MCFG_MACHINE_START_OVERRIDE(zn_state, coh1000c)
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000c)
MCFG_DEVICE_MODIFY("soundlatch")
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE(m_audiocpu, INPUT_LINE_NMI))
@@ -670,7 +670,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(zn_state::glpracr)
coh1000c(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_glpracr, this));
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, glpracr)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(zn_state::coh1002c)
@@ -683,8 +683,8 @@ MACHINE_CONFIG_START(zn_state::coh1002c)
MCFG_DEVICE_IO_MAP(qsound_portmap)
MCFG_DEVICE_PERIODIC_INT_DRIVER(zn_state, qsound_interrupt, 250) // measured (cps2.cpp)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_coh1000c, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_coh1000c, this));
+ MCFG_MACHINE_START_OVERRIDE(zn_state, coh1000c)
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000c)
MCFG_DEVICE_MODIFY("soundlatch")
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE(m_audiocpu, INPUT_LINE_NMI))
@@ -845,8 +845,8 @@ MACHINE_CONFIG_START(zn_state::coh3002c)
MCFG_DEVICE_IO_MAP(qsound_portmap)
MCFG_DEVICE_PERIODIC_INT_DRIVER(zn_state, qsound_interrupt, 250) // measured (cps2.cpp)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_coh1000c, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_coh1000c, this));
+ MCFG_MACHINE_START_OVERRIDE(zn_state, coh1000c)
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000c)
MCFG_DEVICE_MODIFY("soundlatch")
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE(m_audiocpu, INPUT_LINE_NMI))
@@ -1100,7 +1100,7 @@ void zn_state::coh1000ta_map(address_map &map)
map(0x1fb80002, 0x1fb80002).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w));
}
-void zn_state::machine_start_coh1000ta()
+MACHINE_START_MEMBER(zn_state,coh1000ta)
{
m_rombank[0]->configure_entries( 0, 4, m_bankedroms->base(), 0x800000 ); /* banked game rom */
if (m_soundbank.found())
@@ -1110,7 +1110,7 @@ void zn_state::machine_start_coh1000ta()
}
}
-void zn_state::machine_reset_coh1000ta()
+MACHINE_RESET_MEMBER(zn_state,coh1000ta)
{
m_rombank[0]->set_entry( 0 );
if (m_soundbank.found())
@@ -1140,8 +1140,8 @@ MACHINE_CONFIG_START(zn_state::coh1000ta)
MCFG_DEVICE_ADD(m_audiocpu, Z80, XTAL(16'000'000) / 4) /* 4 MHz */
MCFG_DEVICE_PROGRAM_MAP(fx1a_sound_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_coh1000ta, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_coh1000ta, this));
+ MCFG_MACHINE_START_OVERRIDE(zn_state, coh1000ta)
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000ta)
MCFG_DEVICE_ADD("ymsnd", YM2610B, XTAL(16'000'000)/2)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE(m_audiocpu, 0))
@@ -1195,8 +1195,8 @@ MACHINE_CONFIG_START(zn_state::coh1000tb)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(coh1000tb_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_coh1000ta, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_coh1000ta, this));
+ MCFG_MACHINE_START_OVERRIDE(zn_state, coh1000ta)
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000ta)
MCFG_NVRAM_ADD_1FILL("fm1208s")
MCFG_MB3773_ADD("mb3773")
@@ -1217,8 +1217,8 @@ MACHINE_CONFIG_START(zn_state::coh1002tb)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(coh1000tb_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_coh1000ta, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_coh1000ta, this));
+ MCFG_MACHINE_START_OVERRIDE(zn_state, coh1000ta)
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000ta)
MCFG_NVRAM_ADD_1FILL("fm1208s")
MCFG_MB3773_ADD("mb3773")
@@ -1642,14 +1642,14 @@ void zn_state::coh1002e_map(address_map &map)
map(0x1fb00004, 0x1fb00004).w(this, FUNC(zn_state::coh1002e_sound_irq_w));
}
-void zn_state::machine_start_coh1002e()
+MACHINE_START_MEMBER(zn_state,coh1002e)
{
m_rombank[0]->configure_entries( 0, 4, m_bankedroms->base(), 0x800000 ); /* banked game rom */
if (m_okibank.found())
m_okibank->configure_entries( 0, memregion( "oki" )->bytes()/0x10000, memregion( "oki" )->base(), 0x10000 ); /* not verified */
}
-void zn_state::machine_reset_coh1002e()
+MACHINE_RESET_MEMBER(zn_state,coh1002e)
{
m_rombank[0]->set_entry( 0 );
if (m_okibank.found())
@@ -1685,8 +1685,8 @@ MACHINE_CONFIG_START(zn_state::coh1002e)
MCFG_DEVICE_ADD(m_audiocpu, M68000, XTAL(12'000'000))
MCFG_DEVICE_PROGRAM_MAP(psarc_snd_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_coh1002e, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_coh1002e, this));
+ MCFG_MACHINE_START_OVERRIDE(zn_state, coh1002e)
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1002e)
MCFG_DEVICE_ADD("ymf", YMF271, XTAL(16'934'400))
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
@@ -1701,8 +1701,8 @@ MACHINE_CONFIG_START(zn_state::beastrzrb)
MCFG_DEVICE_ADD(m_audiocpu, AT89C4051, XTAL(12'000'000)) // clock unverified
MCFG_DEVICE_PROGRAM_MAP(beastrzrb_snd_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_coh1002e, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_coh1002e, this));
+ MCFG_MACHINE_START_OVERRIDE(zn_state, coh1002e)
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1002e)
MCFG_DEVICE_ADD("oki", OKIM6295, 1000000, okim6295_device::PIN7_LOW) // clock frequency & pin 7 not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
@@ -1823,12 +1823,12 @@ void zn_state::init_bam2()
save_item(NAME(m_bam2_mcu_command));
}
-void zn_state::machine_start_bam2()
+MACHINE_START_MEMBER(zn_state,bam2)
{
m_rombank[0]->configure_entries( 0, 16, m_bankedroms->base(), 0x400000 ); /* banked game rom */
}
-void zn_state::machine_reset_bam2()
+MACHINE_RESET_MEMBER(zn_state,bam2)
{
m_rombank[0]->set_entry( 1 );
}
@@ -1838,8 +1838,8 @@ MACHINE_CONFIG_START(zn_state::bam2)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(bam2_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_bam2, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_bam2, this));
+ MCFG_MACHINE_START_OVERRIDE(zn_state, bam2)
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, bam2)
MACHINE_CONFIG_END
/*
@@ -2154,7 +2154,7 @@ void zn_state::init_nbajamex()
save_item(NAME(m_nbajamex_rombank));
}
-void zn_state::machine_start_nbajamex()
+MACHINE_START_MEMBER(zn_state,nbajamex)
{
for (int bank = 0; bank < 2; bank++)
m_rombank[bank]->configure_entries( 0, 16, m_bankedroms->base(), 0x200000 );
@@ -2162,7 +2162,7 @@ void zn_state::machine_start_nbajamex()
membank( "sram" )->set_base( m_nbajamex_sram.get() );
}
-void zn_state::machine_reset_nbajamex()
+MACHINE_RESET_MEMBER(zn_state,nbajamex)
{
m_nbajamex_bankmap->set_bank( 0 );
m_rombank[0]->set_entry( 0 );
@@ -2196,8 +2196,8 @@ MACHINE_CONFIG_START(zn_state::nbajamex)
MCFG_NVRAM_ADD_1FILL("71256")
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_nbajamex, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_nbajamex, this));
+ MCFG_MACHINE_START_OVERRIDE(zn_state, nbajamex)
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, nbajamex)
MCFG_DEVICE_ADD("nbajamex_bankmap", ADDRESS_MAP_BANK, 0)
MCFG_DEVICE_PROGRAM_MAP(nbajamex_bank_map)
@@ -2358,12 +2358,12 @@ void zn_state::coh1001l_map(address_map &map)
map(0x1fb00002, 0x1fb00002).w(this, FUNC(zn_state::coh1001l_bank_w));
}
-void zn_state::machine_start_coh1001l()
+MACHINE_START_MEMBER(zn_state,coh1001l)
{
m_rombank[0]->configure_entries( 0, 4, m_bankedroms->base(), 0x800000 ); /* banked game rom */
}
-void zn_state::machine_reset_coh1001l()
+MACHINE_RESET_MEMBER(zn_state,coh1001l)
{
m_rombank[0]->set_entry( 0 );
}
@@ -2385,8 +2385,8 @@ MACHINE_CONFIG_START(zn_state::coh1001l)
MCFG_DEVICE_ADD(m_audiocpu, M68000, XTAL(10'000'000))
MCFG_DEVICE_PROGRAM_MAP(atlus_snd_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_coh1001l, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_coh1001l, this));
+ MCFG_MACHINE_START_OVERRIDE(zn_state, coh1001l)
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1001l)
MCFG_GENERIC_LATCH_16_ADD("soundlatch16")
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE(m_audiocpu, 3))
@@ -2423,12 +2423,12 @@ void zn_state::coh1002v_map(address_map &map)
map(0x1fb00000, 0x1fb00000).w(this, FUNC(zn_state::coh1002v_bank_w));
}
-void zn_state::machine_start_coh1002v()
+MACHINE_START_MEMBER(zn_state,coh1002v)
{
m_rombank[0]->configure_entries( 0, 24, m_bankedroms->base(), 0x100000 ); /* banked game rom */
}
-void zn_state::machine_reset_coh1002v()
+MACHINE_RESET_MEMBER(zn_state,coh1002v)
{
m_rombank[0]->set_entry( 0 );
}
@@ -2438,8 +2438,8 @@ MACHINE_CONFIG_START(zn_state::coh1002v)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(coh1002v_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_coh1002v, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_coh1002v, this));
+ MCFG_MACHINE_START_OVERRIDE(zn_state, coh1002v)
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1002v)
MACHINE_CONFIG_END
/*
@@ -2613,12 +2613,12 @@ void zn_state::coh1002m_map(address_map &map)
map(0x1fb00006, 0x1fb00006).w(this, FUNC(zn_state::coh1002m_bank_w));
}
-void zn_state::machine_start_coh1002m()
+MACHINE_START_MEMBER(zn_state,coh1002m)
{
m_rombank[0]->configure_entries( 0, 8, m_bankedroms->base(), 0x800000 ); /* banked game rom */
}
-void zn_state::machine_reset_coh1002m()
+MACHINE_RESET_MEMBER(zn_state,coh1002m)
{
m_rombank[0]->set_entry( 0 );
}
@@ -2628,8 +2628,8 @@ MACHINE_CONFIG_START(zn_state::coh1002m)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(coh1002m_map)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_coh1002m, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_coh1002m, this));
+ MCFG_MACHINE_START_OVERRIDE(zn_state, coh1002m)
+ MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1002m)
MACHINE_CONFIG_END
READ8_MEMBER(zn_state::cbaj_sound_main_status_r)
diff --git a/src/mame/drivers/zr107.cpp b/src/mame/drivers/zr107.cpp
index 068fbfdbf2c..9d6f79f5e8a 100644
--- a/src/mame/drivers/zr107.cpp
+++ b/src/mame/drivers/zr107.cpp
@@ -252,8 +252,8 @@ public:
void init_common();
void init_zr107();
void init_jetwave();
- void video_start_zr107() ATTR_COLD;
- void video_start_jetwave() ATTR_COLD;
+ DECLARE_VIDEO_START(zr107);
+ DECLARE_VIDEO_START(jetwave);
uint32_t screen_update_zr107(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_jetwave(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(zr107_vblank);
@@ -277,7 +277,7 @@ protected:
-void zr107_state::video_start_jetwave()
+VIDEO_START_MEMBER(zr107_state,jetwave)
{
}
@@ -317,7 +317,7 @@ K056832_CB_MEMBER(zr107_state::tile_callback)
*color += layer * 0x40;
}
-void zr107_state::video_start_zr107()
+VIDEO_START_MEMBER(zr107_state,zr107)
{
m_k056832->set_layer_offs(0, -29, -27);
m_k056832->set_layer_offs(1, -29, -27);
@@ -804,7 +804,7 @@ MACHINE_CONFIG_START(zr107_state::zr107)
MCFG_PALETTE_ADD("palette", 65536)
- set_video_start_cb(config, driver_callback_delegate(&video_start_zr107, this));
+ MCFG_VIDEO_START_OVERRIDE(zr107_state,zr107)
MCFG_DEVICE_ADD("k056832", K056832, 0)
MCFG_K056832_CB(zr107_state, tile_callback)
@@ -876,7 +876,7 @@ MACHINE_CONFIG_START(zr107_state::jetwave)
MCFG_PALETTE_ADD("palette", 65536)
- set_video_start_cb(config, driver_callback_delegate(&video_start_jetwave, this));
+ MCFG_VIDEO_START_OVERRIDE(zr107_state,jetwave)
MCFG_DEVICE_ADD("k001604", K001604, 0)
MCFG_K001604_LAYER_SIZE(0)
diff --git a/src/mame/drivers/zwackery.cpp b/src/mame/drivers/zwackery.cpp
index f7c7b135405..cd5782a773c 100644
--- a/src/mame/drivers/zwackery.cpp
+++ b/src/mame/drivers/zwackery.cpp
@@ -52,7 +52,7 @@ public:
m_fg_tilemap(nullptr)
{ }
- void video_start_zwackery() ATTR_COLD;
+ DECLARE_VIDEO_START(zwackery);
TIMER_DEVICE_CALLBACK_MEMBER(scanline_cb);
DECLARE_WRITE16_MEMBER(videoram_w);
DECLARE_READ8_MEMBER(spriteram_r);
@@ -183,7 +183,7 @@ INPUT_PORTS_END
// VIDEO EMULATION
//**************************************************************************
-void zwackery_state::video_start_zwackery()
+VIDEO_START_MEMBER( zwackery_state, zwackery )
{
const uint8_t *colordatabase = (const uint8_t *)memregion("bg_color")->base();
gfx_element *gfx0 = m_gfxdecode->gfx(0);
@@ -533,7 +533,7 @@ MACHINE_CONFIG_START(zwackery_state::zwackery)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(xRRRRRBBBBBGGGGG_inverted)
- set_video_start_cb(config, driver_callback_delegate(&video_start_zwackery, this));
+ MCFG_VIDEO_START_OVERRIDE(zwackery_state, zwackery)
// sound hardware
SPEAKER(config, "speaker").front_center();
diff --git a/src/mame/includes/3do.h b/src/mame/includes/3do.h
index b9617277357..8d176a2401f 100644
--- a/src/mame/includes/3do.h
+++ b/src/mame/includes/3do.h
@@ -173,7 +173,7 @@ public:
DECLARE_WRITE32_MEMBER(_3do_clio_w);
virtual void machine_start() override;
virtual void machine_reset() override;
- void video_start__3do() ATTR_COLD;
+ DECLARE_VIDEO_START(_3do);
uint32_t screen_update__3do(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER( timer_x16_cb );
diff --git a/src/mame/includes/40love.h b/src/mame/includes/40love.h
index 846c756dc9c..6f17fd32c7a 100644
--- a/src/mame/includes/40love.h
+++ b/src/mame/includes/40love.h
@@ -94,9 +94,9 @@ public:
void init_40love();
TILE_GET_INFO_MEMBER(get_bg_tile_info);
virtual void video_start() override;
- void machine_start_40love() ATTR_COLD;
- void machine_reset_40love();
- void machine_reset_common();
+ DECLARE_MACHINE_START(40love);
+ DECLARE_MACHINE_RESET(40love);
+ DECLARE_MACHINE_RESET(common);
uint32_t screen_update_fortyl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void redraw_pixels();
void fortyl_set_scroll_x( int offset );
diff --git a/src/mame/includes/8080bw.h b/src/mame/includes/8080bw.h
index a192f42db6f..0ed578644b3 100644
--- a/src/mame/includes/8080bw.h
+++ b/src/mame/includes/8080bw.h
@@ -128,20 +128,20 @@ public:
void init_vortex();
void init_attackfc();
- void machine_start_extra_8080bw() ATTR_COLD;
- void machine_start_rollingc() ATTR_COLD;
- void machine_start_sflush() ATTR_COLD;
- void machine_start_schaser() ATTR_COLD;
- void machine_start_schasercv() ATTR_COLD;
- void machine_reset_schaser();
- void machine_start_polaris() ATTR_COLD;
- void machine_start_darthvdr() ATTR_COLD;
- void machine_reset_darthvdr();
- void machine_start_extra_8080bw_sh() ATTR_COLD;
- void machine_start_extra_8080bw_vh() ATTR_COLD;
- void machine_start_schaser_sh() ATTR_COLD;
- void machine_reset_schaser_sh();
- void machine_start_claybust() ATTR_COLD;
+ DECLARE_MACHINE_START(extra_8080bw);
+ DECLARE_MACHINE_START(rollingc);
+ DECLARE_MACHINE_START(sflush);
+ DECLARE_MACHINE_START(schaser);
+ DECLARE_MACHINE_START(schasercv);
+ DECLARE_MACHINE_RESET(schaser);
+ DECLARE_MACHINE_START(polaris);
+ DECLARE_MACHINE_START(darthvdr);
+ DECLARE_MACHINE_RESET(darthvdr);
+ DECLARE_MACHINE_START(extra_8080bw_sh);
+ DECLARE_MACHINE_START(extra_8080bw_vh);
+ DECLARE_MACHINE_START(schaser_sh);
+ DECLARE_MACHINE_RESET(schaser_sh);
+ DECLARE_MACHINE_START(claybust);
DECLARE_PALETTE_INIT(rollingc);
DECLARE_PALETTE_INIT(sflush);
diff --git a/src/mame/includes/actfancr.h b/src/mame/includes/actfancr.h
index d40065a38da..470306f3d4e 100644
--- a/src/mame/includes/actfancr.h
+++ b/src/mame/includes/actfancr.h
@@ -43,8 +43,8 @@ public:
DECLARE_WRITE8_MEMBER(triothep_control_select_w);
DECLARE_READ8_MEMBER(triothep_control_r);
DECLARE_WRITE8_MEMBER(actfancr_buffer_spriteram_w);
- void machine_start_triothep() ATTR_COLD;
- void machine_reset_triothep();
+ DECLARE_MACHINE_START(triothep);
+ DECLARE_MACHINE_RESET(triothep);
uint32_t screen_update_actfancr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void triothep(machine_config &config);
void actfancr(machine_config &config);
diff --git a/src/mame/includes/aerofgt.h b/src/mame/includes/aerofgt.h
index 44f48a8e9f4..886d7db0a8f 100644
--- a/src/mame/includes/aerofgt.h
+++ b/src/mame/includes/aerofgt.h
@@ -102,16 +102,16 @@ public:
template<int Layer> TILE_GET_INFO_MEMBER(karatblz_tile_info);
template<int Layer> TILE_GET_INFO_MEMBER(spinlbrk_tile_info);
template<int Layer> TILE_GET_INFO_MEMBER(get_tile_info);
- void machine_start_aerofgt() ATTR_COLD;
- void machine_start_spinlbrk() ATTR_COLD;
- void machine_reset_aerofgt();
- void video_start_pspikes() ATTR_COLD;
- void machine_start_common() ATTR_COLD;
- void machine_reset_common();
- void video_start_karatblz() ATTR_COLD;
- void video_start_spinlbrk() ATTR_COLD;
- void video_start_turbofrc() ATTR_COLD;
- void video_start_wbbc97() ATTR_COLD;
+ DECLARE_MACHINE_START(aerofgt);
+ DECLARE_MACHINE_START(spinlbrk);
+ DECLARE_MACHINE_RESET(aerofgt);
+ DECLARE_VIDEO_START(pspikes);
+ DECLARE_MACHINE_START(common);
+ DECLARE_MACHINE_RESET(common);
+ DECLARE_VIDEO_START(karatblz);
+ DECLARE_VIDEO_START(spinlbrk);
+ DECLARE_VIDEO_START(turbofrc);
+ DECLARE_VIDEO_START(wbbc97);
void init_banked_oki();
void init_kickball();
uint32_t screen_update_pspikes(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/alpha68k.h b/src/mame/includes/alpha68k.h
index 23a4ecba753..61807f31ddb 100644
--- a/src/mame/includes/alpha68k.h
+++ b/src/mame/includes/alpha68k.h
@@ -93,15 +93,15 @@ public:
void init_kyros();
void init_sstingry();
TILE_GET_INFO_MEMBER(get_tile_info);
- void machine_start_common() ATTR_COLD;
- void machine_reset_common();
+ DECLARE_MACHINE_START(common);
+ DECLARE_MACHINE_RESET(common);
DECLARE_PALETTE_INIT(kyros);
DECLARE_PALETTE_INIT(paddlem);
- void machine_start_alpha68k_II() ATTR_COLD;
- void machine_reset_alpha68k_II();
- void video_start_alpha68k() ATTR_COLD;
- void machine_start_alpha68k_V() ATTR_COLD;
- void machine_reset_alpha68k_V();
+ DECLARE_MACHINE_START(alpha68k_II);
+ DECLARE_MACHINE_RESET(alpha68k_II);
+ DECLARE_VIDEO_START(alpha68k);
+ DECLARE_MACHINE_START(alpha68k_V);
+ DECLARE_MACHINE_RESET(alpha68k_V);
uint32_t screen_update_sstingry(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_kyros(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_alpha68k_I(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/amiga.h b/src/mame/includes/amiga.h
index db1c5339f7b..63e5fc79375 100644
--- a/src/mame/includes/amiga.h
+++ b/src/mame/includes/amiga.h
@@ -412,8 +412,8 @@ public:
int m_aga_sprite_fetched_words;
int m_aga_sprite_dma_used_words[8];
- void video_start_amiga() ATTR_COLD;
- void video_start_amiga_aga() ATTR_COLD;
+ DECLARE_VIDEO_START( amiga );
+ DECLARE_VIDEO_START( amiga_aga );
DECLARE_PALETTE_INIT( amiga );
uint32_t screen_update_amiga(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/ampoker2.h b/src/mame/includes/ampoker2.h
index f0d8540df7b..f4fe5ede1a7 100644
--- a/src/mame/includes/ampoker2.h
+++ b/src/mame/includes/ampoker2.h
@@ -32,7 +32,7 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(s2k_get_bg_tile_info);
DECLARE_PALETTE_INIT(ampoker2);
- void video_start_sigma2k() ATTR_COLD;
+ DECLARE_VIDEO_START(sigma2k);
protected:
virtual void video_start() override;
diff --git a/src/mame/includes/amstrad.h b/src/mame/includes/amstrad.h
index abbbc52286b..94ffc948eb5 100644
--- a/src/mame/includes/amstrad.h
+++ b/src/mame/includes/amstrad.h
@@ -212,21 +212,21 @@ public:
DECLARE_WRITE8_MEMBER(amstrad_cpc_io_w);
DECLARE_READ8_MEMBER(amstrad_psg_porta_read);
void amstrad_plus_seqcheck(int data);
- void machine_start_amstrad() ATTR_COLD;
- void machine_reset_amstrad();
- void video_start_amstrad() ATTR_COLD;
+ DECLARE_MACHINE_START(amstrad);
+ DECLARE_MACHINE_RESET(amstrad);
+ DECLARE_VIDEO_START(amstrad);
DECLARE_PALETTE_INIT(amstrad_cpc);
DECLARE_PALETTE_INIT(amstrad_cpc_green);
- void machine_start_plus() ATTR_COLD;
- void machine_reset_plus();
+ DECLARE_MACHINE_START(plus);
+ DECLARE_MACHINE_RESET(plus);
DECLARE_PALETTE_INIT(amstrad_plus);
- void machine_start_gx4000() ATTR_COLD;
- void machine_reset_gx4000();
- void machine_start_kccomp() ATTR_COLD;
- void machine_reset_kccomp();
+ DECLARE_MACHINE_START(gx4000);
+ DECLARE_MACHINE_RESET(gx4000);
+ DECLARE_MACHINE_START(kccomp);
+ DECLARE_MACHINE_RESET(kccomp);
DECLARE_PALETTE_INIT(kccomp);
- void machine_start_aleste() ATTR_COLD;
- void machine_reset_aleste();
+ DECLARE_MACHINE_START(aleste);
+ DECLARE_MACHINE_RESET(aleste);
DECLARE_PALETTE_INIT(aleste);
uint32_t screen_update_amstrad(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank_amstrad);
diff --git a/src/mame/includes/apollo.h b/src/mame/includes/apollo.h
index aa4b6dacbd0..382cafb91bf 100644
--- a/src/mame/includes/apollo.h
+++ b/src/mame/includes/apollo.h
@@ -206,8 +206,8 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
- void machine_reset_apollo();
- void machine_start_apollo() ATTR_COLD;
+ DECLARE_MACHINE_RESET(apollo);
+ DECLARE_MACHINE_START(apollo);
IRQ_CALLBACK_MEMBER(apollo_irq_acknowledge);
IRQ_CALLBACK_MEMBER(apollo_pic_acknowledge);
diff --git a/src/mame/includes/apple2.h b/src/mame/includes/apple2.h
index ed7bf1c15de..b88d02703ab 100644
--- a/src/mame/includes/apple2.h
+++ b/src/mame/includes/apple2.h
@@ -330,20 +330,20 @@ public:
write8_delegate wd_inh_d000;
read8_delegate rd_inh_e000;
write8_delegate wd_inh_e000;
- void machine_start_apple2orig() ATTR_COLD;
- void machine_start_apple2e() ATTR_COLD;
- void machine_start_apple2c() ATTR_COLD;
- void machine_start_apple2cp() ATTR_COLD;
- void machine_start_tk2000() ATTR_COLD;
- void machine_start_tk3000() ATTR_COLD;
- void machine_start_laser128() ATTR_COLD;
- void machine_start_space84() ATTR_COLD;
- void machine_start_laba2p() ATTR_COLD;
- void video_start_apple2() ATTR_COLD;
+ DECLARE_MACHINE_START(apple2orig);
+ DECLARE_MACHINE_START(apple2e);
+ DECLARE_MACHINE_START(apple2c);
+ DECLARE_MACHINE_START(apple2cp);
+ DECLARE_MACHINE_START(tk2000);
+ DECLARE_MACHINE_START(tk3000);
+ DECLARE_MACHINE_START(laser128);
+ DECLARE_MACHINE_START(space84);
+ DECLARE_MACHINE_START(laba2p);
+ DECLARE_VIDEO_START(apple2);
DECLARE_PALETTE_INIT(apple2);
- void video_start_apple2p() ATTR_COLD;
- void video_start_apple2e() ATTR_COLD;
- void video_start_apple2c() ATTR_COLD;
+ DECLARE_VIDEO_START(apple2p);
+ DECLARE_VIDEO_START(apple2e);
+ DECLARE_VIDEO_START(apple2c);
uint32_t screen_update_apple2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(apple2_interrupt);
DECLARE_WRITE_LINE_MEMBER(a2bus_irq_w);
diff --git a/src/mame/includes/apple2gs.h b/src/mame/includes/apple2gs.h
index 442f0217e32..76252a8459d 100644
--- a/src/mame/includes/apple2gs.h
+++ b/src/mame/includes/apple2gs.h
@@ -190,12 +190,12 @@ public:
write8_delegate write_delegates_2gs0400[2];
write8_delegate write_delegates_2gs2000[2];
write8_delegate write_delegates_2gs4000[2];
- void machine_start_apple2gs() ATTR_COLD;
- void machine_reset_apple2gs();
- void video_start_apple2gs() ATTR_COLD;
+ DECLARE_MACHINE_START(apple2gs);
+ DECLARE_MACHINE_RESET(apple2gs);
+ DECLARE_VIDEO_START(apple2gs);
DECLARE_PALETTE_INIT(apple2gs);
- void machine_start_apple2gsr1() ATTR_COLD;
- void machine_start_apple2gscommon() ATTR_COLD;
+ DECLARE_MACHINE_START(apple2gsr1);
+ DECLARE_MACHINE_START(apple2gscommon);
uint32_t screen_update_apple2gs(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(apple2gs_clock_tick);
TIMER_CALLBACK_MEMBER(apple2gs_qsecond_tick);
diff --git a/src/mame/includes/apple3.h b/src/mame/includes/apple3.h
index 9bd645750d9..b35a7c33665 100644
--- a/src/mame/includes/apple3.h
+++ b/src/mame/includes/apple3.h
@@ -91,8 +91,8 @@ public:
DECLARE_READ8_MEMBER(apple3_c0xx_r);
DECLARE_WRITE8_MEMBER(apple3_c0xx_w);
void init_apple3();
- void machine_reset_apple3();
- void video_start_apple3() ATTR_COLD;
+ DECLARE_MACHINE_RESET(apple3);
+ DECLARE_VIDEO_START(apple3);
uint32_t screen_update_apple3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(apple3_interrupt);
TIMER_CALLBACK_MEMBER(scanstart_cb);
diff --git a/src/mame/includes/argus.h b/src/mame/includes/argus.h
index a352544e140..c111396fdb6 100644
--- a/src/mame/includes/argus.h
+++ b/src/mame/includes/argus.h
@@ -107,12 +107,12 @@ public:
TILE_GET_INFO_MEMBER(butasan_get_bg1_tile_info);
virtual void machine_start() override;
- void video_start_argus() ATTR_COLD;
- void video_reset_argus();
- void video_start_valtric() ATTR_COLD;
- void video_reset_valtric();
- void video_start_butasan() ATTR_COLD;
- void video_reset_butasan();
+ DECLARE_VIDEO_START(argus);
+ DECLARE_VIDEO_RESET(argus);
+ DECLARE_VIDEO_START(valtric);
+ DECLARE_VIDEO_RESET(valtric);
+ DECLARE_VIDEO_START(butasan);
+ DECLARE_VIDEO_RESET(butasan);
uint32_t screen_update_argus(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_valtric(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/armedf.h b/src/mame/includes/armedf.h
index cef31ba7402..b76b14045d6 100644
--- a/src/mame/includes/armedf.h
+++ b/src/mame/includes/armedf.h
@@ -94,10 +94,10 @@ public:
TILE_GET_INFO_MEMBER(get_armedf_tx_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
- void machine_start_armedf() ATTR_COLD;
- void machine_reset_armedf();
- void video_start_terraf() ATTR_COLD;
- void video_start_armedf() ATTR_COLD;
+ DECLARE_MACHINE_START(armedf);
+ DECLARE_MACHINE_RESET(armedf);
+ DECLARE_VIDEO_START(terraf);
+ DECLARE_VIDEO_START(armedf);
uint32_t screen_update_armedf(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int priority );
void armedf_drawgfx(bitmap_ind16 &dest_bmp,const rectangle &clip,gfx_element *gfx,
diff --git a/src/mame/includes/astrocde.h b/src/mame/includes/astrocde.h
index 7a56b8bd2bc..4f35cefd134 100644
--- a/src/mame/includes/astrocde.h
+++ b/src/mame/includes/astrocde.h
@@ -154,7 +154,7 @@ public:
void init_astrocde();
virtual void video_start() override;
DECLARE_PALETTE_INIT(astrocde);
- void video_start_profpac() ATTR_COLD;
+ DECLARE_VIDEO_START(profpac);
DECLARE_PALETTE_INIT(profpac);
uint32_t screen_update_astrocde(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_profpac(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/astrof.h b/src/mame/includes/astrof.h
index 57571b53e56..80b3c6a5029 100644
--- a/src/mame/includes/astrof.h
+++ b/src/mame/includes/astrof.h
@@ -76,11 +76,11 @@ public:
void init_sstarbtl();
void init_acombat3();
virtual void video_start() override;
- void machine_start_astrof() ATTR_COLD;
- void machine_start_abattle() ATTR_COLD;
- void machine_reset_abattle();
- void machine_start_spfghmk2() ATTR_COLD;
- void machine_start_tomahawk() ATTR_COLD;
+ DECLARE_MACHINE_START(astrof);
+ DECLARE_MACHINE_START(abattle);
+ DECLARE_MACHINE_RESET(abattle);
+ DECLARE_MACHINE_START(spfghmk2);
+ DECLARE_MACHINE_START(tomahawk);
uint32_t screen_update_astrof(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_tomahawk(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(irq_callback);
diff --git a/src/mame/includes/atarig1.h b/src/mame/includes/atarig1.h
index a4282fc9779..f2cd433ae58 100644
--- a/src/mame/includes/atarig1.h
+++ b/src/mame/includes/atarig1.h
@@ -62,9 +62,9 @@ public:
void init_pitfightb();
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
- void machine_start_atarig1() ATTR_COLD;
- void machine_reset_atarig1();
- void video_start_atarig1() ATTR_COLD;
+ DECLARE_MACHINE_START(atarig1);
+ DECLARE_MACHINE_RESET(atarig1);
+ DECLARE_VIDEO_START(atarig1);
uint32_t screen_update_atarig1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void atarig1(machine_config &config);
void pitfightj(machine_config &config);
diff --git a/src/mame/includes/atarig42.h b/src/mame/includes/atarig42.h
index 27011dd4b26..56ee8830eea 100644
--- a/src/mame/includes/atarig42.h
+++ b/src/mame/includes/atarig42.h
@@ -43,7 +43,7 @@ protected:
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
TILEMAP_MAPPER_MEMBER(atarig42_playfield_scan);
- void video_start_atarig42() ATTR_COLD;
+ DECLARE_VIDEO_START(atarig42);
uint32_t screen_update_atarig42(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void atarig42(machine_config &config);
void main_map(address_map &map);
diff --git a/src/mame/includes/atarigt.h b/src/mame/includes/atarigt.h
index d29bac19e31..f42940f556f 100644
--- a/src/mame/includes/atarigt.h
+++ b/src/mame/includes/atarigt.h
@@ -86,9 +86,9 @@ public:
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
TILEMAP_MAPPER_MEMBER(atarigt_playfield_scan);
- void machine_start_atarigt() ATTR_COLD;
- void machine_reset_atarigt();
- void video_start_atarigt() ATTR_COLD;
+ DECLARE_MACHINE_START(atarigt);
+ DECLARE_MACHINE_RESET(atarigt);
+ DECLARE_VIDEO_START(atarigt);
uint32_t screen_update_atarigt(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void atarigt(machine_config &config);
void tmek(machine_config &config);
diff --git a/src/mame/includes/atarisy1.h b/src/mame/includes/atarisy1.h
index 0e58ebc6e28..e7cf6d2253a 100644
--- a/src/mame/includes/atarisy1.h
+++ b/src/mame/includes/atarisy1.h
@@ -89,9 +89,9 @@ public:
void init_indytemp();
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
- void machine_start_atarisy1() ATTR_COLD;
- void machine_reset_atarisy1();
- void video_start_atarisy1() ATTR_COLD;
+ DECLARE_MACHINE_START(atarisy1);
+ DECLARE_MACHINE_RESET(atarisy1);
+ DECLARE_VIDEO_START(atarisy1);
uint32_t screen_update_atarisy1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(joystick_int);
TIMER_DEVICE_CALLBACK_MEMBER(atarisy1_reset_yscroll_callback);
diff --git a/src/mame/includes/atarisy2.h b/src/mame/includes/atarisy2.h
index edccdc46f18..b274be89577 100644
--- a/src/mame/includes/atarisy2.h
+++ b/src/mame/includes/atarisy2.h
@@ -102,9 +102,9 @@ public:
void init_720();
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
- void machine_start_atarisy2() ATTR_COLD;
- void machine_reset_atarisy2();
- void video_start_atarisy2() ATTR_COLD;
+ DECLARE_MACHINE_START(atarisy2);
+ DECLARE_MACHINE_RESET(atarisy2);
+ DECLARE_VIDEO_START(atarisy2);
uint32_t screen_update_atarisy2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(vblank_int);
TIMER_CALLBACK_MEMBER(delayed_int_enable_w);
diff --git a/src/mame/includes/badlands.h b/src/mame/includes/badlands.h
index 7acc284634f..612aed65c48 100644
--- a/src/mame/includes/badlands.h
+++ b/src/mame/includes/badlands.h
@@ -59,9 +59,9 @@ public:
DECLARE_WRITE8_MEMBER(audio_io_w);
void init_badlands();
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
- void machine_start_badlands() ATTR_COLD;
- void machine_reset_badlands();
- void video_start_badlands() ATTR_COLD;
+ DECLARE_MACHINE_START(badlands);
+ DECLARE_MACHINE_RESET(badlands);
+ DECLARE_VIDEO_START(badlands);
uint32_t screen_update_badlands(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(vblank_int);
DECLARE_WRITE16_MEMBER(video_int_ack_w);
diff --git a/src/mame/includes/battlex.h b/src/mame/includes/battlex.h
index 747876fb864..b759c516566 100644
--- a/src/mame/includes/battlex.h
+++ b/src/mame/includes/battlex.h
@@ -47,7 +47,7 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
- void video_start_dodgeman(); ATTR_COLD
+ DECLARE_VIDEO_START(dodgeman);
TILE_GET_INFO_MEMBER(get_dodgeman_bg_tile_info);
void dodgeman(machine_config &config);
void battlex(machine_config &config);
diff --git a/src/mame/includes/bbc.h b/src/mame/includes/bbc.h
index 325012c241e..1d81608cb24 100644
--- a/src/mame/includes/bbc.h
+++ b/src/mame/includes/bbc.h
@@ -145,22 +145,22 @@ public:
DECLARE_READ8_MEMBER(bbc_fe_r);
void init_bbc();
- void video_start_bbc() ATTR_COLD;
-
- void machine_start_bbca() ATTR_COLD;
- void machine_reset_bbca();
- void machine_start_bbcb() ATTR_COLD;
- void machine_reset_bbcb();
- void machine_reset_torch();
- void machine_start_bbcbp() ATTR_COLD;
- void machine_reset_bbcbp();
- void machine_start_bbcm() ATTR_COLD;
- void machine_reset_bbcm();
- void machine_start_bbcmc() ATTR_COLD;
- void machine_reset_bbcmc();
- void machine_reset_ltmpbp();
- void machine_reset_ltmpm();
- void machine_start_cfa3000() ATTR_COLD;
+ DECLARE_VIDEO_START(bbc);
+
+ DECLARE_MACHINE_START(bbca);
+ DECLARE_MACHINE_RESET(bbca);
+ DECLARE_MACHINE_START(bbcb);
+ DECLARE_MACHINE_RESET(bbcb);
+ DECLARE_MACHINE_RESET(torch);
+ DECLARE_MACHINE_START(bbcbp);
+ DECLARE_MACHINE_RESET(bbcbp);
+ DECLARE_MACHINE_START(bbcm);
+ DECLARE_MACHINE_RESET(bbcm);
+ DECLARE_MACHINE_START(bbcmc);
+ DECLARE_MACHINE_RESET(bbcmc);
+ DECLARE_MACHINE_RESET(ltmpbp);
+ DECLARE_MACHINE_RESET(ltmpm);
+ DECLARE_MACHINE_START(cfa3000);
DECLARE_PALETTE_INIT(bbc);
INTERRUPT_GEN_MEMBER(bbcb_keyscan);
diff --git a/src/mame/includes/bbusters.h b/src/mame/includes/bbusters.h
index 1c095b9da8c..8c026972105 100644
--- a/src/mame/includes/bbusters.h
+++ b/src/mame/includes/bbusters.h
@@ -65,8 +65,8 @@ public:
TILE_GET_INFO_MEMBER(get_pf2_tile_info);
virtual void machine_start() override;
- void video_start_bbuster() ATTR_COLD;
- void video_start_mechatt() ATTR_COLD;
+ DECLARE_VIDEO_START(bbuster);
+ DECLARE_VIDEO_START(mechatt);
uint32_t screen_update_bbuster(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_mechatt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/bking.h b/src/mame/includes/bking.h
index c01f11a7457..69fc79967b6 100644
--- a/src/mame/includes/bking.h
+++ b/src/mame/includes/bking.h
@@ -88,9 +88,9 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
DECLARE_PALETTE_INIT(bking);
- void machine_start_bking3() ATTR_COLD;
- void machine_reset_bking3();
- void machine_reset_common();
+ DECLARE_MACHINE_START(bking3);
+ DECLARE_MACHINE_RESET(bking3);
+ DECLARE_MACHINE_RESET(common);
uint32_t screen_update_bking(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank_bking);
void bking(machine_config &config);
diff --git a/src/mame/includes/blmbycar.h b/src/mame/includes/blmbycar.h
index 41401696dd0..8ceba7a8929 100644
--- a/src/mame/includes/blmbycar.h
+++ b/src/mame/includes/blmbycar.h
@@ -60,10 +60,10 @@ public:
void init_blmbycar();
virtual void video_start() override;
- void machine_start_blmbycar() ATTR_COLD;
- void machine_reset_blmbycar();
- void machine_start_watrball() ATTR_COLD;
- void machine_reset_watrball();
+ DECLARE_MACHINE_START(blmbycar);
+ DECLARE_MACHINE_RESET(blmbycar);
+ DECLARE_MACHINE_START(watrball);
+ DECLARE_MACHINE_RESET(watrball);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect );
diff --git a/src/mame/includes/blstroid.h b/src/mame/includes/blstroid.h
index e45ad94966f..78c48fcbb0c 100644
--- a/src/mame/includes/blstroid.h
+++ b/src/mame/includes/blstroid.h
@@ -40,7 +40,7 @@ protected:
virtual void scanline_update(screen_device &screen, int scanline) override;
DECLARE_WRITE16_MEMBER(blstroid_halt_until_hblank_0_w);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
- void video_start_blstroid() ATTR_COLD;
+ DECLARE_VIDEO_START(blstroid);
uint32_t screen_update_blstroid(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void main_map(address_map &map);
diff --git a/src/mame/includes/blueprnt.h b/src/mame/includes/blueprnt.h
index 4481fc90abc..6d23fc3ddab 100644
--- a/src/mame/includes/blueprnt.h
+++ b/src/mame/includes/blueprnt.h
@@ -52,7 +52,7 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
virtual void machine_start() override;
virtual void machine_reset() override;
- void video_start_blueprnt() ATTR_COLD;
+ DECLARE_VIDEO_START(blueprnt);
DECLARE_PALETTE_INIT(blueprnt);
uint32_t screen_update_blueprnt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
diff --git a/src/mame/includes/bosco.h b/src/mame/includes/bosco.h
index 256581d524b..fe5473e85f7 100644
--- a/src/mame/includes/bosco.h
+++ b/src/mame/includes/bosco.h
@@ -30,7 +30,7 @@ public:
TILEMAP_MAPPER_MEMBER(fg_tilemap_scan);
TILE_GET_INFO_MEMBER(bg_get_tile_info);
TILE_GET_INFO_MEMBER(fg_get_tile_info);
- void video_start_bosco() ATTR_COLD;
+ DECLARE_VIDEO_START(bosco);
DECLARE_PALETTE_INIT(bosco);
uint32_t screen_update_bosco(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank_bosco);
diff --git a/src/mame/includes/btime.h b/src/mame/includes/btime.h
index a112e1b7553..38af9ef7f05 100644
--- a/src/mame/includes/btime.h
+++ b/src/mame/includes/btime.h
@@ -108,15 +108,15 @@ public:
void init_protennb();
void init_disco();
void init_lnc();
- void machine_start_btime() ATTR_COLD;
- void machine_reset_btime();
+ DECLARE_MACHINE_START(btime);
+ DECLARE_MACHINE_RESET(btime);
DECLARE_PALETTE_INIT(btime);
- void machine_reset_lnc();
+ DECLARE_MACHINE_RESET(lnc);
DECLARE_PALETTE_INIT(lnc);
- void machine_start_mmonkey() ATTR_COLD;
- void machine_reset_mmonkey();
- void video_start_bnj() ATTR_COLD;
- void video_start_disco() ATTR_COLD;
+ DECLARE_MACHINE_START(mmonkey);
+ DECLARE_MACHINE_RESET(mmonkey);
+ DECLARE_VIDEO_START(bnj);
+ DECLARE_VIDEO_START(disco);
uint32_t screen_update_btime(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_cookrace(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_lnc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/bublbobl.h b/src/mame/includes/bublbobl.h
index b18f7873728..1bf355da100 100644
--- a/src/mame/includes/bublbobl.h
+++ b/src/mame/includes/bublbobl.h
@@ -120,15 +120,14 @@ public:
void init_dland();
void init_common();
- void machine_start_tokio() ATTR_COLD;
- void machine_reset_tokio();
- void machine_start_bublbobl() ATTR_COLD;
- void machine_reset_bublbobl();
- void machine_start_boblbobl() ATTR_COLD;
- void machine_reset_boblbobl();
- void machine_start_common() ATTR_COLD;
- void machine_reset_common();
-
+ DECLARE_MACHINE_START(tokio);
+ DECLARE_MACHINE_RESET(tokio);
+ DECLARE_MACHINE_START(bublbobl);
+ DECLARE_MACHINE_RESET(bublbobl);
+ DECLARE_MACHINE_START(boblbobl);
+ DECLARE_MACHINE_RESET(boblbobl);
+ DECLARE_MACHINE_START(common);
+ DECLARE_MACHINE_RESET(common);
uint32_t screen_update_bublbobl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void configure_banks();
@@ -173,8 +172,8 @@ public:
INTERRUPT_GEN_MEMBER(bublbobl_m68705_interrupt);
- void machine_start_bub68705() ATTR_COLD;
- void machine_reset_bub68705();
+ DECLARE_MACHINE_START(bub68705);
+ DECLARE_MACHINE_RESET(bub68705);
void bub68705(machine_config &config);
protected:
diff --git a/src/mame/includes/cabal.h b/src/mame/includes/cabal.h
index 3b53c024ad0..ec0a72e15d0 100644
--- a/src/mame/includes/cabal.h
+++ b/src/mame/includes/cabal.h
@@ -58,8 +58,8 @@ public:
DECLARE_WRITE8_MEMBER(cabalbl_2_adpcm_w);
void init_cabal();
- void machine_start_cabalbl() ATTR_COLD;
- void machine_reset_cabalbl();
+ DECLARE_MACHINE_START(cabalbl);
+ DECLARE_MACHINE_RESET(cabalbl);
virtual void video_start() override;
TILE_GET_INFO_MEMBER(get_back_tile_info);
diff --git a/src/mame/includes/cave.h b/src/mame/includes/cave.h
index 1826ce8289c..3bae5ccb4c9 100644
--- a/src/mame/includes/cave.h
+++ b/src/mame/includes/cave.h
@@ -223,20 +223,20 @@ public:
void init_ppsatan();
TILE_GET_INFO_MEMBER(sailormn_get_tile_info_2);
template<int Chip> TILE_GET_INFO_MEMBER(get_tile_info);
- void machine_start_cave() ATTR_COLD;
- void machine_reset_cave();
- void machine_reset_sailormn();
- void video_start_cave_2_layers() ATTR_COLD;
+ DECLARE_MACHINE_START(cave);
+ DECLARE_MACHINE_RESET(cave);
+ DECLARE_MACHINE_RESET(sailormn);
+ DECLARE_VIDEO_START(cave_2_layers);
DECLARE_PALETTE_INIT(dfeveron);
- void video_start_cave_3_layers() ATTR_COLD;
+ DECLARE_VIDEO_START(cave_3_layers);
DECLARE_PALETTE_INIT(ddonpach);
DECLARE_PALETTE_INIT(cave);
- void video_start_cave_1_layer() ATTR_COLD;
+ DECLARE_VIDEO_START(cave_1_layer);
DECLARE_PALETTE_INIT(korokoro);
DECLARE_PALETTE_INIT(mazinger);
- void video_start_cave_4_layers() ATTR_COLD;
+ DECLARE_VIDEO_START(cave_4_layers);
DECLARE_PALETTE_INIT(pwrinst2);
- void video_start_sailormn_3_layers() ATTR_COLD;
+ DECLARE_VIDEO_START(sailormn_3_layers);
DECLARE_PALETTE_INIT(sailormn);
DECLARE_PALETTE_INIT(ppsatan);
uint32_t screen_update_cave(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/cclimber.h b/src/mame/includes/cclimber.h
index 09ae03334fb..7bdcfe6cb94 100644
--- a/src/mame/includes/cclimber.h
+++ b/src/mame/includes/cclimber.h
@@ -82,12 +82,12 @@ public:
void init_cannonb();
void init_dking();
void init_rpatrol();
- void video_start_cclimber() ATTR_COLD;
+ DECLARE_VIDEO_START(cclimber);
DECLARE_PALETTE_INIT(cclimber);
- void video_start_swimmer() ATTR_COLD;
+ DECLARE_VIDEO_START(swimmer);
DECLARE_PALETTE_INIT(swimmer);
DECLARE_PALETTE_INIT(yamato);
- void video_start_toprollr() ATTR_COLD;
+ DECLARE_VIDEO_START(toprollr);
DECLARE_PALETTE_INIT(toprollr);
TILE_GET_INFO_MEMBER(cclimber_get_pf_tile_info);
diff --git a/src/mame/includes/cdi.h b/src/mame/includes/cdi.h
index 37136aea8b1..e39f6e83ba9 100644
--- a/src/mame/includes/cdi.h
+++ b/src/mame/includes/cdi.h
@@ -106,12 +106,12 @@ public:
virtual void machine_start() override { }
virtual void video_start() override;
- void machine_reset_cdimono1();
- void machine_reset_cdimono2();
- void machine_reset_quizard1();
- void machine_reset_quizard2();
- void machine_reset_quizard3();
- void machine_reset_quizard4();
+ DECLARE_MACHINE_RESET(cdimono1);
+ DECLARE_MACHINE_RESET(cdimono2);
+ DECLARE_MACHINE_RESET(quizard1);
+ DECLARE_MACHINE_RESET(quizard2);
+ DECLARE_MACHINE_RESET(quizard3);
+ DECLARE_MACHINE_RESET(quizard4);
DECLARE_READ8_MEMBER(servo_io_r);
DECLARE_WRITE8_MEMBER(servo_io_w);
DECLARE_READ8_MEMBER(slave_io_r);
diff --git a/src/mame/includes/centiped.h b/src/mame/includes/centiped.h
index b6a659f92a6..2c2dcbf9f25 100644
--- a/src/mame/includes/centiped.h
+++ b/src/mame/includes/centiped.h
@@ -103,13 +103,13 @@ private:
TILE_GET_INFO_MEMBER(warlords_get_tile_info);
TILE_GET_INFO_MEMBER(milliped_get_tile_info);
TILE_GET_INFO_MEMBER(bullsdrt_get_tile_info);
- void machine_start_centiped() ATTR_COLD;
- void machine_reset_centiped();
- void video_start_centiped() ATTR_COLD;
- void video_start_bullsdrt() ATTR_COLD;
- void machine_reset_magworm();
- void video_start_milliped() ATTR_COLD;
- void video_start_warlords() ATTR_COLD;
+ DECLARE_MACHINE_START(centiped);
+ DECLARE_MACHINE_RESET(centiped);
+ DECLARE_VIDEO_START(centiped);
+ DECLARE_VIDEO_START(bullsdrt);
+ DECLARE_MACHINE_RESET(magworm);
+ DECLARE_VIDEO_START(milliped);
+ DECLARE_VIDEO_START(warlords);
DECLARE_PALETTE_INIT(warlords);
uint32_t screen_update_centiped(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_bullsdrt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/champbas.h b/src/mame/includes/champbas.h
index 0795ec1c11d..b938cc5f4e3 100644
--- a/src/mame/includes/champbas.h
+++ b/src/mame/includes/champbas.h
@@ -68,8 +68,8 @@ public:
DECLARE_PALETTE_INIT(champbas);
DECLARE_PALETTE_INIT(exctsccr);
- void video_start_champbas() ATTR_COLD;
- void video_start_exctsccr() ATTR_COLD;
+ DECLARE_VIDEO_START(champbas);
+ DECLARE_VIDEO_START(exctsccr);
TILE_GET_INFO_MEMBER(champbas_get_bg_tile_info);
TILE_GET_INFO_MEMBER(exctsccr_get_bg_tile_info);
diff --git a/src/mame/includes/cinemat.h b/src/mame/includes/cinemat.h
index 9e9a83891c1..2841726dd98 100644
--- a/src/mame/includes/cinemat.h
+++ b/src/mame/includes/cinemat.h
@@ -98,12 +98,12 @@ public:
virtual void sound_start() override;
virtual void sound_reset() override;
virtual void video_start() override;
- void sound_reset_demon();
- void sound_reset_qb3();
- void video_start_cinemat_16level() ATTR_COLD;
- void video_start_cinemat_64level() ATTR_COLD;
- void video_start_cinemat_color() ATTR_COLD;
- void video_start_cinemat_qb3color() ATTR_COLD;
+ DECLARE_SOUND_RESET(demon);
+ DECLARE_SOUND_RESET(qb3);
+ DECLARE_VIDEO_START(cinemat_16level);
+ DECLARE_VIDEO_START(cinemat_64level);
+ DECLARE_VIDEO_START(cinemat_color);
+ DECLARE_VIDEO_START(cinemat_qb3color);
uint32_t screen_update_cinemat(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_spacewar(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_READ8_MEMBER(sound_porta_r);
diff --git a/src/mame/includes/clshroad.h b/src/mame/includes/clshroad.h
index b2926d18ca8..6d8b89d6905 100644
--- a/src/mame/includes/clshroad.h
+++ b/src/mame/includes/clshroad.h
@@ -46,9 +46,9 @@ public:
void init_firebatl();
virtual void machine_reset() override;
- void video_start_firebatl() ATTR_COLD;
+ DECLARE_VIDEO_START(firebatl);
DECLARE_PALETTE_INIT(firebatl);
- void video_start_clshroad() ATTR_COLD;
+ DECLARE_VIDEO_START(clshroad);
DECLARE_PALETTE_INIT(clshroad);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/cninja.h b/src/mame/includes/cninja.h
index 353fe243bbc..b101a2e49fe 100644
--- a/src/mame/includes/cninja.h
+++ b/src/mame/includes/cninja.h
@@ -61,10 +61,10 @@ public:
DECLARE_WRITE8_MEMBER(cninjabl2_oki_bank_w);
void init_mutantf();
void init_cninjabl2();
- void machine_start_robocop2() ATTR_COLD;
- void machine_reset_robocop2();
- void video_start_stoneage() ATTR_COLD;
- void video_start_mutantf() ATTR_COLD;
+ DECLARE_MACHINE_START(robocop2);
+ DECLARE_MACHINE_RESET(robocop2);
+ DECLARE_VIDEO_START(stoneage);
+ DECLARE_VIDEO_START(mutantf);
uint32_t screen_update_cninja(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_cninjabl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_cninjabl2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/combatsc.h b/src/mame/includes/combatsc.h
index bc3803d4d23..957a217e8b4 100644
--- a/src/mame/includes/combatsc.h
+++ b/src/mame/includes/combatsc.h
@@ -104,11 +104,11 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info1_bootleg);
TILE_GET_INFO_MEMBER(get_text_info_bootleg);
virtual void machine_reset() override;
- void machine_start_combatsc() ATTR_COLD;
- void video_start_combatsc() ATTR_COLD;
+ DECLARE_MACHINE_START(combatsc);
+ DECLARE_VIDEO_START(combatsc);
DECLARE_PALETTE_INIT(combatsc);
- void machine_start_combatscb() ATTR_COLD;
- void video_start_combatscb() ATTR_COLD;
+ DECLARE_MACHINE_START(combatscb);
+ DECLARE_VIDEO_START(combatscb);
DECLARE_PALETTE_INIT(combatscb);
uint32_t screen_update_combatsc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_combatscb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/coolpool.h b/src/mame/includes/coolpool.h
index b2c8b7b9a5e..ee06b54ba88 100644
--- a/src/mame/includes/coolpool.h
+++ b/src/mame/includes/coolpool.h
@@ -68,8 +68,8 @@ public:
void init_coolpool();
void init_amerdart();
void init_9ballsht();
- void machine_reset_amerdart();
- void machine_reset_coolpool();
+ DECLARE_MACHINE_RESET(amerdart);
+ DECLARE_MACHINE_RESET(coolpool);
TIMER_DEVICE_CALLBACK_MEMBER(nvram_write_timeout);
TIMER_DEVICE_CALLBACK_MEMBER(amerdart_audio_int_gen);
void register_state_save();
diff --git a/src/mame/includes/cosmic.h b/src/mame/includes/cosmic.h
index b4f735bbbb7..9cc06ec17dd 100644
--- a/src/mame/includes/cosmic.h
+++ b/src/mame/includes/cosmic.h
@@ -84,9 +84,9 @@ public:
void init_nomnlnd();
void init_cosmica();
void init_panic();
- void machine_start_cosmic() ATTR_COLD;
- void machine_reset_cosmic();
- void machine_reset_cosmicg();
+ DECLARE_MACHINE_START(cosmic);
+ DECLARE_MACHINE_RESET(cosmic);
+ DECLARE_MACHINE_RESET(cosmicg);
DECLARE_PALETTE_INIT(cosmicg);
DECLARE_PALETTE_INIT(panic);
DECLARE_PALETTE_INIT(cosmica);
diff --git a/src/mame/includes/cps1.h b/src/mame/includes/cps1.h
index f78aab06bc2..51ec10adafb 100644
--- a/src/mame/includes/cps1.h
+++ b/src/mame/includes/cps1.h
@@ -311,16 +311,16 @@ public:
TILE_GET_INFO_MEMBER(get_tile0_info);
TILE_GET_INFO_MEMBER(get_tile1_info);
TILE_GET_INFO_MEMBER(get_tile2_info);
- void machine_start_cps1() ATTR_COLD;
- void video_start_cps1() ATTR_COLD;
- void machine_start_common() ATTR_COLD;
- void machine_start_cps2() ATTR_COLD;
- void video_start_cps2() ATTR_COLD;
- void machine_start_qsound() ATTR_COLD;
- void machine_start_ganbare() ATTR_COLD;
- void machine_reset_cps();
- void video_start_cps() ATTR_COLD;
- void machine_start_sf2m1() ATTR_COLD;
+ DECLARE_MACHINE_START(cps1);
+ DECLARE_VIDEO_START(cps1);
+ DECLARE_MACHINE_START(common);
+ DECLARE_MACHINE_START(cps2);
+ DECLARE_VIDEO_START(cps2);
+ DECLARE_MACHINE_START(qsound);
+ DECLARE_MACHINE_START(ganbare);
+ DECLARE_MACHINE_RESET(cps);
+ DECLARE_VIDEO_START(cps);
+ DECLARE_MACHINE_START(sf2m1);
uint32_t screen_update_cps1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank_cps1);
INTERRUPT_GEN_MEMBER(cps1_interrupt);
@@ -345,16 +345,16 @@ public:
void init_sf2b();
void init_slampic();
void init_wofabl();
- void machine_start_fcrash() ATTR_COLD;
- void machine_reset_fcrash();
- void machine_start_cawingbl() ATTR_COLD;
- void machine_start_dinopic() ATTR_COLD;
- void machine_start_knightsb() ATTR_COLD;
- void machine_start_kodb() ATTR_COLD;
- void machine_start_punipic() ATTR_COLD;
- void machine_start_sf2mdt() ATTR_COLD;
- void machine_start_slampic() ATTR_COLD;
- void machine_start_sgyxz() ATTR_COLD;
+ DECLARE_MACHINE_START(fcrash);
+ DECLARE_MACHINE_RESET(fcrash);
+ DECLARE_MACHINE_START(cawingbl);
+ DECLARE_MACHINE_START(dinopic);
+ DECLARE_MACHINE_START(knightsb);
+ DECLARE_MACHINE_START(kodb);
+ DECLARE_MACHINE_START(punipic);
+ DECLARE_MACHINE_START(sf2mdt);
+ DECLARE_MACHINE_START(slampic);
+ DECLARE_MACHINE_START(sgyxz);
DECLARE_WRITE16_MEMBER(cawingbl_soundlatch_w);
DECLARE_WRITE16_MEMBER(dinopic_layer_w);
DECLARE_WRITE16_MEMBER(dinopic_layer2_w);
diff --git a/src/mame/includes/cvs.h b/src/mame/includes/cvs.h
index 94afa6eb9b7..b36f0b89159 100644
--- a/src/mame/includes/cvs.h
+++ b/src/mame/includes/cvs.h
@@ -127,9 +127,9 @@ public:
void init_hero();
void init_superbik();
void init_hunchbaka();
- void machine_start_cvs() ATTR_COLD;
- void machine_reset_cvs();
- void video_start_cvs() ATTR_COLD;
+ DECLARE_MACHINE_START(cvs);
+ DECLARE_MACHINE_RESET(cvs);
+ DECLARE_VIDEO_START(cvs);
DECLARE_PALETTE_INIT(cvs);
uint32_t screen_update_cvs(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(cvs_main_cpu_interrupt);
diff --git a/src/mame/includes/dc.h b/src/mame/includes/dc.h
index 0aa161293e9..0c8c8558a1d 100644
--- a/src/mame/includes/dc.h
+++ b/src/mame/includes/dc.h
@@ -94,7 +94,7 @@ class dc_state : public driver_device
void generic_dma(uint32_t main_adr, void *dma_ptr, uint32_t length, uint32_t size, bool to_mainram);
TIMER_DEVICE_CALLBACK_MEMBER(dc_scanline);
- void machine_reset_dc_console();
+ DECLARE_MACHINE_RESET(dc_console);
void naomi_aw_base(machine_config &config);
void dc_audio_map(address_map &map);
diff --git a/src/mame/includes/ddragon.h b/src/mame/includes/ddragon.h
index 25351b19e05..f1c6a6455bc 100644
--- a/src/mame/includes/ddragon.h
+++ b/src/mame/includes/ddragon.h
@@ -98,9 +98,9 @@ public:
void draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect);
uint32_t screen_update_ddragon(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void machine_start_ddragon() ATTR_COLD;
- void machine_reset_ddragon();
- void video_start_ddragon() ATTR_COLD;
+ DECLARE_MACHINE_START(ddragon);
+ DECLARE_MACHINE_RESET(ddragon);
+ DECLARE_VIDEO_START(ddragon);
TIMER_DEVICE_CALLBACK_MEMBER(ddragon_scanline);
diff --git a/src/mame/includes/ddragon3.h b/src/mame/includes/ddragon3.h
index 26b3184b66c..5c0855cf307 100644
--- a/src/mame/includes/ddragon3.h
+++ b/src/mame/includes/ddragon3.h
@@ -129,7 +129,7 @@ public:
TILE_GET_INFO_MEMBER(get_fg0_tile_info);
virtual void video_start() override;
- void video_start_wwfwfstb() ATTR_COLD;
+ DECLARE_VIDEO_START(wwfwfstb);
uint32_t screen_update_wwfwfest(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void wwfwfest(machine_config &config);
diff --git a/src/mame/includes/dec0.h b/src/mame/includes/dec0.h
index eb5e451dafa..2edfd3670d5 100644
--- a/src/mame/includes/dec0.h
+++ b/src/mame/includes/dec0.h
@@ -104,9 +104,9 @@ public:
void init_ffantasybl();
virtual void machine_start() override;
- void machine_reset_slyspy();
- void video_start_dec0() ATTR_COLD;
- void video_start_dec0_nodma() ATTR_COLD;
+ DECLARE_MACHINE_RESET(slyspy);
+ DECLARE_VIDEO_START(dec0);
+ DECLARE_VIDEO_START(dec0_nodma);
uint32_t screen_update_hbarrel(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_baddudes(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/dec8.h b/src/mame/includes/dec8.h
index 92177bc69de..1c78b79f80d 100644
--- a/src/mame/includes/dec8.h
+++ b/src/mame/includes/dec8.h
@@ -157,14 +157,14 @@ public:
TILE_GET_INFO_MEMBER(get_gondo_tile_info);
virtual void machine_start() override;
virtual void machine_reset() override;
- void video_start_lastmisn() ATTR_COLD;
- void video_start_shackled() ATTR_COLD;
- void video_start_gondo() ATTR_COLD;
- void video_start_garyoret() ATTR_COLD;
- void video_start_ghostb() ATTR_COLD;
- void video_start_oscar() ATTR_COLD;
- void video_start_srdarwin() ATTR_COLD;
- void video_start_cobracom() ATTR_COLD;
+ DECLARE_VIDEO_START(lastmisn);
+ DECLARE_VIDEO_START(shackled);
+ DECLARE_VIDEO_START(gondo);
+ DECLARE_VIDEO_START(garyoret);
+ DECLARE_VIDEO_START(ghostb);
+ DECLARE_VIDEO_START(oscar);
+ DECLARE_VIDEO_START(srdarwin);
+ DECLARE_VIDEO_START(cobracom);
void allocate_buffered_spriteram16();
uint32_t screen_update_lastmisn(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_shackled(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/deco32.h b/src/mame/includes/deco32.h
index d7702f638e4..7250d0df2e9 100644
--- a/src/mame/includes/deco32.h
+++ b/src/mame/includes/deco32.h
@@ -112,7 +112,7 @@ public:
DECLARE_READ8_MEMBER(captaven_dsw3_r);
DECLARE_READ8_MEMBER(captaven_soundcpu_status_r);
- void video_start_captaven() ATTR_COLD;
+ DECLARE_VIDEO_START(captaven);
void init_captaven();
uint32_t screen_update_captaven(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -138,7 +138,7 @@ public:
DECLARE_READ32_MEMBER(unk_status_r);
void init_fghthist();
- void video_start_fghthist() ATTR_COLD;
+ DECLARE_VIDEO_START(fghthist);
uint32_t screen_update_fghthist(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
@@ -168,7 +168,7 @@ public:
void init_tattass();
void init_nslasher();
- void video_start_nslasher() ATTR_COLD;
+ DECLARE_VIDEO_START(nslasher);
uint32_t screen_update_nslasher(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
@@ -241,7 +241,7 @@ public:
void init_dragngun();
void init_dragngunj();
void init_lockload();
- void video_start_dragngun() ATTR_COLD;
+ DECLARE_VIDEO_START(dragngun);
void dragngun_init_common();
DECLARE_INPUT_CHANGED_MEMBER(lockload_gun_trigger);
diff --git a/src/mame/includes/deco_mlc.h b/src/mame/includes/deco_mlc.h
index 3a6b067c407..e63af284675 100644
--- a/src/mame/includes/deco_mlc.h
+++ b/src/mame/includes/deco_mlc.h
@@ -76,8 +76,8 @@ public:
void init_mlc();
void init_avengrgs();
- void machine_reset_mlc();
- void video_start_mlc() ATTR_COLD;
+ DECLARE_MACHINE_RESET(mlc);
+ DECLARE_VIDEO_START(mlc);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank_mlc);
TIMER_DEVICE_CALLBACK_MEMBER(interrupt_gen);
diff --git a/src/mame/includes/decocass.h b/src/mame/includes/decocass.h
index aa8c4bcbaa0..29bc9666697 100644
--- a/src/mame/includes/decocass.h
+++ b/src/mame/includes/decocass.h
@@ -219,23 +219,23 @@ public:
m_type1_map = nullptr;
}
- void machine_reset_ctsttape();
- void machine_reset_chwy();
- void machine_reset_cdsteljn();
- void machine_reset_cterrani();
- void machine_reset_castfant();
- void machine_reset_csuperas();
- void machine_reset_cmanhat();
- void machine_reset_clocknch();
- void machine_reset_cprogolf();
- void machine_reset_cprogolfj();
- void machine_reset_cluckypo();
- void machine_reset_ctisland();
- void machine_reset_ctisland3();
- void machine_reset_cexplore();
- void machine_reset_cocean1a(); /* 10 */
- void machine_reset_cfboy0a1(); /* 12 */
- void machine_reset_clocknchj(); /* 11 */
+ DECLARE_MACHINE_RESET(ctsttape);
+ DECLARE_MACHINE_RESET(chwy);
+ DECLARE_MACHINE_RESET(cdsteljn);
+ DECLARE_MACHINE_RESET(cterrani);
+ DECLARE_MACHINE_RESET(castfant);
+ DECLARE_MACHINE_RESET(csuperas);
+ DECLARE_MACHINE_RESET(cmanhat);
+ DECLARE_MACHINE_RESET(clocknch);
+ DECLARE_MACHINE_RESET(cprogolf);
+ DECLARE_MACHINE_RESET(cprogolfj);
+ DECLARE_MACHINE_RESET(cluckypo);
+ DECLARE_MACHINE_RESET(ctisland);
+ DECLARE_MACHINE_RESET(ctisland3);
+ DECLARE_MACHINE_RESET(cexplore);
+ DECLARE_MACHINE_RESET(cocean1a); /* 10 */
+ DECLARE_MACHINE_RESET(cfboy0a1); /* 12 */
+ DECLARE_MACHINE_RESET(clocknchj); /* 11 */
void cprogolfj(machine_config &config);
void cfboy0a1(machine_config &config);
@@ -303,20 +303,20 @@ public:
{
}
- void machine_reset_cfishing();
- void machine_reset_cbtime();
- void machine_reset_cburnrub();
- void machine_reset_cgraplop();
- void machine_reset_cgraplop2();
- void machine_reset_clapapa();
- void machine_reset_cskater();
- void machine_reset_cprobowl();
- void machine_reset_cnightst();
- void machine_reset_cpsoccer();
- void machine_reset_csdtenis();
- void machine_reset_czeroize();
- void machine_reset_cppicf();
- void machine_reset_cfghtice();
+ DECLARE_MACHINE_RESET(cfishing);
+ DECLARE_MACHINE_RESET(cbtime);
+ DECLARE_MACHINE_RESET(cburnrub);
+ DECLARE_MACHINE_RESET(cgraplop);
+ DECLARE_MACHINE_RESET(cgraplop2);
+ DECLARE_MACHINE_RESET(clapapa);
+ DECLARE_MACHINE_RESET(cskater);
+ DECLARE_MACHINE_RESET(cprobowl);
+ DECLARE_MACHINE_RESET(cnightst);
+ DECLARE_MACHINE_RESET(cpsoccer);
+ DECLARE_MACHINE_RESET(csdtenis);
+ DECLARE_MACHINE_RESET(czeroize);
+ DECLARE_MACHINE_RESET(cppicf);
+ DECLARE_MACHINE_RESET(cfghtice);
void csdtenis(machine_config &config);
void cburnrub(machine_config &config);
diff --git a/src/mame/includes/digdug.h b/src/mame/includes/digdug.h
index 1df1206db55..32856d5c12a 100644
--- a/src/mame/includes/digdug.h
+++ b/src/mame/includes/digdug.h
@@ -22,7 +22,7 @@ public:
TILEMAP_MAPPER_MEMBER(tilemap_scan);
TILE_GET_INFO_MEMBER(bg_get_tile_info);
TILE_GET_INFO_MEMBER(tx_get_tile_info);
- void video_start_digdug() ATTR_COLD;
+ DECLARE_VIDEO_START(digdug);
DECLARE_PALETTE_INIT(digdug);
uint32_t screen_update_digdug(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/divebomb.h b/src/mame/includes/divebomb.h
index 930b9a0dcbb..4de581ddb39 100644
--- a/src/mame/includes/divebomb.h
+++ b/src/mame/includes/divebomb.h
@@ -52,9 +52,9 @@ public:
uint8_t m_roz_pal;
bool m_roz_enable[2];
- void machine_reset_divebomb();
- void machine_start_divebomb() ATTR_COLD;
- void video_start_divebomb() ATTR_COLD;
+ DECLARE_MACHINE_RESET(divebomb);
+ DECLARE_MACHINE_START(divebomb);
+ DECLARE_VIDEO_START(divebomb);
DECLARE_PALETTE_INIT(divebomb);
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/dkong.h b/src/mame/includes/dkong.h
index bda364b276e..6cde8a1ebea 100644
--- a/src/mame/includes/dkong.h
+++ b/src/mame/includes/dkong.h
@@ -256,21 +256,21 @@ public:
void init_dkong3hs();
TILE_GET_INFO_MEMBER(dkong_bg_tile_info);
TILE_GET_INFO_MEMBER(radarscp1_bg_tile_info);
- void machine_start_dkong2b() ATTR_COLD;
- void machine_reset_dkong();
- void machine_reset_ddk();
- void video_start_dkong() ATTR_COLD;
- void video_start_dkong_base() ATTR_COLD;
+ DECLARE_MACHINE_START(dkong2b);
+ DECLARE_MACHINE_RESET(dkong);
+ DECLARE_MACHINE_RESET(ddk);
+ DECLARE_VIDEO_START(dkong);
+ DECLARE_VIDEO_START(dkong_base);
DECLARE_PALETTE_INIT(dkong2b);
- void machine_start_dkong3() ATTR_COLD;
+ DECLARE_MACHINE_START(dkong3);
DECLARE_PALETTE_INIT(dkong3);
- void machine_start_radarscp() ATTR_COLD;
+ DECLARE_MACHINE_START(radarscp);
DECLARE_PALETTE_INIT(radarscp);
- void machine_start_radarscp1() ATTR_COLD;
+ DECLARE_MACHINE_START(radarscp1);
DECLARE_PALETTE_INIT(radarscp1);
- void machine_start_s2650() ATTR_COLD;
- void machine_reset_strtheat();
- void machine_reset_drakton();
+ DECLARE_MACHINE_START(s2650);
+ DECLARE_MACHINE_RESET(strtheat);
+ DECLARE_MACHINE_RESET(drakton);
DECLARE_WRITE8_MEMBER(M58817_command_w);
DECLARE_READ8_MEMBER(dkong_voice_status_r);
DECLARE_READ8_MEMBER(dkong_tune_r);
diff --git a/src/mame/includes/docastle.h b/src/mame/includes/docastle.h
index 74cd1e4bb0a..34ea0e27bdb 100644
--- a/src/mame/includes/docastle.h
+++ b/src/mame/includes/docastle.h
@@ -72,7 +72,7 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
DECLARE_PALETTE_INIT(docastle);
- void video_start_dorunrun() ATTR_COLD;
+ DECLARE_VIDEO_START(dorunrun);
uint32_t screen_update_docastle(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void video_start_common( uint32_t tile_transmask );
void draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect );
diff --git a/src/mame/includes/dynax.h b/src/mame/includes/dynax.h
index 711a6170ffb..1bc90064d8e 100644
--- a/src/mame/includes/dynax.h
+++ b/src/mame/includes/dynax.h
@@ -262,29 +262,29 @@ public:
DECLARE_WRITE_LINE_MEMBER(adpcm_int);
DECLARE_WRITE_LINE_MEMBER(adpcm_int_cpu1);
- void machine_reset_adpcm();
+ DECLARE_MACHINE_RESET(adpcm);
DECLARE_WRITE8_MEMBER(adpcm_reset_w);
DECLARE_WRITE_LINE_MEMBER(adpcm_reset_kludge_w);
DECLARE_WRITE8_MEMBER(tenkai_dswsel_w);
DECLARE_READ8_MEMBER(tenkai_dsw_r);
DECLARE_WRITE_LINE_MEMBER(tenkai_blitter_ack_w);
- void machine_reset_dynax();
- void machine_start_dynax() ATTR_COLD;
- void machine_start_hanamai() ATTR_COLD;
- void machine_start_hjingi() ATTR_COLD;
- void video_start_hanamai() ATTR_COLD;
- void video_start_hnoridur() ATTR_COLD;
+ DECLARE_MACHINE_RESET(dynax);
+ DECLARE_MACHINE_START(dynax);
+ DECLARE_MACHINE_START(hanamai);
+ DECLARE_MACHINE_START(hjingi);
+ DECLARE_VIDEO_START(hanamai);
+ DECLARE_VIDEO_START(hnoridur);
DECLARE_PALETTE_INIT(sprtmtch);
- void video_start_sprtmtch() ATTR_COLD;
- void machine_start_jantouki() ATTR_COLD;
- void video_start_jantouki() ATTR_COLD;
- void video_start_mjelctrn() ATTR_COLD;
- void video_start_mjembase() ATTR_COLD;
- void video_start_mjdialq2() ATTR_COLD;
- void video_start_mcnpshnt() ATTR_COLD;
+ DECLARE_VIDEO_START(sprtmtch);
+ DECLARE_MACHINE_START(jantouki);
+ DECLARE_VIDEO_START(jantouki);
+ DECLARE_VIDEO_START(mjelctrn);
+ DECLARE_VIDEO_START(mjembase);
+ DECLARE_VIDEO_START(mjdialq2);
+ DECLARE_VIDEO_START(mcnpshnt);
DECLARE_PALETTE_INIT(janyuki);
- void video_start_neruton() ATTR_COLD;
- void video_start_tenkai() ATTR_COLD;
+ DECLARE_VIDEO_START(neruton);
+ DECLARE_VIDEO_START(tenkai);
inline void blitter_plot_pixel( int layer, int mask, int x, int y, int pen, int wrap, int flags );
int blitter_drawgfx( int layer, int mask, memory_region *gfx, int src, int pen, int x, int y, int wrap, int flags );
diff --git a/src/mame/includes/eolith.h b/src/mame/includes/eolith.h
index 24c4bf4aa31..616a5da4f4d 100644
--- a/src/mame/includes/eolith.h
+++ b/src/mame/includes/eolith.h
@@ -44,8 +44,8 @@ public:
void init_landbrka();
void init_landbrkb();
- void machine_reset_eolith();
- void video_start_eolith();
+ DECLARE_MACHINE_RESET(eolith);
+ DECLARE_VIDEO_START(eolith);
TIMER_DEVICE_CALLBACK_MEMBER(eolith_speedup);
diff --git a/src/mame/includes/epos.h b/src/mame/includes/epos.h
index 5729c21aeef..df5ce02a6a9 100644
--- a/src/mame/includes/epos.h
+++ b/src/mame/includes/epos.h
@@ -37,8 +37,8 @@ public:
DECLARE_WRITE8_MEMBER(dealer_pal_w);
void init_dealer();
virtual void machine_reset() override;
- void machine_start_epos() ATTR_COLD;
- void machine_start_dealer() ATTR_COLD;
+ DECLARE_MACHINE_START(epos);
+ DECLARE_MACHINE_START(dealer);
DECLARE_PALETTE_INIT(epos);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void set_pal_color( uint8_t offset, uint8_t data );
diff --git a/src/mame/includes/eprom.h b/src/mame/includes/eprom.h
index 11f06791b97..3f1e0f5e91a 100644
--- a/src/mame/includes/eprom.h
+++ b/src/mame/includes/eprom.h
@@ -45,8 +45,8 @@ protected:
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
TILE_GET_INFO_MEMBER(guts_get_playfield_tile_info);
- void video_start_eprom() ATTR_COLD;
- void video_start_guts() ATTR_COLD;
+ DECLARE_VIDEO_START(eprom);
+ DECLARE_VIDEO_START(guts);
uint32_t screen_update_eprom(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_guts(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void update_palette();
diff --git a/src/mame/includes/equites.h b/src/mame/includes/equites.h
index be2cf2f6264..9cb108b2a53 100644
--- a/src/mame/includes/equites.h
+++ b/src/mame/includes/equites.h
@@ -108,7 +108,7 @@ public:
void init_equites();
TILE_GET_INFO_MEMBER(equites_fg_info);
TILE_GET_INFO_MEMBER(equites_bg_info);
- void video_start_equites() ATTR_COLD;
+ DECLARE_VIDEO_START(equites);
DECLARE_PALETTE_INIT(equites);
uint32_t screen_update_equites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(equites_8155_timer_pulse);
@@ -165,7 +165,7 @@ protected:
DECLARE_WRITE16_MEMBER(splndrbt_bg_scrolly_w);
TILE_GET_INFO_MEMBER(splndrbt_fg_info);
TILE_GET_INFO_MEMBER(splndrbt_bg_info);
- void video_start_splndrbt() ATTR_COLD;
+ DECLARE_VIDEO_START(splndrbt);
DECLARE_PALETTE_INIT(splndrbt);
uint32_t screen_update_splndrbt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(splndrbt_scanline);
diff --git a/src/mame/includes/espial.h b/src/mame/includes/espial.h
index c1f45947ff4..7474320046c 100644
--- a/src/mame/includes/espial.h
+++ b/src/mame/includes/espial.h
@@ -65,7 +65,7 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
DECLARE_PALETTE_INIT(espial);
- void video_start_netwars() ATTR_COLD;
+ DECLARE_VIDEO_START(netwars);
uint32_t screen_update_espial(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(espial_sound_nmi_gen);
TIMER_DEVICE_CALLBACK_MEMBER(espial_scanline);
diff --git a/src/mame/includes/exidy.h b/src/mame/includes/exidy.h
index cbf4ae4efd5..92381382593 100644
--- a/src/mame/includes/exidy.h
+++ b/src/mame/includes/exidy.h
@@ -96,7 +96,7 @@ public:
void init_phantoma();
virtual void video_start() override;
- void machine_start_teetert() ATTR_COLD;
+ DECLARE_MACHINE_START(teetert);
uint32_t screen_update_exidy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/f1gp.h b/src/mame/includes/f1gp.h
index b3d121bf611..42197a9e967 100644
--- a/src/mame/includes/f1gp.h
+++ b/src/mame/includes/f1gp.h
@@ -91,12 +91,12 @@ public:
TILE_GET_INFO_MEMBER(f1gp_get_roz_tile_info);
TILE_GET_INFO_MEMBER(f1gp2_get_roz_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
- void machine_start_f1gp() ATTR_COLD;
- void machine_reset_f1gp();
- void video_start_f1gp() ATTR_COLD;
- void machine_start_f1gpb() ATTR_COLD;
- void video_start_f1gpb() ATTR_COLD;
- void video_start_f1gp2() ATTR_COLD;
+ DECLARE_MACHINE_START(f1gp);
+ DECLARE_MACHINE_RESET(f1gp);
+ DECLARE_VIDEO_START(f1gp);
+ DECLARE_MACHINE_START(f1gpb);
+ DECLARE_VIDEO_START(f1gpb);
+ DECLARE_VIDEO_START(f1gp2);
uint32_t screen_update_f1gp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_f1gpb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_f1gp2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/fantland.h b/src/mame/includes/fantland.h
index 12fef69ff46..8ca9c568f4a 100644
--- a/src/mame/includes/fantland.h
+++ b/src/mame/includes/fantland.h
@@ -64,10 +64,10 @@ public:
DECLARE_READ8_MEMBER(borntofi_inputs_r);
DECLARE_WRITE8_MEMBER(borntofi_msm5205_w);
DECLARE_CUSTOM_INPUT_MEMBER(wheelrun_wheel_r);
- void machine_start_fantland() ATTR_COLD;
- void machine_reset_fantland();
- void machine_start_borntofi() ATTR_COLD;
- void machine_reset_borntofi();
+ DECLARE_MACHINE_START(fantland);
+ DECLARE_MACHINE_RESET(fantland);
+ DECLARE_MACHINE_START(borntofi);
+ DECLARE_MACHINE_RESET(borntofi);
uint32_t screen_update_fantland(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(fantland_irq);
INTERRUPT_GEN_MEMBER(fantland_sound_irq);
diff --git a/src/mame/includes/fastfred.h b/src/mame/includes/fastfred.h
index 47e8285eb22..469eb864db0 100644
--- a/src/mame/includes/fastfred.h
+++ b/src/mame/includes/fastfred.h
@@ -79,9 +79,9 @@ public:
virtual void machine_start() override;
DECLARE_PALETTE_INIT(fastfred);
- void machine_start_imago() ATTR_COLD;
- void video_start_fastfred() ATTR_COLD;
- void video_start_imago() ATTR_COLD;
+ DECLARE_MACHINE_START(imago);
+ DECLARE_VIDEO_START(fastfred);
+ DECLARE_VIDEO_START(imago);
uint32_t screen_update_fastfred(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_imago(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/firetrk.h b/src/mame/includes/firetrk.h
index c9ba134d3d4..b5e533cef40 100644
--- a/src/mame/includes/firetrk.h
+++ b/src/mame/includes/firetrk.h
@@ -130,8 +130,8 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
DECLARE_PALETTE_INIT(firetrk);
- void video_start_superbug() ATTR_COLD;
- void video_start_montecar() ATTR_COLD;
+ DECLARE_VIDEO_START(superbug);
+ DECLARE_VIDEO_START(montecar);
DECLARE_PALETTE_INIT(montecar);
uint32_t screen_update_firetrk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_superbug(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/flstory.h b/src/mame/includes/flstory.h
index e54f562f1a5..ce0ee008e02 100644
--- a/src/mame/includes/flstory.h
+++ b/src/mame/includes/flstory.h
@@ -88,12 +88,12 @@ public:
TILE_GET_INFO_MEMBER(victnine_get_tile_info);
TILE_GET_INFO_MEMBER(get_rumba_tile_info);
virtual void machine_start() override;
- void machine_reset_flstory();
- void video_start_flstory() ATTR_COLD;
- void video_start_victnine() ATTR_COLD;
- void machine_reset_rumba();
- void video_start_rumba() ATTR_COLD;
- void machine_reset_ta7630();
+ DECLARE_MACHINE_RESET(flstory);
+ DECLARE_VIDEO_START(flstory);
+ DECLARE_VIDEO_START(victnine);
+ DECLARE_MACHINE_RESET(rumba);
+ DECLARE_VIDEO_START(rumba);
+ DECLARE_MACHINE_RESET(ta7630);
uint32_t screen_update_flstory(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_victnine(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_rumba(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/fm7.h b/src/mame/includes/fm7.h
index 88816aee5f1..7010f83d176 100644
--- a/src/mame/includes/fm7.h
+++ b/src/mame/includes/fm7.h
@@ -159,10 +159,10 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
- void machine_start_fm7() ATTR_COLD;
- void machine_start_fm77av() ATTR_COLD;
- void machine_start_fm11() ATTR_COLD;
- void machine_start_fm16() ATTR_COLD;
+ DECLARE_MACHINE_START(fm7);
+ DECLARE_MACHINE_START(fm77av);
+ DECLARE_MACHINE_START(fm11);
+ DECLARE_MACHINE_START(fm16);
DECLARE_WRITE_LINE_MEMBER(fm7_fdc_intrq_w);
DECLARE_WRITE_LINE_MEMBER(fm7_fdc_drq_w);
diff --git a/src/mame/includes/freekick.h b/src/mame/includes/freekick.h
index 4978c82d8a5..f7b984b754a 100644
--- a/src/mame/includes/freekick.h
+++ b/src/mame/includes/freekick.h
@@ -54,11 +54,11 @@ public:
void init_pbillrds();
TILE_GET_INFO_MEMBER(get_freek_tile_info);
virtual void video_start() override;
- void machine_start_pbillrd() ATTR_COLD;
- void machine_reset_freekick();
- void machine_start_freekick() ATTR_COLD;
- void machine_start_oigas() ATTR_COLD;
- void machine_reset_oigas();
+ DECLARE_MACHINE_START(pbillrd);
+ DECLARE_MACHINE_RESET(freekick);
+ DECLARE_MACHINE_START(freekick);
+ DECLARE_MACHINE_START(oigas);
+ DECLARE_MACHINE_RESET(oigas);
uint32_t screen_update_pbillrd(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_freekick(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_gigas(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/fromanc2.h b/src/mame/includes/fromanc2.h
index 85b8710cc94..d4aefe4a413 100644
--- a/src/mame/includes/fromanc2.h
+++ b/src/mame/includes/fromanc2.h
@@ -94,11 +94,11 @@ public:
template<int VRAM, int Layer> TILE_GET_INFO_MEMBER(fromanc2_get_tile_info);
template<int VRAM, int Layer> TILE_GET_INFO_MEMBER(fromancr_get_tile_info);
virtual void machine_reset() override;
- void machine_start_fromanc2() ATTR_COLD;
- void video_start_fromanc2() ATTR_COLD;
- void video_start_fromancr() ATTR_COLD;
- void machine_start_fromanc4() ATTR_COLD;
- void video_start_fromanc4() ATTR_COLD;
+ DECLARE_MACHINE_START(fromanc2);
+ DECLARE_VIDEO_START(fromanc2);
+ DECLARE_VIDEO_START(fromancr);
+ DECLARE_MACHINE_START(fromanc4);
+ DECLARE_VIDEO_START(fromanc4);
uint32_t screen_update_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
inline void fromanc2_dispvram_w( offs_t offset, uint16_t data, uint16_t mem_mask, int vram, int layer );
diff --git a/src/mame/includes/fromance.h b/src/mame/includes/fromance.h
index f0edb0392a9..044b0385276 100644
--- a/src/mame/includes/fromance.h
+++ b/src/mame/includes/fromance.h
@@ -82,12 +82,12 @@ public:
TILE_GET_INFO_MEMBER(get_fromance_fg_tile_info);
TILE_GET_INFO_MEMBER(get_nekkyoku_bg_tile_info);
TILE_GET_INFO_MEMBER(get_nekkyoku_fg_tile_info);
- void machine_start_fromance() ATTR_COLD;
- void machine_reset_fromance();
- void video_start_nekkyoku() ATTR_COLD;
- void video_start_fromance() ATTR_COLD;
- void video_start_pipedrm() ATTR_COLD;
- void video_start_hatris() ATTR_COLD;
+ DECLARE_MACHINE_START(fromance);
+ DECLARE_MACHINE_RESET(fromance);
+ DECLARE_VIDEO_START(nekkyoku);
+ DECLARE_VIDEO_START(fromance);
+ DECLARE_VIDEO_START(pipedrm);
+ DECLARE_VIDEO_START(hatris);
uint32_t screen_update_fromance(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_pipedrm(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(crtc_interrupt_gen);
diff --git a/src/mame/includes/funworld.h b/src/mame/includes/funworld.h
index 19aff25804c..0c39ac93bdd 100644
--- a/src/mame/includes/funworld.h
+++ b/src/mame/includes/funworld.h
@@ -37,12 +37,12 @@ public:
void init_rcdino4();
void init_rcdinch();
TILE_GET_INFO_MEMBER(get_bg_tile_info);
- void video_start_funworld() ATTR_COLD;
+ DECLARE_VIDEO_START(funworld);
DECLARE_PALETTE_INIT(funworld);
- void video_start_magicrd2() ATTR_COLD;
- void video_start_chinatow() ATTR_COLD;
- void machine_start_lunapark() ATTR_COLD;
- void machine_reset_lunapark();
+ DECLARE_VIDEO_START(magicrd2);
+ DECLARE_VIDEO_START(chinatow);
+ DECLARE_MACHINE_START(lunapark);
+ DECLARE_MACHINE_RESET(lunapark);
uint32_t screen_update_funworld(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
diff --git a/src/mame/includes/gaelco.h b/src/mame/includes/gaelco.h
index 17128cc6479..ffb0157367d 100644
--- a/src/mame/includes/gaelco.h
+++ b/src/mame/includes/gaelco.h
@@ -57,8 +57,8 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_gaelco_screen1);
virtual void machine_start() override;
- void video_start_bigkarnk() ATTR_COLD;
- void video_start_maniacsq() ATTR_COLD;
+ DECLARE_VIDEO_START(bigkarnk);
+ DECLARE_VIDEO_START(maniacsq);
uint32_t screen_update_bigkarnk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_maniacsq(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/gaelco2.h b/src/mame/includes/gaelco2.h
index d05c76bcce6..2b9c80638f3 100644
--- a/src/mame/includes/gaelco2.h
+++ b/src/mame/includes/gaelco2.h
@@ -45,8 +45,8 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_gaelco2_screen1);
TILE_GET_INFO_MEMBER(get_tile_info_gaelco2_screen0_dual);
TILE_GET_INFO_MEMBER(get_tile_info_gaelco2_screen1_dual);
- void video_start_gaelco2() ATTR_COLD;
- void video_start_gaelco2_dual() ATTR_COLD;
+ DECLARE_VIDEO_START(gaelco2);
+ DECLARE_VIDEO_START(gaelco2_dual);
uint32_t screen_update_gaelco2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_gaelco2_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_gaelco2_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/gaelco3d.h b/src/mame/includes/gaelco3d.h
index de597c63be6..8aa9c02c07b 100644
--- a/src/mame/includes/gaelco3d.h
+++ b/src/mame/includes/gaelco3d.h
@@ -146,8 +146,8 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
- void machine_reset_gaelco3d2();
- void machine_reset_common();
+ DECLARE_MACHINE_RESET(gaelco3d2);
+ DECLARE_MACHINE_RESET(common);
uint32_t screen_update_gaelco3d(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(vblank_gen);
TIMER_DEVICE_CALLBACK_MEMBER(adsp_autobuffer_irq);
diff --git a/src/mame/includes/gaiden.h b/src/mame/includes/gaiden.h
index 24c2f5b40c9..83c6fb8acb7 100644
--- a/src/mame/includes/gaiden.h
+++ b/src/mame/includes/gaiden.h
@@ -109,11 +109,11 @@ public:
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info_raiga);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
- void machine_start_mastninj() ATTR_COLD;
- void machine_reset_raiga();
- void video_start_gaiden() ATTR_COLD;
- void video_start_drgnbowl() ATTR_COLD;
- void video_start_raiga() ATTR_COLD;
+ DECLARE_MACHINE_START(mastninj);
+ DECLARE_MACHINE_RESET(raiga);
+ DECLARE_VIDEO_START(gaiden);
+ DECLARE_VIDEO_START(drgnbowl);
+ DECLARE_VIDEO_START(raiga);
uint32_t screen_update_gaiden(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_drgnbowl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void drgnbowl_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/galaga.h b/src/mame/includes/galaga.h
index a02776d22d6..f26e6602349 100644
--- a/src/mame/includes/galaga.h
+++ b/src/mame/includes/galaga.h
@@ -76,9 +76,9 @@ public:
void init_gatsbee();
TILEMAP_MAPPER_MEMBER(tilemap_scan);
TILE_GET_INFO_MEMBER(get_tile_info);
- void machine_start_galaga() ATTR_COLD;
- void machine_reset_galaga();
- void video_start_galaga() ATTR_COLD;
+ DECLARE_MACHINE_START(galaga);
+ DECLARE_MACHINE_RESET(galaga);
+ DECLARE_VIDEO_START(galaga);
DECLARE_PALETTE_INIT(galaga);
uint32_t screen_update_galaga(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank_galaga);
diff --git a/src/mame/includes/galaxia.h b/src/mame/includes/galaxia.h
index 9606b215a5a..bf65a808a0e 100644
--- a/src/mame/includes/galaxia.h
+++ b/src/mame/includes/galaxia.h
@@ -25,9 +25,9 @@ public:
DECLARE_READ8_MEMBER(galaxia_collision_clear);
TILE_GET_INFO_MEMBER(get_galaxia_bg_tile_info);
TILE_GET_INFO_MEMBER(get_astrowar_bg_tile_info);
- void video_start_galaxia() ATTR_COLD;
+ DECLARE_VIDEO_START(galaxia);
DECLARE_PALETTE_INIT(galaxia);
- void video_start_astrowar() ATTR_COLD;
+ DECLARE_VIDEO_START(astrowar);
DECLARE_PALETTE_INIT(astrowar);
uint32_t screen_update_galaxia(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_astrowar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/galaxold.h b/src/mame/includes/galaxold.h
index 0ae95217a0a..754a70921cc 100644
--- a/src/mame/includes/galaxold.h
+++ b/src/mame/includes/galaxold.h
@@ -170,9 +170,9 @@ public:
TILE_GET_INFO_MEMBER(rockclim_get_tile_info);
TILE_GET_INFO_MEMBER(harem_get_tile_info);
- void machine_reset_galaxold();
- void machine_reset_devilfsg();
- void machine_reset_hunchbkg();
+ DECLARE_MACHINE_RESET(galaxold);
+ DECLARE_MACHINE_RESET(devilfsg);
+ DECLARE_MACHINE_RESET(hunchbkg);
DECLARE_PALETTE_INIT(galaxold);
DECLARE_PALETTE_INIT(rockclim);
@@ -185,31 +185,31 @@ public:
DECLARE_PALETTE_INIT(dambustr);
DECLARE_PALETTE_INIT(turtles);
- void video_start_galaxold();
- void video_start_drivfrcg();
- void video_start_racknrol();
- void video_start_mooncrst();
- void video_start_scrambold();
- void video_start_newsin7();
- void video_start_pisces();
- void video_start_dkongjrm();
- void video_start_dkongjrmc();
- void video_start_rockclim();
- void video_start_galaxold_plain();
- void video_start_ozon1();
- void video_start_bongo();
- void video_start_ckongs();
- void video_start_darkplnt();
- void video_start_rescue();
- void video_start_minefld();
- void video_start_stratgyx();
- void video_start_mariner();
- void video_start_mimonkey();
- void video_start_scorpion();
- void video_start_ad2083();
- void video_start_dambustr();
- void video_start_harem();
- void video_start_bagmanmc();
+ DECLARE_VIDEO_START(galaxold);
+ DECLARE_VIDEO_START(drivfrcg);
+ DECLARE_VIDEO_START(racknrol);
+ DECLARE_VIDEO_START(mooncrst);
+ DECLARE_VIDEO_START(scrambold);
+ DECLARE_VIDEO_START(newsin7);
+ DECLARE_VIDEO_START(pisces);
+ DECLARE_VIDEO_START(dkongjrm);
+ DECLARE_VIDEO_START(dkongjrmc);
+ DECLARE_VIDEO_START(rockclim);
+ DECLARE_VIDEO_START(galaxold_plain);
+ DECLARE_VIDEO_START(ozon1);
+ DECLARE_VIDEO_START(bongo);
+ DECLARE_VIDEO_START(ckongs);
+ DECLARE_VIDEO_START(darkplnt);
+ DECLARE_VIDEO_START(rescue);
+ DECLARE_VIDEO_START(minefld);
+ DECLARE_VIDEO_START(stratgyx);
+ DECLARE_VIDEO_START(mariner);
+ DECLARE_VIDEO_START(mimonkey);
+ DECLARE_VIDEO_START(scorpion);
+ DECLARE_VIDEO_START(ad2083);
+ DECLARE_VIDEO_START(dambustr);
+ DECLARE_VIDEO_START(harem);
+ DECLARE_VIDEO_START(bagmanmc);
uint32_t screen_update_galaxold(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_dambustr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/galaxy.h b/src/mame/includes/galaxy.h
index da9bdd5049d..45fc06b272c 100644
--- a/src/mame/includes/galaxy.h
+++ b/src/mame/includes/galaxy.h
@@ -30,8 +30,8 @@ public:
void init_galaxy();
void init_galaxyp();
virtual void video_start() override;
- void machine_reset_galaxy();
- void machine_reset_galaxyp();
+ DECLARE_MACHINE_RESET(galaxy);
+ DECLARE_MACHINE_RESET(galaxyp);
uint32_t screen_update_galaxy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(galaxy_interrupt);
TIMER_CALLBACK_MEMBER(gal_video);
diff --git a/src/mame/includes/galivan.h b/src/mame/includes/galivan.h
index 0a1e4aee680..7e31de535c8 100644
--- a/src/mame/includes/galivan.h
+++ b/src/mame/includes/galivan.h
@@ -60,12 +60,12 @@ public:
TILE_GET_INFO_MEMBER(ninjemak_get_bg_tile_info);
TILE_GET_INFO_MEMBER(ninjemak_get_tx_tile_info);
DECLARE_PALETTE_INIT(galivan);
- void machine_start_galivan() ATTR_COLD;
- void machine_reset_galivan();
- void video_start_galivan() ATTR_COLD;
- void machine_start_ninjemak() ATTR_COLD;
- void machine_reset_ninjemak();
- void video_start_ninjemak() ATTR_COLD;
+ DECLARE_MACHINE_START(galivan);
+ DECLARE_MACHINE_RESET(galivan);
+ DECLARE_VIDEO_START(galivan);
+ DECLARE_MACHINE_START(ninjemak);
+ DECLARE_MACHINE_RESET(ninjemak);
+ DECLARE_VIDEO_START(ninjemak);
uint32_t screen_update_galivan(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_ninjemak(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
diff --git a/src/mame/includes/galspnbl.h b/src/mame/includes/galspnbl.h
index c8c8fa840ac..cbd574532a3 100644
--- a/src/mame/includes/galspnbl.h
+++ b/src/mame/includes/galspnbl.h
@@ -53,7 +53,7 @@ public:
uint32_t screen_update_galspnbl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_background( bitmap_ind16 &bitmap, const rectangle &cliprect );
bitmap_ind16 m_sprite_bitmap;
- void video_start_galspnbl() ATTR_COLD;
+ DECLARE_VIDEO_START(galspnbl);
void mix_sprite_layer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int pri);
diff --git a/src/mame/includes/gameplan.h b/src/mame/includes/gameplan.h
index 5d28eddcf01..0eb102f8e18 100644
--- a/src/mame/includes/gameplan.h
+++ b/src/mame/includes/gameplan.h
@@ -48,8 +48,6 @@ public:
m_screen(*this, "screen"),
m_soundlatch(*this, "soundlatch") { }
- void video_start() override;
-
/* machine state */
uint8_t m_current_port;
optional_shared_ptr<uint8_t> m_trvquest_question;
@@ -82,11 +80,15 @@ public:
DECLARE_WRITE_LINE_MEMBER(audio_trigger_w);
DECLARE_WRITE_LINE_MEMBER(r6532_irq);
DECLARE_WRITE8_MEMBER(r6532_soundlatch_w);
- void machine_start_gameplan() ATTR_COLD;
- void machine_reset_gameplan();
- void machine_start_trvquest() ATTR_COLD;
- void machine_reset_trvquest();
- void video_reset_gameplan();
+ DECLARE_MACHINE_START(gameplan);
+ DECLARE_MACHINE_RESET(gameplan);
+ DECLARE_MACHINE_START(trvquest);
+ DECLARE_MACHINE_RESET(trvquest);
+ DECLARE_VIDEO_START(gameplan);
+ DECLARE_VIDEO_RESET(gameplan);
+ DECLARE_VIDEO_START(leprechn);
+ DECLARE_VIDEO_START(trvquest);
+ DECLARE_VIDEO_START(common);
uint32_t screen_update_gameplan(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_leprechn(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(trvquest_interrupt);
diff --git a/src/mame/includes/gb.h b/src/mame/includes/gb.h
index affa28930cf..cd24651a6af 100644
--- a/src/mame/includes/gb.h
+++ b/src/mame/includes/gb.h
@@ -71,12 +71,12 @@ public:
DECLARE_WRITE8_MEMBER(gbc_io2_w);
DECLARE_READ8_MEMBER(gbc_io2_r);
DECLARE_PALETTE_INIT(gb);
- void machine_start_sgb() ATTR_COLD;
- void machine_reset_sgb();
+ DECLARE_MACHINE_START(sgb);
+ DECLARE_MACHINE_RESET(sgb);
DECLARE_PALETTE_INIT(sgb);
DECLARE_PALETTE_INIT(gbp);
- void machine_start_gbc() ATTR_COLD;
- void machine_reset_gbc();
+ DECLARE_MACHINE_START(gbc);
+ DECLARE_MACHINE_RESET(gbc);
DECLARE_PALETTE_INIT(gbc);
DECLARE_WRITE8_MEMBER(gb_timer_callback);
@@ -142,8 +142,8 @@ public:
DECLARE_READ8_MEMBER(megaduck_sound_r1);
DECLARE_WRITE8_MEMBER(megaduck_sound_w2);
DECLARE_READ8_MEMBER(megaduck_sound_r2);
- void machine_start_megaduck() ATTR_COLD;
- void machine_reset_megaduck();
+ DECLARE_MACHINE_START(megaduck);
+ DECLARE_MACHINE_RESET(megaduck);
DECLARE_PALETTE_INIT(megaduck);
DECLARE_READ8_MEMBER(cart_r);
diff --git a/src/mame/includes/gberet.h b/src/mame/includes/gberet.h
index 80d230ef2d9..7e4568c3a96 100644
--- a/src/mame/includes/gberet.h
+++ b/src/mame/includes/gberet.h
@@ -57,9 +57,9 @@ public:
DECLARE_WRITE8_MEMBER(gberetb_scroll_w);
void init_mrgoemon();
TILE_GET_INFO_MEMBER(get_bg_tile_info);
- void machine_start_gberet() ATTR_COLD;
- void machine_reset_gberet();
- void video_start_gberet() ATTR_COLD;
+ DECLARE_MACHINE_START(gberet);
+ DECLARE_MACHINE_RESET(gberet);
+ DECLARE_VIDEO_START(gberet);
DECLARE_PALETTE_INIT(gberet);
uint32_t screen_update_gberet(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_gberetb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/gladiatr.h b/src/mame/includes/gladiatr.h
index 72a393b4506..0c74c1d2b13 100644
--- a/src/mame/includes/gladiatr.h
+++ b/src/mame/includes/gladiatr.h
@@ -137,8 +137,8 @@ public:
void init_gladiatr();
- void machine_reset_gladiator();
- void video_start_gladiatr() ATTR_COLD;
+ DECLARE_MACHINE_RESET(gladiator);
+ DECLARE_VIDEO_START(gladiatr);
uint32_t screen_update_gladiatr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void swap_block(uint8_t *src1,uint8_t *src2,int len);
@@ -187,8 +187,8 @@ public:
void init_ppking();
- void machine_reset_ppking();
- void video_start_ppking() ATTR_COLD;
+ DECLARE_MACHINE_RESET(ppking);
+ DECLARE_VIDEO_START(ppking);
uint32_t screen_update_ppking(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/goldstar.h b/src/mame/includes/goldstar.h
index 8ea0b2d39c2..f7780fe120a 100644
--- a/src/mame/includes/goldstar.h
+++ b/src/mame/includes/goldstar.h
@@ -44,9 +44,9 @@ public:
void init_cmast91();
void init_wcherry();
void init_super9();
- void video_start_goldstar() ATTR_COLD;
+ DECLARE_VIDEO_START(goldstar);
DECLARE_PALETTE_INIT(cm);
- void video_start_cherrym() ATTR_COLD;
+ DECLARE_VIDEO_START(cherrym);
DECLARE_PALETTE_INIT(cmast91);
DECLARE_PALETTE_INIT(lucky8);
uint32_t screen_update_goldstar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -210,8 +210,8 @@ public:
void init_flaming7();
void init_flam7_tw();
- void video_start_bingowng() ATTR_COLD;
- void video_start_magical() ATTR_COLD;
+ DECLARE_VIDEO_START(bingowng);
+ DECLARE_VIDEO_START(magical);
DECLARE_PALETTE_INIT(magodds);
uint32_t screen_update_bingowng(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_magical(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -294,7 +294,7 @@ public:
DECLARE_WRITE8_MEMBER(reel2_attrram_w);
DECLARE_WRITE8_MEMBER(reel3_attrram_w);
- void video_start_sangho() ATTR_COLD;
+ DECLARE_VIDEO_START(sangho);
uint32_t screen_update_sangho(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void star100(machine_config &config);
@@ -340,7 +340,7 @@ public:
void init_unkch3();
void init_unkch4();
- void video_start_unkch() ATTR_COLD;
+ DECLARE_VIDEO_START(unkch);
uint32_t screen_update_unkch(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(vblank_irq);
diff --git a/src/mame/includes/gottlieb.h b/src/mame/includes/gottlieb.h
index 7121cbcdc00..a7ca9e6128e 100644
--- a/src/mame/includes/gottlieb.h
+++ b/src/mame/includes/gottlieb.h
@@ -128,7 +128,7 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
- void video_start_screwloo() ATTR_COLD;
+ DECLARE_VIDEO_START(screwloo);
uint32_t screen_update_gottlieb(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(gottlieb_interrupt);
TIMER_CALLBACK_MEMBER(laserdisc_philips_callback);
diff --git a/src/mame/includes/hec2hrp.h b/src/mame/includes/hec2hrp.h
index aac4d84b874..f263a6c4908 100644
--- a/src/mame/includes/hec2hrp.h
+++ b/src/mame/includes/hec2hrp.h
@@ -159,13 +159,13 @@ public:
DECLARE_WRITE8_MEMBER(hector_io_8255_w);
DECLARE_WRITE8_MEMBER(hector_mx40_io_port_w);
DECLARE_WRITE8_MEMBER(hector_mx80_io_port_w);
- void machine_start_hec2hrp() ATTR_COLD;
- void machine_reset_hec2hrp();
- void video_start_hec2hrp() ATTR_COLD;
- void machine_start_hec2hrx() ATTR_COLD;
- void machine_reset_hec2hrx();
- void machine_start_hec2mdhrx() ATTR_COLD;
- void machine_reset_hec2mdhrx();
+ DECLARE_MACHINE_START(hec2hrp);
+ DECLARE_MACHINE_RESET(hec2hrp);
+ DECLARE_VIDEO_START(hec2hrp);
+ DECLARE_MACHINE_START(hec2hrx);
+ DECLARE_MACHINE_RESET(hec2hrx);
+ DECLARE_MACHINE_START(hec2mdhrx);
+ DECLARE_MACHINE_RESET(hec2mdhrx);
uint32_t screen_update_hec2hrp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(Callback_CK);
diff --git a/src/mame/includes/hitme.h b/src/mame/includes/hitme.h
index d8aa64d12e3..bfc2a61103e 100644
--- a/src/mame/includes/hitme.h
+++ b/src/mame/includes/hitme.h
@@ -49,7 +49,7 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
- void video_start_barricad() ATTR_COLD;
+ DECLARE_VIDEO_START(barricad);
uint32_t screen_update_hitme(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_barricad(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint8_t read_port_and_t0( int port );
diff --git a/src/mame/includes/hnayayoi.h b/src/mame/includes/hnayayoi.h
index 753ffa56061..572f8b96045 100644
--- a/src/mame/includes/hnayayoi.h
+++ b/src/mame/includes/hnayayoi.h
@@ -43,7 +43,7 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
- void video_start_untoucha() ATTR_COLD;
+ DECLARE_VIDEO_START(untoucha);
MC6845_UPDATE_ROW(hnayayoi_update_row);
MC6845_UPDATE_ROW(untoucha_update_row);
void common_vh_start( int num_pixmaps );
diff --git a/src/mame/includes/holeland.h b/src/mame/includes/holeland.h
index fed7e8665bd..d8767ea979b 100644
--- a/src/mame/includes/holeland.h
+++ b/src/mame/includes/holeland.h
@@ -49,8 +49,8 @@ public:
TILE_GET_INFO_MEMBER(holeland_get_tile_info);
TILE_GET_INFO_MEMBER(crzrally_get_tile_info);
- void video_start_holeland() ATTR_COLD;
- void video_start_crzrally() ATTR_COLD;
+ DECLARE_VIDEO_START(holeland);
+ DECLARE_VIDEO_START(crzrally);
uint32_t screen_update_holeland(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_crzrally(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/homedata.h b/src/mame/includes/homedata.h
index fcee3bae1d9..3bdb1516d22 100644
--- a/src/mame/includes/homedata.h
+++ b/src/mame/includes/homedata.h
@@ -120,21 +120,21 @@ public:
TILE_GET_INFO_MEMBER(mirderby_get_info1_0);
TILE_GET_INFO_MEMBER(mirderby_get_info0_1);
TILE_GET_INFO_MEMBER(mirderby_get_info1_1);
- void machine_start_homedata() ATTR_COLD;
- void machine_reset_homedata();
- void video_start_mrokumei() ATTR_COLD;
+ DECLARE_MACHINE_START(homedata);
+ DECLARE_MACHINE_RESET(homedata);
+ DECLARE_VIDEO_START(mrokumei);
DECLARE_PALETTE_INIT(mrokumei);
- void machine_start_reikaids() ATTR_COLD;
- void machine_reset_reikaids();
- void video_start_reikaids() ATTR_COLD;
+ DECLARE_MACHINE_START(reikaids);
+ DECLARE_MACHINE_RESET(reikaids);
+ DECLARE_VIDEO_START(reikaids);
DECLARE_PALETTE_INIT(reikaids);
- void machine_start_pteacher() ATTR_COLD;
- void machine_reset_pteacher();
- void video_start_pteacher() ATTR_COLD;
+ DECLARE_MACHINE_START(pteacher);
+ DECLARE_MACHINE_RESET(pteacher);
+ DECLARE_VIDEO_START(pteacher);
DECLARE_PALETTE_INIT(pteacher);
- void video_start_mirderby() ATTR_COLD;
+ DECLARE_VIDEO_START(mirderby);
DECLARE_PALETTE_INIT(mirderby);
- void video_start_lemnangl() ATTR_COLD;
+ DECLARE_VIDEO_START(lemnangl);
uint32_t screen_update_mrokumei(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_reikaids(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_pteacher(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/hp48.h b/src/mame/includes/hp48.h
index a7fa42ff064..4d281cbb793 100644
--- a/src/mame/includes/hp48.h
+++ b/src/mame/includes/hp48.h
@@ -65,12 +65,12 @@ public:
void init_hp48();
DECLARE_PALETTE_INIT(hp48);
- void machine_start_hp49g() ATTR_COLD;
- void machine_start_hp48gx() ATTR_COLD;
- void machine_start_hp48g() ATTR_COLD;
- void machine_start_hp48gp() ATTR_COLD;
- void machine_start_hp48sx() ATTR_COLD;
- void machine_start_hp48s() ATTR_COLD;
+ DECLARE_MACHINE_START(hp49g);
+ DECLARE_MACHINE_START(hp48gx);
+ DECLARE_MACHINE_START(hp48g);
+ DECLARE_MACHINE_START(hp48gp);
+ DECLARE_MACHINE_START(hp48sx);
+ DECLARE_MACHINE_START(hp48s);
uint32_t screen_update_hp48(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE8_MEMBER(io_w);
DECLARE_READ8_MEMBER(io_r);
diff --git a/src/mame/includes/hyperspt.h b/src/mame/includes/hyperspt.h
index f6ac4137863..fb970fe84a7 100644
--- a/src/mame/includes/hyperspt.h
+++ b/src/mame/includes/hyperspt.h
@@ -50,7 +50,7 @@ public:
virtual void machine_start() override;
virtual void video_start() override;
DECLARE_PALETTE_INIT(hyperspt);
- void video_start_roadf() ATTR_COLD;
+ DECLARE_VIDEO_START(roadf);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(roadf_get_bg_tile_info);
diff --git a/src/mame/includes/ironhors.h b/src/mame/includes/ironhors.h
index 9ee473d50ea..e19b20fb06e 100644
--- a/src/mame/includes/ironhors.h
+++ b/src/mame/includes/ironhors.h
@@ -44,7 +44,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(farwest_irq);
DECLARE_PALETTE_INIT(ironhors);
- void video_start_farwest() ATTR_COLD;
+ DECLARE_VIDEO_START(farwest);
void farwest(machine_config &config);
void ironhors(machine_config &config);
diff --git a/src/mame/includes/itech32.h b/src/mame/includes/itech32.h
index 830eb7612b6..6ad5cadac4e 100644
--- a/src/mame/includes/itech32.h
+++ b/src/mame/includes/itech32.h
@@ -176,7 +176,7 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
- void machine_reset_drivedge();
+ DECLARE_MACHINE_RESET(drivedge);
void init_program_rom();
void init_sftm_common(int prot_addr);
void init_shuffle_bowl_common(int prot_addr);
diff --git a/src/mame/includes/itech8.h b/src/mame/includes/itech8.h
index 305653f8672..a5e28d42777 100644
--- a/src/mame/includes/itech8.h
+++ b/src/mame/includes/itech8.h
@@ -133,8 +133,8 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
- void video_start_slikshot() ATTR_COLD;
- void machine_start_sstrike() ATTR_COLD;
+ DECLARE_VIDEO_START(slikshot);
+ DECLARE_MACHINE_START(sstrike);
uint32_t screen_update_2layer(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_grmatch(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/jack.h b/src/mame/includes/jack.h
index eea4d31a739..d614ed3db75 100644
--- a/src/mame/includes/jack.h
+++ b/src/mame/includes/jack.h
@@ -68,12 +68,12 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILEMAP_MAPPER_MEMBER(tilemap_scan_cols_flipy);
TILE_GET_INFO_MEMBER(joinem_get_bg_tile_info);
- void video_start_joinem() ATTR_COLD;
+ DECLARE_VIDEO_START(joinem);
DECLARE_PALETTE_INIT(joinem);
- void machine_start_striv() ATTR_COLD;
- void machine_reset_striv();
- void machine_start_joinem() ATTR_COLD;
- void machine_reset_joinem();
+ DECLARE_MACHINE_START(striv);
+ DECLARE_MACHINE_RESET(striv);
+ DECLARE_MACHINE_START(joinem);
+ DECLARE_MACHINE_RESET(joinem);
uint32_t screen_update_jack(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_striv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/jpmimpct.h b/src/mame/includes/jpmimpct.h
index 4101c906c9b..3fc55f7dc44 100644
--- a/src/mame/includes/jpmimpct.h
+++ b/src/mame/includes/jpmimpct.h
@@ -112,11 +112,11 @@ public:
TMS340X0_TO_SHIFTREG_CB_MEMBER(to_shiftreg);
TMS340X0_FROM_SHIFTREG_CB_MEMBER(from_shiftreg);
TMS340X0_SCANLINE_RGB32_CB_MEMBER(scanline_update);
- void machine_start_jpmimpct() ATTR_COLD;
- void machine_reset_jpmimpct();
- void video_start_jpmimpct() ATTR_COLD;
- void machine_start_impctawp() ATTR_COLD;
- void machine_reset_impctawp();
+ DECLARE_MACHINE_START(jpmimpct);
+ DECLARE_MACHINE_RESET(jpmimpct);
+ DECLARE_VIDEO_START(jpmimpct);
+ DECLARE_MACHINE_START(impctawp);
+ DECLARE_MACHINE_RESET(impctawp);
TIMER_DEVICE_CALLBACK_MEMBER(duart_1_timer_event);
void impctawp(machine_config &config);
void jpmimpct(machine_config &config);
diff --git a/src/mame/includes/kaneko16.h b/src/mame/includes/kaneko16.h
index e8ea1303582..eb8e44a726a 100644
--- a/src/mame/includes/kaneko16.h
+++ b/src/mame/includes/kaneko16.h
@@ -79,9 +79,9 @@ public:
void init_bakubrkr();
- void machine_reset_gtmr();
- void video_start_kaneko16() ATTR_COLD;
- void machine_reset_mgcrystl();
+ DECLARE_MACHINE_RESET(gtmr);
+ DECLARE_VIDEO_START(kaneko16);
+ DECLARE_MACHINE_RESET(mgcrystl);
uint32_t screen_update_kaneko16(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
template<class _BitmapClass>
@@ -174,7 +174,7 @@ public:
void init_berlwallt();
void init_berlwall_common();
DECLARE_PALETTE_INIT(berlwall);
- void video_start_berlwall() ATTR_COLD;
+ DECLARE_VIDEO_START(berlwall);
uint32_t screen_update_berlwall(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void kaneko16_render_15bpp_bitmap(bitmap_rgb32 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/kangaroo.h b/src/mame/includes/kangaroo.h
index 4363e187603..00bc4de7be1 100644
--- a/src/mame/includes/kangaroo.h
+++ b/src/mame/includes/kangaroo.h
@@ -33,7 +33,7 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
- void machine_start_kangaroo_mcu() ATTR_COLD;
+ DECLARE_MACHINE_START(kangaroo_mcu);
uint32_t screen_update_kangaroo(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void videoram_write( uint16_t offset, uint8_t data, uint8_t mask );
void blitter_execute( );
diff --git a/src/mame/includes/karnov.h b/src/mame/includes/karnov.h
index 63dda24ef84..59eda457c98 100644
--- a/src/mame/includes/karnov.h
+++ b/src/mame/includes/karnov.h
@@ -70,8 +70,8 @@ public:
TILE_GET_INFO_MEMBER(get_fix_tile_info);
virtual void machine_start() override;
virtual void machine_reset() override;
- void video_start_karnov() ATTR_COLD;
- void video_start_wndrplnt() ATTR_COLD;
+ DECLARE_VIDEO_START(karnov);
+ DECLARE_VIDEO_START(wndrplnt);
uint32_t screen_update_karnov(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(vbint_w);
void karnov_flipscreen_w( int data );
diff --git a/src/mame/includes/kaypro.h b/src/mame/includes/kaypro.h
index 3f4ac29743e..1026d283edc 100644
--- a/src/mame/includes/kaypro.h
+++ b/src/mame/includes/kaypro.h
@@ -55,9 +55,9 @@ public:
DECLARE_WRITE_LINE_MEMBER(fdc_drq_w);
DECLARE_READ8_MEMBER(kaypro_videoram_r);
DECLARE_WRITE8_MEMBER(kaypro_videoram_w);
- void machine_start_kayproii() ATTR_COLD;
- void machine_reset_kaypro();
- void video_start_kaypro() ATTR_COLD;
+ DECLARE_MACHINE_START(kayproii);
+ DECLARE_MACHINE_RESET(kaypro);
+ DECLARE_VIDEO_START(kaypro);
DECLARE_PALETTE_INIT(kaypro);
void init_kaypro();
uint32_t screen_update_kayproii(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/kchamp.h b/src/mame/includes/kchamp.h
index 1befddbb711..091ab8c3adf 100644
--- a/src/mame/includes/kchamp.h
+++ b/src/mame/includes/kchamp.h
@@ -71,8 +71,8 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
DECLARE_PALETTE_INIT(kchamp);
- void machine_start_kchampvs() ATTR_COLD;
- void machine_start_kchamp() ATTR_COLD;
+ DECLARE_MACHINE_START(kchampvs);
+ DECLARE_MACHINE_START(kchamp);
uint32_t screen_update_kchampvs(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_kchamp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(vblank_irq);
diff --git a/src/mame/includes/kickgoal.h b/src/mame/includes/kickgoal.h
index 587150dcd4c..cc28d3df757 100644
--- a/src/mame/includes/kickgoal.h
+++ b/src/mame/includes/kickgoal.h
@@ -41,8 +41,8 @@ public:
TILEMAP_MAPPER_MEMBER(tilemap_scan_kicksbg);
TILEMAP_MAPPER_MEMBER(tilemap_scan_kicksbg2);
TILEMAP_MAPPER_MEMBER(tilemap_scan_actionhwbg2);
- void video_start_kickgoal() ATTR_COLD;
- void video_start_actionhw() ATTR_COLD;
+ DECLARE_VIDEO_START(kickgoal);
+ DECLARE_VIDEO_START(actionhw);
INTERRUPT_GEN_MEMBER(kickgoal_interrupt);
diff --git a/src/mame/includes/kingobox.h b/src/mame/includes/kingobox.h
index ffe04ab8a13..079dcd02c30 100644
--- a/src/mame/includes/kingobox.h
+++ b/src/mame/includes/kingobox.h
@@ -61,9 +61,9 @@ public:
TILE_GET_INFO_MEMBER(ringking_get_bg_tile_info);
virtual void machine_start() override;
virtual void machine_reset() override;
- void video_start_kingofb() ATTR_COLD;
+ DECLARE_VIDEO_START(kingofb);
DECLARE_PALETTE_INIT(kingofb);
- void video_start_ringking() ATTR_COLD;
+ DECLARE_VIDEO_START(ringking);
DECLARE_PALETTE_INIT(ringking);
uint32_t screen_update_kingofb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_ringking(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/konamigx.h b/src/mame/includes/konamigx.h
index 0fb5aa6b4fd..26bf9f7a790 100644
--- a/src/mame/includes/konamigx.h
+++ b/src/mame/includes/konamigx.h
@@ -112,18 +112,18 @@ public:
TILE_GET_INFO_MEMBER(get_gx_psac3_alt_tile_info);
TILE_GET_INFO_MEMBER(get_gx_psac1a_tile_info);
TILE_GET_INFO_MEMBER(get_gx_psac1b_tile_info);
- void machine_start_konamigx() ATTR_COLD;
- void machine_reset_konamigx() ATTR_COLD;
- void video_start_konamigx_5bpp() ATTR_COLD;
- void video_start_dragoonj() ATTR_COLD;
- void video_start_le2() ATTR_COLD;
- void video_start_konamigx_6bpp() ATTR_COLD;
- void video_start_opengolf() ATTR_COLD;
- void video_start_racinfrc() ATTR_COLD;
- void video_start_konamigx_type3() ATTR_COLD;
- void video_start_konamigx_type4() ATTR_COLD;
- void video_start_konamigx_type4_vsn() ATTR_COLD;
- void video_start_konamigx_type4_sd2() ATTR_COLD;
+ DECLARE_MACHINE_START(konamigx);
+ DECLARE_MACHINE_RESET(konamigx);
+ DECLARE_VIDEO_START(konamigx_5bpp);
+ DECLARE_VIDEO_START(dragoonj);
+ DECLARE_VIDEO_START(le2);
+ DECLARE_VIDEO_START(konamigx_6bpp);
+ DECLARE_VIDEO_START(opengolf);
+ DECLARE_VIDEO_START(racinfrc);
+ DECLARE_VIDEO_START(konamigx_type3);
+ DECLARE_VIDEO_START(konamigx_type4);
+ DECLARE_VIDEO_START(konamigx_type4_vsn);
+ DECLARE_VIDEO_START(konamigx_type4_sd2);
uint32_t screen_update_konamigx(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_konamigx_left(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_konamigx_right(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/ladyfrog.h b/src/mame/includes/ladyfrog.h
index 9406188a68f..f5ac228b7ca 100644
--- a/src/mame/includes/ladyfrog.h
+++ b/src/mame/includes/ladyfrog.h
@@ -72,8 +72,8 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
- void video_start_toucheme() ATTR_COLD;
- void video_start_ladyfrog_common() ATTR_COLD;
+ DECLARE_VIDEO_START(toucheme);
+ DECLARE_VIDEO_START(ladyfrog_common);
uint32_t screen_update_ladyfrog(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(nmi_callback);
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
diff --git a/src/mame/includes/lasso.h b/src/mame/includes/lasso.h
index 3a6d44a8c31..472808438c4 100644
--- a/src/mame/includes/lasso.h
+++ b/src/mame/includes/lasso.h
@@ -72,11 +72,11 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
DECLARE_PALETTE_INIT(lasso);
- void machine_start_wwjgtin() ATTR_COLD;
- void machine_reset_wwjgtin();
- void video_start_wwjgtin() ATTR_COLD;
+ DECLARE_MACHINE_START(wwjgtin);
+ DECLARE_MACHINE_RESET(wwjgtin);
+ DECLARE_VIDEO_START(wwjgtin);
DECLARE_PALETTE_INIT(wwjgtin);
- void video_start_pinbo() ATTR_COLD;
+ DECLARE_VIDEO_START(pinbo);
uint32_t screen_update_lasso(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_chameleo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_wwjgtin(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/lastduel.h b/src/mame/includes/lastduel.h
index 040625f1059..c2a7be4ea7f 100644
--- a/src/mame/includes/lastduel.h
+++ b/src/mame/includes/lastduel.h
@@ -65,10 +65,10 @@ public:
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_fix_info);
virtual void machine_reset() override;
- void machine_start_lastduel(); ATTR_COLD
- void video_start_lastduel(); ATTR_COLD
- void machine_start_madgear(); ATTR_COLD
- void video_start_madgear(); ATTR_COLD
+ DECLARE_MACHINE_START(lastduel);
+ DECLARE_VIDEO_START(lastduel);
+ DECLARE_MACHINE_START(madgear);
+ DECLARE_VIDEO_START(madgear);
uint32_t screen_update_lastduel(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_madgear(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(lastduel_timer_cb);
diff --git a/src/mame/includes/legionna.h b/src/mame/includes/legionna.h
index 9288fe4e9c9..f921881a2fb 100644
--- a/src/mame/includes/legionna.h
+++ b/src/mame/includes/legionna.h
@@ -82,12 +82,12 @@ public:
TILE_GET_INFO_MEMBER(get_fore_tile_info);
TILE_GET_INFO_MEMBER(get_fore_tile_info_denji);
TILE_GET_INFO_MEMBER(get_text_tile_info);
- void video_start_legionna() ATTR_COLD;
- void video_start_heatbrl() ATTR_COLD;
- void video_start_godzilla() ATTR_COLD;
- void video_start_denjinmk() ATTR_COLD;
- void video_start_grainbow() ATTR_COLD;
- void video_start_cupsoc() ATTR_COLD;
+ DECLARE_VIDEO_START(legionna);
+ DECLARE_VIDEO_START(heatbrl);
+ DECLARE_VIDEO_START(godzilla);
+ DECLARE_VIDEO_START(denjinmk);
+ DECLARE_VIDEO_START(grainbow);
+ DECLARE_VIDEO_START(cupsoc);
uint32_t screen_update_legionna(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_heatbrl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_godzilla(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/leland.h b/src/mame/includes/leland.h
index 2ce14d0ccdd..7f1157acf7f 100644
--- a/src/mame/includes/leland.h
+++ b/src/mame/includes/leland.h
@@ -172,13 +172,13 @@ public:
void init_indyheat();
void init_brutforc();
void init_asylum();
- void machine_start_ataxx() ATTR_COLD;
- void machine_reset_ataxx();
- void machine_start_leland() ATTR_COLD;
- void machine_reset_leland();
- void video_start_leland() ATTR_COLD;
- void video_start_leland2() ATTR_COLD;
- void video_start_ataxx() ATTR_COLD;
+ DECLARE_MACHINE_START(ataxx);
+ DECLARE_MACHINE_RESET(ataxx);
+ DECLARE_MACHINE_START(leland);
+ DECLARE_MACHINE_RESET(leland);
+ DECLARE_VIDEO_START(leland);
+ DECLARE_VIDEO_START(leland2);
+ DECLARE_VIDEO_START(ataxx);
uint32_t screen_update_leland(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_ataxx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/liberate.h b/src/mame/includes/liberate.h
index 0a2230e3481..9390e408d5f 100644
--- a/src/mame/includes/liberate.h
+++ b/src/mame/includes/liberate.h
@@ -70,13 +70,13 @@ public:
TILE_GET_INFO_MEMBER(get_back_tile_info);
TILE_GET_INFO_MEMBER(get_fix_tile_info);
TILE_GET_INFO_MEMBER(prosport_get_back_tile_info);
- void machine_start_liberate() ATTR_COLD;
- void machine_reset_liberate();
- void video_start_liberate() ATTR_COLD;
+ DECLARE_MACHINE_START(liberate);
+ DECLARE_MACHINE_RESET(liberate);
+ DECLARE_VIDEO_START(liberate);
DECLARE_PALETTE_INIT(liberate);
- void video_start_prosport() ATTR_COLD;
- void video_start_boomrang() ATTR_COLD;
- void video_start_prosoccr() ATTR_COLD;
+ DECLARE_VIDEO_START(prosport);
+ DECLARE_VIDEO_START(boomrang);
+ DECLARE_VIDEO_START(prosoccr);
uint32_t screen_update_liberate(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_prosport(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_boomrang(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/llc.h b/src/mame/includes/llc.h
index 912a2612682..f407e402694 100644
--- a/src/mame/includes/llc.h
+++ b/src/mame/includes/llc.h
@@ -46,9 +46,9 @@ public:
DECLARE_WRITE8_MEMBER(llc2_port1_b_w);
void init_llc2();
void init_llc1();
- void machine_start_llc1() ATTR_COLD;
- void machine_reset_llc1();
- void machine_reset_llc2();
+ DECLARE_MACHINE_START(llc1);
+ DECLARE_MACHINE_RESET(llc1);
+ DECLARE_MACHINE_RESET(llc2);
uint32_t screen_update_llc1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_llc2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/lsasquad.h b/src/mame/includes/lsasquad.h
index d1058391fce..e7238b97012 100644
--- a/src/mame/includes/lsasquad.h
+++ b/src/mame/includes/lsasquad.h
@@ -48,7 +48,8 @@ public:
DECLARE_READ8_MEMBER(lsasquad_mcu_status_r);
DECLARE_READ8_MEMBER(daikaiju_mcu_status_r);
DECLARE_WRITE8_MEMBER(unk);
- void machine_start_lsasquad() ATTR_COLD;
+ DECLARE_MACHINE_START(lsasquad);
+ DECLARE_MACHINE_RESET(lsasquad);
uint32_t screen_update_lsasquad(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_daikaiju(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(nmi_callback);
diff --git a/src/mame/includes/lvcards.h b/src/mame/includes/lvcards.h
index 2132f047b1c..088308af814 100644
--- a/src/mame/includes/lvcards.h
+++ b/src/mame/includes/lvcards.h
@@ -24,8 +24,8 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
virtual void video_start() override;
DECLARE_PALETTE_INIT(lvcards);
- void machine_start_lvpoker() ATTR_COLD;
- void machine_reset_lvpoker();
+ DECLARE_MACHINE_START(lvpoker);
+ DECLARE_MACHINE_RESET(lvpoker);
uint32_t screen_update_lvcards(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
diff --git a/src/mame/includes/lwings.h b/src/mame/includes/lwings.h
index 8cb518bc8ba..2630d6b9f37 100644
--- a/src/mame/includes/lwings.h
+++ b/src/mame/includes/lwings.h
@@ -70,9 +70,9 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
void init_avengersb();
- void video_start_trojan() ATTR_COLD;
- void video_start_avengers() ATTR_COLD;
- void video_start_avengersb() ATTR_COLD;
+ DECLARE_VIDEO_START(trojan);
+ DECLARE_VIDEO_START(avengers);
+ DECLARE_VIDEO_START(avengersb);
uint32_t screen_update_lwings(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_trojan(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(lwings_interrupt);
diff --git a/src/mame/includes/m10.h b/src/mame/includes/m10.h
index 369f1b9def3..d237339f637 100644
--- a/src/mame/includes/m10.h
+++ b/src/mame/includes/m10.h
@@ -102,11 +102,11 @@ public:
void init_ipminva1();
TILEMAP_MAPPER_MEMBER(tilemap_scan);
TILE_GET_INFO_MEMBER(get_tile_info);
- void machine_start_m10() ATTR_COLD;
- void machine_reset_m10();
- void video_start_m10() ATTR_COLD;
+ DECLARE_MACHINE_START(m10);
+ DECLARE_MACHINE_RESET(m10);
+ DECLARE_VIDEO_START(m10);
DECLARE_PALETTE_INIT(m10);
- void video_start_m15() ATTR_COLD;
+ DECLARE_VIDEO_START(m15);
uint32_t screen_update_m10(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_m15(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(m15_interrupt);
diff --git a/src/mame/includes/m62.h b/src/mame/includes/m62.h
index 4f9d75e1fe1..7c7204c7990 100644
--- a/src/mame/includes/m62.h
+++ b/src/mame/includes/m62.h
@@ -98,7 +98,7 @@ public:
TILE_GET_INFO_MEMBER(get_youjyudn_bg_tile_info);
TILE_GET_INFO_MEMBER(get_youjyudn_fg_tile_info);
TILE_GET_INFO_MEMBER(get_horizon_bg_tile_info);
- void machine_start_battroad() ATTR_COLD;
+ DECLARE_MACHINE_START(battroad);
void machine_init_save();
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -107,17 +107,17 @@ public:
DECLARE_PALETTE_INIT(m62_chr);
DECLARE_PALETTE_INIT(m62_lotlot_fg);
DECLARE_PALETTE_INIT(m62_battroad_fg);
- void video_start_kungfum() ATTR_COLD;
- void video_start_battroad() ATTR_COLD;
- void video_start_ldrun2() ATTR_COLD;
- void video_start_ldrun4() ATTR_COLD;
- void video_start_lotlot() ATTR_COLD;
- void video_start_kidniki() ATTR_COLD;
- void video_start_spelunkr() ATTR_COLD;
- void video_start_spelunk2() ATTR_COLD;
+ DECLARE_VIDEO_START(kungfum);
+ DECLARE_VIDEO_START(battroad);
+ DECLARE_VIDEO_START(ldrun2);
+ DECLARE_VIDEO_START(ldrun4);
+ DECLARE_VIDEO_START(lotlot);
+ DECLARE_VIDEO_START(kidniki);
+ DECLARE_VIDEO_START(spelunkr);
+ DECLARE_VIDEO_START(spelunk2);
DECLARE_PALETTE_INIT(spelunk2);
- void video_start_youjyudn() ATTR_COLD;
- void video_start_horizon() ATTR_COLD;
+ DECLARE_VIDEO_START(youjyudn);
+ DECLARE_VIDEO_START(horizon);
uint32_t screen_update_ldrun(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_kungfum(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_battroad(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/m72.h b/src/mame/includes/m72.h
index 40e771f698d..0c82d032a4e 100644
--- a/src/mame/includes/m72.h
+++ b/src/mame/includes/m72.h
@@ -158,15 +158,15 @@ public:
void machine_start() override;
void machine_reset() override;
- void video_start_m72() ATTR_COLD;
- void video_start_xmultipl() ATTR_COLD;
- void video_start_hharry() ATTR_COLD;
- void video_start_rtype2() ATTR_COLD;
- void video_start_m82() ATTR_COLD;
- void video_start_hharryu() ATTR_COLD;
- void video_start_poundfor() ATTR_COLD;
- void machine_start_kengo() ATTR_COLD;
- void machine_reset_kengo();
+ DECLARE_VIDEO_START(m72);
+ DECLARE_VIDEO_START(xmultipl);
+ DECLARE_VIDEO_START(hharry);
+ DECLARE_VIDEO_START(rtype2);
+ DECLARE_VIDEO_START(m82);
+ DECLARE_VIDEO_START(hharryu);
+ DECLARE_VIDEO_START(poundfor);
+ DECLARE_MACHINE_START(kengo);
+ DECLARE_MACHINE_RESET(kengo);
void init_dkgenm72();
void init_bchopper();
void init_gallop();
diff --git a/src/mame/includes/m90.h b/src/mame/includes/m90.h
index 8e2605bc067..bc16bab9f5d 100644
--- a/src/mame/includes/m90.h
+++ b/src/mame/includes/m90.h
@@ -42,8 +42,8 @@ public:
virtual void machine_start() override;
virtual void video_start() override;
void common_tilemap_init();
- void video_start_bomblord() ATTR_COLD;
- void video_start_dynablsb() ATTR_COLD;
+ DECLARE_VIDEO_START(bomblord);
+ DECLARE_VIDEO_START(dynablsb);
uint32_t screen_update_m90(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_bomblord(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_dynablsb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/m92.h b/src/mame/includes/m92.h
index b9188d6f31a..ca04d7ca717 100644
--- a/src/mame/includes/m92.h
+++ b/src/mame/includes/m92.h
@@ -85,9 +85,9 @@ public:
void init_m92();
void init_m92_bank();
TILE_GET_INFO_MEMBER(get_pf_tile_info);
- void machine_reset_m92();
- void video_start_m92() ATTR_COLD;
- void video_start_ppan() ATTR_COLD;
+ DECLARE_MACHINE_RESET(m92);
+ DECLARE_VIDEO_START(m92);
+ DECLARE_VIDEO_START(ppan);
uint32_t screen_update_m92(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_ppan(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(m92_scanline_interrupt);
diff --git a/src/mame/includes/mac.h b/src/mame/includes/mac.h
index 97781e6189e..2a166288136 100644
--- a/src/mame/includes/mac.h
+++ b/src/mame/includes/mac.h
@@ -503,18 +503,18 @@ public:
void init_macpm7100();
void init_macpm8100();
void init_macpb100();
- void video_start_mac() ATTR_COLD;
+ DECLARE_VIDEO_START(mac);
DECLARE_PALETTE_INIT(mac);
- void video_start_macprtb() ATTR_COLD;
+ DECLARE_VIDEO_START(macprtb);
DECLARE_PALETTE_INIT(macgsc);
- void video_start_macsonora() ATTR_COLD;
- void video_reset_macsonora();
- void video_start_macdafb() ATTR_COLD;
- void video_reset_macdafb();
- void video_start_macv8() ATTR_COLD;
- void video_reset_maceagle();
- void video_start_macrbv() ATTR_COLD;
- void video_reset_macrbv();
+ DECLARE_VIDEO_START(macsonora);
+ DECLARE_VIDEO_RESET(macrbv);
+ DECLARE_VIDEO_START(macdafb);
+ DECLARE_VIDEO_RESET(macdafb);
+ DECLARE_VIDEO_START(macv8);
+ DECLARE_VIDEO_RESET(macsonora);
+ DECLARE_VIDEO_RESET(maceagle);
+ DECLARE_VIDEO_START(macrbv);
uint32_t screen_update_mac(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_macprtb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_macse30(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/madalien.h b/src/mame/includes/madalien.h
index 15e8b4b1b8a..e253ccd5ac0 100644
--- a/src/mame/includes/madalien.h
+++ b/src/mame/includes/madalien.h
@@ -70,7 +70,7 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_BG_1);
TILE_GET_INFO_MEMBER(get_tile_info_BG_2);
TILE_GET_INFO_MEMBER(get_tile_info_FG);
- void video_start_madalien() ATTR_COLD;
+ DECLARE_VIDEO_START(madalien);
DECLARE_PALETTE_INIT(madalien);
uint32_t screen_update_madalien(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
inline int scan_helper(int col, int row, int section);
diff --git a/src/mame/includes/mappy.h b/src/mame/includes/mappy.h
index 40ecfd63c72..e68f760c709 100644
--- a/src/mame/includes/mappy.h
+++ b/src/mame/includes/mappy.h
@@ -65,11 +65,11 @@ public:
TILE_GET_INFO_MEMBER(phozon_get_tile_info);
TILE_GET_INFO_MEMBER(mappy_get_tile_info);
virtual void machine_start() override;
- void video_start_superpac() ATTR_COLD;
+ DECLARE_VIDEO_START(superpac);
DECLARE_PALETTE_INIT(superpac);
- void video_start_phozon() ATTR_COLD;
+ DECLARE_VIDEO_START(phozon);
DECLARE_PALETTE_INIT(phozon);
- void video_start_mappy() ATTR_COLD;
+ DECLARE_VIDEO_START(mappy);
DECLARE_PALETTE_INIT(mappy);
uint32_t screen_update_superpac(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_phozon(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/mbee.h b/src/mame/includes/mbee.h
index 9030f013086..fcecfb87871 100644
--- a/src/mame/includes/mbee.h
+++ b/src/mame/includes/mbee.h
@@ -101,16 +101,16 @@ public:
void init_mbeepc();
void init_mbeeic();
void init_mbee128();
- void machine_reset_mbee();
- void video_start_mono() ATTR_COLD;
- void video_start_standard() ATTR_COLD;
- void video_start_premium() ATTR_COLD;
+ DECLARE_MACHINE_RESET(mbee);
+ DECLARE_VIDEO_START(mono);
+ DECLARE_VIDEO_START(standard);
+ DECLARE_VIDEO_START(premium);
DECLARE_PALETTE_INIT(standard);
DECLARE_PALETTE_INIT(premium);
- void machine_reset_mbee56();
- void machine_reset_mbee128();
- void machine_reset_mbee256();
- void machine_reset_mbeett();
+ DECLARE_MACHINE_RESET(mbee56);
+ DECLARE_MACHINE_RESET(mbee128);
+ DECLARE_MACHINE_RESET(mbee256);
+ DECLARE_MACHINE_RESET(mbeett);
uint32_t screen_update_mbee(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(timer_newkb);
DECLARE_QUICKLOAD_LOAD_MEMBER(mbee);
diff --git a/src/mame/includes/mc1502.h b/src/mame/includes/mc1502.h
index 51d430f0320..e9c89f66a23 100644
--- a/src/mame/includes/mc1502.h
+++ b/src/mame/includes/mc1502.h
@@ -57,8 +57,8 @@ public:
required_ioport_array<12> m_kbdio;
void init_mc1502();
- void machine_start_mc1502() ATTR_COLD;
- void machine_reset_mc1502();
+ DECLARE_MACHINE_START(mc1502);
+ DECLARE_MACHINE_RESET(mc1502);
TIMER_CALLBACK_MEMBER(keyb_signal_callback);
diff --git a/src/mame/includes/mcr3.h b/src/mame/includes/mcr3.h
index 20319ee6b4e..e2084d51956 100644
--- a/src/mame/includes/mcr3.h
+++ b/src/mame/includes/mcr3.h
@@ -55,7 +55,7 @@ public:
void init_rampage();
void init_spyhunt();
void init_sarge();
- void video_start_spyhunt() ATTR_COLD;
+ DECLARE_VIDEO_START(spyhunt);
DECLARE_PALETTE_INIT(spyhunt);
uint32_t screen_update_mcr3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/mcr68.h b/src/mame/includes/mcr68.h
index 3981b434855..8fa90d260a9 100644
--- a/src/mame/includes/mcr68.h
+++ b/src/mame/includes/mcr68.h
@@ -69,9 +69,9 @@ public:
void init_archrivlb();
DECLARE_READ16_MEMBER(archrivlb_port_1_r);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
- void machine_start_mcr68() ATTR_COLD;
- void machine_reset_mcr68();
- void video_start_mcr68() ATTR_COLD;
+ DECLARE_MACHINE_START(mcr68);
+ DECLARE_MACHINE_RESET(mcr68);
+ DECLARE_VIDEO_START(mcr68);
uint32_t screen_update_mcr68(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(scanline_cb);
TIMER_CALLBACK_MEMBER(mcr68_493_off_callback);
diff --git a/src/mame/includes/megadriv.h b/src/mame/includes/megadriv.h
index a0c6ed63d54..e2f239afcd3 100644
--- a/src/mame/includes/megadriv.h
+++ b/src/mame/includes/megadriv.h
@@ -123,9 +123,9 @@ public:
void megadriv_stop_scanline_timer();
- void machine_start_megadriv() ATTR_COLD;
- void machine_reset_megadriv();
- void video_start_megadriv() ATTR_COLD;
+ DECLARE_MACHINE_START( megadriv );
+ DECLARE_MACHINE_RESET( megadriv );
+ DECLARE_VIDEO_START( megadriv );
uint32_t screen_update_megadriv(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank_megadriv);
@@ -170,10 +170,10 @@ public:
READ8_MEMBER(mess_md_io_read_data_port);
WRITE16_MEMBER(mess_md_io_write_data_port);
- void machine_start_md_common() ATTR_COLD; // setup ioport_port
- void machine_start_ms_megadriv() ATTR_COLD; // setup ioport_port + install cartslot handlers
- void machine_start_ms_megacd() ATTR_COLD; // setup ioport_port + dma delay for cd
- void machine_reset_ms_megadriv();
+ DECLARE_MACHINE_START( md_common ); // setup ioport_port
+ DECLARE_MACHINE_START( ms_megadriv ); // setup ioport_port + install cartslot handlers
+ DECLARE_MACHINE_START( ms_megacd ); // setup ioport_port + dma delay for cd
+ DECLARE_MACHINE_RESET( ms_megadriv );
DECLARE_WRITE_LINE_MEMBER(screen_vblank_console);
diff --git a/src/mame/includes/megadriv_acbl.h b/src/mame/includes/megadriv_acbl.h
index 11be22426d8..bf9d9fd440e 100644
--- a/src/mame/includes/megadriv_acbl.h
+++ b/src/mame/includes/megadriv_acbl.h
@@ -28,8 +28,8 @@ public:
DECLARE_READ16_MEMBER(puckpkmna_70001c_r);
DECLARE_READ16_MEMBER(puckpkmna_4b2476_r);
- void machine_start_md_bootleg() { machine_start_megadriv(); m_vdp->stop_timers(); }
- void machine_start_md_6button() ATTR_COLD;
+ DECLARE_MACHINE_START(md_bootleg) { MACHINE_START_CALL_MEMBER(megadriv); m_vdp->stop_timers(); }
+ DECLARE_MACHINE_START(md_6button);
void megadrvb(machine_config &config);
void megadrvb_6b(machine_config &config);
void md_bootleg(machine_config &config);
diff --git a/src/mame/includes/megadriv_rad.h b/src/mame/includes/megadriv_rad.h
index 1affba7aadc..e4899647745 100644
--- a/src/mame/includes/megadriv_rad.h
+++ b/src/mame/includes/megadriv_rad.h
@@ -15,9 +15,9 @@ public:
void init_megadriv_radica_6button_pal();
- void machine_start_megadriv_radica_6button() ATTR_COLD;
- void machine_start_megadriv_radica_3button() ATTR_COLD;
- void machine_reset_megadriv_radica();
+ DECLARE_MACHINE_START(megadriv_radica_6button);
+ DECLARE_MACHINE_START(megadriv_radica_3button);
+ DECLARE_MACHINE_RESET(megadriv_radica);
DECLARE_READ16_MEMBER(read);
DECLARE_READ16_MEMBER(read_a13);
diff --git a/src/mame/includes/megasys1.h b/src/mame/includes/megasys1.h
index 37b570a9cea..1da991feee4 100644
--- a/src/mame/includes/megasys1.h
+++ b/src/mame/includes/megasys1.h
@@ -152,10 +152,10 @@ public:
void init_stdragona();
void init_stdragonb();
void init_systemz();
- void machine_reset_megasys1();
- void video_start_megasys1() ATTR_COLD;
+ DECLARE_MACHINE_RESET(megasys1);
+ DECLARE_VIDEO_START(megasys1);
DECLARE_PALETTE_INIT(megasys1);
- void machine_reset_megasys1_hachoo();
+ DECLARE_MACHINE_RESET(megasys1_hachoo);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank);
diff --git a/src/mame/includes/metro.h b/src/mame/includes/metro.h
index dd7906ed079..ff522ce937c 100644
--- a/src/mame/includes/metro.h
+++ b/src/mame/includes/metro.h
@@ -98,8 +98,8 @@ public:
TILE_GET_INFO_MEMBER(metro_k053936_get_tile_info);
TILE_GET_INFO_MEMBER(metro_k053936_gstrik2_get_tile_info);
TILEMAP_MAPPER_MEMBER(tilemap_scan_gstrik2);
- void video_start_blzntrnd() ATTR_COLD;
- void video_start_gstrik2() ATTR_COLD;
+ DECLARE_VIDEO_START(blzntrnd);
+ DECLARE_VIDEO_START(gstrik2);
uint32_t screen_update_psac_vdp2_mix(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(metro_vblank_irq);
INTERRUPT_GEN_MEMBER(metro_periodic_interrupt);
diff --git a/src/mame/includes/midtunit.h b/src/mame/includes/midtunit.h
index 01d93922cf2..1726a072c16 100644
--- a/src/mame/includes/midtunit.h
+++ b/src/mame/includes/midtunit.h
@@ -85,8 +85,8 @@ public:
void init_jdreddp();
void init_mk2();
- void machine_reset_midtunit();
- void video_start_midtunit() ATTR_COLD;
+ DECLARE_MACHINE_RESET(midtunit);
+ DECLARE_VIDEO_START(midtunit);
void register_state_saving();
void init_tunit_generic(int sound);
diff --git a/src/mame/includes/midvunit.h b/src/mame/includes/midvunit.h
index fcdc9304f48..c03eb47030a 100644
--- a/src/mame/includes/midvunit.h
+++ b/src/mame/includes/midvunit.h
@@ -155,7 +155,7 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
- void machine_reset_midvplus();
+ DECLARE_MACHINE_RESET(midvplus);
uint32_t screen_update_midvunit(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(scanline_timer_cb);
required_device<cpu_device> m_maincpu;
diff --git a/src/mame/includes/midwunit.h b/src/mame/includes/midwunit.h
index 125c742c55e..34736675581 100644
--- a/src/mame/includes/midwunit.h
+++ b/src/mame/includes/midwunit.h
@@ -56,8 +56,8 @@ public:
void init_umk3r11();
void init_mk3r20();
- void machine_reset_midwunit();
- void video_start_midwunit() ATTR_COLD;
+ DECLARE_MACHINE_RESET(midwunit);
+ DECLARE_VIDEO_START(midwunit);
void register_state_saving();
void init_wunit_generic();
diff --git a/src/mame/includes/midxunit.h b/src/mame/includes/midxunit.h
index 36cb0bbe4ba..b1bafb5c0c3 100644
--- a/src/mame/includes/midxunit.h
+++ b/src/mame/includes/midxunit.h
@@ -32,8 +32,8 @@ public:
DECLARE_WRITE16_MEMBER(midxunit_sound_w);
DECLARE_WRITE_LINE_MEMBER(midxunit_dcs_output_full);
void init_revx();
- void machine_reset_midxunit();
- void video_start_midxunit() ATTR_COLD;
+ DECLARE_MACHINE_RESET(midxunit);
+ DECLARE_VIDEO_START(midxunit);
void register_state_saving();
TMS340X0_SCANLINE_IND16_CB_MEMBER(scanline_update);
diff --git a/src/mame/includes/midyunit.h b/src/mame/includes/midyunit.h
index 84bcafd9612..a582129c94b 100644
--- a/src/mame/includes/midyunit.h
+++ b/src/mame/includes/midyunit.h
@@ -140,12 +140,12 @@ public:
void init_hiimpact();
void init_mkyturbo();
void init_term2la2();
- void machine_reset_midyunit();
- void video_start_midzunit() ATTR_COLD;
- void video_start_midyunit_4bit() ATTR_COLD;
- void video_start_midyunit_6bit() ATTR_COLD;
- void video_start_mkyawdim() ATTR_COLD;
- void video_start_common() ATTR_COLD;
+ DECLARE_MACHINE_RESET(midyunit);
+ DECLARE_VIDEO_START(midzunit);
+ DECLARE_VIDEO_START(midyunit_4bit);
+ DECLARE_VIDEO_START(midyunit_6bit);
+ DECLARE_VIDEO_START(mkyawdim);
+ DECLARE_VIDEO_START(common);
TIMER_CALLBACK_MEMBER(dma_callback);
TIMER_CALLBACK_MEMBER(autoerase_line);
diff --git a/src/mame/includes/midzeus.h b/src/mame/includes/midzeus.h
index b5dfcb10902..d4a19a0fc9c 100644
--- a/src/mame/includes/midzeus.h
+++ b/src/mame/includes/midzeus.h
@@ -70,9 +70,9 @@ public:
void init_mk4();
void init_thegrid();
void init_crusnexo();
- void machine_start_midzeus() ATTR_COLD;
- void machine_reset_midzeus();
- void video_start_midzeus() ATTR_COLD;
+ DECLARE_MACHINE_START(midzeus);
+ DECLARE_MACHINE_RESET(midzeus);
+ DECLARE_VIDEO_START(midzeus);
uint32_t screen_update_midzeus(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(display_irq);
TIMER_CALLBACK_MEMBER(display_irq_off);
diff --git a/src/mame/includes/mitchell.h b/src/mame/includes/mitchell.h
index 78a06cffc35..9ca090695c0 100644
--- a/src/mame/includes/mitchell.h
+++ b/src/mame/includes/mitchell.h
@@ -123,9 +123,9 @@ public:
void init_blockbl();
void init_dokaben();
TILE_GET_INFO_MEMBER(get_tile_info);
- void machine_start_mitchell() ATTR_COLD;
- void machine_reset_mitchell();
- void video_start_pang() ATTR_COLD;
+ DECLARE_MACHINE_START(mitchell);
+ DECLARE_MACHINE_RESET(mitchell);
+ DECLARE_VIDEO_START(pang);
uint32_t screen_update_pang(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(mitchell_irq);
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
diff --git a/src/mame/includes/model1.h b/src/mame/includes/model1.h
index ec5e4321ebf..c89e12463e0 100644
--- a/src/mame/includes/model1.h
+++ b/src/mame/includes/model1.h
@@ -60,8 +60,8 @@ public:
}
// Machine
- void machine_start_model1() ATTR_COLD;
- void machine_reset_model1();
+ DECLARE_MACHINE_START(model1);
+ DECLARE_MACHINE_RESET(model1);
DECLARE_READ8_MEMBER(io_r);
DECLARE_WRITE8_MEMBER(io_w);
@@ -122,7 +122,7 @@ public:
DECLARE_WRITE8_MEMBER(r360_w);
// Rendering
- void video_start_model1() ATTR_COLD;
+ DECLARE_VIDEO_START(model1);
DECLARE_READ16_MEMBER(model1_listctl_r);
DECLARE_WRITE16_MEMBER(model1_listctl_w);
diff --git a/src/mame/includes/model2.h b/src/mame/includes/model2.h
index 0fe91cd5c0b..02fe76586fc 100644
--- a/src/mame/includes/model2.h
+++ b/src/mame/includes/model2.h
@@ -69,7 +69,7 @@ public:
/* Public for access by MCFG */
TIMER_DEVICE_CALLBACK_MEMBER(model2_interrupt);
uint16_t crypt_read_callback(uint32_t addr);
- void machine_start_model2() ATTR_COLD;
+ DECLARE_MACHINE_START(model2);
/* Public for access by GAME() */
@@ -195,9 +195,9 @@ protected:
DECLARE_READ8_MEMBER(driveio_porth_r);
DECLARE_WRITE8_MEMBER(driveio_port_w);
void push_geo_data(uint32_t data);
- void video_start_model2() ATTR_COLD;
- void machine_reset_model2_common();
- void machine_reset_model2_scsp();
+ DECLARE_VIDEO_START(model2);
+ DECLARE_MACHINE_RESET(model2_common);
+ DECLARE_MACHINE_RESET(model2_scsp);
uint32_t screen_update_model2(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
// DECLARE_WRITE_LINE_MEMBER(screen_vblank_model2);
// DECLARE_WRITE_LINE_MEMBER(sound_ready_w);
@@ -309,7 +309,7 @@ public:
m_copro_tgp_bank(*this, "copro_tgp_bank")
{}
- void machine_start_model2_tgp();
+ DECLARE_MACHINE_START(model2_tgp);
protected:
required_device<mb86234_device> m_copro_tgp;
@@ -346,7 +346,7 @@ protected:
DECLARE_WRITE32_MEMBER(copro_atan_w);
DECLARE_READ32_MEMBER(copro_atan_r);
- void machine_reset_model2_tgp();
+ DECLARE_MACHINE_RESET(model2_tgp);
void model2_tgp_mem(address_map &map);
@@ -373,7 +373,7 @@ public:
: model2_tgp_state(mconfig, type, tag)
{}
- void machine_reset_model2o();
+ DECLARE_MACHINE_RESET(model2o);
void model2o(machine_config &config);
void daytona(machine_config &config);
@@ -444,7 +444,7 @@ public:
: model2_tgp_state(mconfig, type, tag)
{}
- void machine_reset_model2a();
+ DECLARE_MACHINE_RESET(model2a);
void manxtt(machine_config &config);
void manxttdx(machine_config &config);
@@ -475,8 +475,8 @@ public:
m_copro_adsp(*this, "copro_adsp")
{}
- void machine_reset_model2b();
- void machine_start_model2b() ATTR_COLD;
+ DECLARE_MACHINE_RESET(model2b);
+ DECLARE_MACHINE_START(model2b);
void model2b(machine_config &config);
void model2b_0229(machine_config &config);
@@ -524,8 +524,8 @@ public:
m_copro_tgpx4_program(*this, "copro_tgpx4_program")
{}
- void machine_reset_model2c();
- void machine_start_model2c() ATTR_COLD;
+ DECLARE_MACHINE_RESET(model2c);
+ DECLARE_MACHINE_START(model2c);
void model2c(machine_config &config);
void model2c_5881(machine_config &config);
diff --git a/src/mame/includes/model3.h b/src/mame/includes/model3.h
index 1224f3e42ee..7ca250b5f8f 100644
--- a/src/mame/includes/model3.h
+++ b/src/mame/includes/model3.h
@@ -267,14 +267,14 @@ public:
void init_magtruck();
void init_lamachin();
void init_model3_15();
- void machine_start_model3_10() ATTR_COLD;
- void machine_reset_model3_10();
- void machine_start_model3_15() ATTR_COLD;
- void machine_reset_model3_15();
- void machine_start_model3_20() ATTR_COLD;
- void machine_reset_model3_20();
- void machine_start_model3_21() ATTR_COLD;
- void machine_reset_model3_21();
+ DECLARE_MACHINE_START(model3_10);
+ DECLARE_MACHINE_RESET(model3_10);
+ DECLARE_MACHINE_START(model3_15);
+ DECLARE_MACHINE_RESET(model3_15);
+ DECLARE_MACHINE_START(model3_20);
+ DECLARE_MACHINE_RESET(model3_20);
+ DECLARE_MACHINE_START(model3_21);
+ DECLARE_MACHINE_RESET(model3_21);
TIMER_CALLBACK_MEMBER(model3_sound_timer_tick);
TIMER_CALLBACK_MEMBER(real3d_dma_timer_callback);
TIMER_DEVICE_CALLBACK_MEMBER(model3_interrupt);
diff --git a/src/mame/includes/moo.h b/src/mame/includes/moo.h
index 3e967857287..541e4c197d3 100644
--- a/src/mame/includes/moo.h
+++ b/src/mame/includes/moo.h
@@ -73,10 +73,10 @@ public:
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
DECLARE_WRITE16_MEMBER(moo_prot_w);
DECLARE_WRITE16_MEMBER(moobl_oki_bank_w);
- void machine_start_moo() ATTR_COLD;
- void machine_reset_moo();
- void video_start_moo() ATTR_COLD;
- void video_start_bucky() ATTR_COLD;
+ DECLARE_MACHINE_START(moo);
+ DECLARE_MACHINE_RESET(moo);
+ DECLARE_VIDEO_START(moo);
+ DECLARE_VIDEO_START(bucky);
uint32_t screen_update_moo(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(moo_interrupt);
INTERRUPT_GEN_MEMBER(moobl_interrupt);
diff --git a/src/mame/includes/mpu4.h b/src/mame/includes/mpu4.h
index 50a98b12460..10d8f068012 100644
--- a/src/mame/includes/mpu4.h
+++ b/src/mame/includes/mpu4.h
@@ -245,15 +245,15 @@ public:
void init_m4andyfh();
void init_m4andyge();
void init_m4apachg();
- void machine_start_mod2() ATTR_COLD;
- void machine_reset_mpu4();
- void machine_start_mpu4yam() ATTR_COLD;
- void machine_start_mpu4oki() ATTR_COLD;
- void machine_start_mpu4oki_alt() ATTR_COLD;
- void machine_start_mod4oki_5r() ATTR_COLD;
- void machine_start_mod2_alt() ATTR_COLD;
- void machine_start_mpu4bwb() ATTR_COLD;
- void machine_start_mpu4cry() ATTR_COLD;
+ DECLARE_MACHINE_START(mod2);
+ DECLARE_MACHINE_RESET(mpu4);
+ DECLARE_MACHINE_START(mpu4yam);
+ DECLARE_MACHINE_START(mpu4oki);
+ DECLARE_MACHINE_START(mpu4oki_alt);
+ DECLARE_MACHINE_START(mod4oki_5r);
+ DECLARE_MACHINE_START(mod2_alt);
+ DECLARE_MACHINE_START(mpu4bwb);
+ DECLARE_MACHINE_START(mpu4cry);
TIMER_DEVICE_CALLBACK_MEMBER(gen_50hz);
template <unsigned N> DECLARE_WRITE_LINE_MEMBER(reel_optic_cb) { if (state) m_optic_pattern |= (1 << N); else m_optic_pattern &= ~(1 << N); }
void bwboki(machine_config &config);
diff --git a/src/mame/includes/ms32.h b/src/mame/includes/ms32.h
index 29fc19ed9a5..c306cb34c1d 100644
--- a/src/mame/includes/ms32.h
+++ b/src/mame/includes/ms32.h
@@ -118,7 +118,7 @@ public:
TILE_GET_INFO_MEMBER(get_ms32_extra_tile_info);
virtual void machine_reset() override;
virtual void video_start() override;
- void video_start_f1superb() ATTR_COLD;
+ DECLARE_VIDEO_START(f1superb);
uint32_t screen_update_ms32(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(ms32_interrupt);
IRQ_CALLBACK_MEMBER(irq_callback);
diff --git a/src/mame/includes/mtx.h b/src/mame/includes/mtx.h
index fe576464c28..46538172426 100644
--- a/src/mame/includes/mtx.h
+++ b/src/mame/includes/mtx.h
@@ -85,8 +85,8 @@ public:
DECLARE_WRITE8_MEMBER(hrx_data_w);
DECLARE_READ8_MEMBER(hrx_attr_r);
DECLARE_WRITE8_MEMBER(hrx_attr_w);
- void machine_start_mtx512() ATTR_COLD;
- void machine_reset_mtx512();
+ DECLARE_MACHINE_START(mtx512);
+ DECLARE_MACHINE_RESET(mtx512);
TIMER_DEVICE_CALLBACK_MEMBER(ctc_tick);
TIMER_DEVICE_CALLBACK_MEMBER(cassette_tick);
DECLARE_WRITE_LINE_MEMBER(ctc_trg1_w);
diff --git a/src/mame/includes/mw8080bw.h b/src/mame/includes/mw8080bw.h
index 28197a5b9c8..75026d596c5 100644
--- a/src/mame/includes/mw8080bw.h
+++ b/src/mame/includes/mw8080bw.h
@@ -155,18 +155,18 @@ public:
DECLARE_WRITE8_MEMBER(bowler_audio_4_w);
DECLARE_WRITE8_MEMBER(bowler_audio_5_w);
DECLARE_WRITE8_MEMBER(bowler_audio_6_w);
- void machine_start_mw8080bw() ATTR_COLD;
- void machine_reset_mw8080bw();
- void machine_start_maze() ATTR_COLD;
- void machine_start_boothill() ATTR_COLD;
- void machine_start_desertgu() ATTR_COLD;
- void machine_start_gmissile() ATTR_COLD;
- void machine_start_m4() ATTR_COLD;
- void machine_start_clowns() ATTR_COLD;
- void machine_start_spcenctr() ATTR_COLD;
- void machine_start_phantom2() ATTR_COLD;
- void machine_start_invaders() ATTR_COLD;
- void sound_start_samples() ATTR_COLD;
+ DECLARE_MACHINE_START(mw8080bw);
+ DECLARE_MACHINE_RESET(mw8080bw);
+ DECLARE_MACHINE_START(maze);
+ DECLARE_MACHINE_START(boothill);
+ DECLARE_MACHINE_START(desertgu);
+ DECLARE_MACHINE_START(gmissile);
+ DECLARE_MACHINE_START(m4);
+ DECLARE_MACHINE_START(clowns);
+ DECLARE_MACHINE_START(spcenctr);
+ DECLARE_MACHINE_START(phantom2);
+ DECLARE_MACHINE_START(invaders);
+ DECLARE_SOUND_START(samples);
uint32_t screen_update_mw8080bw(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_spcenctr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_phantom2(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/mystston.h b/src/mame/includes/mystston.h
index 2f8ac4365f7..7dfd1fdad46 100644
--- a/src/mame/includes/mystston.h
+++ b/src/mame/includes/mystston.h
@@ -52,8 +52,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
- void video_start_mystston() ATTR_COLD;
- void video_reset_mystston() ATTR_COLD;
+ DECLARE_VIDEO_START(mystston);
+ DECLARE_VIDEO_RESET(mystston);
uint32_t screen_update_mystston(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(interrupt_callback);
void set_palette();
diff --git a/src/mame/includes/mystwarr.h b/src/mame/includes/mystwarr.h
index be62883df42..279f6e3b74b 100644
--- a/src/mame/includes/mystwarr.h
+++ b/src/mame/includes/mystwarr.h
@@ -67,19 +67,19 @@ public:
DECLARE_READ16_MEMBER(ddd_053936_tilerom_2_r);
TILE_GET_INFO_MEMBER(get_gai_936_tile_info);
TILE_GET_INFO_MEMBER(get_ult_936_tile_info);
- void machine_start_mystwarr() ATTR_COLD;
- void machine_reset_mystwarr();
- void video_start_mystwarr() ATTR_COLD;
- void machine_reset_viostorm();
- void video_start_viostorm() ATTR_COLD;
- void machine_reset_metamrph();
- void video_start_metamrph() ATTR_COLD;
- void machine_reset_dadandrn();
- void video_start_dadandrn() ATTR_COLD;
- void machine_reset_gaiapols();
- void video_start_gaiapols() ATTR_COLD;
- void machine_reset_martchmp();
- void video_start_martchmp() ATTR_COLD;
+ DECLARE_MACHINE_START(mystwarr);
+ DECLARE_MACHINE_RESET(mystwarr);
+ DECLARE_VIDEO_START(mystwarr);
+ DECLARE_MACHINE_RESET(viostorm);
+ DECLARE_VIDEO_START(viostorm);
+ DECLARE_MACHINE_RESET(metamrph);
+ DECLARE_VIDEO_START(metamrph);
+ DECLARE_MACHINE_RESET(dadandrn);
+ DECLARE_VIDEO_START(dadandrn);
+ DECLARE_MACHINE_RESET(gaiapols);
+ DECLARE_VIDEO_START(gaiapols);
+ DECLARE_MACHINE_RESET(martchmp);
+ DECLARE_VIDEO_START(martchmp);
uint32_t screen_update_mystwarr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_metamrph(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_dadandrn(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/mz700.h b/src/mame/includes/mz700.h
index b480486b85a..fb499e9d70e 100644
--- a/src/mame/includes/mz700.h
+++ b/src/mame/includes/mz700.h
@@ -63,8 +63,8 @@ public:
DECLARE_WRITE8_MEMBER(mz800_cgram_w);
void init_mz800();
void init_mz700();
- void machine_reset_mz700();
- void machine_reset_mz800();
+ DECLARE_MACHINE_RESET(mz700);
+ DECLARE_MACHINE_RESET(mz800);
virtual void machine_start() override;
uint32_t screen_update_mz700(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_mz800(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/n8080.h b/src/mame/includes/n8080.h
index bafc7829a8d..142368729cd 100644
--- a/src/mame/includes/n8080.h
+++ b/src/mame/includes/n8080.h
@@ -80,22 +80,22 @@ public:
DECLARE_WRITE_LINE_MEMBER(n8080_inte_callback);
DECLARE_WRITE8_MEMBER(n8080_status_callback);
virtual void machine_start() override;
- void machine_reset_spacefev();
- void video_start_spacefev() ATTR_COLD;
+ DECLARE_MACHINE_RESET(spacefev);
+ DECLARE_VIDEO_START(spacefev);
DECLARE_PALETTE_INIT(n8080);
- void machine_reset_sheriff();
- void video_start_sheriff() ATTR_COLD;
- void machine_reset_helifire();
- void video_start_helifire() ATTR_COLD;
+ DECLARE_MACHINE_RESET(sheriff);
+ DECLARE_VIDEO_START(sheriff);
+ DECLARE_MACHINE_RESET(helifire);
+ DECLARE_VIDEO_START(helifire);
DECLARE_PALETTE_INIT(helifire);
- void sound_start_spacefev() ATTR_COLD;
- void sound_reset_spacefev();
- void sound_start_sheriff() ATTR_COLD;
- void sound_reset_sheriff();
- void sound_start_helifire() ATTR_COLD;
- void sound_reset_helifire();
- void machine_start_n8080() ATTR_COLD;
- void machine_reset_n8080();
+ DECLARE_SOUND_START(spacefev);
+ DECLARE_SOUND_RESET(spacefev);
+ DECLARE_SOUND_START(sheriff);
+ DECLARE_SOUND_RESET(sheriff);
+ DECLARE_SOUND_START(helifire);
+ DECLARE_SOUND_RESET(helifire);
+ DECLARE_MACHINE_START(n8080);
+ DECLARE_MACHINE_RESET(n8080);
uint32_t screen_update_spacefev(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_sheriff(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_helifire(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/namcofl.h b/src/mame/includes/namcofl.h
index 01b640a919e..c8b8a6a53fe 100644
--- a/src/mame/includes/namcofl.h
+++ b/src/mame/includes/namcofl.h
@@ -71,9 +71,9 @@ public:
DECLARE_WRITE32_MEMBER(namcofl_spritebank_w);
void init_speedrcr();
void init_finalapr();
- void machine_start_namcofl() ATTR_COLD;
- void machine_reset_namcofl();
- void video_start_namcofl() ATTR_COLD;
+ DECLARE_MACHINE_START(namcofl);
+ DECLARE_MACHINE_RESET(namcofl);
+ DECLARE_VIDEO_START(namcofl);
uint32_t screen_update_namcofl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(network_interrupt_callback);
TIMER_CALLBACK_MEMBER(vblank_interrupt_callback);
diff --git a/src/mame/includes/namconb1.h b/src/mame/includes/namconb1.h
index 1aaa61e89f9..d2b4a9c69aa 100644
--- a/src/mame/includes/namconb1.h
+++ b/src/mame/includes/namconb1.h
@@ -102,9 +102,9 @@ public:
void init_gslgr94j();
void init_outfxies();
void init_gslgr94u();
- void machine_reset_namconb();
- void video_start_namconb1() ATTR_COLD;
- void video_start_namconb2() ATTR_COLD;
+ DECLARE_MACHINE_RESET(namconb);
+ DECLARE_VIDEO_START(namconb1);
+ DECLARE_VIDEO_START(namconb2);
void video_update_common(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int bROZ);
uint32_t screen_update_namconb1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_namconb2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/namcos2.h b/src/mame/includes/namcos2.h
index 75445484106..8c23fdebb35 100644
--- a/src/mame/includes/namcos2.h
+++ b/src/mame/includes/namcos2.h
@@ -236,8 +236,8 @@ public:
DECLARE_WRITE16_MEMBER( c355_obj_ram_w );
DECLARE_READ16_MEMBER( c355_obj_position_r );
DECLARE_WRITE16_MEMBER( c355_obj_position_w );
- void machine_start_namcos2() ATTR_COLD;
- void machine_reset_namcos2();
+ DECLARE_MACHINE_START(namcos2);
+ DECLARE_MACHINE_RESET(namcos2);
protected:
// C355 Motion Object internals
template<class _BitmapClass>
diff --git a/src/mame/includes/namcos21.h b/src/mame/includes/namcos21.h
index 1cfb4f2244a..a42fb078c29 100644
--- a/src/mame/includes/namcos21.h
+++ b/src/mame/includes/namcos21.h
@@ -171,8 +171,8 @@ public:
void init_solvalou();
void init_cybsled();
void init_aircomb();
- void machine_start_namcos21() ATTR_COLD;
- void video_start_namcos21() ATTR_COLD;
+ DECLARE_MACHINE_START(namcos21);
+ DECLARE_VIDEO_START(namcos21);
uint32_t screen_update_namcos21(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_winrun(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_driveyes(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/namcos22.h b/src/mame/includes/namcos22.h
index e3eac9736f7..d8a312c2d29 100644
--- a/src/mame/includes/namcos22.h
+++ b/src/mame/includes/namcos22.h
@@ -489,7 +489,7 @@ public:
virtual void machine_reset() override;
virtual void machine_start() override;
virtual void video_start() override;
- void machine_start_adillor() ATTR_COLD;
+ DECLARE_MACHINE_START(adillor);
uint32_t screen_update_namcos22s(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_namcos22(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(namcos22s_interrupt);
diff --git a/src/mame/includes/naomi.h b/src/mame/includes/naomi.h
index 8e8973ea46c..66d3892c434 100644
--- a/src/mame/includes/naomi.h
+++ b/src/mame/includes/naomi.h
@@ -49,7 +49,7 @@ class naomi_state : public dc_state
required_device<eeprom_serial_93cxx_device> m_eeprom;
optional_shared_ptr<uint64_t> m_rombase;
- void machine_reset_naomi();
+ DECLARE_MACHINE_RESET(naomi);
void init_naomigd();
void init_ggxx();
void init_ggxxrl();
diff --git a/src/mame/includes/nbmj8688.h b/src/mame/includes/nbmj8688.h
index 236502efd97..153186e91b0 100644
--- a/src/mame/includes/nbmj8688.h
+++ b/src/mame/includes/nbmj8688.h
@@ -73,16 +73,16 @@ public:
void init_kaguya2();
void init_mjcamera();
void init_kanatuen();
- void video_start_mbmj8688_pure_12bit() ATTR_COLD;
+ DECLARE_VIDEO_START(mbmj8688_pure_12bit);
DECLARE_PALETTE_INIT(mbmj8688_12bit);
- void video_start_mbmj8688_pure_16bit_LCD() ATTR_COLD;
+ DECLARE_VIDEO_START(mbmj8688_pure_16bit_LCD);
DECLARE_PALETTE_INIT(mbmj8688_16bit);
DECLARE_PALETTE_INIT(mbmj8688_lcd);
- void video_start_mbmj8688_8bit() ATTR_COLD;
+ DECLARE_VIDEO_START(mbmj8688_8bit);
DECLARE_PALETTE_INIT(mbmj8688_8bit);
- void video_start_mbmj8688_hybrid_16bit() ATTR_COLD;
- void video_start_mbmj8688_hybrid_12bit() ATTR_COLD;
- void video_start_mbmj8688_pure_16bit() ATTR_COLD;
+ DECLARE_VIDEO_START(mbmj8688_hybrid_16bit);
+ DECLARE_VIDEO_START(mbmj8688_hybrid_12bit);
+ DECLARE_VIDEO_START(mbmj8688_pure_16bit);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void vramflip();
diff --git a/src/mame/includes/nbmj8891.h b/src/mame/includes/nbmj8891.h
index bf2e591ee11..61a8da24873 100644
--- a/src/mame/includes/nbmj8891.h
+++ b/src/mame/includes/nbmj8891.h
@@ -88,7 +88,7 @@ public:
void init_pairsnb();
void init_mjnanpas();
virtual void video_start() override;
- void video_start__1layer() ATTR_COLD;
+ DECLARE_VIDEO_START(_1layer);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void vramflip(int vram);
diff --git a/src/mame/includes/nbmj9195.h b/src/mame/includes/nbmj9195.h
index a8299a648f6..5b7359da554 100644
--- a/src/mame/includes/nbmj9195.h
+++ b/src/mame/includes/nbmj9195.h
@@ -101,8 +101,8 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
- void video_start__1layer() ATTR_COLD;
- void video_start_nb22090() ATTR_COLD;
+ DECLARE_VIDEO_START(_1layer);
+ DECLARE_VIDEO_START(nb22090);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
int blitter_r(int offset, int vram);
diff --git a/src/mame/includes/nc.h b/src/mame/includes/nc.h
index 33ee7000b59..39c51be1b2d 100644
--- a/src/mame/includes/nc.h
+++ b/src/mame/includes/nc.h
@@ -74,8 +74,8 @@ public:
DECLARE_WRITE8_MEMBER(nc200_poweroff_control_w);
DECLARE_PALETTE_INIT(nc);
- void machine_start_nc200() ATTR_COLD;
- void machine_reset_nc200();
+ DECLARE_MACHINE_START(nc200);
+ DECLARE_MACHINE_RESET(nc200);
uint32_t screen_update_nc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(nc_keyboard_timer_callback);
TIMER_DEVICE_CALLBACK_MEMBER(dummy_timer_callback);
diff --git a/src/mame/includes/nes.h b/src/mame/includes/nes.h
index edf8773686b..d0e88b52d56 100644
--- a/src/mame/includes/nes.h
+++ b/src/mame/includes/nes.h
@@ -96,10 +96,10 @@ public:
void init_famicom();
// these are needed until we modernize the FDS controller
- void machine_start_fds() ATTR_COLD;
- void machine_start_famitwin() ATTR_COLD;
- void machine_reset_fds();
- void machine_reset_famitwin();
+ DECLARE_MACHINE_START(fds);
+ DECLARE_MACHINE_START(famitwin);
+ DECLARE_MACHINE_RESET(fds);
+ DECLARE_MACHINE_RESET(famitwin);
void setup_disk(nes_disksys_device *slot);
void suborkbd(machine_config &config);
diff --git a/src/mame/includes/ninjakd2.h b/src/mame/includes/ninjakd2.h
index a2930c0afab..6b25338a637 100644
--- a/src/mame/includes/ninjakd2.h
+++ b/src/mame/includes/ninjakd2.h
@@ -106,12 +106,12 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
- void video_start_mnight() ATTR_COLD;
- void video_start_arkarea() ATTR_COLD;
- void video_start_robokid() ATTR_COLD;
- void machine_start_omegaf() ATTR_COLD;
- void machine_reset_omegaf();
- void video_start_omegaf() ATTR_COLD;
+ DECLARE_VIDEO_START(mnight);
+ DECLARE_VIDEO_START(arkarea);
+ DECLARE_VIDEO_START(robokid);
+ DECLARE_MACHINE_START(omegaf);
+ DECLARE_MACHINE_RESET(omegaf);
+ DECLARE_VIDEO_START(omegaf);
uint32_t screen_update_ninjakd2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_robokid(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_omegaf(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/niyanpai.h b/src/mame/includes/niyanpai.h
index 49cbefeafc5..656d2cc5bbf 100644
--- a/src/mame/includes/niyanpai.h
+++ b/src/mame/includes/niyanpai.h
@@ -85,7 +85,7 @@ public:
void init_niyanpai();
virtual void video_start() override;
- void machine_start_musobana() ATTR_COLD;
+ DECLARE_MACHINE_START(musobana);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
int blitter_r(int vram, int offset);
diff --git a/src/mame/includes/nmk16.h b/src/mame/includes/nmk16.h
index 6f7d04a1bf0..a03a7cb7516 100644
--- a/src/mame/includes/nmk16.h
+++ b/src/mame/includes/nmk16.h
@@ -134,16 +134,16 @@ public:
TILE_GET_INFO_MEMBER(common_get_tx_tile_info);
TILE_GET_INFO_MEMBER(bjtwin_get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_tile_info_0_8bit);
- void video_start_macross() ATTR_COLD;
- void video_start_bioship() ATTR_COLD;
- void video_start_strahl() ATTR_COLD;
- void video_start_gunnail() ATTR_COLD;
- void video_start_macross2() ATTR_COLD;
- void video_start_raphero() ATTR_COLD;
- void video_start_bjtwin() ATTR_COLD;
- void video_start_afega() ATTR_COLD;
- void video_start_firehawk() ATTR_COLD;
- void video_start_grdnstrm() ATTR_COLD;
+ DECLARE_VIDEO_START(macross);
+ DECLARE_VIDEO_START(bioship);
+ DECLARE_VIDEO_START(strahl);
+ DECLARE_VIDEO_START(gunnail);
+ DECLARE_VIDEO_START(macross2);
+ DECLARE_VIDEO_START(raphero);
+ DECLARE_VIDEO_START(bjtwin);
+ DECLARE_VIDEO_START(afega);
+ DECLARE_VIDEO_START(firehawk);
+ DECLARE_VIDEO_START(grdnstrm);
uint32_t screen_update_tharrier(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_manybloc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_macross(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/nova2001.h b/src/mame/includes/nova2001.h
index 4a21c5ea268..da5cf099368 100644
--- a/src/mame/includes/nova2001.h
+++ b/src/mame/includes/nova2001.h
@@ -40,13 +40,13 @@ public:
void init_raiders5();
void init_pkunwar();
- void video_start_nova2001() ATTR_COLD;
+ DECLARE_VIDEO_START(nova2001);
DECLARE_PALETTE_INIT(nova2001);
DECLARE_PALETTE_DECODER(BBGGRRII);
- void machine_start_ninjakun() ATTR_COLD;
- void video_start_ninjakun() ATTR_COLD;
- void video_start_pkunwar() ATTR_COLD;
- void video_start_raiders5() ATTR_COLD;
+ DECLARE_MACHINE_START(ninjakun);
+ DECLARE_VIDEO_START(ninjakun);
+ DECLARE_VIDEO_START(pkunwar);
+ DECLARE_VIDEO_START(raiders5);
TILE_GET_INFO_MEMBER(nova2001_get_bg_tile_info);
TILE_GET_INFO_MEMBER(nova2001_get_fg_tile_info);
diff --git a/src/mame/includes/ojankohs.h b/src/mame/includes/ojankohs.h
index 865139fbf76..11df115fcd4 100644
--- a/src/mame/includes/ojankohs.h
+++ b/src/mame/includes/ojankohs.h
@@ -94,15 +94,15 @@ public:
TILE_GET_INFO_MEMBER(ojankohs_get_tile_info);
TILE_GET_INFO_MEMBER(ojankoy_get_tile_info);
virtual void machine_reset() override;
- void machine_start_ojankohs() ATTR_COLD;
- void video_start_ojankohs() ATTR_COLD;
- void machine_start_ojankoy() ATTR_COLD;
- void video_start_ojankoy() ATTR_COLD;
+ DECLARE_MACHINE_START(ojankohs);
+ DECLARE_VIDEO_START(ojankohs);
+ DECLARE_MACHINE_START(ojankoy);
+ DECLARE_VIDEO_START(ojankoy);
DECLARE_PALETTE_INIT(ojankoy);
- void video_start_ccasino() ATTR_COLD;
- void machine_start_ojankoc() ATTR_COLD;
- void video_start_ojankoc() ATTR_COLD;
- void machine_start_common() ATTR_COLD;
+ DECLARE_VIDEO_START(ccasino);
+ DECLARE_MACHINE_START(ojankoc);
+ DECLARE_VIDEO_START(ojankoc);
+ DECLARE_MACHINE_START(common);
uint32_t screen_update_ojankohs(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_ojankoc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void ojankoc_flipscreen( address_space &space, int data );
diff --git a/src/mame/includes/opwolf.h b/src/mame/includes/opwolf.h
index 85c09ab3312..2bf20a5c1ea 100644
--- a/src/mame/includes/opwolf.h
+++ b/src/mame/includes/opwolf.h
@@ -70,7 +70,7 @@ protected:
virtual void machine_start() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
- void machine_reset_opwolf();
+ DECLARE_MACHINE_RESET(opwolf);
uint32_t screen_update_opwolf(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(opwolf_timer_callback);
TIMER_CALLBACK_MEMBER(cchip_timer);
diff --git a/src/mame/includes/orion.h b/src/mame/includes/orion.h
index d07b2a87cc7..e9d6ba44bdb 100644
--- a/src/mame/includes/orion.h
+++ b/src/mame/includes/orion.h
@@ -72,13 +72,13 @@ public:
DECLARE_WRITE8_MEMBER(orionpro_memory_page_w);
DECLARE_READ8_MEMBER(orionpro_io_r);
DECLARE_WRITE8_MEMBER(orionpro_io_w);
- void machine_start_orion128() ATTR_COLD;
- void machine_reset_orion128();
- void video_start_orion128() ATTR_COLD;
+ DECLARE_MACHINE_START(orion128);
+ DECLARE_MACHINE_RESET(orion128);
+ DECLARE_VIDEO_START(orion128);
DECLARE_PALETTE_INIT(orion128);
- void machine_start_orionz80() ATTR_COLD;
- void machine_reset_orionz80();
- void machine_reset_orionpro();
+ DECLARE_MACHINE_START(orionz80);
+ DECLARE_MACHINE_RESET(orionz80);
+ DECLARE_MACHINE_RESET(orionpro);
uint32_t screen_update_orion128(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(orionz80_interrupt);
DECLARE_READ8_MEMBER(orion_romdisk_porta_r);
diff --git a/src/mame/includes/pacman.h b/src/mame/includes/pacman.h
index 0807702d655..9ef8d9c4f50 100644
--- a/src/mame/includes/pacman.h
+++ b/src/mame/includes/pacman.h
@@ -170,15 +170,15 @@ public:
TILE_GET_INFO_MEMBER(s2650_get_tile_info);
TILEMAP_MAPPER_MEMBER(jrpacman_scan_rows);
TILE_GET_INFO_MEMBER(jrpacman_get_tile_info);
- void video_start_pacman() ATTR_COLD;
+ DECLARE_VIDEO_START(pacman);
DECLARE_PALETTE_INIT(pacman);
- void video_start_birdiy() ATTR_COLD;
- void video_start_s2650games() ATTR_COLD;
- void machine_reset_mschamp();
- void machine_reset_superabc();
- void machine_reset_maketrax();
- void video_start_pengo() ATTR_COLD;
- void video_start_jrpacman() ATTR_COLD;
+ DECLARE_VIDEO_START(birdiy);
+ DECLARE_VIDEO_START(s2650games);
+ DECLARE_MACHINE_RESET(mschamp);
+ DECLARE_MACHINE_RESET(superabc);
+ DECLARE_MACHINE_RESET(maketrax);
+ DECLARE_VIDEO_START(pengo);
+ DECLARE_VIDEO_START(jrpacman);
uint32_t screen_update_pacman(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_s2650games(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(vblank_irq);
@@ -196,12 +196,12 @@ private:
public:
// epos.c
DECLARE_READ8_MEMBER(epos_decryption_w);
- void machine_start_theglobp() ATTR_COLD;
- void machine_reset_theglobp();
- void machine_start_eeekk() ATTR_COLD;
- void machine_reset_eeekk();
- void machine_start_acitya() ATTR_COLD;
- void machine_reset_acitya();
+ DECLARE_MACHINE_START(theglobp);
+ DECLARE_MACHINE_RESET(theglobp);
+ DECLARE_MACHINE_START(eeekk);
+ DECLARE_MACHINE_RESET(eeekk);
+ DECLARE_MACHINE_START(acitya);
+ DECLARE_MACHINE_RESET(acitya);
void birdiy(machine_config &config);
void rocktrv2(machine_config &config);
diff --git a/src/mame/includes/partner.h b/src/mame/includes/partner.h
index f7f41db7d04..a94e321a8cb 100644
--- a/src/mame/includes/partner.h
+++ b/src/mame/includes/partner.h
@@ -33,8 +33,8 @@ public:
DECLARE_WRITE8_MEMBER(partner_win_memory_page_w);
DECLARE_WRITE8_MEMBER(partner_mem_page_w);
void init_partner();
- void machine_start_partner() ATTR_COLD;
- void machine_reset_partner();
+ DECLARE_MACHINE_START(partner);
+ DECLARE_MACHINE_RESET(partner);
I8275_DRAW_CHARACTER_MEMBER(display_pixels);
DECLARE_FLOPPY_FORMATS( floppy_formats );
diff --git a/src/mame/includes/pc1251.h b/src/mame/includes/pc1251.h
index d61752359d1..18d86ad0c70 100644
--- a/src/mame/includes/pc1251.h
+++ b/src/mame/includes/pc1251.h
@@ -50,7 +50,7 @@ public:
DECLARE_READ8_MEMBER(pc1251_lcd_read);
DECLARE_WRITE8_MEMBER(pc1251_lcd_write);
virtual void machine_start() override;
- void machine_start_pc1260() ATTR_COLD;
+ DECLARE_MACHINE_START(pc1260);
required_device<sc61860_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
diff --git a/src/mame/includes/pc9801.h b/src/mame/includes/pc9801.h
index 02d2752a471..a65e61f435e 100644
--- a/src/mame/includes/pc9801.h
+++ b/src/mame/includes/pc9801.h
@@ -261,16 +261,16 @@ private:
UPD7220_DISPLAY_PIXELS_MEMBER( hgdc_display_pixels );
UPD7220_DRAW_TEXT_LINE_MEMBER( hgdc_draw_text );
- void machine_start_pc9801_common() ATTR_COLD;
- void machine_start_pc9801f() ATTR_COLD;
- void machine_start_pc9801rs() ATTR_COLD;
- void machine_start_pc9801bx2() ATTR_COLD;
- void machine_start_pc9821() ATTR_COLD;
- void machine_start_pc9821ap2() ATTR_COLD;
- void machine_reset_pc9801_common();
- void machine_reset_pc9801f();
- void machine_reset_pc9801rs();
- void machine_reset_pc9821();
+ DECLARE_MACHINE_START(pc9801_common);
+ DECLARE_MACHINE_START(pc9801f);
+ DECLARE_MACHINE_START(pc9801rs);
+ DECLARE_MACHINE_START(pc9801bx2);
+ DECLARE_MACHINE_START(pc9821);
+ DECLARE_MACHINE_START(pc9821ap2);
+ DECLARE_MACHINE_RESET(pc9801_common);
+ DECLARE_MACHINE_RESET(pc9801f);
+ DECLARE_MACHINE_RESET(pc9801rs);
+ DECLARE_MACHINE_RESET(pc9821);
DECLARE_PALETTE_INIT(pc9801);
DECLARE_WRITE_LINE_MEMBER(vrtc_irq);
diff --git a/src/mame/includes/pce.h b/src/mame/includes/pce.h
index e205773f75e..6ca8f8ce4cc 100644
--- a/src/mame/includes/pce.h
+++ b/src/mame/includes/pce.h
@@ -74,8 +74,8 @@ public:
void init_tg16();
void init_mess_pce();
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void machine_start_pce() ATTR_COLD;
- void machine_reset_mess_pce();
+ DECLARE_MACHINE_START(pce);
+ DECLARE_MACHINE_RESET(mess_pce);
void pce_common(machine_config &config);
void pce(machine_config &config);
void tg16(machine_config &config);
diff --git a/src/mame/includes/pgm.h b/src/mame/includes/pgm.h
index b7a5d39ca3c..117f67a16f6 100644
--- a/src/mame/includes/pgm.h
+++ b/src/mame/includes/pgm.h
@@ -97,9 +97,9 @@ public:
TILE_GET_INFO_MEMBER(get_pgm_tx_tilemap_tile_info);
TILE_GET_INFO_MEMBER(get_pgm_bg_tilemap_tile_info);
- void video_start_pgm() ATTR_COLD;
- void machine_start_pgm() ATTR_COLD;
- void machine_reset_pgm();
+ DECLARE_VIDEO_START(pgm);
+ DECLARE_MACHINE_START(pgm);
+ DECLARE_MACHINE_RESET(pgm);
uint32_t screen_update_pgm(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank_pgm);
TIMER_DEVICE_CALLBACK_MEMBER(pgm_interrupt);
diff --git a/src/mame/includes/phoenix.h b/src/mame/includes/phoenix.h
index 67429d88cde..083e0ae4432 100644
--- a/src/mame/includes/phoenix.h
+++ b/src/mame/includes/phoenix.h
@@ -32,8 +32,8 @@ public:
void init_oneprom_coindsw();
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
- void machine_reset_phoenix();
- void video_start_phoenix() ATTR_COLD;
+ DECLARE_MACHINE_RESET(phoenix);
+ DECLARE_VIDEO_START(phoenix);
DECLARE_PALETTE_INIT(phoenix);
DECLARE_PALETTE_INIT(survival);
DECLARE_PALETTE_INIT(pleiads);
diff --git a/src/mame/includes/playch10.h b/src/mame/includes/playch10.h
index 5810ba93582..13e01f0a630 100644
--- a/src/mame/includes/playch10.h
+++ b/src/mame/includes/playch10.h
@@ -101,8 +101,8 @@ private:
};
DECLARE_PALETTE_INIT(playch10);
- void machine_start_playch10_hboard() ATTR_COLD;
- void video_start_playch10_hboard() ATTR_COLD;
+ DECLARE_MACHINE_START(playch10_hboard);
+ DECLARE_VIDEO_START(playch10_hboard);
DECLARE_WRITE_LINE_MEMBER(vblank_irq);
void pc10_set_videorom_bank( int first, int count, int bank, int size );
diff --git a/src/mame/includes/playmark.h b/src/mame/includes/playmark.h
index 1641a61cc49..2add2a3fc3b 100644
--- a/src/mame/includes/playmark.h
+++ b/src/mame/includes/playmark.h
@@ -95,15 +95,15 @@ public:
TILE_GET_INFO_MEMBER(bigtwinb_get_tx_tile_info);
TILE_GET_INFO_MEMBER(hrdtimes_get_fg_tile_info);
TILE_GET_INFO_MEMBER(hrdtimes_get_bg_tile_info);
- void machine_start_playmark() ATTR_COLD;
- void machine_reset_playmark() ATTR_COLD;
- void video_start_bigtwin() ATTR_COLD;
- void video_start_bigtwinb() ATTR_COLD;
- void video_start_wbeachvl() ATTR_COLD;
- void video_start_excelsr() ATTR_COLD;
- void video_start_hotmind() ATTR_COLD;
- void video_start_hrdtimes() ATTR_COLD;
- void video_start_luckboomh() ATTR_COLD;
+ DECLARE_MACHINE_START(playmark);
+ DECLARE_MACHINE_RESET(playmark);
+ DECLARE_VIDEO_START(bigtwin);
+ DECLARE_VIDEO_START(bigtwinb);
+ DECLARE_VIDEO_START(wbeachvl);
+ DECLARE_VIDEO_START(excelsr);
+ DECLARE_VIDEO_START(hotmind);
+ DECLARE_VIDEO_START(hrdtimes);
+ DECLARE_VIDEO_START(luckboomh);
TILEMAP_MAPPER_MEMBER(playmark_tilemap_scan_pages);
uint32_t screen_update_bigtwin(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_bigtwinb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/polepos.h b/src/mame/includes/polepos.h
index eb85c958e8e..b7702b19237 100644
--- a/src/mame/includes/polepos.h
+++ b/src/mame/includes/polepos.h
@@ -105,8 +105,8 @@ public:
void init_polepos2();
TILE_GET_INFO_MEMBER(bg_get_tile_info);
TILE_GET_INFO_MEMBER(tx_get_tile_info);
- void machine_reset_polepos();
- void video_start_polepos() ATTR_COLD;
+ DECLARE_MACHINE_RESET(polepos);
+ DECLARE_VIDEO_START(polepos);
DECLARE_PALETTE_INIT(polepos);
uint32_t screen_update_polepos(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(polepos_scanline);
diff --git a/src/mame/includes/powerins.h b/src/mame/includes/powerins.h
index 2991978aa72..170037d4b9b 100644
--- a/src/mame/includes/powerins.h
+++ b/src/mame/includes/powerins.h
@@ -39,7 +39,7 @@ public:
DECLARE_WRITE16_MEMBER(vram_1_w);
DECLARE_READ8_MEMBER(powerinsb_fake_ym2203_r);
- void machine_start_powerinsa() ATTR_COLD;
+ DECLARE_MACHINE_START(powerinsa);
TILE_GET_INFO_MEMBER(get_tile_info_0);
TILE_GET_INFO_MEMBER(get_tile_info_1);
diff --git a/src/mame/includes/primo.h b/src/mame/includes/primo.h
index 606f6bbad18..bc524e1406f 100644
--- a/src/mame/includes/primo.h
+++ b/src/mame/includes/primo.h
@@ -54,7 +54,7 @@ protected:
DECLARE_WRITE8_MEMBER(primo_FD_w);
virtual void machine_reset() override;
virtual void machine_start() override;
- void machine_reset_primob();
+ DECLARE_MACHINE_RESET(primob);
uint32_t screen_update_primo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(vblank_irq);
void primo_draw_scanline(bitmap_ind16 &bitmap, int primo_scanline);
diff --git a/src/mame/includes/psikyo.h b/src/mame/includes/psikyo.h
index bd40b9249df..7ddf3b0eade 100644
--- a/src/mame/includes/psikyo.h
+++ b/src/mame/includes/psikyo.h
@@ -93,8 +93,8 @@ public:
template<int Layer> TILE_GET_INFO_MEMBER(get_tile_info);
virtual void machine_start() override;
virtual void machine_reset() override;
- void video_start_sngkace() ATTR_COLD;
- void video_start_psikyo() ATTR_COLD;
+ DECLARE_VIDEO_START(sngkace);
+ DECLARE_VIDEO_START(psikyo);
uint32_t screen_update_psikyo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_psikyo_bootleg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank_psikyo);
diff --git a/src/mame/includes/psychic5.h b/src/mame/includes/psychic5.h
index f065104c9db..25b1af8f5ba 100644
--- a/src/mame/includes/psychic5.h
+++ b/src/mame/includes/psychic5.h
@@ -76,12 +76,12 @@ public:
TILE_GET_INFO_MEMBER(get_fg_tile_info);
virtual void machine_reset() override;
- void machine_start_psychic5() ATTR_COLD;
- void machine_start_bombsa() ATTR_COLD;
+ DECLARE_MACHINE_START(psychic5);
+ DECLARE_MACHINE_START(bombsa);
virtual void video_start() override;
- void video_start_psychic5() ATTR_COLD;
- void video_start_bombsa() ATTR_COLD;
- void video_reset_psychic5();
+ DECLARE_VIDEO_START(psychic5);
+ DECLARE_VIDEO_START(bombsa);
+ DECLARE_VIDEO_RESET(psychic5);
TIMER_DEVICE_CALLBACK_MEMBER(scanline);
diff --git a/src/mame/includes/punchout.h b/src/mame/includes/punchout.h
index 58ad38d3d5b..97c1ad01871 100644
--- a/src/mame/includes/punchout.h
+++ b/src/mame/includes/punchout.h
@@ -78,8 +78,8 @@ public:
TILEMAP_MAPPER_MEMBER(armwrest_bs1_scan);
TILEMAP_MAPPER_MEMBER(armwrest_bs1_scan_flipx);
virtual void video_start() override;
- void video_start_armwrest() ATTR_COLD;
- void machine_reset_spnchout();
+ DECLARE_VIDEO_START(armwrest);
+ DECLARE_MACHINE_RESET(spnchout);
uint32_t screen_update_punchout_top(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_punchout_bottom(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_armwrest_top(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/qdrmfgp.h b/src/mame/includes/qdrmfgp.h
index c0356eb7420..39665416597 100644
--- a/src/mame/includes/qdrmfgp.h
+++ b/src/mame/includes/qdrmfgp.h
@@ -65,10 +65,10 @@ private:
DECLARE_READ16_MEMBER(gp2_ide_std_r);
DECLARE_READ16_MEMBER(inputs_r);
- void machine_start_qdrmfgp() ATTR_COLD;
- void video_start_qdrmfgp() ATTR_COLD;
- void machine_start_qdrmfgp2() ATTR_COLD;
- void video_start_qdrmfgp2() ATTR_COLD;
+ DECLARE_MACHINE_START(qdrmfgp);
+ DECLARE_VIDEO_START(qdrmfgp);
+ DECLARE_MACHINE_START(qdrmfgp2);
+ DECLARE_VIDEO_START(qdrmfgp2);
uint32_t screen_update_qdrmfgp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(qdrmfgp2_interrupt);
diff --git a/src/mame/includes/qix.h b/src/mame/includes/qix.h
index 44c99cca584..31f59f808ef 100644
--- a/src/mame/includes/qix.h
+++ b/src/mame/includes/qix.h
@@ -115,8 +115,8 @@ public:
void init_zookeep();
void init_kram3();
virtual void machine_reset() override;
- void machine_start_qixmcu() ATTR_COLD;
- void video_start_qix() ATTR_COLD;
+ DECLARE_MACHINE_START(qixmcu);
+ DECLARE_VIDEO_START(qix);
TIMER_CALLBACK_MEMBER(pia_w_callback);
TIMER_CALLBACK_MEMBER(deferred_sndpia1_porta_w);
DECLARE_WRITE_LINE_MEMBER(qix_vsync_changed);
diff --git a/src/mame/includes/quasar.h b/src/mame/includes/quasar.h
index a7e204b609a..4b4a931a48c 100644
--- a/src/mame/includes/quasar.h
+++ b/src/mame/includes/quasar.h
@@ -26,9 +26,9 @@ public:
DECLARE_WRITE8_MEMBER(quasar_sh_command_w);
DECLARE_READ8_MEMBER(quasar_sh_command_r);
DECLARE_READ_LINE_MEMBER(audio_t1_r);
- void machine_start_quasar() ATTR_COLD;
- void machine_reset_quasar();
- void video_start_quasar() ATTR_COLD;
+ DECLARE_MACHINE_START(quasar);
+ DECLARE_MACHINE_RESET(quasar);
+ DECLARE_VIDEO_START(quasar);
DECLARE_PALETTE_INIT(quasar);
uint32_t screen_update_quasar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(quasar_interrupt);
diff --git a/src/mame/includes/radio86.h b/src/mame/includes/radio86.h
index e7b0c9983a7..5ac8d1e82b6 100644
--- a/src/mame/includes/radio86.h
+++ b/src/mame/includes/radio86.h
@@ -70,7 +70,7 @@ public:
DECLARE_WRITE8_MEMBER(radio86_pagesel);
void init_radioram();
void init_radio86();
- void machine_reset_radio86();
+ DECLARE_MACHINE_RESET(radio86);
DECLARE_PALETTE_INIT(radio86);
DECLARE_READ8_MEMBER(radio86_8255_portb_r2);
DECLARE_READ8_MEMBER(radio86_8255_portc_r2);
diff --git a/src/mame/includes/raiden.h b/src/mame/includes/raiden.h
index e71300a30bf..376b075ca53 100644
--- a/src/mame/includes/raiden.h
+++ b/src/mame/includes/raiden.h
@@ -64,7 +64,7 @@ public:
TILE_GET_INFO_MEMBER(get_text_tile_info);
virtual void video_start() override;
- void video_start_raidenb() ATTR_COLD;
+ DECLARE_VIDEO_START(raidenb);
uint32_t screen_update_common(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, uint16_t *scrollregs);
uint32_t screen_update_raiden(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/raiden2.h b/src/mame/includes/raiden2.h
index 76b8bb05134..3d6a87ebe15 100644
--- a/src/mame/includes/raiden2.h
+++ b/src/mame/includes/raiden2.h
@@ -132,11 +132,11 @@ public:
TILE_GET_INFO_MEMBER(get_mid_tile_info);
TILE_GET_INFO_MEMBER(get_fore_tile_info);
TILE_GET_INFO_MEMBER(get_text_tile_info);
- void machine_reset_raiden2();
- void video_start_raiden2() ATTR_COLD;
- void machine_reset_zeroteam();
- void machine_reset_xsedae();
- void machine_reset_raidendx();
+ DECLARE_MACHINE_RESET(raiden2);
+ DECLARE_VIDEO_START(raiden2);
+ DECLARE_MACHINE_RESET(zeroteam);
+ DECLARE_MACHINE_RESET(xsedae);
+ DECLARE_MACHINE_RESET(raidendx);
uint32_t screen_update_raiden2(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(raiden2_interrupt);
void combine32(uint32_t *val, int offset, uint16_t data, uint16_t mem_mask);
diff --git a/src/mame/includes/rallyx.h b/src/mame/includes/rallyx.h
index 2f6ad308f92..d7f739742b7 100644
--- a/src/mame/includes/rallyx.h
+++ b/src/mame/includes/rallyx.h
@@ -72,13 +72,13 @@ public:
TILE_GET_INFO_MEMBER(rallyx_fg_get_tile_info);
TILE_GET_INFO_MEMBER(locomotn_bg_get_tile_info);
TILE_GET_INFO_MEMBER(locomotn_fg_get_tile_info);
- void machine_start_rallyx() ATTR_COLD;
- void video_start_rallyx() ATTR_COLD;
+ DECLARE_MACHINE_START(rallyx);
+ DECLARE_VIDEO_START(rallyx);
DECLARE_PALETTE_INIT(rallyx);
- void video_start_jungler() ATTR_COLD;
+ DECLARE_VIDEO_START(jungler);
DECLARE_PALETTE_INIT(jungler);
- void video_start_locomotn() ATTR_COLD;
- void video_start_commsega() ATTR_COLD;
+ DECLARE_VIDEO_START(locomotn);
+ DECLARE_VIDEO_START(commsega);
uint32_t screen_update_rallyx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_jungler(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_locomotn(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/rbisland.h b/src/mame/includes/rbisland.h
index 2045b74c91f..05deffe9296 100644
--- a/src/mame/includes/rbisland.h
+++ b/src/mame/includes/rbisland.h
@@ -48,7 +48,7 @@ public:
void init_jumping();
void init_rbisland();
virtual void machine_start() override;
- void video_start_jumping() ATTR_COLD;
+ DECLARE_VIDEO_START(jumping);
uint32_t screen_update_rainbow(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_jumping(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(cchip_timer);
diff --git a/src/mame/includes/redalert.h b/src/mame/includes/redalert.h
index d023bf1b1c2..da87a21ccc5 100644
--- a/src/mame/includes/redalert.h
+++ b/src/mame/includes/redalert.h
@@ -56,10 +56,10 @@ public:
DECLARE_WRITE8_MEMBER(redalert_ay8910_latch_2_w);
DECLARE_WRITE8_MEMBER(redalert_voice_command_w);
DECLARE_WRITE8_MEMBER(demoneye_audio_command_w);
- void video_start_redalert() ATTR_COLD;
- void video_start_ww3() ATTR_COLD;
- void sound_start_redalert() ATTR_COLD;
- void sound_start_demoneye() ATTR_COLD;
+ DECLARE_VIDEO_START(redalert);
+ DECLARE_VIDEO_START(ww3);
+ DECLARE_SOUND_START(redalert);
+ DECLARE_SOUND_START(demoneye);
uint32_t screen_update_redalert(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_demoneye(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_panther(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/rm380z.h b/src/mame/includes/rm380z.h
index 0d38306d977..79de425e7ad 100644
--- a/src/mame/includes/rm380z.h
+++ b/src/mame/includes/rm380z.h
@@ -133,7 +133,7 @@ public:
void init_rm380z34d();
void init_rm380z34e();
void init_rm480z();
- void machine_reset_rm480z();
+ DECLARE_MACHINE_RESET(rm480z);
void config_memory_map();
void update_screen(bitmap_ind16 &bitmap);
diff --git a/src/mame/includes/rohga.h b/src/mame/includes/rohga.h
index 9615f2f09d1..7ce0373beab 100644
--- a/src/mame/includes/rohga.h
+++ b/src/mame/includes/rohga.h
@@ -57,7 +57,7 @@ public:
void init_schmeisr();
void init_hangzo();
void init_rohga();
- void video_start_wizdfire() ATTR_COLD;
+ DECLARE_VIDEO_START(wizdfire);
uint32_t screen_update_rohga(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_wizdfire(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_nitrobal(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/route16.h b/src/mame/includes/route16.h
index b935a7ff8a7..6d39d812a5b 100644
--- a/src/mame/includes/route16.h
+++ b/src/mame/includes/route16.h
@@ -28,8 +28,8 @@ public:
DECLARE_READ8_MEMBER(speakres_in3_r);
DECLARE_WRITE8_MEMBER(speakres_out2_w);
DECLARE_WRITE8_MEMBER(stratvox_sn76477_w);
- void machine_start_speakres() ATTR_COLD;
- void machine_start_ttmahjng() ATTR_COLD;
+ DECLARE_MACHINE_START(speakres);
+ DECLARE_MACHINE_START(ttmahjng);
void init_route16();
uint32_t screen_update_route16(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/rpunch.h b/src/mame/includes/rpunch.h
index cc541836b54..e9ad46495e6 100644
--- a/src/mame/includes/rpunch.h
+++ b/src/mame/includes/rpunch.h
@@ -62,8 +62,8 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
- void video_start_rpunch() ATTR_COLD;
- void video_start_svolley() ATTR_COLD;
+ DECLARE_VIDEO_START(rpunch);
+ DECLARE_VIDEO_START(svolley);
uint32_t screen_update_rpunch(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/runaway.h b/src/mame/includes/runaway.h
index 274b32430fd..87a33b920f1 100644
--- a/src/mame/includes/runaway.h
+++ b/src/mame/includes/runaway.h
@@ -31,7 +31,7 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
- void video_start_qwak() ATTR_COLD;
+ DECLARE_VIDEO_START(qwak);
uint32_t screen_update_runaway(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_qwak(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(interrupt_callback);
diff --git a/src/mame/includes/s11.h b/src/mame/includes/s11.h
index b28f856dcee..9c73da17393 100644
--- a/src/mame/includes/s11.h
+++ b/src/mame/includes/s11.h
@@ -79,7 +79,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(pia_irq);
DECLARE_INPUT_CHANGED_MEMBER(main_nmi);
DECLARE_INPUT_CHANGED_MEMBER(audio_nmi);
- void machine_reset_s11();
+ DECLARE_MACHINE_RESET(s11);
void init_s11();
void s11(machine_config &config);
void s11_audio_map(address_map &map);
diff --git a/src/mame/includes/s11a.h b/src/mame/includes/s11a.h
index ec5a0a025db..3220a2d0f17 100644
--- a/src/mame/includes/s11a.h
+++ b/src/mame/includes/s11a.h
@@ -20,7 +20,7 @@ public:
DECLARE_WRITE8_MEMBER(bgbank_w);
DECLARE_WRITE8_MEMBER(dig0_w);
- void machine_reset_s11a();
+ DECLARE_MACHINE_RESET(s11a);
void init_s11a();
void s11a(machine_config &config);
diff --git a/src/mame/includes/s11b.h b/src/mame/includes/s11b.h
index 6b89b8a48b8..1ede5d1d446 100644
--- a/src/mame/includes/s11b.h
+++ b/src/mame/includes/s11b.h
@@ -27,7 +27,7 @@ public:
DECLARE_WRITE8_MEMBER(bg_speech_clock_w);
DECLARE_WRITE8_MEMBER(bg_speech_digit_w);
- void machine_reset_s11b();
+ DECLARE_MACHINE_RESET(s11b);
void init_s11b();
void init_s11b_invert();
diff --git a/src/mame/includes/s11c.h b/src/mame/includes/s11c.h
index 0647eb4ad01..5052ebbfcef 100644
--- a/src/mame/includes/s11c.h
+++ b/src/mame/includes/s11c.h
@@ -18,7 +18,7 @@ public:
: s11b_state(mconfig, type, tag)
{ }
- void machine_reset_s11c();
+ DECLARE_MACHINE_RESET(s11c);
void init_s11c();
void s11c(machine_config &config);
diff --git a/src/mame/includes/saturn.h b/src/mame/includes/saturn.h
index c0b815c436f..bc5bed44f73 100644
--- a/src/mame/includes/saturn.h
+++ b/src/mame/includes/saturn.h
@@ -113,7 +113,7 @@ public:
required_device<palette_device> m_palette;
bitmap_rgb32 m_tmpbitmap;
- void video_start_stv_vdp2() ATTR_COLD;
+ DECLARE_VIDEO_START(stv_vdp2);
uint32_t screen_update_stv_vdp2(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(saturn_scanline);
TIMER_DEVICE_CALLBACK_MEMBER(saturn_slave_scanline);
diff --git a/src/mame/includes/sauro.h b/src/mame/includes/sauro.h
index a21beba25f6..a99dbc660ad 100644
--- a/src/mame/includes/sauro.h
+++ b/src/mame/includes/sauro.h
@@ -64,8 +64,8 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_fg);
void init_tecfri();
- void video_start_trckydoc() ATTR_COLD;
- void video_start_sauro() ATTR_COLD;
+ DECLARE_VIDEO_START(trckydoc);
+ DECLARE_VIDEO_START(sauro);
uint32_t screen_update_trckydoc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_sauro(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/scramble.h b/src/mame/includes/scramble.h
index 776e56a3725..684c36db84d 100644
--- a/src/mame/includes/scramble.h
+++ b/src/mame/includes/scramble.h
@@ -78,8 +78,8 @@ public:
void init_hustler();
void init_hustlerd();
void init_billiard();
- void machine_reset_scramble();
- void machine_reset_explorer();
+ DECLARE_MACHINE_RESET(scramble);
+ DECLARE_MACHINE_RESET(explorer);
DECLARE_WRITE_LINE_MEMBER(scramble_sh_7474_q_callback);
DECLARE_READ8_MEMBER( mariner_protection_1_r );
DECLARE_READ8_MEMBER( mariner_protection_2_r );
diff --git a/src/mame/includes/seibuspi.h b/src/mame/includes/seibuspi.h
index 9f513726eda..33ea13e2c41 100644
--- a/src/mame/includes/seibuspi.h
+++ b/src/mame/includes/seibuspi.h
@@ -123,10 +123,10 @@ public:
virtual void machine_start() override;
virtual void video_start() override;
- void machine_reset_spi();
- void machine_reset_sxx2e();
- void video_start_ejanhs() ATTR_COLD;
- void video_start_sys386f() ATTR_COLD;
+ DECLARE_MACHINE_RESET(spi);
+ DECLARE_MACHINE_RESET(sxx2e);
+ DECLARE_VIDEO_START(ejanhs);
+ DECLARE_VIDEO_START(sys386f);
TILE_GET_INFO_MEMBER(get_text_tile_info);
TILE_GET_INFO_MEMBER(get_back_tile_info);
TILE_GET_INFO_MEMBER(get_midl_tile_info);
diff --git a/src/mame/includes/seta.h b/src/mame/includes/seta.h
index 903d0456e2a..cef9c7e4a6c 100644
--- a/src/mame/includes/seta.h
+++ b/src/mame/includes/seta.h
@@ -187,22 +187,22 @@ public:
void init_pairlove();
template<int Offset> TILE_GET_INFO_MEMBER(twineagl_get_tile_info);
template<int Layer, int Offset> TILE_GET_INFO_MEMBER(get_tile_info);
- void video_start_seta_no_layers() ATTR_COLD;
- void video_start_kyustrkr_no_layers() ATTR_COLD;
- void video_start_twineagl_1_layer() ATTR_COLD;
- void video_start_seta_1_layer() ATTR_COLD;
- void machine_reset_calibr50();
+ DECLARE_VIDEO_START(seta_no_layers);
+ DECLARE_VIDEO_START(kyustrkr_no_layers);
+ DECLARE_VIDEO_START(twineagl_1_layer);
+ DECLARE_VIDEO_START(seta_1_layer);
+ DECLARE_MACHINE_RESET(calibr50);
DECLARE_PALETTE_INIT(palette_init_RRRRRGGGGGBBBBB_proms);
DECLARE_PALETTE_INIT(usclssic);
- void machine_start_usclssic() ATTR_COLD;
- void video_start_seta_2_layers() ATTR_COLD;
+ DECLARE_MACHINE_START(usclssic);
+ DECLARE_VIDEO_START(seta_2_layers);
DECLARE_PALETTE_INIT(blandia);
DECLARE_PALETTE_INIT(zingzip);
- void machine_start_wrofaero() ATTR_COLD;
+ DECLARE_MACHINE_START(wrofaero);
DECLARE_PALETTE_INIT(gundhara);
DECLARE_PALETTE_INIT(jjsquawk);
- void machine_start_keroppi() ATTR_COLD;
- void video_start_oisipuzl_2_layers() ATTR_COLD;
+ DECLARE_MACHINE_START(keroppi);
+ DECLARE_VIDEO_START(oisipuzl_2_layers);
uint32_t screen_update_seta_no_layers(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_seta(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_usclssic(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -360,9 +360,9 @@ public:
DECLARE_WRITE16_MEMBER(spritectrl_w);
- void machine_reset_setaroul();
+ DECLARE_MACHINE_RESET(setaroul);
- void video_start_setaroul_1_layer() ATTR_COLD;
+ DECLARE_VIDEO_START(setaroul_1_layer);
DECLARE_PALETTE_INIT(setaroul);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -414,7 +414,7 @@ public:
DECLARE_READ16_MEMBER(trackball_r);
- void video_start_jockeyc_1_layer() ATTR_COLD;
+ DECLARE_VIDEO_START(jockeyc_1_layer);
TIMER_DEVICE_CALLBACK_MEMBER(interrupt);
diff --git a/src/mame/includes/seta2.h b/src/mame/includes/seta2.h
index f3c80a8e970..7e2f1239a98 100644
--- a/src/mame/includes/seta2.h
+++ b/src/mame/includes/seta2.h
@@ -112,14 +112,14 @@ public:
void init_funcube();
void init_funcube2();
- void machine_start_mj4simai() ATTR_COLD;
- void machine_start_funcube() ATTR_COLD;
- void machine_reset_funcube();
+ DECLARE_MACHINE_START(mj4simai);
+ DECLARE_MACHINE_START(funcube);
+ DECLARE_MACHINE_RESET(funcube);
virtual void video_start() override;
- void video_start_yoffset() ATTR_COLD;
- void video_start_xoffset() ATTR_COLD;
- void video_start_xoffset1() ATTR_COLD;
+ DECLARE_VIDEO_START(yoffset);
+ DECLARE_VIDEO_START(xoffset);
+ DECLARE_VIDEO_START(xoffset1);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank);
diff --git a/src/mame/includes/shangkid.h b/src/mame/includes/shangkid.h
index 6f85177dcea..588fcc00971 100644
--- a/src/mame/includes/shangkid.h
+++ b/src/mame/includes/shangkid.h
@@ -60,9 +60,9 @@ public:
void init_dynamski();
void init_shangkid();
void init_chinhero();
- void video_start_shangkid() ATTR_COLD;
+ DECLARE_VIDEO_START(shangkid);
DECLARE_PALETTE_INIT(dynamski);
- void machine_reset_shangkid();
+ DECLARE_MACHINE_RESET(shangkid);
uint32_t screen_update_shangkid(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_dynamski(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/simple_st0016.h b/src/mame/includes/simple_st0016.h
index 813af65ed6c..b18a181c819 100644
--- a/src/mame/includes/simple_st0016.h
+++ b/src/mame/includes/simple_st0016.h
@@ -38,7 +38,7 @@ public:
void init_mayjisn2();
void init_renju();
virtual void machine_start() override;
- void video_start_st0016() ATTR_COLD;
+ DECLARE_VIDEO_START(st0016);
uint32_t screen_update_st0016(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(st0016_int);
void st0016(machine_config &config);
diff --git a/src/mame/includes/slapfght.h b/src/mame/includes/slapfght.h
index f909f5235b3..522f8f873a3 100644
--- a/src/mame/includes/slapfght.h
+++ b/src/mame/includes/slapfght.h
@@ -106,8 +106,8 @@ public:
TILE_GET_INFO_MEMBER(get_pf_tile_info);
TILE_GET_INFO_MEMBER(get_pf1_tile_info);
TILE_GET_INFO_MEMBER(get_fix_tile_info);
- void video_start_perfrman() ATTR_COLD;
- void video_start_slapfight() ATTR_COLD;
+ DECLARE_VIDEO_START(perfrman);
+ DECLARE_VIDEO_START(slapfight);
void draw_perfrman_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int layer);
void draw_slapfight_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/sms.h b/src/mame/includes/sms.h
index 53eca9bab79..3c635f9ddcf 100644
--- a/src/mame/includes/sms.h
+++ b/src/mame/includes/sms.h
@@ -216,12 +216,12 @@ public:
void init_smsj();
void init_sms1();
void init_sms();
- void machine_start_sms() ATTR_COLD;
- void machine_reset_sms();
- void video_start_gamegear() ATTR_COLD;
- void video_reset_gamegear();
- void video_start_sms1() ATTR_COLD;
- void video_reset_sms1();
+ DECLARE_MACHINE_START(sms);
+ DECLARE_MACHINE_RESET(sms);
+ DECLARE_VIDEO_START(gamegear);
+ DECLARE_VIDEO_RESET(gamegear);
+ DECLARE_VIDEO_START(sms1);
+ DECLARE_VIDEO_RESET(sms1);
uint32_t screen_update_sms(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_sms1(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/snk.h b/src/mame/includes/snk.h
index eb83cb6d2fc..c6fe8609725 100644
--- a/src/mame/includes/snk.h
+++ b/src/mame/includes/snk.h
@@ -173,19 +173,19 @@ public:
TILE_GET_INFO_MEMBER(tnk3_get_bg_tile_info);
TILE_GET_INFO_MEMBER(ikari_get_bg_tile_info);
TILE_GET_INFO_MEMBER(gwar_get_bg_tile_info);
- void video_start_marvins() ATTR_COLD;
+ DECLARE_VIDEO_START(marvins);
DECLARE_PALETTE_INIT(tnk3);
- void video_start_jcross() ATTR_COLD;
- void video_start_tnk3() ATTR_COLD;
- void video_start_ikari() ATTR_COLD;
- void video_start_gwar() ATTR_COLD;
- void video_start_tdfever() ATTR_COLD;
- void video_start_sgladiat() ATTR_COLD;
- void video_start_hal21() ATTR_COLD;
- void video_start_aso() ATTR_COLD;
- void video_start_psychos() ATTR_COLD;
- void video_start_snk_3bpp_shadow() ATTR_COLD;
- void video_start_snk_4bpp_shadow() ATTR_COLD;
+ DECLARE_VIDEO_START(jcross);
+ DECLARE_VIDEO_START(tnk3);
+ DECLARE_VIDEO_START(ikari);
+ DECLARE_VIDEO_START(gwar);
+ DECLARE_VIDEO_START(tdfever);
+ DECLARE_VIDEO_START(sgladiat);
+ DECLARE_VIDEO_START(hal21);
+ DECLARE_VIDEO_START(aso);
+ DECLARE_VIDEO_START(psychos);
+ DECLARE_VIDEO_START(snk_3bpp_shadow);
+ DECLARE_VIDEO_START(snk_4bpp_shadow);
uint32_t screen_update_marvins(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_tnk3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_ikari(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/snk6502.h b/src/mame/includes/snk6502.h
index e20ef0e7dbc..2e3b338ea8a 100644
--- a/src/mame/includes/snk6502.h
+++ b/src/mame/includes/snk6502.h
@@ -69,15 +69,15 @@ public:
TILE_GET_INFO_MEMBER(satansat_get_fg_tile_info);
virtual void machine_start() override;
- void machine_reset_sasuke();
- void video_start_satansat() ATTR_COLD;
+ DECLARE_MACHINE_RESET(sasuke);
+ DECLARE_VIDEO_START(satansat);
DECLARE_PALETTE_INIT(satansat);
- void machine_reset_vanguard();
- void video_start_snk6502() ATTR_COLD;
+ DECLARE_MACHINE_RESET(vanguard);
+ DECLARE_VIDEO_START(snk6502);
DECLARE_PALETTE_INIT(snk6502);
- void machine_reset_satansat();
- void machine_reset_pballoon();
- void video_start_pballoon() ATTR_COLD;
+ DECLARE_MACHINE_RESET(satansat);
+ DECLARE_MACHINE_RESET(pballoon);
+ DECLARE_VIDEO_START(pballoon);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/snk68.h b/src/mame/includes/snk68.h
index 5dbd9271c0d..d5911655fe8 100644
--- a/src/mame/includes/snk68.h
+++ b/src/mame/includes/snk68.h
@@ -63,7 +63,7 @@ public:
virtual void machine_start() override;
virtual void video_start() override;
- void video_start_searchar() ATTR_COLD;
+ DECLARE_VIDEO_START(searchar);
void common_video_start();
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/snookr10.h b/src/mame/includes/snookr10.h
index 95695674d2d..1eebbf56b4c 100644
--- a/src/mame/includes/snookr10.h
+++ b/src/mame/includes/snookr10.h
@@ -32,8 +32,8 @@ public:
TILE_GET_INFO_MEMBER(crystalc_get_bg_tile_info);
virtual void video_start() override;
DECLARE_PALETTE_INIT(snookr10);
- void video_start_apple10() ATTR_COLD;
- void video_start_crystalc() ATTR_COLD;
+ DECLARE_VIDEO_START(apple10);
+ DECLARE_VIDEO_START(crystalc);
DECLARE_PALETTE_INIT(apple10);
DECLARE_PALETTE_INIT(crystalc);
uint32_t screen_update_snookr10(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/snowbros.h b/src/mame/includes/snowbros.h
index a9470986e67..44910f0a213 100644
--- a/src/mame/includes/snowbros.h
+++ b/src/mame/includes/snowbros.h
@@ -62,8 +62,8 @@ public:
void init_toto();
void init_hyperpac();
void init_yutnori();
- void machine_reset_semiprot();
- void machine_reset_finalttr();
+ DECLARE_MACHINE_RESET(semiprot);
+ DECLARE_MACHINE_RESET(finalttr);
uint32_t screen_update_snowbros(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_honeydol(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/sorcerer.h b/src/mame/includes/sorcerer.h
index 27edded9157..7db223944cb 100644
--- a/src/mame/includes/sorcerer.h
+++ b/src/mame/includes/sorcerer.h
@@ -73,7 +73,7 @@ public:
DECLARE_WRITE8_MEMBER(sorcerer_fd_w);
DECLARE_WRITE8_MEMBER(sorcerer_fe_w);
DECLARE_WRITE8_MEMBER(sorcerer_ff_w);
- void machine_start_sorcererd() ATTR_COLD;
+ DECLARE_MACHINE_START(sorcererd);
void init_sorcerer();
TIMER_CALLBACK_MEMBER(sorcerer_cassette_tc);
TIMER_CALLBACK_MEMBER(sorcerer_serial_tc);
diff --git a/src/mame/includes/spbactn.h b/src/mame/includes/spbactn.h
index 0b2038c542b..ca6c73ae5e4 100644
--- a/src/mame/includes/spbactn.h
+++ b/src/mame/includes/spbactn.h
@@ -71,8 +71,8 @@ public:
DECLARE_WRITE16_MEMBER(spbatnp_90124_w);
DECLARE_WRITE16_MEMBER(spbatnp_9012c_w);
- void video_start_spbactn() ATTR_COLD;
- void video_start_spbactnp() ATTR_COLD;
+ DECLARE_VIDEO_START(spbactn);
+ DECLARE_VIDEO_START(spbactnp);
//virtual void video_start();
diff --git a/src/mame/includes/special.h b/src/mame/includes/special.h
index b852ceefcfd..3316daf0df4 100644
--- a/src/mame/includes/special.h
+++ b/src/mame/includes/special.h
@@ -87,15 +87,15 @@ public:
DECLARE_WRITE8_MEMBER(specialist_8255_portc_w);
void init_erik();
void init_special();
- void machine_reset_special();
- void video_start_special() ATTR_COLD;
- void machine_reset_erik();
- void video_start_erik() ATTR_COLD;
+ DECLARE_MACHINE_RESET(special);
+ DECLARE_VIDEO_START(special);
+ DECLARE_MACHINE_RESET(erik);
+ DECLARE_VIDEO_START(erik);
DECLARE_PALETTE_INIT(erik);
- void video_start_specialp() ATTR_COLD;
- void machine_start_specimx() ATTR_COLD;
- void machine_reset_specimx();
- void video_start_specimx() ATTR_COLD;
+ DECLARE_VIDEO_START(specialp);
+ DECLARE_MACHINE_START(specimx);
+ DECLARE_MACHINE_RESET(specimx);
+ DECLARE_VIDEO_START(specimx);
DECLARE_PALETTE_INIT(specimx);
uint32_t screen_update_special(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_erik(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/spectrum.h b/src/mame/includes/spectrum.h
index d27370207e4..015478568ac 100644
--- a/src/mame/includes/spectrum.h
+++ b/src/mame/includes/spectrum.h
@@ -160,15 +160,15 @@ public:
void init_spectrum();
void init_plus2();
void init_plus3();
- void machine_reset_spectrum();
- void video_start_spectrum() ATTR_COLD;
+ DECLARE_MACHINE_RESET(spectrum);
+ DECLARE_VIDEO_START(spectrum);
DECLARE_PALETTE_INIT(spectrum);
- void machine_reset_tc2048();
- void video_start_spectrum_128() ATTR_COLD;
- void machine_reset_spectrum_128();
- void machine_reset_spectrum_plus3();
- void machine_reset_ts2068();
- void video_start_ts2068() ATTR_COLD;
+ DECLARE_MACHINE_RESET(tc2048);
+ DECLARE_VIDEO_START(spectrum_128);
+ DECLARE_MACHINE_RESET(spectrum_128);
+ DECLARE_MACHINE_RESET(spectrum_plus3);
+ DECLARE_MACHINE_RESET(ts2068);
+ DECLARE_VIDEO_START(ts2068);
uint32_t screen_update_spectrum(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_tc2048(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_ts2068(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/splash.h b/src/mame/includes/splash.h
index 06a6f535ce7..dd9398884f9 100644
--- a/src/mame/includes/splash.h
+++ b/src/mame/includes/splash.h
@@ -81,9 +81,9 @@ public:
void init_splash();
void init_rebus();
virtual void video_start() override;
- void machine_start_splash() ATTR_COLD;
- void machine_start_roldfrog() ATTR_COLD;
- void machine_reset_splash();
+ DECLARE_MACHINE_START(splash);
+ DECLARE_MACHINE_START(roldfrog);
+ DECLARE_MACHINE_RESET(splash);
TILE_GET_INFO_MEMBER(get_tile_info_tilemap0);
TILE_GET_INFO_MEMBER(get_tile_info_tilemap1);
diff --git a/src/mame/includes/srmp2.h b/src/mame/includes/srmp2.h
index afa2c7cf033..011a28ef847 100644
--- a/src/mame/includes/srmp2.h
+++ b/src/mame/includes/srmp2.h
@@ -61,12 +61,12 @@ public:
DECLARE_WRITE8_MEMBER(srmp3_irq_ack_w);
virtual void machine_start() override;
- void machine_start_srmp2() ATTR_COLD;
+ DECLARE_MACHINE_START(srmp2);
DECLARE_PALETTE_INIT(srmp2);
- void machine_start_srmp3() ATTR_COLD;
+ DECLARE_MACHINE_START(srmp3);
DECLARE_PALETTE_INIT(srmp3);
- void machine_start_rmgoldyh() ATTR_COLD;
- void machine_start_mjyuugi() ATTR_COLD;
+ DECLARE_MACHINE_START(rmgoldyh);
+ DECLARE_MACHINE_START(mjyuugi);
uint32_t screen_update_srmp2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_srmp3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/sslam.h b/src/mame/includes/sslam.h
index 56207e7d847..095243adb99 100644
--- a/src/mame/includes/sslam.h
+++ b/src/mame/includes/sslam.h
@@ -67,8 +67,8 @@ public:
TILE_GET_INFO_MEMBER(get_sslam_md_tile_info);
TILE_GET_INFO_MEMBER(get_sslam_bg_tile_info);
TILE_GET_INFO_MEMBER(get_powerbls_bg_tile_info);
- void video_start_sslam() ATTR_COLD;
- void video_start_powerbls() ATTR_COLD;
+ DECLARE_VIDEO_START(sslam);
+ DECLARE_VIDEO_START(powerbls);
uint32_t screen_update_sslam(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_powerbls(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(music_playback);
diff --git a/src/mame/includes/ssv.h b/src/mame/includes/ssv.h
index 12d8db2b306..dfb3fe1dfe8 100644
--- a/src/mame/includes/ssv.h
+++ b/src/mame/includes/ssv.h
@@ -126,8 +126,8 @@ public:
void init_mslider();
virtual void machine_reset() override;
virtual void video_start() override;
- void video_start_gdfs() ATTR_COLD;
- void video_start_eaglshot() ATTR_COLD;
+ DECLARE_VIDEO_START(gdfs);
+ DECLARE_VIDEO_START(eaglshot);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_gdfs(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/stv.h b/src/mame/includes/stv.h
index ceb430f1b11..8379c27af97 100644
--- a/src/mame/includes/stv.h
+++ b/src/mame/includes/stv.h
@@ -105,10 +105,10 @@ public:
void install_stvbios_speedups( void );
- void machine_start_stv() ATTR_COLD;
- void machine_reset_stv();
+ DECLARE_MACHINE_START(stv);
+ DECLARE_MACHINE_RESET(stv);
- void machine_reset_batmanfr();
+ DECLARE_MACHINE_RESET(batmanfr);
DECLARE_WRITE32_MEMBER(batmanfr_sound_comms_w);
optional_device<acclaim_rax_device> m_rax;
diff --git a/src/mame/includes/suna16.h b/src/mame/includes/suna16.h
index 7f43401badc..95dbfde6b0f 100644
--- a/src/mame/includes/suna16.h
+++ b/src/mame/includes/suna16.h
@@ -72,10 +72,10 @@ public:
void init_uballoon();
virtual void video_start() override;
- void machine_start_bestbest() ATTR_COLD;
- void machine_start_bssoccer() ATTR_COLD;
- void machine_start_uballoon() ATTR_COLD;
- void machine_reset_uballoon();
+ DECLARE_MACHINE_START(bestbest);
+ DECLARE_MACHINE_START(bssoccer);
+ DECLARE_MACHINE_START(uballoon);
+ DECLARE_MACHINE_RESET(uballoon);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_bestbest(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/suna8.h b/src/mame/includes/suna8.h
index 739d4f195bc..71b6c65da34 100644
--- a/src/mame/includes/suna8.h
+++ b/src/mame/includes/suna8.h
@@ -157,13 +157,13 @@ public:
void init_suna8();
void suna8_vh_start_common(bool has_text, GFXBANK_TYPE_T gfxbank_type);
- void video_start_suna8_text() ATTR_COLD;
- void video_start_suna8_sparkman() ATTR_COLD;
- void video_start_suna8_brickzn() ATTR_COLD;
- void video_start_suna8_starfigh() ATTR_COLD;
+ DECLARE_VIDEO_START(suna8_text);
+ DECLARE_VIDEO_START(suna8_sparkman);
+ DECLARE_VIDEO_START(suna8_brickzn);
+ DECLARE_VIDEO_START(suna8_starfigh);
- void machine_reset_brickzn();
- void machine_reset_hardhea2();
+ DECLARE_MACHINE_RESET(brickzn);
+ DECLARE_MACHINE_RESET(hardhea2);
uint32_t screen_update_suna8(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_DEVICE_CALLBACK_MEMBER(hardhea2_interrupt);
diff --git a/src/mame/includes/super80.h b/src/mame/includes/super80.h
index 08e0361bf0f..bf8997d3786 100644
--- a/src/mame/includes/super80.h
+++ b/src/mame/includes/super80.h
@@ -80,9 +80,9 @@ public:
DECLARE_WRITE8_MEMBER(pio_port_a_w);
DECLARE_READ8_MEMBER(pio_port_b_r);
void init_super80();
- void machine_reset_super80();
- void machine_reset_super80r();
- void video_start_super80() ATTR_COLD;
+ DECLARE_MACHINE_RESET(super80);
+ DECLARE_MACHINE_RESET(super80r);
+ DECLARE_VIDEO_START(super80);
DECLARE_PALETTE_INIT(super80m);
DECLARE_QUICKLOAD_LOAD_MEMBER(super80);
MC6845_UPDATE_ROW(crtc_update_row);
diff --git a/src/mame/includes/superqix.h b/src/mame/includes/superqix.h
index 19bcaaba1be..7f374ec778e 100644
--- a/src/mame/includes/superqix.h
+++ b/src/mame/includes/superqix.h
@@ -56,7 +56,7 @@ public:
void init_pbillian();
void init_hotsmash();
TILE_GET_INFO_MEMBER(sqix_get_bg_tile_info);
- void video_start_superqix() ATTR_COLD;
+ DECLARE_VIDEO_START(superqix);
DECLARE_PALETTE_DECODER(BBGGRRII);
uint32_t screen_update_superqix(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void superqix_draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect);
@@ -99,8 +99,8 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(frommcu_semaphore_input_r);
DECLARE_READ8_MEMBER(bootleg_in0_r);
INTERRUPT_GEN_MEMBER(sqix_timer_irq);
- void machine_start_superqix() ATTR_COLD;
- void machine_reset_superqix();
+ DECLARE_MACHINE_START(superqix);
+ DECLARE_MACHINE_RESET(superqix);
void sqix(machine_config &config);
void sqix_8031(machine_config &config);
@@ -154,8 +154,8 @@ public:
TILE_GET_INFO_MEMBER(pb_get_bg_tile_info);
- void machine_start_pbillian() ATTR_COLD;
- void video_start_pbillian() ATTR_COLD;
+ DECLARE_MACHINE_START(pbillian);
+ DECLARE_VIDEO_START(pbillian);
u32 screen_update_pbillian(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/suprnova.h b/src/mame/includes/suprnova.h
index 87e70415d19..440a612cfa6 100644
--- a/src/mame/includes/suprnova.h
+++ b/src/mame/includes/suprnova.h
@@ -145,11 +145,11 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
virtual void video_reset() override;
- void machine_reset_sknsa();
- void machine_reset_sknsj();
- void machine_reset_sknsu();
- void machine_reset_sknse();
- void machine_reset_sknsk();
+ DECLARE_MACHINE_RESET(sknsa);
+ DECLARE_MACHINE_RESET(sknsj);
+ DECLARE_MACHINE_RESET(sknsu);
+ DECLARE_MACHINE_RESET(sknse);
+ DECLARE_MACHINE_RESET(sknsk);
TILE_GET_INFO_MEMBER(get_tilemap_A_tile_info);
TILE_GET_INFO_MEMBER(get_tilemap_B_tile_info);
diff --git a/src/mame/includes/svision.h b/src/mame/includes/svision.h
index c474f7c40c5..147dd4cc63e 100644
--- a/src/mame/includes/svision.h
+++ b/src/mame/includes/svision.h
@@ -65,7 +65,7 @@ public:
DECLARE_PALETTE_INIT(svision);
DECLARE_PALETTE_INIT(svisionp);
DECLARE_PALETTE_INIT(svisionn);
- void machine_reset_tvlink();
+ DECLARE_MACHINE_RESET(tvlink);
uint32_t screen_update_svision(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_tvlink(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(svision_frame_int);
diff --git a/src/mame/includes/system1.h b/src/mame/includes/system1.h
index e7a1585804f..fc1ddff36ae 100644
--- a/src/mame/includes/system1.h
+++ b/src/mame/includes/system1.h
@@ -113,9 +113,9 @@ public:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
- void machine_start_system2() ATTR_COLD;
- void video_start_system2() ATTR_COLD;
- void machine_start_myherok() ATTR_COLD;
+ DECLARE_MACHINE_START(system2);
+ DECLARE_VIDEO_START(system2);
+ DECLARE_MACHINE_START(myherok);
uint32_t screen_update_system1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_system2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_system2_rowscroll(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/system16.h b/src/mame/includes/system16.h
index 17426ad3e94..23747d6d08e 100644
--- a/src/mame/includes/system16.h
+++ b/src/mame/includes/system16.h
@@ -195,7 +195,7 @@ public:
void init_goldnaxeb1();
void init_ddcrewbl();
void init_common();
- void machine_reset_ddcrewbl();
+ DECLARE_MACHINE_RESET(ddcrewbl);
TILEMAP_MAPPER_MEMBER(sys16_bg_map);
TILEMAP_MAPPER_MEMBER(sys16_text_map);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
@@ -206,12 +206,12 @@ public:
TILE_GET_INFO_MEMBER(get_s16a_bootleg_tile_infotxt);
TILE_GET_INFO_MEMBER(get_s16a_bootleg_tile_info0);
TILE_GET_INFO_MEMBER(get_s16a_bootleg_tile_info1);
- void video_start_system16() ATTR_COLD;
- void video_start_system18old() ATTR_COLD;
- void video_start_s16a_bootleg_shinobi() ATTR_COLD;
- void video_start_s16a_bootleg_passsht() ATTR_COLD;
- void video_start_s16a_bootleg_wb3bl() ATTR_COLD;
- void video_start_s16a_bootleg() ATTR_COLD;
+ DECLARE_VIDEO_START(system16);
+ DECLARE_VIDEO_START(system18old);
+ DECLARE_VIDEO_START(s16a_bootleg_shinobi);
+ DECLARE_VIDEO_START(s16a_bootleg_passsht);
+ DECLARE_VIDEO_START(s16a_bootleg_wb3bl);
+ DECLARE_VIDEO_START(s16a_bootleg);
uint32_t screen_update_system16(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_system18old(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_s16a_bootleg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/taito_b.h b/src/mame/includes/taito_b.h
index 0c44ba7c4e4..114f60214b4 100644
--- a/src/mame/includes/taito_b.h
+++ b/src/mame/includes/taito_b.h
@@ -65,13 +65,13 @@ public:
DECLARE_WRITE8_MEMBER(mb87078_gain_changed);
DECLARE_INPUT_CHANGED_MEMBER(realpunc_sensor);
void init_taito_b();
- void video_start_taitob_color_order0() ATTR_COLD;
- void video_start_taitob_color_order1() ATTR_COLD;
- void video_start_taitob_color_order2() ATTR_COLD;
- void video_start_hitice() ATTR_COLD;
- void video_reset_hitice();
- void video_start_realpunc() ATTR_COLD;
- void video_start_taitob_core() ATTR_COLD;
+ DECLARE_VIDEO_START(taitob_color_order0);
+ DECLARE_VIDEO_START(taitob_color_order1);
+ DECLARE_VIDEO_START(taitob_color_order2);
+ DECLARE_VIDEO_START(hitice);
+ DECLARE_VIDEO_RESET(hitice);
+ DECLARE_VIDEO_START(realpunc);
+ DECLARE_VIDEO_START(taitob_core);
uint32_t screen_update_taitob(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_realpunc(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank_taitob);
diff --git a/src/mame/includes/taito_f2.h b/src/mame/includes/taito_f2.h
index 580eba40668..9b84c1cba65 100644
--- a/src/mame/includes/taito_f2.h
+++ b/src/mame/includes/taito_f2.h
@@ -144,32 +144,32 @@ public:
void init_cameltry();
void init_mjnquest();
void init_finalb();
- void machine_start_f2() ATTR_COLD;
- void video_start_taitof2_default() ATTR_COLD;
- void machine_start_common() ATTR_COLD;
- void video_start_taitof2_dondokod() ATTR_COLD;
- void video_start_taitof2_driftout() ATTR_COLD;
- void video_start_taitof2_finalb() ATTR_COLD;
- void video_start_taitof2_megab() ATTR_COLD;
- void video_start_taitof2_thundfox() ATTR_COLD;
- void video_start_taitof2_ssi() ATTR_COLD;
- void video_start_taitof2_gunfront() ATTR_COLD;
- void video_start_taitof2_growl() ATTR_COLD;
- void video_start_taitof2_mjnquest() ATTR_COLD;
- void video_start_taitof2_footchmp() ATTR_COLD;
- void video_start_taitof2_hthero() ATTR_COLD;
- void video_start_taitof2_koshien() ATTR_COLD;
- void video_start_taitof2_yuyugogo() ATTR_COLD;
- void video_start_taitof2_ninjak() ATTR_COLD;
- void video_start_taitof2_solfigtr() ATTR_COLD;
- void video_start_taitof2_pulirula() ATTR_COLD;
- void video_start_taitof2_metalb() ATTR_COLD;
- void video_start_taitof2_qzchikyu() ATTR_COLD;
- void video_start_taitof2_yesnoj() ATTR_COLD;
- void video_start_taitof2_deadconx() ATTR_COLD;
- void video_start_taitof2_deadconxj() ATTR_COLD;
- void video_start_taitof2_dinorex() ATTR_COLD;
- void video_start_taitof2_quiz() ATTR_COLD;
+ DECLARE_MACHINE_START(f2);
+ DECLARE_VIDEO_START(taitof2_default);
+ DECLARE_MACHINE_START(common);
+ DECLARE_VIDEO_START(taitof2_dondokod);
+ DECLARE_VIDEO_START(taitof2_driftout);
+ DECLARE_VIDEO_START(taitof2_finalb);
+ DECLARE_VIDEO_START(taitof2_megab);
+ DECLARE_VIDEO_START(taitof2_thundfox);
+ DECLARE_VIDEO_START(taitof2_ssi);
+ DECLARE_VIDEO_START(taitof2_gunfront);
+ DECLARE_VIDEO_START(taitof2_growl);
+ DECLARE_VIDEO_START(taitof2_mjnquest);
+ DECLARE_VIDEO_START(taitof2_footchmp);
+ DECLARE_VIDEO_START(taitof2_hthero);
+ DECLARE_VIDEO_START(taitof2_koshien);
+ DECLARE_VIDEO_START(taitof2_yuyugogo);
+ DECLARE_VIDEO_START(taitof2_ninjak);
+ DECLARE_VIDEO_START(taitof2_solfigtr);
+ DECLARE_VIDEO_START(taitof2_pulirula);
+ DECLARE_VIDEO_START(taitof2_metalb);
+ DECLARE_VIDEO_START(taitof2_qzchikyu);
+ DECLARE_VIDEO_START(taitof2_yesnoj);
+ DECLARE_VIDEO_START(taitof2_deadconx);
+ DECLARE_VIDEO_START(taitof2_deadconxj);
+ DECLARE_VIDEO_START(taitof2_dinorex);
+ DECLARE_VIDEO_START(taitof2_quiz);
uint32_t screen_update_taitof2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_taitof2_pri_roz(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_taitof2_pri(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/taito_f3.h b/src/mame/includes/taito_f3.h
index ecf8a4d5eae..ce24143b28e 100644
--- a/src/mame/includes/taito_f3.h
+++ b/src/mame/includes/taito_f3.h
@@ -311,8 +311,8 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_vram);
TILE_GET_INFO_MEMBER(get_tile_info_pixel);
virtual void machine_start() override;
- void machine_reset_f3();
- void video_start_f3();
+ DECLARE_MACHINE_RESET(f3);
+ DECLARE_VIDEO_START(f3);
uint32_t screen_update_f3(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank_f3);
INTERRUPT_GEN_MEMBER(f3_interrupt2);
diff --git a/src/mame/includes/taito_l.h b/src/mame/includes/taito_l.h
index 92b97723c0c..3cdc8dd7648 100644
--- a/src/mame/includes/taito_l.h
+++ b/src/mame/includes/taito_l.h
@@ -64,9 +64,9 @@ public:
DECLARE_WRITE8_MEMBER(vram_w);
template<int Offset> TILE_GET_INFO_MEMBER(get_tile_info);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
- void machine_start_taito_l() ATTR_COLD;
- void video_start_taito_l() ATTR_COLD;
- void machine_reset_taito_l();
+ DECLARE_MACHINE_START(taito_l);
+ DECLARE_VIDEO_START(taito_l);
+ DECLARE_MACHINE_RESET(taito_l);
u32 screen_update_taitol(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank_taitol);
TIMER_DEVICE_CALLBACK_MEMBER(vbl_interrupt);
@@ -207,10 +207,10 @@ public:
void init_plottinga();
- void machine_reset_plotting();
- void machine_reset_puzznic();
- void machine_reset_palamed();
- void machine_reset_cachat();
+ DECLARE_MACHINE_RESET(plotting);
+ DECLARE_MACHINE_RESET(puzznic);
+ DECLARE_MACHINE_RESET(palamed);
+ DECLARE_MACHINE_RESET(cachat);
void palamed(machine_config &config);
void plotting(machine_config &config);
@@ -241,7 +241,7 @@ public:
DECLARE_WRITE8_MEMBER(bankg_w);
- void machine_start_horshoes();
+ DECLARE_MACHINE_RESET(horshoes);
void horshoes(machine_config &config);
void horshoes_map(address_map &map);
};
diff --git a/src/mame/includes/taito_x.h b/src/mame/includes/taito_x.h
index ba717767954..046dd3d6f42 100644
--- a/src/mame/includes/taito_x.h
+++ b/src/mame/includes/taito_x.h
@@ -26,7 +26,7 @@ public:
DECLARE_WRITE16_MEMBER(kyustrkr_input_w);
DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
void init_kyustrkr();
- void machine_start_taitox() ATTR_COLD;
+ DECLARE_MACHINE_START(taitox);
INTERRUPT_GEN_MEMBER(interrupt);
TIMER_DEVICE_CALLBACK_MEMBER(cchip_irq_clear_cb);
diff --git a/src/mame/includes/taito_z.h b/src/mame/includes/taito_z.h
index dab7c7c7df5..6b79c8fc58d 100644
--- a/src/mame/includes/taito_z.h
+++ b/src/mame/includes/taito_z.h
@@ -114,10 +114,10 @@ private:
DECLARE_READ16_MEMBER(sci_spriteframe_r);
DECLARE_WRITE16_MEMBER(sci_spriteframe_w);
DECLARE_WRITE16_MEMBER(contcirc_out_w);
- void machine_start_taitoz() ATTR_COLD;
- void machine_reset_taitoz();
- void video_start_taitoz() ATTR_COLD;
- void machine_start_bshark() ATTR_COLD;
+ DECLARE_MACHINE_START(taitoz);
+ DECLARE_MACHINE_RESET(taitoz);
+ DECLARE_VIDEO_START(taitoz);
+ DECLARE_MACHINE_START(bshark);
uint32_t screen_update_contcirc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_chasehq(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_bshark(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/tatsumi.h b/src/mame/includes/tatsumi.h
index 509a641f2bb..ab536791c21 100644
--- a/src/mame/includes/tatsumi.h
+++ b/src/mame/includes/tatsumi.h
@@ -91,8 +91,8 @@ public:
DECLARE_WRITE8_MEMBER(apache3_road_x_w);
void init_apache3();
- void machine_reset_apache3();
- void video_start_apache3() ATTR_COLD;
+ DECLARE_MACHINE_RESET(apache3);
+ DECLARE_VIDEO_START(apache3);
uint32_t screen_update_apache3(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(apache3_68000_reset);
@@ -145,7 +145,7 @@ public:
DECLARE_WRITE16_MEMBER(roundup5_crt_w);
void init_roundup5();
- void video_start_roundup5() ATTR_COLD;
+ DECLARE_VIDEO_START(roundup5);
uint32_t screen_update_roundup5(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void roundup5(machine_config &config);
@@ -193,8 +193,8 @@ public:
void init_cyclwarr();
template<int Bank> TILE_GET_INFO_MEMBER(get_tile_info_bigfight);
- void video_start_cyclwarr() ATTR_COLD;
- void video_start_bigfight() ATTR_COLD;
+ DECLARE_VIDEO_START(cyclwarr);
+ DECLARE_VIDEO_START(bigfight);
uint32_t screen_update_cyclwarr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_bigfight(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
@@ -212,7 +212,7 @@ private:
required_shared_ptr<uint16_t> m_cyclwarr_cpub_ram;
required_shared_ptr_array<uint16_t, 2> m_cyclwarr_videoram;
required_region_ptr<uint8_t> m_cyclwarr_tileclut;
-
+
std::vector<uint8_t> m_mask;
tilemap_t *m_layer[4];
diff --git a/src/mame/includes/tecmo16.h b/src/mame/includes/tecmo16.h
index 30691890e87..8531ae1ee6b 100644
--- a/src/mame/includes/tecmo16.h
+++ b/src/mame/includes/tecmo16.h
@@ -73,8 +73,8 @@ public:
TILE_GET_INFO_MEMBER(tx_get_tile_info);
virtual void video_start() override;
- void video_start_ginkun() ATTR_COLD;
- void video_start_riot() ATTR_COLD;
+ DECLARE_VIDEO_START(ginkun);
+ DECLARE_VIDEO_START(riot);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/tetrisp2.h b/src/mame/includes/tetrisp2.h
index 954d85937c4..6a1fd83576c 100644
--- a/src/mame/includes/tetrisp2.h
+++ b/src/mame/includes/tetrisp2.h
@@ -125,10 +125,10 @@ public:
TILE_GET_INFO_MEMBER(get_tile_info_rocknms_sub_fg);
TILE_GET_INFO_MEMBER(get_tile_info_rocknms_sub_rot);
TILE_GET_INFO_MEMBER(stepstag_get_tile_info_fg);
- void video_start_tetrisp2() ATTR_COLD;
- void video_start_nndmseal() ATTR_COLD;
- void video_start_rockntread() ATTR_COLD;
- void video_start_rocknms() ATTR_COLD;
+ DECLARE_VIDEO_START(tetrisp2);
+ DECLARE_VIDEO_START(nndmseal);
+ DECLARE_VIDEO_START(rockntread);
+ DECLARE_VIDEO_START(rocknms);
uint32_t screen_update_tetrisp2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_rockntread(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_rocknms_left(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
@@ -185,7 +185,7 @@ public:
DECLARE_WRITE16_MEMBER(stepstag_button_leds_w);
DECLARE_WRITE16_MEMBER( stepstag_palette_w );
void init_stepstag();
- void video_start_stepstag() ATTR_COLD;
+ DECLARE_VIDEO_START(stepstag);
uint32_t screen_update_stepstag_left(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_stepstag_mid(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_stepstag_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/thomson.h b/src/mame/includes/thomson.h
index 83dc7e3b3d4..9a8378836f6 100644
--- a/src/mame/includes/thomson.h
+++ b/src/mame/includes/thomson.h
@@ -176,8 +176,8 @@ public:
TIMER_CALLBACK_MEMBER( to7_game_update_cb );
DECLARE_READ8_MEMBER( to7_midi_r );
DECLARE_WRITE8_MEMBER( to7_midi_w );
- void machine_reset_to7();
- void machine_start_to7() ATTR_COLD;
+ DECLARE_MACHINE_RESET( to7 );
+ DECLARE_MACHINE_START( to7 );
DECLARE_WRITE_LINE_MEMBER( to770_sys_cb2_out );
DECLARE_READ8_MEMBER( to770_sys_porta_in );
void to7_update_cart_bank_postload();
@@ -186,8 +186,8 @@ public:
DECLARE_WRITE8_MEMBER( to770_timer_port_out );
DECLARE_READ8_MEMBER( to770_gatearray_r );
DECLARE_WRITE8_MEMBER( to770_gatearray_w );
- void machine_reset_to770();
- void machine_start_to770() ATTR_COLD;
+ DECLARE_MACHINE_RESET( to770 );
+ DECLARE_MACHINE_START( to770 );
void to7_lightpen_cb( int step );
void mo5_lightpen_cb( int step );
TIMER_CALLBACK_MEMBER( mo5_periodic_cb );
@@ -200,8 +200,8 @@ public:
DECLARE_WRITE8_MEMBER( mo5_cartridge_w );
DECLARE_READ8_MEMBER( mo5_cartridge_r );
DECLARE_WRITE8_MEMBER( mo5_ext_w );
- void machine_reset_mo5();
- void machine_start_mo5() ATTR_COLD;
+ DECLARE_MACHINE_RESET( mo5 );
+ DECLARE_MACHINE_START( mo5 );
DECLARE_WRITE8_MEMBER( to9_ieee_w );
DECLARE_READ8_MEMBER( to9_ieee_r );
DECLARE_READ8_MEMBER( to9_gatearray_r );
@@ -219,8 +219,8 @@ public:
DECLARE_WRITE8_MEMBER( to9_sys_porta_out );
DECLARE_WRITE8_MEMBER( to9_sys_portb_out );
DECLARE_WRITE8_MEMBER( to9_timer_port_out );
- void machine_reset_to9();
- void machine_start_to9() ATTR_COLD;
+ DECLARE_MACHINE_RESET( to9 );
+ DECLARE_MACHINE_START( to9 );
TIMER_CALLBACK_MEMBER( to8_kbd_timer_cb );
void to8_update_floppy_bank_postload();
void to8_update_ram_bank_postload();
@@ -239,12 +239,12 @@ public:
DECLARE_WRITE8_MEMBER( to8_timer_port_out );
DECLARE_WRITE_LINE_MEMBER( to8_timer_cp2_out );
void to8_lightpen_cb( int step );
- void machine_reset_to8();
- void machine_start_to8() ATTR_COLD;
+ DECLARE_MACHINE_RESET( to8 );
+ DECLARE_MACHINE_START( to8 );
DECLARE_READ8_MEMBER( to9p_timer_port_in );
DECLARE_WRITE8_MEMBER( to9p_timer_port_out );
- void machine_reset_to9p();
- void machine_start_to9p() ATTR_COLD;
+ DECLARE_MACHINE_RESET( to9p );
+ DECLARE_MACHINE_START( to9p );
void mo6_update_ram_bank_postload();
void mo6_update_cart_bank_postload();
DECLARE_WRITE8_MEMBER( mo6_cartridge_w );
@@ -262,16 +262,16 @@ public:
DECLARE_WRITE8_MEMBER( mo6_gatearray_w );
DECLARE_READ8_MEMBER( mo6_vreg_r );
DECLARE_WRITE8_MEMBER( mo6_vreg_w );
- void machine_reset_mo6();
- void machine_start_mo6() ATTR_COLD;
+ DECLARE_MACHINE_RESET( mo6 );
+ DECLARE_MACHINE_START( mo6 );
DECLARE_READ8_MEMBER( mo5nr_net_r );
DECLARE_WRITE8_MEMBER( mo5nr_net_w );
DECLARE_READ8_MEMBER( mo5nr_prn_r );
DECLARE_WRITE8_MEMBER( mo5nr_prn_w );
DECLARE_READ8_MEMBER( mo5nr_sys_portb_in );
DECLARE_WRITE8_MEMBER( mo5nr_sys_porta_out );
- void machine_reset_mo5nr();
- void machine_start_mo5nr() ATTR_COLD;
+ DECLARE_MACHINE_RESET( mo5nr );
+ DECLARE_MACHINE_START( mo5nr );
TIMER_CALLBACK_MEMBER( thom_lightpen_step );
TIMER_CALLBACK_MEMBER( thom_scanline_start );
@@ -317,7 +317,7 @@ public:
void overlayhalf_scandraw_8( uint8_t* vram, uint16_t* dst, uint16_t* pal, int org, int len );
void overlay3_scandraw_8( uint8_t* vram, uint16_t* dst, uint16_t* pal, int org, int len );
DECLARE_WRITE_LINE_MEMBER(thom_vblank);
- void video_start_thom() ATTR_COLD;
+ DECLARE_VIDEO_START( thom );
DECLARE_READ8_MEMBER( to7_5p14_r );
DECLARE_WRITE8_MEMBER( to7_5p14_w );
diff --git a/src/mame/includes/ti85.h b/src/mame/includes/ti85.h
index 3ea93115b9b..7cbbb239274 100644
--- a/src/mame/includes/ti85.h
+++ b/src/mame/includes/ti85.h
@@ -171,14 +171,14 @@ public:
virtual void machine_start() override;
virtual void video_start() override;
DECLARE_PALETTE_INIT(ti85);
- void machine_reset_ti85();
- void machine_reset_ti83p();
+ DECLARE_MACHINE_RESET(ti85);
+ DECLARE_MACHINE_RESET(ti83p);
DECLARE_PALETTE_INIT(ti82);
- void machine_start_ti86() ATTR_COLD;
- void machine_start_ti83p() ATTR_COLD;
- void machine_start_ti83pse() ATTR_COLD;
- void machine_start_ti84pse() ATTR_COLD;
- void machine_start_ti84p() ATTR_COLD;
+ DECLARE_MACHINE_START(ti86);
+ DECLARE_MACHINE_START(ti83p);
+ DECLARE_MACHINE_START(ti83pse);
+ DECLARE_MACHINE_START(ti84pse);
+ DECLARE_MACHINE_START(ti84p);
void ti8xpse_init_common();
uint32_t screen_update_ti85(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/tiamc1.h b/src/mame/includes/tiamc1.h
index 17f66776ef1..21164bbea73 100644
--- a/src/mame/includes/tiamc1.h
+++ b/src/mame/includes/tiamc1.h
@@ -53,7 +53,7 @@ public:
TILE_GET_INFO_MEMBER(get_bg2_tile_info);
virtual void machine_reset() override;
virtual void video_start() override;
- void video_start_kot() ATTR_COLD;
+ DECLARE_VIDEO_START(kot);
DECLARE_PALETTE_INIT(tiamc1);
uint32_t screen_update_tiamc1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_kot(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/timeplt.h b/src/mame/includes/timeplt.h
index 115efce8b3b..c1b841dfe45 100644
--- a/src/mame/includes/timeplt.h
+++ b/src/mame/includes/timeplt.h
@@ -74,8 +74,8 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
DECLARE_PALETTE_INIT(timeplt);
- void video_start_chkun() ATTR_COLD;
- void video_start_psurge() ATTR_COLD;
+ DECLARE_VIDEO_START(chkun);
+ DECLARE_VIDEO_START(psurge);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
diff --git a/src/mame/includes/tmnt.h b/src/mame/includes/tmnt.h
index 1d7401acde7..b921a4d7c42 100644
--- a/src/mame/includes/tmnt.h
+++ b/src/mame/includes/tmnt.h
@@ -144,17 +144,17 @@ public:
void init_cuebrick();
TILE_GET_INFO_MEMBER(glfgreat_get_roz_tile_info);
TILE_GET_INFO_MEMBER(prmrsocr_get_roz_tile_info);
- void machine_start_common() ATTR_COLD;
- void machine_reset_common();
- void video_start_cuebrick() ATTR_COLD;
- void video_start_mia() ATTR_COLD;
- void machine_reset_tmnt();
- void video_start_tmnt() ATTR_COLD;
- void video_start_lgtnfght() ATTR_COLD;
- void video_start_blswhstl() ATTR_COLD;
- void video_start_glfgreat() ATTR_COLD;
- void machine_start_prmrsocr() ATTR_COLD;
- void video_start_prmrsocr() ATTR_COLD;
+ DECLARE_MACHINE_START(common);
+ DECLARE_MACHINE_RESET(common);
+ DECLARE_VIDEO_START(cuebrick);
+ DECLARE_VIDEO_START(mia);
+ DECLARE_MACHINE_RESET(tmnt);
+ DECLARE_VIDEO_START(tmnt);
+ DECLARE_VIDEO_START(lgtnfght);
+ DECLARE_VIDEO_START(blswhstl);
+ DECLARE_VIDEO_START(glfgreat);
+ DECLARE_MACHINE_START(prmrsocr);
+ DECLARE_VIDEO_START(prmrsocr);
uint32_t screen_update_mia(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_tmnt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_punkshot(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/tnzs.h b/src/mame/includes/tnzs.h
index 85f48cbaf77..ba15ac91114 100644
--- a/src/mame/includes/tnzs.h
+++ b/src/mame/includes/tnzs.h
@@ -181,7 +181,7 @@ public:
DECLARE_READ8_MEMBER(csport_r);
DECLARE_WRITE8_MEMBER(csport_w);
- void machine_reset_kageki();
+ DECLARE_MACHINE_RESET(kageki);
void init_kageki();
SAMPLES_START_CB_MEMBER(init_samples);
diff --git a/src/mame/includes/toaplan1.h b/src/mame/includes/toaplan1.h
index b78de0f279d..195d5f47c60 100644
--- a/src/mame/includes/toaplan1.h
+++ b/src/mame/includes/toaplan1.h
@@ -133,11 +133,11 @@ public:
TILE_GET_INFO_MEMBER(get_pf2_tile_info);
TILE_GET_INFO_MEMBER(get_pf3_tile_info);
TILE_GET_INFO_MEMBER(get_pf4_tile_info);
- void machine_reset_toaplan1();
- void video_start_toaplan1() ATTR_COLD;
- void machine_reset_zerowing();
- void machine_reset_demonwld();
- void machine_reset_vimana();
+ DECLARE_MACHINE_RESET(toaplan1);
+ DECLARE_VIDEO_START(toaplan1);
+ DECLARE_MACHINE_RESET(zerowing);
+ DECLARE_MACHINE_RESET(demonwld);
+ DECLARE_MACHINE_RESET(vimana);
uint32_t screen_update_toaplan1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank_toaplan1);
@@ -207,7 +207,7 @@ public:
DECLARE_WRITE_LINE_MEMBER(coin_lockout_1_w);
DECLARE_WRITE_LINE_MEMBER(coin_lockout_2_w);
DECLARE_READ16_MEMBER(rallybik_tileram16_r);
- void video_start_rallybik() ATTR_COLD;
+ DECLARE_VIDEO_START(rallybik);
uint32_t screen_update_rallybik(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(screen_vblank_rallybik);
diff --git a/src/mame/includes/toaplan2.h b/src/mame/includes/toaplan2.h
index 584c0500665..bc96b7d3362 100644
--- a/src/mame/includes/toaplan2.h
+++ b/src/mame/includes/toaplan2.h
@@ -125,14 +125,14 @@ public:
void init_enmadaio();
TILE_GET_INFO_MEMBER(get_text_tile_info);
virtual void machine_start() override;
- void machine_reset_toaplan2();
- void video_start_toaplan2() ATTR_COLD;
- void machine_reset_ghox();
- void video_start_truxton2() ATTR_COLD;
- void video_start_fixeightbl() ATTR_COLD;
- void video_start_bgaregga() ATTR_COLD;
- void video_start_bgareggabl() ATTR_COLD;
- void video_start_batrider() ATTR_COLD;
+ DECLARE_MACHINE_RESET(toaplan2);
+ DECLARE_VIDEO_START(toaplan2);
+ DECLARE_MACHINE_RESET(ghox);
+ DECLARE_VIDEO_START(truxton2);
+ DECLARE_VIDEO_START(fixeightbl);
+ DECLARE_VIDEO_START(bgaregga);
+ DECLARE_VIDEO_START(bgareggabl);
+ DECLARE_VIDEO_START(batrider);
// Teki Paki sound
DECLARE_READ8_MEMBER(tekipaki_cmdavailable_r);
diff --git a/src/mame/includes/trackfld.h b/src/mame/includes/trackfld.h
index ec55f766e06..4986bdee134 100644
--- a/src/mame/includes/trackfld.h
+++ b/src/mame/includes/trackfld.h
@@ -97,11 +97,11 @@ private:
DECLARE_WRITE_LINE_MEMBER(flipscreen_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
- void machine_start_trackfld() ATTR_COLD;
- void machine_reset_trackfld();
- void video_start_trackfld() ATTR_COLD;
+ DECLARE_MACHINE_START(trackfld);
+ DECLARE_MACHINE_RESET(trackfld);
+ DECLARE_VIDEO_START(trackfld);
DECLARE_PALETTE_INIT(trackfld);
- void video_start_atlantol() ATTR_COLD;
+ DECLARE_VIDEO_START(atlantol);
uint32_t screen_update_trackfld(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(vblank_irq);
DECLARE_WRITE_LINE_MEMBER(vblank_nmi);
diff --git a/src/mame/includes/trs80.h b/src/mame/includes/trs80.h
index f52c8ea5d9d..699af1e4243 100644
--- a/src/mame/includes/trs80.h
+++ b/src/mame/includes/trs80.h
@@ -115,9 +115,9 @@ public:
TIMER_CALLBACK_MEMBER(cassette_data_callback);
DECLARE_WRITE_LINE_MEMBER(trs80_fdc_intrq_w);
DECLARE_QUICKLOAD_LOAD_MEMBER( trs80_cmd );
- void machine_reset_trs80m4();
- void machine_reset_lnw80();
- void machine_reset_cp500();
+ DECLARE_MACHINE_RESET(trs80m4);
+ DECLARE_MACHINE_RESET(lnw80);
+ DECLARE_MACHINE_RESET(cp500);
DECLARE_PALETTE_INIT(lnw80);
uint32_t screen_update_trs80(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_trs80m4(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/tsamurai.h b/src/mame/includes/tsamurai.h
index 86731521e41..c34255e577d 100644
--- a/src/mame/includes/tsamurai.h
+++ b/src/mame/includes/tsamurai.h
@@ -58,12 +58,12 @@ public:
DECLARE_READ8_MEMBER(vsgongf_a100_r);
DECLARE_WRITE8_MEMBER(vsgongf_sound_command_w);
- void machine_start_m660() ATTR_COLD;
- void machine_start_tsamurai() ATTR_COLD;
- void machine_start_vsgongf() ATTR_COLD;
- void video_start_m660() ATTR_COLD;
- void video_start_tsamurai() ATTR_COLD;
- void video_start_vsgongf() ATTR_COLD;
+ DECLARE_MACHINE_START(m660);
+ DECLARE_MACHINE_START(tsamurai);
+ DECLARE_MACHINE_START(vsgongf);
+ DECLARE_VIDEO_START(m660);
+ DECLARE_VIDEO_START(tsamurai);
+ DECLARE_VIDEO_START(vsgongf);
void init_the26thz();
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/tubep.h b/src/mame/includes/tubep.h
index ef64d116ea7..f1cd24684f5 100644
--- a/src/mame/includes/tubep.h
+++ b/src/mame/includes/tubep.h
@@ -86,13 +86,13 @@ public:
DECLARE_WRITE8_MEMBER(ay8910_portB_1_w);
DECLARE_WRITE8_MEMBER(ay8910_portA_2_w);
DECLARE_WRITE8_MEMBER(ay8910_portB_2_w);
- void machine_start_tubep() ATTR_COLD;
- void machine_reset_tubep();
+ DECLARE_MACHINE_START(tubep);
+ DECLARE_MACHINE_RESET(tubep);
virtual void video_start() override;
virtual void video_reset() override;
DECLARE_PALETTE_INIT(tubep);
- void machine_start_rjammer() ATTR_COLD;
- void machine_reset_rjammer();
+ DECLARE_MACHINE_START(rjammer);
+ DECLARE_MACHINE_RESET(rjammer);
DECLARE_PALETTE_INIT(rjammer);
uint32_t screen_update_tubep(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_rjammer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/tumbleb.h b/src/mame/includes/tumbleb.h
index 1f6e74230ab..827a4e55927 100644
--- a/src/mame/includes/tumbleb.h
+++ b/src/mame/includes/tumbleb.h
@@ -102,14 +102,14 @@ public:
TILE_GET_INFO_MEMBER(pangpang_get_bg1_tile_info);
TILE_GET_INFO_MEMBER(pangpang_get_bg2_tile_info);
TILE_GET_INFO_MEMBER(pangpang_get_fg_tile_info);
- void machine_start_tumbleb() ATTR_COLD;
- void machine_reset_tumbleb();
- void video_start_tumblepb() ATTR_COLD;
- void video_start_fncywld() ATTR_COLD;
- void machine_reset_htchctch();
- void video_start_suprtrio() ATTR_COLD;
- void video_start_pangpang() ATTR_COLD;
- void video_start_sdfight() ATTR_COLD;
+ DECLARE_MACHINE_START(tumbleb);
+ DECLARE_MACHINE_RESET(tumbleb);
+ DECLARE_VIDEO_START(tumblepb);
+ DECLARE_VIDEO_START(fncywld);
+ DECLARE_MACHINE_RESET(htchctch);
+ DECLARE_VIDEO_START(suprtrio);
+ DECLARE_VIDEO_START(pangpang);
+ DECLARE_VIDEO_START(sdfight);
uint32_t screen_update_tumblepb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_jumpkids(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_fncywld(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/turbo.h b/src/mame/includes/turbo.h
index 0e1ed280237..e14e4f89ea1 100644
--- a/src/mame/includes/turbo.h
+++ b/src/mame/includes/turbo.h
@@ -164,11 +164,11 @@ public:
void init_turbo_enc();
void init_turbo_noenc();
TILE_GET_INFO_MEMBER(get_fg_tile_info);
- void video_start_turbo() ATTR_COLD;
+ DECLARE_VIDEO_START(turbo);
DECLARE_PALETTE_INIT(turbo);
DECLARE_PALETTE_INIT(subroc3d);
- void machine_reset_buckrog();
- void video_start_buckrog() ATTR_COLD;
+ DECLARE_MACHINE_RESET(buckrog);
+ DECLARE_VIDEO_START(buckrog);
DECLARE_PALETTE_INIT(buckrog);
uint32_t screen_update_turbo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_subroc3d(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/twincobr.h b/src/mame/includes/twincobr.h
index 9963eacea9c..1b989a31c69 100644
--- a/src/mame/includes/twincobr.h
+++ b/src/mame/includes/twincobr.h
@@ -105,8 +105,8 @@ public:
TILE_GET_INFO_MEMBER(get_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_tx_tile_info);
- void machine_reset_twincobr();
- void video_start_toaplan0() ATTR_COLD;
+ DECLARE_MACHINE_RESET(twincobr);
+ DECLARE_VIDEO_START(toaplan0);
uint32_t screen_update_toaplan0(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(twincobr_vblank_irq);
DECLARE_WRITE_LINE_MEMBER(wardner_vblank_irq);
diff --git a/src/mame/includes/tx1.h b/src/mame/includes/tx1.h
index 1d5d175e6fc..58e8a081144 100644
--- a/src/mame/includes/tx1.h
+++ b/src/mame/includes/tx1.h
@@ -195,13 +195,13 @@ public:
DECLARE_WRITE8_MEMBER(bb_coin_cnt_w);
DECLARE_READ8_MEMBER(tx1_ppi_porta_r);
DECLARE_READ8_MEMBER(tx1_ppi_portb_r);
- void machine_reset_tx1();
- void video_start_tx1() ATTR_COLD;
+ DECLARE_MACHINE_RESET(tx1);
+ DECLARE_VIDEO_START(tx1);
DECLARE_PALETTE_INIT(tx1);
- void machine_reset_buggyboy();
- void video_start_buggyboy() ATTR_COLD;
+ DECLARE_MACHINE_RESET(buggyboy);
+ DECLARE_VIDEO_START(buggyboy);
DECLARE_PALETTE_INIT(buggyboy);
- void video_start_buggybjr() ATTR_COLD;
+ DECLARE_VIDEO_START(buggybjr);
void tx1_draw_char(uint8_t *bitmap);
void tx1_draw_road_pixel(int screen, uint8_t *bmpaddr,
diff --git a/src/mame/includes/ut88.h b/src/mame/includes/ut88.h
index 82318cf8bb0..cf55789a581 100644
--- a/src/mame/includes/ut88.h
+++ b/src/mame/includes/ut88.h
@@ -60,10 +60,10 @@ public:
DECLARE_WRITE8_MEMBER(ut88_8255_porta_w);
void init_ut88();
void init_ut88mini();
- void machine_reset_ut88();
- void video_start_ut88() ATTR_COLD;
- void machine_start_ut88mini() ATTR_COLD;
- void machine_reset_ut88mini();
+ DECLARE_MACHINE_RESET(ut88);
+ DECLARE_VIDEO_START(ut88);
+ DECLARE_MACHINE_START(ut88mini);
+ DECLARE_MACHINE_RESET(ut88mini);
uint32_t screen_update_ut88(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void ut88(machine_config &config);
diff --git a/src/mame/includes/vicdual.h b/src/mame/includes/vicdual.h
index 51a11cdf5d7..e37d4db8e83 100644
--- a/src/mame/includes/vicdual.h
+++ b/src/mame/includes/vicdual.h
@@ -86,7 +86,7 @@ public:
DECLARE_READ8_MEMBER(headon_io_r);
DECLARE_READ8_MEMBER(sspaceat_io_r);
DECLARE_WRITE8_MEMBER(headon_io_w);
- void machine_reset_headon2();
+ DECLARE_MACHINE_RESET(headon2);
DECLARE_READ8_MEMBER(headon2_io_r);
DECLARE_WRITE8_MEMBER(headon2_io_w);
DECLARE_WRITE8_MEMBER(digger_io_w);
@@ -147,8 +147,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(clear_coin_status);
- void machine_start_samurai() ATTR_COLD;
- void machine_start_frogs_audio() ATTR_COLD;
+ DECLARE_MACHINE_START(samurai);
+ DECLARE_MACHINE_START(frogs_audio);
virtual void machine_start() override;
@@ -247,8 +247,8 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(nsub_coin_pulse);
- void machine_start_nsub() ATTR_COLD;
- void machine_reset_nsub();
+ DECLARE_MACHINE_START(nsub);
+ DECLARE_MACHINE_RESET(nsub);
virtual pen_t choose_pen(uint8_t x, uint8_t y, pen_t back_pen) override;
void nsub(machine_config &config);
diff --git a/src/mame/includes/vsnes.h b/src/mame/includes/vsnes.h
index 94295496252..c5c47a1ad98 100644
--- a/src/mame/includes/vsnes.h
+++ b/src/mame/includes/vsnes.h
@@ -77,14 +77,14 @@ public:
void init_platoon();
void init_rbibb();
void init_vsdual();
- void machine_start_vsnes() ATTR_COLD;
- void machine_reset_vsnes();
- void machine_start_vsdual() ATTR_COLD;
- void machine_reset_vsdual();
- void v_set_videorom_bank(int start, int count, int vrom_start_bank);
- void mapper4_set_prg();
- void mapper4_set_chr();
- void mapper4_irq(int scanline, int vblank, int blanked);
+ DECLARE_MACHINE_START(vsnes);
+ DECLARE_MACHINE_RESET(vsnes);
+ DECLARE_MACHINE_START(vsdual);
+ DECLARE_MACHINE_RESET(vsdual);
+ void v_set_videorom_bank( int start, int count, int vrom_start_bank );
+ void mapper4_set_prg( );
+ void mapper4_set_chr( );
+ void mapper4_irq( int scanline, int vblank, int blanked );
DECLARE_READ8_MEMBER( vsnes_bootleg_z80_latch_r );
DECLARE_WRITE8_MEMBER(bootleg_sound_write);
diff --git a/src/mame/includes/vtech2.h b/src/mame/includes/vtech2.h
index 3eabc0c54fd..0b6f0a3201c 100644
--- a/src/mame/includes/vtech2.h
+++ b/src/mame/includes/vtech2.h
@@ -64,8 +64,8 @@ public:
virtual void machine_reset() override;
virtual void video_start() override;
DECLARE_PALETTE_INIT(vtech2);
- void machine_reset_laser500();
- void machine_reset_laser700();
+ DECLARE_MACHINE_RESET(laser500);
+ DECLARE_MACHINE_RESET(laser700);
uint32_t screen_update_laser(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(vtech2_interrupt);
diff --git a/src/mame/includes/warpwarp.h b/src/mame/includes/warpwarp.h
index 7fbd929ecf6..41d5b6bb0ca 100644
--- a/src/mame/includes/warpwarp.h
+++ b/src/mame/includes/warpwarp.h
@@ -74,7 +74,7 @@ public:
DECLARE_WRITE8_MEMBER(geebee_videoram_w);
virtual void machine_start() override;
- void machine_reset_kaitei();
+ DECLARE_MACHINE_RESET(kaitei);
void init_navarone();
void init_geebee();
void init_kaitein();
@@ -82,11 +82,11 @@ public:
void init_sos();
void init_kaitei();
void init_bombbee();
- void video_start_geebee() ATTR_COLD;
+ DECLARE_VIDEO_START(geebee);
DECLARE_PALETTE_INIT(geebee);
- void video_start_warpwarp() ATTR_COLD;
+ DECLARE_VIDEO_START(warpwarp);
DECLARE_PALETTE_INIT(warpwarp);
- void video_start_navarone() ATTR_COLD;
+ DECLARE_VIDEO_START(navarone);
DECLARE_PALETTE_INIT(navarone);
TILEMAP_MAPPER_MEMBER(tilemap_scan);
diff --git a/src/mame/includes/wc90.h b/src/mame/includes/wc90.h
index d4716cb76eb..5a9e80cd80c 100644
--- a/src/mame/includes/wc90.h
+++ b/src/mame/includes/wc90.h
@@ -76,7 +76,7 @@ public:
virtual void machine_start() override;
virtual void video_start() override;
- void video_start_wc90t() ATTR_COLD;
+ DECLARE_VIDEO_START(wc90t);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void wc90t(machine_config &config);
diff --git a/src/mame/includes/wecleman.h b/src/mame/includes/wecleman.h
index ef7f6cffb35..a0532cc7335 100644
--- a/src/mame/includes/wecleman.h
+++ b/src/mame/includes/wecleman.h
@@ -103,13 +103,13 @@ public:
TILE_GET_INFO_MEMBER(wecleman_get_bg_tile_info);
TILE_GET_INFO_MEMBER(wecleman_get_fg_tile_info);
- void machine_start_wecleman() ATTR_COLD;
- void machine_reset_wecleman();
- void video_start_wecleman() ATTR_COLD;
+ DECLARE_MACHINE_START(wecleman);
+ DECLARE_MACHINE_RESET(wecleman);
+ DECLARE_VIDEO_START(wecleman);
- void machine_start_hotchase() ATTR_COLD;
- void machine_reset_hotchase();
- void video_start_hotchase() ATTR_COLD;
+ DECLARE_MACHINE_START(hotchase);
+ DECLARE_MACHINE_RESET(hotchase);
+ DECLARE_VIDEO_START(hotchase);
uint32_t screen_update_wecleman(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint32_t screen_update_hotchase(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/wgp.h b/src/mame/includes/wgp.h
index 01807d0426c..348912942f2 100644
--- a/src/mame/includes/wgp.h
+++ b/src/mame/includes/wgp.h
@@ -52,7 +52,7 @@ public:
DECLARE_WRITE16_MEMBER(piv_ctrl_word_w);
void init_wgp();
void init_wgp2();
- void video_start_wgp2() ATTR_COLD;
+ DECLARE_VIDEO_START(wgp2);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(cpub_interrupt);
diff --git a/src/mame/includes/williams.h b/src/mame/includes/williams.h
index b5c94abed0e..0440a80209b 100644
--- a/src/mame/includes/williams.h
+++ b/src/mame/includes/williams.h
@@ -86,13 +86,13 @@ public:
void init_alienar();
void init_robotron();
void init_bubbles();
- void machine_start_defender() ATTR_COLD;
- void machine_reset_defender();
- void video_start_williams() ATTR_COLD;
- void machine_start_williams() ATTR_COLD;
- void machine_reset_williams();
- void machine_start_williams_common() ATTR_COLD;
- void machine_reset_williams_common();
+ DECLARE_MACHINE_START(defender);
+ DECLARE_MACHINE_RESET(defender);
+ DECLARE_VIDEO_START(williams);
+ DECLARE_MACHINE_START(williams);
+ DECLARE_MACHINE_RESET(williams);
+ DECLARE_MACHINE_START(williams_common);
+ DECLARE_MACHINE_RESET(williams_common);
uint32_t screen_update_williams(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(williams_count240_off_callback);
TIMER_CALLBACK_MEMBER(williams_deferred_snd_cmd_w);
@@ -169,9 +169,9 @@ public:
DECLARE_WRITE_LINE_MEMBER(williams_snd_irq_b);
void init_blaster();
- void machine_start_blaster() ATTR_COLD;
- void machine_reset_blaster();
- void video_start_blaster() ATTR_COLD;
+ DECLARE_MACHINE_START(blaster);
+ DECLARE_MACHINE_RESET(blaster);
+ DECLARE_VIDEO_START(blaster);
uint32_t screen_update_blaster(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
inline void update_blaster_banking();
@@ -222,9 +222,9 @@ public:
void init_mysticm();
void init_tshoot();
void init_inferno();
- void machine_start_williams2() ATTR_COLD;
- void machine_reset_williams2();
- void video_start_williams2() ATTR_COLD;
+ DECLARE_MACHINE_START(williams2);
+ DECLARE_MACHINE_RESET(williams2);
+ DECLARE_VIDEO_START(williams2);
uint32_t screen_update_williams2(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void williams2(machine_config &config);
void mysticm(machine_config &config);
@@ -264,8 +264,8 @@ public:
uint16_t m_joust2_current_sound_data;
void init_joust2();
- void machine_start_joust2() ATTR_COLD;
- void machine_reset_joust2();
+ DECLARE_MACHINE_START(joust2);
+ DECLARE_MACHINE_RESET(joust2);
TIMER_CALLBACK_MEMBER(joust2_deferred_snd_cmd_w);
DECLARE_WRITE8_MEMBER(joust2_snd_cmd_w);
DECLARE_WRITE_LINE_MEMBER(joust2_pia_3_cb1_w);
diff --git a/src/mame/includes/x1.h b/src/mame/includes/x1.h
index d0dbc3437f3..7a1235b1446 100644
--- a/src/mame/includes/x1.h
+++ b/src/mame/includes/x1.h
@@ -132,11 +132,11 @@ public:
DECLARE_WRITE8_MEMBER(x1_portb_w);
DECLARE_WRITE8_MEMBER(x1_portc_w);
void init_x1_kanji();
- void machine_start_x1() ATTR_COLD;
- void machine_reset_x1();
- void video_start_x1() ATTR_COLD;
+ DECLARE_MACHINE_START(x1);
+ DECLARE_MACHINE_RESET(x1);
+ DECLARE_VIDEO_START(x1);
DECLARE_PALETTE_INIT(x1);
- void machine_reset_x1turbo();
+ DECLARE_MACHINE_RESET(x1turbo);
uint32_t screen_update_x1(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_INPUT_CHANGED_MEMBER(ipl_reset);
DECLARE_INPUT_CHANGED_MEMBER(nmi_reset);
diff --git a/src/mame/includes/x68k.h b/src/mame/includes/x68k.h
index cfea327023a..6339113c26b 100644
--- a/src/mame/includes/x68k.h
+++ b/src/mame/includes/x68k.h
@@ -272,7 +272,7 @@ public:
TILE_GET_INFO_MEMBER(x68k_get_bg1_tile);
TILE_GET_INFO_MEMBER(x68k_get_bg0_tile_16);
TILE_GET_INFO_MEMBER(x68k_get_bg1_tile_16);
- void video_start_x68000() ATTR_COLD;
+ DECLARE_VIDEO_START(x68000);
DECLARE_PALETTE_INIT(x68000);
uint32_t screen_update_x68000(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(x68k_led_callback);
diff --git a/src/mame/includes/xevious.h b/src/mame/includes/xevious.h
index 129320f8567..6bc6b9235dc 100644
--- a/src/mame/includes/xevious.h
+++ b/src/mame/includes/xevious.h
@@ -33,10 +33,10 @@ public:
void init_battles();
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
- void video_start_xevious() ATTR_COLD;
+ DECLARE_VIDEO_START(xevious);
DECLARE_PALETTE_INIT(xevious);
- void machine_reset_xevios();
- void machine_reset_battles();
+ DECLARE_MACHINE_RESET(xevios);
+ DECLARE_MACHINE_RESET(battles);
uint32_t screen_update_xevious(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(battles_interrupt_4);
TIMER_DEVICE_CALLBACK_MEMBER(battles_nmi_generate);
diff --git a/src/mame/includes/xmen.h b/src/mame/includes/xmen.h
index 4bf55c0b37b..ea8afb8f7a3 100644
--- a/src/mame/includes/xmen.h
+++ b/src/mame/includes/xmen.h
@@ -64,7 +64,7 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(xmen_frame_r);
virtual void machine_start() override;
virtual void machine_reset() override;
- void video_start_xmen6p() ATTR_COLD;
+ DECLARE_VIDEO_START(xmen6p);
uint32_t screen_update_xmen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_xmen6p_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_xmen6p_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/includes/yunsun16.h b/src/mame/includes/yunsun16.h
index 5ba727f3dd9..60f74432c84 100644
--- a/src/mame/includes/yunsun16.h
+++ b/src/mame/includes/yunsun16.h
@@ -55,8 +55,8 @@ public:
DECLARE_WRITE16_MEMBER(vram_0_w);
DECLARE_WRITE16_MEMBER(vram_1_w);
void init_magicbub();
- void machine_start_shocking() ATTR_COLD;
- void machine_reset_shocking();
+ DECLARE_MACHINE_START(shocking);
+ DECLARE_MACHINE_RESET(shocking);
TILEMAP_MAPPER_MEMBER(tilemap_scan_pages);
TILE_GET_INFO_MEMBER(get_tile_info_0);
TILE_GET_INFO_MEMBER(get_tile_info_1);
diff --git a/src/mame/includes/z80ne.h b/src/mame/includes/z80ne.h
index 0339c9e9d27..bddb77dc363 100644
--- a/src/mame/includes/z80ne.h
+++ b/src/mame/includes/z80ne.h
@@ -111,13 +111,13 @@ public:
void init_z80net();
void init_z80netb();
void init_z80ne();
- void machine_start_z80ne() ATTR_COLD;
- void machine_reset_z80ne();
- void machine_start_z80netb() ATTR_COLD;
- void machine_reset_z80netb();
- void machine_start_z80net() ATTR_COLD;
- void machine_reset_z80net();
- void machine_reset_z80ne_base();
+ DECLARE_MACHINE_START(z80ne);
+ DECLARE_MACHINE_RESET(z80ne);
+ DECLARE_MACHINE_START(z80netb);
+ DECLARE_MACHINE_RESET(z80netb);
+ DECLARE_MACHINE_START(z80net);
+ DECLARE_MACHINE_RESET(z80net);
+ DECLARE_MACHINE_RESET(z80ne_base);
DECLARE_INPUT_CHANGED_MEMBER(z80ne_reset);
DECLARE_INPUT_CHANGED_MEMBER(z80ne_nmi);
TIMER_CALLBACK_MEMBER(z80ne_cassette_tc);
@@ -186,8 +186,8 @@ private:
void z80netf_io(address_map &map);
void z80netf_mem(address_map &map);
- void machine_start_z80netf() ATTR_COLD;
- void machine_reset_z80netf();
+ DECLARE_MACHINE_START(z80netf);
+ DECLARE_MACHINE_RESET(z80netf);
DECLARE_WRITE8_MEMBER(lx390_motor_w);
DECLARE_READ8_MEMBER(lx390_reset_bank);
diff --git a/src/mame/includes/zaxxon.h b/src/mame/includes/zaxxon.h
index 9b89c587a47..e72bd6c2c1d 100644
--- a/src/mame/includes/zaxxon.h
+++ b/src/mame/includes/zaxxon.h
@@ -87,8 +87,8 @@ public:
virtual void machine_start() override;
virtual void video_start() override;
DECLARE_PALETTE_INIT(zaxxon);
- void video_start_razmataz() ATTR_COLD;
- void video_start_congo() ATTR_COLD;
+ DECLARE_VIDEO_START(razmataz);
+ DECLARE_VIDEO_START(congo);
uint32_t screen_update_zaxxon(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_futspy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_razmataz(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/machine/3do.cpp b/src/mame/machine/3do.cpp
index 15954e1ebe0..ea3a5a1fa96 100644
--- a/src/mame/machine/3do.cpp
+++ b/src/mame/machine/3do.cpp
@@ -1030,7 +1030,7 @@ WRITE32_MEMBER(_3do_state::_3do_clio_w)
/* 9 -> 5 bits translation */
-void _3do_state::video_start__3do()
+VIDEO_START_MEMBER(_3do_state,_3do)
{
/* We only keep the odd bits and get rid of the even bits */
// for ( int i = 0; i < 512; i++ )
diff --git a/src/mame/machine/aim65.cpp b/src/mame/machine/aim65.cpp
index 2bfb5204291..5f449393fb8 100644
--- a/src/mame/machine/aim65.cpp
+++ b/src/mame/machine/aim65.cpp
@@ -300,7 +300,7 @@ DRIVER_MEMBER(aim65_state, aim65_printer_on), // out CB2
/* From Machine Config
- set_video_start_cb(config, driver_callback_delegate(&video_start_aim65, this));
+ MCFG_VIDEO_START_OVERRIDE(aim65_state,aim65)
MCFG_VIDEO_UPDATE(aim65)
*/
@@ -371,12 +371,12 @@ WRITE8_MEMBER( aim65_state::aim65_pa_w )
}
}
-void aim65_state::video_start_aim65()
+VIDEO_START_MEMBER(aim65_state,aim65)
{
m_print_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(aim65_state::aim65_printer_timer),this));
m_printerRAM = std::make_unique<uint16_t[]>((600 * 10 * 2) / 2);
memset(m_printerRAM, 0, videoram_size);
- video_start_generic();
+ VIDEO_START_CALL_MEMBER(generic);
m_printer_x = 0;
m_printer_y = 0;
m_printer_dir = 0;
diff --git a/src/mame/machine/amstrad.cpp b/src/mame/machine/amstrad.cpp
index 5ed1e0e7324..0725ab3142e 100644
--- a/src/mame/machine/amstrad.cpp
+++ b/src/mame/machine/amstrad.cpp
@@ -1085,7 +1085,7 @@ WRITE_LINE_MEMBER(amstrad_state::amstrad_plus_de_changed)
}
-void amstrad_state::video_start_amstrad()
+VIDEO_START_MEMBER(amstrad_state,amstrad)
{
amstrad_init_lookups();
@@ -3116,14 +3116,14 @@ TIMER_CALLBACK_MEMBER(amstrad_state::cb_set_resolution)
}
-void amstrad_state::machine_start_amstrad()
+MACHINE_START_MEMBER(amstrad_state,amstrad)
{
m_system_type = SYSTEM_CPC;
m_centronics->write_data7(0);
}
-void amstrad_state::machine_reset_amstrad()
+MACHINE_RESET_MEMBER(amstrad_state,amstrad)
{
amstrad_common_init();
amstrad_reset_machine();
@@ -3138,7 +3138,7 @@ void amstrad_state::machine_reset_amstrad()
}
-void amstrad_state::machine_start_plus()
+MACHINE_START_MEMBER(amstrad_state,plus)
{
m_asic.ram = m_region_user1->base(); // 16kB RAM for ASIC, memory-mapped registers.
m_system_type = SYSTEM_PLUS;
@@ -3153,7 +3153,7 @@ void amstrad_state::machine_start_plus()
}
-void amstrad_state::machine_reset_plus()
+MACHINE_RESET_MEMBER(amstrad_state,plus)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
@@ -3185,7 +3185,7 @@ void amstrad_state::machine_reset_plus()
timer_set(attotime::zero, TIMER_SET_RESOLUTION);
}
-void amstrad_state::machine_start_gx4000()
+MACHINE_START_MEMBER(amstrad_state,gx4000)
{
m_asic.ram = m_region_user1->base(); // 16kB RAM for ASIC, memory-mapped registers.
m_system_type = SYSTEM_GX4000;
@@ -3196,7 +3196,7 @@ void amstrad_state::machine_start_gx4000()
m_region_cart = memregion("maincpu");
}
-void amstrad_state::machine_reset_gx4000()
+MACHINE_RESET_MEMBER(amstrad_state,gx4000)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
@@ -3227,7 +3227,7 @@ void amstrad_state::machine_reset_gx4000()
timer_set(attotime::zero, TIMER_SET_RESOLUTION);
}
-void amstrad_state::machine_start_kccomp()
+MACHINE_START_MEMBER(amstrad_state,kccomp)
{
m_system_type = SYSTEM_CPC;
m_centronics->write_data7(0);
@@ -3241,7 +3241,7 @@ void amstrad_state::machine_start_kccomp()
}
-void amstrad_state::machine_reset_kccomp()
+MACHINE_RESET_MEMBER(amstrad_state,kccomp)
{
amstrad_common_init();
kccomp_reset_machine();
@@ -3256,13 +3256,13 @@ void amstrad_state::machine_reset_kccomp()
}
-void amstrad_state::machine_start_aleste()
+MACHINE_START_MEMBER(amstrad_state,aleste)
{
m_system_type = SYSTEM_ALESTE;
m_centronics->write_data7(0);
}
-void amstrad_state::machine_reset_aleste()
+MACHINE_RESET_MEMBER(amstrad_state,aleste)
{
amstrad_common_init();
amstrad_reset_machine();
diff --git a/src/mame/machine/apollo.cpp b/src/mame/machine/apollo.cpp
index 5bc8c6975a4..5087cf81a0d 100644
--- a/src/mame/machine/apollo.cpp
+++ b/src/mame/machine/apollo.cpp
@@ -1190,7 +1190,7 @@ void apollo_state::init_apollo()
MLOG1(("driver_init_apollo"));
}
-void apollo_state::machine_start_apollo()
+MACHINE_START_MEMBER(apollo_state,apollo)
{
MLOG1(("machine_start_apollo"));
@@ -1205,7 +1205,7 @@ void apollo_state::machine_start_apollo()
m_cur_eop = false;
}
-void apollo_state::machine_reset_apollo()
+MACHINE_RESET_MEMBER(apollo_state,apollo)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
uint8_t year = apollo_rtc_r(space, 9);
diff --git a/src/mame/machine/apple2.cpp b/src/mame/machine/apple2.cpp
index b867c3c3fae..a555b69d9f4 100644
--- a/src/mame/machine/apple2.cpp
+++ b/src/mame/machine/apple2.cpp
@@ -2186,21 +2186,21 @@ void apple2_state::apple2eplus_init_common(void *apple2cp_ce00_ram)
apple2_setup_memory(&mem_cfg);
}
-void apple2_state::machine_start_apple2c()
+MACHINE_START_MEMBER(apple2_state,apple2c)
{
m_machinetype = APPLE_IIC;
apple2eplus_init_common((void *)nullptr);
}
-void apple2_state::machine_start_tk3000()
+MACHINE_START_MEMBER(apple2_state,tk3000)
{
m_machinetype = TK3000; // enhanced IIe clone with Z80 keyboard scanner subcpu
apple2eplus_init_common((void *)nullptr);
}
-void apple2_state::machine_start_apple2cp()
+MACHINE_START_MEMBER(apple2_state,apple2cp)
{
void *apple2cp_ce00_ram;
@@ -2215,7 +2215,7 @@ void apple2_state::machine_start_apple2cp()
apple2eplus_init_common(apple2cp_ce00_ram);
}
-void apple2_state::machine_start_apple2e()
+MACHINE_START_MEMBER(apple2_state,apple2e)
{
apple2_memmap_config mem_cfg;
@@ -2233,7 +2233,7 @@ void apple2_state::machine_start_apple2e()
apple2_setup_memory(&mem_cfg);
}
-void apple2_state::machine_start_laser128()
+MACHINE_START_MEMBER(apple2_state,laser128)
{
apple2_memmap_config mem_cfg;
@@ -2264,7 +2264,7 @@ void apple2_state::machine_start_laser128()
apple2_setup_memory(&mem_cfg);
}
-void apple2_state::machine_start_apple2orig()
+MACHINE_START_MEMBER(apple2_state,apple2orig)
{
apple2_memmap_config mem_cfg;
void *apple2cp_ce00_ram = nullptr;
@@ -2284,7 +2284,7 @@ void apple2_state::machine_start_apple2orig()
apple2_setup_memory(&mem_cfg);
}
-void apple2_state::machine_start_space84()
+MACHINE_START_MEMBER(apple2_state,space84)
{
apple2_memmap_config mem_cfg;
void *apple2cp_ce00_ram = nullptr;
@@ -2304,7 +2304,7 @@ void apple2_state::machine_start_space84()
apple2_setup_memory(&mem_cfg);
}
-void apple2_state::machine_start_laba2p()
+MACHINE_START_MEMBER(apple2_state,laba2p)
{
apple2_memmap_config mem_cfg;
void *apple2cp_ce00_ram = nullptr;
@@ -2324,7 +2324,7 @@ void apple2_state::machine_start_laba2p()
apple2_setup_memory(&mem_cfg);
}
-void apple2_state::machine_start_tk2000()
+MACHINE_START_MEMBER(apple2_state,tk2000)
{
apple2_memmap_config mem_cfg;
diff --git a/src/mame/machine/apple2gs.cpp b/src/mame/machine/apple2gs.cpp
index aa8dfdb3e79..0da3f10e41d 100644
--- a/src/mame/machine/apple2gs.cpp
+++ b/src/mame/machine/apple2gs.cpp
@@ -1916,7 +1916,7 @@ READ8_MEMBER(apple2gs_state::apple2gs_read_vector)
return m_maincpu->space(AS_PROGRAM).read_byte(offset | 0xFFFFE0);
}
-void apple2gs_state::machine_reset_apple2gs()
+MACHINE_RESET_MEMBER(apple2gs_state,apple2gs)
{
apple2gs_refresh_delegates();
@@ -1971,7 +1971,7 @@ void apple2gs_state::machine_reset_apple2gs()
m_last_adb_time = 0;
}
-void apple2gs_state::machine_start_apple2gscommon()
+MACHINE_START_MEMBER(apple2gs_state,apple2gscommon)
{
apple2gs_refresh_delegates();
@@ -2045,15 +2045,15 @@ void apple2gs_state::machine_start_apple2gscommon()
m_scanline_timer->adjust(m_screen->time_until_pos(0, 0));
}
-void apple2gs_state::machine_start_apple2gs()
+MACHINE_START_MEMBER(apple2gs_state,apple2gs)
{
- machine_start_apple2gscommon();
+ MACHINE_START_CALL_MEMBER(apple2gscommon);
apple2gs_setup_memory();
}
-void apple2gs_state::machine_start_apple2gsr1()
+MACHINE_START_MEMBER(apple2gs_state,apple2gsr1)
{
- machine_start_apple2gscommon();
+ MACHINE_START_CALL_MEMBER(apple2gscommon);
m_is_rom3 = false;
apple2gs_setup_memory();
diff --git a/src/mame/machine/apple3.cpp b/src/mame/machine/apple3.cpp
index 4be02df88f9..43c7bc75581 100644
--- a/src/mame/machine/apple3.cpp
+++ b/src/mame/machine/apple3.cpp
@@ -658,7 +658,7 @@ WRITE_LINE_MEMBER(apple3_state::apple3_via_0_irq_func)
apple3_irq_update();
}
-void apple3_state::machine_reset_apple3()
+MACHINE_RESET_MEMBER(apple3_state,apple3)
{
m_indir_bank = 0;
m_sync = false;
diff --git a/src/mame/machine/bbc.cpp b/src/mame/machine/bbc.cpp
index f53b87443d0..d05e88cb305 100644
--- a/src/mame/machine/bbc.cpp
+++ b/src/mame/machine/bbc.cpp
@@ -1575,14 +1575,14 @@ void bbc_state::bbcm_setup_banks(memory_bank *membank, int banks, uint32_t shift
}
}
-void bbc_state::machine_start_bbca()
+MACHINE_START_MEMBER(bbc_state, bbca)
{
m_machinetype = MODELA;
bbc_setup_banks(m_bank4, 4, 0, 0x4000);
}
-void bbc_state::machine_reset_bbca()
+MACHINE_RESET_MEMBER(bbc_state, bbca)
{
m_monitortype = m_bbcconfig.read_safe(0) & 0x03;
m_swramtype = (m_bbcconfig.read_safe(0) & 0x0c) >> 2;
@@ -1605,14 +1605,14 @@ void bbc_state::machine_reset_bbca()
bbcb_IC32_initialise(this);
}
-void bbc_state::machine_start_bbcb()
+MACHINE_START_MEMBER(bbc_state, bbcb)
{
m_machinetype = MODELB;
m_mc6850_clock = 0;
bbc_setup_banks(m_bank4, 16, 0, 0x4000);
}
-void bbc_state::machine_reset_bbcb()
+MACHINE_RESET_MEMBER(bbc_state, bbcb)
{
m_monitortype = m_bbcconfig.read_safe(0) & 0x03;
m_swramtype = (m_bbcconfig.read_safe(0) & 0x0c) >> 2;
@@ -1627,16 +1627,16 @@ void bbc_state::machine_reset_bbcb()
}
-void bbc_state::machine_reset_torch()
+MACHINE_RESET_MEMBER(bbc_state, torch)
{
- machine_reset_bbcb();
+ MACHINE_RESET_CALL_MEMBER(bbcb);
m_monitortype = monitor_type_t::COLOUR;
m_swramtype = 0;
}
-void bbc_state::machine_start_bbcbp()
+MACHINE_START_MEMBER(bbc_state, bbcbp)
{
m_machinetype = BPLUS;
m_mc6850_clock = 0;
@@ -1646,7 +1646,7 @@ void bbc_state::machine_start_bbcbp()
bbc_setup_banks(m_bank6, 16, 0x3000, 0x1000);
}
-void bbc_state::machine_reset_bbcbp()
+MACHINE_RESET_MEMBER(bbc_state, bbcbp)
{
m_monitortype = m_bbcconfig.read_safe(0) & 0x03;
m_swramtype = 0;
@@ -1661,7 +1661,7 @@ void bbc_state::machine_reset_bbcbp()
}
-void bbc_state::machine_start_bbcm()
+MACHINE_START_MEMBER(bbc_state, bbcm)
{
m_machinetype = MASTER;
m_mc6850_clock = 0;
@@ -1680,7 +1680,7 @@ void bbc_state::machine_start_bbcm()
output().set_value("power_led", 0);
}
-void bbc_state::machine_reset_bbcm()
+MACHINE_RESET_MEMBER(bbc_state, bbcm)
{
m_monitortype = m_bbcconfig.read_safe(0) & 0x03;
m_swramtype = 0;
@@ -1695,39 +1695,39 @@ void bbc_state::machine_reset_bbcm()
}
-void bbc_state::machine_start_bbcmc()
+MACHINE_START_MEMBER(bbc_state, bbcmc)
{
- machine_start_bbcm();
+ MACHINE_START_CALL_MEMBER(bbcm);
m_machinetype = COMPACT;
}
-void bbc_state::machine_reset_bbcmc()
+MACHINE_RESET_MEMBER(bbc_state, bbcmc)
{
- machine_reset_bbcm();
+ MACHINE_RESET_CALL_MEMBER(bbcm);
}
-void bbc_state::machine_reset_ltmpbp()
+MACHINE_RESET_MEMBER(bbc_state, ltmpbp)
{
- machine_reset_bbcbp();
+ MACHINE_RESET_CALL_MEMBER(bbcbp);
m_monitortype = monitor_type_t::GREEN;
m_swramtype = 0;
}
-void bbc_state::machine_reset_ltmpm()
+MACHINE_RESET_MEMBER(bbc_state, ltmpm)
{
- machine_reset_bbcm();
+ MACHINE_RESET_CALL_MEMBER(bbcm);
m_monitortype = monitor_type_t::GREEN;
m_swramtype = 0;
}
-void bbc_state::machine_start_cfa3000()
+MACHINE_START_MEMBER(bbc_state, cfa3000)
{
- machine_start_bbcm();
+ MACHINE_START_CALL_MEMBER(bbcm);
m_lk18_ic41_paged_rom = true; /* Link set for ROM in slots 6 and 7 */
m_lk19_ic37_paged_rom = true; /* Link set for ROM in slots 4 and 5 */
diff --git a/src/mame/machine/dc.cpp b/src/mame/machine/dc.cpp
index 9d7491d95ee..0108b7f6187 100644
--- a/src/mame/machine/dc.cpp
+++ b/src/mame/machine/dc.cpp
@@ -747,7 +747,7 @@ WRITE_LINE_MEMBER(dc_state::sh4_aica_irq)
dc_update_interrupt_status();
}
-void dc_state::machine_reset_dc_console()
+MACHINE_RESET_MEMBER(dc_state,dc_console)
{
dc_state::machine_reset();
m_maincpu->sh2drc_set_options(SH2DRC_STRICT_VERIFY | SH2DRC_STRICT_PCREL);
diff --git a/src/mame/machine/decocass.cpp b/src/mame/machine/decocass.cpp
index 9cf85d2f9de..140e928e2bd 100644
--- a/src/mame/machine/decocass.cpp
+++ b/src/mame/machine/decocass.cpp
@@ -429,7 +429,7 @@ static uint8_t type1_latch_16_pass_3_inv_1_table[8] = { T1PROM,T1LATCHINV,T1PROM
static uint8_t type1_map1100[8] = { T1PROM,T1PROM,T1LATCHINV,T1PROM,T1DIRECT,T1PROM,T1LATCH,T1PROM };
-void decocass_type1_state::machine_reset_cocean1a() /* 10 */
+MACHINE_RESET_MEMBER(decocass_type1_state,cocean1a) /* 10 */
{
machine_reset();
LOG(0,("dongle type #1 (DP-1100 map)\n"));
@@ -460,7 +460,7 @@ void decocass_type1_state::machine_reset_cocean1a() /* 10 */
static uint8_t type1_map1120[8] = { T1PROM,T1PROM,T1LATCHINV,T1DIRECT,T1PROM,T1LATCH,T1PROM,T1PROM };
-void decocass_type1_state::machine_reset_cfboy0a1() /* 12 */
+MACHINE_RESET_MEMBER(decocass_type1_state,cfboy0a1) /* 12 */
{
machine_reset();
LOG(0,("dongle type #1 (DP-1120 map)\n"));
@@ -489,7 +489,7 @@ TYPE 1
static uint8_t type1_map_clocknchj[8] = { T1PROM,T1PROM,T1DIRECT,T1LATCHINV,T1PROM,T1PROM,T1LATCH,T1PROM };
-void decocass_type1_state::machine_reset_clocknchj() /* 11 */
+MACHINE_RESET_MEMBER(decocass_type1_state,clocknchj) /* 11 */
{
machine_reset();
LOG(0,("dongle type #1 (type1_map_clocknchj map)\n"));
@@ -1379,28 +1379,28 @@ void decocass_nodong_state::machine_reset()
m_dongle_r = read8_delegate(FUNC(decocass_nodong_state::decocass_nodong_r), this);
}
-void decocass_type1_state::machine_reset_ctsttape()
+MACHINE_RESET_MEMBER(decocass_type1_state,ctsttape)
{
machine_reset();
LOG(0,("dongle type #1 (DE-0061)\n"));
m_type1_map = type1_pass_136_table;
}
-void decocass_type1_state::machine_reset_chwy()
+MACHINE_RESET_MEMBER(decocass_type1_state,chwy)
{
machine_reset();
LOG(0,("dongle type #1 (DE-0061 own PROM)\n"));
m_type1_map = type1_latch_27_pass_3_inv_2_table;
}
-void decocass_type1_state::machine_reset_cdsteljn()
+MACHINE_RESET_MEMBER(decocass_type1_state,cdsteljn)
{
machine_reset();
LOG(0,("dongle type #1 (A-0061)\n"));
m_type1_map = type1_latch_27_pass_3_inv_2_table;
}
-void decocass_type1_state::machine_reset_cterrani()
+MACHINE_RESET_MEMBER(decocass_type1_state,cterrani)
{
machine_reset();
LOG(0,("dongle type #1 (DE-0061 straight)\n"));
@@ -1409,14 +1409,14 @@ void decocass_type1_state::machine_reset_cterrani()
m_type1_outmap = MAKE_MAP(0,1,2,3,4,5,6,7);
}
-void decocass_type1_state::machine_reset_castfant()
+MACHINE_RESET_MEMBER(decocass_type1_state,castfant)
{
machine_reset();
LOG(0,("dongle type #1 (DE-0061)\n"));
m_type1_map = type1_latch_16_pass_3_inv_1_table;
}
-void decocass_type1_state::machine_reset_csuperas()
+MACHINE_RESET_MEMBER(decocass_type1_state,csuperas)
{
machine_reset();
LOG(0,("dongle type #1 (DE-0061 flip 4-5)\n"));
@@ -1425,14 +1425,14 @@ void decocass_type1_state::machine_reset_csuperas()
m_type1_outmap = MAKE_MAP(0,1,2,3,5,4,6,7);
}
-void decocass_type1_state::machine_reset_cmanhat()
+MACHINE_RESET_MEMBER(decocass_type1_state,cmanhat)
{
machine_reset();
LOG(0,("dongle type #1 (DE-0061)\n"));
m_type1_map = type1_latch_xab_pass_x54_table;
}
-void decocass_type1_state::machine_reset_clocknch()
+MACHINE_RESET_MEMBER(decocass_type1_state,clocknch)
{
machine_reset();
LOG(0,("dongle type #1 (DE-0061 flip 2-3)\n"));
@@ -1441,7 +1441,7 @@ void decocass_type1_state::machine_reset_clocknch()
m_type1_outmap = MAKE_MAP(0,1,3,2,4,5,6,7);
}
-void decocass_type1_state::machine_reset_cprogolf()
+MACHINE_RESET_MEMBER(decocass_type1_state,cprogolf)
{
machine_reset();
LOG(0,("dongle type #1 (DE-0061 flip 0-1)\n"));
@@ -1450,7 +1450,7 @@ void decocass_type1_state::machine_reset_cprogolf()
m_type1_outmap = MAKE_MAP(1,0,2,3,4,5,6,7);
}
-void decocass_type1_state::machine_reset_cprogolfj()
+MACHINE_RESET_MEMBER(decocass_type1_state,cprogolfj)
{
machine_reset();
LOG(0,("dongle type #1 (A-0061 flip 0-1)\n"));
@@ -1459,7 +1459,7 @@ void decocass_type1_state::machine_reset_cprogolfj()
m_type1_outmap = MAKE_MAP(1,0,2,3,4,5,6,7);
}
-void decocass_type1_state::machine_reset_cluckypo()
+MACHINE_RESET_MEMBER(decocass_type1_state,cluckypo)
{
machine_reset();
LOG(0,("dongle type #1 (DE-0061 flip 1-3)\n"));
@@ -1468,7 +1468,7 @@ void decocass_type1_state::machine_reset_cluckypo()
m_type1_outmap = MAKE_MAP(0,3,2,1,4,5,6,7);
}
-void decocass_type1_state::machine_reset_ctisland()
+MACHINE_RESET_MEMBER(decocass_type1_state,ctisland)
{
machine_reset();
LOG(0,("dongle type #1 (DE-0061 flip 0-2)\n"));
@@ -1477,7 +1477,7 @@ void decocass_type1_state::machine_reset_ctisland()
m_type1_outmap = MAKE_MAP(2,1,0,3,4,5,6,7);
}
-void decocass_type1_state::machine_reset_ctisland3()
+MACHINE_RESET_MEMBER(decocass_type1_state,ctisland3)
{
machine_reset();
LOG(0,("dongle type #1 (DE-0061 custom)\n"));
@@ -1486,14 +1486,14 @@ void decocass_type1_state::machine_reset_ctisland3()
m_type1_outmap = MAKE_MAP(0,1,2,3,4,5,6,7); // ^
}
-void decocass_type1_state::machine_reset_cexplore()
+MACHINE_RESET_MEMBER(decocass_type1_state,cexplore)
{
machine_reset();
LOG(0,("dongle type #1 (DE-0061 own PROM)\n"));
m_type1_map = type1_latch_26_pass_5_inv_2_table;
}
-void decocass_type3_state::machine_reset_cfishing()
+MACHINE_RESET_MEMBER(decocass_type3_state,cfishing)
{
machine_reset();
LOG(0,("dongle type #3 (PAL)\n"));
@@ -1501,7 +1501,7 @@ void decocass_type3_state::machine_reset_cfishing()
}
-void decocass_type3_state::machine_reset_cbtime()
+MACHINE_RESET_MEMBER(decocass_type3_state,cbtime)
{
machine_reset();
LOG(0,("dongle type #3 (PAL)\n"));
@@ -1509,70 +1509,70 @@ void decocass_type3_state::machine_reset_cbtime()
}
-void decocass_type3_state::machine_reset_cburnrub()
+MACHINE_RESET_MEMBER(decocass_type3_state,cburnrub)
{
machine_reset();
LOG(0,("dongle type #3 (PAL)\n"));
m_type3_swap = TYPE3_SWAP_67;
}
-void decocass_type3_state::machine_reset_cgraplop()
+MACHINE_RESET_MEMBER(decocass_type3_state,cgraplop)
{
machine_reset();
LOG(0,("dongle type #3 (PAL)\n"));
m_type3_swap = TYPE3_SWAP_56;
}
-void decocass_type3_state::machine_reset_cgraplop2()
+MACHINE_RESET_MEMBER(decocass_type3_state,cgraplop2)
{
machine_reset();
LOG(0,("dongle type #3 (PAL)\n"));
m_type3_swap = TYPE3_SWAP_67;
}
-void decocass_type3_state::machine_reset_clapapa()
+MACHINE_RESET_MEMBER(decocass_type3_state,clapapa)
{
machine_reset();
LOG(0,("dongle type #3 (PAL)\n"));
m_type3_swap = TYPE3_SWAP_34_7;
}
-void decocass_type3_state::machine_reset_cskater()
+MACHINE_RESET_MEMBER(decocass_type3_state,cskater)
{
machine_reset();
LOG(0,("dongle type #3 (PAL)\n"));
m_type3_swap = TYPE3_SWAP_45;
}
-void decocass_type3_state::machine_reset_cprobowl()
+MACHINE_RESET_MEMBER(decocass_type3_state,cprobowl)
{
machine_reset();
LOG(0,("dongle type #3 (PAL)\n"));
m_type3_swap = TYPE3_SWAP_34_0;
}
-void decocass_type3_state::machine_reset_cnightst()
+MACHINE_RESET_MEMBER(decocass_type3_state,cnightst)
{
machine_reset();
LOG(0,("dongle type #3 (PAL)\n"));
m_type3_swap = TYPE3_SWAP_13;
}
-void decocass_type3_state::machine_reset_cpsoccer()
+MACHINE_RESET_MEMBER(decocass_type3_state,cpsoccer)
{
machine_reset();
LOG(0,("dongle type #3 (PAL)\n"));
m_type3_swap = TYPE3_SWAP_24;
}
-void decocass_type3_state::machine_reset_csdtenis()
+MACHINE_RESET_MEMBER(decocass_type3_state,csdtenis)
{
machine_reset();
LOG(0,("dongle type #3 (PAL)\n"));
m_type3_swap = TYPE3_SWAP_23_56;
}
-void decocass_type3_state::machine_reset_czeroize()
+MACHINE_RESET_MEMBER(decocass_type3_state,czeroize)
{
uint8_t *mem = memregion("dongle")->base();
machine_reset();
@@ -1593,14 +1593,14 @@ void decocass_type3_state::machine_reset_czeroize()
mem[0x08a1] = 0xf7;
}
-void decocass_type3_state::machine_reset_cppicf()
+MACHINE_RESET_MEMBER(decocass_type3_state,cppicf)
{
machine_reset();
LOG(0,("dongle type #3 (PAL)\n"));
m_type3_swap = TYPE3_SWAP_01;
}
-void decocass_type3_state::machine_reset_cfghtice()
+MACHINE_RESET_MEMBER(decocass_type3_state,cfghtice)
{
machine_reset();
LOG(0,("dongle type #3 (PAL)\n"));
diff --git a/src/mame/machine/epos.cpp b/src/mame/machine/epos.cpp
index a18b026b879..da7f5f12326 100644
--- a/src/mame/machine/epos.cpp
+++ b/src/mame/machine/epos.cpp
@@ -99,7 +99,7 @@ each IN($xx) command, as opposed to dynamically decrypting every byte.
*/
-void pacman_state::machine_start_theglobp()
+MACHINE_START_MEMBER(pacman_state, theglobp)
{
/* Note: D2 is inverted and connected to D1, D5 is inverted and
connected to D0. The other six data bits are converted by a
@@ -127,7 +127,7 @@ void pacman_state::machine_start_theglobp()
save_item(NAME(m_counter));
}
-void pacman_state::machine_reset_theglobp()
+MACHINE_RESET_MEMBER(pacman_state, theglobp)
{
m_counter = 0x0A;
membank("bank1")->set_entry(m_counter & 3);
@@ -145,7 +145,7 @@ David Widel d_widel@hotmail.com
*/
-void pacman_state::machine_start_acitya()
+MACHINE_START_MEMBER(pacman_state, acitya)
{
/* Note: D2 is inverted and connected to D1, D5 is inverted and
connected to D0. The other six data bits are converted by a
@@ -173,14 +173,14 @@ void pacman_state::machine_start_acitya()
save_item(NAME(m_counter));
}
-void pacman_state::machine_reset_acitya()
+MACHINE_RESET_MEMBER(pacman_state, acitya)
{
m_counter = 0x0B;
membank("bank1")->set_entry(m_counter & 3);
}
-void pacman_state::machine_start_eeekk()
+MACHINE_START_MEMBER(pacman_state, eeekk)
{
/* Note: D2 is inverted and connected to D1, D5 is inverted and
connected to D0. The other six data bits are converted by a
@@ -208,7 +208,7 @@ void pacman_state::machine_start_eeekk()
save_item(NAME(m_counter));
}
-void pacman_state::machine_reset_eeekk()
+MACHINE_RESET_MEMBER(pacman_state, eeekk)
{
m_counter = 0x09;
membank("bank1")->set_entry(m_counter & 3);
diff --git a/src/mame/machine/galaxold.cpp b/src/mame/machine/galaxold.cpp
index 5d512a62fb1..a63108c52ec 100644
--- a/src/mame/machine/galaxold.cpp
+++ b/src/mame/machine/galaxold.cpp
@@ -70,17 +70,17 @@ void galaxold_state::machine_reset_common(int line)
int_timer->adjust(m_screen->time_until_pos(0));
}
-void galaxold_state::machine_reset_galaxold()
+MACHINE_RESET_MEMBER(galaxold_state,galaxold)
{
machine_reset_common(INPUT_LINE_NMI);
}
-void galaxold_state::machine_reset_devilfsg()
+MACHINE_RESET_MEMBER(galaxold_state,devilfsg)
{
machine_reset_common(0);
}
-void galaxold_state::machine_reset_hunchbkg()
+MACHINE_RESET_MEMBER(galaxold_state,hunchbkg)
{
machine_reset_common(0);
}
diff --git a/src/mame/machine/galaxy.cpp b/src/mame/machine/galaxy.cpp
index d157019dc19..e5c01dc1f44 100644
--- a/src/mame/machine/galaxy.cpp
+++ b/src/mame/machine/galaxy.cpp
@@ -171,7 +171,7 @@ void galaxy_state::init_galaxy()
Machine Initialization
***************************************************************************/
-void galaxy_state::machine_reset_galaxy()
+MACHINE_RESET_MEMBER(galaxy_state,galaxy)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
@@ -194,7 +194,7 @@ void galaxy_state::init_galaxyp()
init_galaxy();
}
-void galaxy_state::machine_reset_galaxyp()
+MACHINE_RESET_MEMBER(galaxy_state,galaxyp)
{
uint8_t *ROM = memregion("maincpu")->base();
address_space &space = m_maincpu->space(AS_PROGRAM);
diff --git a/src/mame/machine/gb.cpp b/src/mame/machine/gb.cpp
index 2eccae21663..5c4ff891b7a 100644
--- a/src/mame/machine/gb.cpp
+++ b/src/mame/machine/gb.cpp
@@ -174,7 +174,7 @@ void gb_state::machine_start()
save_gb_base();
}
-void gb_state::machine_start_gbc()
+MACHINE_START_MEMBER(gb_state,gbc)
{
for (int i = 0; i < 8; i++)
m_gbc_rammap[i] = m_ram->pointer() + CGB_START_RAM_BANKS + i * 0x1000;
@@ -184,7 +184,7 @@ void gb_state::machine_start_gbc()
}
-void gb_state::machine_start_sgb()
+MACHINE_START_MEMBER(gb_state,sgb)
{
m_sgb_packets = -1;
@@ -200,7 +200,7 @@ void gb_state::machine_reset()
m_bios_disable = false;
}
-void gb_state::machine_reset_gbc()
+MACHINE_RESET_MEMBER(gb_state,gbc)
{
gb_init();
@@ -213,7 +213,7 @@ void gb_state::machine_reset_gbc()
memset(elem, 0, 0x1000);
}
-void gb_state::machine_reset_sgb()
+MACHINE_RESET_MEMBER(gb_state,sgb)
{
gb_init();
@@ -663,12 +663,12 @@ READ8_MEMBER(gb_state::gbc_io2_r)
****************************************************************************/
-void megaduck_state::machine_start_megaduck()
+MACHINE_START_MEMBER(megaduck_state,megaduck)
{
save_gb_base();
}
-void megaduck_state::machine_reset_megaduck()
+MACHINE_RESET_MEMBER(megaduck_state,megaduck)
{
/* We may have to add some more stuff here, if not then it can be merged back into gb */
gb_init();
diff --git a/src/mame/machine/hp48.cpp b/src/mame/machine/hp48.cpp
index a0bc2843ea4..5b9c986a5de 100644
--- a/src/mame/machine/hp48.cpp
+++ b/src/mame/machine/hp48.cpp
@@ -1031,32 +1031,32 @@ void hp48_state::base_machine_start(hp48_models model)
}
-void hp48_state::machine_start_hp48s()
+MACHINE_START_MEMBER(hp48_state,hp48s)
{
base_machine_start(HP48_S);
}
-void hp48_state::machine_start_hp48sx()
+MACHINE_START_MEMBER(hp48_state,hp48sx)
{
base_machine_start(HP48_SX);
}
-void hp48_state::machine_start_hp48g()
+MACHINE_START_MEMBER(hp48_state,hp48g)
{
base_machine_start(HP48_G);
}
-void hp48_state::machine_start_hp48gx()
+MACHINE_START_MEMBER(hp48_state,hp48gx)
{
base_machine_start(HP48_GX);
}
-void hp48_state::machine_start_hp48gp()
+MACHINE_START_MEMBER(hp48_state,hp48gp)
{
base_machine_start(HP48_GP);
}
-void hp48_state::machine_start_hp49g()
+MACHINE_START_MEMBER(hp48_state,hp49g)
{
base_machine_start(HP49_G);
}
diff --git a/src/mame/machine/itech8.cpp b/src/mame/machine/itech8.cpp
index b107aa64e51..2e8b930b94d 100644
--- a/src/mame/machine/itech8.cpp
+++ b/src/mame/machine/itech8.cpp
@@ -514,7 +514,7 @@ WRITE8_MEMBER(itech8_state::slikshot_z80_control_w )
-void itech8_state::video_start_slikshot()
+VIDEO_START_MEMBER(itech8_state,slikshot)
{
itech8_state::video_start();
diff --git a/src/mame/machine/kaypro.cpp b/src/mame/machine/kaypro.cpp
index fd9f92ce11b..cd93253abc8 100644
--- a/src/mame/machine/kaypro.cpp
+++ b/src/mame/machine/kaypro.cpp
@@ -221,13 +221,12 @@ WRITE_LINE_MEMBER( kaypro_state::fdc_drq_w )
Machine
************************************************************/
-
-void kaypro_state::machine_start_kayproii()
+MACHINE_START_MEMBER( kaypro_state,kayproii )
{
m_pio_s->strobe_a(0);
}
-void kaypro_state::machine_reset_kaypro()
+MACHINE_RESET_MEMBER( kaypro_state,kaypro )
{
membank("bankr0")->set_entry(1); // point at rom
membank("bankw0")->set_entry(0); // always write to ram
diff --git a/src/mame/machine/leland.cpp b/src/mame/machine/leland.cpp
index 628bc3883eb..05a33177fa0 100644
--- a/src/mame/machine/leland.cpp
+++ b/src/mame/machine/leland.cpp
@@ -315,7 +315,7 @@ WRITE8_MEMBER(leland_state::indyheat_analog_w)
*
*************************************/
-void leland_state::machine_start_leland()
+MACHINE_START_MEMBER(leland_state,leland)
{
/* allocate extra stuff */
m_battery_ram = reinterpret_cast<uint8_t *>(memshare("battery")->ptr());
@@ -340,7 +340,7 @@ void leland_state::machine_start_leland()
}
-void leland_state::machine_reset_leland()
+MACHINE_RESET_MEMBER(leland_state,leland)
{
m_master_int_timer->adjust(m_screen->time_until_pos(8), 8);
@@ -379,7 +379,7 @@ void leland_state::machine_reset_leland()
}
-void leland_state::machine_start_ataxx()
+MACHINE_START_MEMBER(leland_state,ataxx)
{
/* set the odd data banks */
m_battery_ram = reinterpret_cast<uint8_t *>(memshare("battery")->ptr());
@@ -399,7 +399,7 @@ void leland_state::machine_start_ataxx()
}
-void leland_state::machine_reset_ataxx()
+MACHINE_RESET_MEMBER(leland_state,ataxx)
{
memset(m_extra_tram.get(), 0, ATAXX_EXTRA_TRAM_SIZE);
m_master_int_timer->adjust(m_screen->time_until_pos(8), 8);
diff --git a/src/mame/machine/llc.cpp b/src/mame/machine/llc.cpp
index 241c4eab4ce..437ef3e52b2 100644
--- a/src/mame/machine/llc.cpp
+++ b/src/mame/machine/llc.cpp
@@ -98,13 +98,13 @@ void llc_state::init_llc1()
{
}
-void llc_state::machine_reset_llc1()
+MACHINE_RESET_MEMBER(llc_state,llc1)
{
m_term_status = 0;
m_llc1_key = 0;
}
-void llc_state::machine_start_llc1()
+MACHINE_START_MEMBER(llc_state,llc1)
{
m_digits.resolve();
}
@@ -115,7 +115,7 @@ void llc_state::init_llc2()
m_p_videoram.set_target( m_ram->pointer() + 0xc000,m_p_videoram.bytes());
}
-void llc_state::machine_reset_llc2()
+MACHINE_RESET_MEMBER(llc_state,llc2)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
diff --git a/src/mame/machine/mbee.cpp b/src/mame/machine/mbee.cpp
index c71d7089908..fe8efb5d15d 100644
--- a/src/mame/machine/mbee.cpp
+++ b/src/mame/machine/mbee.cpp
@@ -453,26 +453,26 @@ void mbee_state::machine_reset_common()
m_telcom->set_entry(0);
}
-void mbee_state::machine_reset_mbee()
+MACHINE_RESET_MEMBER( mbee_state, mbee )
{
machine_reset_common();
m_maincpu->set_pc(0x8000);
}
-void mbee_state::machine_reset_mbee56()
+MACHINE_RESET_MEMBER( mbee_state, mbee56 )
{
machine_reset_common();
m_maincpu->set_pc(0xE000);
}
-void mbee_state::machine_reset_mbee128()
+MACHINE_RESET_MEMBER( mbee_state, mbee128 )
{
machine_reset_common();
setup_banks(0, 1, 3); // set banks to default
m_maincpu->set_pc(0x8000);
}
-void mbee_state::machine_reset_mbee256()
+MACHINE_RESET_MEMBER( mbee_state, mbee256 )
{
m_mbee256_q_pos = 0;
machine_reset_common();
@@ -480,7 +480,7 @@ void mbee_state::machine_reset_mbee256()
m_maincpu->set_pc(0x8000);
}
-void mbee_state::machine_reset_mbeett()
+MACHINE_RESET_MEMBER( mbee_state, mbeett )
{
m_mbee256_q_pos = 0;
machine_reset_common();
diff --git a/src/mame/machine/mcr68.cpp b/src/mame/machine/mcr68.cpp
index 8ce04ef3c86..ae00aa8ab90 100644
--- a/src/mame/machine/mcr68.cpp
+++ b/src/mame/machine/mcr68.cpp
@@ -20,12 +20,12 @@
*
*************************************/
-void mcr68_state::machine_start_mcr68()
+MACHINE_START_MEMBER(mcr68_state,mcr68)
{
}
-void mcr68_state::machine_reset_mcr68()
+MACHINE_RESET_MEMBER(mcr68_state,mcr68)
{
/* for the most part all MCR/68k games are the same */
m_v493_callback = timer_expired_delegate(FUNC(mcr68_state::mcr68_493_callback),this);
diff --git a/src/mame/machine/megadriv.cpp b/src/mame/machine/megadriv.cpp
index 3b3cc73c3b1..9ce52ce86e0 100644
--- a/src/mame/machine/megadriv.cpp
+++ b/src/mame/machine/megadriv.cpp
@@ -773,11 +773,11 @@ uint32_t md_base_state::screen_update_megadriv(screen_device &screen, bitmap_rgb
/*****************************************************************************************/
-void md_base_state::video_start_megadriv()
+VIDEO_START_MEMBER(md_base_state,megadriv)
{
}
-void md_base_state::machine_start_megadriv()
+MACHINE_START_MEMBER(md_base_state,megadriv)
{
m_io_pad_3b[0] = ioport("PAD1");
m_io_pad_3b[1] = ioport("PAD2");
@@ -790,7 +790,7 @@ void md_base_state::machine_start_megadriv()
save_item(NAME(m_megadrive_io_tx_regs));
}
-void md_base_state::machine_reset_megadriv()
+MACHINE_RESET_MEMBER(md_base_state,megadriv)
{
/* default state of z80 = reset, with bus */
osd_printf_debug("Resetting Megadrive / Genesis\n");
@@ -894,8 +894,8 @@ MACHINE_CONFIG_START(md_base_state::md_ntsc)
MCFG_DEVICE_IO_MAP(megadriv_z80_io_map)
/* IRQ handled via the timers */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_megadriv, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_megadriv, this));
+ MCFG_MACHINE_START_OVERRIDE(md_base_state,megadriv)
+ MCFG_MACHINE_RESET_OVERRIDE(md_base_state,megadriv)
megadriv_timers(config);
@@ -914,7 +914,7 @@ MACHINE_CONFIG_START(md_base_state::md_ntsc)
MCFG_SCREEN_UPDATE_DRIVER(md_base_state, screen_update_megadriv) /* Copies a bitmap */
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, md_base_state, screen_vblank_megadriv)) /* Used to Sync the timing */
- set_video_start_cb(config, driver_callback_delegate(&video_start_megadriv, this));
+ MCFG_VIDEO_START_OVERRIDE(md_base_state, megadriv)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
@@ -951,8 +951,8 @@ MACHINE_CONFIG_START(md_base_state::md_pal)
MCFG_DEVICE_IO_MAP(megadriv_z80_io_map)
/* IRQ handled via the timers */
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_megadriv, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_megadriv, this));
+ MCFG_MACHINE_START_OVERRIDE(md_base_state,megadriv)
+ MCFG_MACHINE_RESET_OVERRIDE(md_base_state,megadriv)
megadriv_timers(config);
@@ -971,7 +971,7 @@ MACHINE_CONFIG_START(md_base_state::md_pal)
MCFG_SCREEN_UPDATE_DRIVER(md_base_state, screen_update_megadriv) /* Copies a bitmap */
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, md_base_state, screen_vblank_megadriv)) /* Used to Sync the timing */
- set_video_start_cb(config, driver_callback_delegate(&video_start_megadriv, this));
+ MCFG_VIDEO_START_OVERRIDE(md_base_state, megadriv)
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
diff --git a/src/mame/machine/midtunit.cpp b/src/mame/machine/midtunit.cpp
index 7cc346dd69d..23cfb4130d2 100644
--- a/src/mame/machine/midtunit.cpp
+++ b/src/mame/machine/midtunit.cpp
@@ -483,7 +483,7 @@ void midtunit_state::init_mk2()
*
*************************************/
-void midtunit_state::machine_reset_midtunit()
+MACHINE_RESET_MEMBER(midtunit_state,midtunit)
{
/* reset sound */
switch (m_chip_type)
diff --git a/src/mame/machine/midwunit.cpp b/src/mame/machine/midwunit.cpp
index 62db55384fd..0104178554e 100644
--- a/src/mame/machine/midwunit.cpp
+++ b/src/mame/machine/midwunit.cpp
@@ -338,7 +338,7 @@ void midwunit_state::init_rmpgwt()
*
*************************************/
-void midwunit_state::machine_reset_midwunit()
+MACHINE_RESET_MEMBER(midwunit_state,midwunit)
{
int i;
diff --git a/src/mame/machine/midxunit.cpp b/src/mame/machine/midxunit.cpp
index 6658a30dc7b..57299d2162a 100644
--- a/src/mame/machine/midxunit.cpp
+++ b/src/mame/machine/midxunit.cpp
@@ -265,7 +265,7 @@ void midxunit_state::init_revx()
*
*************************************/
-void midxunit_state::machine_reset_midxunit()
+MACHINE_RESET_MEMBER(midxunit_state,midxunit)
{
int i;
diff --git a/src/mame/machine/midyunit.cpp b/src/mame/machine/midyunit.cpp
index 1af70871aa3..5391a883fad 100644
--- a/src/mame/machine/midyunit.cpp
+++ b/src/mame/machine/midyunit.cpp
@@ -530,7 +530,7 @@ void midyunit_state::init_totcarn()
*
*************************************/
-void midyunit_state::machine_reset_midyunit()
+MACHINE_RESET_MEMBER(midyunit_state,midyunit)
{
/* reset sound */
switch (m_chip_type)
diff --git a/src/mame/machine/model1.cpp b/src/mame/machine/model1.cpp
index ba82f93195e..fc8af68c93e 100644
--- a/src/mame/machine/model1.cpp
+++ b/src/mame/machine/model1.cpp
@@ -1723,7 +1723,7 @@ void model1_state::copro_hle_swa()
}
}
-void model1_state::machine_start_model1()
+MACHINE_START_MEMBER(model1_state,model1)
{
m_digits.resolve();
m_copro_ram_data = std::make_unique<u32[]>(0x8000);
diff --git a/src/mame/machine/mpu4.cpp b/src/mame/machine/mpu4.cpp
index c3f0b9bfe15..16525fc4a3d 100644
--- a/src/mame/machine/mpu4.cpp
+++ b/src/mame/machine/mpu4.cpp
@@ -442,7 +442,7 @@ void mpu4_state::update_meters()
}
/* called if board is reset */
-void mpu4_state::machine_reset_mpu4()
+MACHINE_RESET_MEMBER(mpu4_state,mpu4)
{
m_vfd->reset();
@@ -2163,7 +2163,7 @@ void mpu4_state::mpu4_config_common()
m_lamp_strobe_ext_persistence = 0;
}
-void mpu4_state::machine_start_mod2()
+MACHINE_START_MEMBER(mpu4_state,mod2)
{
mpu4_config_common();
@@ -2171,7 +2171,7 @@ void mpu4_state::machine_start_mod2()
m_mod_number=2;
}
-void mpu4_state::machine_start_mpu4yam()
+MACHINE_START_MEMBER(mpu4_state,mpu4yam)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
mpu4_config_common();
@@ -2181,7 +2181,7 @@ void mpu4_state::machine_start_mpu4yam()
mpu4_install_mod4yam_space(space);
}
-void mpu4_state::machine_start_mpu4oki()
+MACHINE_START_MEMBER(mpu4_state,mpu4oki)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
mpu4_config_common();
@@ -2191,7 +2191,7 @@ void mpu4_state::machine_start_mpu4oki()
mpu4_install_mod4oki_space(space);
}
-void mpu4_state::machine_start_mpu4bwb()
+MACHINE_START_MEMBER(mpu4_state,mpu4bwb)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
mpu4_config_common();
@@ -2201,7 +2201,7 @@ void mpu4_state::machine_start_mpu4bwb()
mpu4_install_mod4bwb_space(space);
}
-void mpu4_state::machine_start_mpu4cry()
+MACHINE_START_MEMBER(mpu4_state,mpu4cry)
{
mpu4_config_common();
@@ -3089,8 +3089,8 @@ MACHINE_CONFIG_END
/* machine driver for MOD 2 board */
MACHINE_CONFIG_START(mpu4_state::mpu4base)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mod2, this));
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_mpu4, this));
+ MCFG_MACHINE_START_OVERRIDE(mpu4_state,mod2 )
+ MCFG_MACHINE_RESET_OVERRIDE(mpu4_state,mpu4)
MCFG_DEVICE_ADD("maincpu", MC6809, MPU4_MASTER_CLOCK) // MC68B09P
MCFG_DEVICE_PROGRAM_MAP(mpu4_memmap)
@@ -3129,7 +3129,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(mpu4_state::mod4yam)
mpu4base(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mpu4yam, this));
+ MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4yam)
mpu4_std_6reel(config);
@@ -3140,7 +3140,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(mpu4_state::mod4oki)
mpu4base(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mpu4oki, this));
+ MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4oki)
mpu4_common2(config);
mpu4_std_6reel(config);
@@ -3152,7 +3152,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(mpu4_state::mod4oki_alt)
mpu4base(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mpu4oki, this));
+ MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4oki)
mpu4_common2(config);
mpu4_type2_6reel(config);
@@ -3164,7 +3164,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(mpu4_state::mod4oki_5r)
mpu4base(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mpu4oki, this));
+ MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4oki)
mpu4_common2(config);
mpu4_std_5reel(config);
@@ -3176,7 +3176,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(mpu4_state::bwboki)
mpu4base(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mpu4bwb, this));
+ MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4bwb)
mpu4_common2(config);
mpu4_bwb_5reel(config);
@@ -3187,7 +3187,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(mpu4_state::mpu4crys)
mod2(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_mpu4cry, this));
+ MCFG_MACHINE_START_OVERRIDE(mpu4_state,mpu4cry)
MCFG_DEVICE_ADD("upd", UPD7759)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
diff --git a/src/mame/machine/mtx.cpp b/src/mame/machine/mtx.cpp
index a00e489f36e..5c081036b0a 100644
--- a/src/mame/machine/mtx.cpp
+++ b/src/mame/machine/mtx.cpp
@@ -511,7 +511,7 @@ SNAPSHOT_LOAD_MEMBER( mtx_state, mtx )
MACHINE_START( mtx512 )
-------------------------------------------------*/
-void mtx_state::machine_start_mtx512()
+MACHINE_START_MEMBER(mtx_state, mtx512)
{
address_space &program = m_maincpu->space(AS_PROGRAM);
@@ -544,7 +544,7 @@ void mtx_state::machine_start_mtx512()
program.install_ram(0xc000, 0xffff, m_ram->pointer());
}
-void mtx_state::machine_reset_mtx512()
+MACHINE_RESET_MEMBER(mtx_state, mtx512)
{
/* bank switching */
bankswitch(0);
diff --git a/src/mame/machine/mw8080bw.cpp b/src/mame/machine/mw8080bw.cpp
index 85ae8e10bf6..1d081aa551f 100644
--- a/src/mame/machine/mw8080bw.cpp
+++ b/src/mame/machine/mw8080bw.cpp
@@ -94,7 +94,7 @@ void mw8080bw_state::mw8080bw_start_interrupt_timer( )
*
*************************************/
-void mw8080bw_state::machine_start_mw8080bw()
+MACHINE_START_MEMBER(mw8080bw_state,mw8080bw)
{
mw8080bw_create_interrupt_timer();
}
@@ -106,7 +106,7 @@ void mw8080bw_state::machine_start_mw8080bw()
*
*************************************/
-void mw8080bw_state::machine_reset_mw8080bw()
+MACHINE_RESET_MEMBER(mw8080bw_state,mw8080bw)
{
mw8080bw_start_interrupt_timer();
}
diff --git a/src/mame/machine/mz700.cpp b/src/mame/machine/mz700.cpp
index e3b3088281c..e7db1cb4cbe 100644
--- a/src/mame/machine/mz700.cpp
+++ b/src/mame/machine/mz700.cpp
@@ -93,7 +93,7 @@ void mz_state::machine_start()
mz700_bank_4_w(m_maincpu->space(AS_IO), 0, 0);
}
-void mz_state::machine_reset_mz700()
+MACHINE_RESET_MEMBER( mz_state, mz700 )
{
membank("bankr0")->set_entry(1); //rom
membank("bankw0")->set_entry(0); //ram
@@ -101,7 +101,7 @@ void mz_state::machine_reset_mz700()
m_banke->set_bank(1); //devices
}
-void mz_state::machine_reset_mz800()
+MACHINE_RESET_MEMBER( mz_state, mz800 )
{
// default to mz700 mode or mz1500 won't start.
membank("bankr0")->set_entry(1); //rom
diff --git a/src/mame/machine/namcos2.cpp b/src/mame/machine/namcos2.cpp
index 02e2adba212..b9db00d2950 100644
--- a/src/mame/machine/namcos2.cpp
+++ b/src/mame/machine/namcos2.cpp
@@ -132,14 +132,14 @@ void namcos2_shared_state::reset_all_subcpus(int state)
}
}
-void namcos2_shared_state::machine_start_namcos2()
+MACHINE_START_MEMBER(namcos2_shared_state,namcos2)
{
namcos2_kickstart = nullptr;
m_eeprom = std::make_unique<uint8_t[]>(m_eeprom_size);
machine().device<nvram_device>("nvram")->set_base(m_eeprom.get(), m_eeprom_size);
}
-void namcos2_shared_state::machine_reset_namcos2()
+MACHINE_RESET_MEMBER(namcos2_shared_state, namcos2)
{
// address_space &space = m_maincpu->space(AS_PROGRAM);
address_space &audio_space = m_audiocpu->space(AS_PROGRAM);
diff --git a/src/mame/machine/orion.cpp b/src/mame/machine/orion.cpp
index 611a105d6c1..16902c6c17d 100644
--- a/src/mame/machine/orion.cpp
+++ b/src/mame/machine/orion.cpp
@@ -42,7 +42,7 @@ WRITE8_MEMBER(orion_state::orion_romdisk_portc_w)
m_romdisk_msb = data;
}
-void orion_state::machine_start_orion128()
+MACHINE_START_MEMBER(orion_state,orion128)
{
m_video_mode_mask = 7;
}
@@ -139,7 +139,7 @@ WRITE8_MEMBER(orion_state::orion128_memory_page_w)
}
}
-void orion_state::machine_reset_orion128()
+MACHINE_RESET_MEMBER(orion_state,orion128)
{
m_orion128_video_page = 0;
m_orion128_video_mode = 0;
@@ -219,7 +219,7 @@ WRITE8_MEMBER(orion_state::orionz80_floppy_rtc_w)
}
-void orion_state::machine_start_orionz80()
+MACHINE_START_MEMBER(orion_state,orionz80)
{
m_video_mode_mask = 7;
}
@@ -306,7 +306,7 @@ WRITE8_MEMBER(orion_state::orionz80_dispatcher_w)
orionz80_switch_bank();
}
-void orion_state::machine_reset_orionz80()
+MACHINE_RESET_MEMBER(orion_state,orionz80)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
@@ -496,7 +496,7 @@ WRITE8_MEMBER(orion_state::orionpro_memory_page_w)
orionpro_bank_switch();
}
-void orion_state::machine_reset_orionpro()
+MACHINE_RESET_MEMBER(orion_state,orionpro)
{
radio86_init_keyboard();
diff --git a/src/mame/machine/partner.cpp b/src/mame/machine/partner.cpp
index f4ae11d2fff..6cb36b7f304 100644
--- a/src/mame/machine/partner.cpp
+++ b/src/mame/machine/partner.cpp
@@ -348,7 +348,7 @@ I8275_DRAW_CHARACTER_MEMBER(partner_state::display_pixels)
}
}
-void partner_state::machine_reset_partner()
+MACHINE_RESET_MEMBER(partner_state,partner)
{
m_mem_page = 0;
m_win_mem_page = 0;
diff --git a/src/mame/machine/pc1251.cpp b/src/mame/machine/pc1251.cpp
index 22efe26edb9..8249a970b3e 100644
--- a/src/mame/machine/pc1251.cpp
+++ b/src/mame/machine/pc1251.cpp
@@ -96,7 +96,7 @@ void pc1251_state::machine_start()
machine().device<nvram_device>("ram_nvram")->set_base(ram, 0x4800);
}
-void pc1251_state::machine_start_pc1260()
+MACHINE_START_MEMBER(pc1251_state,pc1260 )
{
uint8_t *ram = memregion("maincpu")->base() + 0x4000;
uint8_t *cpu = m_maincpu->internal_ram();
diff --git a/src/mame/machine/pce.cpp b/src/mame/machine/pce.cpp
index 3b8749a7251..f68d185e81f 100644
--- a/src/mame/machine/pce.cpp
+++ b/src/mame/machine/pce.cpp
@@ -94,7 +94,7 @@ void pce_state::init_sgx()
m_io_port_options = PCE_JOY_SIG | CONST_SIG;
}
-void pce_state::machine_start_pce()
+MACHINE_START_MEMBER(pce_state,pce)
{
if (m_cd)
m_cd->late_setup();
@@ -108,7 +108,7 @@ void pce_state::machine_start_pce()
save_item(NAME(m_joy_6b_packet));
}
-void pce_state::machine_reset_mess_pce()
+MACHINE_RESET_MEMBER(pce_state,mess_pce)
{
for (auto & elem : m_joy_6b_packet)
elem = 0;
diff --git a/src/mame/machine/pgmprot_igs025_igs012.cpp b/src/mame/machine/pgmprot_igs025_igs012.cpp
index d598e3e6ca1..617b6c70f11 100644
--- a/src/mame/machine/pgmprot_igs025_igs012.cpp
+++ b/src/mame/machine/pgmprot_igs025_igs012.cpp
@@ -106,9 +106,11 @@ static const uint8_t drgw2_source_data[0x08][0xec] =
{ 0, } // Region 7, not used
};
-void pgm_012_025_state::machine_reset_drgw2()
+MACHINE_RESET_MEMBER(pgm_012_025_state,drgw2)
{
- machine_reset_pgm();
+ MACHINE_RESET_CALL_MEMBER(pgm);
+
+
}
void pgm_012_025_state::drgw2_common_init()
@@ -140,7 +142,7 @@ MACHINE_CONFIG_START(pgm_012_025_state::pgm_012_025_drgw2)
MCFG_DEVICE_ADD("igs025", IGS025, 0)
//MCFG_IGS025_SET_EXTERNAL_EXECUTE( pgm_022_025_state, igs025_to_igs012_callback )
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_drgw2, this));
+ MCFG_MACHINE_RESET_OVERRIDE(pgm_012_025_state,drgw2)
MACHINE_CONFIG_END
diff --git a/src/mame/machine/pgmprot_igs025_igs012.h b/src/mame/machine/pgmprot_igs025_igs012.h
index 24ee79e603b..b8844c202ef 100644
--- a/src/mame/machine/pgmprot_igs025_igs012.h
+++ b/src/mame/machine/pgmprot_igs025_igs012.h
@@ -22,7 +22,7 @@ public:
void init_drgw2j();
void init_drgw2hk();
- void machine_reset_drgw2();
+ DECLARE_MACHINE_RESET(drgw2);
void pgm_012_025_drgw2(machine_config &config);
void drgw2_mem(address_map &map);
};
diff --git a/src/mame/machine/pgmprot_igs025_igs022.cpp b/src/mame/machine/pgmprot_igs025_igs022.cpp
index 411d60a52ab..e1f485ad9cf 100644
--- a/src/mame/machine/pgmprot_igs025_igs022.cpp
+++ b/src/mame/machine/pgmprot_igs025_igs022.cpp
@@ -313,24 +313,24 @@ static const uint8_t dw3_source_data[0x08][0xec] =
}
};
-void pgm_022_025_state::machine_reset_killbld()
+MACHINE_RESET_MEMBER(pgm_022_025_state,killbld)
{
int region = (ioport(":Region")->read()) & 0xff;
m_igs025->m_kb_region = region - 0x16;
m_igs025->m_kb_game_id = 0x89911400 | region;
- machine_reset_pgm();
+ MACHINE_RESET_CALL_MEMBER(pgm);
}
-void pgm_022_025_state::machine_reset_dw3()
+MACHINE_RESET_MEMBER(pgm_022_025_state, dw3)
{
int region = (ioport(":Region")->read()) & 0xff;
m_igs025->m_kb_region = region;
m_igs025->m_kb_game_id = 0x00060000 | region;
- machine_reset_pgm();
+ MACHINE_RESET_CALL_MEMBER(pgm);
}
@@ -390,12 +390,12 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(pgm_022_025_state::pgm_022_025_dw3)
pgm_022_025(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_dw3, this));
+ MCFG_MACHINE_RESET_OVERRIDE(pgm_022_025_state, dw3)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pgm_022_025_state::pgm_022_025_killbld)
pgm_022_025(config);
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_killbld, this));
+ MCFG_MACHINE_RESET_OVERRIDE(pgm_022_025_state, killbld)
MACHINE_CONFIG_END
diff --git a/src/mame/machine/pgmprot_igs025_igs022.h b/src/mame/machine/pgmprot_igs025_igs022.h
index 025c6069e71..70ea6da1117 100644
--- a/src/mame/machine/pgmprot_igs025_igs022.h
+++ b/src/mame/machine/pgmprot_igs025_igs022.h
@@ -19,8 +19,8 @@ public:
void init_killbld();
void init_drgw3();
- void machine_reset_killbld();
- void machine_reset_dw3();
+ DECLARE_MACHINE_RESET(killbld);
+ DECLARE_MACHINE_RESET(dw3);
void igs025_to_igs022_callback( void );
diff --git a/src/mame/machine/pgmprot_igs025_igs028.cpp b/src/mame/machine/pgmprot_igs025_igs028.cpp
index 3815297cea6..1577a627897 100644
--- a/src/mame/machine/pgmprot_igs025_igs028.cpp
+++ b/src/mame/machine/pgmprot_igs025_igs028.cpp
@@ -152,14 +152,14 @@ static const uint8_t m_olds_source_data[8][0xec] = // table addresses $2951CA
}
};
-void pgm_028_025_state::machine_reset_olds()
+MACHINE_RESET_MEMBER(pgm_028_025_state,olds)
{
int region = (ioport(":Region")->read()) & 0xff;
m_igs025->m_kb_region = region;
m_igs025->m_kb_game_id = 0x00900000 | region;
- machine_reset_pgm();
+ MACHINE_RESET_CALL_MEMBER(pgm);
}
void pgm_028_025_state::init_olds()
@@ -197,7 +197,7 @@ MACHINE_CONFIG_START(pgm_028_025_state::pgm_028_025_ol)
MCFG_DEVICE_ADD("igs028", IGS028, 0)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_olds, this));
+ MCFG_MACHINE_RESET_OVERRIDE(pgm_028_025_state,olds)
MACHINE_CONFIG_END
diff --git a/src/mame/machine/pgmprot_igs025_igs028.h b/src/mame/machine/pgmprot_igs025_igs028.h
index d6ed68a080c..ceb746d5ca4 100644
--- a/src/mame/machine/pgmprot_igs025_igs028.h
+++ b/src/mame/machine/pgmprot_igs025_igs028.h
@@ -20,7 +20,7 @@ public:
void igs025_to_igs028_callback( void );
void init_olds();
- void machine_reset_olds();
+ DECLARE_MACHINE_RESET(olds);
void pgm_028_025_ol(machine_config &config);
void olds_mem(address_map &map);
};
diff --git a/src/mame/machine/pgmprot_igs027a_type1.cpp b/src/mame/machine/pgmprot_igs027a_type1.cpp
index 0c6ca2e6ad9..b19856c3015 100644
--- a/src/mame/machine/pgmprot_igs027a_type1.cpp
+++ b/src/mame/machine/pgmprot_igs027a_type1.cpp
@@ -204,9 +204,9 @@ void pgm_arm_type1_state::cavepgm_mem(address_map &map)
}
-void pgm_arm_type1_state::machine_start_pgm_arm_type1()
+MACHINE_START_MEMBER(pgm_arm_type1_state,pgm_arm_type1)
{
- machine_start_pgm();
+ MACHINE_START_CALL_MEMBER(pgm);
save_item(NAME(m_value0));
save_item(NAME(m_value1));
save_item(NAME(m_valuekey));
@@ -221,7 +221,7 @@ MACHINE_CONFIG_START(pgm_arm_type1_state::pgm_arm_type1_cave)
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(cavepgm_mem)
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pgm_arm_type1, this));
+ MCFG_MACHINE_START_OVERRIDE(pgm_arm_type1_state, pgm_arm_type1 )
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE(59.17) // verified on pcb
diff --git a/src/mame/machine/pgmprot_igs027a_type1.h b/src/mame/machine/pgmprot_igs027a_type1.h
index 9fdbcc027fc..86134ba8968 100644
--- a/src/mame/machine/pgmprot_igs027a_type1.h
+++ b/src/mame/machine/pgmprot_igs027a_type1.h
@@ -64,7 +64,7 @@ public:
void init_kov();
void init_kovboot();
void init_oldsplus();
- void machine_start_pgm_arm_type1() ATTR_COLD;
+ DECLARE_MACHINE_START(pgm_arm_type1);
DECLARE_READ32_MEMBER( pgm_arm7_type1_protlatch_r );
DECLARE_WRITE32_MEMBER( pgm_arm7_type1_protlatch_w );
diff --git a/src/mame/machine/pgmprot_igs027a_type2.cpp b/src/mame/machine/pgmprot_igs027a_type2.cpp
index 91744ab570d..64793d3b445 100644
--- a/src/mame/machine/pgmprot_igs027a_type2.cpp
+++ b/src/mame/machine/pgmprot_igs027a_type2.cpp
@@ -124,9 +124,9 @@ void pgm_arm_type2_state::_55857F_arm7_map(address_map &map)
map(0x50000000, 0x500003ff).ram();
}
-void pgm_arm_type2_state::machine_start_pgm_arm_type2()
+MACHINE_START_MEMBER(pgm_arm_type2_state,pgm_arm_type2)
{
- machine_start_pgm();
+ MACHINE_START_CALL_MEMBER(pgm);
/* register type specific Save State stuff here */
}
@@ -135,7 +135,7 @@ void pgm_arm_type2_state::machine_start_pgm_arm_type2()
MACHINE_CONFIG_START(pgm_arm_type2_state::pgm_arm_type2)
pgmbase(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pgm_arm_type2, this));
+ MCFG_MACHINE_START_OVERRIDE(pgm_arm_type2_state, pgm_arm_type2 )
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(kov2_mem)
diff --git a/src/mame/machine/pgmprot_igs027a_type2.h b/src/mame/machine/pgmprot_igs027a_type2.h
index 67081b08678..f6af465e21c 100644
--- a/src/mame/machine/pgmprot_igs027a_type2.h
+++ b/src/mame/machine/pgmprot_igs027a_type2.h
@@ -25,7 +25,7 @@ public:
void init_ddp2();
void init_dw2001();
void init_dwpc();
- void machine_start_pgm_arm_type2() ATTR_COLD;
+ DECLARE_MACHINE_START(pgm_arm_type2);
DECLARE_READ32_MEMBER( arm7_latch_arm_r );
DECLARE_WRITE32_MEMBER( arm7_latch_arm_w );
DECLARE_READ32_MEMBER( arm7_shareram_r );
diff --git a/src/mame/machine/pgmprot_igs027a_type3.cpp b/src/mame/machine/pgmprot_igs027a_type3.cpp
index 6c50df04368..dbbdd0f793d 100644
--- a/src/mame/machine/pgmprot_igs027a_type3.cpp
+++ b/src/mame/machine/pgmprot_igs027a_type3.cpp
@@ -152,7 +152,9 @@ void pgm_arm_type3_state::_55857G_arm7_map(address_map &map)
}
-void pgm_arm_type3_state::machine_reset_pgm_arm_type3_reset()
+
+
+MACHINE_RESET_MEMBER(pgm_arm_type3_state, pgm_arm_type3_reset)
{
// internal roms aren't fully dumped
uint16_t *temp16 = (uint16_t *)memregion("prot")->base();
@@ -176,12 +178,12 @@ void pgm_arm_type3_state::machine_reset_pgm_arm_type3_reset()
temp16[(base) / 2] = regionhack; base += 2;
}
}
- machine_reset_pgm();
+ MACHINE_RESET_CALL_MEMBER(pgm);
}
-void pgm_arm_type3_state::machine_start_pgm_arm_type3()
+MACHINE_START_MEMBER(pgm_arm_type3_state,pgm_arm_type3)
{
- machine_start_pgm();
+ MACHINE_START_CALL_MEMBER(pgm);
/* register type specific Save State stuff here */
}
@@ -191,7 +193,7 @@ void pgm_arm_type3_state::machine_start_pgm_arm_type3()
MACHINE_CONFIG_START(pgm_arm_type3_state::pgm_arm_type3)
pgmbase(config);
- set_machine_start_cb(config, driver_callback_delegate(&machine_start_pgm_arm_type3, this));
+ MCFG_MACHINE_START_OVERRIDE(pgm_arm_type3_state, pgm_arm_type3 )
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(svg_68k_mem)
@@ -200,7 +202,7 @@ MACHINE_CONFIG_START(pgm_arm_type3_state::pgm_arm_type3)
MCFG_DEVICE_ADD("prot", ARM7, XTAL(33'000'000)) // 55857G - 33Mhz Xtal, at least on SVG
MCFG_DEVICE_PROGRAM_MAP(_55857G_arm7_map)
- set_machine_reset_cb(config, driver_callback_delegate(&machine_reset_pgm_arm_type3_reset, this));
+ MCFG_MACHINE_RESET_OVERRIDE(pgm_arm_type3_state, pgm_arm_type3_reset)
MACHINE_CONFIG_END
diff --git a/src/mame/machine/pgmprot_igs027a_type3.h b/src/mame/machine/pgmprot_igs027a_type3.h
index af10f0cc88e..a6582b7acb1 100644
--- a/src/mame/machine/pgmprot_igs027a_type3.h
+++ b/src/mame/machine/pgmprot_igs027a_type3.h
@@ -30,7 +30,7 @@ public:
void init_killbldp();
void init_dmnfrnt();
void init_happy6();
- void machine_start_pgm_arm_type3() ATTR_COLD;
+ DECLARE_MACHINE_START(pgm_arm_type3);
DECLARE_WRITE32_MEMBER( svg_arm7_ram_sel_w );
DECLARE_READ32_MEMBER( svg_arm7_shareram_r );
DECLARE_WRITE32_MEMBER( svg_arm7_shareram_w );
@@ -56,7 +56,7 @@ public:
DECLARE_READ32_MEMBER( happy6_speedup_r );
DECLARE_READ32_MEMBER( svg_speedup_r );
DECLARE_READ32_MEMBER( svgpcb_speedup_r );
- void machine_reset_pgm_arm_type3_reset();
+ DECLARE_MACHINE_RESET(pgm_arm_type3_reset);
void pgm_arm_type3(machine_config &config);
void _55857G_arm7_map(address_map &map);
void svg_68k_mem(address_map &map);
diff --git a/src/mame/machine/playch10.cpp b/src/mame/machine/playch10.cpp
index 83e21fcdad2..5f9981562ef 100644
--- a/src/mame/machine/playch10.cpp
+++ b/src/mame/machine/playch10.cpp
@@ -57,7 +57,7 @@ void playch10_state::machine_start()
nvram->set_base(memregion("cart")->base() + 0x6000, 0x1000);
}
-void playch10_state::machine_start_playch10_hboard()
+MACHINE_START_MEMBER(playch10_state,playch10_hboard)
{
m_vrom = (m_vrom_region != nullptr) ? m_vrom_region->base() : nullptr;
diff --git a/src/mame/machine/primo.cpp b/src/mame/machine/primo.cpp
index d3e654015f5..f81b5ef7fcc 100644
--- a/src/mame/machine/primo.cpp
+++ b/src/mame/machine/primo.cpp
@@ -249,7 +249,7 @@ void primo_state::machine_reset()
primo_common_machine_init();
}
-void primo_state::machine_reset_primob()
+MACHINE_RESET_MEMBER(primo_state,primob)
{
primo_common_machine_init();
diff --git a/src/mame/machine/qix.cpp b/src/mame/machine/qix.cpp
index 947853b615b..33cf61b511f 100644
--- a/src/mame/machine/qix.cpp
+++ b/src/mame/machine/qix.cpp
@@ -26,7 +26,7 @@ void qix_state::machine_reset()
}
-void qix_state::machine_start_qixmcu()
+MACHINE_START_MEMBER(qix_state,qixmcu)
{
/* set up save states */
save_item(NAME(m_68705_portA_out));
diff --git a/src/mame/machine/radio86.cpp b/src/mame/machine/radio86.cpp
index 8fb7bbd5356..2cfbd396880 100644
--- a/src/mame/machine/radio86.cpp
+++ b/src/mame/machine/radio86.cpp
@@ -143,7 +143,7 @@ WRITE8_MEMBER(radio86_state::radio_io_w)
m_maincpu->space(AS_PROGRAM).write_byte((offset << 8) + offset,data);
}
-void radio86_state::machine_reset_radio86()
+MACHINE_RESET_MEMBER(radio86_state,radio86)
{
timer_set(attotime::from_usec(10), TIMER_RESET);
m_bank1->set_entry(1);
diff --git a/src/mame/machine/rm380z.cpp b/src/mame/machine/rm380z.cpp
index 9237b372c9e..966eaf61590 100644
--- a/src/mame/machine/rm380z.cpp
+++ b/src/mame/machine/rm380z.cpp
@@ -311,6 +311,6 @@ void rm380z_state::config_memory_map()
}
}
-void rm380z_state::machine_reset_rm480z()
+MACHINE_RESET_MEMBER( rm380z_state, rm480z )
{
}
diff --git a/src/mame/machine/scramble.cpp b/src/mame/machine/scramble.cpp
index af175512649..8027984f599 100644
--- a/src/mame/machine/scramble.cpp
+++ b/src/mame/machine/scramble.cpp
@@ -15,20 +15,20 @@
#include "includes/scramble.h"
-void scramble_state::machine_reset_scramble()
+MACHINE_RESET_MEMBER(scramble_state,scramble)
{
- machine_reset_galaxold();
+ MACHINE_RESET_CALL_MEMBER(galaxold);
if (m_audiocpu != nullptr)
sh_init();
}
-void scramble_state::machine_reset_explorer()
+MACHINE_RESET_MEMBER(scramble_state,explorer)
{
uint8_t *RAM = memregion("maincpu")->base();
RAM[0x47ff] = 0; /* If not set, it doesn't reset after the 1st time */
- machine_reset_galaxold();
+ MACHINE_RESET_CALL_MEMBER(galaxold);
}
diff --git a/src/mame/machine/sms.cpp b/src/mame/machine/sms.cpp
index 6d40a5ca360..f517dc343b4 100644
--- a/src/mame/machine/sms.cpp
+++ b/src/mame/machine/sms.cpp
@@ -1023,7 +1023,7 @@ void sms_state::setup_bios()
}
}
-void sms_state::machine_start_sms()
+MACHINE_START_MEMBER(sms_state,sms)
{
m_led_pwr.resolve();
@@ -1119,7 +1119,7 @@ void sms_state::machine_start_sms()
m_cartslot->save_ram();
}
-void sms_state::machine_reset_sms()
+MACHINE_RESET_MEMBER(sms_state,sms)
{
if (m_is_smsj)
{
@@ -1326,7 +1326,7 @@ void sms_state::init_gamegeaj()
}
-void sms_state::video_start_sms1()
+VIDEO_START_MEMBER(sms_state,sms1)
{
m_left_lcd = machine().device("left_lcd");
m_right_lcd = machine().device("right_lcd");
@@ -1343,7 +1343,7 @@ void sms_state::video_start_sms1()
}
-void sms_state::video_reset_sms1()
+VIDEO_RESET_MEMBER(sms_state,sms1)
{
if (m_port_scope->read())
{
@@ -1473,7 +1473,7 @@ uint32_t sms_state::screen_update_sms(screen_device &screen, bitmap_rgb32 &bitma
return 0;
}
-void sms_state::video_start_gamegear()
+VIDEO_START_MEMBER(sms_state,gamegear)
{
m_prev_bitmap_copied = false;
m_main_scr->register_screen_bitmap(m_prev_bitmap);
@@ -1486,7 +1486,7 @@ void sms_state::video_start_gamegear()
save_pointer(NAME(m_line_buffer.get()), 160 * 4);
}
-void sms_state::video_reset_gamegear()
+VIDEO_RESET_MEMBER(sms_state,gamegear)
{
if (m_prev_bitmap_copied)
{
diff --git a/src/mame/machine/sorcerer.cpp b/src/mame/machine/sorcerer.cpp
index e2647e7c9a3..55131d120a6 100644
--- a/src/mame/machine/sorcerer.cpp
+++ b/src/mame/machine/sorcerer.cpp
@@ -354,7 +354,7 @@ void sorcerer_state::machine_start()
space.install_read_handler(0xc000, 0xdfff, read8_delegate(FUNC(generic_slot_device::read_rom),(generic_slot_device*)m_cart));
}
-void sorcerer_state::machine_start_sorcererd()
+MACHINE_START_MEMBER(sorcerer_state,sorcererd)
{
m_cassette_timer = timer_alloc(TIMER_CASSETTE);
m_serial_timer = timer_alloc(TIMER_SERIAL);
diff --git a/src/mame/machine/special.cpp b/src/mame/machine/special.cpp
index a3fa0306ad7..8dd904ceb7d 100644
--- a/src/mame/machine/special.cpp
+++ b/src/mame/machine/special.cpp
@@ -145,7 +145,7 @@ void special_state::device_timer(emu_timer &timer, device_timer_id id, int param
}
-void special_state::machine_reset_special()
+MACHINE_RESET_MEMBER(special_state,special)
{
timer_set(attotime::from_usec(10), TIMER_RESET);
m_bank1->set_entry(1);
@@ -218,12 +218,12 @@ WRITE8_MEMBER( special_state::specimx_select_bank )
specimx_set_bank(offset, data);
}
-void special_state::machine_start_specimx()
+MACHINE_START_MEMBER(special_state,specimx)
{
m_drive = 0;
}
-void special_state::machine_reset_specimx()
+MACHINE_RESET_MEMBER(special_state,specimx)
{
specimx_set_bank(2, 0); // Initiali load ROM disk
timer_set(attotime::zero, TIMER_PIT8253_GATES);
@@ -350,7 +350,7 @@ void special_state::init_erik()
m_erik_background = 0;
}
-void special_state::machine_reset_erik()
+MACHINE_RESET_MEMBER(special_state,erik)
{
m_RR_register = 0x00;
m_RC_register = 0x00;
diff --git a/src/mame/machine/super80.cpp b/src/mame/machine/super80.cpp
index cdc0697433b..b09d0c39c41 100644
--- a/src/mame/machine/super80.cpp
+++ b/src/mame/machine/super80.cpp
@@ -206,7 +206,7 @@ WRITE8_MEMBER( super80_state::super80r_f0_w )
/**************************** BASIC MACHINE CONSTRUCTION ***********************************************************/
-void super80_state::machine_reset_super80()
+MACHINE_RESET_MEMBER( super80_state, super80 )
{
m_portf0 = 0; // must be 0 like real machine, or banking breaks on 32-col systems
m_keylatch = 0xff;
@@ -216,7 +216,7 @@ void super80_state::machine_reset_super80()
membank("boot")->set_entry(1);
}
-void super80_state::machine_reset_super80r()
+MACHINE_RESET_MEMBER( super80_state, super80r )
{
m_portf0 = 0x14;
m_keylatch = 0xff;
diff --git a/src/mame/machine/thomson.cpp b/src/mame/machine/thomson.cpp
index 2a28be427d9..7245b86867f 100644
--- a/src/mame/machine/thomson.cpp
+++ b/src/mame/machine/thomson.cpp
@@ -955,7 +955,7 @@ void thomson_state::to7_midi_init()
-void thomson_state::machine_reset_to7()
+MACHINE_RESET_MEMBER( thomson_state, to7 )
{
LOG (( "to7: machine reset called\n" ));
@@ -986,7 +986,7 @@ void thomson_state::machine_reset_to7()
-void thomson_state::machine_start_to7()
+MACHINE_START_MEMBER( thomson_state, to7 )
{
address_space& space = m_maincpu->space(AS_PROGRAM);
uint8_t* mem = memregion("maincpu")->base();
@@ -1177,7 +1177,7 @@ WRITE8_MEMBER( thomson_state::to770_gatearray_w )
-void thomson_state::machine_reset_to770()
+MACHINE_RESET_MEMBER( thomson_state, to770 )
{
LOG (( "to770: machine reset called\n" ));
@@ -1210,7 +1210,7 @@ void thomson_state::machine_reset_to770()
-void thomson_state::machine_start_to770()
+MACHINE_START_MEMBER( thomson_state, to770 )
{
uint8_t* mem = memregion("maincpu")->base();
uint8_t* ram = m_ram->pointer();
@@ -1557,7 +1557,7 @@ WRITE8_MEMBER( thomson_state::mo5_ext_w )
-void thomson_state::machine_reset_mo5()
+MACHINE_RESET_MEMBER( thomson_state, mo5 )
{
LOG (( "mo5: machine reset called\n" ));
@@ -1590,7 +1590,7 @@ void thomson_state::machine_reset_mo5()
-void thomson_state::machine_start_mo5()
+MACHINE_START_MEMBER( thomson_state, mo5 )
{
uint8_t* mem = memregion("maincpu")->base();
uint8_t* ram = m_ram->pointer();
@@ -2497,7 +2497,7 @@ WRITE8_MEMBER( thomson_state::to9_timer_port_out )
-void thomson_state::machine_reset_to9()
+MACHINE_RESET_MEMBER( thomson_state, to9 )
{
LOG (( "to9: machine reset called\n" ));
@@ -2532,7 +2532,7 @@ void thomson_state::machine_reset_to9()
-void thomson_state::machine_start_to9()
+MACHINE_START_MEMBER( thomson_state, to9 )
{
uint8_t* mem = memregion("maincpu")->base();
uint8_t* ram = m_ram->pointer();
@@ -3494,7 +3494,7 @@ void thomson_state::to8_lightpen_cb( int step )
-void thomson_state::machine_reset_to8()
+MACHINE_RESET_MEMBER( thomson_state, to8 )
{
LOG (( "to8: machine reset called\n" ));
@@ -3542,7 +3542,7 @@ void thomson_state::machine_reset_to8()
-void thomson_state::machine_start_to8()
+MACHINE_START_MEMBER( thomson_state, to8 )
{
uint8_t* mem = memregion("maincpu")->base();
uint8_t* ram = m_ram->pointer();
@@ -3645,7 +3645,7 @@ WRITE8_MEMBER( thomson_state::to9p_timer_port_out )
/* ------------ init / reset ------------ */
-void thomson_state::machine_reset_to9p()
+MACHINE_RESET_MEMBER( thomson_state, to9p )
{
LOG (( "to9p: machine reset called\n" ));
@@ -3692,7 +3692,7 @@ void thomson_state::machine_reset_to9p()
-void thomson_state::machine_start_to9p()
+MACHINE_START_MEMBER( thomson_state, to9p )
{
uint8_t* mem = memregion("maincpu")->base();
uint8_t* ram = m_ram->pointer();
@@ -4335,7 +4335,7 @@ WRITE8_MEMBER( thomson_state::mo6_vreg_w )
-void thomson_state::machine_reset_mo6()
+MACHINE_RESET_MEMBER( thomson_state, mo6 )
{
LOG (( "mo6: machine reset called\n" ));
@@ -4377,7 +4377,7 @@ void thomson_state::machine_reset_mo6()
-void thomson_state::machine_start_mo6()
+MACHINE_START_MEMBER( thomson_state, mo6 )
{
uint8_t* mem = memregion("maincpu")->base();
uint8_t* ram = m_ram->pointer();
@@ -4558,7 +4558,7 @@ void thomson_state::mo5nr_game_reset()
-void thomson_state::machine_reset_mo5nr()
+MACHINE_RESET_MEMBER( thomson_state, mo5nr )
{
LOG (( "mo5nr: machine reset called\n" ));
@@ -4600,7 +4600,7 @@ void thomson_state::machine_reset_mo5nr()
-void thomson_state::machine_start_mo5nr()
+MACHINE_START_MEMBER( thomson_state, mo5nr )
{
uint8_t* mem = memregion("maincpu")->base();
uint8_t* ram = m_ram->pointer();
diff --git a/src/mame/machine/ti85.cpp b/src/mame/machine/ti85.cpp
index 6cf7c89ec41..bb7bdb18136 100644
--- a/src/mame/machine/ti85.cpp
+++ b/src/mame/machine/ti85.cpp
@@ -264,7 +264,7 @@ void ti85_state::machine_start()
membank("bank2")->set_base(m_bios + 0x04000);
}
-void ti85_state::machine_reset_ti85()
+MACHINE_RESET_MEMBER(ti85_state,ti85)
{
m_PCR = 0xc0;
}
@@ -312,7 +312,7 @@ READ8_MEMBER(ti85_state::ti83p_membank3_r)
return m_membank3->read8(space, offset);
}
-void ti85_state::machine_reset_ti83p()
+MACHINE_RESET_MEMBER(ti85_state,ti83p)
{
m_PCR = 0x00;
@@ -332,7 +332,7 @@ void ti85_state::machine_reset_ti83p()
}
}
-void ti85_state::machine_start_ti83p()
+MACHINE_START_MEMBER(ti85_state,ti83p)
{
m_model = TI83P;
//address_space &space = m_maincpu->space(AS_PROGRAM);
@@ -419,28 +419,28 @@ void ti85_state::ti8xpse_init_common()
}
-void ti85_state::machine_start_ti83pse()
+MACHINE_START_MEMBER(ti85_state,ti83pse)
{
m_model = TI84PSE;
ti8xpse_init_common();
}
-void ti85_state::machine_start_ti84pse()
+MACHINE_START_MEMBER(ti85_state,ti84pse)
{
m_model = TI83PSE;
ti8xpse_init_common();
}
-void ti85_state::machine_start_ti84p()
+MACHINE_START_MEMBER(ti85_state,ti84p)
{
m_model = TI84P;
ti8xpse_init_common();
}
-void ti85_state::machine_start_ti86()
+MACHINE_START_MEMBER(ti85_state,ti86)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
m_bios = memregion("bios")->base();
diff --git a/src/mame/machine/toaplan1.cpp b/src/mame/machine/toaplan1.cpp
index 1a3538bbfb3..6de67320533 100644
--- a/src/mame/machine/toaplan1.cpp
+++ b/src/mame/machine/toaplan1.cpp
@@ -250,30 +250,30 @@ WRITE_LINE_MEMBER(toaplan1_state::toaplan1_reset_callback)
toaplan1_reset_sound();
}
-void toaplan1_state::machine_reset_toaplan1()
+MACHINE_RESET_MEMBER(toaplan1_state,toaplan1)
{
m_intenable = 0;
machine().bookkeeping().coin_lockout_global_w(0);
}
/* zerowing, fireshrk, outzone */
-void toaplan1_state::machine_reset_zerowing()
+MACHINE_RESET_MEMBER(toaplan1_state,zerowing)
{
- machine_reset_toaplan1();
+ MACHINE_RESET_CALL_MEMBER(toaplan1);
m_maincpu->set_reset_callback(write_line_delegate(FUNC(toaplan1_state::toaplan1_reset_callback),this));
}
-void toaplan1_state::machine_reset_demonwld()
+MACHINE_RESET_MEMBER(toaplan1_state,demonwld)
{
- machine_reset_toaplan1();
+ MACHINE_RESET_CALL_MEMBER(toaplan1);
m_dsp_addr_w = 0;
m_main_ram_seg = 0;
m_dsp_execute = 0;
}
-void toaplan1_state::machine_reset_vimana()
+MACHINE_RESET_MEMBER(toaplan1_state,vimana)
{
- machine_reset_toaplan1();
+ MACHINE_RESET_CALL_MEMBER(toaplan1);
m_maincpu->set_reset_callback(write_line_delegate(FUNC(toaplan1_state::toaplan1_reset_callback),this));
}
diff --git a/src/mame/machine/trs80.cpp b/src/mame/machine/trs80.cpp
index c7cdbe5747b..331f20f592e 100644
--- a/src/mame/machine/trs80.cpp
+++ b/src/mame/machine/trs80.cpp
@@ -790,7 +790,7 @@ void trs80_state::machine_reset()
m_cassette_data = 0;
}
-void trs80_state::machine_reset_trs80m4()
+MACHINE_RESET_MEMBER(trs80_state,trs80m4)
{
address_space &mem = m_maincpu->space(AS_PROGRAM);
m_cassette_data = 0;
@@ -836,7 +836,7 @@ void trs80_state::machine_reset_trs80m4()
trs80m4_84_w(mem, 0, 0); /* switch in devices at power-on */
}
-void trs80_state::machine_reset_lnw80()
+MACHINE_RESET_MEMBER(trs80_state,lnw80)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
m_cassette_data = 0;
@@ -844,10 +844,10 @@ void trs80_state::machine_reset_lnw80()
lnw80_fe_w(space, 0, 0);
}
-void trs80_state::machine_reset_cp500()
+MACHINE_RESET_MEMBER(trs80_state,cp500)
{
m_a11_flipflop = 0;
- machine_reset_trs80m4();
+ MACHINE_RESET_CALL_MEMBER( trs80m4 );
}
diff --git a/src/mame/machine/twincobr.cpp b/src/mame/machine/twincobr.cpp
index e1dae83d6bb..2a081806c11 100644
--- a/src/mame/machine/twincobr.cpp
+++ b/src/mame/machine/twincobr.cpp
@@ -243,7 +243,7 @@ WRITE16_MEMBER(twincobr_state::twincobr_sharedram_w)
}
-void twincobr_state::machine_reset_twincobr()
+MACHINE_RESET_MEMBER(twincobr_state,twincobr)
{
m_dsp_addr_w = 0;
m_main_ram_seg = 0;
diff --git a/src/mame/machine/tx1.cpp b/src/mame/machine/tx1.cpp
index ac294c3db76..4521e4fcb5d 100644
--- a/src/mame/machine/tx1.cpp
+++ b/src/mame/machine/tx1.cpp
@@ -1404,7 +1404,7 @@ READ16_MEMBER(tx1_state::buggyboy_spcs_ram_r)
*
*************************************/
-void tx1_state::machine_reset_buggyboy()
+MACHINE_RESET_MEMBER(tx1_state,buggyboy)
{
// TODO: This is connected to the /BUSACK line of the Z80
m_maincpu->set_input_line(INPUT_LINE_TEST, ASSERT_LINE);
@@ -1412,7 +1412,7 @@ void tx1_state::machine_reset_buggyboy()
memset(&m_math, 0, sizeof(m_math));
}
-void tx1_state::machine_reset_tx1()
+MACHINE_RESET_MEMBER(tx1_state,tx1)
{
// TODO: This is connected to the /BUSACK line of the Z80
m_maincpu->set_input_line(INPUT_LINE_TEST, ASSERT_LINE);
diff --git a/src/mame/machine/ut88.cpp b/src/mame/machine/ut88.cpp
index 658e9f89a63..1ac29589dd9 100644
--- a/src/mame/machine/ut88.cpp
+++ b/src/mame/machine/ut88.cpp
@@ -87,7 +87,7 @@ WRITE8_MEMBER( ut88_state::ut88_8255_porta_w )
m_keyboard_mask = data ^ 0xff;
}
-void ut88_state::machine_reset_ut88()
+MACHINE_RESET_MEMBER(ut88_state,ut88)
{
timer_set(attotime::from_usec(10), TIMER_RESET);
m_bank1->set_entry(1);
@@ -165,13 +165,13 @@ void ut88_state::init_ut88mini()
{
}
-void ut88_state::machine_start_ut88mini()
+MACHINE_START_MEMBER(ut88_state,ut88mini)
{
m_digits.resolve();
timer_set(attotime::from_hz(60), TIMER_UPDATE_DISPLAY);
}
-void ut88_state::machine_reset_ut88mini()
+MACHINE_RESET_MEMBER(ut88_state,ut88mini)
{
m_lcd_digit[0] = m_lcd_digit[1] = m_lcd_digit[2] = 0;
m_lcd_digit[3] = m_lcd_digit[4] = m_lcd_digit[5] = 0;
diff --git a/src/mame/machine/vsnes.cpp b/src/mame/machine/vsnes.cpp
index ab2cd49271f..db00020acea 100644
--- a/src/mame/machine/vsnes.cpp
+++ b/src/mame/machine/vsnes.cpp
@@ -137,7 +137,7 @@ READ8_MEMBER(vsnes_state::vsnes_in1_1_r)
*
*************************************/
-void vsnes_state::machine_reset_vsnes()
+MACHINE_RESET_MEMBER(vsnes_state,vsnes)
{
m_last_bank = 0xff;
m_sound_fix = 0;
@@ -152,7 +152,7 @@ void vsnes_state::machine_reset_vsnes()
*
*************************************/
-void vsnes_state::machine_reset_vsdual()
+MACHINE_RESET_MEMBER(vsnes_state,vsdual)
{
m_input_latch[0] = m_input_latch[1] = 0;
m_input_latch[2] = m_input_latch[3] = 0;
@@ -182,7 +182,7 @@ void vsnes_state::v_set_videorom_bank( int start, int count, int vrom_start_ban
}
}
-void vsnes_state::machine_start_vsnes()
+MACHINE_START_MEMBER(vsnes_state,vsnes)
{
address_space &ppu1_space = machine().device("ppu1")->memory().space(AS_PROGRAM);
int i;
@@ -228,7 +228,7 @@ void vsnes_state::machine_start_vsnes()
}
}
-void vsnes_state::machine_start_vsdual()
+MACHINE_START_MEMBER(vsnes_state,vsdual)
{
m_vrom[0] = memregion("gfx1")->base();
m_vrom[1] = memregion("gfx2")->base();
diff --git a/src/mame/machine/vtech2.cpp b/src/mame/machine/vtech2.cpp
index 4de4bbb750c..f88ce25742b 100644
--- a/src/mame/machine/vtech2.cpp
+++ b/src/mame/machine/vtech2.cpp
@@ -100,13 +100,13 @@ void vtech2_state::machine_reset()
laser_machine_init(0x00f, 3);
}
-void vtech2_state::machine_reset_laser500()
+MACHINE_RESET_MEMBER(vtech2_state,laser500)
{
/* banks 0 to 2, and 4-7 only, optional ROM extension */
laser_machine_init(0x0f7, 7);
}
-void vtech2_state::machine_reset_laser700()
+MACHINE_RESET_MEMBER(vtech2_state,laser700)
{
/* all banks except #3 */
laser_machine_init(0xff7, 7);
diff --git a/src/mame/machine/williams.cpp b/src/mame/machine/williams.cpp
index e9e49f47ada..c39904c3e3b 100644
--- a/src/mame/machine/williams.cpp
+++ b/src/mame/machine/williams.cpp
@@ -115,7 +115,7 @@ WRITE_LINE_MEMBER(williams2_state::tshoot_main_irq)
*
*************************************/
-void williams_state::machine_start_williams_common()
+MACHINE_START_MEMBER(williams_state,williams_common)
{
/* configure the memory bank */
membank("bank1")->configure_entry(1, memregion("maincpu")->base() + 0x10000);
@@ -123,7 +123,7 @@ void williams_state::machine_start_williams_common()
}
-void williams_state::machine_reset_williams_common()
+MACHINE_RESET_MEMBER(williams_state,williams_common)
{
/* set a timer to go off every 16 scanlines, to toggle the VA11 line and update the screen */
timer_device *scan_timer = machine().device<timer_device>("scan_timer");
@@ -135,15 +135,15 @@ void williams_state::machine_reset_williams_common()
}
-void williams_state::machine_start_williams()
+MACHINE_START_MEMBER(williams_state,williams)
{
- machine_start_williams_common();
+ MACHINE_START_CALL_MEMBER(williams_common);
}
-void williams_state::machine_reset_williams()
+MACHINE_RESET_MEMBER(williams_state,williams)
{
- machine_reset_williams_common();
+ MACHINE_RESET_CALL_MEMBER(williams_common);
}
@@ -196,7 +196,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(williams2_state::williams2_endscreen_callback)
*
*************************************/
-void williams2_state::machine_start_williams2()
+MACHINE_START_MEMBER(williams2_state,williams2)
{
/* configure memory banks */
membank("bank1")->configure_entries(1, 4, memregion("maincpu")->base() + 0x10000, 0x10000);
@@ -205,7 +205,7 @@ void williams2_state::machine_start_williams2()
}
-void williams2_state::machine_reset_williams2()
+MACHINE_RESET_MEMBER(williams2_state,williams2)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
@@ -426,16 +426,16 @@ WRITE8_MEMBER(williams2_state::williams2_7segment_w)
*
*************************************/
-void williams_state::machine_start_defender()
+MACHINE_START_MEMBER(williams_state,defender)
{
}
-void williams_state::machine_reset_defender()
+MACHINE_RESET_MEMBER(williams_state,defender)
{
address_space &space = m_maincpu->space(AS_PROGRAM);
- machine_reset_williams_common();
+ MACHINE_RESET_CALL_MEMBER(williams_common);
defender_bank_select_w(space, 0, 0);
}
@@ -495,7 +495,7 @@ WRITE8_MEMBER(williams_state::sinistar_vram_select_w)
*
*************************************/
-void blaster_state::machine_start_blaster()
+MACHINE_START_MEMBER(blaster_state,blaster)
{
/* banking is different for blaster */
membank("bank1")->configure_entries(1, 16, memregion("maincpu")->base() + 0x18000, 0x4000);
@@ -510,9 +510,9 @@ void blaster_state::machine_start_blaster()
}
-void blaster_state::machine_reset_blaster()
+MACHINE_RESET_MEMBER(blaster_state,blaster)
{
- machine_reset_williams_common();
+ MACHINE_RESET_CALL_MEMBER(williams_common);
}
@@ -614,16 +614,16 @@ WRITE8_MEMBER(tshoot_state::lamp_w)
*
*************************************/
-void joust2_state::machine_start_joust2()
+MACHINE_START_MEMBER(joust2_state,joust2)
{
- machine_start_williams2();
+ MACHINE_START_CALL_MEMBER(williams2);
save_item(NAME(m_joust2_current_sound_data));
}
-void joust2_state::machine_reset_joust2()
+MACHINE_RESET_MEMBER(joust2_state,joust2)
{
- machine_reset_williams2();
+ MACHINE_RESET_CALL_MEMBER(williams2);
}
diff --git a/src/mame/machine/z80ne.cpp b/src/mame/machine/z80ne.cpp
index e5ff01986f3..847a8d91f2d 100644
--- a/src/mame/machine/z80ne.cpp
+++ b/src/mame/machine/z80ne.cpp
@@ -234,7 +234,7 @@ void z80netf_state::reset_lx390_banking()
*/
}
-void z80ne_state::machine_reset_z80ne_base()
+MACHINE_RESET_MEMBER(z80ne_state,z80ne_base)
{
int i;
@@ -286,32 +286,32 @@ void z80ne_state::machine_reset_z80ne_base()
}
-void z80ne_state::machine_reset_z80ne()
+MACHINE_RESET_MEMBER(z80ne_state,z80ne)
{
LOG("In machine_reset z80ne\n");
reset_lx382_banking();
- machine_reset_z80ne_base();
+ MACHINE_RESET_CALL_MEMBER( z80ne_base );
}
-void z80ne_state::machine_reset_z80net()
+MACHINE_RESET_MEMBER(z80ne_state,z80net)
{
LOG("In machine_reset z80net\n");
- machine_reset_z80ne();
+ MACHINE_RESET_CALL_MEMBER( z80ne );
reset_lx387();
}
-void z80ne_state::machine_reset_z80netb()
+MACHINE_RESET_MEMBER(z80ne_state,z80netb)
{
LOG("In machine_reset z80netb\n");
- machine_reset_z80ne_base();
+ MACHINE_RESET_CALL_MEMBER( z80ne_base );
reset_lx387();
}
-void z80netf_state::machine_reset_z80netf()
+MACHINE_RESET_MEMBER(z80netf_state,z80netf)
{
LOG("In machine_reset z80netf\n");
reset_lx390_banking();
- machine_reset_z80ne_base();
+ MACHINE_RESET_CALL_MEMBER( z80ne_base );
reset_lx387();
}
@@ -337,7 +337,7 @@ INPUT_CHANGED_MEMBER(z80ne_state::z80ne_nmi)
}
}
-void z80ne_state::machine_start_z80ne()
+MACHINE_START_MEMBER(z80ne_state,z80ne)
{
LOG("In MACHINE_START z80ne\n");
@@ -355,21 +355,21 @@ void z80ne_state::machine_start_z80ne()
m_kbd_timer->adjust(attotime::from_hz(1000), 0, attotime::from_hz(1000));
}
-void z80ne_state::machine_start_z80net()
+MACHINE_START_MEMBER(z80ne_state,z80net)
{
- machine_start_z80ne();
+ MACHINE_START_CALL_MEMBER( z80ne );
LOG("In MACHINE_START z80net\n");
}
-void z80ne_state::machine_start_z80netb()
+MACHINE_START_MEMBER(z80ne_state,z80netb)
{
- machine_start_z80net();
+ MACHINE_START_CALL_MEMBER( z80net );
LOG("In MACHINE_START z80netb\n");
}
-void z80netf_state::machine_start_z80netf()
+MACHINE_START_MEMBER(z80netf_state,z80netf)
{
- machine_start_z80net();
+ MACHINE_START_CALL_MEMBER( z80net );
LOG("In MACHINE_START z80netf\n");
m_drv_led.resolve();
diff --git a/src/mame/video/8080bw.cpp b/src/mame/video/8080bw.cpp
index c8c49c9a613..4f213e05648 100644
--- a/src/mame/video/8080bw.cpp
+++ b/src/mame/video/8080bw.cpp
@@ -13,7 +13,7 @@
#include "includes/8080bw.h"
-void _8080bw_state::machine_start_extra_8080bw_vh()
+MACHINE_START_MEMBER(_8080bw_state,extra_8080bw_vh)
{
save_item(NAME(m_flip_screen));
save_item(NAME(m_color_map));
diff --git a/src/mame/video/aerofgt.cpp b/src/mame/video/aerofgt.cpp
index fd04bdeead4..7b39d8d9181 100644
--- a/src/mame/video/aerofgt.cpp
+++ b/src/mame/video/aerofgt.cpp
@@ -71,7 +71,7 @@ void aerofgt_state::aerofgt_register_state_globals( )
save_item(NAME(m_spritepalettebank));
}
-void aerofgt_state::video_start_pspikes()
+VIDEO_START_MEMBER(aerofgt_state,pspikes)
{
m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::get_pspikes_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
/* no bg2 in this game */
@@ -82,7 +82,7 @@ void aerofgt_state::video_start_pspikes()
save_item(NAME(m_spikes91_lookup));
}
-void aerofgt_state::video_start_karatblz()
+VIDEO_START_MEMBER(aerofgt_state,karatblz)
{
m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::karatblz_tile_info<0>),this),TILEMAP_SCAN_ROWS,8,8,64,64);
m_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::karatblz_tile_info<1>),this),TILEMAP_SCAN_ROWS,8,8,64,64);
@@ -94,7 +94,7 @@ void aerofgt_state::video_start_karatblz()
aerofgt_register_state_globals();
}
-void aerofgt_state::video_start_spinlbrk()
+VIDEO_START_MEMBER(aerofgt_state,spinlbrk)
{
m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::spinlbrk_tile_info<0>),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
m_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::karatblz_tile_info<1>),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
@@ -109,7 +109,7 @@ void aerofgt_state::video_start_spinlbrk()
aerofgt_register_state_globals();
}
-void aerofgt_state::video_start_turbofrc()
+VIDEO_START_MEMBER(aerofgt_state,turbofrc)
{
m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::get_tile_info<0>),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
m_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::get_tile_info<1>),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
@@ -365,7 +365,7 @@ uint32_t aerofgt_state::screen_update_aerofgt(screen_device &screen, bitmap_ind1
***************************************************************************/
// BOOTLEG
-void aerofgt_state::video_start_wbbc97()
+VIDEO_START_MEMBER(aerofgt_state,wbbc97)
{
m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(aerofgt_state::get_pspikes_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
/* no bg2 in this game */
diff --git a/src/mame/video/alpha68k.cpp b/src/mame/video/alpha68k.cpp
index 5fa130a8eab..9fbfc853229 100644
--- a/src/mame/video/alpha68k.cpp
+++ b/src/mame/video/alpha68k.cpp
@@ -40,7 +40,7 @@ WRITE16_MEMBER(alpha68k_state::alpha68k_videoram_w)
m_fix_tilemap->mark_tile_dirty(offset / 2);
}
-void alpha68k_state::video_start_alpha68k()
+VIDEO_START_MEMBER(alpha68k_state,alpha68k)
{
m_fix_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(alpha68k_state::get_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
m_fix_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/amiga.cpp b/src/mame/video/amiga.cpp
index 6521e501352..15aa9319a7d 100644
--- a/src/mame/video/amiga.cpp
+++ b/src/mame/video/amiga.cpp
@@ -124,10 +124,12 @@ PALETTE_INIT_MEMBER(amiga_state,amiga)
*
*************************************/
-void amiga_state::video_start_amiga()
+VIDEO_START_MEMBER( amiga_state, amiga )
{
+ int j;
+
/* generate tables that produce the correct playfield color for dual playfield mode */
- for (int j = 0; j < 64; j++)
+ for (j = 0; j < 64; j++)
{
int pf1pix = ((j >> 0) & 1) | ((j >> 1) & 2) | ((j >> 2) & 4);
int pf2pix = ((j >> 1) & 1) | ((j >> 2) & 2) | ((j >> 3) & 4);
diff --git a/src/mame/video/amigaaga.cpp b/src/mame/video/amigaaga.cpp
index 1aacb91b8d4..d73a1f4c373 100644
--- a/src/mame/video/amigaaga.cpp
+++ b/src/mame/video/amigaaga.cpp
@@ -76,9 +76,9 @@ void amiga_state::aga_palette_write(int color_reg, uint16_t data)
*
*************************************/
-void amiga_state::video_start_amiga_aga()
+VIDEO_START_MEMBER(amiga_state,amiga_aga)
{
- video_start_amiga();
+ VIDEO_START_CALL_MEMBER( amiga );
m_aga_diwhigh_written = 0;
m_screen->register_screen_bitmap(m_flickerfixer32);
diff --git a/src/mame/video/ampoker2.cpp b/src/mame/video/ampoker2.cpp
index 1d7fb1c5b91..686e3618715 100644
--- a/src/mame/video/ampoker2.cpp
+++ b/src/mame/video/ampoker2.cpp
@@ -153,7 +153,7 @@ void ampoker2_state::video_start()
8, 8, 64, 32);
}
-void ampoker2_state::video_start_sigma2k()
+VIDEO_START_MEMBER(ampoker2_state,sigma2k)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(ampoker2_state::s2k_get_bg_tile_info),this), TILEMAP_SCAN_ROWS,
8, 8, 64, 32);
diff --git a/src/mame/video/apple2.cpp b/src/mame/video/apple2.cpp
index 6062e178d61..180ee08aaa0 100644
--- a/src/mame/video/apple2.cpp
+++ b/src/mame/video/apple2.cpp
@@ -561,7 +561,7 @@ void apple2_state::apple2_video_start(const uint8_t *vram, const uint8_t *aux_vr
-void apple2_state::video_start_apple2()
+VIDEO_START_MEMBER(apple2_state,apple2)
{
apple2_video_start(m_ram->pointer(), m_ram->pointer()+0x10000, VAR_80COL | VAR_ALTCHARSET | VAR_DHIRES, 4);
@@ -573,7 +573,7 @@ void apple2_state::video_start_apple2()
}
-void apple2_state::video_start_apple2p()
+VIDEO_START_MEMBER(apple2_state,apple2p)
{
apple2_video_start(m_ram->pointer(), m_ram->pointer(), VAR_80COL | VAR_ALTCHARSET | VAR_DHIRES, 8);
@@ -585,7 +585,7 @@ void apple2_state::video_start_apple2p()
}
-void apple2_state::video_start_apple2e()
+VIDEO_START_MEMBER(apple2_state,apple2e)
{
device_a2eauxslot_card_interface *auxslotdevice = m_a2eauxslot->get_a2eauxslot_card();
if (auxslotdevice)
@@ -599,7 +599,7 @@ void apple2_state::video_start_apple2e()
}
-void apple2_state::video_start_apple2c()
+VIDEO_START_MEMBER(apple2_state,apple2c)
{
apple2_video_start(m_ram->pointer(), m_ram->pointer()+0x10000, 0, 8);
}
diff --git a/src/mame/video/apple2gs.cpp b/src/mame/video/apple2gs.cpp
index 6f39ea2d8b0..2f10133e7e3 100644
--- a/src/mame/video/apple2gs.cpp
+++ b/src/mame/video/apple2gs.cpp
@@ -15,7 +15,7 @@
-void apple2gs_state::video_start_apple2gs()
+VIDEO_START_MEMBER(apple2gs_state,apple2gs)
{
m_bordercolor = 0;
apple2_video_start(m_slowmem.get(), m_slowmem.get()+0x10000, 0, 8);
diff --git a/src/mame/video/apple3.cpp b/src/mame/video/apple3.cpp
index 21bdbe6ef6b..724907d6c23 100644
--- a/src/mame/video/apple3.cpp
+++ b/src/mame/video/apple3.cpp
@@ -118,7 +118,7 @@ void apple3_state::apple3_write_charmem()
-void apple3_state::video_start_apple3()
+VIDEO_START_MEMBER(apple3_state,apple3)
{
int i, j;
uint32_t v;
diff --git a/src/mame/video/argus.cpp b/src/mame/video/argus.cpp
index a35cfe2f794..90a80b8e183 100644
--- a/src/mame/video/argus.cpp
+++ b/src/mame/video/argus.cpp
@@ -259,7 +259,7 @@ void argus_state::reset_common()
m_palette_intensity = 0;
}
-void argus_state::video_start_argus()
+VIDEO_START_MEMBER(argus_state,argus)
{
/* info offset w h col row */
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(argus_state::argus_get_bg0_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
@@ -280,7 +280,7 @@ void argus_state::video_start_argus()
save_item(NAME(m_prvscrollx));
}
-void argus_state::video_reset_argus()
+VIDEO_RESET_MEMBER(argus_state,argus)
{
m_lowbitscroll = 0;
m_prvscrollx = 0;
@@ -290,7 +290,7 @@ void argus_state::video_reset_argus()
reset_common();
}
-void argus_state::video_start_valtric()
+VIDEO_START_MEMBER(argus_state,valtric)
{
/* info offset w h col row */
m_bg_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(argus_state::valtric_get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
@@ -308,13 +308,13 @@ void argus_state::video_start_valtric()
save_item(NAME(m_mosaic));
}
-void argus_state::video_reset_valtric()
+VIDEO_RESET_MEMBER(argus_state,valtric)
{
m_valtric_mosaic = 0x0f;
reset_common();
}
-void argus_state::video_start_butasan()
+VIDEO_START_MEMBER(argus_state,butasan)
{
/* info offset w h col row */
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(argus_state::butasan_get_bg0_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
@@ -342,7 +342,7 @@ void argus_state::video_start_butasan()
save_item(NAME(m_butasan_unknown));
}
-void argus_state::video_reset_butasan()
+VIDEO_RESET_MEMBER(argus_state,butasan)
{
m_butasan_page_latch = 0;
m_butasan_bg1_status = 0x01;
diff --git a/src/mame/video/armedf.cpp b/src/mame/video/armedf.cpp
index a6056e00ce8..e68f4cf98ac 100644
--- a/src/mame/video/armedf.cpp
+++ b/src/mame/video/armedf.cpp
@@ -111,7 +111,7 @@ TILE_GET_INFO_MEMBER(armedf_state::get_bg_tile_info)
***************************************************************************/
-void armedf_state::video_start_terraf()
+VIDEO_START_MEMBER(armedf_state,terraf)
{
m_sprite_offy = (m_scroll_type & 2 ) ? 0 : 128; /* legion, legiono, crazy climber 2 */
@@ -134,7 +134,7 @@ void armedf_state::video_start_terraf()
save_pointer(NAME(m_text_videoram.get()), 0x1000);
}
-void armedf_state::video_start_armedf()
+VIDEO_START_MEMBER(armedf_state,armedf)
{
m_sprite_offy = (m_scroll_type & 2 ) ? 0 : 128; /* legion, legiono, crazy climber 2 */
diff --git a/src/mame/video/astrocde.cpp b/src/mame/video/astrocde.cpp
index 2e383501505..cc53ca0cf1a 100644
--- a/src/mame/video/astrocde.cpp
+++ b/src/mame/video/astrocde.cpp
@@ -179,7 +179,7 @@ void astrocde_state::video_start()
}
-void astrocde_state::video_start_profpac()
+VIDEO_START_MEMBER(astrocde_state,profpac)
{
/* allocate timers */
m_scanline_timer = timer_alloc(TIMER_SCANLINE);
diff --git a/src/mame/video/atarig1.cpp b/src/mame/video/atarig1.cpp
index 2563051e852..7f769a77a4e 100644
--- a/src/mame/video/atarig1.cpp
+++ b/src/mame/video/atarig1.cpp
@@ -44,7 +44,7 @@ TILE_GET_INFO_MEMBER(atarig1_state::get_playfield_tile_info)
*
*************************************/
-void atarig1_state::video_start_atarig1()
+VIDEO_START_MEMBER(atarig1_state,atarig1)
{
/* blend the playfields and free the temporary one */
blend_gfx(0, 2, 0x0f, 0x10);
diff --git a/src/mame/video/atarig42.cpp b/src/mame/video/atarig42.cpp
index f196d7edc39..b553cc0f512 100644
--- a/src/mame/video/atarig42.cpp
+++ b/src/mame/video/atarig42.cpp
@@ -67,7 +67,7 @@ TILEMAP_MAPPER_MEMBER(atarig42_state::atarig42_playfield_scan)
*
*************************************/
-void atarig42_state::video_start_atarig42()
+VIDEO_START_MEMBER(atarig42_state,atarig42)
{
/* blend the playfields and free the temporary one */
blend_gfx(0, 2, 0x0f, 0x30);
diff --git a/src/mame/video/atarigt.cpp b/src/mame/video/atarigt.cpp
index aba6ad65d2f..6f1808b797f 100644
--- a/src/mame/video/atarigt.cpp
+++ b/src/mame/video/atarigt.cpp
@@ -76,7 +76,7 @@ TILEMAP_MAPPER_MEMBER(atarigt_state::atarigt_playfield_scan)
*
*************************************/
-void atarigt_state::video_start_atarigt()
+VIDEO_START_MEMBER(atarigt_state,atarigt)
{
/* blend the playfields and free the temporary one */
blend_gfx(0, 2, 0x0f, 0x30);
diff --git a/src/mame/video/atarisy1.cpp b/src/mame/video/atarisy1.cpp
index 0fb6723c126..be249e8e873 100644
--- a/src/mame/video/atarisy1.cpp
+++ b/src/mame/video/atarisy1.cpp
@@ -143,7 +143,7 @@ const atari_motion_objects_config atarisy1_state::s_mob_config =
0xffff /* resulting value to indicate "special" */
};
-void atarisy1_state::video_start_atarisy1()
+VIDEO_START_MEMBER(atarisy1_state,atarisy1)
{
/* first decode the graphics */
uint16_t motable[256];
diff --git a/src/mame/video/atarisy2.cpp b/src/mame/video/atarisy2.cpp
index d040767f014..0c735cccc4f 100644
--- a/src/mame/video/atarisy2.cpp
+++ b/src/mame/video/atarisy2.cpp
@@ -77,7 +77,7 @@ const atari_motion_objects_config atarisy2_state::s_mob_config =
0 /* resulting value to indicate "special" */
};
-void atarisy2_state::video_start_atarisy2()
+VIDEO_START_MEMBER(atarisy2_state,atarisy2)
{
/* reset the statics */
m_yscroll_reset_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(atarisy2_state::reset_yscroll_callback),this));
diff --git a/src/mame/video/badlands.cpp b/src/mame/video/badlands.cpp
index b6f7b28823b..c8c0a955b99 100644
--- a/src/mame/video/badlands.cpp
+++ b/src/mame/video/badlands.cpp
@@ -68,7 +68,7 @@ const atari_motion_objects_config badlands_state::s_mob_config =
0, /* resulting value to indicate "special" */
};
-void badlands_state::video_start_badlands()
+VIDEO_START_MEMBER(badlands_state,badlands)
{
/* save states */
save_item(NAME(m_playfield_tile_bank));
diff --git a/src/mame/video/bbc.cpp b/src/mame/video/bbc.cpp
index 5d3e34e9969..96e53a0e380 100644
--- a/src/mame/video/bbc.cpp
+++ b/src/mame/video/bbc.cpp
@@ -298,7 +298,7 @@ void bbc_state::setvideoshadow(int vdusel)
* Initialize the BBC video emulation
************************************************************************/
-void bbc_state::video_start_bbc()
+VIDEO_START_MEMBER(bbc_state, bbc)
{
m_cursor_size = 1;
diff --git a/src/mame/video/bbusters.cpp b/src/mame/video/bbusters.cpp
index 36344f66657..19092dfd82d 100644
--- a/src/mame/video/bbusters.cpp
+++ b/src/mame/video/bbusters.cpp
@@ -70,7 +70,7 @@ WRITE16_MEMBER(bbusters_state::pf2_w)
/******************************************************************************/
-void bbusters_state::video_start_bbuster()
+VIDEO_START_MEMBER(bbusters_state,bbuster)
{
m_fix_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(bbusters_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_pf1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(bbusters_state::get_pf1_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 128, 32);
@@ -82,7 +82,7 @@ void bbusters_state::video_start_bbuster()
save_item(NAME(m_scale_line_count));
}
-void bbusters_state::video_start_mechatt()
+VIDEO_START_MEMBER(bbusters_state,mechatt)
{
m_fix_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(bbusters_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_pf1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(bbusters_state::get_pf1_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 256, 32);
diff --git a/src/mame/video/blstroid.cpp b/src/mame/video/blstroid.cpp
index 7c716113524..af8c6b9a12e 100644
--- a/src/mame/video/blstroid.cpp
+++ b/src/mame/video/blstroid.cpp
@@ -69,7 +69,7 @@ const atari_motion_objects_config blstroid_state::s_mob_config =
0 /* resulting value to indicate "special" */
};
-void blstroid_state::video_start_blstroid()
+VIDEO_START_MEMBER(blstroid_state,blstroid)
{
m_irq_off_timer = timer_alloc(TIMER_IRQ_OFF);
m_irq_on_timer = timer_alloc(TIMER_IRQ_ON);
diff --git a/src/mame/video/blueprnt.cpp b/src/mame/video/blueprnt.cpp
index 3e6666e6805..756a7db1abd 100644
--- a/src/mame/video/blueprnt.cpp
+++ b/src/mame/video/blueprnt.cpp
@@ -116,7 +116,7 @@ TILE_GET_INFO_MEMBER(blueprnt_state::get_bg_tile_info)
-void blueprnt_state::video_start_blueprnt()
+VIDEO_START_MEMBER(blueprnt_state,blueprnt)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(blueprnt_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
m_bg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/bosco.cpp b/src/mame/video/bosco.cpp
index 463955f109b..2936382386e 100644
--- a/src/mame/video/bosco.cpp
+++ b/src/mame/video/bosco.cpp
@@ -122,7 +122,7 @@ TILE_GET_INFO_MEMBER(bosco_state::fg_get_tile_info )
***************************************************************************/
-void bosco_state::video_start_bosco()
+VIDEO_START_MEMBER(bosco_state,bosco)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(bosco_state::bg_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(bosco_state::fg_get_tile_info),this),tilemap_mapper_delegate(FUNC(bosco_state::fg_tilemap_scan),this), 8,8, 8,32);
diff --git a/src/mame/video/btime.cpp b/src/mame/video/btime.cpp
index 266ded94ccd..f0341bb9c6a 100644
--- a/src/mame/video/btime.cpp
+++ b/src/mame/video/btime.cpp
@@ -116,14 +116,14 @@ Start the video hardware emulation.
***************************************************************************/
-void btime_state::video_start_disco()
+VIDEO_START_MEMBER(btime_state,disco)
{
// graphics are in RAM
m_gfxdecode->gfx(0)->set_source(m_deco_charram);
m_gfxdecode->gfx(1)->set_source(m_deco_charram);
}
-void btime_state::video_start_bnj()
+VIDEO_START_MEMBER(btime_state,bnj)
{
/* the background area is twice as wide as the screen */
int width = 256;
diff --git a/src/mame/video/cave.cpp b/src/mame/video/cave.cpp
index f4ee8cfe192..4850caf1e1b 100644
--- a/src/mame/video/cave.cpp
+++ b/src/mame/video/cave.cpp
@@ -388,13 +388,13 @@ void cave_state::cave_vh_start( int num )
}
}
-void cave_state::video_start_cave_1_layer() { cave_vh_start(1); }
-void cave_state::video_start_cave_2_layers() { cave_vh_start(2); }
-void cave_state::video_start_cave_3_layers() { cave_vh_start(3); }
-void cave_state::video_start_cave_4_layers() { cave_vh_start(4); }
+VIDEO_START_MEMBER(cave_state,cave_1_layer){ cave_vh_start(1); }
+VIDEO_START_MEMBER(cave_state,cave_2_layers){ cave_vh_start(2); }
+VIDEO_START_MEMBER(cave_state,cave_3_layers){ cave_vh_start(3); }
+VIDEO_START_MEMBER(cave_state,cave_4_layers){ cave_vh_start(4); }
-void cave_state::video_start_sailormn_3_layers()
+VIDEO_START_MEMBER(cave_state,sailormn_3_layers)
{
cave_vh_start(2);
diff --git a/src/mame/video/cclimber.cpp b/src/mame/video/cclimber.cpp
index 1322e1a05cc..f2aeac11cfe 100644
--- a/src/mame/video/cclimber.cpp
+++ b/src/mame/video/cclimber.cpp
@@ -452,7 +452,7 @@ TILE_GET_INFO_MEMBER(cclimber_state::toproller_get_bg_tile_info)
}
-void cclimber_state::video_start_cclimber()
+VIDEO_START_MEMBER(cclimber_state,cclimber)
{
m_pf_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(cclimber_state::cclimber_get_pf_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_pf_tilemap->set_transparent_pen(0);
@@ -469,7 +469,7 @@ void cclimber_state::video_start_cclimber()
}
-void cclimber_state::video_start_swimmer()
+VIDEO_START_MEMBER(cclimber_state,swimmer)
{
m_pf_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(cclimber_state::swimmer_get_pf_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_pf_tilemap->set_transparent_pen(0);
@@ -488,7 +488,7 @@ void cclimber_state::video_start_swimmer()
}
-void cclimber_state::video_start_toprollr()
+VIDEO_START_MEMBER(cclimber_state,toprollr)
{
m_pf_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(cclimber_state::toprollr_get_pf_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_pf_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/centiped.cpp b/src/mame/video/centiped.cpp
index 16b25029100..0918e4df3bd 100644
--- a/src/mame/video/centiped.cpp
+++ b/src/mame/video/centiped.cpp
@@ -92,7 +92,7 @@ void centiped_state::init_common()
}
-void centiped_state::video_start_centiped()
+VIDEO_START_MEMBER(centiped_state,centiped)
{
init_common();
init_penmask();
@@ -101,7 +101,7 @@ void centiped_state::video_start_centiped()
}
-void centiped_state::video_start_warlords()
+VIDEO_START_MEMBER(centiped_state,warlords)
{
init_common();
@@ -109,7 +109,7 @@ void centiped_state::video_start_warlords()
}
-void centiped_state::video_start_milliped()
+VIDEO_START_MEMBER(centiped_state,milliped)
{
init_common();
init_penmask();
@@ -118,7 +118,7 @@ void centiped_state::video_start_milliped()
}
-void centiped_state::video_start_bullsdrt()
+VIDEO_START_MEMBER(centiped_state,bullsdrt)
{
init_common();
init_penmask();
diff --git a/src/mame/video/champbas.cpp b/src/mame/video/champbas.cpp
index 67bd88ab6f6..6ce7f968f01 100644
--- a/src/mame/video/champbas.cpp
+++ b/src/mame/video/champbas.cpp
@@ -159,12 +159,12 @@ TILE_GET_INFO_MEMBER(champbas_state::exctsccr_get_bg_tile_info)
*
*************************************/
-void champbas_state::video_start_champbas()
+VIDEO_START_MEMBER(champbas_state,champbas)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(champbas_state::champbas_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
-void champbas_state::video_start_exctsccr()
+VIDEO_START_MEMBER(champbas_state,exctsccr)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(champbas_state::exctsccr_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}
diff --git a/src/mame/video/cinemat.cpp b/src/mame/video/cinemat.cpp
index 92177e35ab9..cd7e7a28793 100644
--- a/src/mame/video/cinemat.cpp
+++ b/src/mame/video/cinemat.cpp
@@ -168,25 +168,25 @@ void cinemat_state::video_start()
}
-void cinemat_state::video_start_cinemat_16level()
+VIDEO_START_MEMBER(cinemat_state,cinemat_16level)
{
m_color_mode = COLOR_16LEVEL;
}
-void cinemat_state::video_start_cinemat_64level()
+VIDEO_START_MEMBER(cinemat_state,cinemat_64level)
{
m_color_mode = COLOR_64LEVEL;
}
-void cinemat_state::video_start_cinemat_color()
+VIDEO_START_MEMBER(cinemat_state,cinemat_color)
{
m_color_mode = COLOR_RGB;
}
-void cinemat_state::video_start_cinemat_qb3color()
+VIDEO_START_MEMBER(cinemat_state,cinemat_qb3color)
{
m_color_mode = COLOR_QB3;
}
diff --git a/src/mame/video/clshroad.cpp b/src/mame/video/clshroad.cpp
index fbdde418cc1..6e6e14b5730 100644
--- a/src/mame/video/clshroad.cpp
+++ b/src/mame/video/clshroad.cpp
@@ -199,7 +199,7 @@ WRITE8_MEMBER(clshroad_state::vram_1_w)
}
-void clshroad_state::video_start_firebatl()
+VIDEO_START_MEMBER(clshroad_state,firebatl)
{
/* These 2 use the graphics and scroll value */
m_tilemap_0a = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_0a),this),TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
@@ -217,7 +217,7 @@ void clshroad_state::video_start_firebatl()
m_tilemap_1->configure_groups(*m_gfxdecode->gfx(2), 0x0f);
}
-void clshroad_state::video_start_clshroad()
+VIDEO_START_MEMBER(clshroad_state,clshroad)
{
/* These 2 use the graphics and scroll value */
m_tilemap_0a = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(clshroad_state::get_tile_info_0a),this),TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
diff --git a/src/mame/video/cninja.cpp b/src/mame/video/cninja.cpp
index 38db38ede0b..aede19bd9c0 100644
--- a/src/mame/video/cninja.cpp
+++ b/src/mame/video/cninja.cpp
@@ -11,7 +11,7 @@
/******************************************************************************/
-void cninja_state::video_start_stoneage()
+VIDEO_START_MEMBER(cninja_state,stoneage)
{
/* The bootleg has broken scroll registers */
m_deco_tilegen[0]->set_scrolldx(3, 0, -10, -10); /* pf4 16x16 tilemap */
@@ -251,7 +251,7 @@ uint32_t cninja_state::screen_update_robocop2(screen_device &screen, bitmap_ind1
return 0;
}
-void cninja_state::video_start_mutantf()
+VIDEO_START_MEMBER(cninja_state,mutantf)
{
m_sprgen[0]->alloc_sprite_bitmap();
m_sprgen[1]->alloc_sprite_bitmap();
diff --git a/src/mame/video/combatsc.cpp b/src/mame/video/combatsc.cpp
index 883f27f4a1e..3fcbbabedeb 100644
--- a/src/mame/video/combatsc.cpp
+++ b/src/mame/video/combatsc.cpp
@@ -252,7 +252,7 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_text_info_bootleg)
***************************************************************************/
-void combatsc_state::video_start_combatsc()
+VIDEO_START_MEMBER(combatsc_state,combatsc)
{
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(combatsc_state::get_tile_info0),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_bg_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(combatsc_state::get_tile_info1),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
@@ -271,7 +271,7 @@ void combatsc_state::video_start_combatsc()
save_pointer(NAME(m_spriteram[1].get()), 0x800);
}
-void combatsc_state::video_start_combatscb()
+VIDEO_START_MEMBER(combatsc_state,combatscb)
{
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(combatsc_state::get_tile_info0_bootleg),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_bg_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(combatsc_state::get_tile_info1_bootleg),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
diff --git a/src/mame/video/cps1.cpp b/src/mame/video/cps1.cpp
index c34647ec0f6..24420e6d8dc 100644
--- a/src/mame/video/cps1.cpp
+++ b/src/mame/video/cps1.cpp
@@ -1683,7 +1683,7 @@ CPS1 VIDEO RENDERER
#define CPS2_OBJ_YOFFS 0x0a /* Y offset (always 0x0010) */
-void cps_state::machine_reset_cps()
+MACHINE_RESET_MEMBER(cps_state,cps)
{
const char *gamename = machine().system().name;
const struct CPS1config *pCFG = &cps1_config_table[0];
@@ -2243,11 +2243,11 @@ void cps_state::cps1_update_transmasks()
}
}
-void cps_state::video_start_cps()
+VIDEO_START_MEMBER(cps_state,cps)
{
int i;
- machine_reset_cps();
+ MACHINE_RESET_CALL_MEMBER(cps);
/* Put in some const */
m_scroll_size = 0x4000; /* scroll1, scroll2, scroll3 */
@@ -2340,16 +2340,16 @@ void cps_state::video_start_cps()
machine().save().register_postload(save_prepost_delegate(FUNC(cps_state::cps1_get_video_base), this));
}
-void cps_state::video_start_cps1()
+VIDEO_START_MEMBER(cps_state,cps1)
{
m_cps_version = 1;
- video_start_cps();
+ VIDEO_START_CALL_MEMBER(cps);
}
-void cps_state::video_start_cps2()
+VIDEO_START_MEMBER(cps_state,cps2)
{
m_cps_version = 2;
- video_start_cps();
+ VIDEO_START_CALL_MEMBER(cps);
}
/***************************************************************************
diff --git a/src/mame/video/cvs.cpp b/src/mame/video/cvs.cpp
index ff13e91e749..824573f2ccc 100644
--- a/src/mame/video/cvs.cpp
+++ b/src/mame/video/cvs.cpp
@@ -117,7 +117,7 @@ WRITE8_MEMBER(cvs_state::cvs_scroll_w)
}
-void cvs_state::video_start_cvs()
+VIDEO_START_MEMBER(cvs_state,cvs)
{
cvs_init_stars();
diff --git a/src/mame/video/ddragon.cpp b/src/mame/video/ddragon.cpp
index 415f8189f84..6c4f33f454b 100644
--- a/src/mame/video/ddragon.cpp
+++ b/src/mame/video/ddragon.cpp
@@ -92,7 +92,7 @@ TILE_GET_INFO_MEMBER(ddragon_state::get_fg_16color_tile_info)
***************************************************************************/
-void ddragon_state::video_start_ddragon()
+VIDEO_START_MEMBER(ddragon_state,ddragon)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(ddragon_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(ddragon_state::background_scan),this), 16, 16, 32, 32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(ddragon_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
diff --git a/src/mame/video/ddragon3.cpp b/src/mame/video/ddragon3.cpp
index 9a5b4a9200f..cdb40e0e3d3 100644
--- a/src/mame/video/ddragon3.cpp
+++ b/src/mame/video/ddragon3.cpp
@@ -144,7 +144,7 @@ void wwfwfest_state::video_start()
}
-void wwfwfest_state::video_start_wwfwfstb()
+VIDEO_START_MEMBER(wwfwfest_state,wwfwfstb)
{
wwfwfest_state::video_start();
diff --git a/src/mame/video/dec0.cpp b/src/mame/video/dec0.cpp
index 0c7677b80f7..f89f85c3148 100644
--- a/src/mame/video/dec0.cpp
+++ b/src/mame/video/dec0.cpp
@@ -373,14 +373,14 @@ WRITE16_MEMBER(dec0_state::dec0_priority_w)
COMBINE_DATA(&m_pri);
}
-void dec0_state::video_start_dec0_nodma()
+VIDEO_START_MEMBER(dec0_state,dec0_nodma)
{
save_item(NAME(m_pri));
m_buffered_spriteram = m_spriteram;
save_pointer(NAME(m_buffered_spriteram), 0x800/2);
}
-void dec0_state::video_start_dec0()
+VIDEO_START_MEMBER(dec0_state,dec0)
{
save_item(NAME(m_pri));
m_buffered_spriteram = auto_alloc_array(machine(), uint16_t, 0x800/2);
diff --git a/src/mame/video/dec8.cpp b/src/mame/video/dec8.cpp
index cd8f3c49cdd..fed8235b07f 100644
--- a/src/mame/video/dec8.cpp
+++ b/src/mame/video/dec8.cpp
@@ -238,7 +238,7 @@ TILE_GET_INFO_MEMBER(dec8_state::get_cobracom_fix_tile_info)
0);
}
-void dec8_state::video_start_cobracom()
+VIDEO_START_MEMBER(dec8_state,cobracom)
{
allocate_buffered_spriteram16();
m_fix_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(dec8_state::get_cobracom_fix_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
@@ -272,7 +272,7 @@ TILE_GET_INFO_MEMBER(dec8_state::get_ghostb_fix_tile_info)
0);
}
-void dec8_state::video_start_ghostb()
+VIDEO_START_MEMBER(dec8_state,ghostb)
{
allocate_buffered_spriteram16();
m_fix_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(dec8_state::get_ghostb_fix_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
@@ -314,7 +314,7 @@ TILE_GET_INFO_MEMBER(dec8_state::get_oscar_fix_tile_info)
0);
}
-void dec8_state::video_start_oscar()
+VIDEO_START_MEMBER(dec8_state,oscar)
{
allocate_buffered_spriteram16();
m_fix_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(dec8_state::get_oscar_fix_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
@@ -387,7 +387,7 @@ TILE_GET_INFO_MEMBER(dec8_state::get_lastmisn_fix_tile_info)
0);
}
-void dec8_state::video_start_lastmisn()
+VIDEO_START_MEMBER(dec8_state,lastmisn)
{
allocate_buffered_spriteram16();
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(dec8_state::get_lastmisn_tile_info),this), tilemap_mapper_delegate(FUNC(dec8_state::lastmisn_scan_rows),this), 16, 16, 32, 32);
@@ -397,7 +397,7 @@ void dec8_state::video_start_lastmisn()
m_game_uses_priority = 0;
}
-void dec8_state::video_start_shackled()
+VIDEO_START_MEMBER(dec8_state,shackled)
{
allocate_buffered_spriteram16();
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(dec8_state::get_lastmisn_tile_info),this), tilemap_mapper_delegate(FUNC(dec8_state::lastmisn_scan_rows),this), 16, 16, 32, 32);
@@ -451,7 +451,7 @@ TILE_GET_INFO_MEMBER(dec8_state::get_srdarwin_tile_info)
tileinfo.group = color;
}
-void dec8_state::video_start_srdarwin()
+VIDEO_START_MEMBER(dec8_state,srdarwin)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(dec8_state::get_srdarwin_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 16);
m_fix_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(dec8_state::get_srdarwin_fix_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
@@ -519,7 +519,7 @@ TILE_GET_INFO_MEMBER(dec8_state::get_gondo_tile_info)
0);
}
-void dec8_state::video_start_gondo()
+VIDEO_START_MEMBER(dec8_state,gondo)
{
allocate_buffered_spriteram16();
m_fix_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(dec8_state::get_gondo_fix_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
@@ -530,7 +530,7 @@ void dec8_state::video_start_gondo()
m_game_uses_priority = 0;
}
-void dec8_state::video_start_garyoret()
+VIDEO_START_MEMBER(dec8_state,garyoret)
{
allocate_buffered_spriteram16();
m_fix_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(dec8_state::get_gondo_fix_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
diff --git a/src/mame/video/deco32.cpp b/src/mame/video/deco32.cpp
index 98d7686cf29..fe7c2fd097d 100644
--- a/src/mame/video/deco32.cpp
+++ b/src/mame/video/deco32.cpp
@@ -83,14 +83,14 @@ void deco32_state::allocate_rowscroll(int size1, int size2, int size3, int size4
save_pointer(NAME(m_pf_rowscroll[3].get()), size4);
}
-void captaven_state::video_start_captaven()
+VIDEO_START_MEMBER( captaven_state, captaven )
{
deco32_state::allocate_spriteram(0);
deco32_state::allocate_rowscroll(0x4000/4, 0x2000/4, 0x4000/4, 0x2000/4);
deco32_state::video_start();
}
-void fghthist_state::video_start_fghthist()
+VIDEO_START_MEMBER( fghthist_state, fghthist )
{
m_sprgen[0]->alloc_sprite_bitmap();
deco32_state::allocate_spriteram(0);
@@ -99,10 +99,11 @@ void fghthist_state::video_start_fghthist()
deco32_state::video_start();
}
-void nslasher_state::video_start_nslasher()
+VIDEO_START_MEMBER( nslasher_state, nslasher )
{
- int width = m_screen->width();
- int height = m_screen->height();
+ int width, height;
+ width = m_screen->width();
+ height = m_screen->height();
m_tilemap_alpha_bitmap=std::make_unique<bitmap_ind16>(width, height );
for (int chip = 0; chip < 2; chip++)
{
@@ -113,7 +114,7 @@ void nslasher_state::video_start_nslasher()
deco32_state::video_start();
}
-void dragngun_state::video_start_dragngun()
+VIDEO_START_MEMBER( dragngun_state, dragngun )
{
m_screen->register_screen_bitmap(m_temp_render_bitmap);
deco32_state::allocate_rowscroll(0x4000/4, 0x2000/4, 0x4000/4, 0x2000/4);
diff --git a/src/mame/video/deco_mlc.cpp b/src/mame/video/deco_mlc.cpp
index 00f226a562f..85f066de120 100644
--- a/src/mame/video/deco_mlc.cpp
+++ b/src/mame/video/deco_mlc.cpp
@@ -17,7 +17,7 @@
/******************************************************************************/
-void deco_mlc_state::video_start_mlc()
+VIDEO_START_MEMBER(deco_mlc_state,mlc)
{
int max_color = (0x800 / m_gfxdecode->gfx(0)->granularity());
m_colour_mask=max_color - 1;
diff --git a/src/mame/video/digdug.cpp b/src/mame/video/digdug.cpp
index 72b5f1840c5..bfd31abe377 100644
--- a/src/mame/video/digdug.cpp
+++ b/src/mame/video/digdug.cpp
@@ -140,7 +140,7 @@ TILE_GET_INFO_MEMBER(digdug_state::tx_get_tile_info)
***************************************************************************/
-void digdug_state::video_start_digdug()
+VIDEO_START_MEMBER(digdug_state,digdug)
{
m_bg_select = 0;
m_tx_color_mode = 0;
diff --git a/src/mame/video/divebomb.cpp b/src/mame/video/divebomb.cpp
index 3fa5288f43d..c1b58941930 100644
--- a/src/mame/video/divebomb.cpp
+++ b/src/mame/video/divebomb.cpp
@@ -132,7 +132,7 @@ PALETTE_INIT_MEMBER(divebomb_state, divebomb)
}
-void divebomb_state::video_start_divebomb()
+VIDEO_START_MEMBER(divebomb_state,divebomb)
{
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(divebomb_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_fg_tilemap->set_transparent_pen(0);
diff --git a/src/mame/video/dkong.cpp b/src/mame/video/dkong.cpp
index a0e69876274..9db63239907 100644
--- a/src/mame/video/dkong.cpp
+++ b/src/mame/video/dkong.cpp
@@ -908,7 +908,7 @@ void dkong_state::check_palette()
}
}
-void dkong_state::video_start_dkong_base()
+VIDEO_START_MEMBER(dkong_state,dkong_base)
{
m_cd4049_b = (log(0.0 - log(cd4049_al)) - log(0.0 - log((1.0-cd4049_al))) ) / log(cd4049_vh/cd4049_vl);
m_cd4049_a = log(0.0 - log(cd4049_al)) - m_cd4049_b * log(cd4049_vh);
@@ -948,9 +948,9 @@ void dkong_state::video_start_dkong_base()
}
-void dkong_state::video_start_dkong()
+VIDEO_START_MEMBER(dkong_state,dkong)
{
- video_start_dkong_base();
+ VIDEO_START_CALL_MEMBER(dkong_base);
m_scanline_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(dkong_state::scanline_callback),this));
m_scanline_timer->adjust(m_screen->time_until_pos(0));
diff --git a/src/mame/video/docastle.cpp b/src/mame/video/docastle.cpp
index ef6069a5caf..38ed7995853 100644
--- a/src/mame/video/docastle.cpp
+++ b/src/mame/video/docastle.cpp
@@ -114,7 +114,7 @@ void docastle_state::video_start()
video_start_common(0x00ff);
}
-void docastle_state::video_start_dorunrun()
+VIDEO_START_MEMBER(docastle_state,dorunrun)
{
video_start_common(0xff00);
}
diff --git a/src/mame/video/dynax.cpp b/src/mame/video/dynax.cpp
index ed484338348..6177c371c92 100644
--- a/src/mame/video/dynax.cpp
+++ b/src/mame/video/dynax.cpp
@@ -885,7 +885,7 @@ void dynax_state::dynax_common_reset()
save_item(NAME(m_hanamai_priority));
}
-void dynax_state::video_start_hanamai()
+VIDEO_START_MEMBER(dynax_state,hanamai)
{
m_pixmap[0][0] = std::make_unique<uint8_t[]>(256 * 256);
m_pixmap[0][1] = std::make_unique<uint8_t[]>(256 * 256);
@@ -909,7 +909,7 @@ void dynax_state::video_start_hanamai()
save_pointer(NAME(m_pixmap[3][1].get()), 256 * 256);
}
-void dynax_state::video_start_hnoridur()
+VIDEO_START_MEMBER(dynax_state,hnoridur)
{
m_pixmap[0][0] = std::make_unique<uint8_t[]>(256 * 256);
m_pixmap[0][1] = std::make_unique<uint8_t[]>(256 * 256);
@@ -935,13 +935,13 @@ void dynax_state::video_start_hnoridur()
save_pointer(NAME(m_pixmap[3][1].get()), 256 * 256);
}
-void dynax_state::video_start_mcnpshnt()
+VIDEO_START_MEMBER(dynax_state,mcnpshnt)
{
- video_start_hnoridur();
+ VIDEO_START_CALL_MEMBER(hnoridur);
m_priority_table = priority_mcnpshnt;
}
-void dynax_state::video_start_sprtmtch()
+VIDEO_START_MEMBER(dynax_state,sprtmtch)
{
m_pixmap[0][0] = std::make_unique<uint8_t[]>(256 * 256);
m_pixmap[0][1] = std::make_unique<uint8_t[]>(256 * 256);
@@ -961,7 +961,7 @@ void dynax_state::video_start_sprtmtch()
save_pointer(NAME(m_pixmap[2][1].get()), 256 * 256);
}
-void dynax_state::video_start_jantouki()
+VIDEO_START_MEMBER(dynax_state,jantouki)
{
m_pixmap[0][0] = std::make_unique<uint8_t[]>(256 * 256);
m_pixmap[0][1] = std::make_unique<uint8_t[]>(256 * 256);
@@ -1002,7 +1002,7 @@ void dynax_state::video_start_jantouki()
save_pointer(NAME(m_pixmap[7][1].get()), 256 * 256);
}
-void dynax_state::video_start_mjdialq2()
+VIDEO_START_MEMBER(dynax_state,mjdialq2)
{
m_pixmap[0][0] = std::make_unique<uint8_t[]>(256 * 256);
m_pixmap[1][0] = std::make_unique<uint8_t[]>(256 * 256);
@@ -1015,33 +1015,33 @@ void dynax_state::video_start_mjdialq2()
save_pointer(NAME(m_pixmap[1][0].get()), 256 * 256);
}
-void dynax_state::video_start_mjelctrn()
+VIDEO_START_MEMBER(dynax_state,mjelctrn)
{
- video_start_hnoridur();
+ VIDEO_START_CALL_MEMBER(hnoridur);
m_priority_table = priority_mjelctrn;
m_update_irq_func = &dynax_state::mjelctrn_update_irq;
}
-void dynax_state::video_start_mjembase()
+VIDEO_START_MEMBER(dynax_state,mjembase)
{
- video_start_hnoridur();
+ VIDEO_START_CALL_MEMBER(hnoridur);
m_priority_table = priority_mjembase;
m_update_irq_func = &dynax_state::mjelctrn_update_irq;
}
-void dynax_state::video_start_neruton()
+VIDEO_START_MEMBER(dynax_state,neruton)
{
- video_start_hnoridur();
+ VIDEO_START_CALL_MEMBER(hnoridur);
// m_priority_table = priority_mjelctrn;
m_update_irq_func = &dynax_state::mjelctrn_update_irq;
}
-void dynax_state::video_start_tenkai()
+VIDEO_START_MEMBER(dynax_state,tenkai)
{
- video_start_hnoridur();
+ VIDEO_START_CALL_MEMBER(hnoridur);
m_priority_table = priority_mjelctrn;
m_update_irq_func = &dynax_state::tenkai_update_irq;
diff --git a/src/mame/video/eolith.cpp b/src/mame/video/eolith.cpp
index 4a7005dbe32..2df768faaef 100644
--- a/src/mame/video/eolith.cpp
+++ b/src/mame/video/eolith.cpp
@@ -21,7 +21,7 @@ READ16_MEMBER(eolith_state::eolith_vram_r)
return m_vram[offset+(0x40000/2)*m_buffer];
}
-void eolith_state::video_start_eolith()
+VIDEO_START_MEMBER(eolith_state,eolith)
{
m_vram = std::make_unique<uint16_t[]>(0x40000);
save_pointer(NAME(m_vram.get()), 0x40000);
diff --git a/src/mame/video/eprom.cpp b/src/mame/video/eprom.cpp
index 8c409b40e94..6fbb6e34657 100644
--- a/src/mame/video/eprom.cpp
+++ b/src/mame/video/eprom.cpp
@@ -122,7 +122,7 @@ const atari_motion_objects_config eprom_state::s_mob_config =
0 /* resulting value to indicate "special" */
};
-void eprom_state::video_start_eprom()
+VIDEO_START_MEMBER(eprom_state,eprom)
{
/* save states */
save_item(NAME(m_screen_intensity));
@@ -164,7 +164,7 @@ const atari_motion_objects_config eprom_state::s_guts_mob_config =
0 /* resulting value to indicate "special" */
};
-void eprom_state::video_start_guts()
+VIDEO_START_MEMBER(eprom_state,guts)
{
/* save states */
save_item(NAME(m_screen_intensity));
diff --git a/src/mame/video/equites.cpp b/src/mame/video/equites.cpp
index 10bdbd0a401..66e366a9632 100644
--- a/src/mame/video/equites.cpp
+++ b/src/mame/video/equites.cpp
@@ -117,7 +117,7 @@ TILE_GET_INFO_MEMBER(splndrbt_state::splndrbt_bg_info)
*
*************************************/
-void equites_state::video_start_equites()
+VIDEO_START_MEMBER(equites_state,equites)
{
m_fg_videoram = std::make_unique<uint8_t[]>(0x800);
save_pointer(NAME(m_fg_videoram.get()), 0x800);
@@ -130,7 +130,7 @@ void equites_state::video_start_equites()
m_bg_tilemap->set_scrolldx(0, -10);
}
-void splndrbt_state::video_start_splndrbt()
+VIDEO_START_MEMBER(splndrbt_state,splndrbt)
{
assert(m_screen->format() == BITMAP_FORMAT_IND16);
diff --git a/src/mame/video/espial.cpp b/src/mame/video/espial.cpp
index 6d56fa15dfd..1a969eb45d7 100644
--- a/src/mame/video/espial.cpp
+++ b/src/mame/video/espial.cpp
@@ -95,7 +95,7 @@ void espial_state::video_start()
save_item(NAME(m_flipscreen));
}
-void espial_state::video_start_netwars()
+VIDEO_START_MEMBER(espial_state,netwars)
{
/* Net Wars has a tile map that's twice as big as Espial's */
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(espial_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 64);
diff --git a/src/mame/video/f1gp.cpp b/src/mame/video/f1gp.cpp
index f1860266a33..a28a6f12874 100644
--- a/src/mame/video/f1gp.cpp
+++ b/src/mame/video/f1gp.cpp
@@ -44,7 +44,9 @@ TILE_GET_INFO_MEMBER(f1gp_state::get_fg_tile_info)
***************************************************************************/
-void f1gp_state::video_start_f1gp()
+
+
+VIDEO_START_MEMBER(f1gp_state,f1gp)
{
m_roz_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(f1gp_state::f1gp_get_roz_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(f1gp_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
@@ -58,7 +60,7 @@ void f1gp_state::video_start_f1gp()
}
-void f1gp_state::video_start_f1gpb()
+VIDEO_START_MEMBER(f1gp_state,f1gpb)
{
m_roz_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(f1gp_state::f1gp_get_roz_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(f1gp_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
@@ -90,7 +92,7 @@ uint32_t f1gp_state::f1gp_ol2_tile_callback( uint32_t code )
-void f1gp_state::video_start_f1gp2()
+VIDEO_START_MEMBER(f1gp_state,f1gp2)
{
m_roz_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(f1gp_state::f1gp2_get_roz_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(f1gp_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
diff --git a/src/mame/video/fastfred.cpp b/src/mame/video/fastfred.cpp
index 291a0d24bc6..c32c7eefe1c 100644
--- a/src/mame/video/fastfred.cpp
+++ b/src/mame/video/fastfred.cpp
@@ -97,7 +97,7 @@ TILE_GET_INFO_MEMBER(fastfred_state::get_tile_info)
*
*************************************/
-void fastfred_state::video_start_fastfred()
+VIDEO_START_MEMBER(fastfred_state,fastfred)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(fastfred_state::get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
@@ -325,7 +325,7 @@ WRITE_LINE_MEMBER(fastfred_state::imago_charbank_w)
}
}
-void fastfred_state::video_start_imago()
+VIDEO_START_MEMBER(fastfred_state,imago)
{
m_web_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(fastfred_state::imago_get_tile_info_web),this),TILEMAP_SCAN_ROWS,8,8,32,32);
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(fastfred_state::imago_get_tile_info_bg),this), TILEMAP_SCAN_ROWS,8,8,32,32);
diff --git a/src/mame/video/firetrk.cpp b/src/mame/video/firetrk.cpp
index c82c990629c..c19477615ee 100644
--- a/src/mame/video/firetrk.cpp
+++ b/src/mame/video/firetrk.cpp
@@ -219,7 +219,7 @@ void firetrk_state::video_start()
}
-void firetrk_state::video_start_superbug()
+VIDEO_START_MEMBER(firetrk_state,superbug)
{
m_screen->register_screen_bitmap(m_helper1);
m_screen->register_screen_bitmap(m_helper2);
@@ -229,7 +229,7 @@ void firetrk_state::video_start_superbug()
}
-void firetrk_state::video_start_montecar()
+VIDEO_START_MEMBER(firetrk_state,montecar)
{
m_screen->register_screen_bitmap(m_helper1);
m_screen->register_screen_bitmap(m_helper2);
diff --git a/src/mame/video/flstory.cpp b/src/mame/video/flstory.cpp
index 55bcfd77292..be695acd92a 100644
--- a/src/mame/video/flstory.cpp
+++ b/src/mame/video/flstory.cpp
@@ -53,7 +53,7 @@ TILE_GET_INFO_MEMBER(flstory_state::get_rumba_tile_info)
0);
}
-void flstory_state::video_start_flstory()
+VIDEO_START_MEMBER(flstory_state,flstory)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(flstory_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
// m_bg_tilemap->set_transparent_pen(15);
@@ -70,7 +70,7 @@ void flstory_state::video_start_flstory()
save_item(NAME(m_paletteram_ext));
}
-void flstory_state::video_start_rumba()
+VIDEO_START_MEMBER(flstory_state,rumba)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(flstory_state::get_rumba_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
// m_bg_tilemap->set_transparent_pen(15);
@@ -87,7 +87,7 @@ void flstory_state::video_start_rumba()
save_item(NAME(m_paletteram_ext));
}
-void flstory_state::video_start_victnine()
+VIDEO_START_MEMBER(flstory_state,victnine)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(flstory_state::victnine_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_bg_tilemap->set_scroll_cols(32);
diff --git a/src/mame/video/fromanc2.cpp b/src/mame/video/fromanc2.cpp
index 3073e93ea6d..2eac256be6b 100644
--- a/src/mame/video/fromanc2.cpp
+++ b/src/mame/video/fromanc2.cpp
@@ -255,7 +255,7 @@ WRITE16_MEMBER(fromanc2_state::fromanc4_gfxreg_2_w)
******************************************************************************/
-void fromanc2_state::video_start_fromanc2()
+VIDEO_START_MEMBER(fromanc2_state,fromanc2)
{
m_tilemap[0][0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(&fromanc2_state::fromanc2_get_tile_info<0, 0>, "v0_l0", this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
m_tilemap[0][1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(&fromanc2_state::fromanc2_get_tile_info<0, 1>, "v0_l1", this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
@@ -293,7 +293,7 @@ void fromanc2_state::video_start_fromanc2()
save_item(NAME(m_gfxbank[1]));
}
-void fromanc2_state::video_start_fromancr()
+VIDEO_START_MEMBER(fromanc2_state,fromancr)
{
m_tilemap[0][0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(&fromanc2_state::fromancr_get_tile_info<0, 0>, "v0_l0", this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
m_tilemap[0][1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(&fromanc2_state::fromancr_get_tile_info<0, 1>, "v0_l1", this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
@@ -329,7 +329,7 @@ void fromanc2_state::video_start_fromancr()
save_item(NAME(m_gfxbank[1]));
}
-void fromanc2_state::video_start_fromanc4()
+VIDEO_START_MEMBER(fromanc2_state,fromanc4)
{
m_tilemap[0][0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(&fromanc2_state::fromancr_get_tile_info<0, 0>, "v0_l0", this), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
m_tilemap[0][1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(&fromanc2_state::fromancr_get_tile_info<0, 1>, "v0_l1", this), TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
diff --git a/src/mame/video/fromance.cpp b/src/mame/video/fromance.cpp
index 7490bc9cbc3..06ffec1c4e2 100644
--- a/src/mame/video/fromance.cpp
+++ b/src/mame/video/fromance.cpp
@@ -85,7 +85,7 @@ void fromance_state::init_common( )
save_pointer(NAME(m_local_paletteram.get()), 0x800 * 2);
}
-void fromance_state::video_start_fromance()
+VIDEO_START_MEMBER(fromance_state,fromance)
{
/* allocate tilemaps */
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(fromance_state::get_fromance_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
@@ -94,7 +94,7 @@ void fromance_state::video_start_fromance()
init_common();
}
-void fromance_state::video_start_nekkyoku()
+VIDEO_START_MEMBER(fromance_state,nekkyoku)
{
/* allocate tilemaps */
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(fromance_state::get_nekkyoku_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
@@ -103,15 +103,15 @@ void fromance_state::video_start_nekkyoku()
init_common();
}
-void fromance_state::video_start_pipedrm()
+VIDEO_START_MEMBER(fromance_state,pipedrm)
{
- video_start_fromance();
+ VIDEO_START_CALL_MEMBER(fromance);
m_scrolly_ofs = 0x00;
}
-void fromance_state::video_start_hatris()
+VIDEO_START_MEMBER(fromance_state,hatris)
{
- video_start_fromance();
+ VIDEO_START_CALL_MEMBER(fromance);
m_scrollx_ofs = 0xB9;
m_scrolly_ofs = 0x00;
}
diff --git a/src/mame/video/funworld.cpp b/src/mame/video/funworld.cpp
index 7a3300bd2f7..4c390c42e9a 100644
--- a/src/mame/video/funworld.cpp
+++ b/src/mame/video/funworld.cpp
@@ -125,17 +125,17 @@ TILE_GET_INFO_MEMBER(funworld_state::get_bg_tile_info)
}
-void funworld_state::video_start_funworld()
+VIDEO_START_MEMBER(funworld_state, funworld)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(funworld_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 4, 8, 96, 29);
}
-void funworld_state::video_start_magicrd2()
+VIDEO_START_MEMBER(funworld_state, magicrd2)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(funworld_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 4, 8, 112, 34);
}
-void funworld_state::video_start_chinatow()
+VIDEO_START_MEMBER(funworld_state, chinatow)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(funworld_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 4, 8, 96, 31);
}
diff --git a/src/mame/video/gaelco.cpp b/src/mame/video/gaelco.cpp
index e753deef09b..6e1b93899e7 100644
--- a/src/mame/video/gaelco.cpp
+++ b/src/mame/video/gaelco.cpp
@@ -75,7 +75,7 @@ WRITE16_MEMBER(gaelco_state::gaelco_vram_w)
***************************************************************************/
-void gaelco_state::video_start_bigkarnk()
+VIDEO_START_MEMBER(gaelco_state,bigkarnk)
{
m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(gaelco_state::get_tile_info_gaelco_screen0),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
m_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(gaelco_state::get_tile_info_gaelco_screen1),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
@@ -84,7 +84,7 @@ void gaelco_state::video_start_bigkarnk()
m_tilemap[1]->set_transmask(0, 0xff01, 0x00ff); /* pens 1-7 opaque, pens 0, 8-15 transparent */
}
-void gaelco_state::video_start_maniacsq()
+VIDEO_START_MEMBER(gaelco_state,maniacsq)
{
m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(gaelco_state::get_tile_info_gaelco_screen0),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
m_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(gaelco_state::get_tile_info_gaelco_screen1),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
diff --git a/src/mame/video/gaelco2.cpp b/src/mame/video/gaelco2.cpp
index 27baa999618..5632581de32 100644
--- a/src/mame/video/gaelco2.cpp
+++ b/src/mame/video/gaelco2.cpp
@@ -259,7 +259,7 @@ WRITE16_MEMBER(gaelco2_state::gaelco2_palette_w)
***************************************************************************/
-void gaelco2_state::video_start_gaelco2()
+VIDEO_START_MEMBER(gaelco2_state,gaelco2)
{
m_videoram = m_spriteram->live();
@@ -279,7 +279,7 @@ void gaelco2_state::video_start_gaelco2()
m_dual_monitor = 0;
}
-void gaelco2_state::video_start_gaelco2_dual()
+VIDEO_START_MEMBER(gaelco2_state,gaelco2_dual)
{
m_videoram = m_spriteram->live();
diff --git a/src/mame/video/gaiden.cpp b/src/mame/video/gaiden.cpp
index bdc8a08b7ff..d66dc509bf2 100644
--- a/src/mame/video/gaiden.cpp
+++ b/src/mame/video/gaiden.cpp
@@ -69,7 +69,7 @@ TILE_GET_INFO_MEMBER(gaiden_state::get_tx_tile_info)
***************************************************************************/
-void gaiden_state::video_start_gaiden()
+VIDEO_START_MEMBER(gaiden_state,gaiden)
{
/* set up tile layers */
m_screen->register_screen_bitmap(m_tile_bitmap_bg);
@@ -92,7 +92,7 @@ void gaiden_state::video_start_gaiden()
}
-void gaiden_state::video_start_raiga()
+VIDEO_START_MEMBER(gaiden_state,raiga)
{
/* set up tile layers */
m_screen->register_screen_bitmap(m_tile_bitmap_bg);
@@ -110,7 +110,7 @@ void gaiden_state::video_start_raiga()
m_screen->register_screen_bitmap(m_sprite_bitmap);
}
-void gaiden_state::video_start_drgnbowl()
+VIDEO_START_MEMBER(gaiden_state,drgnbowl)
{
/* set up tile layers */
m_background = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(gaiden_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
diff --git a/src/mame/video/galaga.cpp b/src/mame/video/galaga.cpp
index d1893441f4a..e86c2350e98 100644
--- a/src/mame/video/galaga.cpp
+++ b/src/mame/video/galaga.cpp
@@ -428,7 +428,7 @@ TILE_GET_INFO_MEMBER(galaga_state::get_tile_info)
***************************************************************************/
-void galaga_state::video_start_galaga()
+VIDEO_START_MEMBER(galaga_state,galaga)
{
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(galaga_state::get_tile_info),this),tilemap_mapper_delegate(FUNC(galaga_state::tilemap_scan),this),8,8,36,28);
m_fg_tilemap->configure_groups(*m_gfxdecode->gfx(0), 0x1f);
diff --git a/src/mame/video/galaxia.cpp b/src/mame/video/galaxia.cpp
index 2d5d6a56939..94b6c423c61 100644
--- a/src/mame/video/galaxia.cpp
+++ b/src/mame/video/galaxia.cpp
@@ -83,7 +83,7 @@ void galaxia_state::init_common()
cvs_init_stars();
}
-void galaxia_state::video_start_galaxia()
+VIDEO_START_MEMBER(galaxia_state,galaxia)
{
init_common();
@@ -93,7 +93,7 @@ void galaxia_state::video_start_galaxia()
}
-void galaxia_state::video_start_astrowar()
+VIDEO_START_MEMBER(galaxia_state,astrowar)
{
init_common();
diff --git a/src/mame/video/galaxold.cpp b/src/mame/video/galaxold.cpp
index 29b92a463e0..b8787b288c5 100644
--- a/src/mame/video/galaxold.cpp
+++ b/src/mame/video/galaxold.cpp
@@ -425,7 +425,7 @@ void galaxold_state::video_start_common()
state_save_register();
}
-void galaxold_state::video_start_galaxold_plain()
+VIDEO_START_MEMBER(galaxold_state,galaxold_plain)
{
video_start_common();
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(galaxold_state::get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
@@ -436,18 +436,18 @@ void galaxold_state::video_start_galaxold_plain()
m_color_mask = (m_gfxdecode->gfx(0)->granularity() == 4) ? 7 : 3;
}
-void galaxold_state::video_start_galaxold()
+VIDEO_START_MEMBER(galaxold_state,galaxold)
{
- video_start_galaxold_plain();
+ VIDEO_START_CALL_MEMBER(galaxold_plain);
m_draw_stars = &galaxold_state::galaxold_draw_stars;
m_draw_bullets = &galaxold_state::galaxold_draw_bullets;
}
-void galaxold_state::video_start_scrambold()
+VIDEO_START_MEMBER(galaxold_state,scrambold)
{
- video_start_galaxold_plain();
+ VIDEO_START_CALL_MEMBER(galaxold_plain);
/* FIXME: This most probably needs to be adjusted
* again when RAW video params are added to scramble
@@ -461,57 +461,57 @@ void galaxold_state::video_start_scrambold()
m_draw_background = &galaxold_state::scrambold_draw_background;
}
-void galaxold_state::video_start_newsin7()
+VIDEO_START_MEMBER(galaxold_state, newsin7)
{
- video_start_scrambold();
+ VIDEO_START_CALL_MEMBER(scrambold);
m_leftclip = 0;
}
-void galaxold_state::video_start_darkplnt()
+VIDEO_START_MEMBER(galaxold_state,darkplnt)
{
- video_start_galaxold_plain();
+ VIDEO_START_CALL_MEMBER(galaxold_plain);
m_bg_tilemap->set_scrolldx(0, 0);
m_draw_bullets = &galaxold_state::darkplnt_draw_bullets;
}
-void galaxold_state::video_start_rescue()
+VIDEO_START_MEMBER(galaxold_state,rescue)
{
- video_start_scrambold();
+ VIDEO_START_CALL_MEMBER(scrambold);
m_draw_stars = &galaxold_state::rescue_draw_stars;
m_draw_background = &galaxold_state::rescue_draw_background;
}
-void galaxold_state::video_start_minefld()
+VIDEO_START_MEMBER(galaxold_state,minefld)
{
- video_start_scrambold();
+ VIDEO_START_CALL_MEMBER(scrambold);
m_draw_stars = &galaxold_state::rescue_draw_stars;
m_draw_background = &galaxold_state::minefld_draw_background;
}
-void galaxold_state::video_start_stratgyx()
+VIDEO_START_MEMBER(galaxold_state,stratgyx)
{
- video_start_galaxold_plain();
+ VIDEO_START_CALL_MEMBER(galaxold_plain);
m_draw_background = &galaxold_state::stratgyx_draw_background;
}
-void galaxold_state::video_start_ckongs()
+VIDEO_START_MEMBER(galaxold_state,ckongs)
{
- video_start_scrambold();
+ VIDEO_START_CALL_MEMBER(scrambold);
m_modify_spritecode = &galaxold_state::mshuttle_modify_spritecode;
}
-void galaxold_state::video_start_mariner()
+VIDEO_START_MEMBER(galaxold_state,mariner)
{
- video_start_galaxold_plain();
+ VIDEO_START_CALL_MEMBER(galaxold_plain);
m_draw_stars = &galaxold_state::mariner_draw_stars;
@@ -522,17 +522,17 @@ void galaxold_state::video_start_mariner()
m_modify_charcode = &galaxold_state::mariner_modify_charcode;
}
-void galaxold_state::video_start_mimonkey()
+VIDEO_START_MEMBER(galaxold_state,mimonkey)
{
- video_start_scrambold();
+ VIDEO_START_CALL_MEMBER(scrambold);
m_modify_charcode = &galaxold_state::mimonkey_modify_charcode;
m_modify_spritecode = &galaxold_state::mimonkey_modify_spritecode;
}
-void galaxold_state::video_start_dkongjrm()
+VIDEO_START_MEMBER(galaxold_state,dkongjrm)
{
- video_start_galaxold_plain();
+ VIDEO_START_CALL_MEMBER(galaxold_plain);
m_modify_charcode = &galaxold_state::pisces_modify_charcode;
m_modify_spritecode = &galaxold_state::dkongjrm_modify_spritecode;
@@ -540,17 +540,17 @@ void galaxold_state::video_start_dkongjrm()
m_spriteram2_present= 1;
}
-void galaxold_state::video_start_dkongjrmc()
+VIDEO_START_MEMBER(galaxold_state,dkongjrmc)
{
- video_start_galaxold_plain();
+ VIDEO_START_CALL_MEMBER(galaxold_plain);
m_modify_charcode = &galaxold_state::pisces_modify_charcode;
m_modify_spritecode = &galaxold_state::dkongjrmc_modify_spritecode;
}
-void galaxold_state::video_start_scorpion()
+VIDEO_START_MEMBER(galaxold_state,scorpion)
{
- video_start_scrambold();
+ VIDEO_START_CALL_MEMBER(scrambold);
m_modify_spritecode = &galaxold_state::batman2_modify_spritecode;
}
@@ -560,9 +560,9 @@ void galaxold_state::pisces_modify_spritecode(uint8_t *spriteram, int *code, int
*code |= (m_gfxbank[0] << 6);
}
-void galaxold_state::video_start_pisces()
+VIDEO_START_MEMBER(galaxold_state,pisces)
{
- video_start_galaxold();
+ VIDEO_START_CALL_MEMBER(galaxold);
m_modify_charcode = &galaxold_state::pisces_modify_charcode;
m_modify_spritecode = &galaxold_state::pisces_modify_spritecode;
@@ -584,9 +584,9 @@ void galaxold_state::theend_draw_bullets(bitmap_ind16 &bitmap, const rectangle &
}
}
-void galaxold_state::video_start_theend()
+VIDEO_START_MEMBER(galaxold_state,theend)
{
- video_start_galaxold();
+ VIDEO_START_CALL_MEMBER(galaxold);
m_draw_bullets = &galaxold_state::theend_draw_bullets;
}
@@ -600,9 +600,9 @@ void galaxold_state::mooncrst_modify_spritecode(uint8_t *spriteram, int *code, i
}
}
-void galaxold_state::video_start_mooncrst()
+VIDEO_START_MEMBER(galaxold_state,mooncrst)
{
- video_start_galaxold();
+ VIDEO_START_CALL_MEMBER(galaxold);
m_modify_charcode = &galaxold_state::mooncrst_modify_charcode;
m_modify_spritecode = &galaxold_state::mooncrst_modify_spritecode;
@@ -618,9 +618,9 @@ void galaxold_state::rockclim_modify_spritecode(uint8_t *spriteram, int *code, i
if (m_gfxbank[2]) *code|=0x40;
}
-void galaxold_state::video_start_rockclim()
+VIDEO_START_MEMBER(galaxold_state,rockclim)
{
- video_start_galaxold();
+ VIDEO_START_CALL_MEMBER(galaxold);
m_rockclim_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(galaxold_state::rockclim_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
m_draw_background = &galaxold_state::rockclim_draw_background;
@@ -645,7 +645,7 @@ TILE_GET_INFO_MEMBER(galaxold_state::drivfrcg_get_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-void galaxold_state::video_start_drivfrcg()
+VIDEO_START_MEMBER(galaxold_state,drivfrcg)
{
video_start_common();
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(galaxold_state::drivfrcg_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
@@ -659,7 +659,7 @@ void galaxold_state::video_start_drivfrcg()
m_color_mask = 0xff;
}
-void galaxold_state::video_start_ad2083()
+VIDEO_START_MEMBER(galaxold_state,ad2083)
{
video_start_common();
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(galaxold_state::drivfrcg_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
@@ -695,7 +695,7 @@ TILE_GET_INFO_MEMBER(galaxold_state::racknrol_get_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-void galaxold_state::video_start_racknrol()
+VIDEO_START_MEMBER(galaxold_state,racknrol)
{
video_start_common();
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(galaxold_state::racknrol_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
@@ -726,7 +726,7 @@ void galaxold_state::harem_modify_spritecode(uint8_t *spriteram, int *code, int
*code |= (m_gfxbank[0] << 7) | 0x40;
}
-void galaxold_state::video_start_harem()
+VIDEO_START_MEMBER(galaxold_state,harem)
{
video_start_common();
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(galaxold_state::harem_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
@@ -739,16 +739,16 @@ void galaxold_state::video_start_harem()
m_modify_spritecode = &galaxold_state::harem_modify_spritecode;
}
-void galaxold_state::video_start_ozon1()
+VIDEO_START_MEMBER(galaxold_state,ozon1)
{
- video_start_galaxold_plain();
+ VIDEO_START_CALL_MEMBER(galaxold_plain);
m_bg_tilemap->set_scrolldx(0, 384-256);
}
-void galaxold_state::video_start_bongo()
+VIDEO_START_MEMBER(galaxold_state,bongo)
{
- video_start_galaxold_plain();
+ VIDEO_START_CALL_MEMBER(galaxold_plain);
m_bg_tilemap->set_scrolldx(0, 384-256);
@@ -775,9 +775,9 @@ TILE_GET_INFO_MEMBER(galaxold_state::dambustr_get_tile_info2)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-void galaxold_state::video_start_dambustr()
+VIDEO_START_MEMBER(galaxold_state,dambustr)
{
- video_start_galaxold();
+ VIDEO_START_CALL_MEMBER(galaxold);
m_dambustr_bg_split_line = 0;
m_dambustr_bg_color_1 = 0;
@@ -1797,9 +1797,9 @@ void galaxold_state::bagmanmc_modify_spritecode(uint8_t *spriteram, int *code, i
*code |= (m_gfxbank[0] << 7) | 0x40;
}
-void galaxold_state::video_start_bagmanmc()
+VIDEO_START_MEMBER(galaxold_state,bagmanmc)
{
- video_start_galaxold();
+ VIDEO_START_CALL_MEMBER(galaxold);
m_modify_charcode = &galaxold_state::bagmanmc_modify_charcode;
m_modify_spritecode = &galaxold_state::bagmanmc_modify_spritecode;
diff --git a/src/mame/video/galivan.cpp b/src/mame/video/galivan.cpp
index b64e3231933..a5ccf0ad347 100644
--- a/src/mame/video/galivan.cpp
+++ b/src/mame/video/galivan.cpp
@@ -174,7 +174,7 @@ TILE_GET_INFO_MEMBER(galivan_state::ninjemak_get_tx_tile_info)
***************************************************************************/
-void galivan_state::video_start_galivan()
+VIDEO_START_MEMBER(galivan_state,galivan)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(galivan_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 128, 128);
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(galivan_state::get_tx_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
@@ -182,7 +182,7 @@ void galivan_state::video_start_galivan()
m_tx_tilemap->set_transparent_pen(15);
}
-void galivan_state::video_start_ninjemak()
+VIDEO_START_MEMBER(galivan_state,ninjemak)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(galivan_state::ninjemak_get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 512, 32);
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(galivan_state::ninjemak_get_tx_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
diff --git a/src/mame/video/galspnbl.cpp b/src/mame/video/galspnbl.cpp
index 31556de9cc4..9b442a3b0bf 100644
--- a/src/mame/video/galspnbl.cpp
+++ b/src/mame/video/galspnbl.cpp
@@ -30,7 +30,7 @@ void galspnbl_state::draw_background( bitmap_ind16 &bitmap, const rectangle &cli
}
}
-void galspnbl_state::video_start_galspnbl()
+VIDEO_START_MEMBER(galspnbl_state,galspnbl)
{
/* allocate bitmaps */
m_screen->register_screen_bitmap(m_sprite_bitmap);
diff --git a/src/mame/video/gameplan.cpp b/src/mame/video/gameplan.cpp
index da21e239b86..6f15aad5be3 100644
--- a/src/mame/video/gameplan.cpp
+++ b/src/mame/video/gameplan.cpp
@@ -265,7 +265,7 @@ TIMER_CALLBACK_MEMBER(gameplan_state::via_0_ca1_timer_callback)
*
*************************************/
-void gameplan_state::video_start()
+VIDEO_START_MEMBER(gameplan_state,common)
{
m_videoram_size = (HBSTART - HBEND) * (VBSTART - VBEND);
m_videoram = std::make_unique<uint8_t[]>(m_videoram_size);
@@ -277,13 +277,32 @@ void gameplan_state::video_start()
}
+VIDEO_START_MEMBER(gameplan_state,gameplan)
+{
+ VIDEO_START_CALL_MEMBER(common);
+}
+
+
+VIDEO_START_MEMBER(gameplan_state,leprechn)
+{
+ VIDEO_START_CALL_MEMBER(common);
+}
+
+
+VIDEO_START_MEMBER(gameplan_state,trvquest)
+{
+ VIDEO_START_CALL_MEMBER(common);
+}
+
+
+
/*************************************
*
* Reset
*
*************************************/
-void gameplan_state::video_reset_gameplan()
+VIDEO_RESET_MEMBER(gameplan_state,gameplan)
{
m_via_0_ca1_timer->adjust(m_screen->time_until_pos(VBSTART));
}
@@ -297,7 +316,8 @@ void gameplan_state::video_reset_gameplan()
*************************************/
MACHINE_CONFIG_START(gameplan_state::gameplan_video)
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_gameplan, this));
+ MCFG_VIDEO_START_OVERRIDE(gameplan_state,gameplan)
+ MCFG_VIDEO_RESET_OVERRIDE(gameplan_state,gameplan)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(GAMEPLAN_PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
@@ -306,6 +326,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(gameplan_state::leprechn_video)
+ MCFG_VIDEO_START_OVERRIDE(gameplan_state,leprechn)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(gameplan_state, screen_update_leprechn)
MACHINE_CONFIG_END
@@ -313,6 +334,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(gameplan_state::trvquest_video)
gameplan_video(config);
+ MCFG_VIDEO_START_OVERRIDE(gameplan_state,trvquest)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(gameplan_state, screen_update_gameplan)
MACHINE_CONFIG_END
diff --git a/src/mame/video/gberet.cpp b/src/mame/video/gberet.cpp
index d9c72f67edf..37b5a1e999a 100644
--- a/src/mame/video/gberet.cpp
+++ b/src/mame/video/gberet.cpp
@@ -117,7 +117,7 @@ TILE_GET_INFO_MEMBER(gberet_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-void gberet_state::video_start_gberet()
+VIDEO_START_MEMBER(gberet_state,gberet)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(gberet_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_bg_tilemap->configure_groups(*m_gfxdecode->gfx(0), 0x10);
diff --git a/src/mame/video/gladiatr.cpp b/src/mame/video/gladiatr.cpp
index 0ad9ff4f251..03702a38cb9 100644
--- a/src/mame/video/gladiatr.cpp
+++ b/src/mame/video/gladiatr.cpp
@@ -42,7 +42,7 @@ TILE_GET_INFO_MEMBER(gladiatr_state_base::fg_get_tile_info)
***************************************************************************/
-void ppking_state::video_start_ppking()
+VIDEO_START_MEMBER(ppking_state,ppking)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(ppking_state::bg_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,64);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(ppking_state::fg_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,64);
@@ -59,7 +59,7 @@ void ppking_state::video_start_ppking()
save_item(NAME(m_fg_tile_bank));
}
-void gladiatr_state::video_start_gladiatr()
+VIDEO_START_MEMBER(gladiatr_state,gladiatr)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(gladiatr_state::bg_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(gladiatr_state::fg_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
diff --git a/src/mame/video/goldstar.cpp b/src/mame/video/goldstar.cpp
index 5274c5f0d31..369c6f89de1 100644
--- a/src/mame/video/goldstar.cpp
+++ b/src/mame/video/goldstar.cpp
@@ -103,7 +103,7 @@ TILE_GET_INFO_MEMBER(goldstar_state::get_goldstar_reel3_tile_info)
0);
}
-void goldstar_state::video_start_goldstar()
+VIDEO_START_MEMBER(goldstar_state, goldstar)
{
m_reel1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
m_reel2_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
@@ -120,7 +120,7 @@ void goldstar_state::video_start_goldstar()
m_cm_enable_reg = 0x0b;
}
-void goldstar_state::video_start_cherrym()
+VIDEO_START_MEMBER(goldstar_state, cherrym)
{
m_reel1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
m_reel2_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
@@ -345,7 +345,7 @@ TILE_GET_INFO_MEMBER(wingco_state::get_magical_fg_tile_info)
}
-void wingco_state::video_start_bingowng()
+VIDEO_START_MEMBER(wingco_state, bingowng)
{
m_reel1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(wingco_state::get_goldstar_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
@@ -358,7 +358,7 @@ void wingco_state::video_start_bingowng()
m_cm_enable_reg = 0x0b;
}
-void wingco_state::video_start_magical()
+VIDEO_START_MEMBER(wingco_state, magical)
{
m_reel1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(wingco_state::get_goldstar_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
m_reel2_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(wingco_state::get_goldstar_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
@@ -599,7 +599,7 @@ TILE_GET_INFO_MEMBER(sanghopm_state::get_reel3_tile_info)
}
-void sanghopm_state::video_start_sangho()
+VIDEO_START_MEMBER(sanghopm_state, sangho)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(sanghopm_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
@@ -704,7 +704,7 @@ TILE_GET_INFO_MEMBER(unkch_state::get_reel3_tile_info)
}
-void unkch_state::video_start_unkch()
+VIDEO_START_MEMBER(unkch_state, unkch)
{
m_reel1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(unkch_state::get_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
m_reel2_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(unkch_state::get_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8);
diff --git a/src/mame/video/gottlieb.cpp b/src/mame/video/gottlieb.cpp
index 1bacddb2902..0186340942a 100644
--- a/src/mame/video/gottlieb.cpp
+++ b/src/mame/video/gottlieb.cpp
@@ -157,7 +157,7 @@ void gottlieb_state::video_start()
save_item(NAME(m_transparent0));
}
-void gottlieb_state::video_start_screwloo()
+VIDEO_START_MEMBER(gottlieb_state,screwloo)
{
static const int resistances[4] = { 2000, 1000, 470, 240 };
diff --git a/src/mame/video/hec2hrp.cpp b/src/mame/video/hec2hrp.cpp
index 7309705a389..fcc874726e1 100644
--- a/src/mame/video/hec2hrp.cpp
+++ b/src/mame/video/hec2hrp.cpp
@@ -111,7 +111,7 @@ void hec2hrp_state::hector_80c(bitmap_ind16 &bitmap, uint8_t *page, int ymax, in
}
-void hec2hrp_state::video_start_hec2hrp()
+VIDEO_START_MEMBER(hec2hrp_state,hec2hrp)
{
Init_Hector_Palette();
}
diff --git a/src/mame/video/hnayayoi.cpp b/src/mame/video/hnayayoi.cpp
index fd85b75e16f..3de4f445f74 100644
--- a/src/mame/video/hnayayoi.cpp
+++ b/src/mame/video/hnayayoi.cpp
@@ -28,7 +28,7 @@ void hnayayoi_state::video_start()
common_vh_start(4); /* 4 bitmaps -> 2 layers */
}
-void hnayayoi_state::video_start_untoucha()
+VIDEO_START_MEMBER(hnayayoi_state,untoucha)
{
common_vh_start(8); /* 8 bitmaps -> 4 layers */
}
diff --git a/src/mame/video/holeland.cpp b/src/mame/video/holeland.cpp
index 043a5d0519b..3000a758edb 100644
--- a/src/mame/video/holeland.cpp
+++ b/src/mame/video/holeland.cpp
@@ -55,7 +55,7 @@ TILE_GET_INFO_MEMBER(holeland_state::crzrally_get_tile_info)
***************************************************************************/
-void holeland_state::video_start_holeland()
+VIDEO_START_MEMBER(holeland_state,holeland)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(holeland_state::holeland_get_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
@@ -65,7 +65,7 @@ void holeland_state::video_start_holeland()
save_item(NAME(m_palette_offset));
}
-void holeland_state::video_start_crzrally()
+VIDEO_START_MEMBER(holeland_state,crzrally)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(holeland_state::crzrally_get_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
diff --git a/src/mame/video/homedata.cpp b/src/mame/video/homedata.cpp
index 0e2b3546fa8..7ef82a6564e 100644
--- a/src/mame/video/homedata.cpp
+++ b/src/mame/video/homedata.cpp
@@ -618,7 +618,7 @@ TILE_GET_INFO_MEMBER(homedata_state::mirderby_get_info1_1)
***************************************************************************/
-void homedata_state::video_start_mrokumei()
+VIDEO_START_MEMBER(homedata_state,mrokumei)
{
m_bg_tilemap[0][0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(homedata_state::mrokumei_get_info0_0),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
m_bg_tilemap[0][1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(homedata_state::mrokumei_get_info0_1),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
@@ -629,7 +629,7 @@ void homedata_state::video_start_mrokumei()
m_bg_tilemap[1][1]->set_transparent_pen(0);
}
-void homedata_state::video_start_reikaids()
+VIDEO_START_MEMBER(homedata_state,reikaids)
{
m_bg_tilemap[0][0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info0_0),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_bg_tilemap[0][1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(homedata_state::reikaids_get_info0_1),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
@@ -650,7 +650,7 @@ void homedata_state::video_start_reikaids()
m_bg_tilemap[1][3]->set_transparent_pen(0xff);
}
-void homedata_state::video_start_pteacher()
+VIDEO_START_MEMBER(homedata_state,pteacher)
{
m_bg_tilemap[0][0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(homedata_state::pteacher_get_info0_0),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_bg_tilemap[0][1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(homedata_state::pteacher_get_info0_1),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
@@ -661,7 +661,7 @@ void homedata_state::video_start_pteacher()
m_bg_tilemap[1][1]->set_transparent_pen(0xff);
}
-void homedata_state::video_start_lemnangl()
+VIDEO_START_MEMBER(homedata_state,lemnangl)
{
m_bg_tilemap[0][0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(homedata_state::lemnangl_get_info0_0),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_bg_tilemap[0][1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(homedata_state::lemnangl_get_info0_1),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
@@ -672,7 +672,7 @@ void homedata_state::video_start_lemnangl()
m_bg_tilemap[1][1]->set_transparent_pen(0x0f);
}
-void homedata_state::video_start_mirderby()
+VIDEO_START_MEMBER(homedata_state,mirderby)
{
m_bg_tilemap[0][0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(homedata_state::mirderby_get_info0_0),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
m_bg_tilemap[0][1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(homedata_state::mirderby_get_info0_1),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
diff --git a/src/mame/video/hyperspt.cpp b/src/mame/video/hyperspt.cpp
index dbe2c638798..6b268069dc7 100644
--- a/src/mame/video/hyperspt.cpp
+++ b/src/mame/video/hyperspt.cpp
@@ -186,7 +186,7 @@ TILE_GET_INFO_MEMBER(hyperspt_state::roadf_get_bg_tile_info)
SET_TILE_INFO_MEMBER(1, code, color, flags);
}
-void hyperspt_state::video_start_roadf()
+VIDEO_START_MEMBER(hyperspt_state,roadf)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(hyperspt_state::roadf_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_bg_tilemap->set_scroll_rows(32);
diff --git a/src/mame/video/ironhors.cpp b/src/mame/video/ironhors.cpp
index 51e61200d0a..16434bbdf86 100644
--- a/src/mame/video/ironhors.cpp
+++ b/src/mame/video/ironhors.cpp
@@ -254,7 +254,7 @@ TILE_GET_INFO_MEMBER(ironhors_state::farwest_get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, flags);
}
-void ironhors_state::video_start_farwest()
+VIDEO_START_MEMBER(ironhors_state,farwest)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(ironhors_state::farwest_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
diff --git a/src/mame/video/jack.cpp b/src/mame/video/jack.cpp
index 348804bf69e..745dd151df6 100644
--- a/src/mame/video/jack.cpp
+++ b/src/mame/video/jack.cpp
@@ -174,7 +174,7 @@ TILE_GET_INFO_MEMBER(jack_state::joinem_get_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-void jack_state::video_start_joinem()
+VIDEO_START_MEMBER(jack_state,joinem)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(jack_state::joinem_get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(jack_state::tilemap_scan_cols_flipy),this), 8, 8, 32, 32);
m_bg_tilemap->set_scroll_cols(32);
diff --git a/src/mame/video/jpmimpct.cpp b/src/mame/video/jpmimpct.cpp
index bf6e87390e0..8d68a44bd49 100644
--- a/src/mame/video/jpmimpct.cpp
+++ b/src/mame/video/jpmimpct.cpp
@@ -127,7 +127,7 @@ TMS340X0_SCANLINE_RGB32_CB_MEMBER(jpmimpct_state::scanline_update)
*
*************************************/
-void jpmimpct_state::video_start_jpmimpct()
+VIDEO_START_MEMBER(jpmimpct_state,jpmimpct)
{
memset(&m_bt477, 0, sizeof(m_bt477));
diff --git a/src/mame/video/kaneko16.cpp b/src/mame/video/kaneko16.cpp
index 594f06f377c..20fefcb1f56 100644
--- a/src/mame/video/kaneko16.cpp
+++ b/src/mame/video/kaneko16.cpp
@@ -18,7 +18,7 @@ WRITE16_MEMBER(kaneko16_state::kaneko16_display_enable)
COMBINE_DATA(&m_disp_enable);
}
-void kaneko16_state::video_start_kaneko16()
+VIDEO_START_MEMBER(kaneko16_state,kaneko16)
{
m_disp_enable = 1; // default enabled for games not using it
save_item(NAME(m_disp_enable));
@@ -113,7 +113,7 @@ PALETTE_INIT_MEMBER(kaneko16_berlwall_state,berlwall)
palette.set_pen_color(i,pal5bit(i >> 5),pal5bit(i >> 10),pal5bit(i >> 0));
}
-void kaneko16_berlwall_state::video_start_berlwall()
+VIDEO_START_MEMBER(kaneko16_berlwall_state,berlwall)
{
uint8_t *RAM = memregion("gfx3")->base();
@@ -160,11 +160,15 @@ void kaneko16_berlwall_state::video_start_berlwall()
}
}
- video_start_kaneko16();
+ VIDEO_START_CALL_MEMBER(kaneko16);
}
+
+
+
+
/* Select the high color background image (out of 32 in the ROMs) */
READ16_MEMBER(kaneko16_berlwall_state::kaneko16_bg15_select_r)
{
diff --git a/src/mame/video/karnov.cpp b/src/mame/video/karnov.cpp
index 753e8876996..b9f6443bd26 100644
--- a/src/mame/video/karnov.cpp
+++ b/src/mame/video/karnov.cpp
@@ -99,7 +99,7 @@ WRITE16_MEMBER(karnov_state::karnov_playfield_swap_w)
/******************************************************************************/
-void karnov_state::video_start_karnov()
+VIDEO_START_MEMBER(karnov_state,karnov)
{
/* Allocate bitmap & tilemap */
m_bitmap_f = std::make_unique<bitmap_ind16>(512, 512);
@@ -110,7 +110,7 @@ void karnov_state::video_start_karnov()
m_fix_tilemap->set_transparent_pen(0);
}
-void karnov_state::video_start_wndrplnt()
+VIDEO_START_MEMBER(karnov_state,wndrplnt)
{
/* Allocate bitmap & tilemap */
m_bitmap_f = std::make_unique<bitmap_ind16>(512, 512);
diff --git a/src/mame/video/kaypro.cpp b/src/mame/video/kaypro.cpp
index f67bbec61ed..86ca79a7506 100644
--- a/src/mame/video/kaypro.cpp
+++ b/src/mame/video/kaypro.cpp
@@ -307,7 +307,7 @@ WRITE8_MEMBER( kaypro_state::kaypro484_videoram_w )
m_p_videoram[m_mc6845_video_address] = data;
}
-void kaypro_state::video_start_kaypro()
+VIDEO_START_MEMBER(kaypro_state,kaypro)
{
m_p_videoram = memregion("roms")->base()+0x3000;
}
diff --git a/src/mame/video/kickgoal.cpp b/src/mame/video/kickgoal.cpp
index ac479affc00..71aa4f2f7c4 100644
--- a/src/mame/video/kickgoal.cpp
+++ b/src/mame/video/kickgoal.cpp
@@ -117,7 +117,7 @@ void kickgoal_state::kickgoal_draw_sprites(bitmap_ind16 &bitmap,const rectangle
}
-void kickgoal_state::video_start_kickgoal()
+VIDEO_START_MEMBER(kickgoal_state,kickgoal)
{
m_sprbase = 0x0000;
@@ -137,7 +137,7 @@ void kickgoal_state::video_start_kickgoal()
m_bgtm->set_transparent_pen(15);
}
-void kickgoal_state::video_start_actionhw()
+VIDEO_START_MEMBER(kickgoal_state,actionhw)
{
m_sprbase = 0x4000;
m_fg_base = 0x7000 * 2;
diff --git a/src/mame/video/kingobox.cpp b/src/mame/video/kingobox.cpp
index 34da91d38c3..9a81d46f9d1 100644
--- a/src/mame/video/kingobox.cpp
+++ b/src/mame/video/kingobox.cpp
@@ -193,7 +193,7 @@ TILE_GET_INFO_MEMBER(kingofb_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(bank, code, color, 0);
}
-void kingofb_state::video_start_kingofb()
+VIDEO_START_MEMBER(kingofb_state,kingofb)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(kingofb_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS_FLIP_Y, 16, 16, 16, 16);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(kingofb_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS_FLIP_Y, 8, 8, 32, 32);
@@ -257,7 +257,7 @@ TILE_GET_INFO_MEMBER(kingofb_state::ringking_get_bg_tile_info)
SET_TILE_INFO_MEMBER(4, code, color, 0);
}
-void kingofb_state::video_start_ringking()
+VIDEO_START_MEMBER(kingofb_state,ringking)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(kingofb_state::ringking_get_bg_tile_info),this), TILEMAP_SCAN_COLS_FLIP_Y, 16, 16, 16, 16);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(kingofb_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS_FLIP_Y, 8, 8, 32, 32);
diff --git a/src/mame/video/konamigx.cpp b/src/mame/video/konamigx.cpp
index aecf917fafd..205a0c1da87 100644
--- a/src/mame/video/konamigx.cpp
+++ b/src/mame/video/konamigx.cpp
@@ -1133,7 +1133,7 @@ void konamigx_state::common_init()
}
-void konamigx_state::video_start_konamigx_5bpp()
+VIDEO_START_MEMBER(konamigx_state, konamigx_5bpp)
{
common_init();
@@ -1145,7 +1145,7 @@ void konamigx_state::video_start_konamigx_5bpp()
konamigx_mixer_primode(4);
}
-void konamigx_state::video_start_dragoonj()
+VIDEO_START_MEMBER(konamigx_state, dragoonj)
{
common_init();
@@ -1155,20 +1155,20 @@ void konamigx_state::video_start_dragoonj()
m_k056832->set_layer_offs(3, 3+1, 0);
}
-void konamigx_state::video_start_le2()
+VIDEO_START_MEMBER(konamigx_state, le2)
{
common_init();
konamigx_mixer_primode(-1); // swapped layer B and C priorities?
}
-void konamigx_state::video_start_konamigx_6bpp()
+VIDEO_START_MEMBER(konamigx_state, konamigx_6bpp)
{
common_init();
konamigx_mixer_primode(5);
}
-void konamigx_state::video_start_konamigx_type3()
+VIDEO_START_MEMBER(konamigx_state, konamigx_type3)
{
int width = m_screen->width();
int height = m_screen->height();
@@ -1204,7 +1204,7 @@ void konamigx_state::video_start_konamigx_type3()
m_konamigx_palformat = 1;
}
-void konamigx_state::video_start_konamigx_type4()
+VIDEO_START_MEMBER(konamigx_state, konamigx_type4)
{
int width = m_screen->width();
int height = m_screen->height();
@@ -1232,7 +1232,7 @@ void konamigx_state::video_start_konamigx_type4()
}
-void konamigx_state::video_start_konamigx_type4_vsn()
+VIDEO_START_MEMBER(konamigx_state, konamigx_type4_vsn)
{
int width = m_screen->width();
int height = m_screen->height();
@@ -1259,7 +1259,7 @@ void konamigx_state::video_start_konamigx_type4_vsn()
m_konamigx_palformat = 0;
}
-void konamigx_state::video_start_konamigx_type4_sd2()
+VIDEO_START_MEMBER(konamigx_state, konamigx_type4_sd2)
{
int width = m_screen->width();
int height = m_screen->height();
@@ -1289,7 +1289,7 @@ void konamigx_state::video_start_konamigx_type4_sd2()
}
-void konamigx_state::video_start_opengolf()
+VIDEO_START_MEMBER(konamigx_state, opengolf)
{
common_init();
@@ -1324,7 +1324,7 @@ void konamigx_state::video_start_opengolf()
}
-void konamigx_state::video_start_racinfrc()
+VIDEO_START_MEMBER(konamigx_state, racinfrc)
{
common_init();
diff --git a/src/mame/video/ladyfrog.cpp b/src/mame/video/ladyfrog.cpp
index 08381c91616..3dae84121f8 100644
--- a/src/mame/video/ladyfrog.cpp
+++ b/src/mame/video/ladyfrog.cpp
@@ -124,7 +124,7 @@ void ladyfrog_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &clipre
}
}
-void ladyfrog_state::video_start_ladyfrog_common()
+VIDEO_START_MEMBER(ladyfrog_state,ladyfrog_common)
{
m_spriteram = std::make_unique<uint8_t[]>(160);
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(ladyfrog_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
@@ -146,13 +146,13 @@ void ladyfrog_state::video_start()
{
// weird, there are sprite tiles at 0x000 and 0x400, but they don't contain all the sprites!
m_spritetilebase = 0x800;
- video_start_ladyfrog_common();
+ VIDEO_START_CALL_MEMBER(ladyfrog_common);
}
-void ladyfrog_state::video_start_toucheme()
+VIDEO_START_MEMBER(ladyfrog_state,toucheme)
{
m_spritetilebase = 0x000;
- video_start_ladyfrog_common();
+ VIDEO_START_CALL_MEMBER(ladyfrog_common);
}
diff --git a/src/mame/video/lasso.cpp b/src/mame/video/lasso.cpp
index 66141f52308..ab49ebd86da 100644
--- a/src/mame/video/lasso.cpp
+++ b/src/mame/video/lasso.cpp
@@ -170,7 +170,7 @@ void lasso_state::video_start()
m_bg_tilemap->set_transparent_pen(0);
}
-void lasso_state::video_start_wwjgtin()
+VIDEO_START_MEMBER(lasso_state,wwjgtin)
{
/* create tilemaps */
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(lasso_state::lasso_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
@@ -179,7 +179,7 @@ void lasso_state::video_start_wwjgtin()
m_bg_tilemap->set_transparent_pen(0);
}
-void lasso_state::video_start_pinbo()
+VIDEO_START_MEMBER(lasso_state,pinbo)
{
/* create tilemap */
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(lasso_state::pinbo_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
diff --git a/src/mame/video/lastduel.cpp b/src/mame/video/lastduel.cpp
index 0e777f78e79..62cbfb3a905 100644
--- a/src/mame/video/lastduel.cpp
+++ b/src/mame/video/lastduel.cpp
@@ -76,7 +76,7 @@ TILE_GET_INFO_MEMBER(lastduel_state::get_fix_info)
***************************************************************************/
-void lastduel_state::video_start_lastduel()
+VIDEO_START_MEMBER(lastduel_state,lastduel)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(lastduel_state::ld_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(lastduel_state::ld_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
@@ -91,7 +91,7 @@ void lastduel_state::video_start_lastduel()
m_tilemap_priority = 0;
}
-void lastduel_state::video_start_madgear()
+VIDEO_START_MEMBER(lastduel_state,madgear)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(lastduel_state::get_bg_tile_info),this),TILEMAP_SCAN_COLS,16,16,64,32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(lastduel_state::get_fg_tile_info),this),TILEMAP_SCAN_COLS,16,16,64,32);
diff --git a/src/mame/video/legionna.cpp b/src/mame/video/legionna.cpp
index b86fcdf38a6..89bfe3c6302 100644
--- a/src/mame/video/legionna.cpp
+++ b/src/mame/video/legionna.cpp
@@ -256,7 +256,7 @@ void legionna_state::common_video_start()
m_text_layer->set_transparent_pen(15);
}
-void legionna_state::video_start_legionna()
+VIDEO_START_MEMBER(legionna_state,legionna)
{
common_video_start();
@@ -266,7 +266,7 @@ void legionna_state::video_start_legionna()
m_sprite_pri_mask[3] = 0xfffe;
}
-void legionna_state::video_start_heatbrl()
+VIDEO_START_MEMBER(legionna_state,heatbrl)
{
common_video_start();
@@ -277,9 +277,9 @@ void legionna_state::video_start_heatbrl()
m_sprite_pri_mask[3] = 0xffff;
}
-void legionna_state::video_start_godzilla()
+VIDEO_START_MEMBER(legionna_state,godzilla)
{
- video_start_legionna();
+ VIDEO_START_CALL_MEMBER(legionna);
m_has_extended_banking = 1;
m_has_extended_priority = 0;
@@ -291,7 +291,7 @@ void legionna_state::video_start_godzilla()
m_sprite_pri_mask[3] = 0xffff;
}
-void legionna_state::video_start_denjinmk()
+VIDEO_START_MEMBER(legionna_state,denjinmk)
{
common_video_allocate_ptr();
@@ -314,7 +314,7 @@ void legionna_state::video_start_denjinmk()
m_text_layer->set_transparent_pen(7);//?
}
-void legionna_state::video_start_cupsoc()
+VIDEO_START_MEMBER(legionna_state,cupsoc)
{
common_video_allocate_ptr();
@@ -332,9 +332,9 @@ void legionna_state::video_start_cupsoc()
m_text_layer->set_transparent_pen(15);
}
-void legionna_state::video_start_grainbow()
+VIDEO_START_MEMBER(legionna_state,grainbow)
{
- video_start_legionna();
+ VIDEO_START_CALL_MEMBER(legionna);
m_sprite_xoffs = m_sprite_yoffs = 16;
m_has_extended_banking = 0;
diff --git a/src/mame/video/leland.cpp b/src/mame/video/leland.cpp
index 7878adad9ec..33f0d3590bd 100644
--- a/src/mame/video/leland.cpp
+++ b/src/mame/video/leland.cpp
@@ -56,7 +56,7 @@ TIMER_CALLBACK_MEMBER(leland_state::scanline_callback)
*
*************************************/
-void leland_state::video_start_leland()
+VIDEO_START_MEMBER(leland_state,leland)
{
/* allocate memory */
m_video_ram = make_unique_clear<uint8_t[]>(VRAM_SIZE);
@@ -78,7 +78,7 @@ void leland_state::video_start_leland()
}
}
-void leland_state::video_start_ataxx()
+VIDEO_START_MEMBER(leland_state,ataxx)
{
/* first do the standard stuff */
m_video_ram = make_unique_clear<uint8_t[]>(VRAM_SIZE);
@@ -532,7 +532,7 @@ uint32_t leland_state::screen_update_ataxx(screen_device &screen, bitmap_ind16 &
MACHINE_CONFIG_START(leland_state::leland_video)
- set_video_start_cb(config, driver_callback_delegate(&video_start_leland, this));
+ MCFG_VIDEO_START_OVERRIDE(leland_state,leland)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(BBGGGRRR)
@@ -548,7 +548,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(leland_state::ataxx_video)
leland_video(config);
- set_video_start_cb(config, driver_callback_delegate(&video_start_ataxx, this));
+ MCFG_VIDEO_START_OVERRIDE(leland_state,ataxx)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(leland_state, screen_update_ataxx)
diff --git a/src/mame/video/liberate.cpp b/src/mame/video/liberate.cpp
index f270a21ca18..a0b55e4eb12 100644
--- a/src/mame/video/liberate.cpp
+++ b/src/mame/video/liberate.cpp
@@ -202,7 +202,7 @@ WRITE8_MEMBER(liberate_state::prosport_bg_vram_w)
/***************************************************************************/
-void liberate_state::video_start_prosoccr()
+VIDEO_START_MEMBER(liberate_state,prosoccr)
{
m_back_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(liberate_state::get_back_tile_info),this), tilemap_mapper_delegate(FUNC(liberate_state::back_scan),this), 16, 16, 32, 32);
m_fix_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(liberate_state::get_fix_tile_info),this), tilemap_mapper_delegate(FUNC(liberate_state::fix_scan),this), 8, 8, 32, 32);
@@ -216,7 +216,7 @@ void liberate_state::video_start_prosoccr()
save_pointer(NAME(m_fg_gfx), 0x6000);
}
-void liberate_state::video_start_boomrang()
+VIDEO_START_MEMBER(liberate_state,boomrang)
{
m_back_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(liberate_state::get_back_tile_info),this), tilemap_mapper_delegate(FUNC(liberate_state::back_scan),this), 16, 16, 32, 32);
m_fix_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(liberate_state::get_fix_tile_info),this), tilemap_mapper_delegate(FUNC(liberate_state::fix_scan),this), 8, 8, 32, 32);
@@ -225,7 +225,7 @@ void liberate_state::video_start_boomrang()
m_fix_tilemap->set_transparent_pen(0);
}
-void liberate_state::video_start_liberate()
+VIDEO_START_MEMBER(liberate_state,liberate)
{
m_back_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(liberate_state::get_back_tile_info),this), tilemap_mapper_delegate(FUNC(liberate_state::back_scan),this), 16, 16, 32, 32);
m_fix_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(liberate_state::get_fix_tile_info),this), tilemap_mapper_delegate(FUNC(liberate_state::fix_scan),this), 8, 8, 32, 32);
@@ -233,7 +233,7 @@ void liberate_state::video_start_liberate()
m_fix_tilemap->set_transparent_pen(0);
}
-void liberate_state::video_start_prosport()
+VIDEO_START_MEMBER(liberate_state,prosport)
{
m_back_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(liberate_state::prosport_get_back_tile_info),this), tilemap_mapper_delegate(FUNC(liberate_state::back_scan),this), 16, 16, 32, 32);
m_fix_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(liberate_state::get_fix_tile_info),this), tilemap_mapper_delegate(FUNC(liberate_state::fix_scan),this), 8, 8, 32, 32);
diff --git a/src/mame/video/lwings.cpp b/src/mame/video/lwings.cpp
index ebcaf8b5059..acda77e9590 100644
--- a/src/mame/video/lwings.cpp
+++ b/src/mame/video/lwings.cpp
@@ -79,19 +79,18 @@ TILE_GET_INFO_MEMBER(lwings_state::get_bg2_tile_info)
void lwings_state::video_start()
{
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(lwings_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- m_fg_tilemap->set_transparent_pen(3);
-
m_bg1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(lwings_state::lwings_get_bg1_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
+
+ m_fg_tilemap->set_transparent_pen(3);
}
-void lwings_state::video_start_trojan()
+VIDEO_START_MEMBER(lwings_state,trojan)
{
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(lwings_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
- m_fg_tilemap->set_transparent_pen(3);
-
m_bg1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(lwings_state::trojan_get_bg1_tile_info),this),TILEMAP_SCAN_COLS, 16, 16, 32, 32);
m_bg2_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(lwings_state::get_bg2_tile_info),this), tilemap_mapper_delegate(FUNC(lwings_state::get_bg2_memory_offset),this), 16, 16, 32, 16);
+ m_fg_tilemap->set_transparent_pen(3);
m_bg1_tilemap->set_transmask(0, 0xffff, 0x0001); /* split type 0 is totally transparent in front half */
m_bg1_tilemap->set_transmask(1, 0xf07f, 0x0f81); /* split type 1 has pens 7-11 opaque in front half */
@@ -99,16 +98,16 @@ void lwings_state::video_start_trojan()
m_spr_avenger_hw = 0;
}
-void lwings_state::video_start_avengers()
+VIDEO_START_MEMBER(lwings_state,avengers)
{
- video_start_trojan();
+ VIDEO_START_CALL_MEMBER(trojan);
m_bg2_avenger_hw = 1;
m_spr_avenger_hw = 1;
}
-void lwings_state::video_start_avengersb()
+VIDEO_START_MEMBER(lwings_state,avengersb)
{
- video_start_trojan();
+ VIDEO_START_CALL_MEMBER(trojan);
m_bg2_avenger_hw = 0;
m_spr_avenger_hw = 1;
}
diff --git a/src/mame/video/m10.cpp b/src/mame/video/m10.cpp
index dd37e8cc507..e3d2fda7e9a 100644
--- a/src/mame/video/m10.cpp
+++ b/src/mame/video/m10.cpp
@@ -95,7 +95,7 @@ inline void m10_state::plot_pixel_m10( bitmap_ind16 &bm, int x, int y, int col )
(IREMM10_HBSTART - 1) - (x - IREMM10_HBEND)) = col; // only when flip_screen(?)
}
-void m10_state::video_start_m10()
+VIDEO_START_MEMBER(m10_state,m10)
{
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(m10_state::get_tile_info),this), tilemap_mapper_delegate(FUNC(m10_state::tilemap_scan),this), 8, 8, 32, 32);
m_tx_tilemap->set_transparent_pen(0);
@@ -105,7 +105,7 @@ void m10_state::video_start_m10()
return ;
}
-void m10_state::video_start_m15()
+VIDEO_START_MEMBER(m10_state,m15)
{
m_gfxdecode->set_gfx(0,std::make_unique<gfx_element>(m_palette, charlayout, m_chargen, 0, 8, 0));
diff --git a/src/mame/video/m62.cpp b/src/mame/video/m62.cpp
index f5948c47fd9..e250bd8c1ac 100644
--- a/src/mame/video/m62.cpp
+++ b/src/mame/video/m62.cpp
@@ -388,7 +388,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_kungfum_bg_tile_info)
tileinfo.category = 0;
}
-void m62_state::video_start_kungfum()
+VIDEO_START_MEMBER(m62_state,kungfum)
{
m62_start(tilemap_get_info_delegate(FUNC(m62_state::get_kungfum_bg_tile_info),this), 32, 0, 8, 8, 64, 32);
}
@@ -468,7 +468,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_ldrun2_bg_tile_info)
tileinfo.group = 0;
}
-void m62_state::video_start_ldrun2()
+VIDEO_START_MEMBER(m62_state,ldrun2)
{
m62_start(tilemap_get_info_delegate(FUNC(m62_state::get_ldrun2_bg_tile_info),this), 1, 1, 8, 8, 64, 32);
m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
@@ -530,7 +530,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_battroad_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code | ((color & 0x40) << 3) | ((color & 0x10) << 4), color & 0x0f, 0);
}
-void m62_state::video_start_battroad()
+VIDEO_START_MEMBER(m62_state,battroad)
{
m62_start(tilemap_get_info_delegate(FUNC(m62_state::get_battroad_bg_tile_info),this), 1, 1, 8, 8, 64, 32);
m62_textlayer(tilemap_get_info_delegate(FUNC(m62_state::get_battroad_fg_tile_info),this), 1, 1, 8, 8, 32, 32);
@@ -566,7 +566,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_ldrun4_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0) << 2) | ((color & 0x20) << 5), color & 0x1f, 0);
}
-void m62_state::video_start_ldrun4()
+VIDEO_START_MEMBER(m62_state,ldrun4)
{
m62_start(tilemap_get_info_delegate(FUNC(m62_state::get_ldrun4_bg_tile_info),this), 1, 0, 8, 8, 64, 32);
}
@@ -605,7 +605,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_lotlot_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0) << 2), color & 0x1f, 0);
}
-void m62_state::video_start_lotlot()
+VIDEO_START_MEMBER(m62_state,lotlot)
{
m62_start(tilemap_get_info_delegate(FUNC(m62_state::get_lotlot_bg_tile_info),this), 1, 1, 12, 10, 32, 64);
m62_textlayer(tilemap_get_info_delegate(FUNC(m62_state::get_lotlot_fg_tile_info),this), 1, 1, 12, 10, 32, 64);
@@ -664,7 +664,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_kidniki_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code | ( ( color & 0xc0 ) << 2 ), color & 0x1f, 0);
}
-void m62_state::video_start_kidniki()
+VIDEO_START_MEMBER(m62_state,kidniki)
{
m_bg_tilemap = &machine().tilemap().create(*m_chr_decode, tilemap_get_info_delegate(FUNC(m62_state::get_kidniki_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
@@ -719,7 +719,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_spelunkr_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code | ((color & 0x10) << 4), (color & 0x0f) | (m_spelunkr_palbank << 4), 0);
}
-void m62_state::video_start_spelunkr()
+VIDEO_START_MEMBER(m62_state,spelunkr)
{
m62_start(tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_bg_tile_info),this), 1, 1, 8, 8, 64, 64);
m62_textlayer(tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_fg_tile_info),this), 1, 1, 12, 8, 32, 32);
@@ -761,7 +761,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_spelunk2_bg_tile_info)
SET_TILE_INFO_MEMBER(0, code | ((color & 0xf0) << 4), (color & 0x0f) | (m_spelunkr_palbank << 4), 0 );
}
-void m62_state::video_start_spelunk2()
+VIDEO_START_MEMBER(m62_state,spelunk2)
{
m62_start(tilemap_get_info_delegate(FUNC(m62_state::get_spelunk2_bg_tile_info),this), 1, 1, 8, 8, 64, 64);
m62_textlayer(tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_fg_tile_info),this), 1, 1, 12, 8, 32, 32);
@@ -804,7 +804,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_youjyudn_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0) << 2), (color & 0x0f), 0);
}
-void m62_state::video_start_youjyudn()
+VIDEO_START_MEMBER(m62_state,youjyudn)
{
m62_start(tilemap_get_info_delegate(FUNC(m62_state::get_youjyudn_bg_tile_info),this), 1, 0, 8, 16, 64, 16);
m62_textlayer(tilemap_get_info_delegate(FUNC(m62_state::get_youjyudn_fg_tile_info),this), 1, 1, 12, 8, 32, 32);
@@ -846,7 +846,7 @@ TILE_GET_INFO_MEMBER(m62_state::get_horizon_bg_tile_info)
tileinfo.group = 0;
}
-void m62_state::video_start_horizon()
+VIDEO_START_MEMBER(m62_state,horizon)
{
m62_start(tilemap_get_info_delegate(FUNC(m62_state::get_horizon_bg_tile_info),this), 32, 0, 8, 8, 64, 32);
m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); /* split type 0 is totally transparent in front half */
diff --git a/src/mame/video/m72.cpp b/src/mame/video/m72.cpp
index 7cabb13d583..4fd2c3498b3 100644
--- a/src/mame/video/m72.cpp
+++ b/src/mame/video/m72.cpp
@@ -110,7 +110,7 @@ void m72_state::register_savestate()
}
-void m72_state::video_start_m72()
+VIDEO_START_MEMBER(m72_state,m72)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(m72_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(m72_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
@@ -144,9 +144,9 @@ void m72_state::video_start_m72()
register_savestate();
}
-void m72_state::video_start_xmultipl()
+VIDEO_START_MEMBER(m72_state,xmultipl)
{
- video_start_m72();
+ VIDEO_START_CALL_MEMBER(m72);
m_fg_tilemap->set_scrolldx(4,64);
m_fg_tilemap->set_scrolldy(-128, 0);
@@ -157,9 +157,9 @@ void m72_state::video_start_xmultipl()
}
-void m72_state::video_start_hharry()
+VIDEO_START_MEMBER(m72_state,hharry)
{
- video_start_m72();
+ VIDEO_START_CALL_MEMBER(m72);
m_bg_tilemap->set_transmask(2,0x0001,0xfffe); // ? maybe the standard logic is ok.
@@ -181,7 +181,7 @@ TILEMAP_MAPPER_MEMBER(m72_state::m82_scan_rows)
return row*256 + col;
}
-void m72_state::video_start_m82()
+VIDEO_START_MEMBER(m72_state,m82)
{
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
@@ -220,7 +220,7 @@ void m72_state::video_start_m82()
// M84
-void m72_state::video_start_rtype2()
+VIDEO_START_MEMBER(m72_state,rtype2)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(m72_state::rtype2_get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
@@ -247,9 +247,9 @@ void m72_state::video_start_rtype2()
}
-void m72_state::video_start_hharryu()
+VIDEO_START_MEMBER(m72_state,hharryu)
{
- video_start_rtype2();
+ VIDEO_START_CALL_MEMBER(rtype2);
m_fg_tilemap->set_scrolldx(4,3);
m_bg_tilemap->set_scrolldx(6,0);
@@ -258,9 +258,9 @@ void m72_state::video_start_hharryu()
}
// m85
-void m72_state::video_start_poundfor()
+VIDEO_START_MEMBER(m72_state,poundfor)
{
- video_start_rtype2();
+ VIDEO_START_CALL_MEMBER(rtype2);
m_fg_tilemap->set_scrolldx(6,0);
m_bg_tilemap->set_scrolldx(6,0);
diff --git a/src/mame/video/m90.cpp b/src/mame/video/m90.cpp
index b45bb21fe30..6b581241b26 100644
--- a/src/mame/video/m90.cpp
+++ b/src/mame/video/m90.cpp
@@ -73,7 +73,7 @@ void m90_state::video_start()
m_last_pf[1] = 2;
}
-void m90_state::video_start_bomblord()
+VIDEO_START_MEMBER(m90_state,bomblord)
{
common_tilemap_init();
@@ -83,7 +83,7 @@ void m90_state::video_start_bomblord()
m_pf_layer[0][1]->set_transparent_pen(0);
}
-void m90_state::video_start_dynablsb()
+VIDEO_START_MEMBER(m90_state,dynablsb)
{
common_tilemap_init();
diff --git a/src/mame/video/m92.cpp b/src/mame/video/m92.cpp
index 89ce838feaf..62efdbc1a85 100644
--- a/src/mame/video/m92.cpp
+++ b/src/mame/video/m92.cpp
@@ -246,7 +246,7 @@ WRITE16_MEMBER(m92_state::m92_master_control_w)
/*****************************************************************************/
-void m92_state::video_start_m92()
+VIDEO_START_MEMBER(m92_state,m92)
{
m_spritebuffer_timer = timer_alloc(TIMER_SPRITEBUFFER);
@@ -300,9 +300,9 @@ void m92_state::video_start_m92()
save_item(NAME(m_paletteram));
}
-void m92_state::video_start_ppan()
+VIDEO_START_MEMBER(m92_state,ppan)
{
- video_start_m92();
+ VIDEO_START_CALL_MEMBER(m92);
for (int laynum = 0; laynum < 3; laynum++)
{
diff --git a/src/mame/video/mac.cpp b/src/mame/video/mac.cpp
index e2735b80445..5883d7f102d 100644
--- a/src/mame/video/mac.cpp
+++ b/src/mame/video/mac.cpp
@@ -74,7 +74,7 @@ PALETTE_INIT_MEMBER(mac_state,macgsc)
palette.set_pen_color(3, 0x00, 0x00, 0x00);
}
-void mac_state::video_start_mac()
+VIDEO_START_MEMBER(mac_state,mac)
{
}
@@ -213,18 +213,18 @@ uint32_t mac_state::screen_update_macpb160(screen_device &screen, bitmap_ind16 &
// IIci/IIsi RAM-Based Video (RBV) and children: V8, Eagle, Spice, VASP, Sonora
-void mac_state::video_start_macrbv()
+VIDEO_START_MEMBER(mac_state,macrbv)
{
}
-void mac_state::video_reset_maceagle()
+VIDEO_RESET_MEMBER(mac_state,maceagle)
{
m_rbv_montype = 32;
m_rbv_palette[0xfe] = 0xffffff;
m_rbv_palette[0xff] = 0;
}
-void mac_state::video_reset_macrbv()
+VIDEO_RESET_MEMBER(mac_state,macrbv)
{
rectangle visarea;
int htotal, vtotal;
@@ -282,7 +282,7 @@ void mac_state::video_reset_macrbv()
target->set_view(view);
}
-void mac_state::video_reset_macsonora()
+VIDEO_RESET_MEMBER(mac_state,macsonora)
{
rectangle visarea;
int htotal, vtotal;
@@ -339,7 +339,7 @@ void mac_state::video_reset_macsonora()
target->set_view(view);
}
-void mac_state::video_start_macsonora()
+VIDEO_START_MEMBER(mac_state,macsonora)
{
memset(m_rbv_regs, 0, sizeof(m_rbv_regs));
@@ -359,7 +359,7 @@ void mac_state::video_start_macsonora()
m_rbv_type = RBV_TYPE_SONORA;
}
-void mac_state::video_start_macv8()
+VIDEO_START_MEMBER(mac_state,macv8)
{
memset(m_rbv_regs, 0, sizeof(m_rbv_regs));
@@ -885,7 +885,7 @@ TIMER_CALLBACK_MEMBER(mac_state::dafb_cursor_tick)
m_cursor_timer->adjust(m_screen->time_until_pos(m_cursor_line, 0), 0);
}
-void mac_state::video_start_macdafb()
+VIDEO_START_MEMBER(mac_state,macdafb)
{
m_vbl_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(mac_state::dafb_vbl_tick),this));
m_cursor_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(mac_state::dafb_cursor_tick),this));
@@ -894,7 +894,7 @@ void mac_state::video_start_macdafb()
m_cursor_timer->adjust(attotime::never);
}
-void mac_state::video_reset_macdafb()
+VIDEO_RESET_MEMBER(mac_state,macdafb)
{
m_rbv_count = 0;
m_rbv_clutoffs = 0;
diff --git a/src/mame/video/madalien.cpp b/src/mame/video/madalien.cpp
index 7247e6cf78d..f07b9badfcf 100644
--- a/src/mame/video/madalien.cpp
+++ b/src/mame/video/madalien.cpp
@@ -117,7 +117,7 @@ WRITE8_MEMBER(madalien_state::madalien_videoram_w)
}
-void madalien_state::video_start_madalien()
+VIDEO_START_MEMBER(madalien_state,madalien)
{
int i;
@@ -378,7 +378,7 @@ MACHINE_CONFIG_START(madalien_state::madalien_video)
MCFG_PALETTE_ADD("palette", 0x30)
MCFG_PALETTE_INDIRECT_ENTRIES(0x20)
MCFG_PALETTE_INIT_OWNER(madalien_state,madalien)
- set_video_start_cb(config, driver_callback_delegate(&video_start_madalien, this));
+ MCFG_VIDEO_START_OVERRIDE(madalien_state,madalien)
MCFG_MC6845_ADD("crtc", MC6845, "screen", PIXEL_CLOCK / 8)
MCFG_MC6845_SHOW_BORDER_AREA(false)
diff --git a/src/mame/video/mappy.cpp b/src/mame/video/mappy.cpp
index 95883e83f22..fafc84915ad 100644
--- a/src/mame/video/mappy.cpp
+++ b/src/mame/video/mappy.cpp
@@ -308,7 +308,7 @@ TILE_GET_INFO_MEMBER(mappy_state::mappy_get_tile_info)
***************************************************************************/
-void mappy_state::video_start_superpac()
+VIDEO_START_MEMBER(mappy_state,superpac)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(mappy_state::superpac_get_tile_info),this),tilemap_mapper_delegate(FUNC(mappy_state::superpac_tilemap_scan),this),8,8,36,28);
m_screen->register_screen_bitmap(m_sprite_bitmap);
@@ -316,14 +316,14 @@ void mappy_state::video_start_superpac()
m_bg_tilemap->configure_groups(*m_gfxdecode->gfx(0), 31);
}
-void mappy_state::video_start_phozon()
+VIDEO_START_MEMBER(mappy_state,phozon)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(mappy_state::phozon_get_tile_info),this),tilemap_mapper_delegate(FUNC(mappy_state::superpac_tilemap_scan),this),8,8,36,28);
m_bg_tilemap->configure_groups(*m_gfxdecode->gfx(0), 15);
}
-void mappy_state::video_start_mappy()
+VIDEO_START_MEMBER(mappy_state,mappy)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(mappy_state::mappy_get_tile_info),this),tilemap_mapper_delegate(FUNC(mappy_state::mappy_tilemap_scan),this),8,8,36,60);
diff --git a/src/mame/video/mbee.cpp b/src/mame/video/mbee.cpp
index 708e354f146..deba6df738e 100644
--- a/src/mame/video/mbee.cpp
+++ b/src/mame/video/mbee.cpp
@@ -285,7 +285,7 @@ WRITE8_MEMBER ( mbee_state::m6545_data_w )
************************************************************/
-void mbee_state::video_start_mono()
+VIDEO_START_MEMBER( mbee_state, mono )
{
m_p_videoram = memregion("videoram")->base();
m_p_gfxram = memregion("gfx")->base()+0x1000;
@@ -294,7 +294,7 @@ void mbee_state::video_start_mono()
m_is_premium = 0;
}
-void mbee_state::video_start_standard()
+VIDEO_START_MEMBER( mbee_state, standard )
{
m_p_videoram = memregion("videoram")->base();
m_p_gfxram = memregion("gfx")->base()+0x1000;
@@ -303,7 +303,7 @@ void mbee_state::video_start_standard()
m_is_premium = 0;
}
-void mbee_state::video_start_premium()
+VIDEO_START_MEMBER( mbee_state, premium )
{
m_p_videoram = memregion("videoram")->base();
m_p_colorram = memregion("colorram")->base();
diff --git a/src/mame/video/mcr3.cpp b/src/mame/video/mcr3.cpp
index 27e32467a49..f8b36f4d27c 100644
--- a/src/mame/video/mcr3.cpp
+++ b/src/mame/video/mcr3.cpp
@@ -95,7 +95,7 @@ void mcr3_state::video_start()
}
-void mcr3_state::video_start_spyhunt()
+VIDEO_START_MEMBER(mcr3_state,spyhunt)
{
// initialize the background tilemap
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(mcr3_state::spyhunt_get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(mcr3_state::spyhunt_bg_scan),this), 64,32, 64,32);
diff --git a/src/mame/video/mcr68.cpp b/src/mame/video/mcr68.cpp
index c15db91f8ad..10479d10075 100644
--- a/src/mame/video/mcr68.cpp
+++ b/src/mame/video/mcr68.cpp
@@ -38,7 +38,7 @@ TILE_GET_INFO_MEMBER(mcr68_state::get_bg_tile_info)
*
*************************************/
-void mcr68_state::video_start_mcr68()
+VIDEO_START_MEMBER(mcr68_state,mcr68)
{
/* initialize the background tilemap */
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(mcr68_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16,16, 32,32);
diff --git a/src/mame/video/megasys1.cpp b/src/mame/video/megasys1.cpp
index 7dd5ed50e38..13b99f9fd2f 100644
--- a/src/mame/video/megasys1.cpp
+++ b/src/mame/video/megasys1.cpp
@@ -198,7 +198,7 @@ actual code sent to the hardware.
-void megasys1_state::video_start_megasys1()
+VIDEO_START_MEMBER(megasys1_state,megasys1)
{
m_spriteram = &m_ram[0x8000/2];
diff --git a/src/mame/video/metro.cpp b/src/mame/video/metro.cpp
index b32d3c0a2fc..cd223c00496 100644
--- a/src/mame/video/metro.cpp
+++ b/src/mame/video/metro.cpp
@@ -49,14 +49,14 @@ TILEMAP_MAPPER_MEMBER(metro_state::tilemap_scan_gstrik2)
return val;
}
-void metro_state::video_start_blzntrnd()
+VIDEO_START_MEMBER(metro_state,blzntrnd)
{
m_k053936_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(metro_state::metro_k053936_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 256, 512);
m_screen->register_screen_bitmap(m_vdp_bitmap);
}
-void metro_state::video_start_gstrik2()
+VIDEO_START_MEMBER(metro_state,gstrik2)
{
m_k053936_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(metro_state::metro_k053936_gstrik2_get_tile_info),this), tilemap_mapper_delegate(FUNC(metro_state::tilemap_scan_gstrik2),this), 16, 16, 128, 256);
diff --git a/src/mame/video/midtunit.cpp b/src/mame/video/midtunit.cpp
index 6d4ebf86fb7..e060100015d 100644
--- a/src/mame/video/midtunit.cpp
+++ b/src/mame/video/midtunit.cpp
@@ -88,7 +88,7 @@ static struct
*
*************************************/
-void midtunit_state::video_start_midtunit()
+VIDEO_START_MEMBER(midtunit_state,midtunit)
{
/* allocate memory */
local_videoram = std::make_unique<uint16_t[]>(0x100000/2);
@@ -112,16 +112,16 @@ void midtunit_state::video_start_midtunit()
}
-void midwunit_state::video_start_midwunit()
+VIDEO_START_MEMBER(midwunit_state,midwunit)
{
- video_start_midtunit();
+ VIDEO_START_CALL_MEMBER(midtunit);
m_gfx_rom_large = 1;
}
-void midxunit_state::video_start_midxunit()
+VIDEO_START_MEMBER(midxunit_state,midxunit)
{
- video_start_midtunit();
+ VIDEO_START_CALL_MEMBER(midtunit);
m_gfx_rom_large = 1;
videobank_select = 1;
}
diff --git a/src/mame/video/midyunit.cpp b/src/mame/video/midyunit.cpp
index 2faf4fa741e..5c409dab39e 100644
--- a/src/mame/video/midyunit.cpp
+++ b/src/mame/video/midyunit.cpp
@@ -39,7 +39,7 @@ enum
*
*************************************/
-void midyunit_state::video_start_common()
+VIDEO_START_MEMBER(midyunit_state,common)
{
/* allocate memory */
m_cmos_ram = std::make_unique<uint16_t[]>((0x2000 * 4)/2);
@@ -69,41 +69,47 @@ void midyunit_state::video_start_common()
}
-void midyunit_state::video_start_midyunit_4bit()
+VIDEO_START_MEMBER(midyunit_state,midyunit_4bit)
{
- video_start_common();
+ int i;
+
+ VIDEO_START_CALL_MEMBER(common);
/* init for 4-bit */
- for (int i = 0; i < 65536; i++)
+ for (i = 0; i < 65536; i++)
m_pen_map[i] = ((i & 0xf000) >> 8) | (i & 0x000f);
m_palette_mask = 0x00ff;
}
-void midyunit_state::video_start_midyunit_6bit()
+VIDEO_START_MEMBER(midyunit_state,midyunit_6bit)
{
- video_start_common();
+ int i;
+
+ VIDEO_START_CALL_MEMBER(common);
/* init for 6-bit */
- for (int i = 0; i < 65536; i++)
+ for (i = 0; i < 65536; i++)
m_pen_map[i] = ((i & 0xc000) >> 8) | (i & 0x0f3f);
m_palette_mask = 0x0fff;
}
-void midyunit_state::video_start_mkyawdim()
+VIDEO_START_MEMBER(midyunit_state,mkyawdim)
{
- video_start_midyunit_6bit();
+ VIDEO_START_CALL_MEMBER(midyunit_6bit);
m_yawdim_dma = 1;
}
-void midyunit_state::video_start_midzunit()
+VIDEO_START_MEMBER(midyunit_state,midzunit)
{
- video_start_common();
+ int i;
+
+ VIDEO_START_CALL_MEMBER(common);
/* init for 8-bit */
- for (int i = 0; i < 65536; i++)
+ for (i = 0; i < 65536; i++)
m_pen_map[i] = i & 0x1fff;
m_palette_mask = 0x1fff;
}
diff --git a/src/mame/video/midzeus.cpp b/src/mame/video/midzeus.cpp
index ef874f9e66b..6032119a7bd 100644
--- a/src/mame/video/midzeus.cpp
+++ b/src/mame/video/midzeus.cpp
@@ -276,7 +276,7 @@ midzeus_renderer::midzeus_renderer(midzeus_state &state)
m_state(state)
{}
-void midzeus_state::video_start_midzeus()
+VIDEO_START_MEMBER(midzeus_state,midzeus)
{
int i;
diff --git a/src/mame/video/mitchell.cpp b/src/mame/video/mitchell.cpp
index c46d87e3f5f..b92a66dd096 100644
--- a/src/mame/video/mitchell.cpp
+++ b/src/mame/video/mitchell.cpp
@@ -34,7 +34,7 @@ TILE_GET_INFO_MEMBER(mitchell_state::get_tile_info)
***************************************************************************/
-void mitchell_state::video_start_pang()
+VIDEO_START_MEMBER(mitchell_state,pang)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(mitchell_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_bg_tilemap->set_transparent_pen(15);
diff --git a/src/mame/video/model1.cpp b/src/mame/video/model1.cpp
index b10c4e3640c..65fe8bed3e6 100644
--- a/src/mame/video/model1.cpp
+++ b/src/mame/video/model1.cpp
@@ -1562,7 +1562,7 @@ void model1_state::tgp_scan()
m_render_done = 0;
}
-void model1_state::video_start_model1()
+VIDEO_START_MEMBER(model1_state, model1)
{
m_view = std::make_unique<model1_state::view_t>();
diff --git a/src/mame/video/moo.cpp b/src/mame/video/moo.cpp
index 95a3075bce5..9d9327a2c1b 100644
--- a/src/mame/video/moo.cpp
+++ b/src/mame/video/moo.cpp
@@ -34,7 +34,7 @@ K056832_CB_MEMBER(moo_state::tile_callback)
*color = m_layer_colorbase[layer] | (*color >> 2 & 0x0f);
}
-void moo_state::video_start_moo()
+VIDEO_START_MEMBER(moo_state,moo)
{
assert(m_screen->format() == BITMAP_FORMAT_RGB32);
@@ -48,7 +48,7 @@ void moo_state::video_start_moo()
m_k056832->set_layer_offs(3, 6 + 1, 0);
}
-void moo_state::video_start_bucky()
+VIDEO_START_MEMBER(moo_state,bucky)
{
assert(m_screen->format() == BITMAP_FORMAT_RGB32);
diff --git a/src/mame/video/ms32.cpp b/src/mame/video/ms32.cpp
index d70ffe34e16..214f2998e16 100644
--- a/src/mame/video/ms32.cpp
+++ b/src/mame/video/ms32.cpp
@@ -113,7 +113,7 @@ void ms32_state::video_start()
save_item(NAME(m_brt_b));
}
-void ms32_state::video_start_f1superb()
+VIDEO_START_MEMBER(ms32_state,f1superb)
{
ms32_state::video_start();
diff --git a/src/mame/video/mystston.cpp b/src/mame/video/mystston.cpp
index ce6a5cfcc72..564b9ca6ce0 100644
--- a/src/mame/video/mystston.cpp
+++ b/src/mame/video/mystston.cpp
@@ -213,7 +213,7 @@ void mystston_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
*
*************************************/
-void mystston_state::video_start_mystston()
+VIDEO_START_MEMBER(mystston_state,mystston)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(mystston_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS_FLIP_X, 16, 16, 16, 32);
@@ -232,7 +232,7 @@ void mystston_state::video_start_mystston()
*
*************************************/
-void mystston_state::video_reset_mystston()
+VIDEO_RESET_MEMBER(mystston_state,mystston)
{
m_interrupt_timer->adjust(m_screen->time_until_pos(FIRST_INT_VPOS - 1, INT_HPOS), FIRST_INT_VPOS);
}
@@ -311,8 +311,8 @@ GFXDECODE_END
*************************************/
MACHINE_CONFIG_START(mystston_state::mystston_video)
- set_video_start_cb(config, driver_callback_delegate(&video_start_mystston, this));
- set_video_reset_cb(config, driver_callback_delegate(&video_reset_mystston, this));
+ MCFG_VIDEO_START_OVERRIDE(mystston_state,mystston)
+ MCFG_VIDEO_RESET_OVERRIDE(mystston_state,mystston)
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_mystston)
MCFG_PALETTE_ADD("palette", 0x40)
diff --git a/src/mame/video/mystwarr.cpp b/src/mame/video/mystwarr.cpp
index b36a01b8355..d7de9635b94 100644
--- a/src/mame/video/mystwarr.cpp
+++ b/src/mame/video/mystwarr.cpp
@@ -148,7 +148,7 @@ TILE_GET_INFO_MEMBER(mystwarr_state::get_gai_936_tile_info)
SET_TILE_INFO_MEMBER(0, tileno, colour, 0);
}
-void mystwarr_state::video_start_gaiapols()
+VIDEO_START_MEMBER(mystwarr_state, gaiapols)
{
m_gametype = 0;
@@ -181,7 +181,7 @@ TILE_GET_INFO_MEMBER(mystwarr_state::get_ult_936_tile_info)
SET_TILE_INFO_MEMBER(0, tileno, colour, (dat1[tile_index]&0x40) ? TILE_FLIPX : 0);
}
-void mystwarr_state::video_start_dadandrn()
+VIDEO_START_MEMBER(mystwarr_state, dadandrn)
{
m_gametype = 1;
@@ -203,7 +203,7 @@ void mystwarr_state::video_start_dadandrn()
m_ult_936_tilemap->set_transparent_pen(0);
}
-void mystwarr_state::video_start_mystwarr()
+VIDEO_START_MEMBER(mystwarr_state, mystwarr)
{
m_gametype = 0;
@@ -219,7 +219,7 @@ void mystwarr_state::video_start_mystwarr()
m_cbparam = 0;
}
-void mystwarr_state::video_start_metamrph()
+VIDEO_START_MEMBER(mystwarr_state, metamrph)
{
m_gametype = 0;
@@ -234,7 +234,7 @@ void mystwarr_state::video_start_metamrph()
m_k056832->set_layer_offs(3, 3+4, 0); // attract sky background to sea
}
-void mystwarr_state::video_start_viostorm()
+VIDEO_START_MEMBER(mystwarr_state, viostorm)
{
m_gametype = 0;
@@ -248,7 +248,7 @@ void mystwarr_state::video_start_viostorm()
m_k056832->set_layer_offs(3, 3+1, 0);
}
-void mystwarr_state::video_start_martchmp()
+VIDEO_START_MEMBER(mystwarr_state, martchmp)
{
m_gametype = 0;
diff --git a/src/mame/video/n8080.cpp b/src/mame/video/n8080.cpp
index 641686ca647..eab68ba12ca 100644
--- a/src/mame/video/n8080.cpp
+++ b/src/mame/video/n8080.cpp
@@ -83,7 +83,7 @@ void n8080_state::helifire_next_line( )
}
-void n8080_state::video_start_spacefev()
+VIDEO_START_MEMBER(n8080_state,spacefev)
{
m_cannon_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(n8080_state::spacefev_stop_red_cannon),this));
@@ -94,7 +94,7 @@ void n8080_state::video_start_spacefev()
}
-void n8080_state::video_start_sheriff()
+VIDEO_START_MEMBER(n8080_state,sheriff)
{
flip_screen_set(0);
@@ -103,15 +103,17 @@ void n8080_state::video_start_sheriff()
}
-void n8080_state::video_start_helifire()
+VIDEO_START_MEMBER(n8080_state,helifire)
{
+ uint8_t data = 0;
+ int i;
+
save_item(NAME(m_helifire_mv));
save_item(NAME(m_helifire_sc));
save_item(NAME(m_helifire_flash));
save_item(NAME(m_helifire_LSFR));
- uint8_t data = 0;
- for (int i = 0; i < 63; i++)
+ for (i = 0; i < 63; i++)
{
int bit =
(data >> 6) ^
diff --git a/src/mame/video/namcofl.cpp b/src/mame/video/namcofl.cpp
index dc2d126ead6..f23c3648f33 100644
--- a/src/mame/video/namcofl.cpp
+++ b/src/mame/video/namcofl.cpp
@@ -88,7 +88,7 @@ int namcofl_state::FLobjcode2tile(int code)
return code;
}
-void namcofl_state::video_start_namcofl()
+VIDEO_START_MEMBER(namcofl_state,namcofl)
{
c123_tilemap_init(NAMCOFL_TILEGFX, memregion(NAMCOFL_TILEMASKREGION)->base(), namcos2_shared_state::c123_tilemap_delegate(&namcofl_state::TilemapCB, this));
c355_obj_init(NAMCOFL_SPRITEGFX,0x0,namcos2_shared_state::c355_obj_code2tile_delegate(&namcofl_state::FLobjcode2tile, this));
diff --git a/src/mame/video/namconb1.cpp b/src/mame/video/namconb1.cpp
index 32b362013e4..ae13ed4e4b5 100644
--- a/src/mame/video/namconb1.cpp
+++ b/src/mame/video/namconb1.cpp
@@ -124,7 +124,7 @@ int namconb1_state::NB1objcode2tile( int code )
return (code&0x7ff) + bank*0x800;
}
-void namconb1_state::video_start_namconb1()
+VIDEO_START_MEMBER(namconb1_state,namconb1)
{
c123_tilemap_init(NAMCONB1_TILEGFX, memregion(NAMCONB1_TILEMASKREGION)->base(), namcos2_shared_state::c123_tilemap_delegate(&namconb1_state::NB1TilemapCB, this));
c355_obj_init(NAMCONB1_SPRITEGFX,0x0,namcos2_shared_state::c355_obj_code2tile_delegate(&namconb1_state::NB1objcode2tile, this));
@@ -182,7 +182,7 @@ int namconb1_state::NB2objcode2tile( int code )
return code;
} /* NB2objcode2tile */
-void namconb1_state::video_start_namconb2()
+VIDEO_START_MEMBER(namconb1_state,namconb2)
{
c123_tilemap_init(NAMCONB1_TILEGFX, memregion(NAMCONB1_TILEMASKREGION)->base(), namcos2_shared_state::c123_tilemap_delegate(&namconb1_state::NB2TilemapCB, this));
c355_obj_init(NAMCONB1_SPRITEGFX,0x0,namcos2_shared_state::c355_obj_code2tile_delegate(&namconb1_state::NB2objcode2tile, this));
diff --git a/src/mame/video/namcos21.cpp b/src/mame/video/namcos21.cpp
index e3de189abaf..5fdb1deda54 100644
--- a/src/mame/video/namcos21.cpp
+++ b/src/mame/video/namcos21.cpp
@@ -360,7 +360,7 @@ void namcos21_state::draw_quad(int sx[4], int sy[4], int zcode[4], int color)
rendertri(&c, &d, &a, color, depthcueenable);
}
-void namcos21_state::video_start_namcos21()
+VIDEO_START_MEMBER(namcos21_state,namcos21)
{
if( m_gametype == NAMCOS21_WINRUN91 )
{
diff --git a/src/mame/video/nbmj8688.cpp b/src/mame/video/nbmj8688.cpp
index 18d7e73df1a..7e42b075668 100644
--- a/src/mame/video/nbmj8688.cpp
+++ b/src/mame/video/nbmj8688.cpp
@@ -582,37 +582,37 @@ void nbmj8688_state::postload()
m_screen_refresh = 1;
}
-void nbmj8688_state::video_start_mbmj8688_8bit()
+VIDEO_START_MEMBER(nbmj8688_state,mbmj8688_8bit)
{
m_gfxmode = GFXTYPE_8BIT;
common_video_start();
}
-void nbmj8688_state::video_start_mbmj8688_hybrid_12bit()
+VIDEO_START_MEMBER(nbmj8688_state,mbmj8688_hybrid_12bit)
{
m_gfxmode = GFXTYPE_HYBRID_12BIT;
common_video_start();
}
-void nbmj8688_state::video_start_mbmj8688_pure_12bit()
+VIDEO_START_MEMBER(nbmj8688_state,mbmj8688_pure_12bit)
{
m_gfxmode = GFXTYPE_PURE_12BIT;
common_video_start();
}
-void nbmj8688_state::video_start_mbmj8688_hybrid_16bit()
+VIDEO_START_MEMBER(nbmj8688_state,mbmj8688_hybrid_16bit)
{
m_gfxmode = GFXTYPE_HYBRID_16BIT;
common_video_start();
}
-void nbmj8688_state::video_start_mbmj8688_pure_16bit()
+VIDEO_START_MEMBER(nbmj8688_state,mbmj8688_pure_16bit)
{
m_gfxmode = GFXTYPE_PURE_16BIT;
common_video_start();
}
-void nbmj8688_state::video_start_mbmj8688_pure_16bit_LCD()
+VIDEO_START_MEMBER(nbmj8688_state,mbmj8688_pure_16bit_LCD)
{
m_gfxmode = GFXTYPE_PURE_16BIT;
common_video_start();
diff --git a/src/mame/video/nbmj8891.cpp b/src/mame/video/nbmj8891.cpp
index 64c62ddb17b..f941d6c61bf 100644
--- a/src/mame/video/nbmj8891.cpp
+++ b/src/mame/video/nbmj8891.cpp
@@ -480,7 +480,7 @@ void nbmj8891_state::gfxdraw()
******************************************************************************/
-void nbmj8891_state::video_start__1layer()
+VIDEO_START_MEMBER( nbmj8891_state, _1layer )
{
int width = m_screen->width();
int height = m_screen->height();
diff --git a/src/mame/video/nbmj9195.cpp b/src/mame/video/nbmj9195.cpp
index 8de3ce8f24f..828f18e646c 100644
--- a/src/mame/video/nbmj9195.cpp
+++ b/src/mame/video/nbmj9195.cpp
@@ -368,7 +368,7 @@ WRITE8_MEMBER(nbmj9195_state::clut_1_w){ clut_w(offset, data, 1); }
******************************************************************************/
-void nbmj9195_state::video_start__1layer()
+VIDEO_START_MEMBER(nbmj9195_state,_1layer)
{
int width = m_screen->width();
int height = m_screen->height();
@@ -457,7 +457,7 @@ void nbmj9195_state::postload()
m_screen_refresh = 1;
}
-void nbmj9195_state::video_start_nb22090()
+VIDEO_START_MEMBER(nbmj9195_state,nb22090)
{
nbmj9195_state::video_start();
diff --git a/src/mame/video/ninjakd2.cpp b/src/mame/video/ninjakd2.cpp
index e6282435509..67f8d547475 100644
--- a/src/mame/video/ninjakd2.cpp
+++ b/src/mame/video/ninjakd2.cpp
@@ -154,7 +154,7 @@ void ninjakd2_state::video_start()
m_stencil_compare_function = stencil_ninjakd2;
}
-void ninjakd2_state::video_start_mnight()
+VIDEO_START_MEMBER(ninjakd2_state,mnight)
{
video_init_common(0);
@@ -163,7 +163,7 @@ void ninjakd2_state::video_start_mnight()
m_stencil_compare_function = stencil_mnight;
}
-void ninjakd2_state::video_start_arkarea()
+VIDEO_START_MEMBER(ninjakd2_state,arkarea)
{
video_init_common(0);
@@ -172,7 +172,7 @@ void ninjakd2_state::video_start_arkarea()
m_stencil_compare_function = stencil_arkarea;
}
-void ninjakd2_state::video_start_robokid()
+VIDEO_START_MEMBER(ninjakd2_state,robokid)
{
video_init_common(0x0800);
m_vram_bank_mask = 1;
@@ -188,7 +188,7 @@ void ninjakd2_state::video_start_robokid()
m_stencil_compare_function = stencil_robokid;
}
-void ninjakd2_state::video_start_omegaf()
+VIDEO_START_MEMBER(ninjakd2_state,omegaf)
{
video_init_common(0x2000);
m_vram_bank_mask = 7;
diff --git a/src/mame/video/nmk16.cpp b/src/mame/video/nmk16.cpp
index 9d82f63caff..6416edaf964 100644
--- a/src/mame/video/nmk16.cpp
+++ b/src/mame/video/nmk16.cpp
@@ -101,7 +101,7 @@ void nmk16_state::nmk16_video_init()
}
-void nmk16_state::video_start_bioship()
+VIDEO_START_MEMBER(nmk16_state,bioship)
{
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::common_get_bg_tile_info<0>),this), tilemap_mapper_delegate(FUNC(nmk16_state::tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::common_get_tx_tile_info),this),TILEMAP_SCAN_COLS,8,8,32,32);
@@ -116,7 +116,7 @@ void nmk16_state::video_start_bioship()
}
-void nmk16_state::video_start_strahl()
+VIDEO_START_MEMBER(nmk16_state,strahl)
{
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::common_get_bg_tile_info<0>),this), tilemap_mapper_delegate(FUNC(nmk16_state::tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::strahl_get_fg_tile_info),this), tilemap_mapper_delegate(FUNC(nmk16_state::tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
@@ -130,7 +130,7 @@ void nmk16_state::video_start_strahl()
nmk16_video_init();
}
-void nmk16_state::video_start_macross()
+VIDEO_START_MEMBER(nmk16_state,macross)
{
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::common_get_bg_tile_info<0>),this), tilemap_mapper_delegate(FUNC(nmk16_state::tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::common_get_tx_tile_info),this),TILEMAP_SCAN_COLS,8,8,32,32);
@@ -140,7 +140,7 @@ void nmk16_state::video_start_macross()
nmk16_video_init();
}
-void nmk16_state::video_start_gunnail()
+VIDEO_START_MEMBER(nmk16_state,gunnail)
{
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::common_get_bg_tile_info<0>),this), tilemap_mapper_delegate(FUNC(nmk16_state::tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::common_get_tx_tile_info),this),TILEMAP_SCAN_COLS,8,8,64,32);
@@ -154,7 +154,7 @@ void nmk16_state::video_start_gunnail()
m_simple_scroll = 0;
}
-void nmk16_state::video_start_macross2()
+VIDEO_START_MEMBER(nmk16_state,macross2)
{
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::common_get_bg_tile_info<0>),this), tilemap_mapper_delegate(FUNC(nmk16_state::tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
m_bg_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::common_get_bg_tile_info<1>),this), tilemap_mapper_delegate(FUNC(nmk16_state::tilemap_scan_pages),this),16,16,TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
@@ -170,13 +170,13 @@ void nmk16_state::video_start_macross2()
/* from the other side of the tilemap (!) */
}
-void nmk16_state::video_start_raphero()
+VIDEO_START_MEMBER(nmk16_state,raphero)
{
- video_start_macross2();
+ VIDEO_START_CALL_MEMBER( macross2 );
m_simple_scroll = 0;
}
-void nmk16_state::video_start_bjtwin()
+VIDEO_START_MEMBER(nmk16_state,bjtwin)
{
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nmk16_state::bjtwin_get_bg_tile_info),this),TILEMAP_SCAN_COLS,8,8,64,32);
@@ -722,7 +722,7 @@ uint32_t nmk16_state::screen_update_bjtwin(screen_device &screen, bitmap_ind16 &
***************************************************************************/
-void nmk16_state::video_start_afega()
+VIDEO_START_MEMBER(nmk16_state,afega)
{
m_spriteram_old = make_unique_clear<uint16_t[]>(0x1000/2);
m_spriteram_old2 = make_unique_clear<uint16_t[]>(0x1000/2);
@@ -743,7 +743,7 @@ void nmk16_state::video_start_afega()
}
-void nmk16_state::video_start_grdnstrm()
+VIDEO_START_MEMBER(nmk16_state,grdnstrm)
{
m_spriteram_old = make_unique_clear<uint16_t[]>(0x1000/2);
m_spriteram_old2 = make_unique_clear<uint16_t[]>(0x1000/2);
@@ -765,7 +765,7 @@ void nmk16_state::video_start_grdnstrm()
}
-void nmk16_state::video_start_firehawk()
+VIDEO_START_MEMBER(nmk16_state,firehawk)
{
m_spriteram_old = make_unique_clear<uint16_t[]>(0x1000/2);
m_spriteram_old2 = make_unique_clear<uint16_t[]>(0x1000/2);
diff --git a/src/mame/video/nova2001.cpp b/src/mame/video/nova2001.cpp
index 3ee7d318473..c39c7db04e8 100644
--- a/src/mame/video/nova2001.cpp
+++ b/src/mame/video/nova2001.cpp
@@ -164,7 +164,7 @@ TILE_GET_INFO_MEMBER(nova2001_state::raiders5_get_fg_tile_info)
*
*************************************/
-void nova2001_state::video_start_nova2001()
+VIDEO_START_MEMBER(nova2001_state,nova2001)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nova2001_state::nova2001_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nova2001_state::nova2001_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
@@ -172,13 +172,13 @@ void nova2001_state::video_start_nova2001()
m_bg_tilemap->set_scrolldx(0, -7);
}
-void nova2001_state::video_start_pkunwar()
+VIDEO_START_MEMBER(nova2001_state,pkunwar)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nova2001_state::pkunwar_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_bg_tilemap->set_transparent_pen(0);
}
-void nova2001_state::video_start_ninjakun()
+VIDEO_START_MEMBER(nova2001_state,ninjakun)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nova2001_state::ninjakun_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nova2001_state::ninjakun_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
@@ -186,7 +186,7 @@ void nova2001_state::video_start_ninjakun()
m_bg_tilemap->set_scrolldx(7, 0);
}
-void nova2001_state::video_start_raiders5()
+VIDEO_START_MEMBER(nova2001_state,raiders5)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nova2001_state::raiders5_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(nova2001_state::raiders5_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
diff --git a/src/mame/video/ojankohs.cpp b/src/mame/video/ojankohs.cpp
index 6d27a04a4cb..8e3fa06c6c8 100644
--- a/src/mame/video/ojankohs.cpp
+++ b/src/mame/video/ojankohs.cpp
@@ -254,7 +254,7 @@ WRITE8_MEMBER(ojankohs_state::ojankoc_videoram_w)
******************************************************************************/
-void ojankohs_state::video_start_ojankohs()
+VIDEO_START_MEMBER(ojankohs_state,ojankohs)
{
m_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(ojankohs_state::ojankohs_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
// m_videoram = std::make_unique<uint8_t[]>(0x1000);
@@ -262,20 +262,20 @@ void ojankohs_state::video_start_ojankohs()
// m_paletteram = std::make_unique<uint8_t[]>(0x800);
}
-void ojankohs_state::video_start_ojankoy()
+VIDEO_START_MEMBER(ojankohs_state,ojankoy)
{
m_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(ojankohs_state::ojankoy_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
// m_videoram = std::make_unique<uint8_t[]>(0x2000);
// m_colorram = std::make_unique<uint8_t[]>(0x1000);
}
-void ojankohs_state::video_start_ccasino()
+VIDEO_START_MEMBER(ojankohs_state,ccasino)
{
- video_start_ojankoy();
+ VIDEO_START_CALL_MEMBER(ojankoy);
m_paletteram.allocate(0x800);
}
-void ojankohs_state::video_start_ojankoc()
+VIDEO_START_MEMBER(ojankohs_state,ojankoc)
{
m_screen->register_screen_bitmap(m_tmpbitmap);
m_videoram.allocate(0x8000);
diff --git a/src/mame/video/orion.cpp b/src/mame/video/orion.cpp
index 40f422560d7..a6d9148dd3c 100644
--- a/src/mame/video/orion.cpp
+++ b/src/mame/video/orion.cpp
@@ -13,7 +13,7 @@
#include "emu.h"
#include "includes/orion.h"
-void orion_state::video_start_orion128()
+VIDEO_START_MEMBER(orion_state,orion128)
{
}
diff --git a/src/mame/video/pacman.cpp b/src/mame/video/pacman.cpp
index 49fbea6d140..e46ae8cbb75 100644
--- a/src/mame/video/pacman.cpp
+++ b/src/mame/video/pacman.cpp
@@ -157,7 +157,7 @@ void pacman_state::init_save_state()
}
-void pacman_state::video_start_pacman()
+VIDEO_START_MEMBER(pacman_state,pacman)
{
init_save_state();
@@ -176,9 +176,9 @@ void pacman_state::video_start_pacman()
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(pacman_state::pacman_get_tile_info),this), tilemap_mapper_delegate(FUNC(pacman_state::pacman_scan_rows),this), 8, 8, 36, 28 );
}
-void pacman_state::video_start_birdiy()
+VIDEO_START_MEMBER(pacman_state,birdiy)
{
- video_start_pacman();
+ VIDEO_START_CALL_MEMBER( pacman );
m_xoffsethack = 0;
m_inv_spr = 1; // sprites are mirrored in X-axis compared to normal behaviour
}
@@ -309,7 +309,7 @@ uint32_t pacman_state::screen_update_pacman(screen_device &screen, bitmap_ind16
**************************************************************************/
-void pacman_state::video_start_pengo()
+VIDEO_START_MEMBER(pacman_state,pengo)
{
init_save_state();
@@ -363,7 +363,7 @@ TILE_GET_INFO_MEMBER(pacman_state::s2650_get_tile_info)
SET_TILE_INFO_MEMBER(0,code,attr & 0x1f,0);
}
-void pacman_state::video_start_s2650games()
+VIDEO_START_MEMBER(pacman_state,s2650games)
{
init_save_state();
@@ -531,7 +531,7 @@ void pacman_state::jrpacman_mark_tile_dirty( int offset )
}
}
-void pacman_state::video_start_jrpacman()
+VIDEO_START_MEMBER(pacman_state,jrpacman)
{
init_save_state();
diff --git a/src/mame/video/pgm.cpp b/src/mame/video/pgm.cpp
index 97d1a1313c6..f655e48c1b4 100644
--- a/src/mame/video/pgm.cpp
+++ b/src/mame/video/pgm.cpp
@@ -611,7 +611,7 @@ TILE_GET_INFO_MEMBER(pgm_state::get_pgm_bg_tilemap_tile_info)
/*** Video - Start / Update ****************************************************/
-void pgm_state::video_start_pgm()
+VIDEO_START_MEMBER(pgm_state,pgm)
{
int i;
diff --git a/src/mame/video/phoenix.cpp b/src/mame/video/phoenix.cpp
index aaffc95198e..9407302810e 100644
--- a/src/mame/video/phoenix.cpp
+++ b/src/mame/video/phoenix.cpp
@@ -166,7 +166,7 @@ TILE_GET_INFO_MEMBER(phoenix_state::get_bg_tile_info)
***************************************************************************/
-void phoenix_state::video_start_phoenix()
+VIDEO_START_MEMBER(phoenix_state,phoenix)
{
m_videoram_pg[0] = std::make_unique<uint8_t[]>(0x1000);
memset(m_videoram_pg[0].get(), 0x00, 0x1000 * sizeof(uint8_t));
diff --git a/src/mame/video/playch10.cpp b/src/mame/video/playch10.cpp
index 7402da322ef..80e38fe7a07 100644
--- a/src/mame/video/playch10.cpp
+++ b/src/mame/video/playch10.cpp
@@ -82,7 +82,7 @@ void playch10_state::video_start()
8, 8, 32, 32);
}
-void playch10_state::video_start_playch10_hboard()
+VIDEO_START_MEMBER(playch10_state,playch10_hboard)
{
const uint8_t *bios = memregion("maincpu")->base();
m_pc10_bios = (bios[3] == 0x2a) ? 1 : 2;
diff --git a/src/mame/video/playmark.cpp b/src/mame/video/playmark.cpp
index 210970e59cb..4601f6d4fa9 100644
--- a/src/mame/video/playmark.cpp
+++ b/src/mame/video/playmark.cpp
@@ -90,7 +90,7 @@ TILE_GET_INFO_MEMBER(playmark_state::bigtwinb_get_tx_tile_info)
***************************************************************************/
-void playmark_state::video_start_bigtwin()
+VIDEO_START_MEMBER(playmark_state,bigtwin)
{
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(playmark_state::bigtwin_get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(playmark_state::bigtwin_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
@@ -106,7 +106,7 @@ void playmark_state::video_start_bigtwin()
}
-void playmark_state::video_start_bigtwinb()
+VIDEO_START_MEMBER(playmark_state,bigtwinb)
{
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(playmark_state::bigtwinb_get_tx_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_fg_tile_info),this),TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
@@ -126,7 +126,7 @@ void playmark_state::video_start_bigtwinb()
}
-void playmark_state::video_start_wbeachvl()
+VIDEO_START_MEMBER(playmark_state,wbeachvl)
{
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(playmark_state::wbeachvl_get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(playmark_state::wbeachvl_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
@@ -143,7 +143,7 @@ void playmark_state::video_start_wbeachvl()
m_pri_masks[2] = 0;
}
-void playmark_state::video_start_excelsr()
+VIDEO_START_MEMBER(playmark_state,excelsr)
{
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(playmark_state::bigtwin_get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(playmark_state::bigtwin_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
@@ -158,7 +158,7 @@ void playmark_state::video_start_excelsr()
m_pri_masks[2] = 0xfff0;
}
-void playmark_state::video_start_hotmind()
+VIDEO_START_MEMBER(playmark_state,hotmind)
{
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
@@ -179,7 +179,7 @@ void playmark_state::video_start_hotmind()
m_pri_masks[2] = 0;
}
-void playmark_state::video_start_luckboomh()
+VIDEO_START_MEMBER(playmark_state,luckboomh)
{
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_tx_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
@@ -219,7 +219,7 @@ TILEMAP_MAPPER_MEMBER(playmark_state::playmark_tilemap_scan_pages)
// theres enough ram for 64*128 on each tilemap..
-void playmark_state::video_start_hrdtimes()
+VIDEO_START_MEMBER(playmark_state,hrdtimes)
{
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_tx_tile_info),this),TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(playmark_state::hrdtimes_get_fg_tile_info),this),tilemap_mapper_delegate(FUNC(playmark_state::playmark_tilemap_scan_pages),this), 16, 16, 128, 32);
diff --git a/src/mame/video/polepos.cpp b/src/mame/video/polepos.cpp
index 14488ea32d5..355af8b52dc 100644
--- a/src/mame/video/polepos.cpp
+++ b/src/mame/video/polepos.cpp
@@ -187,7 +187,7 @@ TILE_GET_INFO_MEMBER(polepos_state::tx_get_tile_info)
***************************************************************************/
-void polepos_state::video_start_polepos()
+VIDEO_START_MEMBER(polepos_state,polepos)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(polepos_state::bg_get_tile_info),this),TILEMAP_SCAN_COLS,8,8,64,16);
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(polepos_state::tx_get_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
diff --git a/src/mame/video/psikyo.cpp b/src/mame/video/psikyo.cpp
index 3aa088a4cda..2f9c27ec83e 100644
--- a/src/mame/video/psikyo.cpp
+++ b/src/mame/video/psikyo.cpp
@@ -94,7 +94,7 @@ void psikyo_state::psikyo_switch_banks( int tmap, int bank )
}
-void psikyo_state::video_start_psikyo()
+VIDEO_START_MEMBER(psikyo_state,psikyo)
{
/* The Hardware is Capable of Changing the Dimensions of the Tilemaps, its safer to create
the various sized tilemaps now as opposed to later */
@@ -119,9 +119,9 @@ void psikyo_state::video_start_psikyo()
save_item(NAME(m_old_linescroll));
}
-void psikyo_state::video_start_sngkace()
+VIDEO_START_MEMBER(psikyo_state,sngkace)
{
- video_start_psikyo();
+ VIDEO_START_CALL_MEMBER( psikyo );
psikyo_switch_banks(0, 0); // sngkace / samuraia don't use banking
psikyo_switch_banks(1, 1); // They share "gfx2" to save memory on other boards
diff --git a/src/mame/video/psychic5.cpp b/src/mame/video/psychic5.cpp
index 9d9398f4f71..fedcf72dd3f 100644
--- a/src/mame/video/psychic5.cpp
+++ b/src/mame/video/psychic5.cpp
@@ -187,7 +187,7 @@ void psychic5_state::video_start()
}
-void psychic5_state::video_start_psychic5()
+VIDEO_START_MEMBER(psychic5_state,psychic5)
{
video_start();
@@ -199,7 +199,7 @@ void psychic5_state::video_start_psychic5()
}
-void psychic5_state::video_start_bombsa()
+VIDEO_START_MEMBER(psychic5_state,bombsa)
{
video_start();
@@ -210,7 +210,7 @@ void psychic5_state::video_start_bombsa()
save_item(NAME(m_bombsa_unknown));
}
-void psychic5_state::video_reset_psychic5()
+VIDEO_RESET_MEMBER(psychic5_state,psychic5)
{
m_bg_clip_mode = 0;
m_ps5_vram_page = 0;
diff --git a/src/mame/video/punchout.cpp b/src/mame/video/punchout.cpp
index c217aefb7c5..8d64b464376 100644
--- a/src/mame/video/punchout.cpp
+++ b/src/mame/video/punchout.cpp
@@ -110,7 +110,7 @@ void punchout_state::video_start()
}
-void punchout_state::video_start_armwrest()
+VIDEO_START_MEMBER(punchout_state,armwrest)
{
m_bg_top_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(punchout_state::armwrest_top_get_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,32);
m_bg_bot_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(punchout_state::armwrest_bot_get_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,32);
diff --git a/src/mame/video/qdrmfgp.cpp b/src/mame/video/qdrmfgp.cpp
index f48b0f9fdec..8eb80c74aca 100644
--- a/src/mame/video/qdrmfgp.cpp
+++ b/src/mame/video/qdrmfgp.cpp
@@ -26,7 +26,7 @@ K056832_CB_MEMBER(qdrmfgp_state::qdrmfgp2_tile_callback)
***************************************************************************/
-void qdrmfgp_state::video_start_qdrmfgp()
+VIDEO_START_MEMBER(qdrmfgp_state,qdrmfgp)
{
m_k056832->set_layer_association(0);
@@ -36,7 +36,7 @@ void qdrmfgp_state::video_start_qdrmfgp()
m_k056832->set_layer_offs(3, 8, 0);
}
-void qdrmfgp_state::video_start_qdrmfgp2()
+VIDEO_START_MEMBER(qdrmfgp_state,qdrmfgp2)
{
m_k056832->set_layer_association(0);
diff --git a/src/mame/video/qix.cpp b/src/mame/video/qix.cpp
index e2f9bed2142..6963e14c003 100644
--- a/src/mame/video/qix.cpp
+++ b/src/mame/video/qix.cpp
@@ -19,7 +19,7 @@
*
*************************************/
-void qix_state::video_start_qix()
+VIDEO_START_MEMBER(qix_state,qix)
{
/* allocate memory for the full video RAM */
m_videoram.allocate(256 * 256);
@@ -384,7 +384,7 @@ MACHINE_CONFIG_START(qix_state::qix_video)
MCFG_DEVICE_ADD("videocpu", MC6809E, MAIN_CLOCK_OSC/4/4) /* 1.25 MHz */
MCFG_DEVICE_PROGRAM_MAP(qix_video_map)
- set_video_start_cb(config, driver_callback_delegate(&video_start_qix, this));
+ MCFG_VIDEO_START_OVERRIDE(qix_state,qix)
MCFG_MC6845_ADD("vid_u18", MC6845, "screen", QIX_CHARACTER_CLOCK)
MCFG_MC6845_SHOW_BORDER_AREA(false)
diff --git a/src/mame/video/quasar.cpp b/src/mame/video/quasar.cpp
index 30d995b8aef..86377605bd7 100644
--- a/src/mame/video/quasar.cpp
+++ b/src/mame/video/quasar.cpp
@@ -89,7 +89,7 @@ PALETTE_INIT_MEMBER(quasar_state,quasar)
}
-void quasar_state::video_start_quasar()
+VIDEO_START_MEMBER(quasar_state,quasar)
{
m_effectram = std::make_unique<uint8_t[]>(0x400);
diff --git a/src/mame/video/raiden.cpp b/src/mame/video/raiden.cpp
index 178103e2e3a..2b55df6e67d 100644
--- a/src/mame/video/raiden.cpp
+++ b/src/mame/video/raiden.cpp
@@ -238,7 +238,7 @@ void raiden_state::video_start()
save_item(NAME(m_flipscreen));
}
-void raiden_state::video_start_raidenb()
+VIDEO_START_MEMBER(raiden_state,raidenb)
{
m_bg_layer = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(raiden_state::get_back_tile_info),this),TILEMAP_SCAN_COLS,16,16,32,32);
m_fg_layer = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(raiden_state::get_fore_tile_info),this),TILEMAP_SCAN_COLS,16,16,32,32);
diff --git a/src/mame/video/rallyx.cpp b/src/mame/video/rallyx.cpp
index 6fca095a0b8..b41a5e74a4a 100644
--- a/src/mame/video/rallyx.cpp
+++ b/src/mame/video/rallyx.cpp
@@ -330,7 +330,7 @@ void rallyx_state::rallyx_video_start_common( )
m_drawmode_table[3] = DRAWMODE_NONE;
}
-void rallyx_state::video_start_rallyx()
+VIDEO_START_MEMBER(rallyx_state,rallyx)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(rallyx_state::rallyx_bg_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(rallyx_state::rallyx_fg_get_tile_info),this), tilemap_mapper_delegate(FUNC(rallyx_state::fg_tilemap_scan),this), 8, 8, 8, 32);
@@ -344,7 +344,7 @@ void rallyx_state::video_start_rallyx()
}
-void rallyx_state::video_start_jungler()
+VIDEO_START_MEMBER(rallyx_state,jungler)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(rallyx_state::rallyx_bg_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(rallyx_state::rallyx_fg_get_tile_info),this), tilemap_mapper_delegate(FUNC(rallyx_state::fg_tilemap_scan),this), 8, 8, 8, 32);
@@ -356,7 +356,7 @@ void rallyx_state::video_start_jungler()
}
-void rallyx_state::video_start_locomotn()
+VIDEO_START_MEMBER(rallyx_state,locomotn)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(rallyx_state::locomotn_bg_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(rallyx_state::locomotn_fg_get_tile_info),this), tilemap_mapper_delegate(FUNC(rallyx_state::fg_tilemap_scan),this), 8, 8, 8, 32);
@@ -368,7 +368,7 @@ void rallyx_state::video_start_locomotn()
}
-void rallyx_state::video_start_commsega()
+VIDEO_START_MEMBER(rallyx_state,commsega)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(rallyx_state::locomotn_bg_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(rallyx_state::locomotn_fg_get_tile_info),this), tilemap_mapper_delegate(FUNC(rallyx_state::fg_tilemap_scan),this), 8, 8, 8, 32);
diff --git a/src/mame/video/rbisland.cpp b/src/mame/video/rbisland.cpp
index 21103c3d0dd..c326b856f01 100644
--- a/src/mame/video/rbisland.cpp
+++ b/src/mame/video/rbisland.cpp
@@ -69,7 +69,7 @@ the Y settings are active low.
*/
-void rbisland_state::video_start_jumping()
+VIDEO_START_MEMBER(rbisland_state,jumping)
{
m_pc080sn->set_trans_pen(1, 15);
diff --git a/src/mame/video/redalert.cpp b/src/mame/video/redalert.cpp
index 0ba20bed2fb..609794abbdb 100644
--- a/src/mame/video/redalert.cpp
+++ b/src/mame/video/redalert.cpp
@@ -162,7 +162,7 @@ void redalert_state::get_panther_pens(pen_t *pens)
*
*************************************/
-void redalert_state::video_start_redalert()
+VIDEO_START_MEMBER(redalert_state,redalert)
{
m_bitmap_colorram = std::make_unique<uint8_t[]>(0x0400);
@@ -171,9 +171,9 @@ void redalert_state::video_start_redalert()
m_control_xor = 0x00;
}
-void redalert_state::video_start_ww3()
+VIDEO_START_MEMBER(redalert_state,ww3)
{
- video_start_redalert();
+ VIDEO_START_CALL_MEMBER( redalert );
m_control_xor = 0x04;
}
@@ -413,14 +413,14 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(redalert_state::redalert_video)
- set_video_start_cb(config, driver_callback_delegate(&video_start_redalert, this));
+ MCFG_VIDEO_START_OVERRIDE(redalert_state,redalert)
redalert_video_common(config);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(redalert_state::ww3_video)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ww3, this));
+ MCFG_VIDEO_START_OVERRIDE(redalert_state, ww3 )
redalert_video_common(config);
MACHINE_CONFIG_END
@@ -433,7 +433,7 @@ MACHINE_CONFIG_END
*************************************/
MACHINE_CONFIG_START(redalert_state::demoneye_video)
- set_video_start_cb(config, driver_callback_delegate(&video_start_redalert, this));
+ MCFG_VIDEO_START_OVERRIDE(redalert_state,redalert)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@@ -446,7 +446,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(redalert_state::panther_video)
- set_video_start_cb(config, driver_callback_delegate(&video_start_ww3, this));
+ MCFG_VIDEO_START_OVERRIDE(redalert_state,ww3)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
diff --git a/src/mame/video/rohga.cpp b/src/mame/video/rohga.cpp
index 36bc1df2a9c..e1e6da0e055 100644
--- a/src/mame/video/rohga.cpp
+++ b/src/mame/video/rohga.cpp
@@ -74,7 +74,7 @@ uint32_t rohga_state::screen_update_rohga(screen_device &screen, bitmap_ind16 &b
-void rohga_state::video_start_wizdfire()
+VIDEO_START_MEMBER(rohga_state,wizdfire)
{
m_sprgen[0]->alloc_sprite_bitmap();
m_sprgen[1]->alloc_sprite_bitmap();
diff --git a/src/mame/video/rpunch.cpp b/src/mame/video/rpunch.cpp
index f5287369276..b3a072db267 100644
--- a/src/mame/video/rpunch.cpp
+++ b/src/mame/video/rpunch.cpp
@@ -66,7 +66,7 @@ TIMER_CALLBACK_MEMBER(rpunch_state::crtc_interrupt_gen)
}
-void rpunch_state::video_start_rpunch()
+VIDEO_START_MEMBER(rpunch_state,rpunch)
{
m_sprite_xoffs = 0;
@@ -85,9 +85,9 @@ void rpunch_state::video_start_rpunch()
}
-void rpunch_state::video_start_svolley()
+VIDEO_START_MEMBER(rpunch_state,svolley)
{
- video_start_rpunch();
+ VIDEO_START_CALL_MEMBER(rpunch);
m_background[0]->set_scrolldx(8, 0); // aligns middle net sprite with bg as shown in reference
m_sprite_xoffs = -4;
}
diff --git a/src/mame/video/runaway.cpp b/src/mame/video/runaway.cpp
index 807ad43533a..65a4dd9a4c6 100644
--- a/src/mame/video/runaway.cpp
+++ b/src/mame/video/runaway.cpp
@@ -76,7 +76,7 @@ void runaway_state::video_start()
}
-void runaway_state::video_start_qwak()
+VIDEO_START_MEMBER(runaway_state,qwak)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(runaway_state::qwak_get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 30);
diff --git a/src/mame/video/sauro.cpp b/src/mame/video/sauro.cpp
index 81cad77a68f..c6b7965e3e8 100644
--- a/src/mame/video/sauro.cpp
+++ b/src/mame/video/sauro.cpp
@@ -91,7 +91,7 @@ WRITE8_MEMBER(sauro_state::sauro_scroll_fg_w)
m_fg_tilemap->set_scrollx(0, scroll);
}
-void sauro_state::video_start_sauro()
+VIDEO_START_MEMBER(sauro_state,sauro)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(sauro_state::get_tile_info_bg),this), TILEMAP_SCAN_COLS,
8, 8, 32, 32);
@@ -162,7 +162,7 @@ uint32_t sauro_state::screen_update_sauro(screen_device &screen, bitmap_ind16 &b
/* Tricky Doc */
-void sauro_state::video_start_trckydoc()
+VIDEO_START_MEMBER(sauro_state,trckydoc)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(sauro_state::get_tile_info_bg),this), TILEMAP_SCAN_COLS,
8, 8, 32, 32);
diff --git a/src/mame/video/seibuspi.cpp b/src/mame/video/seibuspi.cpp
index a3a288e4cf5..e393e87b870 100644
--- a/src/mame/video/seibuspi.cpp
+++ b/src/mame/video/seibuspi.cpp
@@ -791,14 +791,14 @@ void seibuspi_state::video_start()
register_video_state();
}
-void seibuspi_state::video_start_ejanhs()
+VIDEO_START_MEMBER(seibuspi_state,ejanhs)
{
video_start();
memset(m_alpha_table, 0, 0x2000); // no alpha blending
}
-void seibuspi_state::video_start_sys386f()
+VIDEO_START_MEMBER(seibuspi_state,sys386f)
{
m_video_dma_length = 0;
m_video_dma_address = 0;
diff --git a/src/mame/video/seta.cpp b/src/mame/video/seta.cpp
index 7276e6e3a7d..9999b8927b2 100644
--- a/src/mame/video/seta.cpp
+++ b/src/mame/video/seta.cpp
@@ -420,9 +420,9 @@ WRITE16_MEMBER(seta_state::twineagl_tilebank_w)
/* 2 layers */
-void seta_state::video_start_seta_2_layers()
+VIDEO_START_MEMBER(seta_state,seta_2_layers)
{
- video_start_seta_no_layers();
+ VIDEO_START_CALL_MEMBER( seta_no_layers );
/* Each layer consists of 2 tilemaps: only one can be displayed
at any given time */
@@ -454,9 +454,9 @@ void seta_state::video_start_seta_2_layers()
m_tilemap[layer][bank]->set_transparent_pen(0);
}
-void seta_state::video_start_oisipuzl_2_layers()
+VIDEO_START_MEMBER(seta_state,oisipuzl_2_layers)
{
- video_start_seta_2_layers();
+ VIDEO_START_CALL_MEMBER(seta_2_layers);
m_tilemaps_flip = 1;
// position kludges
@@ -465,9 +465,9 @@ void seta_state::video_start_oisipuzl_2_layers()
/* 1 layer */
-void seta_state::video_start_seta_1_layer()
+VIDEO_START_MEMBER(seta_state,seta_1_layer)
{
- video_start_seta_no_layers();
+ VIDEO_START_CALL_MEMBER( seta_no_layers );
/* Each layer consists of 2 tilemaps: only one can be displayed
at any given time */
@@ -487,26 +487,26 @@ void seta_state::video_start_seta_1_layer()
m_tilemap[0][bank]->set_transparent_pen(0);
}
-void setaroul_state::video_start_setaroul_1_layer()
+VIDEO_START_MEMBER(setaroul_state,setaroul_1_layer)
{
- video_start_seta_1_layer();
+ VIDEO_START_CALL_MEMBER(seta_1_layer);
// position kludges
m_seta001->set_bg_yoffsets( 0, -0x1 );
m_seta001->set_bg_xoffsets( 0, 0x2 );
}
-void jockeyc_state::video_start_jockeyc_1_layer()
+VIDEO_START_MEMBER(jockeyc_state,jockeyc_1_layer)
{
- video_start_seta_1_layer();
+ VIDEO_START_CALL_MEMBER(seta_1_layer);
// position kludges
m_seta001->set_fg_yoffsets( -0x12+8, 0x0e );
}
-void seta_state::video_start_twineagl_1_layer()
+VIDEO_START_MEMBER(seta_state,twineagl_1_layer)
{
- video_start_seta_no_layers();
+ VIDEO_START_CALL_MEMBER( seta_no_layers );
/* Each layer consists of 2 tilemaps: only one can be displayed
at any given time */
@@ -533,7 +533,7 @@ SETA001_SPRITE_GFXBANK_CB_MEMBER(seta_state::setac_gfxbank_callback)
}
/* NO layers, only sprites */
-void seta_state::video_start_seta_no_layers()
+VIDEO_START_MEMBER(seta_state,seta_no_layers)
{
m_tilemap[0][0] = nullptr;
m_tilemap[0][1] = nullptr;
@@ -553,9 +553,9 @@ void seta_state::video_start_seta_no_layers()
m_seta001->set_bg_yoffsets( 0x1, -0x1 );
}
-void seta_state::video_start_kyustrkr_no_layers()
+VIDEO_START_MEMBER(seta_state,kyustrkr_no_layers)
{
- video_start_seta_no_layers();
+ VIDEO_START_CALL_MEMBER(seta_no_layers);
// position kludges
m_seta001->set_fg_yoffsets( -0x0a, 0x0e );
diff --git a/src/mame/video/seta2.cpp b/src/mame/video/seta2.cpp
index 149f563ce35..1ba670cc770 100644
--- a/src/mame/video/seta2.cpp
+++ b/src/mame/video/seta2.cpp
@@ -457,21 +457,21 @@ void seta2_state::video_start()
m_yoffset = 0;
}
-void seta2_state::video_start_xoffset()
+VIDEO_START_MEMBER(seta2_state,xoffset)
{
video_start();
m_xoffset = 0x200;
}
-void seta2_state::video_start_xoffset1()
+VIDEO_START_MEMBER(seta2_state,xoffset1)
{
video_start();
m_xoffset = 0x1;
}
-void seta2_state::video_start_yoffset()
+VIDEO_START_MEMBER(seta2_state,yoffset)
{
video_start();
diff --git a/src/mame/video/shangkid.cpp b/src/mame/video/shangkid.cpp
index ffa07e54e37..03356df4951 100644
--- a/src/mame/video/shangkid.cpp
+++ b/src/mame/video/shangkid.cpp
@@ -43,7 +43,7 @@ TILE_GET_INFO_MEMBER(shangkid_state::get_bg_tile_info){
(memregion( "proms" )->base()[0x800+color*4]==2)?1:0;
}
-void shangkid_state::video_start_shangkid()
+VIDEO_START_MEMBER(shangkid_state,shangkid)
{
m_background = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(shangkid_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
}
diff --git a/src/mame/video/slapfght.cpp b/src/mame/video/slapfght.cpp
index 0106ccd1338..cd1ef5465e9 100644
--- a/src/mame/video/slapfght.cpp
+++ b/src/mame/video/slapfght.cpp
@@ -51,14 +51,14 @@ TILE_GET_INFO_MEMBER(slapfght_state::get_fix_tile_info)
***************************************************************************/
-void slapfght_state::video_start_perfrman()
+VIDEO_START_MEMBER(slapfght_state, perfrman)
{
m_pf1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(slapfght_state::get_pf_tile_info), this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_pf1_tilemap->set_transparent_pen(0);
}
-void slapfght_state::video_start_slapfight()
+VIDEO_START_MEMBER(slapfght_state, slapfight)
{
m_pf1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(slapfght_state::get_pf1_tile_info), this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_fix_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(slapfght_state::get_fix_tile_info), this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
diff --git a/src/mame/video/snk.cpp b/src/mame/video/snk.cpp
index 15359c799da..b15fe0b0c04 100644
--- a/src/mame/video/snk.cpp
+++ b/src/mame/video/snk.cpp
@@ -184,7 +184,7 @@ TILE_GET_INFO_MEMBER(snk_state::gwar_get_bg_tile_info)
/**************************************************************************************/
-void snk_state::video_start_snk_3bpp_shadow()
+VIDEO_START_MEMBER(snk_state,snk_3bpp_shadow)
{
int i;
@@ -200,7 +200,7 @@ void snk_state::video_start_snk_3bpp_shadow()
m_palette->shadow_table()[i] = i | 0x200;
}
-void snk_state::video_start_snk_4bpp_shadow()
+VIDEO_START_MEMBER(snk_state,snk_4bpp_shadow)
{
int i;
@@ -221,9 +221,9 @@ void snk_state::video_start_snk_4bpp_shadow()
}
-void snk_state::video_start_marvins()
+VIDEO_START_MEMBER(snk_state,marvins)
{
- video_start_snk_3bpp_shadow();
+ VIDEO_START_CALL_MEMBER(snk_3bpp_shadow);
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snk_state::marvins_get_tx_tile_info),this), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),this), 8, 8, 36, 28);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snk_state::marvins_get_fg_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
@@ -242,9 +242,9 @@ void snk_state::video_start_marvins()
m_tx_tile_offset = 0;
}
-void snk_state::video_start_jcross()
+VIDEO_START_MEMBER(snk_state,jcross)
{
- video_start_snk_3bpp_shadow();
+ VIDEO_START_CALL_MEMBER(snk_3bpp_shadow);
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snk_state::marvins_get_tx_tile_info),this), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),this), 8, 8, 36, 28);
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snk_state::aso_get_bg_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 64, 64);
@@ -261,9 +261,9 @@ void snk_state::video_start_jcross()
m_tx_tile_offset = 0;
}
-void snk_state::video_start_sgladiat()
+VIDEO_START_MEMBER(snk_state,sgladiat)
{
- video_start_snk_3bpp_shadow();
+ VIDEO_START_CALL_MEMBER(snk_3bpp_shadow);
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snk_state::marvins_get_tx_tile_info),this), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),this), 8, 8, 36, 28);
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snk_state::aso_get_bg_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
@@ -280,9 +280,9 @@ void snk_state::video_start_sgladiat()
m_tx_tile_offset = 0;
}
-void snk_state::video_start_hal21()
+VIDEO_START_MEMBER(snk_state,hal21)
{
- video_start_jcross();
+ VIDEO_START_CALL_MEMBER(jcross);
m_bg_tilemap->set_scrolldy(8, -32+256);
@@ -290,9 +290,9 @@ void snk_state::video_start_hal21()
m_yscroll_mask = 0x1ff;
}
-void snk_state::video_start_aso()
+VIDEO_START_MEMBER(snk_state,aso)
{
- video_start_jcross();
+ VIDEO_START_CALL_MEMBER(jcross);
m_bg_tilemap->set_scrolldx(15+256, 24+256);
@@ -301,9 +301,9 @@ void snk_state::video_start_aso()
}
-void snk_state::video_start_tnk3()
+VIDEO_START_MEMBER(snk_state,tnk3)
{
- video_start_snk_3bpp_shadow();
+ VIDEO_START_CALL_MEMBER(snk_3bpp_shadow);
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snk_state::marvins_get_tx_tile_info),this), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),this), 8, 8, 36, 28);
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snk_state::tnk3_get_bg_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 64, 64);
@@ -319,9 +319,9 @@ void snk_state::video_start_tnk3()
m_tx_tile_offset = 0;
}
-void snk_state::video_start_ikari()
+VIDEO_START_MEMBER(snk_state,ikari)
{
- video_start_snk_3bpp_shadow();
+ VIDEO_START_CALL_MEMBER(snk_3bpp_shadow);
m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snk_state::ikari_get_tx_tile_info),this), tilemap_mapper_delegate(FUNC(snk_state::marvins_tx_scan_cols),this), 8, 8, 36, 28);
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snk_state::ikari_get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
@@ -335,10 +335,12 @@ void snk_state::video_start_ikari()
m_tx_tile_offset = 0;
}
-void snk_state::video_start_gwar()
+VIDEO_START_MEMBER(snk_state,gwar)
{
+ int i;
+
/* prepare drawmode table */
- for (int i = 0; i <= 14; i++) m_drawmode_table[i] = DRAWMODE_SOURCE;
+ for(i = 0; i <= 14; i++) m_drawmode_table[i] = DRAWMODE_SOURCE;
m_drawmode_table[15] = DRAWMODE_NONE;
memset(m_empty_tile, 0xf, sizeof(m_empty_tile));
@@ -356,16 +358,16 @@ void snk_state::video_start_gwar()
m_is_psychos = 0;
}
-void snk_state::video_start_psychos()
+VIDEO_START_MEMBER(snk_state,psychos)
{
- video_start_gwar();
+ VIDEO_START_CALL_MEMBER(gwar);
m_is_psychos = 1;
}
-void snk_state::video_start_tdfever()
+VIDEO_START_MEMBER(snk_state,tdfever)
{
- video_start_gwar();
- video_start_snk_4bpp_shadow();
+ VIDEO_START_CALL_MEMBER(gwar);
+ VIDEO_START_CALL_MEMBER(snk_4bpp_shadow);
}
/**************************************************************************************/
diff --git a/src/mame/video/snk6502.cpp b/src/mame/video/snk6502.cpp
index a4cd713758b..46f6a8107a8 100644
--- a/src/mame/video/snk6502.cpp
+++ b/src/mame/video/snk6502.cpp
@@ -170,7 +170,7 @@ TILE_GET_INFO_MEMBER(snk6502_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-void snk6502_state::video_start_snk6502()
+VIDEO_START_MEMBER(snk6502_state,snk6502)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snk6502_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snk6502_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
@@ -186,9 +186,9 @@ void snk6502_state::postload()
m_gfxdecode->gfx(0)->mark_all_dirty();
}
-void snk6502_state::video_start_pballoon()
+VIDEO_START_MEMBER(snk6502_state,pballoon)
{
- video_start_snk6502();
+ VIDEO_START_CALL_MEMBER( snk6502 );
m_bg_tilemap->set_scrolldy(-16, -16);
m_fg_tilemap->set_scrolldy(-16, -16);
@@ -301,7 +301,7 @@ TILE_GET_INFO_MEMBER(snk6502_state::satansat_get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
-void snk6502_state::video_start_satansat()
+VIDEO_START_MEMBER(snk6502_state,satansat)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snk6502_state::satansat_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snk6502_state::satansat_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
diff --git a/src/mame/video/snk68.cpp b/src/mame/video/snk68.cpp
index ea29e5f557e..597b36d00fd 100644
--- a/src/mame/video/snk68.cpp
+++ b/src/mame/video/snk68.cpp
@@ -66,7 +66,7 @@ void snk68_state::video_start()
save_item(NAME(m_fg_tile_offset));
}
-void snk68_state::video_start_searchar()
+VIDEO_START_MEMBER(snk68_state,searchar)
{
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snk68_state::get_searchar_tile_info),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
diff --git a/src/mame/video/snookr10.cpp b/src/mame/video/snookr10.cpp
index 94d7560abd8..fb854d72d07 100644
--- a/src/mame/video/snookr10.cpp
+++ b/src/mame/video/snookr10.cpp
@@ -246,12 +246,12 @@ void snookr10_state::video_start()
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snookr10_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 4, 8, 128, 30);
}
-void snookr10_state::video_start_apple10()
+VIDEO_START_MEMBER(snookr10_state, apple10)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snookr10_state::apple10_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 4, 8, 128, 30);
}
-void snookr10_state::video_start_crystalc()
+VIDEO_START_MEMBER(snookr10_state, crystalc)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(snookr10_state::crystalc_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 4, 8, 128, 30);
}
diff --git a/src/mame/video/spbactn.cpp b/src/mame/video/spbactn.cpp
index 297b2aa9435..11e386c5184 100644
--- a/src/mame/video/spbactn.cpp
+++ b/src/mame/video/spbactn.cpp
@@ -42,7 +42,7 @@ TILE_GET_INFO_MEMBER(spbactn_state::get_fg_tile_info)
-void spbactn_state::video_start_spbactn()
+VIDEO_START_MEMBER(spbactn_state,spbactn)
{
/* allocate bitmaps */
m_screen->register_screen_bitmap(m_tile_bitmap_bg);
@@ -55,9 +55,9 @@ void spbactn_state::video_start_spbactn()
m_fg_tilemap->set_transparent_pen(0);
}
-void spbactn_state::video_start_spbactnp()
+VIDEO_START_MEMBER(spbactn_state,spbactnp)
{
- video_start_spbactn();
+ VIDEO_START_CALL_MEMBER(spbactn);
// no idea..
m_extra_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(spbactn_state::get_extra_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 16, 16);
}
diff --git a/src/mame/video/special.cpp b/src/mame/video/special.cpp
index e5143b0eae5..c343d7df3ca 100644
--- a/src/mame/video/special.cpp
+++ b/src/mame/video/special.cpp
@@ -13,7 +13,7 @@
#include "includes/special.h"
-void special_state::video_start_special()
+VIDEO_START_MEMBER(special_state,special)
{
m_palette->set_pen_color(0, rgb_t::black());
m_palette->set_pen_color(1, rgb_t::white());
@@ -35,8 +35,7 @@ uint32_t special_state::screen_update_special(screen_device &screen, bitmap_ind1
}
return 0;
}
-
-void special_state::video_start_specialp()
+VIDEO_START_MEMBER(special_state,specialp)
{
}
@@ -83,7 +82,7 @@ PALETTE_INIT_MEMBER(special_state,specimx)
}
-void special_state::video_start_specimx()
+VIDEO_START_MEMBER(special_state,specimx)
{
m_specimx_colorram = std::make_unique<uint8_t[]>(0x3000);
}
@@ -123,7 +122,7 @@ PALETTE_INIT_MEMBER(special_state,erik)
}
-void special_state::video_start_erik()
+VIDEO_START_MEMBER(special_state,erik)
{
}
diff --git a/src/mame/video/spectrum.cpp b/src/mame/video/spectrum.cpp
index 6da3e961cba..9f475d94c45 100644
--- a/src/mame/video/spectrum.cpp
+++ b/src/mame/video/spectrum.cpp
@@ -22,7 +22,7 @@
/***************************************************************************
Start the video hardware emulation.
***************************************************************************/
-void spectrum_state::video_start_spectrum()
+VIDEO_START_MEMBER(spectrum_state,spectrum)
{
m_frame_invert_count = 16;
m_frame_number = 0;
@@ -43,7 +43,7 @@ void spectrum_state::video_start_spectrum()
}
-void spectrum_state::video_start_spectrum_128()
+VIDEO_START_MEMBER(spectrum_state,spectrum_128)
{
m_frame_invert_count = 16;
m_frame_number = 0;
diff --git a/src/mame/video/sslam.cpp b/src/mame/video/sslam.cpp
index 28268c6d5d6..77cbfc0d2e3 100644
--- a/src/mame/video/sslam.cpp
+++ b/src/mame/video/sslam.cpp
@@ -137,7 +137,7 @@ WRITE16_MEMBER(sslam_state::powerbls_bg_tileram_w)
m_bg_tilemap->mark_tile_dirty(offset>>1);
}
-void sslam_state::video_start_sslam()
+VIDEO_START_MEMBER(sslam_state,sslam)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(sslam_state::get_sslam_bg_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
m_md_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(sslam_state::get_sslam_md_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
@@ -150,7 +150,7 @@ void sslam_state::video_start_sslam()
save_item(NAME(m_sprites_x_offset));
}
-void sslam_state::video_start_powerbls()
+VIDEO_START_MEMBER(sslam_state,powerbls)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(sslam_state::get_powerbls_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
diff --git a/src/mame/video/ssv.cpp b/src/mame/video/ssv.cpp
index 77b5660b0ed..ed500fd9c3e 100644
--- a/src/mame/video/ssv.cpp
+++ b/src/mame/video/ssv.cpp
@@ -200,7 +200,7 @@ void ssv_state::video_start()
save_item(NAME(m_shadow_pen_shift));
}
-void ssv_state::video_start_eaglshot()
+VIDEO_START_MEMBER(ssv_state,eaglshot)
{
ssv_state::video_start();
@@ -225,7 +225,7 @@ WRITE16_MEMBER(ssv_state::gdfs_tmapram_w)
m_gdfs_tmap->mark_tile_dirty(offset);
}
-void ssv_state::video_start_gdfs()
+VIDEO_START_MEMBER(ssv_state,gdfs)
{
ssv_state::video_start();
diff --git a/src/mame/video/suna8.cpp b/src/mame/video/suna8.cpp
index 277314ea4a5..c12dbeb9d85 100644
--- a/src/mame/video/suna8.cpp
+++ b/src/mame/video/suna8.cpp
@@ -163,10 +163,10 @@ void suna8_state::suna8_vh_start_common(bool has_text, GFXBANK_TYPE_T gfxbank_ty
#endif
}
-void suna8_state::video_start_suna8_text() { suna8_vh_start_common( true, GFXBANK_TYPE_SPARKMAN); }
-void suna8_state::video_start_suna8_sparkman() { suna8_vh_start_common( false, GFXBANK_TYPE_SPARKMAN); }
-void suna8_state::video_start_suna8_brickzn() { suna8_vh_start_common( false, GFXBANK_TYPE_BRICKZN); }
-void suna8_state::video_start_suna8_starfigh() { suna8_vh_start_common( false, GFXBANK_TYPE_STARFIGH); }
+VIDEO_START_MEMBER(suna8_state,suna8_text) { suna8_vh_start_common( true, GFXBANK_TYPE_SPARKMAN); }
+VIDEO_START_MEMBER(suna8_state,suna8_sparkman) { suna8_vh_start_common( false, GFXBANK_TYPE_SPARKMAN); }
+VIDEO_START_MEMBER(suna8_state,suna8_brickzn) { suna8_vh_start_common( false, GFXBANK_TYPE_BRICKZN); }
+VIDEO_START_MEMBER(suna8_state,suna8_starfigh) { suna8_vh_start_common( false, GFXBANK_TYPE_STARFIGH); }
/***************************************************************************
diff --git a/src/mame/video/super80.cpp b/src/mame/video/super80.cpp
index 62e098f3e8c..b88b4f4c064 100644
--- a/src/mame/video/super80.cpp
+++ b/src/mame/video/super80.cpp
@@ -282,7 +282,7 @@ uint32_t super80_state::screen_update_super80m(screen_device &screen, bitmap_ind
return 0;
}
-void super80_state::video_start_super80()
+VIDEO_START_MEMBER(super80_state,super80)
{
m_vidpg = 0xfe00;
}
diff --git a/src/mame/video/superqix.cpp b/src/mame/video/superqix.cpp
index 4a2233a23a7..b153246381a 100644
--- a/src/mame/video/superqix.cpp
+++ b/src/mame/video/superqix.cpp
@@ -49,12 +49,12 @@ TILE_GET_INFO_MEMBER(superqix_state_base::sqix_get_bg_tile_info)
***************************************************************************/
-void hotsmash_state::video_start_pbillian()
+VIDEO_START_MEMBER(hotsmash_state, pbillian)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(hotsmash_state::pb_get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8,32,32);
}
-void superqix_state_base::video_start_superqix()
+VIDEO_START_MEMBER(superqix_state_base, superqix)
{
m_fg_bitmap[0] = std::make_unique<bitmap_ind16>(256, 256);
m_fg_bitmap[1] = std::make_unique<bitmap_ind16>(256, 256);
diff --git a/src/mame/video/system1.cpp b/src/mame/video/system1.cpp
index f12ad2d7e64..890a7498778 100644
--- a/src/mame/video/system1.cpp
+++ b/src/mame/video/system1.cpp
@@ -156,7 +156,7 @@ void system1_state::video_start()
}
-void system1_state::video_start_system2()
+VIDEO_START_MEMBER(system1_state,system2)
{
video_start_common(8);
}
diff --git a/src/mame/video/system16.cpp b/src/mame/video/system16.cpp
index be4fd505b3b..d7e66cf9c21 100644
--- a/src/mame/video/system16.cpp
+++ b/src/mame/video/system16.cpp
@@ -348,7 +348,7 @@ WRITE16_MEMBER(segas1x_bootleg_state::sys16_textram_w)
/***************************************************************************/
-void segas1x_bootleg_state::video_start_system16()
+VIDEO_START_MEMBER(segas1x_bootleg_state,system16)
{
/* Normal colors */
compute_resistor_weights(0, 255, -1.0,
@@ -415,9 +415,9 @@ void segas1x_bootleg_state::video_start_system16()
setup_system16_bootleg_spritebanking();
}
-void segas1x_bootleg_state::video_start_system18old()
+VIDEO_START_MEMBER(segas1x_bootleg_state,system18old)
{
- video_start_system16();
+ VIDEO_START_CALL_MEMBER(system16);
m_bg1_trans = 1;
@@ -539,7 +539,7 @@ WRITE16_MEMBER(segas1x_bootleg_state::s16a_bootleg_tilemapselect_w)
}
-void segas1x_bootleg_state::video_start_s16a_bootleg()
+VIDEO_START_MEMBER(segas1x_bootleg_state,s16a_bootleg)
{
/* Normal colors */
compute_resistor_weights(0, 255, -1.0,
@@ -568,21 +568,21 @@ void segas1x_bootleg_state::video_start_s16a_bootleg()
m_bg_tilemaps[1]->set_transparent_pen(0);
}
-void segas1x_bootleg_state::video_start_s16a_bootleg_wb3bl()
+VIDEO_START_MEMBER(segas1x_bootleg_state,s16a_bootleg_wb3bl)
{
- video_start_s16a_bootleg();
+ VIDEO_START_CALL_MEMBER(s16a_bootleg);
setup_system16_bootleg_spritebanking();
}
-void segas1x_bootleg_state::video_start_s16a_bootleg_shinobi()
+VIDEO_START_MEMBER(segas1x_bootleg_state,s16a_bootleg_shinobi)
{
- video_start_s16a_bootleg();
+ VIDEO_START_CALL_MEMBER(s16a_bootleg);
setup_system16_bootleg_spritebanking();
}
-void segas1x_bootleg_state::video_start_s16a_bootleg_passsht()
+VIDEO_START_MEMBER(segas1x_bootleg_state,s16a_bootleg_passsht)
{
- video_start_s16a_bootleg();
+ VIDEO_START_CALL_MEMBER(s16a_bootleg);
setup_system16_bootleg_spritebanking();
}
diff --git a/src/mame/video/taito_b.cpp b/src/mame/video/taito_b.cpp
index 87b870e437f..caf0590af34 100644
--- a/src/mame/video/taito_b.cpp
+++ b/src/mame/video/taito_b.cpp
@@ -37,7 +37,7 @@ WRITE16_MEMBER(taitob_state::realpunc_video_ctrl_w)
COMBINE_DATA(&m_realpunc_video_ctrl);
}
-void taitob_state::video_start_taitob_core()
+VIDEO_START_MEMBER(taitob_state,taitob_core)
{
m_framebuffer[0] = std::make_unique<bitmap_ind16>(512, 256);
m_framebuffer[1] = std::make_unique<bitmap_ind16>(512, 256);
@@ -49,7 +49,7 @@ void taitob_state::video_start_taitob_core()
save_item(NAME(*m_framebuffer[1]));
}
-void taitob_state::video_start_taitob_color_order0()
+VIDEO_START_MEMBER(taitob_state,taitob_color_order0)
{
/*graphics are shared, only that they use different palette*/
/*this is the basic layout used in: Nastar, Ashura Blaster, Hit the Ice, Rambo3, Tetris*/
@@ -60,29 +60,29 @@ void taitob_state::video_start_taitob_color_order0()
/* bg, fg, tx color_base are set in the tc0180vcu interface */
- video_start_taitob_core();
+ VIDEO_START_CALL_MEMBER(taitob_core);
}
-void taitob_state::video_start_taitob_color_order1()
+VIDEO_START_MEMBER(taitob_state,taitob_color_order1)
{
/* this is the reversed layout used in: Crime City, Puzzle Bobble */
m_b_sp_color_base = 0x80 * 16;
- video_start_taitob_core();
+ VIDEO_START_CALL_MEMBER(taitob_core);
}
-void taitob_state::video_start_taitob_color_order2()
+VIDEO_START_MEMBER(taitob_state,taitob_color_order2)
{
/*this is used in: rambo3a, masterw, silentd, selfeena, ryujin */
m_b_sp_color_base = 0x10 * 16;
- video_start_taitob_core();
+ VIDEO_START_CALL_MEMBER(taitob_core);
}
-void taitob_state::video_start_hitice()
+VIDEO_START_MEMBER(taitob_state,hitice)
{
- video_start_taitob_color_order0();
+ VIDEO_START_CALL_MEMBER(taitob_color_order0);
m_b_fg_color_base = 0x80; /* hitice also uses this for the pixel_bitmap */
@@ -91,18 +91,18 @@ void taitob_state::video_start_hitice()
save_item(NAME(*m_pixel_bitmap));
}
-void taitob_state::video_reset_hitice()
+VIDEO_RESET_MEMBER(taitob_state,hitice)
{
/* kludge: clear the bitmap on startup */
hitice_clear_pixel_bitmap();
}
-void taitob_state::video_start_realpunc()
+VIDEO_START_MEMBER(taitob_state,realpunc)
{
m_realpunc_bitmap = std::make_unique<bitmap_ind16>(m_screen->width(), m_screen->height());
- video_start_taitob_color_order0();
+ VIDEO_START_CALL_MEMBER(taitob_color_order0);
}
diff --git a/src/mame/video/taito_f2.cpp b/src/mame/video/taito_f2.cpp
index c8fcbc1b98f..eb6ac55efcf 100644
--- a/src/mame/video/taito_f2.cpp
+++ b/src/mame/video/taito_f2.cpp
@@ -76,132 +76,132 @@ void taitof2_state::taitof2_core_vh_start (int sprite_type, int hide, int flip_h
/* ( spritetype, hide, hideflip, xoffs, yoffs, flipx, flipy, textflipx, textflipy) */
/**************************************************************************************/
-void taitof2_state::video_start_taitof2_default()
+VIDEO_START_MEMBER(taitof2_state,taitof2_default)
{
taitof2_core_vh_start(0, 0, 0);
}
-void taitof2_state::video_start_taitof2_megab()/* Megab, Liquidk */
+VIDEO_START_MEMBER(taitof2_state,taitof2_megab)/* Megab, Liquidk */
{
taitof2_core_vh_start(0, 3, 3);
}
-void taitof2_state::video_start_taitof2_quiz()/* Quiz Crayons, Quiz Jinsei */
+VIDEO_START_MEMBER(taitof2_state,taitof2_quiz)/* Quiz Crayons, Quiz Jinsei */
{
taitof2_core_vh_start(3, 3, 3);
}
-void taitof2_state::video_start_taitof2_finalb()
+VIDEO_START_MEMBER(taitof2_state,taitof2_finalb)
{
taitof2_core_vh_start(0, 1, 1);
}
-void taitof2_state::video_start_taitof2_ssi()
+VIDEO_START_MEMBER(taitof2_state,taitof2_ssi)
{
taitof2_core_vh_start(0, 3, 3);
}
-void taitof2_state::video_start_taitof2_growl()
+VIDEO_START_MEMBER(taitof2_state,taitof2_growl)
{
taitof2_core_vh_start(0, 3, 3);
}
-void taitof2_state::video_start_taitof2_ninjak()
+VIDEO_START_MEMBER(taitof2_state,taitof2_ninjak)
{
taitof2_core_vh_start(0, 0, 0);
}
-void taitof2_state::video_start_taitof2_qzchikyu()
+VIDEO_START_MEMBER(taitof2_state,taitof2_qzchikyu)
{
taitof2_core_vh_start(0, 0, 4);
}
-void taitof2_state::video_start_taitof2_solfigtr()
+VIDEO_START_MEMBER(taitof2_state,taitof2_solfigtr)
{
taitof2_core_vh_start(0, 3, -3);
}
-void taitof2_state::video_start_taitof2_koshien()
+VIDEO_START_MEMBER(taitof2_state,taitof2_koshien)
{
taitof2_core_vh_start(0, 1, - 1);
}
-void taitof2_state::video_start_taitof2_gunfront()
+VIDEO_START_MEMBER(taitof2_state,taitof2_gunfront)
{
taitof2_core_vh_start(0, 3, 3);
}
-void taitof2_state::video_start_taitof2_thundfox()
+VIDEO_START_MEMBER(taitof2_state,taitof2_thundfox)
{
taitof2_core_vh_start(0, 3, -3);
}
-void taitof2_state::video_start_taitof2_mjnquest()
+VIDEO_START_MEMBER(taitof2_state,taitof2_mjnquest)
{
taitof2_core_vh_start(0, 0, 0);
m_tc0100scn->set_bg_tilemask(0x7fff);
}
-void taitof2_state::video_start_taitof2_footchmp()
+VIDEO_START_MEMBER(taitof2_state,taitof2_footchmp)
{
taitof2_core_vh_start(0, 3, 3);
m_game = FOOTCHMP;
}
-void taitof2_state::video_start_taitof2_hthero()
+VIDEO_START_MEMBER(taitof2_state,taitof2_hthero)
{
taitof2_core_vh_start(0, 3, 3);
m_game = FOOTCHMP;
}
-void taitof2_state::video_start_taitof2_deadconx()
+VIDEO_START_MEMBER(taitof2_state,taitof2_deadconx)
{
taitof2_core_vh_start(0, 3, 3);
}
-void taitof2_state::video_start_taitof2_deadconxj()
+VIDEO_START_MEMBER(taitof2_state,taitof2_deadconxj)
{
taitof2_core_vh_start(0, 3, 3);
}
-void taitof2_state::video_start_taitof2_metalb()
+VIDEO_START_MEMBER(taitof2_state,taitof2_metalb)
{
taitof2_core_vh_start(0, 3, 3);
}
-void taitof2_state::video_start_taitof2_yuyugogo()
+VIDEO_START_MEMBER(taitof2_state,taitof2_yuyugogo)
{
taitof2_core_vh_start(1, 3, 3);
}
-void taitof2_state::video_start_taitof2_yesnoj()
+VIDEO_START_MEMBER(taitof2_state,taitof2_yesnoj)
{
taitof2_core_vh_start(0, 3, 3);
}
-void taitof2_state::video_start_taitof2_dinorex()
+VIDEO_START_MEMBER(taitof2_state,taitof2_dinorex)
{
taitof2_core_vh_start(3, 3, 3);
}
-void taitof2_state::video_start_taitof2_dondokod()/* dondokod, cameltry */
+VIDEO_START_MEMBER(taitof2_state,taitof2_dondokod)/* dondokod, cameltry */
{
m_pivot_xdisp = -16;
m_pivot_ydisp = 0;
taitof2_core_vh_start(0, 3, 3);
}
-void taitof2_state::video_start_taitof2_pulirula()
+VIDEO_START_MEMBER(taitof2_state,taitof2_pulirula)
{
m_pivot_xdisp = -10; /* alignment seems correct (see level 2, falling */
m_pivot_ydisp = 16; /* block of ice after armour man) */
taitof2_core_vh_start(2, 3, 3);
}
-void taitof2_state::video_start_taitof2_driftout()
+VIDEO_START_MEMBER(taitof2_state,taitof2_driftout)
{
m_pivot_xdisp = -16;
m_pivot_ydisp = 16;
diff --git a/src/mame/video/taito_f3.cpp b/src/mame/video/taito_f3.cpp
index ae0108d10fc..842b02863d5 100644
--- a/src/mame/video/taito_f3.cpp
+++ b/src/mame/video/taito_f3.cpp
@@ -530,7 +530,7 @@ WRITE_LINE_MEMBER(taito_f3_state::screen_vblank_f3)
}
}
-void taito_f3_state::video_start_f3()
+VIDEO_START_MEMBER(taito_f3_state,f3)
{
const struct F3config *pCFG=&f3_config_table[0];
int i;
diff --git a/src/mame/video/taito_l.cpp b/src/mame/video/taito_l.cpp
index 1380b7f35d8..908697ddda1 100644
--- a/src/mame/video/taito_l.cpp
+++ b/src/mame/video/taito_l.cpp
@@ -46,7 +46,7 @@ TILE_GET_INFO_MEMBER(taitol_state::get_tx_tile_info)
***************************************************************************/
-void taitol_state::video_start_taito_l()
+VIDEO_START_MEMBER(taitol_state, taito_l)
{
m_buff_spriteram = make_unique_clear<u8[]>(SPRITERAM_SIZE);
int i;
diff --git a/src/mame/video/taito_z.cpp b/src/mame/video/taito_z.cpp
index 7b52d2d688b..67be80bf41a 100644
--- a/src/mame/video/taito_z.cpp
+++ b/src/mame/video/taito_z.cpp
@@ -6,7 +6,7 @@
/**********************************************************/
-void taitoz_state::video_start_taitoz()
+VIDEO_START_MEMBER(taitoz_state,taitoz)
{
m_road_palbank = 3;
m_sci_spriteframe = 0;
diff --git a/src/mame/video/tatsumi.cpp b/src/mame/video/tatsumi.cpp
index 16e7bc20261..71154bd763b 100644
--- a/src/mame/video/tatsumi.cpp
+++ b/src/mame/video/tatsumi.cpp
@@ -131,7 +131,7 @@ void cyclwarr_state::tile_expand()
/********************************************************************/
-void apache3_state::video_start_apache3()
+VIDEO_START_MEMBER(apache3_state,apache3)
{
m_tx_layer = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(tatsumi_state::get_text_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,64);
m_shadow_pen_array = make_unique_clear<uint8_t[]>(8192);
@@ -141,7 +141,7 @@ void apache3_state::video_start_apache3()
m_tx_layer->set_transparent_pen(0);
}
-void roundup5_state::video_start_roundup5()
+VIDEO_START_MEMBER(roundup5_state,roundup5)
{
m_tx_layer = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(tatsumi_state::get_text_tile_info),this),TILEMAP_SCAN_ROWS,8,8,128,64);
m_shadow_pen_array = make_unique_clear<uint8_t[]>(8192);
@@ -152,7 +152,7 @@ void roundup5_state::video_start_roundup5()
m_gfxdecode->gfx(1)->set_source((uint8_t *)m_roundup5_vram.get());
}
-void cyclwarr_state::video_start_cyclwarr()
+VIDEO_START_MEMBER(cyclwarr_state,cyclwarr)
{
tile_expand();
m_layer[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(cyclwarr_state::get_tile_info_bigfight<0>),this),TILEMAP_SCAN_ROWS,8,8,64,512);
@@ -164,7 +164,7 @@ void cyclwarr_state::video_start_cyclwarr()
m_shadow_pen_array = make_unique_clear<uint8_t[]>(8192);
}
-void cyclwarr_state::video_start_bigfight()
+VIDEO_START_MEMBER(cyclwarr_state,bigfight)
{
tile_expand();
m_layer[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(cyclwarr_state::get_tile_info_bigfight<0>),this),TILEMAP_SCAN_ROWS,8,8,128,256);
diff --git a/src/mame/video/tecmo16.cpp b/src/mame/video/tecmo16.cpp
index c3106f71075..e256f9b1fc2 100644
--- a/src/mame/video/tecmo16.cpp
+++ b/src/mame/video/tecmo16.cpp
@@ -88,7 +88,7 @@ void tecmo16_state::video_start()
save_state();
}
-void tecmo16_state::video_start_ginkun()
+VIDEO_START_MEMBER(tecmo16_state,ginkun)
{
/* set up tile layers */
m_screen->register_screen_bitmap(m_tile_bitmap_bg);
@@ -110,7 +110,7 @@ void tecmo16_state::video_start_ginkun()
save_state();
}
-void tecmo16_state::video_start_riot()
+VIDEO_START_MEMBER(tecmo16_state,riot)
{
/* set up tile layers */
m_screen->register_screen_bitmap(m_tile_bitmap_bg);
diff --git a/src/mame/video/tetrisp2.cpp b/src/mame/video/tetrisp2.cpp
index 42157d0ed32..7c8ab3befd2 100644
--- a/src/mame/video/tetrisp2.cpp
+++ b/src/mame/video/tetrisp2.cpp
@@ -216,7 +216,8 @@ WRITE16_MEMBER(tetrisp2_state::rocknms_sub_vram_rot_w)
}
-void tetrisp2_state::video_start_tetrisp2()
+
+VIDEO_START_MEMBER(tetrisp2_state,tetrisp2)
{
m_flipscreen_old = -1;
@@ -235,13 +236,13 @@ void tetrisp2_state::video_start_tetrisp2()
save_pointer(NAME(m_priority.get()), 0x40000);
}
-void tetrisp2_state::video_start_nndmseal()
+VIDEO_START_MEMBER(tetrisp2_state,nndmseal)
{
- video_start_tetrisp2();
+ VIDEO_START_CALL_MEMBER( tetrisp2 );
m_tilemap_bg->set_scrolldx(-4,-4);
}
-void tetrisp2_state::video_start_rockntread()
+VIDEO_START_MEMBER(tetrisp2_state,rockntread)
{
m_flipscreen_old = -1;
@@ -262,9 +263,9 @@ void tetrisp2_state::video_start_rockntread()
}
-void tetrisp2_state::video_start_rocknms()
+VIDEO_START_MEMBER(tetrisp2_state,rocknms)
{
- video_start_rockntread();
+ VIDEO_START_CALL_MEMBER( rockntread );
m_tilemap_sub_bg = &machine().tilemap().create(*m_sub_gfxdecode, tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rocknms_sub_bg),this),TILEMAP_SCAN_ROWS,16, 16, 32, 256); // rockn ms(sub)
m_tilemap_sub_fg = &machine().tilemap().create(*m_sub_gfxdecode, tilemap_get_info_delegate(FUNC(tetrisp2_state::get_tile_info_rocknms_sub_fg),this),TILEMAP_SCAN_ROWS,8, 8, 64, 64);
@@ -721,7 +722,7 @@ TILE_GET_INFO_MEMBER(tetrisp2_state::stepstag_get_tile_info_fg)
0);
}
-void stepstag_state::video_start_stepstag()
+VIDEO_START_MEMBER(stepstag_state,stepstag)
{
m_flipscreen_old = -1;
diff --git a/src/mame/video/thomson.cpp b/src/mame/video/thomson.cpp
index 81819c5616a..697c4744a20 100644
--- a/src/mame/video/thomson.cpp
+++ b/src/mame/video/thomson.cpp
@@ -1118,7 +1118,7 @@ static const uint16_t mo5_pal_init[16] =
};
-void thomson_state::video_start_thom()
+VIDEO_START_MEMBER( thomson_state, thom )
{
LOG (( "thom: video start called\n" ));
diff --git a/src/mame/video/tiamc1.cpp b/src/mame/video/tiamc1.cpp
index 38979334c07..93ff43af73f 100644
--- a/src/mame/video/tiamc1.cpp
+++ b/src/mame/video/tiamc1.cpp
@@ -188,7 +188,7 @@ void tiamc1_state::video_start()
m_gfxdecode->gfx(0)->set_source(m_charram);
}
-void tiamc1_state::video_start_kot()
+VIDEO_START_MEMBER(tiamc1_state, kot)
{
m_charram = memregion("gfx2")->base();
diff --git a/src/mame/video/timeplt.cpp b/src/mame/video/timeplt.cpp
index 47d9735bfdb..f2c80dd4b62 100644
--- a/src/mame/video/timeplt.cpp
+++ b/src/mame/video/timeplt.cpp
@@ -130,13 +130,13 @@ void timeplt_state::video_start()
save_item(NAME(m_video_enable));
}
-void timeplt_state::video_start_psurge()
+VIDEO_START_MEMBER(timeplt_state,psurge)
{
video_start();
m_video_enable = 1; //psurge doesn't seem to have the video enable
}
-void timeplt_state::video_start_chkun()
+VIDEO_START_MEMBER(timeplt_state,chkun)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(timeplt_state::get_chkun_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_video_enable = 0;
diff --git a/src/mame/video/timex.cpp b/src/mame/video/timex.cpp
index 4db76598a84..2f4a657cfc2 100644
--- a/src/mame/video/timex.cpp
+++ b/src/mame/video/timex.cpp
@@ -26,7 +26,7 @@ inline void spectrum_state::spectrum_plot_pixel(bitmap_ind16 &bitmap, int x, int
}
/* Update FLASH status for ts2068. Assumes flash update every 1/2s. */
-void spectrum_state::video_start_ts2068()
+VIDEO_START_MEMBER(spectrum_state,ts2068)
{
m_frame_invert_count = 30;
diff --git a/src/mame/video/tmnt.cpp b/src/mame/video/tmnt.cpp
index e1cb469d712..7da27c28eee 100644
--- a/src/mame/video/tmnt.cpp
+++ b/src/mame/video/tmnt.cpp
@@ -206,7 +206,7 @@ K05324X_CB_MEMBER(tmnt_state::prmrsocr_sprite_callback)
***************************************************************************/
-void tmnt_state::video_start_cuebrick()
+VIDEO_START_MEMBER(tmnt_state,cuebrick)
{
m_layer_colorbase[0] = 0;
m_layer_colorbase[1] = 32;
@@ -214,7 +214,7 @@ void tmnt_state::video_start_cuebrick()
m_sprite_colorbase = 16;
}
-void tmnt_state::video_start_mia()
+VIDEO_START_MEMBER(tmnt_state,mia)
{
m_layer_colorbase[0] = 0;
m_layer_colorbase[1] = 32;
@@ -225,7 +225,7 @@ void tmnt_state::video_start_mia()
save_item(NAME(m_tmnt_priorityflag));
}
-void tmnt_state::video_start_tmnt()
+VIDEO_START_MEMBER(tmnt_state,tmnt)
{
m_layer_colorbase[0] = 0;
m_layer_colorbase[1] = 32;
@@ -238,7 +238,7 @@ void tmnt_state::video_start_tmnt()
m_palette->set_shadow_factor(0.75);
}
-void tmnt_state::video_start_lgtnfght()/* also tmnt2, ssriders */
+VIDEO_START_MEMBER(tmnt_state,lgtnfght)/* also tmnt2, ssriders */
{
m_k053245->set_z_rejection(0);
@@ -250,7 +250,7 @@ void tmnt_state::video_start_lgtnfght()/* also tmnt2, ssriders */
save_item(NAME(m_lasten));
}
-void tmnt_state::video_start_glfgreat()
+VIDEO_START_MEMBER(tmnt_state,glfgreat)
{
m_roz_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(tmnt_state::glfgreat_get_roz_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 512, 512);
m_roz_tilemap->set_transparent_pen(0);
@@ -263,7 +263,7 @@ void tmnt_state::video_start_glfgreat()
save_item(NAME(m_glfgreat_roz_rom_mode));
}
-void tmnt_state::video_start_prmrsocr()
+VIDEO_START_MEMBER(tmnt_state,prmrsocr)
{
m_roz_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(tmnt_state::prmrsocr_get_roz_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 512, 256);
m_roz_tilemap->set_transparent_pen(0);
@@ -274,7 +274,7 @@ void tmnt_state::video_start_prmrsocr()
save_item(NAME(m_glfgreat_roz_char_bank));
}
-void tmnt_state::video_start_blswhstl()
+VIDEO_START_MEMBER(tmnt_state,blswhstl)
{
m_blswhstl_rombank = -1;
save_item(NAME(m_blswhstl_rombank));
diff --git a/src/mame/video/toaplan1.cpp b/src/mame/video/toaplan1.cpp
index 0fc3e7e2706..190b0a5c6f5 100644
--- a/src/mame/video/toaplan1.cpp
+++ b/src/mame/video/toaplan1.cpp
@@ -286,7 +286,7 @@ void toaplan1_state::register_common()
}
-void toaplan1_rallybik_state::video_start_rallybik()
+VIDEO_START_MEMBER(toaplan1_rallybik_state,rallybik)
{
m_spritegen->alloc_sprite_bitmap(*m_screen);
m_spritegen->gfx(0)->set_colorbase(64*16);
@@ -312,7 +312,7 @@ void toaplan1_rallybik_state::video_start_rallybik()
register_common();
}
-void toaplan1_state::video_start_toaplan1()
+VIDEO_START_MEMBER(toaplan1_state,toaplan1)
{
toaplan1_create_tilemaps();
toaplan1_vram_alloc();
diff --git a/src/mame/video/toaplan2.cpp b/src/mame/video/toaplan2.cpp
index 91b84325581..86bddaec96f 100644
--- a/src/mame/video/toaplan2.cpp
+++ b/src/mame/video/toaplan2.cpp
@@ -71,7 +71,7 @@ void toaplan2_state::truxton2_postload()
m_gfxdecode->gfx(0)->mark_all_dirty();
}
-void toaplan2_state::video_start_toaplan2()
+VIDEO_START_MEMBER(toaplan2_state,toaplan2)
{
/* our current VDP implementation needs this bitmap to work with */
m_screen->register_screen_bitmap(m_custom_priority_bitmap);
@@ -89,9 +89,9 @@ void toaplan2_state::video_start_toaplan2()
}
}
-void toaplan2_state::video_start_truxton2()
+VIDEO_START_MEMBER(toaplan2_state,truxton2)
{
- video_start_toaplan2();
+ VIDEO_START_CALL_MEMBER( toaplan2 );
/* Create the Text tilemap for this game */
m_gfxdecode->gfx(0)->set_source(reinterpret_cast<uint8_t *>(m_tx_gfxram16.target()));
@@ -100,9 +100,9 @@ void toaplan2_state::video_start_truxton2()
create_tx_tilemap(0x1d5, 0x16a);
}
-void toaplan2_state::video_start_fixeightbl()
+VIDEO_START_MEMBER(toaplan2_state,fixeightbl)
{
- video_start_toaplan2();
+ VIDEO_START_CALL_MEMBER( toaplan2 );
/* Create the Text tilemap for this game */
create_tx_tilemap();
@@ -116,25 +116,25 @@ void toaplan2_state::video_start_fixeightbl()
m_vdp0->init_scroll_regs();
}
-void toaplan2_state::video_start_bgaregga()
+VIDEO_START_MEMBER(toaplan2_state,bgaregga)
{
- video_start_toaplan2();
+ VIDEO_START_CALL_MEMBER( toaplan2 );
/* Create the Text tilemap for this game */
create_tx_tilemap(0x1d4, 0x16b);
}
-void toaplan2_state::video_start_bgareggabl()
+VIDEO_START_MEMBER(toaplan2_state,bgareggabl)
{
- video_start_toaplan2();
+ VIDEO_START_CALL_MEMBER( toaplan2 );
/* Create the Text tilemap for this game */
create_tx_tilemap(4, 4);
}
-void toaplan2_state::video_start_batrider()
+VIDEO_START_MEMBER(toaplan2_state,batrider)
{
- video_start_toaplan2();
+ VIDEO_START_CALL_MEMBER( toaplan2 );
m_vdp0->disable_sprite_buffer(); // disable buffering on this game
diff --git a/src/mame/video/trackfld.cpp b/src/mame/video/trackfld.cpp
index f697fb82872..e4531d3a140 100644
--- a/src/mame/video/trackfld.cpp
+++ b/src/mame/video/trackfld.cpp
@@ -167,7 +167,7 @@ TILE_GET_INFO_MEMBER(trackfld_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(1, code, color, flags);
}
-void trackfld_state::video_start_trackfld()
+VIDEO_START_MEMBER(trackfld_state,trackfld)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(trackfld_state::get_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_bg_tilemap->set_scroll_rows(32);
@@ -175,9 +175,9 @@ void trackfld_state::video_start_trackfld()
}
-void trackfld_state::video_start_atlantol()
+VIDEO_START_MEMBER(trackfld_state,atlantol)
{
- video_start_trackfld();
+ VIDEO_START_CALL_MEMBER( trackfld );
m_sprites_gfx_banked = 1;
}
diff --git a/src/mame/video/tsamurai.cpp b/src/mame/video/tsamurai.cpp
index 8617aca95eb..9b59bcd4d8a 100644
--- a/src/mame/video/tsamurai.cpp
+++ b/src/mame/video/tsamurai.cpp
@@ -50,7 +50,7 @@ void tsamurai_state::video_start()
save_item(NAME(m_textbank1));
}
-void tsamurai_state::video_start_tsamurai()
+VIDEO_START_MEMBER(tsamurai_state, tsamurai)
{
m_background = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(tsamurai_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
m_foreground = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(tsamurai_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
@@ -62,9 +62,9 @@ void tsamurai_state::video_start_tsamurai()
video_start();
}
-void tsamurai_state::video_start_m660()
+VIDEO_START_MEMBER(tsamurai_state, m660)
{
- video_start_tsamurai();
+ VIDEO_START_CALL_MEMBER(tsamurai);
save_item(NAME(m_textbank2));
}
@@ -249,7 +249,7 @@ TILE_GET_INFO_MEMBER(tsamurai_state::get_vsgongf_tile_info)
0);
}
-void tsamurai_state::video_start_vsgongf()
+VIDEO_START_MEMBER(tsamurai_state,vsgongf)
{
m_foreground = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(tsamurai_state::get_vsgongf_tile_info),this),TILEMAP_SCAN_ROWS,8,8,32,32);
diff --git a/src/mame/video/tumbleb.cpp b/src/mame/video/tumbleb.cpp
index 249bff7ea3b..a515f219f7d 100644
--- a/src/mame/video/tumbleb.cpp
+++ b/src/mame/video/tumbleb.cpp
@@ -220,7 +220,7 @@ void tumbleb_state::tumbleb_tilemap_redraw()
m_pf2_alt_tilemap->mark_all_dirty();
}
-void tumbleb_state::video_start_pangpang()
+VIDEO_START_MEMBER(tumbleb_state,pangpang)
{
m_pf1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(tumbleb_state::pangpang_get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_pf1_alt_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(tumbleb_state::pangpang_get_bg1_tile_info),this), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),this), 16, 16, 64, 32);
@@ -233,7 +233,7 @@ void tumbleb_state::video_start_pangpang()
}
-void tumbleb_state::video_start_tumblepb()
+VIDEO_START_MEMBER(tumbleb_state,tumblepb)
{
m_pf1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(tumbleb_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_pf1_alt_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg1_tile_info),this), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),this), 16, 16, 64, 32);
@@ -245,7 +245,7 @@ void tumbleb_state::video_start_tumblepb()
machine().save().register_postload(save_prepost_delegate(FUNC(tumbleb_state::tumbleb_tilemap_redraw), this));
}
-void tumbleb_state::video_start_sdfight()
+VIDEO_START_MEMBER(tumbleb_state,sdfight)
{
m_pf1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(tumbleb_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 64); // 64*64 to prevent bad tilemap wrapping? - check real behavior
m_pf1_alt_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg1_tile_info),this), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),this), 16, 16, 64, 32);
@@ -257,7 +257,7 @@ void tumbleb_state::video_start_sdfight()
machine().save().register_postload(save_prepost_delegate(FUNC(tumbleb_state::tumbleb_tilemap_redraw), this));
}
-void tumbleb_state::video_start_fncywld()
+VIDEO_START_MEMBER(tumbleb_state,fncywld)
{
m_pf1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(tumbleb_state::get_fncywld_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_pf1_alt_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(tumbleb_state::get_fncywld_bg1_tile_info),this), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),this), 16, 16, 64, 32);
@@ -270,7 +270,7 @@ void tumbleb_state::video_start_fncywld()
}
-void tumbleb_state::video_start_suprtrio()
+VIDEO_START_MEMBER(tumbleb_state,suprtrio)
{
m_pf1_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(tumbleb_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
m_pf1_alt_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(tumbleb_state::get_bg1_tile_info),this), tilemap_mapper_delegate(FUNC(tumbleb_state::tumblep_scan),this), 16, 16, 64, 32);
diff --git a/src/mame/video/turbo.cpp b/src/mame/video/turbo.cpp
index 3ac5965666b..0f043545483 100644
--- a/src/mame/video/turbo.cpp
+++ b/src/mame/video/turbo.cpp
@@ -160,14 +160,14 @@ TILE_GET_INFO_MEMBER(turbo_state::get_fg_tile_info)
}
-void turbo_state::video_start_turbo()
+VIDEO_START_MEMBER(turbo_state,turbo)
{
/* initialize the foreground tilemap */
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(turbo_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,32);
}
-void turbo_state::video_start_buckrog()
+VIDEO_START_MEMBER(turbo_state,buckrog)
{
/* initialize the foreground tilemap */
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(turbo_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS, 8,8, 32,32);
diff --git a/src/mame/video/twincobr.cpp b/src/mame/video/twincobr.cpp
index 4c02a7b0d7c..dafed1b7c30 100644
--- a/src/mame/video/twincobr.cpp
+++ b/src/mame/video/twincobr.cpp
@@ -82,7 +82,7 @@ void twincobr_state::twincobr_create_tilemaps()
m_tx_tilemap->set_transparent_pen(0);
}
-void twincobr_state::video_start_toaplan0()
+VIDEO_START_MEMBER(twincobr_state,toaplan0)
{
m_spritegen->alloc_sprite_bitmap(*m_screen);
diff --git a/src/mame/video/tx1.cpp b/src/mame/video/tx1.cpp
index 93193d0d6c0..dabfc0a9ae3 100644
--- a/src/mame/video/tx1.cpp
+++ b/src/mame/video/tx1.cpp
@@ -1096,7 +1096,7 @@ void tx1_state::tx1_draw_objects(uint8_t *bitmap)
*
*************************************/
-void tx1_state::video_start_tx1()
+VIDEO_START_MEMBER(tx1_state,tx1)
{
/* Allocate a large bitmap that covers the three screens */
m_bitmap = std::make_unique<bitmap_ind16>(768, 256);
@@ -2989,7 +2989,7 @@ void tx1_state::bb_combine_layers(bitmap_ind16 &bitmap, int screen)
}
}
-void tx1_state::video_start_buggyboy()
+VIDEO_START_MEMBER(tx1_state,buggyboy)
{
/* Allocate some bitmaps */
m_chr_bmp = std::make_unique<uint8_t[]>(3 * 256 * 240);
@@ -3003,7 +3003,7 @@ void tx1_state::video_start_buggyboy()
m_interrupt_timer->adjust(m_screen->time_until_pos(CURSOR_YPOS, CURSOR_XPOS));
}
-void tx1_state::video_start_buggybjr()
+VIDEO_START_MEMBER(tx1_state,buggybjr)
{
/* Allocate some bitmaps */
m_chr_bmp = std::make_unique<uint8_t[]>(256 * 240);
diff --git a/src/mame/video/ut88.cpp b/src/mame/video/ut88.cpp
index 5892844b62d..f8c8bd7b4ba 100644
--- a/src/mame/video/ut88.cpp
+++ b/src/mame/video/ut88.cpp
@@ -24,7 +24,7 @@ const gfx_layout ut88_charlayout =
8*8 /* size of one char */
};
-void ut88_state::video_start_ut88()
+VIDEO_START_MEMBER(ut88_state,ut88)
{
}
diff --git a/src/mame/video/warpwarp.cpp b/src/mame/video/warpwarp.cpp
index d0d9f91540e..593956231cf 100644
--- a/src/mame/video/warpwarp.cpp
+++ b/src/mame/video/warpwarp.cpp
@@ -40,7 +40,7 @@ PALETTE_INIT_MEMBER(warpwarp_state,navarone)
palette.set_pen_color(3, geebee_palette[0]);
}
-void warpwarp_state::machine_reset_kaitei()
+MACHINE_RESET_MEMBER(warpwarp_state,kaitei)
{
// Some PCB videos/images shows a b&w arrangement, others a full colorized one.
// This is due of the monitor type used, cfr. http://news.livedoor.com/article/detail/5604337/
@@ -193,17 +193,17 @@ TILE_GET_INFO_MEMBER(warpwarp_state::warpwarp_get_tile_info)
***************************************************************************/
-void warpwarp_state::video_start_geebee()
+VIDEO_START_MEMBER(warpwarp_state,geebee)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(warpwarp_state::geebee_get_tile_info),this),tilemap_mapper_delegate(FUNC(warpwarp_state::tilemap_scan),this),8,8,34,28);
}
-void warpwarp_state::video_start_navarone()
+VIDEO_START_MEMBER(warpwarp_state,navarone)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(warpwarp_state::navarone_get_tile_info),this),tilemap_mapper_delegate(FUNC(warpwarp_state::tilemap_scan),this),8,8,34,28);
}
-void warpwarp_state::video_start_warpwarp()
+VIDEO_START_MEMBER(warpwarp_state,warpwarp)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(warpwarp_state::warpwarp_get_tile_info),this),tilemap_mapper_delegate(FUNC(warpwarp_state::tilemap_scan),this),8,8,34,28);
}
diff --git a/src/mame/video/wc90.cpp b/src/mame/video/wc90.cpp
index 36f3478caad..84aff9903c9 100644
--- a/src/mame/video/wc90.cpp
+++ b/src/mame/video/wc90.cpp
@@ -79,7 +79,7 @@ void wc90_state::video_start()
m_tx_tilemap->set_transparent_pen(0);
}
-void wc90_state::video_start_wc90t()
+VIDEO_START_MEMBER(wc90_state,wc90t)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(wc90_state::track_get_bg_tile_info),this),TILEMAP_SCAN_ROWS, 16,16,64,32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(wc90_state::track_get_fg_tile_info),this),TILEMAP_SCAN_ROWS,16,16,64,32);
diff --git a/src/mame/video/wecleman.cpp b/src/mame/video/wecleman.cpp
index 807891055ee..4bb6c0c1120 100644
--- a/src/mame/video/wecleman.cpp
+++ b/src/mame/video/wecleman.cpp
@@ -859,7 +859,7 @@ WRITE16_MEMBER(wecleman_state::wecleman_paletteram16_SSSSBBBBGGGGRRRR_word_w)
Initializations
***************************************************************************/
-void wecleman_state::video_start_wecleman()
+VIDEO_START_MEMBER(wecleman_state,wecleman)
{
/*
Sprite banking - each bank is 0x20000 bytes (we support 0x40 bank codes)
@@ -961,7 +961,7 @@ K051316_CB_MEMBER(wecleman_state::hotchase_zoom_callback_2)
}
-void wecleman_state::video_start_hotchase()
+VIDEO_START_MEMBER(wecleman_state,hotchase)
{
/*
Sprite banking - each bank is 0x20000 bytes (we support 0x40 bank codes)
diff --git a/src/mame/video/wgp.cpp b/src/mame/video/wgp.cpp
index 9d12fb3d3f8..d0e162fc463 100644
--- a/src/mame/video/wgp.cpp
+++ b/src/mame/video/wgp.cpp
@@ -70,7 +70,7 @@ void wgp_state::video_start()
core_vh_start(32, 16);
}
-void wgp_state::video_start_wgp2()
+VIDEO_START_MEMBER(wgp_state,wgp2)
{
core_vh_start(32, 16);
}
diff --git a/src/mame/video/williams.cpp b/src/mame/video/williams.cpp
index 19f1c25ebd7..52ef8a61356 100644
--- a/src/mame/video/williams.cpp
+++ b/src/mame/video/williams.cpp
@@ -167,7 +167,7 @@ void williams_state::state_save_register()
}
-void williams_state::video_start_williams()
+VIDEO_START_MEMBER(williams_state,williams)
{
blitter_init(m_blitter_config, nullptr);
create_palette_lookup();
@@ -175,7 +175,7 @@ void williams_state::video_start_williams()
}
-void blaster_state::video_start_blaster()
+VIDEO_START_MEMBER(blaster_state,blaster)
{
blitter_init(m_blitter_config, memregion("proms")->base());
create_palette_lookup();
@@ -185,7 +185,7 @@ void blaster_state::video_start_blaster()
}
-void williams2_state::video_start_williams2()
+VIDEO_START_MEMBER(williams2_state,williams2)
{
blitter_init(m_blitter_config, nullptr);
diff --git a/src/mame/video/x1.cpp b/src/mame/video/x1.cpp
index 141d9bc900a..dc872754dd8 100644
--- a/src/mame/video/x1.cpp
+++ b/src/mame/video/x1.cpp
@@ -19,7 +19,7 @@
*
*************************************/
-void x1_state::video_start_x1()
+VIDEO_START_MEMBER(x1_state,x1)
{
m_gfx_bitmap_ram = make_unique_clear<uint8_t[]>(0xc000*2);
m_bitmapbank->configure_entries(0, 2, m_gfx_bitmap_ram.get(), 0xc000);
diff --git a/src/mame/video/x68k.cpp b/src/mame/video/x68k.cpp
index 54a18233e5c..7a8912a80b0 100644
--- a/src/mame/video/x68k.cpp
+++ b/src/mame/video/x68k.cpp
@@ -1084,7 +1084,7 @@ TILE_GET_INFO_MEMBER(x68k_state::x68k_get_bg1_tile_16)
SET_TILE_INFO_MEMBER(1,code,colour,flags);
}
-void x68k_state::video_start_x68000()
+VIDEO_START_MEMBER(x68k_state,x68000)
{
int gfx_index;
diff --git a/src/mame/video/xevious.cpp b/src/mame/video/xevious.cpp
index e88ce76fa55..9d336b437f2 100644
--- a/src/mame/video/xevious.cpp
+++ b/src/mame/video/xevious.cpp
@@ -138,7 +138,7 @@ TILE_GET_INFO_MEMBER(xevious_state::get_bg_tile_info)
***************************************************************************/
-void xevious_state::video_start_xevious()
+VIDEO_START_MEMBER(xevious_state,xevious)
{
m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(xevious_state::get_bg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(xevious_state::get_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8,64,32);
diff --git a/src/mame/video/xmen.cpp b/src/mame/video/xmen.cpp
index 70190803777..e3592f4f678 100644
--- a/src/mame/video/xmen.cpp
+++ b/src/mame/video/xmen.cpp
@@ -49,7 +49,7 @@ K053246_CB_MEMBER(xmen_state::sprite_callback)
***************************************************************************/
-void xmen_state::video_start_xmen6p()
+VIDEO_START_MEMBER(xmen_state,xmen6p)
{
m_k053246->k053247_get_ram( &m_k053247_ram);
diff --git a/src/mame/video/zaxxon.cpp b/src/mame/video/zaxxon.cpp
index f863737bc1a..04323f11742 100644
--- a/src/mame/video/zaxxon.cpp
+++ b/src/mame/video/zaxxon.cpp
@@ -150,13 +150,13 @@ void zaxxon_state::video_start()
}
-void zaxxon_state::video_start_razmataz()
+VIDEO_START_MEMBER(zaxxon_state,razmataz)
{
video_start_common(tilemap_get_info_delegate(FUNC(zaxxon_state::razmataz_get_fg_tile_info),this));
}
-void zaxxon_state::video_start_congo()
+VIDEO_START_MEMBER(zaxxon_state,congo)
{
/* allocate our own spriteram since it is not accessible by the main CPU */
m_spriteram.allocate(0x100);