summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2012-04-05 11:22:22 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2012-04-05 11:22:22 +0000
commitac4b1dad0908a9a7098f5726560de0bd9f554a49 (patch)
tree49db1668e6be5614c9acecc7814cc65a13ad453f
parentf51d7a177da1884e51e8dc3ddafcbaf7e3ed6dd8 (diff)
Moved all drivers to using the audio/watchdog helpers defined in the driver_device base class. (no whatsnew)
-rw-r--r--src/emu/audio/generic.c23
-rw-r--r--src/emu/audio/generic.h26
-rw-r--r--src/emu/machine/generic.c9
-rw-r--r--src/emu/machine/generic.h16
-rw-r--r--src/mame/audio/aztarac.c4
-rw-r--r--src/mame/audio/cage.c8
-rw-r--r--src/mame/audio/cchasm.c12
-rw-r--r--src/mame/audio/hyprolyb.c8
-rw-r--r--src/mame/audio/irem.c5
-rw-r--r--src/mame/audio/m72.c8
-rw-r--r--src/mame/audio/mario.c72
-rw-r--r--src/mame/audio/redalert.c15
-rw-r--r--src/mame/audio/scramble.c3
-rw-r--r--src/mame/audio/timeplt.c2
-rw-r--r--src/mame/audio/williams.c22
-rw-r--r--src/mame/drivers/1942.c4
-rw-r--r--src/mame/drivers/1943.c6
-rw-r--r--src/mame/drivers/20pacgal.c2
-rw-r--r--src/mame/drivers/40love.c2
-rw-r--r--src/mame/drivers/8080bw.c16
-rw-r--r--src/mame/drivers/88games.c6
-rw-r--r--src/mame/drivers/acefruit.c2
-rw-r--r--src/mame/drivers/actfancr.c2
-rw-r--r--src/mame/drivers/aeroboto.c8
-rw-r--r--src/mame/drivers/aerofgt.c8
-rw-r--r--src/mame/drivers/ajax.c2
-rw-r--r--src/mame/drivers/albazg.c2
-rw-r--r--src/mame/drivers/aliens.c4
-rw-r--r--src/mame/drivers/alpha68k.c20
-rw-r--r--src/mame/drivers/ambush.c2
-rw-r--r--src/mame/drivers/amspdwy.c2
-rw-r--r--src/mame/drivers/aquarium.c2
-rw-r--r--src/mame/drivers/arcadecl.c2
-rw-r--r--src/mame/drivers/argus.c10
-rw-r--r--src/mame/drivers/aristmk5.c4
-rw-r--r--src/mame/drivers/arkanoid.c8
-rw-r--r--src/mame/drivers/armedf.c2
-rw-r--r--src/mame/drivers/asteroid.c6
-rw-r--r--src/mame/drivers/astrocde.c2
-rw-r--r--src/mame/drivers/asuka.c2
-rw-r--r--src/mame/drivers/atarifb.c8
-rw-r--r--src/mame/drivers/atarig1.c2
-rw-r--r--src/mame/drivers/atarig42.c2
-rw-r--r--src/mame/drivers/atarisy1.c2
-rw-r--r--src/mame/drivers/atarisy2.c2
-rw-r--r--src/mame/drivers/atetris.c4
-rw-r--r--src/mame/drivers/avalnche.c4
-rw-r--r--src/mame/drivers/aztarac.c2
-rw-r--r--src/mame/drivers/badlands.c4
-rw-r--r--src/mame/drivers/balsente.c2
-rw-r--r--src/mame/drivers/baraduke.c2
-rw-r--r--src/mame/drivers/batman.c2
-rw-r--r--src/mame/drivers/battlera.c2
-rw-r--r--src/mame/drivers/battlnts.c6
-rw-r--r--src/mame/drivers/bbusters.c2
-rw-r--r--src/mame/drivers/beathead.c2
-rw-r--r--src/mame/drivers/bfm_sc1.c2
-rw-r--r--src/mame/drivers/bfm_sc2.c2
-rw-r--r--src/mame/drivers/bingoc.c2
-rw-r--r--src/mame/drivers/bionicc.c2
-rw-r--r--src/mame/drivers/bking.c6
-rw-r--r--src/mame/drivers/bladestl.c4
-rw-r--r--src/mame/drivers/blktiger.c10
-rw-r--r--src/mame/drivers/blockhl.c6
-rw-r--r--src/mame/drivers/blockout.c2
-rw-r--r--src/mame/drivers/blstroid.c2
-rw-r--r--src/mame/drivers/blueprnt.c4
-rw-r--r--src/mame/drivers/boogwing.c2
-rw-r--r--src/mame/drivers/bottom9.c6
-rw-r--r--src/mame/drivers/boxer.c2
-rw-r--r--src/mame/drivers/brkthru.c2
-rw-r--r--src/mame/drivers/btime.c2
-rw-r--r--src/mame/drivers/bublbobl.c8
-rw-r--r--src/mame/drivers/buggychl.c4
-rw-r--r--src/mame/drivers/bwing.c2
-rw-r--r--src/mame/drivers/bzone.c4
-rw-r--r--src/mame/drivers/cabal.c12
-rw-r--r--src/mame/drivers/calorie.c2
-rw-r--r--src/mame/drivers/canyon.c2
-rw-r--r--src/mame/drivers/capbowl.c2
-rw-r--r--src/mame/drivers/carjmbre.c4
-rw-r--r--src/mame/drivers/cave.c12
-rw-r--r--src/mame/drivers/cbuster.c2
-rw-r--r--src/mame/drivers/ccastles.c2
-rw-r--r--src/mame/drivers/cchasm.c4
-rw-r--r--src/mame/drivers/cclimber.c2
-rw-r--r--src/mame/drivers/centiped.c10
-rw-r--r--src/mame/drivers/champbas.c18
-rw-r--r--src/mame/drivers/changela.c2
-rw-r--r--src/mame/drivers/chinagat.c8
-rw-r--r--src/mame/drivers/chqflag.c8
-rw-r--r--src/mame/drivers/circusc.c6
-rw-r--r--src/mame/drivers/cischeat.c12
-rw-r--r--src/mame/drivers/citycon.c8
-rw-r--r--src/mame/drivers/clayshoo.c2
-rw-r--r--src/mame/drivers/cloak.c2
-rw-r--r--src/mame/drivers/cloud9.c2
-rw-r--r--src/mame/drivers/cninja.c6
-rw-r--r--src/mame/drivers/cntsteer.c2
-rw-r--r--src/mame/drivers/combatsc.c8
-rw-r--r--src/mame/drivers/commando.c4
-rw-r--r--src/mame/drivers/contra.c2
-rw-r--r--src/mame/drivers/cps1.c4
-rw-r--r--src/mame/drivers/crimfght.c4
-rw-r--r--src/mame/drivers/crospang.c2
-rw-r--r--src/mame/drivers/crshrace.c2
-rw-r--r--src/mame/drivers/cvs.c2
-rw-r--r--src/mame/drivers/cyberbal.c4
-rw-r--r--src/mame/drivers/cyclemb.c2
-rw-r--r--src/mame/drivers/dacholer.c4
-rw-r--r--src/mame/drivers/dambustr.c2
-rw-r--r--src/mame/drivers/darkseal.c2
-rw-r--r--src/mame/drivers/dassault.c2
-rw-r--r--src/mame/drivers/dblewing.c2
-rw-r--r--src/mame/drivers/dbz.c2
-rw-r--r--src/mame/drivers/dcheese.c2
-rw-r--r--src/mame/drivers/ddayjlc.c2
-rw-r--r--src/mame/drivers/ddenlovr.c6
-rw-r--r--src/mame/drivers/ddragon.c6
-rw-r--r--src/mame/drivers/ddragon3.c4
-rw-r--r--src/mame/drivers/ddribble.c2
-rw-r--r--src/mame/drivers/deadang.c2
-rw-r--r--src/mame/drivers/dec0.c8
-rw-r--r--src/mame/drivers/dec8.c8
-rw-r--r--src/mame/drivers/deco32.c2
-rw-r--r--src/mame/drivers/deco_ld.c2
-rw-r--r--src/mame/drivers/deniam.c2
-rw-r--r--src/mame/drivers/dietgo.c2
-rw-r--r--src/mame/drivers/discoboy.c2
-rw-r--r--src/mame/drivers/diverboy.c2
-rw-r--r--src/mame/drivers/djboy.c2
-rw-r--r--src/mame/drivers/dlair.c2
-rw-r--r--src/mame/drivers/dmndrby.c2
-rw-r--r--src/mame/drivers/docastle.c6
-rw-r--r--src/mame/drivers/dooyong.c24
-rw-r--r--src/mame/drivers/dragrace.c2
-rw-r--r--src/mame/drivers/dunhuang.c2
-rw-r--r--src/mame/drivers/dynadice.c6
-rw-r--r--src/mame/drivers/egghunt.c2
-rw-r--r--src/mame/drivers/epos.c4
-rw-r--r--src/mame/drivers/eprom.c4
-rw-r--r--src/mame/drivers/equites.c8
-rw-r--r--src/mame/drivers/espial.c10
-rw-r--r--src/mame/drivers/exedexes.c4
-rw-r--r--src/mame/drivers/exerion.c4
-rw-r--r--src/mame/drivers/exprraid.c2
-rw-r--r--src/mame/drivers/exterm.c2
-rw-r--r--src/mame/drivers/f1gp.c2
-rw-r--r--src/mame/drivers/fantland.c8
-rw-r--r--src/mame/drivers/fastfred.c8
-rw-r--r--src/mame/drivers/fastlane.c2
-rw-r--r--src/mame/drivers/fcombat.c4
-rw-r--r--src/mame/drivers/fcrash.c4
-rw-r--r--src/mame/drivers/finalizr.c6
-rw-r--r--src/mame/drivers/firefox.c2
-rw-r--r--src/mame/drivers/firetrap.c2
-rw-r--r--src/mame/drivers/firetrk.c6
-rw-r--r--src/mame/drivers/flkatck.c2
-rw-r--r--src/mame/drivers/flower.c2
-rw-r--r--src/mame/drivers/flstory.c2
-rw-r--r--src/mame/drivers/foodf.c2
-rw-r--r--src/mame/drivers/fromanc2.c4
-rw-r--r--src/mame/drivers/funkyjet.c2
-rw-r--r--src/mame/drivers/funybubl.c2
-rw-r--r--src/mame/drivers/fuukifg2.c2
-rw-r--r--src/mame/drivers/gaelco.c10
-rw-r--r--src/mame/drivers/gaiden.c10
-rw-r--r--src/mame/drivers/galaga.c8
-rw-r--r--src/mame/drivers/galaxian.c65
-rw-r--r--src/mame/drivers/galaxold.c30
-rw-r--r--src/mame/drivers/galivan.c2
-rw-r--r--src/mame/drivers/galpani3.c2
-rw-r--r--src/mame/drivers/galspnbl.c2
-rw-r--r--src/mame/drivers/gameplan.c5
-rw-r--r--src/mame/drivers/gaplus.c6
-rw-r--r--src/mame/drivers/gauntlet.c2
-rw-r--r--src/mame/drivers/gberet.c4
-rw-r--r--src/mame/drivers/gbusters.c6
-rw-r--r--src/mame/drivers/gijoe.c4
-rw-r--r--src/mame/drivers/ginganin.c2
-rw-r--r--src/mame/drivers/gladiatr.c6
-rw-r--r--src/mame/drivers/gng.c4
-rw-r--r--src/mame/drivers/go2000.c2
-rw-r--r--src/mame/drivers/goal92.c2
-rw-r--r--src/mame/drivers/goindol.c4
-rw-r--r--src/mame/drivers/gotcha.c4
-rw-r--r--src/mame/drivers/gottlieb.c4
-rw-r--r--src/mame/drivers/gotya.c2
-rw-r--r--src/mame/drivers/gradius3.c4
-rw-r--r--src/mame/drivers/grchamp.c2
-rw-r--r--src/mame/drivers/gridlee.c2
-rw-r--r--src/mame/drivers/gstriker.c2
-rw-r--r--src/mame/drivers/gsword.c5
-rw-r--r--src/mame/drivers/gunsmoke.c6
-rw-r--r--src/mame/drivers/gyruss.c8
-rw-r--r--src/mame/drivers/halleys.c2
-rw-r--r--src/mame/drivers/harddriv.c6
-rw-r--r--src/mame/drivers/hcastle.c6
-rw-r--r--src/mame/drivers/hexion.c2
-rw-r--r--src/mame/drivers/himesiki.c2
-rw-r--r--src/mame/drivers/holeland.c2
-rw-r--r--src/mame/drivers/hvyunit.c2
-rw-r--r--src/mame/drivers/hyperspt.c12
-rw-r--r--src/mame/drivers/inufuku.c2
-rw-r--r--src/mame/drivers/ironhors.c8
-rw-r--r--src/mame/drivers/itech32.c10
-rw-r--r--src/mame/drivers/jack.c2
-rw-r--r--src/mame/drivers/jackal.c2
-rw-r--r--src/mame/drivers/jaguar.c4
-rw-r--r--src/mame/drivers/jailbrek.c2
-rw-r--r--src/mame/drivers/jchan.c4
-rw-r--r--src/mame/drivers/jedi.c2
-rw-r--r--src/mame/drivers/junofrst.c10
-rw-r--r--src/mame/drivers/kaneko16.c18
-rw-r--r--src/mame/drivers/kangaroo.c6
-rw-r--r--src/mame/drivers/karnov.c2
-rw-r--r--src/mame/drivers/kas89.c2
-rw-r--r--src/mame/drivers/kchamp.c4
-rw-r--r--src/mame/drivers/kickgoal.c2
-rw-r--r--src/mame/drivers/kingobox.c2
-rw-r--r--src/mame/drivers/klax.c2
-rw-r--r--src/mame/drivers/kncljoe.c2
-rw-r--r--src/mame/drivers/ksayakyu.c2
-rw-r--r--src/mame/drivers/kyugo.c3
-rw-r--r--src/mame/drivers/labyrunr.c2
-rw-r--r--src/mame/drivers/ladyfrog.c2
-rw-r--r--src/mame/drivers/laserbat.c4
-rw-r--r--src/mame/drivers/lasso.c8
-rw-r--r--src/mame/drivers/lastduel.c4
-rw-r--r--src/mame/drivers/legionna.c2
-rw-r--r--src/mame/drivers/lemmings.c2
-rw-r--r--src/mame/drivers/lethal.c4
-rw-r--r--src/mame/drivers/liberate.c4
-rw-r--r--src/mame/drivers/liberatr.c4
-rw-r--r--src/mame/drivers/lkage.c2
-rw-r--r--src/mame/drivers/looping.c4
-rw-r--r--src/mame/drivers/lordgun.c8
-rw-r--r--src/mame/drivers/lwings.c12
-rw-r--r--src/mame/drivers/m63.c4
-rw-r--r--src/mame/drivers/m72.c8
-rw-r--r--src/mame/drivers/m90.c6
-rw-r--r--src/mame/drivers/madalien.c4
-rw-r--r--src/mame/drivers/madmotor.c2
-rw-r--r--src/mame/drivers/mainevt.c8
-rw-r--r--src/mame/drivers/mappy.c6
-rw-r--r--src/mame/drivers/mario.c2
-rw-r--r--src/mame/drivers/matmania.c4
-rw-r--r--src/mame/drivers/mcatadv.c8
-rw-r--r--src/mame/drivers/mcr.c6
-rw-r--r--src/mame/drivers/mcr3.c4
-rw-r--r--src/mame/drivers/mcr68.c6
-rw-r--r--src/mame/drivers/megasys1.c12
-rw-r--r--src/mame/drivers/megazone.c8
-rw-r--r--src/mame/drivers/meijinsn.c4
-rw-r--r--src/mame/drivers/meritm.c2
-rw-r--r--src/mame/drivers/metro.c14
-rw-r--r--src/mame/drivers/mhavoc.c4
-rw-r--r--src/mame/drivers/midtunit.c2
-rw-r--r--src/mame/drivers/midvunit.c6
-rw-r--r--src/mame/drivers/midyunit.c2
-rw-r--r--src/mame/drivers/mikie.c6
-rw-r--r--src/mame/drivers/mirax.c2
-rw-r--r--src/mame/drivers/missb2.c2
-rw-r--r--src/mame/drivers/mitchell.c2
-rw-r--r--src/mame/drivers/mole.c2
-rw-r--r--src/mame/drivers/momoko.c6
-rw-r--r--src/mame/drivers/moo.c6
-rw-r--r--src/mame/drivers/msisaac.c2
-rw-r--r--src/mame/drivers/mugsmash.c2
-rw-r--r--src/mame/drivers/multfish.c2
-rw-r--r--src/mame/drivers/munchmo.c2
-rw-r--r--src/mame/drivers/mw18w.c2
-rw-r--r--src/mame/drivers/mw8080bw.c30
-rw-r--r--src/mame/drivers/mystwarr.c6
-rw-r--r--src/mame/drivers/nemesis.c28
-rw-r--r--src/mame/drivers/ninjakd2.c10
-rw-r--r--src/mame/drivers/nmg5.c2
-rw-r--r--src/mame/drivers/nmk16.c24
-rw-r--r--src/mame/drivers/nova2001.c2
-rw-r--r--src/mame/drivers/nycaptor.c2
-rw-r--r--src/mame/drivers/nyny.c6
-rw-r--r--src/mame/drivers/offtwall.c2
-rw-r--r--src/mame/drivers/ohmygod.c2
-rw-r--r--src/mame/drivers/olibochu.c2
-rw-r--r--src/mame/drivers/omegrace.c4
-rw-r--r--src/mame/drivers/oneshot.c6
-rw-r--r--src/mame/drivers/onetwo.c4
-rw-r--r--src/mame/drivers/orbit.c2
-rw-r--r--src/mame/drivers/pacland.c4
-rw-r--r--src/mame/drivers/pacman.c24
-rw-r--r--src/mame/drivers/pandoras.c12
-rw-r--r--src/mame/drivers/parodius.c2
-rw-r--r--src/mame/drivers/pass.c6
-rw-r--r--src/mame/drivers/pbaction.c2
-rw-r--r--src/mame/drivers/pcktgal.c2
-rw-r--r--src/mame/drivers/pgm.c12
-rw-r--r--src/mame/drivers/pingpong.c4
-rw-r--r--src/mame/drivers/pitnrun.c10
-rw-r--r--src/mame/drivers/plygonet.c8
-rw-r--r--src/mame/drivers/pokechmp.c2
-rw-r--r--src/mame/drivers/polepos.c2
-rw-r--r--src/mame/drivers/poo.c2
-rw-r--r--src/mame/drivers/pooyan.c4
-rw-r--r--src/mame/drivers/portrait.c2
-rw-r--r--src/mame/drivers/powerins.c2
-rw-r--r--src/mame/drivers/ppmast93.c4
-rw-r--r--src/mame/drivers/prehisle.c2
-rw-r--r--src/mame/drivers/psychic5.c8
-rw-r--r--src/mame/drivers/pturn.c5
-rw-r--r--src/mame/drivers/punchout.c8
-rw-r--r--src/mame/drivers/pushman.c2
-rw-r--r--src/mame/drivers/quantum.c2
-rw-r--r--src/mame/drivers/quasar.c9
-rw-r--r--src/mame/drivers/quizpun2.c2
-rw-r--r--src/mame/drivers/rallyx.c6
-rw-r--r--src/mame/drivers/rampart.c2
-rw-r--r--src/mame/drivers/rastan.c2
-rw-r--r--src/mame/drivers/relief.c2
-rw-r--r--src/mame/drivers/renegade.c2
-rw-r--r--src/mame/drivers/retofinv.c4
-rw-r--r--src/mame/drivers/rockrage.c4
-rw-r--r--src/mame/drivers/rocnrope.c4
-rw-r--r--src/mame/drivers/rohga.c2
-rw-r--r--src/mame/drivers/rollerg.c2
-rw-r--r--src/mame/drivers/rollrace.c4
-rw-r--r--src/mame/drivers/roul.c2
-rw-r--r--src/mame/drivers/royalmah.c2
-rw-r--r--src/mame/drivers/rungun.c4
-rw-r--r--src/mame/drivers/sandscrp.c10
-rw-r--r--src/mame/drivers/sauro.c6
-rw-r--r--src/mame/drivers/sbasketb.c6
-rw-r--r--src/mame/drivers/sbowling.c2
-rw-r--r--src/mame/drivers/sbrkout.c2
-rw-r--r--src/mame/drivers/scobra.c14
-rw-r--r--src/mame/drivers/scotrsht.c4
-rw-r--r--src/mame/drivers/scramble.c30
-rw-r--r--src/mame/drivers/segag80r.c5
-rw-r--r--src/mame/drivers/segahang.c4
-rw-r--r--src/mame/drivers/segaorun.c10
-rw-r--r--src/mame/drivers/segas16a.c8
-rw-r--r--src/mame/drivers/segas16b.c6
-rw-r--r--src/mame/drivers/segas18.c4
-rw-r--r--src/mame/drivers/segaxbd.c6
-rw-r--r--src/mame/drivers/segaybd.c6
-rw-r--r--src/mame/drivers/seicross.c2
-rw-r--r--src/mame/drivers/seta.c54
-rw-r--r--src/mame/drivers/seta2.c20
-rw-r--r--src/mame/drivers/sf.c4
-rw-r--r--src/mame/drivers/sfkick.c4
-rw-r--r--src/mame/drivers/shadfrce.c4
-rw-r--r--src/mame/drivers/shangha3.c2
-rw-r--r--src/mame/drivers/shaolins.c2
-rw-r--r--src/mame/drivers/shisen.c2
-rw-r--r--src/mame/drivers/shootout.c2
-rw-r--r--src/mame/drivers/shuuz.c2
-rw-r--r--src/mame/drivers/sidearms.c16
-rw-r--r--src/mame/drivers/sidepckt.c2
-rw-r--r--src/mame/drivers/sigmab98.c8
-rw-r--r--src/mame/drivers/simpsons.c2
-rw-r--r--src/mame/drivers/skullxbo.c4
-rw-r--r--src/mame/drivers/skydiver.c2
-rw-r--r--src/mame/drivers/skyfox.c2
-rw-r--r--src/mame/drivers/skykid.c4
-rw-r--r--src/mame/drivers/skyraid.c2
-rw-r--r--src/mame/drivers/sliver.c2
-rw-r--r--src/mame/drivers/snk.c14
-rw-r--r--src/mame/drivers/snk68.c2
-rw-r--r--src/mame/drivers/snowbros.c16
-rw-r--r--src/mame/drivers/solomon.c2
-rw-r--r--src/mame/drivers/sonson.c4
-rw-r--r--src/mame/drivers/sothello.c4
-rw-r--r--src/mame/drivers/spbactn.c2
-rw-r--r--src/mame/drivers/spcforce.c4
-rw-r--r--src/mame/drivers/spdodgeb.c2
-rw-r--r--src/mame/drivers/speedatk.c2
-rw-r--r--src/mame/drivers/speedspn.c2
-rw-r--r--src/mame/drivers/splash.c6
-rw-r--r--src/mame/drivers/sprint2.c2
-rw-r--r--src/mame/drivers/sprint4.c2
-rw-r--r--src/mame/drivers/spy.c6
-rw-r--r--src/mame/drivers/srumbler.c4
-rw-r--r--src/mame/drivers/ssozumo.c2
-rw-r--r--src/mame/drivers/sspeedr.c2
-rw-r--r--src/mame/drivers/ssv.c24
-rw-r--r--src/mame/drivers/stadhero.c2
-rw-r--r--src/mame/drivers/starwars.c2
-rw-r--r--src/mame/drivers/sub.c4
-rw-r--r--src/mame/drivers/suna16.c18
-rw-r--r--src/mame/drivers/suna8.c26
-rw-r--r--src/mame/drivers/supbtime.c2
-rw-r--r--src/mame/drivers/supertnk.c2
-rw-r--r--src/mame/drivers/suprloco.c2
-rw-r--r--src/mame/drivers/suprridr.c2
-rw-r--r--src/mame/drivers/suprslam.c2
-rw-r--r--src/mame/drivers/surpratk.c2
-rw-r--r--src/mame/drivers/system16.c16
-rw-r--r--src/mame/drivers/tagteam.c2
-rw-r--r--src/mame/drivers/tail2nos.c2
-rw-r--r--src/mame/drivers/taito_f2.c12
-rw-r--r--src/mame/drivers/taitosj.c4
-rw-r--r--src/mame/drivers/taotaido.c2
-rw-r--r--src/mame/drivers/tatsumi.c2
-rw-r--r--src/mame/drivers/tbowl.c2
-rw-r--r--src/mame/drivers/tecmo.c8
-rw-r--r--src/mame/drivers/tecmo16.c2
-rw-r--r--src/mame/drivers/tecmosys.c4
-rw-r--r--src/mame/drivers/tehkanwc.c8
-rw-r--r--src/mame/drivers/terracre.c4
-rw-r--r--src/mame/drivers/tetrisp2.c12
-rw-r--r--src/mame/drivers/thedeep.c2
-rw-r--r--src/mame/drivers/thepit.c8
-rw-r--r--src/mame/drivers/thoop2.c2
-rw-r--r--src/mame/drivers/thunderj.c2
-rw-r--r--src/mame/drivers/thunderx.c12
-rw-r--r--src/mame/drivers/tickee.c2
-rw-r--r--src/mame/drivers/tigeroad.c8
-rw-r--r--src/mame/drivers/timelimt.c8
-rw-r--r--src/mame/drivers/timeplt.c12
-rw-r--r--src/mame/drivers/tmaster.c2
-rw-r--r--src/mame/drivers/tmnt.c30
-rw-r--r--src/mame/drivers/tnzs.c2
-rw-r--r--src/mame/drivers/toaplan2.c26
-rw-r--r--src/mame/drivers/toki.c4
-rw-r--r--src/mame/drivers/toobin.c2
-rw-r--r--src/mame/drivers/toypop.c4
-rw-r--r--src/mame/drivers/tp84.c10
-rw-r--r--src/mame/drivers/trackfld.c24
-rw-r--r--src/mame/drivers/trucocl.c2
-rw-r--r--src/mame/drivers/tryout.c2
-rw-r--r--src/mame/drivers/tsamurai.c2
-rw-r--r--src/mame/drivers/tumbleb.c6
-rw-r--r--src/mame/drivers/tumblep.c2
-rw-r--r--src/mame/drivers/tutankhm.c4
-rw-r--r--src/mame/drivers/twin16.c6
-rw-r--r--src/mame/drivers/twinkle.c2
-rw-r--r--src/mame/drivers/tx1.c6
-rw-r--r--src/mame/drivers/ultraman.c4
-rw-r--r--src/mame/drivers/ultratnk.c2
-rw-r--r--src/mame/drivers/vastar.c2
-rw-r--r--src/mame/drivers/vball.c2
-rw-r--r--src/mame/drivers/vendetta.c2
-rw-r--r--src/mame/drivers/videopin.c2
-rw-r--r--src/mame/drivers/vigilant.c4
-rw-r--r--src/mame/drivers/vindictr.c2
-rw-r--r--src/mame/drivers/vulgus.c4
-rw-r--r--src/mame/drivers/wc90.c6
-rw-r--r--src/mame/drivers/wc90b.c2
-rw-r--r--src/mame/drivers/wecleman.c7
-rw-r--r--src/mame/drivers/welltris.c2
-rw-r--r--src/mame/drivers/wink.c4
-rw-r--r--src/mame/drivers/wiping.c2
-rw-r--r--src/mame/drivers/wiz.c10
-rw-r--r--src/mame/drivers/wolfpack.c2
-rw-r--r--src/mame/drivers/wwfsstar.c2
-rw-r--r--src/mame/drivers/wwfwfest.c2
-rw-r--r--src/mame/drivers/xain.c2
-rw-r--r--src/mame/drivers/xexex.c6
-rw-r--r--src/mame/drivers/xmen.c8
-rw-r--r--src/mame/drivers/xybots.c2
-rw-r--r--src/mame/drivers/yiear.c2
-rw-r--r--src/mame/drivers/yunsun16.c2
-rw-r--r--src/mame/drivers/yunsung8.c4
-rw-r--r--src/mame/drivers/zaccaria.c6
-rw-r--r--src/mame/drivers/zaxxon.c4
-rw-r--r--src/mame/drivers/zn.c14
-rw-r--r--src/mame/machine/ajax.c4
-rw-r--r--src/mame/machine/beezer.c2
-rw-r--r--src/mame/machine/bublbobl.c3
-rw-r--r--src/mame/machine/decocass.c9
-rw-r--r--src/mame/machine/decoprot.c25
-rw-r--r--src/mame/machine/kaneko16.c2
-rw-r--r--src/mame/machine/midyunit.c2
-rw-r--r--src/mame/machine/namcos1.c2
-rw-r--r--src/mame/machine/scramble.c8
-rw-r--r--src/mame/machine/seicop.c2
-rw-r--r--src/mame/machine/williams.c6
-rw-r--r--src/mame/video/cischeat.c16
-rw-r--r--src/mame/video/ginganin.c2
-rw-r--r--src/mame/video/liberate.c6
-rw-r--r--src/mame/video/megasys1.c6
-rw-r--r--src/mame/video/nitedrvr.c2
-rw-r--r--src/mame/video/skydiver.c3
-rw-r--r--src/mame/video/skyfox.c2
483 files changed, 1315 insertions, 1338 deletions
diff --git a/src/emu/audio/generic.c b/src/emu/audio/generic.c
index 107a58112f7..51524875497 100644
--- a/src/emu/audio/generic.c
+++ b/src/emu/audio/generic.c
@@ -119,15 +119,6 @@ INLINE void latch_clear(address_space *space, int which)
writing to sound latches
-------------------------------------------------*/
-WRITE8_HANDLER( soundlatch_w ) { latch_w(space, 0, data); }
-WRITE16_HANDLER( soundlatch_word_w ) { latch_w(space, 0, data); }
-WRITE8_HANDLER( soundlatch2_w ) { latch_w(space, 1, data); }
-WRITE16_HANDLER( soundlatch2_word_w ) { latch_w(space, 1, data); }
-WRITE8_HANDLER( soundlatch3_w ) { latch_w(space, 2, data); }
-WRITE16_HANDLER( soundlatch3_word_w ) { latch_w(space, 2, data); }
-WRITE8_HANDLER( soundlatch4_w ) { latch_w(space, 3, data); }
-WRITE16_HANDLER( soundlatch4_word_w ) { latch_w(space, 3, data); }
-
WRITE8_MEMBER( driver_device::soundlatch_w ) { latch_w(&space, 0, data); }
WRITE16_MEMBER( driver_device::soundlatch_word_w ) { latch_w(&space, 0, data); }
WRITE8_MEMBER( driver_device::soundlatch2_w ) { latch_w(&space, 1, data); }
@@ -143,15 +134,6 @@ WRITE16_MEMBER( driver_device::soundlatch4_word_w ) { latch_w(&space, 3, data);
reading from sound latches
-------------------------------------------------*/
-READ8_HANDLER( soundlatch_r ) { return latch_r(space, 0); }
-READ16_HANDLER( soundlatch_word_r ) { return latch_r(space, 0); }
-READ8_HANDLER( soundlatch2_r ) { return latch_r(space, 1); }
-READ16_HANDLER( soundlatch2_word_r ) { return latch_r(space, 1); }
-READ8_HANDLER( soundlatch3_r ) { return latch_r(space, 2); }
-READ16_HANDLER( soundlatch3_word_r ) { return latch_r(space, 2); }
-READ8_HANDLER( soundlatch4_r ) { return latch_r(space, 3); }
-READ16_HANDLER( soundlatch4_word_r ) { return latch_r(space, 3); }
-
READ8_MEMBER( driver_device::soundlatch_r ) { return latch_r(&space, 0); }
READ16_MEMBER( driver_device::soundlatch_word_r ) { return latch_r(&space, 0); }
READ8_MEMBER( driver_device::soundlatch2_r ) { return latch_r(&space, 1); }
@@ -167,11 +149,6 @@ READ16_MEMBER( driver_device::soundlatch4_word_r ) { return latch_r(&space, 3);
for clearing sound latches
-------------------------------------------------*/
-WRITE8_HANDLER( soundlatch_clear_w ) { latch_clear(space, 0); }
-WRITE8_HANDLER( soundlatch2_clear_w ) { latch_clear(space, 1); }
-WRITE8_HANDLER( soundlatch3_clear_w ) { latch_clear(space, 2); }
-WRITE8_HANDLER( soundlatch4_clear_w ) { latch_clear(space, 3); }
-
WRITE8_MEMBER( driver_device::soundlatch_clear_w ) { latch_clear(&space, 0); }
WRITE8_MEMBER( driver_device::soundlatch2_clear_w ) { latch_clear(&space, 1); }
WRITE8_MEMBER( driver_device::soundlatch3_clear_w ) { latch_clear(&space, 2); }
diff --git a/src/emu/audio/generic.h b/src/emu/audio/generic.h
index d693e723d40..eef51c99fb0 100644
--- a/src/emu/audio/generic.h
+++ b/src/emu/audio/generic.h
@@ -24,32 +24,6 @@
int generic_sound_init(running_machine &machine);
-/* latch readers */
-READ8_HANDLER( soundlatch_r );
-READ8_HANDLER( soundlatch2_r );
-READ8_HANDLER( soundlatch3_r );
-READ8_HANDLER( soundlatch4_r );
-READ16_HANDLER( soundlatch_word_r );
-READ16_HANDLER( soundlatch2_word_r );
-READ16_HANDLER( soundlatch3_word_r );
-READ16_HANDLER( soundlatch4_word_r );
-
-/* latch writers */
-WRITE8_HANDLER( soundlatch_w );
-WRITE8_HANDLER( soundlatch2_w );
-WRITE8_HANDLER( soundlatch3_w );
-WRITE8_HANDLER( soundlatch4_w );
-WRITE16_HANDLER( soundlatch_word_w );
-WRITE16_HANDLER( soundlatch2_word_w );
-WRITE16_HANDLER( soundlatch3_word_w );
-WRITE16_HANDLER( soundlatch4_word_w );
-
-/* latch clearers */
-WRITE8_HANDLER( soundlatch_clear_w );
-WRITE8_HANDLER( soundlatch2_clear_w );
-WRITE8_HANDLER( soundlatch3_clear_w );
-WRITE8_HANDLER( soundlatch4_clear_w );
-
/* If you're going to use soundlatchX_clear_w, and the cleared value is
something other than 0x00, use this function from machine_init. Note
that this one call effects all 4 latches */
diff --git a/src/emu/machine/generic.c b/src/emu/machine/generic.c
index c41cf756dbd..c9b4374dbf3 100644
--- a/src/emu/machine/generic.c
+++ b/src/emu/machine/generic.c
@@ -674,9 +674,6 @@ INTERRUPT_GEN( irq7_line_assert ) { if (interrupt_enabled(device)) device_set_in
8-bit reset read/write handlers
-------------------------------------------------*/
-WRITE8_HANDLER( watchdog_reset_w ) { watchdog_reset(space->machine()); }
-READ8_HANDLER( watchdog_reset_r ) { watchdog_reset(space->machine()); return space->unmap(); }
-
WRITE8_MEMBER( driver_device::watchdog_reset_w ) { watchdog_reset(machine()); }
READ8_MEMBER( driver_device::watchdog_reset_r ) { watchdog_reset(machine()); return space.unmap(); }
@@ -685,9 +682,6 @@ READ8_MEMBER( driver_device::watchdog_reset_r ) { watchdog_reset(machine()); ret
16-bit reset read/write handlers
-------------------------------------------------*/
-WRITE16_HANDLER( watchdog_reset16_w ) { watchdog_reset(space->machine()); }
-READ16_HANDLER( watchdog_reset16_r ) { watchdog_reset(space->machine()); return space->unmap(); }
-
WRITE16_MEMBER( driver_device::watchdog_reset16_w ) { watchdog_reset(machine()); }
READ16_MEMBER( driver_device::watchdog_reset16_r ) { watchdog_reset(machine()); return space.unmap(); }
@@ -696,9 +690,6 @@ READ16_MEMBER( driver_device::watchdog_reset16_r ) { watchdog_reset(machine());
32-bit reset read/write handlers
-------------------------------------------------*/
-WRITE32_HANDLER( watchdog_reset32_w ) { watchdog_reset(space->machine()); }
-READ32_HANDLER( watchdog_reset32_r ) { watchdog_reset(space->machine()); return space->unmap(); }
-
WRITE32_MEMBER( driver_device::watchdog_reset32_w ) { watchdog_reset(machine()); }
READ32_MEMBER( driver_device::watchdog_reset32_r ) { watchdog_reset(machine()); return space.unmap(); }
diff --git a/src/emu/machine/generic.h b/src/emu/machine/generic.h
index 26edf2b9036..6a17ce6f896 100644
--- a/src/emu/machine/generic.h
+++ b/src/emu/machine/generic.h
@@ -150,22 +150,6 @@ INTERRUPT_GEN( irq7_line_assert );
-/* ----- generic watchdog reset handlers ----- */
-
-/* 8-bit watchdog read/write handlers */
-WRITE8_HANDLER( watchdog_reset_w );
-READ8_HANDLER( watchdog_reset_r );
-
-/* 16-bit watchdog read/write handlers */
-WRITE16_HANDLER( watchdog_reset16_w );
-READ16_HANDLER( watchdog_reset16_r );
-
-/* 32-bit watchdog read/write handlers */
-WRITE32_HANDLER( watchdog_reset32_w );
-READ32_HANDLER( watchdog_reset32_r );
-
-
-
/* ----- generic input port helpers ----- */
/* custom handler */
diff --git a/src/mame/audio/aztarac.c b/src/mame/audio/aztarac.c
index 895a9ab14f5..c9c74e1e43f 100644
--- a/src/mame/audio/aztarac.c
+++ b/src/mame/audio/aztarac.c
@@ -21,7 +21,7 @@ WRITE16_HANDLER( aztarac_sound_w )
if (ACCESSING_BITS_0_7)
{
data &= 0xff;
- soundlatch_w(space, offset, data);
+ state->soundlatch_w(*space, offset, data);
state->m_sound_status ^= 0x21;
if (state->m_sound_status & 0x20)
cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
@@ -33,7 +33,7 @@ READ8_HANDLER( aztarac_snd_command_r )
aztarac_state *state = space->machine().driver_data<aztarac_state>();
state->m_sound_status |= 0x01;
state->m_sound_status &= ~0x20;
- return soundlatch_r(space,offset);
+ return state->soundlatch_r(*space,offset);
}
READ8_HANDLER( aztarac_snd_status_r )
diff --git a/src/mame/audio/cage.c b/src/mame/audio/cage.c
index fd2107c442c..1f2fe8f1950 100644
--- a/src/mame/audio/cage.c
+++ b/src/mame/audio/cage.c
@@ -529,7 +529,8 @@ static WRITE32_HANDLER( cage_to_main_w )
cage_t *state = &cage;
if (LOG_COMM)
logerror("%06X:Data from CAGE = %04X\n", cpu_get_pc(&space->device()), data);
- soundlatch_word_w(space, 0, data, mem_mask);
+ driver_device *drvstate = space->machine().driver_data<driver_device>();
+ drvstate->soundlatch_word_w(*space, 0, data, mem_mask);
state->cage_to_cpu_ready = 1;
update_control_lines(space->machine());
}
@@ -550,11 +551,12 @@ static READ32_HANDLER( cage_io_status_r )
UINT16 cage_main_r(address_space *space)
{
cage_t *state = &cage;
+ driver_device *drvstate = space->machine().driver_data<driver_device>();
if (LOG_COMM)
- logerror("%s:main read data = %04X\n", space->machine().describe_context(), soundlatch_word_r(space, 0, 0));
+ logerror("%s:main read data = %04X\n", space->machine().describe_context(), drvstate->soundlatch_word_r(*space, 0, 0));
state->cage_to_cpu_ready = 0;
update_control_lines(space->machine());
- return soundlatch_word_r(space, 0, 0xffff);
+ return drvstate->soundlatch_word_r(*space, 0, 0xffff);
}
diff --git a/src/mame/audio/cchasm.c b/src/mame/audio/cchasm.c
index 2cfb4310daf..410f356a6aa 100644
--- a/src/mame/audio/cchasm.c
+++ b/src/mame/audio/cchasm.c
@@ -44,14 +44,14 @@ READ8_HANDLER( cchasm_soundlatch2_r )
cchasm_state *state = space->machine().driver_data<cchasm_state>();
state->m_sound_flags &= ~0x80;
z80ctc_trg2_w(state->m_ctc, 0);
- return soundlatch2_r(space, offset);
+ return state->soundlatch2_r(*space, offset);
}
WRITE8_HANDLER( cchasm_soundlatch4_w )
{
cchasm_state *state = space->machine().driver_data<cchasm_state>();
state->m_sound_flags |= 0x40;
- soundlatch4_w(space, offset, data);
+ state->soundlatch4_w(*space, offset, data);
cputag_set_input_line(space->machine(), "maincpu", 1, HOLD_LINE);
}
@@ -66,11 +66,11 @@ WRITE16_HANDLER( cchasm_io_w )
switch (offset & 0xf)
{
case 0:
- soundlatch_w (space, offset, data);
+ state->soundlatch_w(*space, offset, data);
break;
case 1:
state->m_sound_flags |= 0x80;
- soundlatch2_w (space, offset, data);
+ state->soundlatch2_w(*space, offset, data);
z80ctc_trg2_w(state->m_ctc, 1);
cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
break;
@@ -87,10 +87,10 @@ READ16_HANDLER( cchasm_io_r )
switch (offset & 0xf)
{
case 0x0:
- return soundlatch3_r (space, offset) << 8;
+ return state->soundlatch3_r(*space, offset) << 8;
case 0x1:
state->m_sound_flags &= ~0x40;
- return soundlatch4_r (space,offset) << 8;
+ return state->soundlatch4_r(*space,offset) << 8;
case 0x2:
return (state->m_sound_flags| (input_port_read(space->machine(), "IN3") & 0x07) | 0x08) << 8;
case 0x5:
diff --git a/src/mame/audio/hyprolyb.c b/src/mame/audio/hyprolyb.c
index 8fe2ae9ce3a..535c4687811 100644
--- a/src/mame/audio/hyprolyb.c
+++ b/src/mame/audio/hyprolyb.c
@@ -45,8 +45,8 @@ static DEVICE_RESET( hyprolyb_adpcm )
WRITE8_DEVICE_HANDLER( hyprolyb_adpcm_w )
{
hyprolyb_adpcm_state *state = get_safe_token(device);
-
- soundlatch2_w(state->m_space, offset, data);
+ driver_device *drvstate = device->machine().driver_data<driver_device>();
+ drvstate->soundlatch2_w(*state->m_space, offset, data);
state->m_adpcm_ready = 0x80;
}
@@ -84,9 +84,9 @@ static READ8_DEVICE_HANDLER( hyprolyb_adpcm_ready_r )
static READ8_DEVICE_HANDLER( hyprolyb_adpcm_data_r )
{
hyprolyb_adpcm_state *state = get_safe_token(device);
-
+ driver_device *drvstate = device->machine().driver_data<driver_device>();
state->m_adpcm_ready = 0x00;
- return soundlatch2_r(state->m_space, offset);
+ return drvstate->soundlatch2_r(*state->m_space, offset);
}
static ADDRESS_MAP_START( hyprolyb_adpcm_map, AS_PROGRAM, 8, driver_device )
diff --git a/src/mame/audio/irem.c b/src/mame/audio/irem.c
index 725f667517f..f0e2fa02ab0 100644
--- a/src/mame/audio/irem.c
+++ b/src/mame/audio/irem.c
@@ -64,8 +64,9 @@ static DEVICE_START( irem_audio )
WRITE8_HANDLER( irem_sound_cmd_w )
{
+ driver_device *drvstate = space->machine().driver_data<driver_device>();
if ((data & 0x80) == 0)
- soundlatch_w(space, 0, data & 0x7f);
+ drvstate->soundlatch_w(*space, 0, data & 0x7f);
else
cputag_set_input_line(space->machine(), "iremsound", 0, ASSERT_LINE);
}
@@ -250,7 +251,7 @@ static const ay8910_interface irem_ay8910_interface_1 =
{
AY8910_SINGLE_OUTPUT | AY8910_DISCRETE_OUTPUT,
{470, 0, 0},
- DEVCB_MEMORY_HANDLER("iremsound", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_HANDLER("irem_audio", ay8910_0_portb_w)
diff --git a/src/mame/audio/m72.c b/src/mame/audio/m72.c
index 42f9d5ff07b..034a94fd0b0 100644
--- a/src/mame/audio/m72.c
+++ b/src/mame/audio/m72.c
@@ -153,8 +153,8 @@ WRITE16_DEVICE_HANDLER( m72_sound_command_w )
if (ACCESSING_BITS_0_7)
{
m72_audio_state *state = get_safe_token(device);
-
- soundlatch_w(state->space, offset, data);
+ driver_device *drvstate = device->machine().driver_data<driver_device>();
+ drvstate->soundlatch_w(*state->space, offset, data);
device->machine().scheduler().synchronize(FUNC(setvector_callback), Z80_ASSERT, state);
}
}
@@ -162,8 +162,8 @@ WRITE16_DEVICE_HANDLER( m72_sound_command_w )
WRITE8_DEVICE_HANDLER( m72_sound_command_byte_w )
{
m72_audio_state *state = get_safe_token(device);
-
- soundlatch_w(state->space, offset, data);
+ driver_device *drvstate = device->machine().driver_data<driver_device>();
+ drvstate->soundlatch_w(*state->space, offset, data);
device->machine().scheduler().synchronize(FUNC(setvector_callback), Z80_ASSERT, state);
}
diff --git a/src/mame/audio/mario.c b/src/mame/audio/mario.c
index 0a7a7ab36ab..6dcc667add9 100644
--- a/src/mame/audio/mario.c
+++ b/src/mame/audio/mario.c
@@ -22,17 +22,17 @@
#define ACTIVELOW_PORT_BIT(P,A,D) ((P & (~(1 << A))) | ((D ^ 1) << A))
#define ACTIVEHIGH_PORT_BIT(P,A,D) ((P & (~(1 << A))) | (D << A))
-#define I8035_T_R(M,N) ((soundlatch2_r(M,0) >> (N)) & 1)
-#define I8035_T_W_AH(M,N,D) do { state->m_portT = ACTIVEHIGH_PORT_BIT(state->m_portT,N,D); soundlatch2_w(M, 0, state->m_portT); } while (0)
+#define I8035_T_R(M,N) ((state->soundlatch2_r(M,0) >> (N)) & 1)
+#define I8035_T_W_AH(M,N,D) do { state->m_portT = ACTIVEHIGH_PORT_BIT(state->m_portT,N,D); state->soundlatch2_w(M, 0, state->m_portT); } while (0)
-#define I8035_P1_R(M) (soundlatch3_r(M,0))
-#define I8035_P2_R(M) (soundlatch4_r(M,0))
-#define I8035_P1_W(M,D) soundlatch3_w(M,0,D)
+#define I8035_P1_R(M) (state->soundlatch3_r(M,0))
+#define I8035_P2_R(M) (state->soundlatch4_r(M,0))
+#define I8035_P1_W(M,D) state->soundlatch3_w(M,0,D)
#if (USE_8039)
-#define I8035_P2_W(M,D) do { soundlatch4_w(M,0,D); } while (0)
+#define I8035_P2_W(M,D) do { state->soundlatch4_w(M,0,D); } while (0)
#else
-#define I8035_P2_W(M,D) do { set_ea(M, ((D) & 0x20) ? 0 : 1); soundlatch4_w(M,0,D); } while (0)
+#define I8035_P2_W(M,D) do { set_ea(M, ((D) & 0x20) ? 0 : 1); state->soundlatch4_w(M,0,D); } while (0)
#endif
#define I8035_P1_W_AH(M,B,D) I8035_P1_W(M,ACTIVEHIGH_PORT_BIT(I8035_P1_R(M),B,(D)))
@@ -396,13 +396,13 @@ DISCRETE_SOUND_END
*
****************************************************************/
-static void set_ea(address_space *space, int ea)
+static void set_ea(address_space &space, int ea)
{
- mario_state *state = space->machine().driver_data<mario_state>();
+ mario_state *state = space.machine().driver_data<mario_state>();
//printf("ea: %d\n", ea);
//cputag_set_input_line(machine, "audiocpu", MCS48_INPUT_EA, (ea) ? ASSERT_LINE : CLEAR_LINE);
if (state->m_eabank != NULL)
- memory_set_bank(space->machine(), state->m_eabank, ea);
+ memory_set_bank(space.machine(), state->m_eabank, ea);
}
/****************************************************************
@@ -444,12 +444,12 @@ static SOUND_RESET( mario )
#endif
/* FIXME: convert to latch8 */
- soundlatch_clear_w(space, 0, 0);
- soundlatch2_clear_w(space, 0, 0);
- soundlatch3_clear_w(space, 0, 0);
- soundlatch4_clear_w(space, 0, 0);
- I8035_P1_W(space, 0x00); /* Input port */
- I8035_P2_W(space, 0xff); /* Port is in high impedance state after reset */
+ state->soundlatch_clear_w(*space, 0, 0);
+ state->soundlatch2_clear_w(*space, 0, 0);
+ state->soundlatch3_clear_w(*space, 0, 0);
+ state->soundlatch4_clear_w(*space, 0, 0);
+ I8035_P1_W(*space, 0x00); /* Input port */
+ I8035_P2_W(*space, 0xff); /* Port is in high impedance state after reset */
state->m_last = 0;
}
@@ -462,32 +462,37 @@ static SOUND_RESET( mario )
static READ8_HANDLER( mario_sh_p1_r )
{
- return I8035_P1_R(space);
+ mario_state *state = space->machine().driver_data<mario_state>();
+ return I8035_P1_R(*space);
}
static READ8_HANDLER( mario_sh_p2_r )
{
- return I8035_P2_R(space) & 0xEF; /* Bit 4 connected to GND! */
+ mario_state *state = space->machine().driver_data<mario_state>();
+ return I8035_P2_R(*space) & 0xEF; /* Bit 4 connected to GND! */
}
static READ8_HANDLER( mario_sh_t0_r )
{
- return I8035_T_R(space, 0);
+ mario_state *state = space->machine().driver_data<mario_state>();
+ return I8035_T_R(*space, 0);
}
static READ8_HANDLER( mario_sh_t1_r )
{
- return I8035_T_R(space, 1);
+ mario_state *state = space->machine().driver_data<mario_state>();
+ return I8035_T_R(*space, 1);
}
static READ8_HANDLER( mario_sh_tune_r )
{
UINT8 *SND = space->machine().region("audiocpu")->base();
UINT16 mask = space->machine().region("audiocpu")->bytes()-1;
- UINT8 p2 = I8035_P2_R(space);
+ mario_state *state = space->machine().driver_data<mario_state>();
+ UINT8 p2 = I8035_P2_R(*space);
if ((p2 >> 7) & 1)
- return soundlatch_r(space, offset);
+ return state->soundlatch_r(*space, offset);
else
return (SND[(0x1000 + (p2 & 0x0f) * 256 + offset) & mask]);
}
@@ -499,12 +504,14 @@ static WRITE8_DEVICE_HANDLER( mario_sh_sound_w )
static WRITE8_HANDLER( mario_sh_p1_w )
{
- I8035_P1_W(space, data);
+ mario_state *state = space->machine().driver_data<mario_state>();
+ I8035_P1_W(*space, data);
}
static WRITE8_HANDLER( mario_sh_p2_w )
{
- I8035_P2_W(space, data);
+ mario_state *state = space->machine().driver_data<mario_state>();
+ I8035_P2_W(*space, data);
}
/****************************************************************
@@ -528,7 +535,8 @@ WRITE8_HANDLER( masao_sh_irqtrigger_w )
WRITE8_HANDLER( mario_sh_tuneselect_w )
{
- soundlatch_w(space, offset, data);
+ mario_state *state = space->machine().driver_data<mario_state>();
+ state->soundlatch_w(*space, offset, data);
}
/* Sound 0 and 1 are pulsed !*/
@@ -559,22 +567,22 @@ WRITE8_HANDLER( mario_sh3_w )
cputag_set_input_line(space->machine(), "audiocpu",0,CLEAR_LINE);
break;
case 1: /* get coin */
- I8035_T_W_AH(space, 0,data & 1);
+ I8035_T_W_AH(*space, 0,data & 1);
break;
case 2: /* ice */
- I8035_T_W_AH(space, 1, data & 1);
+ I8035_T_W_AH(*space, 1, data & 1);
break;
case 3: /* crab */
- I8035_P1_W_AH(space, 0, data & 1);
+ I8035_P1_W_AH(*space, 0, data & 1);
break;
case 4: /* turtle */
- I8035_P1_W_AH(space, 1, data & 1);
+ I8035_P1_W_AH(*space, 1, data & 1);
break;
case 5: /* fly */
- I8035_P1_W_AH(space, 2, data & 1);
+ I8035_P1_W_AH(*space, 2, data & 1);
break;
case 6: /* coin */
- I8035_P1_W_AH(space, 3, data & 1);
+ I8035_P1_W_AH(*space, 3, data & 1);
break;
case 7: /* skid */
discrete_sound_w(space->machine().device("discrete"), DS_SOUND7_INP, data & 1);
@@ -618,7 +626,7 @@ static const ay8910_interface ay8910_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
diff --git a/src/mame/audio/redalert.c b/src/mame/audio/redalert.c
index 13d400a4e35..5c036a91808 100644
--- a/src/mame/audio/redalert.c
+++ b/src/mame/audio/redalert.c
@@ -64,8 +64,9 @@ static WRITE8_DEVICE_HANDLER( redalert_analog_w )
WRITE8_HANDLER( redalert_audio_command_w )
{
+ redalert_state *state = space->machine().driver_data<redalert_state>();
/* the byte is connected to port A of the AY8910 */
- soundlatch_w(space, 0, data);
+ state->soundlatch_w(*space, 0, data);
/* D7 is also connected to the NMI input of the CPU -
the NMI is actually toggled by a 74121 */
@@ -118,7 +119,7 @@ static const ay8910_interface redalert_ay8910_interface =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_NULL, /* port A/B read */
DEVCB_NULL,
DEVCB_HANDLER(redalert_analog_w) /* port A/B write */
@@ -156,7 +157,8 @@ static SOUND_START( redalert_audio )
WRITE8_HANDLER( redalert_voice_command_w )
{
- soundlatch2_w(space, 0, (data & 0x78) >> 3);
+ redalert_state *state = space->machine().driver_data<redalert_state>();
+ state->soundlatch2_w(*space, 0, (data & 0x78) >> 3);
cputag_set_input_line(space->machine(), "voice", I8085_RST75_LINE, (~data & 0x80) ? ASSERT_LINE : CLEAR_LINE);
}
@@ -186,7 +188,7 @@ static ADDRESS_MAP_START( redalert_voice_map, AS_PROGRAM, 8, driver_device )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_NOP
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x3c00) AM_RAM
- AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x3fff) AM_READ_LEGACY(soundlatch2_r) AM_WRITENOP
+ AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x3fff) AM_READ(soundlatch2_r) AM_WRITENOP
ADDRESS_MAP_END
@@ -282,8 +284,9 @@ MACHINE_CONFIG_END
WRITE8_HANDLER( demoneye_audio_command_w )
{
+ redalert_state *state = space->machine().driver_data<redalert_state>();
/* the byte is connected to port A of the AY8910 */
- soundlatch_w(space, 0, data);
+ state->soundlatch_w(*space, 0, data);
cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
}
@@ -356,7 +359,7 @@ static const ay8910_interface demoneye_ay8910_interface =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_NULL, /* port A/B read */
DEVCB_NULL,
DEVCB_NULL /* port A/B write */
diff --git a/src/mame/audio/scramble.c b/src/mame/audio/scramble.c
index 067313a989c..a2de9bbf72a 100644
--- a/src/mame/audio/scramble.c
+++ b/src/mame/audio/scramble.c
@@ -124,8 +124,9 @@ WRITE8_HANDLER( hotshock_sh_irqtrigger_w )
READ8_DEVICE_HANDLER( hotshock_soundlatch_r )
{
+ driver_device *drvstate = device->machine().driver_data<driver_device>();
cputag_set_input_line(device->machine(), "audiocpu", 0, CLEAR_LINE);
- return soundlatch_r(device->machine().device("audiocpu")->memory().space(AS_PROGRAM),0);
+ return drvstate->soundlatch_r(*device->machine().device("audiocpu")->memory().space(AS_PROGRAM),0);
}
static void filter_w(device_t *device, int data)
diff --git a/src/mame/audio/timeplt.c b/src/mame/audio/timeplt.c
index 593d25e98c6..d4c2ff80566 100644
--- a/src/mame/audio/timeplt.c
+++ b/src/mame/audio/timeplt.c
@@ -198,7 +198,7 @@ static const ay8910_interface timeplt_ay8910_interface =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("tpsound", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_DEVICE_HANDLER("timeplt_audio", timeplt_portB_r),
DEVCB_NULL,
DEVCB_NULL
diff --git a/src/mame/audio/williams.c b/src/mame/audio/williams.c
index 2a2691ae4fa..e1c52231bdf 100644
--- a/src/mame/audio/williams.c
+++ b/src/mame/audio/williams.c
@@ -541,18 +541,18 @@ static WRITE8_HANDLER( narc_slave_bank_select_w )
static READ8_HANDLER( narc_command_r )
{
williams_audio_state *state = &audio;
-
+ driver_device *drvstate = space->machine().driver_data<driver_device>();
device_set_input_line(state->sound_cpu, M6809_IRQ_LINE, CLEAR_LINE);
state->sound_int_state = 0;
- return soundlatch_r(space, 0);
+ return drvstate->soundlatch_r(*space, 0);
}
static WRITE8_HANDLER( narc_command2_w )
{
williams_audio_state *state = &audio;
-
- soundlatch2_w(space, 0, data & 0xff);
+ driver_device *drvstate = space->machine().driver_data<driver_device>();
+ drvstate->soundlatch2_w(*space, 0, data & 0xff);
device_set_input_line(state->soundalt_cpu, M6809_FIRQ_LINE, ASSERT_LINE);
}
@@ -560,9 +560,9 @@ static WRITE8_HANDLER( narc_command2_w )
static READ8_HANDLER( narc_command2_r )
{
williams_audio_state *state = &audio;
-
+ driver_device *drvstate = space->machine().driver_data<driver_device>();
device_set_input_line(state->soundalt_cpu, M6809_FIRQ_LINE, CLEAR_LINE);
- return soundlatch2_r(space, 0);
+ return drvstate->soundlatch2_r(*space, 0);
}
@@ -618,8 +618,8 @@ void williams_narc_data_w(running_machine &machine, int data)
williams_audio_state *state = &audio;
device_t *sound_cpu = state->sound_cpu;
address_space *space = sound_cpu->memory().space(AS_PROGRAM);
-
- soundlatch_w(space, 0, data & 0xff);
+ driver_device *drvstate = space->machine().driver_data<driver_device>();
+ drvstate->soundlatch_w(*space, 0, data & 0xff);
device_set_input_line(sound_cpu, INPUT_LINE_NMI, (data & 0x100) ? CLEAR_LINE : ASSERT_LINE);
if (!(data & 0x200))
{
@@ -696,7 +696,8 @@ static READ8_HANDLER( adpcm_command_r )
/* don't clear the external IRQ state for a short while; this allows the
self-tests to pass */
space->machine().scheduler().timer_set(attotime::from_usec(10), FUNC(clear_irq_state));
- return soundlatch_r(space, 0);
+ driver_device *drvstate = space->machine().driver_data<driver_device>();
+ return drvstate->soundlatch_r(*space, 0);
}
@@ -718,7 +719,8 @@ void williams_adpcm_data_w(running_machine &machine, int data)
williams_audio_state *state = &audio;
device_t *sound_cpu = state->sound_cpu;
address_space *space = sound_cpu->memory().space(AS_PROGRAM);
- soundlatch_w(space, 0, data & 0xff);
+ driver_device *drvstate = space->machine().driver_data<driver_device>();
+ drvstate->soundlatch_w(*space, 0, data & 0xff);
if (!(data & 0x200))
{
device_set_input_line(sound_cpu, M6809_IRQ_LINE, ASSERT_LINE);
diff --git a/src/mame/drivers/1942.c b/src/mame/drivers/1942.c
index 5b804318d17..a4eaf319b3a 100644
--- a/src/mame/drivers/1942.c
+++ b/src/mame/drivers/1942.c
@@ -94,7 +94,7 @@ static ADDRESS_MAP_START( c1942_map, AS_PROGRAM, 8, _1942_state )
AM_RANGE(0xc002, 0xc002) AM_READ_PORT("P2")
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("DSWA")
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("DSWB")
- AM_RANGE(0xc800, 0xc800) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xc800, 0xc800) AM_WRITE(soundlatch_w)
AM_RANGE(0xc802, 0xc803) AM_WRITE_LEGACY(c1942_scroll_w)
AM_RANGE(0xc804, 0xc804) AM_WRITE_LEGACY(c1942_c804_w)
AM_RANGE(0xc805, 0xc805) AM_WRITE_LEGACY(c1942_palette_bank_w)
@@ -108,7 +108,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, _1942_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
- AM_RANGE(0x6000, 0x6000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0x8001) AM_DEVWRITE_LEGACY("ay1", ay8910_address_data_w)
AM_RANGE(0xc000, 0xc001) AM_DEVWRITE_LEGACY("ay2", ay8910_address_data_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/1943.c b/src/mame/drivers/1943.c
index 40333a2178f..3d5fe94f2c5 100644
--- a/src/mame/drivers/1943.c
+++ b/src/mame/drivers/1943.c
@@ -59,9 +59,9 @@ static ADDRESS_MAP_START( c1943_map, AS_PROGRAM, 8, _1943_state )
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("DSWA")
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("DSWB")
AM_RANGE(0xc007, 0xc007) AM_READ(c1943_protection_r)
- AM_RANGE(0xc800, 0xc800) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xc800, 0xc800) AM_WRITE(soundlatch_w)
AM_RANGE(0xc804, 0xc804) AM_WRITE_LEGACY(c1943_c804_w) // ROM bank switch, screen flip
- AM_RANGE(0xc806, 0xc806) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xc806, 0xc806) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xc807, 0xc807) AM_WRITENOP // ???
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE_LEGACY(c1943_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE_LEGACY(c1943_colorram_w) AM_BASE(m_colorram)
@@ -80,7 +80,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, _1943_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xc800, 0xc800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc800, 0xc800) AM_READ(soundlatch_r)
AM_RANGE(0xe000, 0xe001) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0xe002, 0xe003) AM_DEVWRITE_LEGACY("ym2", ym2203_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/20pacgal.c b/src/mame/drivers/20pacgal.c
index 4cc64943cee..5227e17c5f8 100644
--- a/src/mame/drivers/20pacgal.c
+++ b/src/mame/drivers/20pacgal.c
@@ -225,7 +225,7 @@ static ADDRESS_MAP_START( 20pacgal_io_map, AS_IO, 8, _20pacgal_state )
AM_RANGE(0x80, 0x80) AM_READ_PORT("P1")
AM_RANGE(0x81, 0x81) AM_READ_PORT("P2")
AM_RANGE(0x82, 0x82) AM_READ_PORT("SERVICE")
- AM_RANGE(0x80, 0x80) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x80, 0x80) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x81, 0x81) AM_WRITE(timer_pulse_w) /* ??? pulsed by the timer irq */
AM_RANGE(0x82, 0x82) AM_WRITE(irqack_w)
AM_RANGE(0x84, 0x84) AM_NOP /* ?? */
diff --git a/src/mame/drivers/40love.c b/src/mame/drivers/40love.c
index 788a9f9397f..1a5a72ce51c 100644
--- a/src/mame/drivers/40love.c
+++ b/src/mame/drivers/40love.c
@@ -750,7 +750,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, fortyl_state )
AM_RANGE(0xca00, 0xca0d) AM_DEVWRITE_LEGACY("msm", msm5232_w)
AM_RANGE(0xcc00, 0xcc00) AM_DEVWRITE_LEGACY("msm", sound_control_0_w)
AM_RANGE(0xce00, 0xce00) AM_DEVWRITE_LEGACY("msm", sound_control_1_w)
- AM_RANGE(0xd800, 0xd800) AM_READ_LEGACY(soundlatch_r) AM_WRITE(to_main_w)
+ AM_RANGE(0xd800, 0xd800) AM_READ(soundlatch_r) AM_WRITE(to_main_w)
AM_RANGE(0xda00, 0xda00) AM_READNOP AM_WRITE(nmi_enable_w) /* unknown read */
AM_RANGE(0xdc00, 0xdc00) AM_WRITE(nmi_disable_w)
AM_RANGE(0xde00, 0xde00) AM_READNOP AM_DEVWRITE_LEGACY("dac", dac_signed_w) /* signed 8-bit DAC - unknown read */
diff --git a/src/mame/drivers/8080bw.c b/src/mame/drivers/8080bw.c
index 3ce33af355a..73674722a11 100644
--- a/src/mame/drivers/8080bw.c
+++ b/src/mame/drivers/8080bw.c
@@ -349,7 +349,7 @@ static ADDRESS_MAP_START( invadpt2_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x03, 0x03) AM_DEVREAD_LEGACY("mb14241", mb14241_shift_result_r) AM_WRITE_LEGACY(invadpt2_sh_port_1_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
AM_RANGE(0x05, 0x05) AM_WRITE_LEGACY(invadpt2_sh_port_2_w)
- AM_RANGE(0x06, 0x06) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
@@ -471,7 +471,7 @@ static ADDRESS_MAP_START( astropal_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x03, 0x03) AM_DEVWRITE_LEGACY("discrete", invaders_audio_1_w)
AM_RANGE(0x05, 0x05) AM_DEVWRITE_LEGACY("discrete", invaders_audio_2_w)
- AM_RANGE(0x06, 0x06) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
static INPUT_PORTS_START( astropal )
@@ -540,7 +540,7 @@ static ADDRESS_MAP_START( cosmo_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_WRITENOP
AM_RANGE(0x03, 0x03) AM_WRITE_LEGACY(invadpt2_sh_port_1_w)
AM_RANGE(0x05, 0x05) AM_WRITE_LEGACY(cosmo_sh_port_2_w)
- AM_RANGE(0x06, 0x06) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x07, 0x07) AM_WRITENOP
ADDRESS_MAP_END
@@ -979,7 +979,7 @@ static ADDRESS_MAP_START( schaser_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x03, 0x03) AM_DEVREAD_LEGACY("mb14241", mb14241_shift_result_r) AM_WRITE_LEGACY(schaser_sh_port_1_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
AM_RANGE(0x05, 0x05) AM_WRITE_LEGACY(schaser_sh_port_2_w)
- AM_RANGE(0x06, 0x06) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
@@ -1235,7 +1235,7 @@ static ADDRESS_MAP_START( lupin3_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x03, 0x03) AM_DEVREAD_LEGACY("mb14241", mb14241_shift_result_r) AM_WRITE_LEGACY(lupin3_sh_port_1_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
AM_RANGE(0x05, 0x05) AM_WRITE_LEGACY(lupin3_sh_port_2_w)
- AM_RANGE(0x06, 0x06) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
@@ -1391,7 +1391,7 @@ static ADDRESS_MAP_START( polaris_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_DEVWRITE_LEGACY("discrete", polaris_sh_port_1_w)
AM_RANGE(0x03, 0x03) AM_DEVREADWRITE_LEGACY("mb14241", mb14241_shift_result_r, mb14241_shift_data_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY("discrete", polaris_sh_port_2_w)
- AM_RANGE(0x05, 0x05) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x05, 0x05) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x06, 0x06) AM_DEVWRITE_LEGACY("discrete", polaris_sh_port_3_w)
ADDRESS_MAP_END
@@ -2101,7 +2101,7 @@ static ADDRESS_MAP_START( vortex_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x01, 0x01) AM_DEVWRITE_LEGACY("discrete", invaders_audio_1_w)
AM_RANGE(0x06, 0x06) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
AM_RANGE(0x07, 0x07) AM_DEVWRITE_LEGACY("discrete", invaders_audio_2_w)
- AM_RANGE(0x04, 0x04) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
@@ -2341,7 +2341,7 @@ static ADDRESS_MAP_START( modelr_io_map, AS_IO, 8, _8080bw_state )
AM_RANGE(0x02, 0x02) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
AM_RANGE(0x03, 0x03) AM_DEVREAD_LEGACY("mb14241", mb14241_shift_result_r)
// AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_count_w)
- AM_RANGE(0x05, 0x05) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x05, 0x05) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
MACHINE_CONFIG_DERIVED_CLASS( modelr, invaders, _8080bw_state )
diff --git a/src/mame/drivers/88games.c b/src/mame/drivers/88games.c
index 98d1634e78a..e509cf84889 100644
--- a/src/mame/drivers/88games.c
+++ b/src/mame/drivers/88games.c
@@ -133,8 +133,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, _88games_state )
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(bankedram_r, bankedram_w) AM_BASE(m_ram)
AM_RANGE(0x5f84, 0x5f84) AM_WRITE(k88games_5f84_w)
- AM_RANGE(0x5f88, 0x5f88) AM_WRITE_LEGACY(watchdog_reset_w)
- AM_RANGE(0x5f8c, 0x5f8c) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x5f88, 0x5f88) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0x5f8c, 0x5f8c) AM_WRITE(soundlatch_w)
AM_RANGE(0x5f90, 0x5f90) AM_WRITE(k88games_sh_irqtrigger_w)
AM_RANGE(0x5f94, 0x5f94) AM_READ_PORT("IN0")
AM_RANGE(0x5f95, 0x5f95) AM_READ_PORT("IN1")
@@ -150,7 +150,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, _88games_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(speech_msg_w)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xe000, 0xe000) AM_WRITE(speech_control_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/acefruit.c b/src/mame/drivers/acefruit.c
index 859d4901c96..818c7f1b13a 100644
--- a/src/mame/drivers/acefruit.c
+++ b/src/mame/drivers/acefruit.c
@@ -296,7 +296,7 @@ static ADDRESS_MAP_START( acefruit_map, AS_PROGRAM, 8, acefruit_state )
AM_RANGE(0xa002, 0xa003) AM_WRITE(acefruit_coin_w)
AM_RANGE(0xa004, 0xa004) AM_WRITE(acefruit_solenoid_w)
AM_RANGE(0xa005, 0xa006) AM_WRITE(acefruit_sound_w)
- AM_RANGE(0xc000, 0xc000) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xc000, 0xc000) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/actfancr.c b/src/mame/drivers/actfancr.c
index 6ce6729d45c..d9954f656a8 100644
--- a/src/mame/drivers/actfancr.c
+++ b/src/mame/drivers/actfancr.c
@@ -118,7 +118,7 @@ static ADDRESS_MAP_START( dec0_s_map, AS_PROGRAM, 8, actfancr_state )
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0801) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
- AM_RANGE(0x3000, 0x3000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r)
AM_RANGE(0x3800, 0x3800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/aeroboto.c b/src/mame/drivers/aeroboto.c
index 7c7cb72cfb5..77a7b80bcf8 100644
--- a/src/mame/drivers/aeroboto.c
+++ b/src/mame/drivers/aeroboto.c
@@ -83,8 +83,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, aeroboto_state )
AM_RANGE(0x2900, 0x2fff) AM_WRITENOP // cleared along with sprite RAM
AM_RANGE(0x2973, 0x2973) AM_READ(aeroboto_2973_r) // protection read
AM_RANGE(0x3000, 0x3000) AM_READWRITE_LEGACY(aeroboto_in0_r, aeroboto_3000_w)
- AM_RANGE(0x3001, 0x3001) AM_READ_PORT("DSW1") AM_WRITE_LEGACY(soundlatch_w)
- AM_RANGE(0x3002, 0x3002) AM_READ_PORT("DSW2") AM_WRITE_LEGACY(soundlatch2_w)
+ AM_RANGE(0x3001, 0x3001) AM_READ_PORT("DSW1") AM_WRITE(soundlatch_w)
+ AM_RANGE(0x3002, 0x3002) AM_READ_PORT("DSW2") AM_WRITE(soundlatch2_w)
AM_RANGE(0x3003, 0x3003) AM_WRITEONLY AM_BASE(m_vscroll)
AM_RANGE(0x3004, 0x3004) AM_READ(aeroboto_201_r) AM_WRITEONLY AM_BASE(m_starx)
AM_RANGE(0x3005, 0x3005) AM_WRITEONLY AM_BASE(m_stary) // usable but probably wrong
@@ -217,8 +217,8 @@ static const ay8910_interface ay8910_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch2_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch2_r),
DEVCB_NULL,
DEVCB_NULL
};
diff --git a/src/mame/drivers/aerofgt.c b/src/mame/drivers/aerofgt.c
index 1bffb1f68f1..ea76585aeb9 100644
--- a/src/mame/drivers/aerofgt.c
+++ b/src/mame/drivers/aerofgt.c
@@ -385,7 +385,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( turbofrc_sound_portmap, AS_IO, 8, aerofgt_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(aerofgt_sh_bankswitch_w)
- AM_RANGE(0x14, 0x14) AM_READ_LEGACY(soundlatch_r) AM_WRITE(pending_command_clear_w)
+ AM_RANGE(0x14, 0x14) AM_READ(soundlatch_r) AM_WRITE(pending_command_clear_w)
AM_RANGE(0x18, 0x1b) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
ADDRESS_MAP_END
@@ -394,7 +394,7 @@ static ADDRESS_MAP_START( aerofgt_sound_portmap, AS_IO, 8, aerofgt_state )
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
AM_RANGE(0x04, 0x04) AM_WRITE(aerofgt_sh_bankswitch_w)
AM_RANGE(0x08, 0x08) AM_WRITE(pending_command_clear_w)
- AM_RANGE(0x0c, 0x0c) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x0c, 0x0c) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( aerfboot_sound_map, AS_PROGRAM, 8, aerofgt_state )
@@ -402,7 +402,7 @@ static ADDRESS_MAP_START( aerfboot_sound_map, AS_PROGRAM, 8, aerofgt_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(aerfboot_okim6295_banking_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( wbbc97_sound_map, AS_PROGRAM, 8, aerofgt_state )
@@ -411,7 +411,7 @@ static ADDRESS_MAP_START( wbbc97_sound_map, AS_PROGRAM, 8, aerofgt_state )
AM_RANGE(0xf800, 0xf800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xf810, 0xf811) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
AM_RANGE(0xfc00, 0xfc00) AM_NOP
- AM_RANGE(0xfc20, 0xfc20) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xfc20, 0xfc20) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static INPUT_PORTS_START( pspikes )
diff --git a/src/mame/drivers/ajax.c b/src/mame/drivers/ajax.c
index 284ee9f7425..079e3f5c6d0 100644
--- a/src/mame/drivers/ajax.c
+++ b/src/mame/drivers/ajax.c
@@ -56,7 +56,7 @@ static ADDRESS_MAP_START( ajax_sound_map, AS_PROGRAM, 8, ajax_state )
AM_RANGE(0xb80c, 0xb80c) AM_DEVWRITE_LEGACY("k007232_2", k007232_extvol_w) /* extra volume, goes to the 007232 w/ A11 */
/* selecting a different latch for the external port */
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w) /* YM2151 */
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r) /* soundlatch_r */
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r) /* soundlatch_r */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/albazg.c b/src/mame/drivers/albazg.c
index be8a564bb67..eb6a7fa67b1 100644
--- a/src/mame/drivers/albazg.c
+++ b/src/mame/drivers/albazg.c
@@ -247,7 +247,7 @@ static ADDRESS_MAP_START( port_map, AS_IO, 8, albazg_state )
AM_RANGE(0x40, 0x40) AM_DEVREAD_LEGACY("aysnd", ay8910_r)
AM_RANGE(0x40, 0x41) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_data_w)
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
- AM_RANGE(0xc0, 0xc0) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xc0, 0xc0) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
/***************************************************************************************/
diff --git a/src/mame/drivers/aliens.c b/src/mame/drivers/aliens.c
index 85d817b6ad4..45b6fc01ae7 100644
--- a/src/mame/drivers/aliens.c
+++ b/src/mame/drivers/aliens.c
@@ -123,7 +123,7 @@ static ADDRESS_MAP_START( aliens_map, AS_PROGRAM, 8, aliens_state )
AM_RANGE(0x5f82, 0x5f82) AM_READ_PORT("P2")
AM_RANGE(0x5f83, 0x5f83) AM_READ_PORT("DSW2")
AM_RANGE(0x5f84, 0x5f84) AM_READ_PORT("DSW1")
- AM_RANGE(0x5f88, 0x5f88) AM_READ_LEGACY(watchdog_reset_r) AM_WRITE(aliens_coin_counter_w) /* coin counters */
+ AM_RANGE(0x5f88, 0x5f88) AM_READ(watchdog_reset_r) AM_WRITE(aliens_coin_counter_w) /* coin counters */
AM_RANGE(0x5f8c, 0x5f8c) AM_WRITE(aliens_sh_irqtrigger_w) /* cause interrupt on audio CPU */
AM_RANGE(0x4000, 0x7fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM e24_j02.bin */
@@ -133,7 +133,7 @@ static ADDRESS_MAP_START( aliens_sound_map, AS_PROGRAM, 8, aliens_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM /* ROM g04_b03.bin */
AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
- AM_RANGE(0xc000, 0xc000) AM_READ_LEGACY(soundlatch_r) /* soundlatch_r */
+ AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r) /* soundlatch_r */
AM_RANGE(0xe000, 0xe00d) AM_DEVREADWRITE_LEGACY("k007232", k007232_r, k007232_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/alpha68k.c b/src/mame/drivers/alpha68k.c
index 55bd0bad031..7b8a460883b 100644
--- a/src/mame/drivers/alpha68k.c
+++ b/src/mame/drivers/alpha68k.c
@@ -750,8 +750,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( kyros_sound_map, AS_PROGRAM, 8, alpha68k_state )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
- AM_RANGE(0xe002, 0xe002) AM_WRITE_LEGACY(soundlatch_clear_w)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
+ AM_RANGE(0xe002, 0xe002) AM_WRITE(soundlatch_clear_w)
AM_RANGE(0xe004, 0xe004) AM_DEVWRITE_LEGACY("dac", dac_signed_w)
AM_RANGE(0xe006, 0xe00e) AM_WRITENOP // soundboard I/O's, ignored
/* reference only
@@ -766,8 +766,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sstingry_sound_map, AS_PROGRAM, 8, alpha68k_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0xc100, 0xc100) AM_READ_LEGACY(soundlatch_r)
- AM_RANGE(0xc102, 0xc102) AM_WRITE_LEGACY(soundlatch_clear_w)
+ AM_RANGE(0xc100, 0xc100) AM_READ(soundlatch_r)
+ AM_RANGE(0xc102, 0xc102) AM_WRITE(soundlatch_clear_w)
AM_RANGE(0xc104, 0xc104) AM_DEVWRITE_LEGACY("dac", dac_signed_w)
AM_RANGE(0xc106, 0xc10e) AM_WRITENOP // soundboard I/O's, ignored
ADDRESS_MAP_END
@@ -779,7 +779,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( alpha68k_I_s_map, AS_PROGRAM, 8, alpha68k_state )
AM_RANGE(0x0000, 0x9fff) AM_ROM
- AM_RANGE(0xe000, 0xe000) AM_READWRITE_LEGACY(soundlatch_r, soundlatch_clear_w)
+ AM_RANGE(0xe000, 0xe000) AM_READWRITE(soundlatch_r, soundlatch_clear_w)
AM_RANGE(0xe800, 0xe800) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_status_port_r, ym3812_control_port_w)
AM_RANGE(0xec00, 0xec00) AM_DEVWRITE_LEGACY("ymsnd", ym3812_write_port_w)
AM_RANGE(0xf000, 0xf7ff) AM_RAM
@@ -790,12 +790,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tnextspc_sound_map, AS_PROGRAM, 8, alpha68k_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
- AM_RANGE(0xf800, 0xf800) AM_READWRITE_LEGACY(soundlatch_r, soundlatch_clear_w)
+ AM_RANGE(0xf800, 0xf800) AM_READWRITE(soundlatch_r, soundlatch_clear_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, alpha68k_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READWRITE_LEGACY(soundlatch_r, soundlatch_clear_w)
+ AM_RANGE(0x00, 0x00) AM_READWRITE(soundlatch_r, soundlatch_clear_w)
AM_RANGE(0x08, 0x08) AM_DEVWRITE_LEGACY("dac", dac_signed_w)
AM_RANGE(0x0a, 0x0b) AM_DEVWRITE_LEGACY("ym2", ym2413_w)
AM_RANGE(0x0c, 0x0d) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
@@ -815,7 +815,7 @@ static ADDRESS_MAP_START( jongbou_sound_portmap, AS_IO, 8, alpha68k_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_w)
AM_RANGE(0x01, 0x01) AM_DEVREADWRITE_LEGACY("aysnd", ay8910_r, ay8910_data_w)
- AM_RANGE(0x02, 0x02) AM_WRITE_LEGACY(soundlatch_clear_w)
+ AM_RANGE(0x02, 0x02) AM_WRITE(soundlatch_clear_w)
AM_RANGE(0x06, 0x06) AM_WRITENOP
ADDRESS_MAP_END
@@ -1823,7 +1823,7 @@ static const ay8910_interface ay8910_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r)
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r)
};
WRITE8_MEMBER(alpha68k_state::porta_w)
@@ -1847,7 +1847,7 @@ static const ym2203_interface ym2203_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_NULL,
DEVCB_DRIVER_MEMBER(alpha68k_state, porta_w),
DEVCB_NULL
diff --git a/src/mame/drivers/ambush.c b/src/mame/drivers/ambush.c
index 649e6a9aed8..1a503ee4738 100644
--- a/src/mame/drivers/ambush.c
+++ b/src/mame/drivers/ambush.c
@@ -66,7 +66,7 @@ WRITE8_MEMBER(ambush_state::flip_screen_w)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, ambush_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(watchdog_reset_r)
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc080, 0xc09f) AM_BASE(m_scrollram)
AM_RANGE(0xc100, 0xc1ff) AM_BASE(m_colorram)
diff --git a/src/mame/drivers/amspdwy.c b/src/mame/drivers/amspdwy.c
index 9ae99a2dcba..074045791c3 100644
--- a/src/mame/drivers/amspdwy.c
+++ b/src/mame/drivers/amspdwy.c
@@ -114,7 +114,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( amspdwy_sound_map, AS_PROGRAM, 8, amspdwy_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
// AM_RANGE(0x8000, 0x8000) AM_WRITENOP // ? Written with 0 at the start
- AM_RANGE(0x9000, 0x9000) AM_READ_LEGACY(soundlatch_r) // From Main CPU
+ AM_RANGE(0x9000, 0x9000) AM_READ(soundlatch_r) // From Main CPU
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w) //
AM_RANGE(0xc000, 0xdfff) AM_RAM // Work RAM
AM_RANGE(0xffff, 0xffff) AM_READNOP // ??? IY = FFFF at the start ?
diff --git a/src/mame/drivers/aquarium.c b/src/mame/drivers/aquarium.c
index d4c0e40b8aa..b34eae32ded 100644
--- a/src/mame/drivers/aquarium.c
+++ b/src/mame/drivers/aquarium.c
@@ -131,7 +131,7 @@ static ADDRESS_MAP_START( snd_portmap, AS_IO, 8, aquarium_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x02, 0x02) AM_READWRITE(aquarium_oki_r, aquarium_oki_w)
- AM_RANGE(0x04, 0x04) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x04, 0x04) AM_READ(soundlatch_r)
AM_RANGE(0x06, 0x06) AM_WRITE(aquarium_snd_ack_w)
AM_RANGE(0x08, 0x08) AM_WRITE(aquarium_z80_bank_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/arcadecl.c b/src/mame/drivers/arcadecl.c
index 40f1eb0dbd7..5dcab11a4bf 100644
--- a/src/mame/drivers/arcadecl.c
+++ b/src/mame/drivers/arcadecl.c
@@ -172,7 +172,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, arcadecl_state )
AM_RANGE(0x641000, 0x641fff) AM_READWRITE_LEGACY(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
AM_RANGE(0x642000, 0x642001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0xff00)
AM_RANGE(0x646000, 0x646fff) AM_WRITE_LEGACY(atarigen_scanline_int_ack_w)
- AM_RANGE(0x647000, 0x647fff) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x647000, 0x647fff) AM_WRITE(watchdog_reset16_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/argus.c b/src/mame/drivers/argus.c
index 4f74a463404..aea4b330571 100644
--- a/src/mame/drivers/argus.c
+++ b/src/mame/drivers/argus.c
@@ -198,7 +198,7 @@ static ADDRESS_MAP_START( argus_map, AS_PROGRAM, 8, argus_state )
AM_RANGE(0xc002, 0xc002) AM_READ_PORT("P2")
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("DSW1")
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("DSW2")
- AM_RANGE(0xc200, 0xc200) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xc200, 0xc200) AM_WRITE(soundlatch_w)
AM_RANGE(0xc201, 0xc201) AM_WRITE_LEGACY(argus_flipscreen_w)
AM_RANGE(0xc202, 0xc202) AM_WRITE(argus_bankselect_w)
AM_RANGE(0xc300, 0xc301) AM_RAM AM_BASE(m_bg0_scrollx)
@@ -222,7 +222,7 @@ static ADDRESS_MAP_START( valtric_map, AS_PROGRAM, 8, argus_state )
AM_RANGE(0xc002, 0xc002) AM_READ_PORT("P2")
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("DSW1")
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("DSW2")
- AM_RANGE(0xc200, 0xc200) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xc200, 0xc200) AM_WRITE(soundlatch_w)
AM_RANGE(0xc201, 0xc201) AM_WRITE_LEGACY(argus_flipscreen_w)
AM_RANGE(0xc202, 0xc202) AM_WRITE(argus_bankselect_w)
AM_RANGE(0xc300, 0xc300) AM_WRITE_LEGACY(valtric_unknown_w)
@@ -247,7 +247,7 @@ static ADDRESS_MAP_START( butasan_map, AS_PROGRAM, 8, argus_state )
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("DSW1")
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("DSW2")
AM_RANGE(0xc100, 0xc100) AM_WRITE_LEGACY(butasan_unknown_w)
- AM_RANGE(0xc200, 0xc200) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xc200, 0xc200) AM_WRITE(soundlatch_w)
AM_RANGE(0xc201, 0xc201) AM_WRITE_LEGACY(argus_flipscreen_w)
AM_RANGE(0xc202, 0xc202) AM_WRITE(argus_bankselect_w)
AM_RANGE(0xc203, 0xc203) AM_WRITE_LEGACY(butasan_pageselect_w)
@@ -268,13 +268,13 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map_a, AS_PROGRAM, 8, argus_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0xc000, 0xc000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map_b, AS_PROGRAM, 8, argus_state )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
#if 0
diff --git a/src/mame/drivers/aristmk5.c b/src/mame/drivers/aristmk5.c
index a8c6dbf22ea..fe01592c350 100644
--- a/src/mame/drivers/aristmk5.c
+++ b/src/mame/drivers/aristmk5.c
@@ -303,7 +303,7 @@ static ADDRESS_MAP_START( aristmk5_map, AS_PROGRAM, 32, aristmk5_state )
// AM_RANGE(0x0301049c, 0x0301051f) AM_DEVREADWRITE_LEGACY("eeprom", eeprom_r, eeprom_w) // eeprom ???
- AM_RANGE(0x03010810, 0x03010813) AM_READWRITE_LEGACY(watchdog_reset32_r,watchdog_reset32_w) //MK-5 specific, watchdog
+ AM_RANGE(0x03010810, 0x03010813) AM_READWRITE(watchdog_reset32_r,watchdog_reset32_w) //MK-5 specific, watchdog
// System Startup Code Enabled protection appears to be located at 0x3010400 - 0x30104ff
AM_RANGE(0x03220000, 0x0323ffff) AM_RAMBANK("sram_bank") //AM_BASE_SIZE_GENERIC(nvram) // nvram 32kbytes x 3
@@ -329,7 +329,7 @@ static ADDRESS_MAP_START( aristmk5_drame_map, AS_PROGRAM, 32, aristmk5_state )
// AM_RANGE(0x0301049c, 0x0301051f) AM_DEVREADWRITE_LEGACY("eeprom", eeprom_r, eeprom_w) // eeprom ???
- AM_RANGE(0x03010810, 0x03010813) AM_READWRITE_LEGACY(watchdog_reset32_r,watchdog_reset32_w) //MK-5 specific, watchdog
+ AM_RANGE(0x03010810, 0x03010813) AM_READWRITE(watchdog_reset32_r,watchdog_reset32_w) //MK-5 specific, watchdog
// System Startup Code Enabled protection appears to be located at 0x3010400 - 0x30104ff
AM_RANGE(0x03220000, 0x0323ffff) AM_RAMBANK("sram_bank") //AM_BASE_SIZE_GENERIC(nvram) // nvram 32kbytes x 3
diff --git a/src/mame/drivers/arkanoid.c b/src/mame/drivers/arkanoid.c
index 9648789831b..b98ee3e7f9a 100644
--- a/src/mame/drivers/arkanoid.c
+++ b/src/mame/drivers/arkanoid.c
@@ -561,7 +561,7 @@ static ADDRESS_MAP_START( arkanoid_map, AS_PROGRAM, 8, arkanoid_state )
AM_RANGE(0xd001, 0xd001) AM_DEVREAD_LEGACY("aysnd", ay8910_r)
AM_RANGE(0xd008, 0xd008) AM_WRITE_LEGACY(arkanoid_d008_w) /* gfx bank, flip screen etc. */
AM_RANGE(0xd00c, 0xd00c) AM_READ_PORT("SYSTEM") /* 2 bits from the 68705 */
- AM_RANGE(0xd010, 0xd010) AM_READ_PORT("BUTTONS") AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xd010, 0xd010) AM_READ_PORT("BUTTONS") AM_WRITE(watchdog_reset_w)
AM_RANGE(0xd018, 0xd018) AM_READWRITE_LEGACY(arkanoid_Z80_mcu_r, arkanoid_Z80_mcu_w) /* input from the 68705 */
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE_LEGACY(arkanoid_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0xe800, 0xe83f) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
@@ -576,7 +576,7 @@ static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 8, arkanoid_state )
AM_RANGE(0xd001, 0xd001) AM_DEVREADWRITE_LEGACY("aysnd", ay8910_r, ay8910_data_w)
AM_RANGE(0xd008, 0xd008) AM_WRITE_LEGACY(arkanoid_d008_w) /* gfx bank, flip screen etc. */
AM_RANGE(0xd00c, 0xd00c) AM_READ_PORT("SYSTEM")
- AM_RANGE(0xd010, 0xd010) AM_READ_PORT("BUTTONS") AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xd010, 0xd010) AM_READ_PORT("BUTTONS") AM_WRITE(watchdog_reset_w)
AM_RANGE(0xd018, 0xd018) AM_READ_PORT("MUX") AM_WRITENOP
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE_LEGACY(arkanoid_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0xe800, 0xe83f) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
@@ -591,7 +591,7 @@ static ADDRESS_MAP_START( hexa_map, AS_PROGRAM, 8, arkanoid_state )
AM_RANGE(0xd001, 0xd001) AM_DEVREAD_LEGACY("aysnd", ay8910_r)
AM_RANGE(0xd000, 0xd001) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_data_w)
AM_RANGE(0xd008, 0xd008) AM_WRITE_LEGACY(hexa_d008_w)
- AM_RANGE(0xd010, 0xd010) AM_WRITE_LEGACY(watchdog_reset_w) /* or IRQ acknowledge, or both */
+ AM_RANGE(0xd010, 0xd010) AM_WRITE(watchdog_reset_w) /* or IRQ acknowledge, or both */
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE_LEGACY(arkanoid_videoram_w) AM_BASE_SIZE(m_videoram, m_videoram_size)
ADDRESS_MAP_END
@@ -602,7 +602,7 @@ static ADDRESS_MAP_START( brixian_map, AS_PROGRAM, 8, arkanoid_state )
AM_RANGE(0xd001, 0xd001) AM_DEVREADWRITE_LEGACY("aysnd", ay8910_r, ay8910_data_w)
AM_RANGE(0xd008, 0xd008) AM_WRITE_LEGACY(arkanoid_d008_w) /* gfx bank, flip screen etc. */
AM_RANGE(0xd00c, 0xd00c) AM_READ_PORT("SYSTEM")
- AM_RANGE(0xd010, 0xd010) AM_READ_PORT("BUTTONS") AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xd010, 0xd010) AM_READ_PORT("BUTTONS") AM_WRITE(watchdog_reset_w)
AM_RANGE(0xd018, 0xd018) AM_READ_PORT("MUX") AM_WRITENOP
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE_LEGACY(arkanoid_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0xe800, 0xe83f) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
diff --git a/src/mame/drivers/armedf.c b/src/mame/drivers/armedf.c
index 62d5e798172..371ecc252a3 100644
--- a/src/mame/drivers/armedf.c
+++ b/src/mame/drivers/armedf.c
@@ -758,7 +758,7 @@ static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, armedf_state )
AM_RANGE(0x2, 0x2) AM_DEVWRITE_LEGACY("dac1", dac_signed_w)
AM_RANGE(0x3, 0x3) AM_DEVWRITE_LEGACY("dac2", dac_signed_w)
AM_RANGE(0x4, 0x4) AM_READ(soundlatch_clear_r)
- AM_RANGE(0x6, 0x6) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6, 0x6) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/asteroid.c b/src/mame/drivers/asteroid.c
index 5213575a072..dc99cfc04ba 100644
--- a/src/mame/drivers/asteroid.c
+++ b/src/mame/drivers/asteroid.c
@@ -244,7 +244,7 @@ static ADDRESS_MAP_START( asteroid_map, AS_PROGRAM, 8, asteroid_state )
AM_RANGE(0x2800, 0x2803) AM_READ_LEGACY(asteroid_DSW1_r) /* DSW1 */
AM_RANGE(0x3000, 0x3000) AM_WRITE_LEGACY(avgdvg_go_w)
AM_RANGE(0x3200, 0x3200) AM_WRITE_LEGACY(asteroid_bank_switch_w)
- AM_RANGE(0x3400, 0x3400) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x3400, 0x3400) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x3600, 0x3600) AM_DEVWRITE_LEGACY("discrete", asteroid_explode_w)
AM_RANGE(0x3a00, 0x3a00) AM_DEVWRITE_LEGACY("discrete", asteroid_thump_w)
AM_RANGE(0x3c00, 0x3c05) AM_DEVWRITE_LEGACY("discrete", asteroid_sounds_w)
@@ -267,7 +267,7 @@ static ADDRESS_MAP_START( astdelux_map, AS_PROGRAM, 8, asteroid_state )
AM_RANGE(0x2c40, 0x2c7f) AM_DEVREAD("earom", atari_vg_earom_device, read)
AM_RANGE(0x3000, 0x3000) AM_WRITE_LEGACY(avgdvg_go_w)
AM_RANGE(0x3200, 0x323f) AM_DEVWRITE("earom", atari_vg_earom_device, write)
- AM_RANGE(0x3400, 0x3400) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x3400, 0x3400) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x3600, 0x3600) AM_DEVWRITE_LEGACY("discrete", asteroid_explode_w)
AM_RANGE(0x3a00, 0x3a00) AM_DEVWRITE("earom", atari_vg_earom_device, ctrl_w)
AM_RANGE(0x3c00, 0x3c01) AM_WRITE_LEGACY(astdelux_led_w)
@@ -290,7 +290,7 @@ static ADDRESS_MAP_START( llander_map, AS_PROGRAM, 8, asteroid_state )
AM_RANGE(0x2c00, 0x2c00) AM_READ_PORT("THRUST")
AM_RANGE(0x3000, 0x3000) AM_WRITE_LEGACY(avgdvg_go_w)
AM_RANGE(0x3200, 0x3200) AM_WRITE(llander_led_w)
- AM_RANGE(0x3400, 0x3400) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x3400, 0x3400) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x3c00, 0x3c00) AM_DEVWRITE_LEGACY("discrete", llander_sounds_w)
AM_RANGE(0x3e00, 0x3e00) AM_DEVWRITE_LEGACY("discrete", llander_snd_reset_w)
AM_RANGE(0x4000, 0x47ff) AM_RAM AM_BASE_LEGACY(&avgdvg_vectorram) AM_SIZE_LEGACY(&avgdvg_vectorram_size) AM_REGION("maincpu", 0x4000)
diff --git a/src/mame/drivers/astrocde.c b/src/mame/drivers/astrocde.c
index db7cf05aa75..40378622c76 100644
--- a/src/mame/drivers/astrocde.c
+++ b/src/mame/drivers/astrocde.c
@@ -710,7 +710,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tenpin_sub_io_map, AS_IO, 8, astrocde_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x90, 0x93) AM_DEVREADWRITE_LEGACY("ctc", z80ctc_r, z80ctc_w)
- AM_RANGE(0x97, 0x97) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x97, 0x97) AM_READ(soundlatch_r)
AM_RANGE(0x98, 0x98) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_w)
AM_RANGE(0x98, 0x98) AM_DEVREAD_LEGACY("aysnd", ay8910_r)
AM_RANGE(0x9a, 0x9a) AM_DEVWRITE_LEGACY("aysnd", ay8910_data_w)
diff --git a/src/mame/drivers/asuka.c b/src/mame/drivers/asuka.c
index ae6459c3b39..f4e97a37e59 100644
--- a/src/mame/drivers/asuka.c
+++ b/src/mame/drivers/asuka.c
@@ -318,7 +318,7 @@ static ADDRESS_MAP_START( bonzeadv_map, AS_PROGRAM, 16, asuka_state )
AM_RANGE(0x390000, 0x390001) AM_READ_PORT("DSWA")
AM_RANGE(0x3a0000, 0x3a0001) AM_WRITE_LEGACY(asuka_spritectrl_w)
AM_RANGE(0x3b0000, 0x3b0001) AM_READ_PORT("DSWB")
- AM_RANGE(0x3c0000, 0x3c0001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x3c0000, 0x3c0001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x3d0000, 0x3d0001) AM_READNOP
AM_RANGE(0x3e0000, 0x3e0001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
AM_RANGE(0x3e0002, 0x3e0003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
diff --git a/src/mame/drivers/atarifb.c b/src/mame/drivers/atarifb.c
index 29fef22f9f7..f1b033652f1 100644
--- a/src/mame/drivers/atarifb.c
+++ b/src/mame/drivers/atarifb.c
@@ -161,7 +161,7 @@ static ADDRESS_MAP_START( atarifb_map, AS_PROGRAM, 8, atarifb_state )
AM_RANGE(0x3000, 0x3000) AM_NOP /* Interrupt Acknowledge */
AM_RANGE(0x4000, 0x4000) AM_READ_LEGACY(atarifb_in0_r)
AM_RANGE(0x4002, 0x4002) AM_READ_LEGACY(atarifb_in2_r)
- AM_RANGE(0x5000, 0x5000) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x5000, 0x5000) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x6000, 0x7fff) AM_ROM
ADDRESS_MAP_END
@@ -182,7 +182,7 @@ static ADDRESS_MAP_START( atarifb4_map, AS_PROGRAM, 8, atarifb_state )
AM_RANGE(0x4000, 0x4000) AM_READ_LEGACY(atarifb4_in0_r)
AM_RANGE(0x4001, 0x4001) AM_READ_PORT("EXTRA")
AM_RANGE(0x4002, 0x4002) AM_READ_LEGACY(atarifb4_in2_r)
- AM_RANGE(0x5000, 0x5000) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x5000, 0x5000) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x6000, 0x7fff) AM_ROM
ADDRESS_MAP_END
@@ -202,7 +202,7 @@ static ADDRESS_MAP_START( abaseb_map, AS_PROGRAM, 8, atarifb_state )
AM_RANGE(0x3000, 0x3000) AM_NOP /* Interrupt Acknowledge */
AM_RANGE(0x4000, 0x4000) AM_READ_LEGACY(atarifb_in0_r)
AM_RANGE(0x4002, 0x4002) AM_READ_LEGACY(atarifb_in2_r)
- AM_RANGE(0x5000, 0x5000) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x5000, 0x5000) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x6000, 0x7fff) AM_ROM
ADDRESS_MAP_END
@@ -219,7 +219,7 @@ static ADDRESS_MAP_START( soccer_map, AS_PROGRAM, 8, atarifb_state )
AM_RANGE(0x1001, 0x1001) AM_WRITE_LEGACY(soccer_out1_w) /* OUT 1 */
AM_RANGE(0x1002, 0x1002) AM_WRITE_LEGACY(soccer_out2_w) /* OUT 2 */
AM_RANGE(0x1004, 0x1004) AM_WRITENOP /* Interrupt Acknowledge */
- AM_RANGE(0x1005, 0x1005) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x1005, 0x1005) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1800, 0x1800) AM_READ_LEGACY(atarifb4_in0_r)
AM_RANGE(0x1801, 0x1801) AM_READ_PORT("EXTRA")
AM_RANGE(0x1802, 0x1802) AM_READ_LEGACY(atarifb4_in2_r)
diff --git a/src/mame/drivers/atarig1.c b/src/mame/drivers/atarig1.c
index 45f7439ca33..a4a3dd89500 100644
--- a/src/mame/drivers/atarig1.c
+++ b/src/mame/drivers/atarig1.c
@@ -215,7 +215,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarig1_state )
AM_RANGE(0x038000, 0x03ffff) AM_ROM /* pitfight slapstic goes here */
AM_RANGE(0x040000, 0x077fff) AM_ROM
AM_RANGE(0x078000, 0x07ffff) AM_ROM /* hydra slapstic goes here */
- AM_RANGE(0xf80000, 0xf80001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0xf80000, 0xf80001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0xf88000, 0xf8ffff) AM_WRITE_LEGACY(atarigen_eeprom_enable_w)
AM_RANGE(0xf90000, 0xf90001) AM_WRITE_LEGACY(atarigen_sound_upper_w)
AM_RANGE(0xf98000, 0xf98001) AM_WRITE_LEGACY(atarigen_sound_reset_w)
diff --git a/src/mame/drivers/atarig42.c b/src/mame/drivers/atarig42.c
index e88f764d4f5..eb3ddc45d71 100644
--- a/src/mame/drivers/atarig42.c
+++ b/src/mame/drivers/atarig42.c
@@ -360,7 +360,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarig42_state )
AM_RANGE(0xe00050, 0xe00051) AM_WRITE_LEGACY(io_latch_w)
AM_RANGE(0xe00060, 0xe00061) AM_WRITE_LEGACY(atarigen_eeprom_enable_w)
AM_RANGE(0xe03000, 0xe03001) AM_WRITE_LEGACY(atarigen_video_int_ack_w)
- AM_RANGE(0xe03800, 0xe03801) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0xe03800, 0xe03801) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0xe80000, 0xe80fff) AM_RAM
AM_RANGE(0xf40000, 0xf40001) AM_READ_LEGACY(asic65_io_r)
AM_RANGE(0xf60000, 0xf60001) AM_READ_LEGACY(asic65_r)
diff --git a/src/mame/drivers/atarisy1.c b/src/mame/drivers/atarisy1.c
index 8e1f44b5150..7679dd64be3 100644
--- a/src/mame/drivers/atarisy1.c
+++ b/src/mame/drivers/atarisy1.c
@@ -477,7 +477,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarisy1_state )
AM_RANGE(0x820000, 0x820001) AM_WRITE_LEGACY(atarisy1_yscroll_w) AM_BASE(m_yscroll)
AM_RANGE(0x840000, 0x840001) AM_WRITE_LEGACY(atarisy1_priority_w)
AM_RANGE(0x860000, 0x860001) AM_WRITE_LEGACY(atarisy1_bankselect_w) AM_BASE(m_bankselect)
- AM_RANGE(0x880000, 0x880001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x880000, 0x880001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x8a0000, 0x8a0001) AM_WRITE_LEGACY(atarigen_video_int_ack_w)
AM_RANGE(0x8c0000, 0x8c0001) AM_WRITE_LEGACY(atarigen_eeprom_enable_w)
AM_RANGE(0x900000, 0x9fffff) AM_RAM
diff --git a/src/mame/drivers/atarisy2.c b/src/mame/drivers/atarisy2.c
index 0beda3a48d0..9226c6f67c4 100644
--- a/src/mame/drivers/atarisy2.c
+++ b/src/mame/drivers/atarisy2.c
@@ -812,7 +812,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarisy2_state )
AM_RANGE(0x1680, 0x1681) AM_MIRROR(0x007e) AM_WRITE_LEGACY(atarigen_sound_w)
AM_RANGE(0x1700, 0x1701) AM_MIRROR(0x007e) AM_WRITE_LEGACY(atarisy2_xscroll_w) AM_BASE(m_xscroll)
AM_RANGE(0x1780, 0x1781) AM_MIRROR(0x007e) AM_WRITE_LEGACY(atarisy2_yscroll_w) AM_BASE(m_yscroll)
- AM_RANGE(0x1800, 0x1801) AM_MIRROR(0x03fe) AM_READWRITE_LEGACY(switch_r, watchdog_reset16_w)
+ AM_RANGE(0x1800, 0x1801) AM_MIRROR(0x03fe) AM_READ_LEGACY(switch_r) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x1c00, 0x1c01) AM_MIRROR(0x03fe) AM_READ_LEGACY(sound_r)
AM_RANGE(0x2000, 0x3fff) AM_READWRITE_LEGACY(atarisy2_videoram_r, atarisy2_videoram_w)
AM_RANGE(0x4000, 0x5fff) AM_ROM AM_BASE(m_rombank1)
diff --git a/src/mame/drivers/atetris.c b/src/mame/drivers/atetris.c
index 6c9dfb650d3..68cc55d8850 100644
--- a/src/mame/drivers/atetris.c
+++ b/src/mame/drivers/atetris.c
@@ -205,7 +205,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, atetris_state )
AM_RANGE(0x2400, 0x25ff) AM_MIRROR(0x0200) AM_RAM_WRITE(nvram_w) AM_SHARE("nvram")
AM_RANGE(0x2800, 0x280f) AM_MIRROR(0x03e0) AM_DEVREADWRITE_LEGACY("pokey1", pokey_r, pokey_w)
AM_RANGE(0x2810, 0x281f) AM_MIRROR(0x03e0) AM_DEVREADWRITE_LEGACY("pokey2", pokey_r, pokey_w)
- AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x03ff) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x03ff) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x3400, 0x3400) AM_MIRROR(0x03ff) AM_WRITE(nvram_enable_w)
AM_RANGE(0x3800, 0x3800) AM_MIRROR(0x03ff) AM_WRITE(irq_ack_w)
AM_RANGE(0x3c00, 0x3c00) AM_MIRROR(0x03ff) AM_WRITE(coincount_w)
@@ -225,7 +225,7 @@ static ADDRESS_MAP_START( atetrisb2_map, AS_PROGRAM, 8, atetris_state )
AM_RANGE(0x2806, 0x2806) AM_DEVWRITE_LEGACY("sn3", sn76496_w)
AM_RANGE(0x2808, 0x2808) AM_READ_PORT("IN0")
AM_RANGE(0x2818, 0x2818) AM_READ_PORT("IN1")
- AM_RANGE(0x3000, 0x3000) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x3000, 0x3000) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x3400, 0x3400) AM_WRITE(nvram_enable_w)
AM_RANGE(0x3800, 0x3800) AM_WRITE(irq_ack_w)
AM_RANGE(0x3c00, 0x3c00) AM_WRITE(coincount_w)
diff --git a/src/mame/drivers/avalnche.c b/src/mame/drivers/avalnche.c
index 1763d0105f2..c528956658d 100644
--- a/src/mame/drivers/avalnche.c
+++ b/src/mame/drivers/avalnche.c
@@ -116,7 +116,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, avalnche_state )
AM_RANGE(0x2001, 0x2001) AM_MIRROR(0x0ffc) AM_READ_PORT("IN1")
AM_RANGE(0x2002, 0x2002) AM_MIRROR(0x0ffc) AM_READ_PORT("PADDLE")
AM_RANGE(0x2003, 0x2003) AM_MIRROR(0x0ffc) AM_READNOP
- AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x0fff) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x0fff) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x4000, 0x4000) AM_MIRROR(0x0ff8) AM_WRITE(avalance_credit_1_lamp_w)
AM_RANGE(0x4001, 0x4001) AM_MIRROR(0x0ff8) AM_DEVWRITE_LEGACY("discrete", avalnche_attract_enable_w)
AM_RANGE(0x4002, 0x4002) AM_MIRROR(0x0ff8) AM_WRITE(avalance_video_invert_w)
@@ -134,7 +134,7 @@ static ADDRESS_MAP_START( catch_map, AS_PROGRAM, 8, avalnche_state )
AM_RANGE(0x2001, 0x2001) AM_MIRROR(0x0ffc) AM_READ_PORT("IN1")
AM_RANGE(0x2002, 0x2002) AM_MIRROR(0x0ffc) AM_READ_PORT("PADDLE")
AM_RANGE(0x2003, 0x2003) AM_MIRROR(0x0ffc) AM_READNOP
- AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x0fff) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x0fff) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x4000, 0x4000) AM_MIRROR(0x0ff8) AM_WRITE(avalance_credit_1_lamp_w)
// AM_RANGE(0x4001, 0x4001) AM_MIRROR(0x0ff8) AM_DEVWRITE_LEGACY("discrete", avalnche_attract_enable_w) /* It is attract_enable just like avalnche, but not hooked up yet. */
AM_RANGE(0x4002, 0x4002) AM_MIRROR(0x0ff8) AM_WRITE(avalance_video_invert_w)
diff --git a/src/mame/drivers/aztarac.c b/src/mame/drivers/aztarac.c
index 020a3a9370c..282b4d6f192 100644
--- a/src/mame/drivers/aztarac.c
+++ b/src/mame/drivers/aztarac.c
@@ -82,7 +82,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, aztarac_state )
AM_RANGE(0x027004, 0x027005) AM_READ_PORT("INPUTS")
AM_RANGE(0x027008, 0x027009) AM_READWRITE_LEGACY(aztarac_sound_r, aztarac_sound_w)
AM_RANGE(0x02700c, 0x02700d) AM_READ_PORT("DIAL")
- AM_RANGE(0x02700e, 0x02700f) AM_READ_LEGACY(watchdog_reset16_r)
+ AM_RANGE(0x02700e, 0x02700f) AM_READ(watchdog_reset16_r)
AM_RANGE(0xff8000, 0xffafff) AM_RAM AM_BASE(m_vectorram)
AM_RANGE(0xffb000, 0xffb001) AM_WRITE_LEGACY(aztarac_ubr_w)
AM_RANGE(0xffe000, 0xffffff) AM_RAM
diff --git a/src/mame/drivers/badlands.c b/src/mame/drivers/badlands.c
index fe1d89f309c..0a69594e4e3 100644
--- a/src/mame/drivers/badlands.c
+++ b/src/mame/drivers/badlands.c
@@ -386,7 +386,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, badlands_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0xfc0000, 0xfc1fff) AM_READWRITE_LEGACY(sound_busy_r, atarigen_sound_reset_w)
AM_RANGE(0xfd0000, 0xfd1fff) AM_READWRITE_LEGACY(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
- AM_RANGE(0xfe0000, 0xfe1fff) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0xfe0000, 0xfe1fff) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0xfe2000, 0xfe3fff) AM_WRITE_LEGACY(atarigen_video_int_ack_w)
AM_RANGE(0xfe4000, 0xfe5fff) AM_READ_PORT("FE4000")
AM_RANGE(0xfe6000, 0xfe6001) AM_READ_PORT("FE6000")
@@ -653,7 +653,7 @@ static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 16, badlands_state )
AM_RANGE(0xfd0000, 0xfd1fff) AM_READWRITE_LEGACY(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
- //AM_RANGE(0xfe0000, 0xfe1fff) AM_WRITE_LEGACY(watchdog_reset16_w)
+ //AM_RANGE(0xfe0000, 0xfe1fff) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0xfe2000, 0xfe3fff) AM_WRITE_LEGACY(atarigen_video_int_ack_w)
AM_RANGE(0xfec000, 0xfedfff) AM_WRITE_LEGACY(badlands_pf_bank_w)
diff --git a/src/mame/drivers/balsente.c b/src/mame/drivers/balsente.c
index 96e225009dc..8db7ecd92b1 100644
--- a/src/mame/drivers/balsente.c
+++ b/src/mame/drivers/balsente.c
@@ -252,7 +252,7 @@ static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, balsente_state )
AM_RANGE(0x9880, 0x989f) AM_WRITE_LEGACY(balsente_random_reset_w)
AM_RANGE(0x98a0, 0x98bf) AM_WRITE_LEGACY(balsente_rombank_select_w)
AM_RANGE(0x98c0, 0x98df) AM_WRITE_LEGACY(balsente_palette_select_w)
- AM_RANGE(0x98e0, 0x98ff) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x98e0, 0x98ff) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x9900, 0x9900) AM_READ_PORT("SWH")
AM_RANGE(0x9901, 0x9901) AM_READ_PORT("SWG")
AM_RANGE(0x9902, 0x9902) AM_READ_PORT("IN0")
diff --git a/src/mame/drivers/baraduke.c b/src/mame/drivers/baraduke.c
index 7b156cf2e71..a392352ad37 100644
--- a/src/mame/drivers/baraduke.c
+++ b/src/mame/drivers/baraduke.c
@@ -165,7 +165,7 @@ static ADDRESS_MAP_START( baraduke_map, AS_PROGRAM, 8, baraduke_state )
AM_RANGE(0x2000, 0x3fff) AM_READWRITE_LEGACY(baraduke_videoram_r,baraduke_videoram_w) AM_BASE(m_videoram) /* Video RAM */
AM_RANGE(0x4000, 0x43ff) AM_DEVREADWRITE_LEGACY("namco", namcos1_cus30_r,namcos1_cus30_w) /* PSG device, shared RAM */
AM_RANGE(0x4800, 0x4fff) AM_READWRITE_LEGACY(baraduke_textram_r,baraduke_textram_w) AM_BASE(m_textram)/* video RAM (text layer) */
- AM_RANGE(0x8000, 0x8000) AM_WRITE_LEGACY(watchdog_reset_w) /* watchdog reset */
+ AM_RANGE(0x8000, 0x8000) AM_WRITE(watchdog_reset_w) /* watchdog reset */
AM_RANGE(0x8800, 0x8800) AM_WRITE(baraduke_irq_ack_w) /* irq acknowledge */
AM_RANGE(0xb000, 0xb002) AM_WRITE_LEGACY(baraduke_scroll0_w) /* scroll (layer 0) */
AM_RANGE(0xb004, 0xb006) AM_WRITE_LEGACY(baraduke_scroll1_w) /* scroll (layer 1) */
diff --git a/src/mame/drivers/batman.c b/src/mame/drivers/batman.c
index 0634ce02d93..cd3ea7aea11 100644
--- a/src/mame/drivers/batman.c
+++ b/src/mame/drivers/batman.c
@@ -142,7 +142,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, batman_state )
AM_RANGE(0x260040, 0x260041) AM_MIRROR(0x11ff8e) AM_WRITE_LEGACY(atarigen_sound_w)
AM_RANGE(0x260050, 0x260051) AM_MIRROR(0x11ff8e) AM_WRITE_LEGACY(latch_w)
AM_RANGE(0x260060, 0x260061) AM_MIRROR(0x11ff8e) AM_WRITE_LEGACY(atarigen_eeprom_enable_w)
- AM_RANGE(0x2a0000, 0x2a0001) AM_MIRROR(0x11fffe) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x2a0000, 0x2a0001) AM_MIRROR(0x11fffe) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x3e0000, 0x3e0fff) AM_MIRROR(0x100000) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x3effc0, 0x3effff) AM_MIRROR(0x100000) AM_READWRITE_LEGACY(batman_atarivc_r, batman_atarivc_w) AM_BASE(m_atarivc_data)
AM_RANGE(0x3f0000, 0x3f1fff) AM_MIRROR(0x100000) AM_WRITE_LEGACY(atarigen_playfield2_latched_msb_w) AM_BASE(m_playfield2)
diff --git a/src/mame/drivers/battlera.c b/src/mame/drivers/battlera.c
index 7543d18fd84..bfffcc46843 100644
--- a/src/mame/drivers/battlera.c
+++ b/src/mame/drivers/battlera.c
@@ -111,7 +111,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, battlera_state )
AM_RANGE(0x080000, 0x080001) AM_WRITE(battlera_adpcm_data_w)
AM_RANGE(0x1fe800, 0x1fe80f) AM_DEVWRITE_LEGACY("c6280", c6280_w)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank7") /* Main ram */
- AM_RANGE(0x1ff000, 0x1ff001) AM_READ_LEGACY(soundlatch_r) AM_DEVWRITE_LEGACY("msm", battlera_adpcm_reset_w)
+ AM_RANGE(0x1ff000, 0x1ff001) AM_READ(soundlatch_r) AM_DEVWRITE_LEGACY("msm", battlera_adpcm_reset_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/battlnts.c b/src/mame/drivers/battlnts.c
index 86c496bf2ca..775a5277d72 100644
--- a/src/mame/drivers/battlnts.c
+++ b/src/mame/drivers/battlnts.c
@@ -69,8 +69,8 @@ static ADDRESS_MAP_START( battlnts_map, AS_PROGRAM, 8, battlnts_state )
AM_RANGE(0x2e04, 0x2e04) AM_READ_PORT("DSW2")
AM_RANGE(0x2e08, 0x2e08) AM_WRITE(battlnts_bankswitch_w) /* bankswitch control */
AM_RANGE(0x2e0c, 0x2e0c) AM_WRITE_LEGACY(battlnts_spritebank_w) /* sprite bank select */
- AM_RANGE(0x2e10, 0x2e10) AM_WRITE_LEGACY(watchdog_reset_w) /* watchdog reset */
- AM_RANGE(0x2e14, 0x2e14) AM_WRITE_LEGACY(soundlatch_w) /* sound code # */
+ AM_RANGE(0x2e10, 0x2e10) AM_WRITE(watchdog_reset_w) /* watchdog reset */
+ AM_RANGE(0x2e14, 0x2e14) AM_WRITE(soundlatch_w) /* sound code # */
AM_RANGE(0x2e18, 0x2e18) AM_WRITE(battlnts_sh_irqtrigger_w) /* cause interrupt on audio CPU */
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") /* banked ROM */
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM 777e02.bin */
@@ -81,7 +81,7 @@ static ADDRESS_MAP_START( battlnts_sound_map, AS_PROGRAM, 8, battlnts_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ym1", ym3812_r, ym3812_w) /* YM3812 (chip 1) */
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ym2", ym3812_r, ym3812_w) /* YM3812 (chip 2) */
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r) /* soundlatch_r */
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r) /* soundlatch_r */
ADDRESS_MAP_END
/*************************************
diff --git a/src/mame/drivers/bbusters.c b/src/mame/drivers/bbusters.c
index 5f66b8ab800..1c23b5be366 100644
--- a/src/mame/drivers/bbusters.c
+++ b/src/mame/drivers/bbusters.c
@@ -376,7 +376,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, bbusters_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
- AM_RANGE(0xf800, 0xf800) AM_READ_LEGACY(soundlatch_r) AM_WRITE(sound_status_w)
+ AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r) AM_WRITE(sound_status_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, bbusters_state )
diff --git a/src/mame/drivers/beathead.c b/src/mame/drivers/beathead.c
index 0969aac4f44..153e7d432e8 100644
--- a/src/mame/drivers/beathead.c
+++ b/src/mame/drivers/beathead.c
@@ -326,7 +326,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, beathead_state)
AM_RANGE(0x41000400, 0x41000403) AM_WRITEONLY AM_BASE(m_palette_select)
AM_RANGE(0x41000500, 0x41000503) AM_WRITE(eeprom_enable_w)
AM_RANGE(0x41000600, 0x41000603) AM_WRITE(finescroll_w)
- AM_RANGE(0x41000700, 0x41000703) AM_WRITE_LEGACY(watchdog_reset32_w)
+ AM_RANGE(0x41000700, 0x41000703) AM_WRITE(watchdog_reset32_w)
AM_RANGE(0x42000000, 0x4201ffff) AM_RAM_WRITE(palette_w) AM_BASE(m_paletteram)
AM_RANGE(0x43000000, 0x43000007) AM_READWRITE(hsync_ram_r, hsync_ram_w)
AM_RANGE(0x8df80000, 0x8df80003) AM_READNOP /* noisy x4 during scanline int */
diff --git a/src/mame/drivers/bfm_sc1.c b/src/mame/drivers/bfm_sc1.c
index 51308b79ad2..0dafccc276a 100644
--- a/src/mame/drivers/bfm_sc1.c
+++ b/src/mame/drivers/bfm_sc1.c
@@ -695,7 +695,7 @@ static ADDRESS_MAP_START( sc1_base, AS_PROGRAM, 8, bfm_sc1_state )
AM_RANGE(0x2E00, 0x2E00) AM_READ(irqlatch_r) // irq latch
- AM_RANGE(0x3001, 0x3001) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x3001, 0x3001) AM_READ(soundlatch_r)
AM_RANGE(0x3001, 0x3001) AM_DEVWRITE_LEGACY("aysnd", ay8910_data_w)
AM_RANGE(0x3101, 0x3201) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_w)
diff --git a/src/mame/drivers/bfm_sc2.c b/src/mame/drivers/bfm_sc2.c
index c76aaa2d64d..72b546dd356 100644
--- a/src/mame/drivers/bfm_sc2.c
+++ b/src/mame/drivers/bfm_sc2.c
@@ -1462,7 +1462,7 @@ static ADDRESS_MAP_START( sc2_basemap, AS_PROGRAM, 8, bfm_sc2_state )
AM_RANGE(0x232F, 0x232F) AM_WRITE(coininhib_w)
AM_RANGE(0x2330, 0x2330) AM_WRITE(payout_latch_w)
AM_RANGE(0x2331, 0x2331) AM_WRITE(payout_triac_w)
- AM_RANGE(0x2332, 0x2332) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x2332, 0x2332) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x2333, 0x2333) AM_WRITE(mmtr_w)
AM_RANGE(0x2334, 0x2335) AM_WRITE(unknown_w)
AM_RANGE(0x2336, 0x2336) AM_WRITE(dimcnt_w)
diff --git a/src/mame/drivers/bingoc.c b/src/mame/drivers/bingoc.c
index 447d5dd0f6c..58d357d1c77 100644
--- a/src/mame/drivers/bingoc.c
+++ b/src/mame/drivers/bingoc.c
@@ -127,7 +127,7 @@ static ADDRESS_MAP_START( sound_io, AS_IO, 8, bingoc_state )
AM_RANGE(0x40, 0x40) AM_DEVWRITE_LEGACY("upd", bingoc_play_w)
AM_RANGE(0x80, 0x80) AM_DEVWRITE_LEGACY("upd", upd7759_port_w)
#if !SOUND_TEST
- AM_RANGE(0xc0, 0xc0) AM_READ_LEGACY(soundlatch_r) //soundlatch
+ AM_RANGE(0xc0, 0xc0) AM_READ(soundlatch_r) //soundlatch
#else
AM_RANGE(0xc0, 0xc0) AM_READ(sound_test_r)
#endif
diff --git a/src/mame/drivers/bionicc.c b/src/mame/drivers/bionicc.c
index cfcb5ac9db3..71d7776002c 100644
--- a/src/mame/drivers/bionicc.c
+++ b/src/mame/drivers/bionicc.c
@@ -164,7 +164,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, bionicc_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xc000, 0xc7ff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bking.c b/src/mame/drivers/bking.c
index 66145304a37..f66d8c46f7b 100644
--- a/src/mame/drivers/bking.c
+++ b/src/mame/drivers/bking.c
@@ -91,7 +91,7 @@ static ADDRESS_MAP_START( bking_io_map, AS_IO, 8, bking_state )
AM_RANGE(0x04, 0x04) AM_READ_PORT("DSWC") AM_WRITE_LEGACY(bking_xld3_w)
AM_RANGE(0x05, 0x05) AM_READWRITE_LEGACY(bking_input_port_5_r, bking_yld3_w)
AM_RANGE(0x06, 0x06) AM_READWRITE_LEGACY(bking_input_port_6_r, bking_msk_w)
- AM_RANGE(0x07, 0x07) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x07, 0x07) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x08, 0x08) AM_WRITE_LEGACY(bking_cont1_w)
AM_RANGE(0x09, 0x09) AM_WRITE_LEGACY(bking_cont2_w)
AM_RANGE(0x0a, 0x0a) AM_WRITE_LEGACY(bking_cont3_w)
@@ -110,7 +110,7 @@ static ADDRESS_MAP_START( bking3_io_map, AS_IO, 8, bking_state )
AM_RANGE(0x04, 0x04) AM_READ_PORT("DSWC") AM_WRITE_LEGACY(bking_xld3_w)
AM_RANGE(0x05, 0x05) AM_READWRITE_LEGACY(bking_input_port_5_r, bking_yld3_w)
AM_RANGE(0x06, 0x06) AM_READWRITE_LEGACY(bking_input_port_6_r, bking_msk_w)
- AM_RANGE(0x07, 0x07) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x07, 0x07) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x08, 0x08) AM_WRITE_LEGACY(bking_cont1_w)
AM_RANGE(0x09, 0x09) AM_WRITE_LEGACY(bking_cont2_w)
AM_RANGE(0x0a, 0x0a) AM_WRITE_LEGACY(bking_cont3_w)
@@ -133,7 +133,7 @@ static ADDRESS_MAP_START( bking_audio_map, AS_PROGRAM, 8, bking_state )
AM_RANGE(0x4401, 0x4401) AM_DEVREAD_LEGACY("ay1", ay8910_r)
AM_RANGE(0x4402, 0x4403) AM_DEVWRITE_LEGACY("ay2", ay8910_address_data_w)
AM_RANGE(0x4403, 0x4403) AM_DEVREAD_LEGACY("ay2", ay8910_r)
- AM_RANGE(0x4800, 0x4800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x4800, 0x4800) AM_READ(soundlatch_r)
AM_RANGE(0x4802, 0x4802) AM_READWRITE(bking_sndnmi_disable_r, bking_sndnmi_enable_w)
AM_RANGE(0xe000, 0xefff) AM_ROM /* Space for diagnostic ROM */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bladestl.c b/src/mame/drivers/bladestl.c
index 63662590fb5..f85f0121a36 100644
--- a/src/mame/drivers/bladestl.c
+++ b/src/mame/drivers/bladestl.c
@@ -130,7 +130,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bladestl_state )
AM_RANGE(0x2e03, 0x2e03) AM_READ_PORT("DSW2") /* DISPW #2 */
AM_RANGE(0x2e40, 0x2e40) AM_READ_PORT("DSW1") /* DIPSW #1 */
AM_RANGE(0x2e80, 0x2e80) AM_WRITE(bladestl_sh_irqtrigger_w) /* cause interrupt on audio CPU */
- AM_RANGE(0x2ec0, 0x2ec0) AM_WRITE_LEGACY(watchdog_reset_w) /* watchdog reset */
+ AM_RANGE(0x2ec0, 0x2ec0) AM_WRITE(watchdog_reset_w) /* watchdog reset */
AM_RANGE(0x2f00, 0x2f03) AM_READ(trackball_r) /* Trackballs */
AM_RANGE(0x2f40, 0x2f40) AM_WRITE(bladestl_bankswitch_w) /* bankswitch control */
AM_RANGE(0x2f80, 0x2f9f) AM_DEVREADWRITE_LEGACY("k051733", k051733_r, k051733_w) /* Protection: 051733 */
@@ -146,7 +146,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, bladestl_state )
AM_RANGE(0x3000, 0x3000) AM_DEVWRITE_LEGACY("upd", bladestl_speech_ctrl_w) /* UPD7759 */
AM_RANGE(0x4000, 0x4000) AM_DEVREAD_LEGACY("upd", bladestl_speech_busy_r) /* UPD7759 */
AM_RANGE(0x5000, 0x5000) AM_WRITENOP /* ??? */
- AM_RANGE(0x6000, 0x6000) AM_READ_LEGACY(soundlatch_r) /* soundlatch_r */
+ AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r) /* soundlatch_r */
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/blktiger.c b/src/mame/drivers/blktiger.c
index 7e0dc142463..5d5eddb83bd 100644
--- a/src/mame/drivers/blktiger.c
+++ b/src/mame/drivers/blktiger.c
@@ -80,13 +80,13 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( blktiger_io_map, AS_IO, 8, blktiger_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(soundlatch_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_WRITE(blktiger_bankswitch_w)
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2")
AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW0") AM_WRITE(blktiger_coinlockout_w)
AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW1") AM_WRITE_LEGACY(blktiger_video_control_w)
AM_RANGE(0x05, 0x05) AM_READ_PORT("FREEZE")
- AM_RANGE(0x06, 0x06) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x07, 0x07) AM_READWRITE(blktiger_from_mcu_r,blktiger_to_mcu_w) /* Software protection (7) */
AM_RANGE(0x08, 0x09) AM_WRITE_LEGACY(blktiger_scrollx_w)
AM_RANGE(0x0a, 0x0b) AM_WRITE_LEGACY(blktiger_scrolly_w)
@@ -97,13 +97,13 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( blktigerbl_io_map, AS_IO, 8, blktiger_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(soundlatch_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_WRITE(blktiger_bankswitch_w)
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2")
AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW0") AM_WRITE(blktiger_coinlockout_w)
AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW1") AM_WRITE_LEGACY(blktiger_video_control_w)
AM_RANGE(0x05, 0x05) AM_READ_PORT("FREEZE")
- AM_RANGE(0x06, 0x06) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x07, 0x07) AM_NOP /* Software protection (7) */
AM_RANGE(0x08, 0x09) AM_WRITE_LEGACY(blktiger_scrollx_w)
AM_RANGE(0x0a, 0x0b) AM_WRITE_LEGACY(blktiger_scrolly_w)
@@ -115,7 +115,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( blktiger_sound_map, AS_PROGRAM, 8, blktiger_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xc800, 0xc800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc800, 0xc800) AM_READ(soundlatch_r)
AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r, ym2203_w)
AM_RANGE(0xe002, 0xe003) AM_DEVREADWRITE_LEGACY("ym2", ym2203_r, ym2203_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/blockhl.c b/src/mame/drivers/blockhl.c
index 7675181be32..49a6b92904e 100644
--- a/src/mame/drivers/blockhl.c
+++ b/src/mame/drivers/blockhl.c
@@ -92,9 +92,9 @@ WRITE8_MEMBER(blockhl_state::k052109_051960_w)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, blockhl_state )
- AM_RANGE(0x1f84, 0x1f84) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x1f84, 0x1f84) AM_WRITE(soundlatch_w)
AM_RANGE(0x1f88, 0x1f88) AM_WRITE(blockhl_sh_irqtrigger_w)
- AM_RANGE(0x1f8c, 0x1f8c) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x1f8c, 0x1f8c) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1f94, 0x1f94) AM_READ_PORT("DSW3")
AM_RANGE(0x1f95, 0x1f95) AM_READ_PORT("P1")
AM_RANGE(0x1f96, 0x1f96) AM_READ_PORT("P2")
@@ -110,7 +110,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, blockhl_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xe00c, 0xe00d) AM_WRITENOP /* leftover from missing 007232? */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/blockout.c b/src/mame/drivers/blockout.c
index 72264a1e304..1a41b27a961 100644
--- a/src/mame/drivers/blockout.c
+++ b/src/mame/drivers/blockout.c
@@ -147,7 +147,7 @@ static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, blockout_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/blstroid.c b/src/mame/drivers/blstroid.c
index 5bd180c475a..88a1639b508 100644
--- a/src/mame/drivers/blstroid.c
+++ b/src/mame/drivers/blstroid.c
@@ -94,7 +94,7 @@ static READ16_HANDLER( inputs_r )
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, blstroid_state )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_MIRROR(0x7c0000) AM_ROM
- AM_RANGE(0xff8000, 0xff8001) AM_MIRROR(0x7f81fe) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0xff8000, 0xff8001) AM_MIRROR(0x7f81fe) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0xff8200, 0xff8201) AM_MIRROR(0x7f81fe) AM_WRITE_LEGACY(atarigen_scanline_int_ack_w)
AM_RANGE(0xff8400, 0xff8401) AM_MIRROR(0x7f81fe) AM_WRITE_LEGACY(atarigen_video_int_ack_w)
AM_RANGE(0xff8600, 0xff8601) AM_MIRROR(0x7f81fe) AM_WRITE_LEGACY(atarigen_eeprom_enable_w)
diff --git a/src/mame/drivers/blueprnt.c b/src/mame/drivers/blueprnt.c
index 45cd7e2164e..ec1eb8a43ff 100644
--- a/src/mame/drivers/blueprnt.c
+++ b/src/mame/drivers/blueprnt.c
@@ -96,7 +96,7 @@ static ADDRESS_MAP_START( blueprnt_map, AS_PROGRAM, 8, blueprnt_state )
AM_RANGE(0xc001, 0xc001) AM_READ_PORT("P2")
AM_RANGE(0xc003, 0xc003) AM_READ(blueprnt_sh_dipsw_r)
AM_RANGE(0xd000, 0xd000) AM_WRITE(blueprnt_sound_command_w)
- AM_RANGE(0xe000, 0xe000) AM_READWRITE_LEGACY(watchdog_reset_r, blueprnt_flipscreen_w)
+ AM_RANGE(0xe000, 0xe000) AM_READ(watchdog_reset_r) AM_WRITE_LEGACY(blueprnt_flipscreen_w)
AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE_LEGACY(blueprnt_colorram_w) AM_BASE(m_colorram)
ADDRESS_MAP_END
@@ -254,7 +254,7 @@ static const ay8910_interface ay8910_interface_1 =
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
DEVCB_NULL,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_HANDLER(dipsw_w),
DEVCB_NULL
};
diff --git a/src/mame/drivers/boogwing.c b/src/mame/drivers/boogwing.c
index 8b46a693d6e..6ecb54bd12a 100644
--- a/src/mame/drivers/boogwing.c
+++ b/src/mame/drivers/boogwing.c
@@ -134,7 +134,7 @@ static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, boogwing_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
- AM_RANGE(0x140000, 0x140001) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
diff --git a/src/mame/drivers/bottom9.c b/src/mame/drivers/bottom9.c
index 6307570b8b9..b883a791fbf 100644
--- a/src/mame/drivers/bottom9.c
+++ b/src/mame/drivers/bottom9.c
@@ -168,8 +168,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bottom9_state )
AM_RANGE(0x0000, 0x07ff) AM_READWRITE(bottom9_bankedram1_r, bottom9_bankedram1_w)
AM_RANGE(0x1f80, 0x1f80) AM_WRITE(bankswitch_w)
AM_RANGE(0x1f90, 0x1f90) AM_WRITE(bottom9_1f90_w)
- AM_RANGE(0x1fa0, 0x1fa0) AM_WRITE_LEGACY(watchdog_reset_w)
- AM_RANGE(0x1fb0, 0x1fb0) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x1fa0, 0x1fa0) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0x1fb0, 0x1fb0) AM_WRITE(soundlatch_w)
AM_RANGE(0x1fc0, 0x1fc0) AM_WRITE(bottom9_sh_irqtrigger_w)
AM_RANGE(0x1fd0, 0x1fd0) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1fd1, 0x1fd1) AM_READ_PORT("P1")
@@ -190,7 +190,7 @@ static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, bottom9_state )
AM_RANGE(0x9000, 0x9000) AM_WRITE(sound_bank_w)
AM_RANGE(0xa000, 0xa00d) AM_DEVREADWRITE_LEGACY("k007232_1", k007232_r, k007232_w)
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("k007232_2", k007232_r, k007232_w)
- AM_RANGE(0xd000, 0xd000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r)
AM_RANGE(0xf000, 0xf000) AM_WRITE(nmi_enable_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/boxer.c b/src/mame/drivers/boxer.c
index 30acd34be9a..49a4b0dc278 100644
--- a/src/mame/drivers/boxer.c
+++ b/src/mame/drivers/boxer.c
@@ -307,7 +307,7 @@ static ADDRESS_MAP_START( boxer_map, AS_PROGRAM, 8, boxer_state )
AM_RANGE(0x1c00, 0x1cff) AM_WRITE(boxer_irq_reset_w)
AM_RANGE(0x1d00, 0x1dff) AM_WRITE(boxer_bell_w)
AM_RANGE(0x1e00, 0x1eff) AM_WRITEONLY AM_BASE(m_sprite_ram)
- AM_RANGE(0x1f00, 0x1fff) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x1f00, 0x1fff) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x3000, 0x3fff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/brkthru.c b/src/mame/drivers/brkthru.c
index cafff15615e..dbeae3a290e 100644
--- a/src/mame/drivers/brkthru.c
+++ b/src/mame/drivers/brkthru.c
@@ -151,7 +151,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, brkthru_state )
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE_LEGACY("ym2", ym3526_w)
- AM_RANGE(0x4000, 0x4000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x4000, 0x4000) AM_READ(soundlatch_r)
AM_RANGE(0x6000, 0x6001) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r, ym2203_w)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/btime.c b/src/mame/drivers/btime.c
index c0bdba8e233..795e3d58d5b 100644
--- a/src/mame/drivers/btime.c
+++ b/src/mame/drivers/btime.c
@@ -511,7 +511,7 @@ static ADDRESS_MAP_START( disco_audio_map, AS_PROGRAM, 8, btime_state )
AM_RANGE(0x5000, 0x5fff) AM_DEVWRITE_LEGACY("ay1", ay8910_address_w)
AM_RANGE(0x6000, 0x6fff) AM_DEVWRITE_LEGACY("ay2", ay8910_data_w)
AM_RANGE(0x7000, 0x7fff) AM_DEVWRITE_LEGACY("ay2", ay8910_address_w)
- AM_RANGE(0x8000, 0x8fff) AM_READ_LEGACY(soundlatch_r) AM_WRITENOP /* ack ? */
+ AM_RANGE(0x8000, 0x8fff) AM_READ(soundlatch_r) AM_WRITENOP /* ack ? */
AM_RANGE(0xf000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bublbobl.c b/src/mame/drivers/bublbobl.c
index 62e3a89a073..47d43cb2a3c 100644
--- a/src/mame/drivers/bublbobl.c
+++ b/src/mame/drivers/bublbobl.c
@@ -293,7 +293,7 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, bublbobl_state )
AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram")
AM_RANGE(0xfa00, 0xfa00) AM_READWRITE_LEGACY(bublbobl_sound_status_r, bublbobl_sound_command_w)
AM_RANGE(0xfa03, 0xfa03) AM_WRITE_LEGACY(bublbobl_soundcpu_reset_w)
- AM_RANGE(0xfa80, 0xfa80) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xfa80, 0xfa80) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xfb40, 0xfb40) AM_WRITE_LEGACY(bublbobl_bankswitch_w)
AM_RANGE(0xfc00, 0xffff) AM_RAM AM_BASE(m_mcu_sharedram)
ADDRESS_MAP_END
@@ -308,7 +308,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, bublbobl_state )
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r, ym2203_w)
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ym2", ym3526_r, ym3526_w)
- AM_RANGE(0xb000, 0xb000) AM_READWRITE_LEGACY(soundlatch_r, bublbobl_sound_status_w)
+ AM_RANGE(0xb000, 0xb000) AM_READ(soundlatch_r) AM_WRITE_LEGACY(bublbobl_sound_status_w)
AM_RANGE(0xb001, 0xb001) AM_WRITE_LEGACY(bublbobl_sh_nmi_enable_w) AM_READNOP
AM_RANGE(0xb002, 0xb002) AM_WRITE_LEGACY(bublbobl_sh_nmi_disable_w)
AM_RANGE(0xe000, 0xffff) AM_ROM // space for diagnostic ROM?
@@ -371,7 +371,7 @@ static ADDRESS_MAP_START( tokio_map, AS_PROGRAM, 8, bublbobl_state )
AM_RANGE(0xdd00, 0xdfff) AM_RAM AM_BASE_SIZE(m_objectram, m_objectram_size)
AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE("share1")
AM_RANGE(0xf800, 0xf9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram")
- AM_RANGE(0xfa00, 0xfa00) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xfa00, 0xfa00) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xfa03, 0xfa03) AM_READ_PORT("DSW0")
AM_RANGE(0xfa04, 0xfa04) AM_READ_PORT("DSW1")
AM_RANGE(0xfa05, 0xfa05) AM_READ_PORT("IN0")
@@ -392,7 +392,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tokio_sound_map, AS_PROGRAM, 8, bublbobl_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
- AM_RANGE(0x9000, 0x9000) AM_READWRITE_LEGACY(soundlatch_r, bublbobl_sound_status_w)
+ AM_RANGE(0x9000, 0x9000) AM_READ(soundlatch_r) AM_WRITE_LEGACY(bublbobl_sound_status_w)
AM_RANGE(0x9800, 0x9800) AM_READNOP // ???
AM_RANGE(0xa000, 0xa000) AM_WRITE_LEGACY(bublbobl_sh_nmi_disable_w)
AM_RANGE(0xa800, 0xa800) AM_WRITE_LEGACY(bublbobl_sh_nmi_enable_w)
diff --git a/src/mame/drivers/buggychl.c b/src/mame/drivers/buggychl.c
index 7634ad26add..d0c808193cf 100644
--- a/src/mame/drivers/buggychl.c
+++ b/src/mame/drivers/buggychl.c
@@ -139,7 +139,7 @@ static ADDRESS_MAP_START( buggychl_map, AS_PROGRAM, 8, buggychl_state )
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_BASE_SIZE(m_videoram, m_videoram_size)
AM_RANGE(0xd100, 0xd100) AM_WRITE_LEGACY(buggychl_ctrl_w)
AM_RANGE(0xd200, 0xd200) AM_WRITE(bankswitch_w)
- AM_RANGE(0xd300, 0xd300) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xd300, 0xd300) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xd303, 0xd303) AM_WRITE_LEGACY(buggychl_sprite_lookup_bank_w)
AM_RANGE(0xd400, 0xd400) AM_DEVREADWRITE_LEGACY("bmcu", buggychl_mcu_r, buggychl_mcu_w)
AM_RANGE(0xd401, 0xd401) AM_DEVREAD_LEGACY("bmcu", buggychl_mcu_status_r)
@@ -169,7 +169,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, buggychl_state )
AM_RANGE(0x4810, 0x481d) AM_DEVWRITE_LEGACY("msm", msm5232_w)
AM_RANGE(0x4820, 0x4820) AM_RAM /* VOL/BAL for the 7630 on the MSM5232 output */
AM_RANGE(0x4830, 0x4830) AM_RAM /* TRBL/BASS for the 7630 on the MSM5232 output */
- AM_RANGE(0x5000, 0x5000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x5000, 0x5000) AM_READ(soundlatch_r)
// AM_RANGE(0x5001, 0x5001) AM_READNOP /* is command pending? */
AM_RANGE(0x5001, 0x5001) AM_WRITE(nmi_enable_w)
AM_RANGE(0x5002, 0x5002) AM_WRITE(nmi_disable_w)
diff --git a/src/mame/drivers/bwing.c b/src/mame/drivers/bwing.c
index 202f954776a..f3dcb395395 100644
--- a/src/mame/drivers/bwing.c
+++ b/src/mame/drivers/bwing.c
@@ -178,7 +178,7 @@ static ADDRESS_MAP_START( bwp3_map, AS_PROGRAM, 8, bwing_state )
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE_LEGACY("ay1", ay8910_address_w)
AM_RANGE(0x6000, 0x6000) AM_DEVWRITE_LEGACY("ay2", ay8910_data_w)
AM_RANGE(0x8000, 0x8000) AM_DEVWRITE_LEGACY("ay2", ay8910_address_w)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xd000, 0xd000) AM_WRITE(bwp3_nmimask_w)
AM_RANGE(0xe000, 0xffff) AM_ROM AM_BASE_SIZE(m_bwp3_rombase, m_bwp3_romsize)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bzone.c b/src/mame/drivers/bzone.c
index 2a1fd0e8906..f61594d479e 100644
--- a/src/mame/drivers/bzone.c
+++ b/src/mame/drivers/bzone.c
@@ -304,7 +304,7 @@ static ADDRESS_MAP_START( bzone_map, AS_PROGRAM, 8, bzone_state )
AM_RANGE(0x0c00, 0x0c00) AM_READ_PORT("DSW1")
AM_RANGE(0x1000, 0x1000) AM_WRITE(bzone_coin_counter_w)
AM_RANGE(0x1200, 0x1200) AM_WRITE_LEGACY(avgdvg_go_w)
- AM_RANGE(0x1400, 0x1400) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x1400, 0x1400) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1600, 0x1600) AM_WRITE_LEGACY(avgdvg_reset_w)
AM_RANGE(0x1800, 0x1800) AM_DEVREAD_LEGACY("mathbox", mathbox_status_r)
AM_RANGE(0x1810, 0x1810) AM_DEVREAD_LEGACY("mathbox", mathbox_lo_r)
@@ -324,7 +324,7 @@ static ADDRESS_MAP_START( redbaron_map, AS_PROGRAM, 8, bzone_state )
AM_RANGE(0x0c00, 0x0c00) AM_READ_PORT("DSW1")
AM_RANGE(0x1000, 0x1000) AM_WRITENOP /* coin out */
AM_RANGE(0x1200, 0x1200) AM_WRITE_LEGACY(avgdvg_go_w)
- AM_RANGE(0x1400, 0x1400) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x1400, 0x1400) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1600, 0x1600) AM_WRITE_LEGACY(avgdvg_reset_w)
AM_RANGE(0x1800, 0x1800) AM_DEVREAD_LEGACY("mathbox", mathbox_status_r)
AM_RANGE(0x1802, 0x1802) AM_READ_PORT("IN4")
diff --git a/src/mame/drivers/cabal.c b/src/mame/drivers/cabal.c
index 472ff890e20..ab80c997e11 100644
--- a/src/mame/drivers/cabal.c
+++ b/src/mame/drivers/cabal.c
@@ -150,7 +150,7 @@ static ADDRESS_MAP_START( cabalbl_main_map, AS_PROGRAM, 16, cabal_state )
AM_RANGE(0xc0080, 0xc0081) AM_WRITE_LEGACY(cabal_flipscreen_w)
AM_RANGE(0xe0000, 0xe07ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0xe8000, 0xe8003) AM_WRITE(cabalbl_sndcmd_w)
- AM_RANGE(0xe8004, 0xe8005) AM_READ_LEGACY(soundlatch2_word_r)
+ AM_RANGE(0xe8004, 0xe8005) AM_READ(soundlatch2_word_r)
AM_RANGE(0xe8008, 0xe8009) AM_WRITE(cabalbl_sound_irq_trigger_word_w)
ADDRESS_MAP_END
@@ -199,13 +199,13 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cabalbl_sound_map, AS_PROGRAM, 8, cabal_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x2fff) AM_RAM
- AM_RANGE(0x4000, 0x4000) AM_WRITE_LEGACY(soundlatch3_w)
- AM_RANGE(0x4002, 0x4002) AM_WRITE_LEGACY(soundlatch4_w)
+ AM_RANGE(0x4000, 0x4000) AM_WRITE(soundlatch3_w)
+ AM_RANGE(0x4002, 0x4002) AM_WRITE(soundlatch4_w)
AM_RANGE(0x4004, 0x4004) AM_WRITE(cabalbl_coin_w)
AM_RANGE(0x4006, 0x4006) AM_READ_PORT("COIN")
AM_RANGE(0x4008, 0x4008) AM_READ(cabalbl_snd2_r)
AM_RANGE(0x400a, 0x400a) AM_READ(cabalbl_snd1_r)
- AM_RANGE(0x400c, 0x400c) AM_WRITE_LEGACY(soundlatch2_w)
+ AM_RANGE(0x400c, 0x400c) AM_WRITE(soundlatch2_w)
AM_RANGE(0x400e, 0x400f) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x6000, 0x6000) AM_WRITENOP /* ??? */
AM_RANGE(0x8000, 0xffff) AM_ROM
@@ -228,7 +228,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cabalbl_talk1_portmap, AS_IO, 8, cabal_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch3_r)
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch3_r)
AM_RANGE(0x01, 0x01) AM_DEVWRITE_LEGACY("msm1", cabalbl_adpcm_w)
ADDRESS_MAP_END
@@ -238,7 +238,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cabalbl_talk2_portmap, AS_IO, 8, cabal_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch4_r)
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch4_r)
AM_RANGE(0x01, 0x01) AM_DEVWRITE_LEGACY("msm2", cabalbl_adpcm_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/calorie.c b/src/mame/drivers/calorie.c
index 50ddacf4f40..1f9c46835c8 100644
--- a/src/mame/drivers/calorie.c
+++ b/src/mame/drivers/calorie.c
@@ -253,7 +253,7 @@ static ADDRESS_MAP_START( calorie_map, AS_PROGRAM, 8, calorie_state )
AM_RANGE(0xf002, 0xf002) AM_READ_PORT("SYSTEM")
AM_RANGE(0xf004, 0xf004) AM_READ_PORT("DSW1") AM_WRITE(calorie_flipscreen_w)
AM_RANGE(0xf005, 0xf005) AM_READ_PORT("DSW2")
- AM_RANGE(0xf800, 0xf800) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xf800, 0xf800) AM_WRITE(soundlatch_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/canyon.c b/src/mame/drivers/canyon.c
index a617289d8e9..26b6537f075 100644
--- a/src/mame/drivers/canyon.c
+++ b/src/mame/drivers/canyon.c
@@ -110,7 +110,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, canyon_state )
AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0x100) AM_RAM
AM_RANGE(0x0400, 0x0401) AM_DEVWRITE_LEGACY("discrete", canyon_motor_w)
AM_RANGE(0x0500, 0x0500) AM_DEVWRITE_LEGACY("discrete", canyon_explode_w)
- AM_RANGE(0x0501, 0x0501) AM_WRITE_LEGACY(watchdog_reset_w) /* watchdog, disabled in service mode */
+ AM_RANGE(0x0501, 0x0501) AM_WRITE(watchdog_reset_w) /* watchdog, disabled in service mode */
AM_RANGE(0x0600, 0x0603) AM_DEVWRITE_LEGACY("discrete", canyon_whistle_w)
AM_RANGE(0x0680, 0x0683) AM_WRITE(canyon_led_w)
AM_RANGE(0x0700, 0x0703) AM_DEVWRITE_LEGACY("discrete", canyon_attract_w)
diff --git a/src/mame/drivers/capbowl.c b/src/mame/drivers/capbowl.c
index 21be9bddd85..aa08c83de9f 100644
--- a/src/mame/drivers/capbowl.c
+++ b/src/mame/drivers/capbowl.c
@@ -264,7 +264,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, capbowl_state )
AM_RANGE(0x1000, 0x1001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
AM_RANGE(0x2000, 0x2000) AM_WRITENOP /* Not hooked up according to the schematics */
AM_RANGE(0x6000, 0x6000) AM_DEVWRITE_LEGACY("dac", dac_w)
- AM_RANGE(0x7000, 0x7000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x7000, 0x7000) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/carjmbre.c b/src/mame/drivers/carjmbre.c
index 15bffba11bf..244d4407636 100644
--- a/src/mame/drivers/carjmbre.c
+++ b/src/mame/drivers/carjmbre.c
@@ -71,7 +71,7 @@ static ADDRESS_MAP_START( carjmbre_map, AS_PROGRAM, 8, carjmbre_state )
AM_RANGE(0x9800, 0x985f) AM_MIRROR(0x80) AM_WRITEONLY AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1")
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("P2")
- AM_RANGE(0xb800, 0xb800) AM_READ_PORT("DSW") AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xb800, 0xb800) AM_READ_PORT("DSW") AM_WRITE(soundlatch_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( carjmbre_sound_map, AS_PROGRAM, 8, carjmbre_state )
@@ -82,7 +82,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( carjmbre_sound_io_map, AS_IO, 8, carjmbre_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r)
AM_RANGE(0x10, 0x10) AM_WRITENOP //?? written on init/0xff sound command reset
AM_RANGE(0x20, 0x21) AM_DEVWRITE_LEGACY("ay1", ay8910_address_data_w)
AM_RANGE(0x22, 0x22) AM_WRITENOP //?? written before and after 0x21 with same value
diff --git a/src/mame/drivers/cave.c b/src/mame/drivers/cave.c
index 385f11b7eaf..11042d389d9 100644
--- a/src/mame/drivers/cave.c
+++ b/src/mame/drivers/cave.c
@@ -577,7 +577,7 @@ static ADDRESS_MAP_START( gaia_map, AS_PROGRAM, 16, cave_state )
AM_RANGE(0xd00010, 0xd00011) AM_WRITE(gaia_coin_lsb_w) // Coin counter only
AM_RANGE(0xd00012, 0xd00013) AM_READ_PORT("IN1") // Inputs
AM_RANGE(0xd00014, 0xd00015) AM_READ_PORT("DSW") // Dips
- AM_RANGE(0xd00014, 0xd00015) AM_WRITE_LEGACY(watchdog_reset16_w) // Watchdog?
+ AM_RANGE(0xd00014, 0xd00015) AM_WRITE(watchdog_reset16_w) // Watchdog?
ADDRESS_MAP_END
@@ -749,7 +749,7 @@ static ADDRESS_MAP_START( mazinger_map, AS_PROGRAM, 16, cave_state )
/**/AM_RANGE(0x200000, 0x207fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
/**/AM_RANGE(0x208000, 0x20ffff) AM_RAM AM_BASE(m_spriteram_2) // Sprites?
AM_RANGE(0x300000, 0x300007) AM_READ(cave_irq_cause_r) // IRQ Cause
- AM_RANGE(0x300068, 0x300069) AM_WRITE_LEGACY(watchdog_reset16_w) // Watchdog
+ AM_RANGE(0x300068, 0x300069) AM_WRITE(watchdog_reset16_w) // Watchdog
AM_RANGE(0x30006e, 0x30006f) AM_READWRITE(soundlatch_ack_r, sound_cmd_w) // From Sound CPU
AM_RANGE(0x300000, 0x30007f) AM_WRITEONLY AM_BASE(m_videoregs) // Video Regs
AM_RANGE(0x400000, 0x407fff) AM_RAM_WRITE_LEGACY(cave_vram_1_8x8_w) AM_BASE(m_vram[1]) // Layer 1
@@ -773,7 +773,7 @@ static ADDRESS_MAP_START( metmqstr_map, AS_PROGRAM, 16, cave_state )
AM_RANGE(0x100000, 0x17ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x27ffff) AM_ROM // ROM
AM_RANGE(0x408000, 0x408fff) AM_RAM AM_BASE_SIZE(m_paletteram, m_paletteram_size) // Palette
- AM_RANGE(0x600000, 0x600001) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog?
+ AM_RANGE(0x600000, 0x600001) AM_READ(watchdog_reset16_r) // Watchdog?
AM_RANGE(0x880000, 0x887fff) AM_RAM_WRITE_LEGACY(cave_vram_2_w) AM_BASE(m_vram[2]) // Layer 2
AM_RANGE(0x888000, 0x88ffff) AM_RAM //
AM_RANGE(0x900000, 0x907fff) AM_RAM_WRITE_LEGACY(cave_vram_1_w) AM_BASE(m_vram[1]) // Layer 1
@@ -781,7 +781,7 @@ static ADDRESS_MAP_START( metmqstr_map, AS_PROGRAM, 16, cave_state )
AM_RANGE(0x980000, 0x987fff) AM_RAM_WRITE_LEGACY(cave_vram_0_w) AM_BASE(m_vram[0]) // Layer 0
AM_RANGE(0x988000, 0x98ffff) AM_RAM //
AM_RANGE(0xa80000, 0xa80007) AM_READ(cave_irq_cause_r) // IRQ Cause
- AM_RANGE(0xa80068, 0xa80069) AM_WRITE_LEGACY(watchdog_reset16_w) // Watchdog?
+ AM_RANGE(0xa80068, 0xa80069) AM_WRITE(watchdog_reset16_w) // Watchdog?
AM_RANGE(0xa8006c, 0xa8006d) AM_READ(soundflags_ack_r) AM_WRITENOP // Communication
AM_RANGE(0xa8006e, 0xa8006f) AM_READWRITE(soundlatch_ack_r, sound_cmd_w) // From Sound CPU
AM_RANGE(0xa80000, 0xa8007f) AM_WRITEONLY AM_BASE(m_videoregs) // Video Regs
@@ -952,7 +952,7 @@ static ADDRESS_MAP_START( tjumpman_map, AS_PROGRAM, 16, cave_state )
AM_RANGE(0x600000, 0x600001) AM_READ_PORT("IN0") // Inputs + EEPROM + Hopper
AM_RANGE(0x600002, 0x600003) AM_READ_PORT("IN1") // Inputs
AM_RANGE(0x700000, 0x700007) AM_READ(cave_irq_cause_r) // IRQ Cause
- AM_RANGE(0x700068, 0x700069) AM_WRITE_LEGACY(watchdog_reset16_w) // Watchdog
+ AM_RANGE(0x700068, 0x700069) AM_WRITE(watchdog_reset16_w) // Watchdog
AM_RANGE(0x700000, 0x70007f) AM_WRITEONLY AM_BASE(m_videoregs) // Video Regs
AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff) // M6295
AM_RANGE(0xc00000, 0xc00001) AM_WRITE(tjumpman_leds_w) // Leds + Hopper
@@ -987,7 +987,7 @@ static ADDRESS_MAP_START( pacslot_map, AS_PROGRAM, 16, cave_state )
AM_RANGE(0x208000, 0x20ffff) AM_RAM AM_BASE(m_spriteram_2) // Sprite bank 2
AM_RANGE(0x300000, 0x307fff) AM_RAM_WRITE_LEGACY(cave_vram_0_w) AM_BASE(m_vram[0]) // Layer 0
AM_RANGE(0x400000, 0x400007) AM_READ(cave_irq_cause_r) // IRQ Cause
- AM_RANGE(0x400068, 0x400069) AM_WRITE_LEGACY(watchdog_reset16_w) // Watchdog
+ AM_RANGE(0x400068, 0x400069) AM_WRITE(watchdog_reset16_w) // Watchdog
AM_RANGE(0x400000, 0x40007f) AM_WRITEONLY AM_BASE(m_videoregs) // Video Regs
AM_RANGE(0x500000, 0x500005) AM_WRITEONLY AM_BASE(m_vctrl[0]) // Layer 0 Control
AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_BASE_SIZE(m_paletteram, m_paletteram_size) // Palette
diff --git a/src/mame/drivers/cbuster.c b/src/mame/drivers/cbuster.c
index 9962b3a6007..5dd73fca2ad 100644
--- a/src/mame/drivers/cbuster.c
+++ b/src/mame/drivers/cbuster.c
@@ -133,7 +133,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cbuster_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ym2", ym2151_r, ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
- AM_RANGE(0x140000, 0x140001) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
diff --git a/src/mame/drivers/ccastles.c b/src/mame/drivers/ccastles.c
index 2260fd661c3..941f83b3619 100644
--- a/src/mame/drivers/ccastles.c
+++ b/src/mame/drivers/ccastles.c
@@ -340,7 +340,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, ccastles_state )
AM_RANGE(0x9c80, 0x9cff) AM_WRITE_LEGACY(ccastles_hscroll_w)
AM_RANGE(0x9d00, 0x9d7f) AM_WRITE_LEGACY(ccastles_vscroll_w)
AM_RANGE(0x9d80, 0x9dff) AM_WRITE(irq_ack_w)
- AM_RANGE(0x9e00, 0x9e7f) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x9e00, 0x9e7f) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x9e80, 0x9e81) AM_MIRROR(0x0078) AM_WRITE(led_w)
AM_RANGE(0x9e82, 0x9e83) AM_MIRROR(0x0078) AM_WRITE(nvram_store_w)
AM_RANGE(0x9e85, 0x9e86) AM_MIRROR(0x0078) AM_WRITE(ccounter_w)
diff --git a/src/mame/drivers/cchasm.c b/src/mame/drivers/cchasm.c
index e26066a43e4..4545bbbccd6 100644
--- a/src/mame/drivers/cchasm.c
+++ b/src/mame/drivers/cchasm.c
@@ -36,7 +36,7 @@ static ADDRESS_MAP_START( memmap, AS_PROGRAM, 16, cchasm_state )
AM_RANGE(0x040000, 0x04000f) AM_DEVREADWRITE8("6840ptm", ptm6840_device, read, write, 0xff)
AM_RANGE(0x050000, 0x050001) AM_WRITE_LEGACY(cchasm_refresh_control_w)
AM_RANGE(0x060000, 0x060001) AM_READ_PORT("DSW") AM_WRITE_LEGACY(cchasm_led_w)
- AM_RANGE(0x070000, 0x070001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x070000, 0x070001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0xf80000, 0xf800ff) AM_READWRITE_LEGACY(cchasm_io_r,cchasm_io_w)
AM_RANGE(0xffb000, 0xffffff) AM_RAM AM_BASE(m_ram)
ADDRESS_MAP_END
@@ -56,7 +56,7 @@ static ADDRESS_MAP_START( sound_memmap, AS_PROGRAM, 8, cchasm_state )
AM_RANGE(0x6001, 0x6001) AM_MIRROR(0xf9e) AM_DEVREAD_LEGACY("ay1", ay8910_r)
AM_RANGE(0x6020, 0x6021) AM_MIRROR(0xf9e) AM_DEVWRITE_LEGACY("ay2", ay8910_address_data_w)
AM_RANGE(0x6021, 0x6021) AM_MIRROR(0xf9e) AM_DEVREAD_LEGACY("ay2", ay8910_r)
- AM_RANGE(0x6040, 0x6040) AM_MIRROR(0xf9e) AM_READWRITE_LEGACY(soundlatch_r, soundlatch3_w)
+ AM_RANGE(0x6040, 0x6040) AM_MIRROR(0xf9e) AM_READWRITE(soundlatch_r, soundlatch3_w)
AM_RANGE(0x6041, 0x6041) AM_MIRROR(0xf9e) AM_READWRITE_LEGACY(cchasm_soundlatch2_r, cchasm_soundlatch4_w)
AM_RANGE(0x6061, 0x6061) AM_MIRROR(0xf9e) AM_WRITE_LEGACY(cchasm_reset_coin_flag_w)
AM_RANGE(0x7041, 0x7041) AM_NOP // TODO
diff --git a/src/mame/drivers/cclimber.c b/src/mame/drivers/cclimber.c
index 38810ccb7da..ecfcb23d9f8 100644
--- a/src/mame/drivers/cclimber.c
+++ b/src/mame/drivers/cclimber.c
@@ -399,7 +399,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( swimmer_audio_map, AS_PROGRAM, 8, cclimber_state )
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
- AM_RANGE(0x3000, 0x3000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r)
AM_RANGE(0x4000, 0x4001) AM_RAM /* ??? */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/centiped.c b/src/mame/drivers/centiped.c
index 2f82b67100d..c5044899953 100644
--- a/src/mame/drivers/centiped.c
+++ b/src/mame/drivers/centiped.c
@@ -701,7 +701,7 @@ static ADDRESS_MAP_START( centiped_map, AS_PROGRAM, 8, centiped_state )
AM_RANGE(0x1c00, 0x1c02) AM_WRITE(coin_count_w)
AM_RANGE(0x1c03, 0x1c04) AM_WRITE(led_w)
AM_RANGE(0x1c07, 0x1c07) AM_WRITE_LEGACY(centiped_flip_screen_w)
- AM_RANGE(0x2000, 0x2000) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x2000, 0x2000) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x2000, 0x3fff) AM_ROM
ADDRESS_MAP_END
@@ -759,7 +759,7 @@ static ADDRESS_MAP_START( milliped_map, AS_PROGRAM, 8, centiped_state )
AM_RANGE(0x2506, 0x2506) AM_WRITE_LEGACY(centiped_flip_screen_w)
AM_RANGE(0x2507, 0x2507) AM_WRITE(control_select_w) /* CNTRLSEL */
AM_RANGE(0x2600, 0x2600) AM_WRITE(irq_ack_w)
- AM_RANGE(0x2680, 0x2680) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x2680, 0x2680) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x2700, 0x2700) AM_DEVWRITE("earom", atari_vg_earom_device, ctrl_w)
AM_RANGE(0x2780, 0x27bf) AM_DEVWRITE("earom", atari_vg_earom_device, write)
AM_RANGE(0x4000, 0x7fff) AM_ROM
@@ -786,7 +786,7 @@ static ADDRESS_MAP_START( warlords_map, AS_PROGRAM, 8, centiped_state )
AM_RANGE(0x1800, 0x1800) AM_WRITE(irq_ack_w)
AM_RANGE(0x1c00, 0x1c02) AM_WRITE(coin_count_w)
AM_RANGE(0x1c03, 0x1c06) AM_WRITE(led_w)
- AM_RANGE(0x4000, 0x4000) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x4000, 0x4000) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x5000, 0x7fff) AM_ROM
ADDRESS_MAP_END
@@ -818,7 +818,7 @@ static ADDRESS_MAP_START( mazeinv_map, AS_PROGRAM, 8, centiped_state )
AM_RANGE(0x2506, 0x2506) AM_WRITE_LEGACY(centiped_flip_screen_w)
AM_RANGE(0x2580, 0x2583) AM_WRITE(mazeinv_input_select_w)
AM_RANGE(0x2600, 0x2600) AM_WRITE(irq_ack_w)
- AM_RANGE(0x2680, 0x2680) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x2680, 0x2680) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x2700, 0x2700) AM_DEVWRITE("earom", atari_vg_earom_device, ctrl_w)
AM_RANGE(0x2780, 0x27bf) AM_DEVWRITE("earom", atari_vg_earom_device, write)
AM_RANGE(0x3000, 0x7fff) AM_ROM
@@ -845,7 +845,7 @@ static ADDRESS_MAP_START( bullsdrt_map, AS_PROGRAM, 8, centiped_state )
AM_RANGE(0x1481, 0x1481) AM_MIRROR(0x6000) AM_WRITE(bullsdrt_coin_count_w)
AM_RANGE(0x1483, 0x1484) AM_MIRROR(0x6000) AM_WRITE(led_w)
AM_RANGE(0x1487, 0x1487) AM_MIRROR(0x6000) AM_WRITE_LEGACY(centiped_flip_screen_w)
- AM_RANGE(0x1500, 0x1500) AM_MIRROR(0x6000) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x1500, 0x1500) AM_MIRROR(0x6000) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1580, 0x1580) AM_MIRROR(0x6000) AM_NOP
AM_RANGE(0x1800, 0x1bbf) AM_MIRROR(0x6000) AM_WRITE_LEGACY(centiped_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0x1bc0, 0x1bff) AM_MIRROR(0x6000) AM_RAM AM_BASE(m_spriteram)
diff --git a/src/mame/drivers/champbas.c b/src/mame/drivers/champbas.c
index 6f194a06fed..7c72f6247d6 100644
--- a/src/mame/drivers/champbas.c
+++ b/src/mame/drivers/champbas.c
@@ -265,7 +265,7 @@ static ADDRESS_MAP_START( champbas_main_map, AS_PROGRAM, 8, champbas_state )
AM_RANGE(0xa007, 0xa007) AM_WRITE(champbas_mcu_switch_w) // MCU not present/not used in champbas
AM_RANGE(0xa060, 0xa06f) AM_RAM AM_BASE(m_spriteram_2)
- AM_RANGE(0xa080, 0xa080) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xa080, 0xa080) AM_WRITE(soundlatch_w)
/* AM_RANGE(0xa0a0, 0xa0a0) ???? */
AM_RANGE(0xa0c0, 0xa0c0) AM_WRITE(champbas_watchdog_reset_w)
@@ -294,8 +294,8 @@ static ADDRESS_MAP_START( exctsccrb_main_map, AS_PROGRAM, 8, champbas_state )
AM_RANGE(0xa007, 0xa007) AM_WRITENOP /* MCU is not used, but some leftover code still writes here */
AM_RANGE(0xa040, 0xa06f) AM_WRITEONLY AM_BASE(m_spriteram) /* Sprite Pos */
- AM_RANGE(0xa080, 0xa080) AM_WRITE_LEGACY(soundlatch_w)
- AM_RANGE(0xa0c0, 0xa0c0) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xa080, 0xa080) AM_WRITE(soundlatch_w)
+ AM_RANGE(0xa0c0, 0xa0c0) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
@@ -319,17 +319,17 @@ static ADDRESS_MAP_START( exctsccr_main_map, AS_PROGRAM, 8, champbas_state )
AM_RANGE(0xa007, 0xa007) AM_WRITENOP /* This is also MCU control, but i dont need it */
AM_RANGE(0xa040, 0xa06f) AM_WRITEONLY AM_BASE(m_spriteram) /* Sprite pos */
- AM_RANGE(0xa080, 0xa080) AM_WRITE_LEGACY(soundlatch_w)
- AM_RANGE(0xa0c0, 0xa0c0) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xa080, 0xa080) AM_WRITE(soundlatch_w)
+ AM_RANGE(0xa0c0, 0xa0c0) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( champbas_sub_map, AS_PROGRAM, 8, champbas_state )
AM_RANGE(0x0000, 0x5fff) AM_ROM
- AM_RANGE(0x6000, 0x7fff) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6000, 0x7fff) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0x9fff) AM_WRITENOP // 4-bit return code to main CPU (not used)
- AM_RANGE(0xa000, 0xbfff) AM_WRITE_LEGACY(soundlatch_clear_w)
+ AM_RANGE(0xa000, 0xbfff) AM_WRITE(soundlatch_clear_w)
AM_RANGE(0xc000, 0xdfff) AM_DEVWRITE_LEGACY("dac", champbas_dac_w)
AM_RANGE(0xe000, 0xe3ff) AM_MIRROR(0x1c00) AM_RAM
ADDRESS_MAP_END
@@ -340,8 +340,8 @@ static ADDRESS_MAP_START( exctsccr_sub_map, AS_PROGRAM, 8, champbas_state )
AM_RANGE(0xa000, 0xa7ff) AM_RAM
AM_RANGE(0xc008, 0xc008) AM_DEVWRITE_LEGACY("dac1", champbas_dac_w)
AM_RANGE(0xc009, 0xc009) AM_DEVWRITE_LEGACY("dac2", champbas_dac_w)
- AM_RANGE(0xc00c, 0xc00c) AM_WRITE_LEGACY(soundlatch_clear_w)
- AM_RANGE(0xc00d, 0xc00d) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc00c, 0xc00c) AM_WRITE(soundlatch_clear_w)
+ AM_RANGE(0xc00d, 0xc00d) AM_READ(soundlatch_r)
// AM_RANGE(0xc00f, 0xc00f) AM_WRITENOP /* ??? */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/changela.c b/src/mame/drivers/changela.c
index 35569fbdb77..35f2ac18177 100644
--- a/src/mame/drivers/changela.c
+++ b/src/mame/drivers/changela.c
@@ -235,7 +235,7 @@ static ADDRESS_MAP_START( changela_map, AS_PROGRAM, 8, changela_state )
AM_RANGE(0xd030, 0xd030) AM_READWRITE(changela_30_r, mcu_w)
AM_RANGE(0xd031, 0xd031) AM_READ(changela_31_r)
- AM_RANGE(0xe000, 0xe000) AM_WRITE_LEGACY(watchdog_reset_w) /* Watchdog */
+ AM_RANGE(0xe000, 0xe000) AM_WRITE(watchdog_reset_w) /* Watchdog */
AM_RANGE(0xf000, 0xf7ff) AM_RAM /* RAM2 (Processor RAM) */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/chinagat.c b/src/mame/drivers/chinagat.c
index 99cae53ddd8..f43e426044e 100644
--- a/src/mame/drivers/chinagat.c
+++ b/src/mame/drivers/chinagat.c
@@ -140,7 +140,7 @@ static WRITE8_HANDLER( chinagat_interrupt_w )
switch (offset)
{
case 0: /* 3e00 - SND irq */
- soundlatch_w(space, 0, data);
+ state->soundlatch_w(*space, 0, data);
device_set_input_line(state->m_snd_cpu, state->m_sound_irq, (state->m_sound_irq == INPUT_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
break;
@@ -341,7 +341,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, ddragon_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xA000, 0xA000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( ym2203c_sound_map, AS_PROGRAM, 8, ddragon_state )
@@ -359,7 +359,7 @@ static ADDRESS_MAP_START( ym2203c_sound_map, AS_PROGRAM, 8, ddragon_state )
// AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
// AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xA000, 0xA000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( saiyugoub1_sound_map, AS_PROGRAM, 8, ddragon_state )
@@ -367,7 +367,7 @@ static ADDRESS_MAP_START( saiyugoub1_sound_map, AS_PROGRAM, 8, ddragon_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x9800, 0x9800) AM_WRITE_LEGACY(saiyugoub1_mcu_command_w)
- AM_RANGE(0xA000, 0xA000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( i8748_map, AS_PROGRAM, 8, ddragon_state )
diff --git a/src/mame/drivers/chqflag.c b/src/mame/drivers/chqflag.c
index a16b99eb74b..920714d2e8a 100644
--- a/src/mame/drivers/chqflag.c
+++ b/src/mame/drivers/chqflag.c
@@ -145,7 +145,7 @@ static ADDRESS_MAP_START( chqflag_map, AS_PROGRAM, 8, chqflag_state )
AM_RANGE(0x2000, 0x2007) AM_DEVREADWRITE_LEGACY("k051960", k051937_r, k051937_w) /* Sprite control registers */
AM_RANGE(0x2400, 0x27ff) AM_DEVREADWRITE_LEGACY("k051960", k051960_r, k051960_w) /* Sprite RAM */
AM_RANGE(0x2800, 0x2fff) AM_READ_BANK("bank3") AM_DEVWRITE_LEGACY("k051316_2", k051316_w) /* 051316 zoom/rotation (chip 2) */
- AM_RANGE(0x3000, 0x3000) AM_WRITE_LEGACY(soundlatch_w) /* sound code # */
+ AM_RANGE(0x3000, 0x3000) AM_WRITE(soundlatch_w) /* sound code # */
AM_RANGE(0x3001, 0x3001) AM_WRITE(chqflag_sh_irqtrigger_w) /* cause interrupt on audio CPU */
AM_RANGE(0x3002, 0x3002) AM_WRITE(chqflag_bankswitch_w) /* bankswitch control */
AM_RANGE(0x3003, 0x3003) AM_WRITE(chqflag_vreg_w) /* enable K051316 ROM reading */
@@ -153,7 +153,7 @@ static ADDRESS_MAP_START( chqflag_map, AS_PROGRAM, 8, chqflag_state )
AM_RANGE(0x3200, 0x3200) AM_READ_PORT("IN1") /* COINSW, STARTSW, test mode */
AM_RANGE(0x3201, 0x3201) AM_READ_PORT("IN0") /* DIPSW #3, SW 4 */
AM_RANGE(0x3203, 0x3203) AM_READ_PORT("DSW2") /* DIPSW #2 */
- AM_RANGE(0x3300, 0x3300) AM_WRITE_LEGACY(watchdog_reset_w) /* watchdog timer */
+ AM_RANGE(0x3300, 0x3300) AM_WRITE(watchdog_reset_w) /* watchdog timer */
AM_RANGE(0x3400, 0x341f) AM_DEVREADWRITE_LEGACY("k051733", k051733_r, k051733_w) /* 051733 (protection) */
AM_RANGE(0x3500, 0x350f) AM_DEVWRITE_LEGACY("k051316_1", k051316_ctrl_w) /* 051316 control registers (chip 1) */
AM_RANGE(0x3600, 0x360f) AM_DEVWRITE_LEGACY("k051316_2", k051316_ctrl_w) /* 051316 control registers (chip 2) */
@@ -187,8 +187,8 @@ static ADDRESS_MAP_START( chqflag_sound_map, AS_PROGRAM, 8, chqflag_state )
AM_RANGE(0xa01c, 0xa01c) AM_DEVWRITE_LEGACY("k007232_2", k007232_extvolume_w) /* extra volume, goes to the 007232 w/ A11 */
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("k007232_2", k007232_r, k007232_w) /* 007232 (chip 2) */
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w) /* YM2151 */
- AM_RANGE(0xd000, 0xd000) AM_READ_LEGACY(soundlatch_r) /* soundlatch_r */
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch2_r) /* engine sound volume */
+ AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r) /* soundlatch_r */
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch2_r) /* engine sound volume */
AM_RANGE(0xf000, 0xf000) AM_WRITENOP /* ??? */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/circusc.c b/src/mame/drivers/circusc.c
index 039c69c2be9..42cec63a83f 100644
--- a/src/mame/drivers/circusc.c
+++ b/src/mame/drivers/circusc.c
@@ -152,8 +152,8 @@ static ADDRESS_MAP_START( circusc_map, AS_PROGRAM, 8, circusc_state )
// AM_RANGE(0x0002, 0x0002) AM_MIRROR(0x03f8) AM_WRITENOP /* MUT - not used /*
AM_RANGE(0x0003, 0x0004) AM_MIRROR(0x03f8) AM_WRITE(circusc_coin_counter_w) /* COIN1, COIN2 */
AM_RANGE(0x0005, 0x0005) AM_MIRROR(0x03f8) AM_WRITEONLY AM_BASE(m_spritebank) /* OBJ CHENG */
- AM_RANGE(0x0400, 0x0400) AM_MIRROR(0x03ff) AM_WRITE_LEGACY(watchdog_reset_w) /* WDOG */
- AM_RANGE(0x0800, 0x0800) AM_MIRROR(0x03ff) AM_WRITE_LEGACY(soundlatch_w) /* SOUND DATA */
+ AM_RANGE(0x0400, 0x0400) AM_MIRROR(0x03ff) AM_WRITE(watchdog_reset_w) /* WDOG */
+ AM_RANGE(0x0800, 0x0800) AM_MIRROR(0x03ff) AM_WRITE(soundlatch_w) /* SOUND DATA */
AM_RANGE(0x0c00, 0x0c00) AM_MIRROR(0x03ff) AM_WRITE(circusc_sh_irqtrigger_w) /* SOUND-ON causes interrupt on audio CPU */
AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x03fc) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1001, 0x1001) AM_MIRROR(0x03fc) AM_READ_PORT("P1")
@@ -174,7 +174,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, circusc_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x1c00) AM_RAM
- AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x1fff) AM_READ_LEGACY(soundlatch_r) /* CS0 */
+ AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x1fff) AM_READ(soundlatch_r) /* CS0 */
AM_RANGE(0x8000, 0x8000) AM_MIRROR(0x1fff) AM_READ(circusc_sh_timer_r) /* CS1 */
AM_RANGE(0xa000, 0xa07f) AM_MIRROR(0x1f80) AM_WRITE(circusc_sound_w) /* CS2 - CS6 */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cischeat.c b/src/mame/drivers/cischeat.c
index e30ddb86a04..d7c30a1e300 100644
--- a/src/mame/drivers/cischeat.c
+++ b/src/mame/drivers/cischeat.c
@@ -690,8 +690,8 @@ WRITE16_MEMBER(cischeat_state::bigrun_soundbank_w)
static ADDRESS_MAP_START( bigrun_sound_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
- AM_RANGE(0x040000, 0x040001) AM_READ_LEGACY(soundlatch_word_r) AM_WRITE(bigrun_soundbank_w) // From Main CPU
- AM_RANGE(0x060000, 0x060001) AM_WRITE_LEGACY(soundlatch2_word_w) // To Main CPU
+ AM_RANGE(0x040000, 0x040001) AM_READ(soundlatch_word_r) AM_WRITE(bigrun_soundbank_w) // From Main CPU
+ AM_RANGE(0x060000, 0x060001) AM_WRITE(soundlatch2_word_w) // To Main CPU
AM_RANGE(0x080000, 0x080003) AM_DEVREADWRITE8_LEGACY("ymsnd", ym2151_r, ym2151_w, 0x00ff)
AM_RANGE(0x0a0000, 0x0a0003) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x0c0000, 0x0c0003) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x00ff)
@@ -713,8 +713,8 @@ static ADDRESS_MAP_START( cischeat_sound_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x040002, 0x040003) AM_DEVWRITE_LEGACY("oki1", cischeat_soundbank_w) // Sample Banking
AM_RANGE(0x040004, 0x040005) AM_DEVWRITE_LEGACY("oki2", cischeat_soundbank_w) // Sample Banking
- AM_RANGE(0x060002, 0x060003) AM_WRITE_LEGACY(soundlatch2_word_w) // To Main CPU
- AM_RANGE(0x060004, 0x060005) AM_READ_LEGACY(soundlatch_word_r) // From Main CPU
+ AM_RANGE(0x060002, 0x060003) AM_WRITE(soundlatch2_word_w) // To Main CPU
+ AM_RANGE(0x060004, 0x060005) AM_READ(soundlatch_word_r) // From Main CPU
AM_RANGE(0x080000, 0x080003) AM_DEVREADWRITE8_LEGACY("ymsnd", ym2151_r, ym2151_w, 0x00ff)
AM_RANGE(0x0a0000, 0x0a0003) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x0c0000, 0x0c0003) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x00ff)
@@ -730,7 +730,7 @@ static ADDRESS_MAP_START( f1gpstar_sound_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x040004, 0x040005) AM_DEVWRITE_LEGACY("oki1", cischeat_soundbank_w) // Sample Banking (cischeat: 40002)
AM_RANGE(0x040008, 0x040009) AM_DEVWRITE_LEGACY("oki2", cischeat_soundbank_w) // Sample Banking (cischeat: 40004)
- AM_RANGE(0x060000, 0x060001) AM_READWRITE_LEGACY(soundlatch_word_r, soundlatch2_word_w) // From Main CPU (cischeat: 60004)
+ AM_RANGE(0x060000, 0x060001) AM_READWRITE(soundlatch_word_r, soundlatch2_word_w) // From Main CPU (cischeat: 60004)
AM_RANGE(0x080000, 0x080003) AM_DEVREADWRITE8_LEGACY("ymsnd", ym2151_r, ym2151_w, 0x00ff)
AM_RANGE(0x0a0000, 0x0a0003) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x0c0000, 0x0c0003) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x00ff)
@@ -747,7 +747,7 @@ static ADDRESS_MAP_START( f1gpstr2_sound_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x040004, 0x040005) AM_DEVWRITE_LEGACY("oki1", cischeat_soundbank_w) // Sample Banking
AM_RANGE(0x040008, 0x040009) AM_DEVWRITE_LEGACY("oki2", cischeat_soundbank_w) // Sample Banking
AM_RANGE(0x04000e, 0x04000f) AM_WRITENOP // ? 0 (f1gpstar: no)
- AM_RANGE(0x060004, 0x060005) AM_READWRITE_LEGACY(soundlatch_word_r, soundlatch2_word_w) // From Main CPU (f1gpstar: 60000)
+ AM_RANGE(0x060004, 0x060005) AM_READWRITE(soundlatch_word_r, soundlatch2_word_w) // From Main CPU (f1gpstar: 60000)
AM_RANGE(0x080000, 0x080003) AM_DEVREADWRITE8_LEGACY("ymsnd", ym2151_r, ym2151_w, 0x00ff)
AM_RANGE(0x0a0000, 0x0a0003) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x0c0000, 0x0c0003) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/citycon.c b/src/mame/drivers/citycon.c
index 723477bcf3e..e6535fc4c77 100644
--- a/src/mame/drivers/citycon.c
+++ b/src/mame/drivers/citycon.c
@@ -33,8 +33,8 @@ static ADDRESS_MAP_START( citycon_map, AS_PROGRAM, 8, citycon_state )
AM_RANGE(0x2800, 0x28ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x2800, 0x2fff) AM_NOP //0x2900-0x2fff cleared at post but unused
AM_RANGE(0x3000, 0x3000) AM_READ(citycon_in_r) AM_WRITE_LEGACY(citycon_background_w) /* player 1 & 2 inputs multiplexed */
- AM_RANGE(0x3001, 0x3001) AM_READ_PORT("DSW1") AM_WRITE_LEGACY(soundlatch_w)
- AM_RANGE(0x3002, 0x3002) AM_READ_PORT("DSW2") AM_WRITE_LEGACY(soundlatch2_w)
+ AM_RANGE(0x3001, 0x3001) AM_READ_PORT("DSW1") AM_WRITE(soundlatch_w)
+ AM_RANGE(0x3002, 0x3002) AM_READ_PORT("DSW2") AM_WRITE(soundlatch2_w)
AM_RANGE(0x3004, 0x3005) AM_READNOP AM_WRITEONLY AM_BASE(m_scroll)
AM_RANGE(0x3007, 0x3007) AM_READ(citycon_irq_ack_r)
AM_RANGE(0x3800, 0x3cff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram")
@@ -176,8 +176,8 @@ static const ym2203_interface ym2203_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch2_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch2_r),
DEVCB_NULL,
DEVCB_NULL
},
diff --git a/src/mame/drivers/clayshoo.c b/src/mame/drivers/clayshoo.c
index 7a23e9b65a6..07655478ce6 100644
--- a/src/mame/drivers/clayshoo.c
+++ b/src/mame/drivers/clayshoo.c
@@ -235,7 +235,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( main_io_map, AS_IO, 8, clayshoo_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x00, 0x00) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x20, 0x23) AM_DEVREADWRITE_LEGACY("ppi8255_0", ppi8255_r, ppi8255_w)
AM_RANGE(0x30, 0x33) AM_DEVREADWRITE_LEGACY("ppi8255_1", ppi8255_r, ppi8255_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cloak.c b/src/mame/drivers/cloak.c
index e1df551e0d9..24397654acd 100644
--- a/src/mame/drivers/cloak.c
+++ b/src/mame/drivers/cloak.c
@@ -181,7 +181,7 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, cloak_state )
AM_RANGE(0x3803, 0x3803) AM_WRITE_LEGACY(cloak_flipscreen_w)
AM_RANGE(0x3805, 0x3805) AM_WRITENOP // ???
AM_RANGE(0x3806, 0x3807) AM_WRITE(cloak_led_w)
- AM_RANGE(0x3a00, 0x3a00) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x3a00, 0x3a00) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x3c00, 0x3c00) AM_WRITE(cloak_irq_reset_0_w)
AM_RANGE(0x3e00, 0x3e00) AM_WRITE(cloak_nvram_enable_w)
AM_RANGE(0x4000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/cloud9.c b/src/mame/drivers/cloud9.c
index d3ef912d856..e296bc00605 100644
--- a/src/mame/drivers/cloud9.c
+++ b/src/mame/drivers/cloud9.c
@@ -270,7 +270,7 @@ static ADDRESS_MAP_START( cloud9_map, AS_PROGRAM, 8, cloud9_state )
AM_RANGE(0x0002, 0x0002) AM_READWRITE_LEGACY(cloud9_bitmode_r, cloud9_bitmode_w)
AM_RANGE(0x0000, 0x4fff) AM_ROMBANK("bank1") AM_WRITE_LEGACY(cloud9_videoram_w)
AM_RANGE(0x5000, 0x53ff) AM_RAM AM_BASE(m_spriteram)
- AM_RANGE(0x5400, 0x547f) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x5400, 0x547f) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x5480, 0x54ff) AM_WRITE(irq_ack_w)
AM_RANGE(0x5500, 0x557f) AM_RAM_WRITE_LEGACY(cloud9_paletteram_w) AM_BASE(m_paletteram)
AM_RANGE(0x5580, 0x5587) AM_MIRROR(0x0078) AM_WRITE_LEGACY(cloud9_video_control_w)
diff --git a/src/mame/drivers/cninja.c b/src/mame/drivers/cninja.c
index 5a8bc4e0d67..00d6ad2f3f7 100644
--- a/src/mame/drivers/cninja.c
+++ b/src/mame/drivers/cninja.c
@@ -307,7 +307,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cninja_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ym2", ym2151_r, ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
- AM_RANGE(0x140000, 0x140001) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
@@ -319,7 +319,7 @@ static ADDRESS_MAP_START( sound_map_mutantf, AS_PROGRAM, 8, cninja_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
- AM_RANGE(0x140000, 0x140001) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
@@ -329,7 +329,7 @@ static ADDRESS_MAP_START( stoneage_s_map, AS_PROGRAM, 8, cninja_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cntsteer.c b/src/mame/drivers/cntsteer.c
index f2ec23df6b3..618b39b99a8 100644
--- a/src/mame/drivers/cntsteer.c
+++ b/src/mame/drivers/cntsteer.c
@@ -597,7 +597,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cntsteer_state )
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE_LEGACY("ay1", ay8910_address_w)
AM_RANGE(0x6000, 0x6000) AM_DEVWRITE_LEGACY("ay2", ay8910_data_w)
AM_RANGE(0x8000, 0x8000) AM_DEVWRITE_LEGACY("ay2", ay8910_address_w)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xd000, 0xd000) AM_WRITE(nmimask_w)
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/combatsc.c b/src/mame/drivers/combatsc.c
index 06b738c2a70..e37637961fb 100644
--- a/src/mame/drivers/combatsc.c
+++ b/src/mame/drivers/combatsc.c
@@ -389,9 +389,9 @@ static ADDRESS_MAP_START( combatsc_map, AS_PROGRAM, 8, combatsc_state )
AM_RANGE(0x0408, 0x0408) AM_WRITE(combatsc_coin_counter_w) /* coin counters */
AM_RANGE(0x040c, 0x040c) AM_WRITE(combatsc_vreg_w)
AM_RANGE(0x0410, 0x0410) AM_WRITE(combatsc_bankselect_w)
- AM_RANGE(0x0414, 0x0414) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x0414, 0x0414) AM_WRITE(soundlatch_w)
AM_RANGE(0x0418, 0x0418) AM_WRITE(combatsc_sh_irqtrigger_w)
- AM_RANGE(0x041c, 0x041c) AM_WRITE_LEGACY(watchdog_reset_w) /* watchdog reset? */
+ AM_RANGE(0x041c, 0x041c) AM_WRITE(watchdog_reset_w) /* watchdog reset? */
AM_RANGE(0x0600, 0x06ff) AM_RAM AM_BASE(m_paletteram) /* palette */
AM_RANGE(0x0800, 0x1fff) AM_RAM /* RAM */
@@ -419,7 +419,7 @@ static ADDRESS_MAP_START( combatsc_sound_map, AS_PROGRAM, 8, combatsc_state )
AM_RANGE(0xb000, 0xb000) AM_DEVREAD_LEGACY("upd", combatsc_busy_r) /* upd7759 busy? */
AM_RANGE(0xc000, 0xc000) AM_DEVWRITE_LEGACY("upd", combatsc_voice_reset_w) /* upd7759 reset? */
- AM_RANGE(0xd000, 0xd000) AM_READ_LEGACY(soundlatch_r) /* soundlatch_r? */
+ AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r) /* soundlatch_r? */
AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE_LEGACY("ymsnd", combatsc_ym2203_r, ym2203_w) /* YM 2203 intercepted */
ADDRESS_MAP_END
@@ -440,7 +440,7 @@ static ADDRESS_MAP_START( combatscb_sound_map, AS_PROGRAM, 8, combatsc_state )
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w) /* YM 2203 */
AM_RANGE(0x9008, 0x9009) AM_DEVREAD_LEGACY("ymsnd", ym2203_r) /* ??? */
AM_RANGE(0x9800, 0x9800) AM_DEVWRITE_LEGACY("msm5205",combatscb_dac_w)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r) /* soundlatch_r? */
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r) /* soundlatch_r? */
ADDRESS_MAP_END
/*************************************
diff --git a/src/mame/drivers/commando.c b/src/mame/drivers/commando.c
index d24c7588007..890909d2445 100644
--- a/src/mame/drivers/commando.c
+++ b/src/mame/drivers/commando.c
@@ -57,7 +57,7 @@ static ADDRESS_MAP_START( commando_map, AS_PROGRAM, 8, commando_state )
AM_RANGE(0xc002, 0xc002) AM_READ_PORT("P2")
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("DSW1")
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("DSW2")
- AM_RANGE(0xc800, 0xc800) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xc800, 0xc800) AM_WRITE(soundlatch_w)
AM_RANGE(0xc804, 0xc804) AM_WRITE_LEGACY(commando_c804_w)
AM_RANGE(0xc808, 0xc809) AM_WRITE_LEGACY(commando_scrollx_w)
AM_RANGE(0xc80a, 0xc80b) AM_WRITE_LEGACY(commando_scrolly_w)
@@ -73,7 +73,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, commando_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
- AM_RANGE(0x6000, 0x6000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0x8001) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x8002, 0x8003) AM_DEVWRITE_LEGACY("ym2", ym2203_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/contra.c b/src/mame/drivers/contra.c
index 6945a7aa61b..9cd85cbac6d 100644
--- a/src/mame/drivers/contra.c
+++ b/src/mame/drivers/contra.c
@@ -96,7 +96,7 @@ static ADDRESS_MAP_START( contra_map, AS_PROGRAM, 8, contra_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, contra_state )
- AM_RANGE(0x0000, 0x0000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x0000, 0x0000) AM_READ(soundlatch_r)
AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x4000, 0x4000) AM_WRITENOP /* read triggers irq reset and latch read (in the hardware only). */
AM_RANGE(0x6000, 0x67ff) AM_RAM
diff --git a/src/mame/drivers/cps1.c b/src/mame/drivers/cps1.c
index aac32d26dd8..f44ff05895d 100644
--- a/src/mame/drivers/cps1.c
+++ b/src/mame/drivers/cps1.c
@@ -584,8 +584,8 @@ static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, cps_state )
AM_RANGE(0xf002, 0xf002) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xf004, 0xf004) AM_WRITE(cps1_snd_bankswitch_w)
AM_RANGE(0xf006, 0xf006) AM_DEVWRITE_LEGACY("oki", cps1_oki_pin7_w) /* controls pin 7 of OKI chip */
- AM_RANGE(0xf008, 0xf008) AM_READ_LEGACY(soundlatch_r) /* Sound command */
- AM_RANGE(0xf00a, 0xf00a) AM_READ_LEGACY(soundlatch2_r) /* Sound timer fade */
+ AM_RANGE(0xf008, 0xf008) AM_READ(soundlatch_r) /* Sound command */
+ AM_RANGE(0xf00a, 0xf00a) AM_READ(soundlatch2_r) /* Sound timer fade */
ADDRESS_MAP_END
static ADDRESS_MAP_START( qsound_main_map, AS_PROGRAM, 16, cps_state )
diff --git a/src/mame/drivers/crimfght.c b/src/mame/drivers/crimfght.c
index 3fb24d02b86..f7aaadb6ab8 100644
--- a/src/mame/drivers/crimfght.c
+++ b/src/mame/drivers/crimfght.c
@@ -88,7 +88,7 @@ static ADDRESS_MAP_START( crimfght_map, AS_PROGRAM, 8, crimfght_state )
AM_RANGE(0x3f85, 0x3f85) AM_READ_PORT("P3")
AM_RANGE(0x3f86, 0x3f86) AM_READ_PORT("P4")
AM_RANGE(0x3f87, 0x3f87) AM_READ_PORT("DSW1")
- AM_RANGE(0x3f88, 0x3f88) AM_READ_LEGACY(watchdog_reset_r) AM_WRITE(crimfght_coin_w) /* watchdog reset */
+ AM_RANGE(0x3f88, 0x3f88) AM_READ(watchdog_reset_r) AM_WRITE(crimfght_coin_w) /* watchdog reset */
AM_RANGE(0x3f8c, 0x3f8c) AM_WRITE(crimfght_sh_irqtrigger_w) /* cause interrupt on audio CPU? */
AM_RANGE(0x2000, 0x5fff) AM_READWRITE(k052109_051960_r, k052109_051960_w) /* video RAM + sprite RAM */
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank2") /* banked ROM */
@@ -99,7 +99,7 @@ static ADDRESS_MAP_START( crimfght_sound_map, AS_PROGRAM, 8, crimfght_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM /* ROM 821l01.h4 */
AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w) /* YM2151 */
- AM_RANGE(0xc000, 0xc000) AM_READ_LEGACY(soundlatch_r) /* soundlatch_r */
+ AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r) /* soundlatch_r */
AM_RANGE(0xe000, 0xe00d) AM_DEVREADWRITE_LEGACY("k007232", k007232_r, k007232_w) /* 007232 registers */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/crospang.c b/src/mame/drivers/crospang.c
index 7574e2b19c4..5601c847749 100644
--- a/src/mame/drivers/crospang.c
+++ b/src/mame/drivers/crospang.c
@@ -100,7 +100,7 @@ static ADDRESS_MAP_START( crospang_sound_io_map, AS_IO, 8, crospang_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
AM_RANGE(0x02, 0x02) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0x06, 0x06) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x06, 0x06) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/crshrace.c b/src/mame/drivers/crshrace.c
index f6c23a88d49..5a62dbbdc0b 100644
--- a/src/mame/drivers/crshrace.c
+++ b/src/mame/drivers/crshrace.c
@@ -215,7 +215,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, crshrace_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(crshrace_sh_bankswitch_w)
- AM_RANGE(0x04, 0x04) AM_READ_LEGACY(soundlatch_r) AM_WRITE(pending_command_clear_w)
+ AM_RANGE(0x04, 0x04) AM_READ(soundlatch_r) AM_WRITE(pending_command_clear_w)
AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cvs.c b/src/mame/drivers/cvs.c
index c71c5707b41..81a5e04002f 100644
--- a/src/mame/drivers/cvs.c
+++ b/src/mame/drivers/cvs.c
@@ -516,7 +516,7 @@ static ADDRESS_MAP_START( cvs_dac_cpu_map, AS_PROGRAM, 8, cvs_state )
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x107f) AM_RAM
- AM_RANGE(0x1800, 0x1800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x1800, 0x1800) AM_READ(soundlatch_r)
AM_RANGE(0x1840, 0x1840) AM_DEVWRITE_LEGACY("dac1", dac_w)
AM_RANGE(0x1880, 0x1883) AM_DEVWRITE_LEGACY("dac2", cvs_4_bit_dac_data_w) AM_BASE(m_cvs_4_bit_dac_data)
AM_RANGE(0x1884, 0x1887) AM_DEVWRITE_LEGACY("dac3", cvs_unknown_w) AM_BASE(m_dac3_state) /* ???? not connected to anything */
diff --git a/src/mame/drivers/cyberbal.c b/src/mame/drivers/cyberbal.c
index 7f4077ec30e..70609e5d815 100644
--- a/src/mame/drivers/cyberbal.c
+++ b/src/mame/drivers/cyberbal.c
@@ -154,7 +154,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, cyberbal_state )
AM_RANGE(0xfc8000, 0xfcffff) AM_READ_LEGACY(atarigen_sound_upper_r)
AM_RANGE(0xfd0000, 0xfd1fff) AM_WRITE_LEGACY(atarigen_eeprom_enable_w)
AM_RANGE(0xfd2000, 0xfd3fff) AM_WRITE_LEGACY(atarigen_sound_reset_w)
- AM_RANGE(0xfd4000, 0xfd5fff) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0xfd4000, 0xfd5fff) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0xfd6000, 0xfd7fff) AM_WRITE_LEGACY(p2_reset_w)
AM_RANGE(0xfd8000, 0xfd9fff) AM_WRITE_LEGACY(atarigen_sound_upper_w)
AM_RANGE(0xfe0000, 0xfe0fff) AM_READ_LEGACY(special_port0_r)
@@ -258,7 +258,7 @@ static ADDRESS_MAP_START( cyberbal2p_map, AS_PROGRAM, 16, cyberbal_state )
AM_RANGE(0xfca000, 0xfcafff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xfd0000, 0xfd0003) AM_WRITE_LEGACY(atarigen_eeprom_enable_w)
AM_RANGE(0xfd2000, 0xfd2003) AM_WRITE_LEGACY(atarigen_sound_reset_w)
- AM_RANGE(0xfd4000, 0xfd4003) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0xfd4000, 0xfd4003) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0xfd6000, 0xfd6003) AM_WRITE_LEGACY(atarigen_video_int_ack_w)
AM_RANGE(0xfd8000, 0xfd8003) AM_WRITE_LEGACY(atarigen_sound_upper_w)
AM_RANGE(0xfe0000, 0xfe0003) AM_READ_LEGACY(sound_state_r)
diff --git a/src/mame/drivers/cyclemb.c b/src/mame/drivers/cyclemb.c
index dfd7cea1ee2..825a238ed10 100644
--- a/src/mame/drivers/cyclemb.c
+++ b/src/mame/drivers/cyclemb.c
@@ -280,7 +280,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cyclemb_sound_io, AS_IO, 8, cyclemb_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("aysnd", ay8910_r, ay8910_address_data_w)
- AM_RANGE(0x40, 0x40) AM_READ_LEGACY(soundlatch_r) AM_WRITE_LEGACY(soundlatch2_w)
+ AM_RANGE(0x40, 0x40) AM_READ(soundlatch_r) AM_WRITE(soundlatch2_w)
ADDRESS_MAP_END
static MACHINE_RESET( cyclemb )
diff --git a/src/mame/drivers/dacholer.c b/src/mame/drivers/dacholer.c
index 23295946434..a9390f52574 100644
--- a/src/mame/drivers/dacholer.c
+++ b/src/mame/drivers/dacholer.c
@@ -284,7 +284,7 @@ WRITE8_MEMBER(dacholer_state::music_irq_w)
static ADDRESS_MAP_START( snd_io_map, AS_IO, 8, dacholer_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READWRITE_LEGACY(soundlatch_r, soundlatch_clear_w )
+ AM_RANGE(0x00, 0x00) AM_READWRITE(soundlatch_r, soundlatch_clear_w )
AM_RANGE(0x04, 0x04) AM_WRITE(music_irq_w)
AM_RANGE(0x08, 0x08) AM_WRITE(snd_irq_w)
AM_RANGE(0x0c, 0x0c) AM_WRITE(snd_ack_w)
@@ -296,7 +296,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( itaten_snd_io_map, AS_IO, 8, dacholer_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READWRITE_LEGACY(soundlatch_r, soundlatch_clear_w )
+ AM_RANGE(0x00, 0x00) AM_READWRITE(soundlatch_r, soundlatch_clear_w )
AM_RANGE(0x86, 0x87) AM_DEVWRITE_LEGACY("ay1", ay8910_data_address_w)
AM_RANGE(0x8a, 0x8b) AM_DEVWRITE_LEGACY("ay2", ay8910_data_address_w)
AM_RANGE(0x8e, 0x8f) AM_DEVWRITE_LEGACY("ay3", ay8910_data_address_w)
diff --git a/src/mame/drivers/dambustr.c b/src/mame/drivers/dambustr.c
index 8132118a78c..2e21c38c9a3 100644
--- a/src/mame/drivers/dambustr.c
+++ b/src/mame/drivers/dambustr.c
@@ -110,7 +110,7 @@ static ADDRESS_MAP_START( dambustr_map, AS_PROGRAM, 8, dambustr_state )
AM_RANGE(0xf007, 0xf007) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
AM_RANGE(0xf800, 0xf800) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w)
- AM_RANGE(0xf800, 0xffff) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xf800, 0xffff) AM_READ(watchdog_reset_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/darkseal.c b/src/mame/drivers/darkseal.c
index 6363f5926ef..5de941406d6 100644
--- a/src/mame/drivers/darkseal.c
+++ b/src/mame/drivers/darkseal.c
@@ -88,7 +88,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, darkseal_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ym2", ym2151_r, ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
- AM_RANGE(0x140000, 0x140001) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
diff --git a/src/mame/drivers/dassault.c b/src/mame/drivers/dassault.c
index 4c2bd58c346..d2f1b2f6970 100644
--- a/src/mame/drivers/dassault.c
+++ b/src/mame/drivers/dassault.c
@@ -254,7 +254,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, dassault_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ym2", ym2151_r, ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
- AM_RANGE(0x140000, 0x140001) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
diff --git a/src/mame/drivers/dblewing.c b/src/mame/drivers/dblewing.c
index 65805438700..84a16eb5f31 100644
--- a/src/mame/drivers/dblewing.c
+++ b/src/mame/drivers/dblewing.c
@@ -347,7 +347,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, dblewing_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_status_port_r,ym2151_w)
AM_RANGE(0xb000, 0xb000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xc000, 0xc000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r)
AM_RANGE(0xd000, 0xd000) AM_READ(irq_latch_r) //timing? sound latch?
AM_RANGE(0xf000, 0xf000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dbz.c b/src/mame/drivers/dbz.c
index d03f062ae2f..03406ddce7f 100644
--- a/src/mame/drivers/dbz.c
+++ b/src/mame/drivers/dbz.c
@@ -154,7 +154,7 @@ static ADDRESS_MAP_START( dbz_sound_map, AS_PROGRAM, 8, dbz_state )
AM_RANGE(0x8000, 0xbfff) AM_RAM
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xd000, 0xd002) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xe000, 0xe001) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe001) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( dbz_sound_io_map, AS_IO, 8, dbz_state )
diff --git a/src/mame/drivers/dcheese.c b/src/mame/drivers/dcheese.c
index a8624e4f1c3..6a1198f93d3 100644
--- a/src/mame/drivers/dcheese.c
+++ b/src/mame/drivers/dcheese.c
@@ -214,7 +214,7 @@ static ADDRESS_MAP_START( main_cpu_map, AS_PROGRAM, 16, dcheese_state )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x200001) AM_READ_PORT("200000") AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x200000, 0x200001) AM_READ_PORT("200000") AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x220000, 0x220001) AM_READ_PORT("220000") AM_WRITE_LEGACY(madmax_blitter_color_w)
AM_RANGE(0x240000, 0x240001) AM_READ_PORT("240000") AM_WRITE(eeprom_control_w)
AM_RANGE(0x260000, 0x26001f) AM_WRITE_LEGACY(madmax_blitter_xparam_w)
diff --git a/src/mame/drivers/ddayjlc.c b/src/mame/drivers/ddayjlc.c
index 1d9cec94451..3821126fa57 100644
--- a/src/mame/drivers/ddayjlc.c
+++ b/src/mame/drivers/ddayjlc.c
@@ -421,7 +421,7 @@ static const ay8910_interface ay8910_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
diff --git a/src/mame/drivers/ddenlovr.c b/src/mame/drivers/ddenlovr.c
index fd7e79d9eb1..1e2730a1307 100644
--- a/src/mame/drivers/ddenlovr.c
+++ b/src/mame/drivers/ddenlovr.c
@@ -2135,7 +2135,7 @@ static WRITE8_HANDLER( mmpanic_soundlatch_w )
{
dynax_state *state = space->machine().driver_data<dynax_state>();
- soundlatch_w(space, 0, data);
+ state->soundlatch_w(*space, 0, data);
device_set_input_line(state->m_soundcpu, INPUT_LINE_NMI, PULSE_LINE);
}
@@ -2248,7 +2248,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mmpanic_sound_portmap, AS_IO, 8, dynax_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r)
AM_RANGE(0x02, 0x02) AM_READNOP // read just before port 00
AM_RANGE(0x04, 0x04) AM_NOP // read only once at the start
AM_RANGE(0x06, 0x06) AM_WRITENOP // almost always 1, sometimes 0
@@ -2391,7 +2391,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( funkyfig_sound_portmap, AS_IO, 8, dynax_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x02, 0x02) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x02, 0x02) AM_READ(soundlatch_r)
AM_RANGE(0x04, 0x04) AM_READNOP // read only once at the start
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ddragon.c b/src/mame/drivers/ddragon.c
index b0f7cc21e8f..fe9ff0cfe26 100644
--- a/src/mame/drivers/ddragon.c
+++ b/src/mame/drivers/ddragon.c
@@ -316,7 +316,7 @@ static WRITE8_HANDLER( ddragon_interrupt_w )
break;
case 3: /* 380e - SND irq */
- soundlatch_w(space, 0, data);
+ state->soundlatch_w(*space, 0, data);
device_set_input_line(state->m_snd_cpu, state->m_sound_irq, (state->m_sound_irq == INPUT_LINE_NMI) ? PULSE_LINE : HOLD_LINE);
break;
@@ -595,7 +595,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, ddragon_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM
- AM_RANGE(0x1000, 0x1000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x1000, 0x1000) AM_READ(soundlatch_r)
AM_RANGE(0x1800, 0x1800) AM_READ_LEGACY(dd_adpcm_status_r)
AM_RANGE(0x2800, 0x2801) AM_DEVREADWRITE_LEGACY("fmsnd", ym2151_r, ym2151_w)
AM_RANGE(0x3800, 0x3807) AM_WRITE_LEGACY(dd_adpcm_w)
@@ -608,7 +608,7 @@ static ADDRESS_MAP_START( dd2_sound_map, AS_PROGRAM, 8, ddragon_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE_LEGACY("fmsnd", ym2151_r, ym2151_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xA000, 0xA000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ddragon3.c b/src/mame/drivers/ddragon3.c
index 3d8ad741945..2ce3771f63b 100644
--- a/src/mame/drivers/ddragon3.c
+++ b/src/mame/drivers/ddragon3.c
@@ -257,7 +257,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, ddragon3_state )
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc801) AM_DEVREADWRITE_LEGACY("ym2151", ym2151_r, ym2151_w)
AM_RANGE(0xd800, 0xd800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
AM_RANGE(0xe800, 0xe800) AM_DEVWRITE_LEGACY("oki", oki_bankswitch_w)
ADDRESS_MAP_END
@@ -266,7 +266,7 @@ static ADDRESS_MAP_START( ctribe_sound_map, AS_PROGRAM, 8, ddragon3_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE_LEGACY("ym2151", ym2151_status_port_r, ym2151_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
/*************************************
diff --git a/src/mame/drivers/ddribble.c b/src/mame/drivers/ddribble.c
index 788b5584cc2..5fd7f2abff6 100644
--- a/src/mame/drivers/ddribble.c
+++ b/src/mame/drivers/ddribble.c
@@ -133,7 +133,7 @@ static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, ddribble_state )
AM_RANGE(0x2c00, 0x2c00) AM_READ_PORT("DSW2")
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("DSW3")
AM_RANGE(0x3400, 0x3400) AM_WRITE(ddribble_coin_counter_w) /* coin counters */
- AM_RANGE(0x3c00, 0x3c00) AM_WRITE_LEGACY(watchdog_reset_w) /* watchdog reset */
+ AM_RANGE(0x3c00, 0x3c00) AM_WRITE(watchdog_reset_w) /* watchdog reset */
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/deadang.c b/src/mame/drivers/deadang.c
index 4c071376119..5979143a5c0 100644
--- a/src/mame/drivers/deadang.c
+++ b/src/mame/drivers/deadang.c
@@ -79,7 +79,7 @@ static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 16, deadang_state )
AM_RANGE(0x03800, 0x03fff) AM_RAM_WRITE_LEGACY(deadang_foreground_w) AM_BASE(m_video_data)
AM_RANGE(0x04000, 0x04fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x08000, 0x08001) AM_WRITE_LEGACY(deadang_bank_w)
- AM_RANGE(0x0c000, 0x0c001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x0c000, 0x0c001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0xe0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dec0.c b/src/mame/drivers/dec0.c
index e8214dcc692..feeeab7ab82 100644
--- a/src/mame/drivers/dec0.c
+++ b/src/mame/drivers/dec0.c
@@ -554,7 +554,7 @@ static ADDRESS_MAP_START( dec0_s_map, AS_PROGRAM, 8, dec0_state )
AM_RANGE(0x0000, 0x05ff) AM_RAM
AM_RANGE(0x0800, 0x0801) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
- AM_RANGE(0x3000, 0x3000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r)
AM_RANGE(0x3800, 0x3800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -566,7 +566,7 @@ static ADDRESS_MAP_START( slyspy_s_map, AS_PROGRAM, 8, dec0_state )
AM_RANGE(0x0a0000, 0x0a0001) AM_READNOP /* Protection counter */
AM_RANGE(0x0b0000, 0x0b0001) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x0e0000, 0x0e0001) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0x0f0000, 0x0f0001) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x0f0000, 0x0f0001) AM_READ(soundlatch_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
ADDRESS_MAP_END
@@ -576,7 +576,7 @@ static ADDRESS_MAP_START( midres_s_map, AS_PROGRAM, 8, dec0_state )
AM_RANGE(0x108000, 0x108001) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
AM_RANGE(0x118000, 0x118001) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0x138000, 0x138001) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x138000, 0x138001) AM_READ(soundlatch_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
ADDRESS_MAP_END
@@ -654,7 +654,7 @@ static ADDRESS_MAP_START( automat_s_map, AS_PROGRAM, 8, dec0_state )
AM_RANGE(0xc000, 0xc7ff) AM_RAM
// AM_RANGE(0xc800, 0xc800) AM_WRITE_LEGACY(ym2203_control_port_0_w)
// AM_RANGE(0xc801, 0xc801) AM_WRITE_LEGACY(ym2203_write_port_0_w)
- AM_RANGE(0xd800, 0xd800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xd800, 0xd800) AM_READ(soundlatch_r)
// AM_RANGE(0xd000, 0xd000) AM_WRITE_LEGACY(ym2203_control_port_1_w)
// AM_RANGE(0xd001, 0xd001) AM_WRITE_LEGACY(ym2203_write_port_1_w)
AM_RANGE(0xf000, 0xf000) AM_WRITE(automat_adpcm_w)
diff --git a/src/mame/drivers/dec8.c b/src/mame/drivers/dec8.c
index 0c299fe8185..ecb7fd23ca6 100644
--- a/src/mame/drivers/dec8.c
+++ b/src/mame/drivers/dec8.c
@@ -873,7 +873,7 @@ static ADDRESS_MAP_START( dec8_s_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x0000, 0x05ff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x4000, 0x4001) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
- AM_RANGE(0x6000, 0x6000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -882,7 +882,7 @@ static ADDRESS_MAP_START( oscar_s_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x0000, 0x05ff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x4000, 0x4001) AM_DEVWRITE_LEGACY("ym2", ym3526_w)
- AM_RANGE(0x6000, 0x6000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -891,7 +891,7 @@ static ADDRESS_MAP_START( ym3526_s_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x0000, 0x05ff) AM_RAM
AM_RANGE(0x0800, 0x0801) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE_LEGACY("ym2", ym3526_w)
- AM_RANGE(0x3000, 0x3000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -902,7 +902,7 @@ static ADDRESS_MAP_START( csilver_s_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE_LEGACY("ym2", ym3526_w)
AM_RANGE(0x1800, 0x1800) AM_WRITE(csilver_adpcm_data_w) /* ADPCM data for the MSM5205 chip */
AM_RANGE(0x2000, 0x2000) AM_WRITE(csilver_sound_bank_w)
- AM_RANGE(0x3000, 0x3000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r)
AM_RANGE(0x3400, 0x3400) AM_DEVREAD_LEGACY("msm", csilver_adpcm_reset_r) /* ? not sure */
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank3")
AM_RANGE(0x8000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/deco32.c b/src/mame/drivers/deco32.c
index ad1c577c20e..885a31bded2 100644
--- a/src/mame/drivers/deco32.c
+++ b/src/mame/drivers/deco32.c
@@ -1004,7 +1004,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, deco32_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
- AM_RANGE(0x140000, 0x140001) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
diff --git a/src/mame/drivers/deco_ld.c b/src/mame/drivers/deco_ld.c
index 26b8cf34139..63feb29e28d 100644
--- a/src/mame/drivers/deco_ld.c
+++ b/src/mame/drivers/deco_ld.c
@@ -258,7 +258,7 @@ static ADDRESS_MAP_START( rblaster_sound_map, AS_PROGRAM, 8, deco_ld_state )
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE_LEGACY("ay1", ay8910_address_w)
AM_RANGE(0x6000, 0x6000) AM_DEVWRITE_LEGACY("ay2", ay8910_data_w)
AM_RANGE(0x8000, 0x8000) AM_DEVWRITE_LEGACY("ay2", ay8910_address_w)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/deniam.c b/src/mame/drivers/deniam.c
index b7c798c57c7..dbc83fa198a 100644
--- a/src/mame/drivers/deniam.c
+++ b/src/mame/drivers/deniam.c
@@ -101,7 +101,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, deniam_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x01, 0x01) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x01, 0x01) AM_READ(soundlatch_r)
AM_RANGE(0x02, 0x03) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
AM_RANGE(0x05, 0x05) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x07, 0x07) AM_DEVWRITE_LEGACY("oki", deniam16b_oki_rom_bank_w)
diff --git a/src/mame/drivers/dietgo.c b/src/mame/drivers/dietgo.c
index a4047a89de3..cac3369d7af 100644
--- a/src/mame/drivers/dietgo.c
+++ b/src/mame/drivers/dietgo.c
@@ -37,7 +37,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, dietgo_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_NOP /* This board only has 1 oki chip */
- AM_RANGE(0x140000, 0x140001) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
diff --git a/src/mame/drivers/discoboy.c b/src/mame/drivers/discoboy.c
index 5a3ce8824d0..9f2d8159fae 100644
--- a/src/mame/drivers/discoboy.c
+++ b/src/mame/drivers/discoboy.c
@@ -349,7 +349,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, discoboy_state )
AM_RANGE(0xe400, 0xe400) AM_WRITE(yunsung8_adpcm_w)
AM_RANGE(0xec00, 0xec01) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
AM_RANGE(0xf000, 0xf7ff) AM_RAM
- AM_RANGE(0xf800, 0xf800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/diverboy.c b/src/mame/drivers/diverboy.c
index 52109ccf23e..f166dbbefae 100644
--- a/src/mame/drivers/diverboy.c
+++ b/src/mame/drivers/diverboy.c
@@ -161,7 +161,7 @@ static ADDRESS_MAP_START( snd_map, AS_PROGRAM, 8, diverboy_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_DEVWRITE_LEGACY("oki", okibank_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/djboy.c b/src/mame/drivers/djboy.c
index 13c90bc4cc8..44527b3a087 100644
--- a/src/mame/drivers/djboy.c
+++ b/src/mame/drivers/djboy.c
@@ -293,7 +293,7 @@ static ADDRESS_MAP_START( cpu2_port_am, AS_IO, 8, djboy_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(cpu2_bankswitch_w)
AM_RANGE(0x02, 0x03) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
- AM_RANGE(0x04, 0x04) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x04, 0x04) AM_READ(soundlatch_r)
AM_RANGE(0x06, 0x06) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x07, 0x07) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dlair.c b/src/mame/drivers/dlair.c
index 06812a597ff..a8bde08b84b 100644
--- a/src/mame/drivers/dlair.c
+++ b/src/mame/drivers/dlair.c
@@ -430,7 +430,7 @@ static ADDRESS_MAP_START( dleuro_map, AS_PROGRAM, 8, dlair_state )
AM_RANGE(0xe018, 0xe018) AM_MIRROR(0x1f47) AM_WRITE(led_den2_w) // WT EXT LED 2
AM_RANGE(0xe020, 0xe020) AM_MIRROR(0x1f47) AM_WRITE(laserdisc_w) // DISC WT
AM_RANGE(0xe028, 0xe028) AM_MIRROR(0x1f47) AM_WRITE(dleuro_misc_w) // WT MISC
- AM_RANGE(0xe030, 0xe030) AM_MIRROR(0x1f47) AM_WRITE_LEGACY(watchdog_reset_w) // CLR WDOG
+ AM_RANGE(0xe030, 0xe030) AM_MIRROR(0x1f47) AM_WRITE(watchdog_reset_w) // CLR WDOG
AM_RANGE(0xe080, 0xe080) AM_MIRROR(0x1f47) AM_READ_PORT("P1") // CP A
AM_RANGE(0xe088, 0xe088) AM_MIRROR(0x1f47) AM_READ_PORT("SYSTEM") // CP B
AM_RANGE(0xe090, 0xe090) AM_MIRROR(0x1f47) AM_READ_PORT("DSW1") // OPT SW A
diff --git a/src/mame/drivers/dmndrby.c b/src/mame/drivers/dmndrby.c
index dc55f2046e1..3c402c03146 100644
--- a/src/mame/drivers/dmndrby.c
+++ b/src/mame/drivers/dmndrby.c
@@ -138,7 +138,7 @@ static ADDRESS_MAP_START( dderby_sound_map, AS_PROGRAM, 8, dmndrby_state )
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x1000) AM_RAM //???
AM_RANGE(0x4000, 0x4001) AM_DEVWRITE_LEGACY("ay1", ay8910_address_data_w)
- AM_RANGE(0x4000, 0x4000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x4000, 0x4000) AM_READ(soundlatch_r)
AM_RANGE(0x4001, 0x4001) AM_DEVREAD_LEGACY("ay1", ay8910_r)
AM_RANGE(0x6000, 0x67ff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/docastle.c b/src/mame/drivers/docastle.c
index 6979d25cb54..09b779f91eb 100644
--- a/src/mame/drivers/docastle.c
+++ b/src/mame/drivers/docastle.c
@@ -213,7 +213,7 @@ static ADDRESS_MAP_START( docastle_map, AS_PROGRAM, 8, docastle_state )
AM_RANGE(0x8000, 0x97ff) AM_RAM
AM_RANGE(0x9800, 0x99ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0xa000, 0xa008) AM_READWRITE_LEGACY(docastle_shared0_r, docastle_shared1_w)
- AM_RANGE(0xa800, 0xa800) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xa800, 0xa800) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xb000, 0xb3ff) AM_MIRROR(0x0800) AM_RAM_WRITE_LEGACY(docastle_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0xb400, 0xb7ff) AM_MIRROR(0x0800) AM_RAM_WRITE_LEGACY(docastle_colorram_w) AM_BASE(m_colorram)
AM_RANGE(0xe000, 0xe000) AM_WRITE_LEGACY(docastle_nmitrigger_w)
@@ -257,7 +257,7 @@ static ADDRESS_MAP_START( dorunrun_map, AS_PROGRAM, 8, docastle_state )
AM_RANGE(0x3800, 0x39ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x4000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa008) AM_READWRITE_LEGACY(docastle_shared0_r, docastle_shared1_w)
- AM_RANGE(0xa800, 0xa800) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xa800, 0xa800) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xb000, 0xb3ff) AM_RAM_WRITE_LEGACY(docastle_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0xb400, 0xb7ff) AM_RAM_WRITE_LEGACY(docastle_colorram_w) AM_BASE(m_colorram)
AM_RANGE(0xb800, 0xb800) AM_WRITE_LEGACY(docastle_nmitrigger_w)
@@ -287,7 +287,7 @@ static ADDRESS_MAP_START( idsoccer_map, AS_PROGRAM, 8, docastle_state )
AM_RANGE(0x5800, 0x59ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x6000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa008) AM_READWRITE_LEGACY(docastle_shared0_r, docastle_shared1_w)
- AM_RANGE(0xa800, 0xa800) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xa800, 0xa800) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xb000, 0xb3ff) AM_MIRROR(0x0800) AM_RAM_WRITE_LEGACY(docastle_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0xb400, 0xb7ff) AM_MIRROR(0x0800) AM_RAM_WRITE_LEGACY(docastle_colorram_w) AM_BASE(m_colorram)
AM_RANGE(0xc000, 0xc000) AM_DEVREADWRITE_LEGACY("msm", idsoccer_adpcm_status_r, idsoccer_adpcm_w)
diff --git a/src/mame/drivers/dooyong.c b/src/mame/drivers/dooyong.c
index 07f45f3102a..bf94a7295a1 100644
--- a/src/mame/drivers/dooyong.c
+++ b/src/mame/drivers/dooyong.c
@@ -125,7 +125,7 @@ static ADDRESS_MAP_START( lastday_map, AS_PROGRAM, 8, dooyong_state )
AM_RANGE(0xc011, 0xc011) AM_READ_PORT("P1")
AM_RANGE(0xc011, 0xc011) AM_WRITE(lastday_bankswitch_w)
AM_RANGE(0xc012, 0xc012) AM_READ_PORT("P2")
- AM_RANGE(0xc012, 0xc012) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xc012, 0xc012) AM_WRITE(soundlatch_w)
AM_RANGE(0xc013, 0xc013) AM_READ_PORT("DSWA")
AM_RANGE(0xc014, 0xc014) AM_READ_PORT("DSWB")
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_SHARE("paletteram")
@@ -146,7 +146,7 @@ static ADDRESS_MAP_START( pollux_map, AS_PROGRAM, 8, dooyong_state )
AM_RANGE(0xf003, 0xf003) AM_READ_PORT("P2")
AM_RANGE(0xf004, 0xf004) AM_READ_PORT("SYSTEM")
AM_RANGE(0xf008, 0xf008) AM_WRITE_LEGACY(pollux_ctrl_w) /* coin counter, flip screen */
- AM_RANGE(0xf010, 0xf010) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xf010, 0xf010) AM_WRITE(soundlatch_w)
AM_RANGE(0xf018, 0xf01f) AM_WRITE_LEGACY(dooyong_bgscroll8_w)
AM_RANGE(0xf020, 0xf027) AM_WRITE_LEGACY(dooyong_fgscroll8_w)
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_SHARE("paletteram")
@@ -165,7 +165,7 @@ static ADDRESS_MAP_START( gulfstrm_map, AS_PROGRAM, 8, dooyong_state )
AM_RANGE(0xf003, 0xf003) AM_READ_PORT("P1")
AM_RANGE(0xf004, 0xf004) AM_READ_PORT("SYSTEM")
AM_RANGE(0xf008, 0xf008) AM_WRITE_LEGACY(pollux_ctrl_w) /* coin counter, flip screen */
- AM_RANGE(0xf010, 0xf010) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xf010, 0xf010) AM_WRITE(soundlatch_w)
AM_RANGE(0xf018, 0xf01f) AM_WRITE_LEGACY(dooyong_bgscroll8_w)
AM_RANGE(0xf020, 0xf027) AM_WRITE_LEGACY(dooyong_fgscroll8_w)
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_le_w) AM_SHARE("paletteram")
@@ -181,7 +181,7 @@ static ADDRESS_MAP_START( bluehawk_map, AS_PROGRAM, 8, dooyong_state )
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("P2")
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("SYSTEM")
AM_RANGE(0xc008, 0xc008) AM_WRITE(lastday_bankswitch_w)
- AM_RANGE(0xc010, 0xc010) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xc010, 0xc010) AM_WRITE(soundlatch_w)
AM_RANGE(0xc018, 0xc01f) AM_WRITE_LEGACY(dooyong_fg2scroll8_w)
AM_RANGE(0xc040, 0xc047) AM_WRITE_LEGACY(dooyong_bgscroll8_w)
AM_RANGE(0xc048, 0xc04f) AM_WRITE_LEGACY(dooyong_fgscroll8_w)
@@ -203,7 +203,7 @@ static ADDRESS_MAP_START( flytiger_map, AS_PROGRAM, 8, dooyong_state )
AM_RANGE(0xe006, 0xe006) AM_READ_PORT("DSWA")
AM_RANGE(0xe008, 0xe008) AM_READ_PORT("DSWB")
AM_RANGE(0xe010, 0xe010) AM_WRITE_LEGACY(flytiger_ctrl_w) /* coin counter, flip screen */
- AM_RANGE(0xe020, 0xe020) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xe020, 0xe020) AM_WRITE(soundlatch_w)
AM_RANGE(0xe030, 0xe037) AM_WRITE_LEGACY(dooyong_bgscroll8_w)
AM_RANGE(0xe040, 0xe047) AM_WRITE_LEGACY(dooyong_fgscroll8_w)
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE_LEGACY(paletteram_flytiger_w) AM_BASE(m_paletteram_flytiger)
@@ -220,7 +220,7 @@ static ADDRESS_MAP_START( primella_map, AS_PROGRAM, 8, dooyong_state )
AM_RANGE(0xf800, 0xf800) AM_READ_PORT("DSWA")
AM_RANGE(0xf800, 0xf800) AM_WRITE_LEGACY(primella_ctrl_w) /* bank switch, flip screen etc */
AM_RANGE(0xf810, 0xf810) AM_READ_PORT("DSWB")
- AM_RANGE(0xf810, 0xf810) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xf810, 0xf810) AM_WRITE(soundlatch_w)
AM_RANGE(0xf820, 0xf820) AM_READ_PORT("P1")
AM_RANGE(0xf830, 0xf830) AM_READ_PORT("P2")
AM_RANGE(0xf840, 0xf840) AM_READ_PORT("SYSTEM")
@@ -240,7 +240,7 @@ static ADDRESS_MAP_START( rshark_map, AS_PROGRAM, 16, dooyong_state )
AM_RANGE(0x0c4000, 0x0c400f) AM_WRITE_LEGACY(dooyong_bgscroll16_w)
AM_RANGE(0x0c4010, 0x0c401f) AM_WRITE_LEGACY(dooyong_bg2scroll16_w)
AM_RANGE(0x0c8000, 0x0c8fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
- AM_RANGE(0x0c0012, 0x0c0013) AM_WRITE_LEGACY(soundlatch_word_w)
+ AM_RANGE(0x0c0012, 0x0c0013) AM_WRITE(soundlatch_word_w)
AM_RANGE(0x0c0014, 0x0c0015) AM_WRITE_LEGACY(rshark_ctrl_w) /* flip screen + unknown stuff */
AM_RANGE(0x0cc000, 0x0cc00f) AM_WRITE_LEGACY(dooyong_fgscroll16_w)
AM_RANGE(0x0cc010, 0x0cc01f) AM_WRITE_LEGACY(dooyong_fg2scroll16_w)
@@ -258,7 +258,7 @@ static ADDRESS_MAP_START( superx_map, AS_PROGRAM, 16, dooyong_state )
AM_RANGE(0x084000, 0x08400f) AM_WRITE_LEGACY(dooyong_bgscroll16_w)
AM_RANGE(0x084010, 0x08401f) AM_WRITE_LEGACY(dooyong_bg2scroll16_w)
AM_RANGE(0x088000, 0x088fff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
- AM_RANGE(0x080012, 0x080013) AM_WRITE_LEGACY(soundlatch_word_w)
+ AM_RANGE(0x080012, 0x080013) AM_WRITE(soundlatch_word_w)
AM_RANGE(0x080014, 0x080015) AM_WRITE_LEGACY(rshark_ctrl_w) /* flip screen + unknown stuff */
AM_RANGE(0x08c000, 0x08c00f) AM_WRITE_LEGACY(dooyong_fgscroll16_w)
AM_RANGE(0x08c010, 0x08c01f) AM_WRITE_LEGACY(dooyong_fg2scroll16_w)
@@ -273,7 +273,7 @@ static ADDRESS_MAP_START( popbingo_map, AS_PROGRAM, 16, dooyong_state )
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW")
AM_RANGE(0x0c0004, 0x0c0005) AM_READ_PORT("P1_P2")
AM_RANGE(0x0c0006, 0x0c0007) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x0c0012, 0x0c0013) AM_WRITE_LEGACY(soundlatch_word_w)
+ AM_RANGE(0x0c0012, 0x0c0013) AM_WRITE(soundlatch_word_w)
AM_RANGE(0x0c0014, 0x0c0015) AM_WRITE_LEGACY(rshark_ctrl_w)
AM_RANGE(0x0c0018, 0x0c001b) AM_WRITENOP // ?
AM_RANGE(0x0c4000, 0x0c400f) AM_WRITE_LEGACY(dooyong_bgscroll16_w)
@@ -287,7 +287,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( lastday_sound_map, AS_PROGRAM, 8, dooyong_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xc800, 0xc800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc800, 0xc800) AM_READ(soundlatch_r)
AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r, ym2203_w)
AM_RANGE(0xf002, 0xf003) AM_DEVREADWRITE_LEGACY("ym2", ym2203_r, ym2203_w)
ADDRESS_MAP_END
@@ -295,7 +295,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pollux_sound_map, AS_PROGRAM, 8, dooyong_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
- AM_RANGE(0xf800, 0xf800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r)
AM_RANGE(0xf802, 0xf803) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r, ym2203_w)
AM_RANGE(0xf804, 0xf805) AM_DEVREADWRITE_LEGACY("ym2", ym2203_r, ym2203_w)
ADDRESS_MAP_END
@@ -303,7 +303,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( bluehawk_sound_map, AS_PROGRAM, 8, dooyong_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
- AM_RANGE(0xf800, 0xf800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r)
AM_RANGE(0xf808, 0xf809) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xf80a, 0xf80a) AM_DEVREADWRITE("oki", okim6295_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dragrace.c b/src/mame/drivers/dragrace.c
index d61e0c219b1..c436bfeb17f 100644
--- a/src/mame/drivers/dragrace.c
+++ b/src/mame/drivers/dragrace.c
@@ -172,7 +172,7 @@ static ADDRESS_MAP_START( dragrace_map, AS_PROGRAM, 8, dragrace_state )
AM_RANGE(0x0b00, 0x0bff) AM_WRITEONLY AM_BASE(m_position_ram)
AM_RANGE(0x0c00, 0x0c00) AM_READ(dragrace_steering_r)
AM_RANGE(0x0d00, 0x0d00) AM_READ(dragrace_scanline_r)
- AM_RANGE(0x0e00, 0x0eff) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x0e00, 0x0eff) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1000, 0x1fff) AM_ROM /* program */
AM_RANGE(0xf800, 0xffff) AM_ROM /* program mirror */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dunhuang.c b/src/mame/drivers/dunhuang.c
index 8e55b9a35fa..1f6a0cdca27 100644
--- a/src/mame/drivers/dunhuang.c
+++ b/src/mame/drivers/dunhuang.c
@@ -489,7 +489,7 @@ static ADDRESS_MAP_START( dunhuang_io_map, AS_IO, 8, dunhuang_state )
AM_RANGE( 0x0008, 0x0008 ) AM_WRITE(dunhuang_vert_clear_w )
- AM_RANGE( 0x000c, 0x000c ) AM_READ_LEGACY(watchdog_reset_r )
+ AM_RANGE( 0x000c, 0x000c ) AM_READ(watchdog_reset_r )
AM_RANGE( 0x000f, 0x000f ) AM_WRITE(dunhuang_block_addr_lo_w )
AM_RANGE( 0x0010, 0x0010 ) AM_WRITE(dunhuang_block_addr_hi_w )
diff --git a/src/mame/drivers/dynadice.c b/src/mame/drivers/dynadice.c
index 82dac1d45ff..e6192d18cbc 100644
--- a/src/mame/drivers/dynadice.c
+++ b/src/mame/drivers/dynadice.c
@@ -103,7 +103,7 @@ static ADDRESS_MAP_START( dynadice_io_map, AS_IO, 8, dynadice_state )
AM_RANGE(0x51, 0x51) AM_READ_PORT("IN1")
AM_RANGE(0x52, 0x52) AM_READ_PORT("DSW")
AM_RANGE(0x62, 0x62) AM_WRITENOP
- AM_RANGE(0x63, 0x63) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x63, 0x63) AM_WRITE(soundlatch_w)
AM_RANGE(0x70, 0x77) AM_WRITENOP
ADDRESS_MAP_END
@@ -114,8 +114,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( dynadice_sound_io_map, AS_IO, 8, dynadice_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch_r)
- AM_RANGE(0x01, 0x01) AM_WRITE_LEGACY(soundlatch_clear_w)
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r)
+ AM_RANGE(0x01, 0x01) AM_WRITE(soundlatch_clear_w)
AM_RANGE(0x02, 0x02) AM_WRITE(sound_data_w)
AM_RANGE(0x03, 0x03) AM_DEVWRITE_LEGACY("aysnd", sound_control_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/egghunt.c b/src/mame/drivers/egghunt.c
index 44dde71ac0c..b318a4a646f 100644
--- a/src/mame/drivers/egghunt.c
+++ b/src/mame/drivers/egghunt.c
@@ -239,7 +239,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, egghunt_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
AM_RANGE(0xe001, 0xe001) AM_DEVREADWRITE_LEGACY("oki", egghunt_okibanking_r, egghunt_okibanking_w)
AM_RANGE(0xe004, 0xe004) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xf000, 0xffff) AM_RAM
diff --git a/src/mame/drivers/epos.c b/src/mame/drivers/epos.c
index 8f530436959..3bfbd26144c 100644
--- a/src/mame/drivers/epos.c
+++ b/src/mame/drivers/epos.c
@@ -78,7 +78,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( io_map, AS_IO, 8, epos_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW") AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW") AM_WRITE(watchdog_reset_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("SYSTEM") AM_WRITE_LEGACY(epos_port_1_w)
AM_RANGE(0x02, 0x02) AM_READ_PORT("INPUTS") AM_DEVWRITE_LEGACY("aysnd", ay8910_data_w)
AM_RANGE(0x03, 0x03) AM_READ_PORT("UNK")
@@ -90,7 +90,7 @@ static ADDRESS_MAP_START( dealer_io_map, AS_IO, 8, epos_state )
AM_RANGE(0x10, 0x13) AM_DEVREADWRITE_LEGACY("ppi8255", ppi8255_r, ppi8255_w)
AM_RANGE(0x20, 0x24) AM_WRITE(dealer_decrypt_rom)
AM_RANGE(0x38, 0x38) AM_READ_PORT("DSW")
-// AM_RANGE(0x40, 0x40) AM_WRITE_LEGACY(watchdog_reset_w)
+// AM_RANGE(0x40, 0x40) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/eprom.c b/src/mame/drivers/eprom.c
index fac615f2e6e..df548cd72e5 100644
--- a/src/mame/drivers/eprom.c
+++ b/src/mame/drivers/eprom.c
@@ -170,7 +170,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, eprom_state )
AM_RANGE(0x260010, 0x26001f) AM_READ_LEGACY(special_port1_r)
AM_RANGE(0x260020, 0x26002f) AM_READ_LEGACY(adc_r)
AM_RANGE(0x260030, 0x260031) AM_READ_LEGACY(atarigen_sound_r)
- AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x360000, 0x360001) AM_WRITE_LEGACY(atarigen_video_int_ack_w)
AM_RANGE(0x360010, 0x360011) AM_WRITE_LEGACY(eprom_latch_w)
AM_RANGE(0x360020, 0x360021) AM_WRITE_LEGACY(atarigen_sound_reset_w)
@@ -195,7 +195,7 @@ static ADDRESS_MAP_START( guts_map, AS_PROGRAM, 16, eprom_state )
AM_RANGE(0x260010, 0x26001f) AM_READ_LEGACY(special_port1_r)
AM_RANGE(0x260020, 0x26002f) AM_READ_LEGACY(adc_r)
AM_RANGE(0x260030, 0x260031) AM_READ_LEGACY(atarigen_sound_r)
- AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x360000, 0x360001) AM_WRITE_LEGACY(atarigen_video_int_ack_w)
// AM_RANGE(0x360010, 0x360011) AM_WRITE_LEGACY(eprom_latch_w)
AM_RANGE(0x360020, 0x360021) AM_WRITE_LEGACY(atarigen_sound_reset_w)
diff --git a/src/mame/drivers/equites.c b/src/mame/drivers/equites.c
index 1a2d59d9499..b12c2b00722 100644
--- a/src/mame/drivers/equites.c
+++ b/src/mame/drivers/equites.c
@@ -712,7 +712,7 @@ static ADDRESS_MAP_START( equites_map, AS_PROGRAM, 16, equites_state )
AM_RANGE(0x100000, 0x100001) AM_READ(equites_spriteram_kludge_r)
AM_RANGE(0x100000, 0x1001ff) AM_RAM AM_BASE(m_spriteram)
AM_RANGE(0x140000, 0x1407ff) AM_READWRITE(mcu_r, mcu_w) // 8-bit
- AM_RANGE(0x180000, 0x180001) AM_READ_PORT("IN1") AM_WRITE_LEGACY(soundlatch_word_w) // LSB: sound latch
+ AM_RANGE(0x180000, 0x180001) AM_READ_PORT("IN1") AM_WRITE(soundlatch_word_w) // LSB: sound latch
AM_RANGE(0x184000, 0x184001) AM_WRITE_LEGACY(equites_flip0_w)
AM_RANGE(0x188000, 0x188001) AM_WRITE(mcu_halt_clear_w) // 8404 control port1
AM_RANGE(0x18c000, 0x18c001) AM_WRITENOP // 8404 control port2
@@ -723,7 +723,7 @@ static ADDRESS_MAP_START( equites_map, AS_PROGRAM, 16, equites_state )
AM_RANGE(0x380000, 0x380001) AM_WRITE_LEGACY(equites_bgcolor_w) // bg color register[CC--]
// 580000 unknown (protection?) (gekisou only, installed by DRIVER_INIT)
// 5a0000 unknown (protection?) (gekisou only, installed by DRIVER_INIT)
- AM_RANGE(0x780000, 0x780001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x780000, 0x780001) AM_WRITE(watchdog_reset16_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( splndrbt_map, AS_PROGRAM, 16, equites_state )
@@ -739,7 +739,7 @@ static ADDRESS_MAP_START( splndrbt_map, AS_PROGRAM, 16, equites_state )
AM_RANGE(0x0e8000, 0x0e8001) AM_WRITENOP // 8404 control port4
AM_RANGE(0x0ec000, 0x0ec001) AM_WRITE_LEGACY(splndrbt_selchar1_w) // select active char map
AM_RANGE(0x100000, 0x100001) AM_WRITE_LEGACY(splndrbt_bg_scrollx_w)
- AM_RANGE(0x140000, 0x140001) AM_WRITE_LEGACY(soundlatch_word_w) // LSB: sound command
+ AM_RANGE(0x140000, 0x140001) AM_WRITE(soundlatch_word_w) // LSB: sound command
AM_RANGE(0x1c0000, 0x1c0001) AM_WRITE_LEGACY(splndrbt_bg_scrolly_w)
AM_RANGE(0x180000, 0x1807ff) AM_READWRITE(mcu_r, mcu_w) // 8-bit
AM_RANGE(0x200000, 0x200fff) AM_MIRROR(0x1000) AM_READWRITE_LEGACY(equites_fg_videoram_r, equites_fg_videoram_w) // 8-bit
@@ -751,7 +751,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, equites_state )
AM_RANGE(0x0000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xc000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r)
AM_RANGE(0xc080, 0xc08d) AM_DEVWRITE_LEGACY("msm", msm5232_w)
AM_RANGE(0xc0a0, 0xc0a1) AM_DEVWRITE_LEGACY("aysnd", ay8910_data_address_w)
AM_RANGE(0xc0b0, 0xc0b0) AM_WRITENOP // n.c.
diff --git a/src/mame/drivers/espial.c b/src/mame/drivers/espial.c
index c3fc82f31a7..dcf1466229f 100644
--- a/src/mame/drivers/espial.c
+++ b/src/mame/drivers/espial.c
@@ -114,8 +114,8 @@ static ADDRESS_MAP_START( espial_map, AS_PROGRAM, 8, espial_state )
AM_RANGE(0x6082, 0x6082) AM_READ_PORT("DSW1")
AM_RANGE(0x6083, 0x6083) AM_READ_PORT("IN1")
AM_RANGE(0x6084, 0x6084) AM_READ_PORT("IN2")
- AM_RANGE(0x6090, 0x6090) AM_READ_LEGACY(soundlatch2_r) AM_WRITE(espial_master_soundlatch_w)
- AM_RANGE(0x7000, 0x7000) AM_READWRITE_LEGACY(watchdog_reset_r, watchdog_reset_w)
+ AM_RANGE(0x6090, 0x6090) AM_READ(soundlatch2_r) AM_WRITE(espial_master_soundlatch_w)
+ AM_RANGE(0x7000, 0x7000) AM_READWRITE(watchdog_reset_r, watchdog_reset_w)
AM_RANGE(0x7100, 0x7100) AM_WRITE(espial_master_interrupt_mask_w)
AM_RANGE(0x7200, 0x7200) AM_WRITE_LEGACY(espial_flipscreen_w)
AM_RANGE(0x8000, 0x801f) AM_RAM AM_BASE(m_spriteram_1)
@@ -139,8 +139,8 @@ static ADDRESS_MAP_START( netwars_map, AS_PROGRAM, 8, espial_state )
AM_RANGE(0x6082, 0x6082) AM_READ_PORT("DSW1")
AM_RANGE(0x6083, 0x6083) AM_READ_PORT("IN1")
AM_RANGE(0x6084, 0x6084) AM_READ_PORT("IN2")
- AM_RANGE(0x6090, 0x6090) AM_READ_LEGACY(soundlatch2_r) AM_WRITE(espial_master_soundlatch_w)
- AM_RANGE(0x7000, 0x7000) AM_READWRITE_LEGACY(watchdog_reset_r, watchdog_reset_w)
+ AM_RANGE(0x6090, 0x6090) AM_READ(soundlatch2_r) AM_WRITE(espial_master_soundlatch_w)
+ AM_RANGE(0x7000, 0x7000) AM_READWRITE(watchdog_reset_r, watchdog_reset_w)
AM_RANGE(0x7100, 0x7100) AM_WRITE(espial_master_interrupt_mask_w)
AM_RANGE(0x7200, 0x7200) AM_WRITE_LEGACY(espial_flipscreen_w)
AM_RANGE(0x8000, 0x801f) AM_RAM AM_BASE(m_spriteram_1)
@@ -157,7 +157,7 @@ static ADDRESS_MAP_START( espial_sound_map, AS_PROGRAM, 8, espial_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_WRITE_LEGACY(espial_sound_nmi_mask_w)
- AM_RANGE(0x6000, 0x6000) AM_READWRITE_LEGACY(soundlatch_r, soundlatch2_w)
+ AM_RANGE(0x6000, 0x6000) AM_READWRITE(soundlatch_r, soundlatch2_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( espial_sound_io_map, AS_IO, 8, espial_state )
diff --git a/src/mame/drivers/exedexes.c b/src/mame/drivers/exedexes.c
index e3ceb53b0c9..fd9caa9f94e 100644
--- a/src/mame/drivers/exedexes.c
+++ b/src/mame/drivers/exedexes.c
@@ -35,7 +35,7 @@ static ADDRESS_MAP_START( exedexes_map, AS_PROGRAM, 8, exedexes_state )
AM_RANGE(0xc002, 0xc002) AM_READ_PORT("P2")
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("DSW0")
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("DSW1")
- AM_RANGE(0xc800, 0xc800) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xc800, 0xc800) AM_WRITE(soundlatch_w)
AM_RANGE(0xc804, 0xc804) AM_WRITE_LEGACY(exedexes_c804_w) /* coin counters + text layer enable */
AM_RANGE(0xc806, 0xc806) AM_WRITENOP /* Watchdog ?? */
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE_LEGACY(exedexes_videoram_w) AM_BASE(m_videoram) /* Video RAM */
@@ -53,7 +53,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, exedexes_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
- AM_RANGE(0x6000, 0x6000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0x8001) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_data_w)
AM_RANGE(0x8002, 0x8002) AM_DEVWRITE_LEGACY("sn1", sn76496_w)
AM_RANGE(0x8003, 0x8003) AM_DEVWRITE_LEGACY("sn2", sn76496_w)
diff --git a/src/mame/drivers/exerion.c b/src/mame/drivers/exerion.c
index 59f314e72ed..226c2a79a6b 100644
--- a/src/mame/drivers/exerion.c
+++ b/src/mame/drivers/exerion.c
@@ -201,7 +201,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, exerion_state )
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("DSW0")
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW1")
AM_RANGE(0xc000, 0xc000) AM_WRITE_LEGACY(exerion_videoreg_w)
- AM_RANGE(0xc800, 0xc800) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xc800, 0xc800) AM_WRITE(soundlatch_w)
AM_RANGE(0xd000, 0xd001) AM_DEVWRITE_LEGACY("ay1", ay8910_address_data_w)
AM_RANGE(0xd800, 0xd801) AM_DEVWRITE_LEGACY("ay2", ay8910_address_data_w)
AM_RANGE(0xd802, 0xd802) AM_DEVREAD_LEGACY("ay2", ay8910_r)
@@ -218,7 +218,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, exerion_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
- AM_RANGE(0x6000, 0x6000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0x800c) AM_WRITE_LEGACY(exerion_video_latch_w)
AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(exerion_video_timing_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/exprraid.c b/src/mame/drivers/exprraid.c
index e7072dae9d6..f117c7a7948 100644
--- a/src/mame/drivers/exprraid.c
+++ b/src/mame/drivers/exprraid.c
@@ -272,7 +272,7 @@ static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 8, exprraid_state )
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r, ym2203_w)
AM_RANGE(0x4000, 0x4001) AM_DEVREADWRITE_LEGACY("ym2", ym3526_r, ym3526_w)
- AM_RANGE(0x6000, 0x6000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/exterm.c b/src/mame/drivers/exterm.c
index d157baa7940..d213c389fe2 100644
--- a/src/mame/drivers/exterm.c
+++ b/src/mame/drivers/exterm.c
@@ -285,7 +285,7 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 16, exterm_state )
AM_RANGE(0x01480000, 0x014bffff) AM_MIRROR(0xfc000000) AM_READ_PORT("DSW")
AM_RANGE(0x01500000, 0x0153ffff) AM_MIRROR(0xfc000000) AM_WRITE(exterm_output_port_0_w)
AM_RANGE(0x01580000, 0x015bffff) AM_MIRROR(0xfc000000) AM_WRITE(sound_latch_w)
- AM_RANGE(0x015c0000, 0x015fffff) AM_MIRROR(0xfc000000) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x015c0000, 0x015fffff) AM_MIRROR(0xfc000000) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x01800000, 0x01807fff) AM_MIRROR(0xfc7f8000) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x02800000, 0x02807fff) AM_MIRROR(0xfc7f8000) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x03000000, 0x03ffffff) AM_MIRROR(0xfc000000) AM_ROM AM_REGION("user1", 0)
diff --git a/src/mame/drivers/f1gp.c b/src/mame/drivers/f1gp.c
index 0a358762d86..7f49f89c622 100644
--- a/src/mame/drivers/f1gp.c
+++ b/src/mame/drivers/f1gp.c
@@ -152,7 +152,7 @@ static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, f1gp_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(f1gp_sh_bankswitch_w) // f1gp
AM_RANGE(0x0c, 0x0c) AM_WRITE(f1gp_sh_bankswitch_w) // f1gp2
- AM_RANGE(0x14, 0x14) AM_READ_LEGACY(soundlatch_r) AM_WRITE(pending_command_clear_w)
+ AM_RANGE(0x14, 0x14) AM_READ(soundlatch_r) AM_WRITE(pending_command_clear_w)
AM_RANGE(0x18, 0x1b) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/fantland.c b/src/mame/drivers/fantland.c
index 18d8e7e11a2..f70914549d2 100644
--- a/src/mame/drivers/fantland.c
+++ b/src/mame/drivers/fantland.c
@@ -292,13 +292,13 @@ static ADDRESS_MAP_START( fantland_sound_map, AS_PROGRAM, 8, fantland_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( fantland_sound_iomap, AS_IO, 8, fantland_state )
- AM_RANGE( 0x0080, 0x0080 ) AM_READ_LEGACY(soundlatch_r )
+ AM_RANGE( 0x0080, 0x0080 ) AM_READ(soundlatch_r )
AM_RANGE( 0x0100, 0x0101 ) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w )
AM_RANGE( 0x0180, 0x0180 ) AM_DEVWRITE_LEGACY("dac", dac_w )
ADDRESS_MAP_END
static ADDRESS_MAP_START( galaxygn_sound_iomap, AS_IO, 8, fantland_state )
- AM_RANGE( 0x0080, 0x0080 ) AM_READ_LEGACY(soundlatch_r )
+ AM_RANGE( 0x0080, 0x0080 ) AM_READ(soundlatch_r )
AM_RANGE( 0x0100, 0x0101 ) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w )
ADDRESS_MAP_END
@@ -400,7 +400,7 @@ static void borntofi_adpcm_int_3(device_t *device) { borntofi_adpcm_int(device,
static ADDRESS_MAP_START( borntofi_sound_map, AS_PROGRAM, 8, fantland_state )
AM_RANGE( 0x00000, 0x003ff ) AM_RAM
- AM_RANGE( 0x04000, 0x04000 ) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE( 0x04000, 0x04000 ) AM_READ(soundlatch_r)
AM_RANGE( 0x04000, 0x0401f ) AM_WRITE(borntofi_msm5205_w)
AM_RANGE( 0x08000, 0x0ffff ) AM_ROM
AM_RANGE( 0xf8000, 0xfffff ) AM_ROM
@@ -419,7 +419,7 @@ static ADDRESS_MAP_START( wheelrun_sound_map, AS_PROGRAM, 8, fantland_state )
AM_RANGE(0xb000, 0xb000) AM_WRITENOP // on a car crash / hit
AM_RANGE(0xc000, 0xc000) AM_WRITENOP // ""
- AM_RANGE(0xd000, 0xd000) AM_READ_LEGACY(soundlatch_r ) // during NMI
+ AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r ) // during NMI
ADDRESS_MAP_END
diff --git a/src/mame/drivers/fastfred.c b/src/mame/drivers/fastfred.c
index b616577220e..e7039705d69 100644
--- a/src/mame/drivers/fastfred.c
+++ b/src/mame/drivers/fastfred.c
@@ -199,7 +199,7 @@ static ADDRESS_MAP_START( fastfred_map, AS_PROGRAM, 8, fastfred_state )
AM_RANGE(0xf007, 0xf007) AM_WRITE_LEGACY(fastfred_flip_screen_y_w)
AM_RANGE(0xf116, 0xf116) AM_WRITE_LEGACY(fastfred_flip_screen_x_w)
AM_RANGE(0xf117, 0xf117) AM_WRITE_LEGACY(fastfred_flip_screen_y_w)
- AM_RANGE(0xf800, 0xf800) AM_READWRITE_LEGACY(watchdog_reset_r, soundlatch_w)
+ AM_RANGE(0xf800, 0xf800) AM_READWRITE(watchdog_reset_r, soundlatch_w)
ADDRESS_MAP_END
@@ -225,7 +225,7 @@ static ADDRESS_MAP_START( jumpcoas_map, AS_PROGRAM, 8, fastfred_state )
AM_RANGE(0xf007, 0xf007) AM_WRITE_LEGACY(fastfred_flip_screen_y_w)
AM_RANGE(0xf116, 0xf116) AM_WRITE_LEGACY(fastfred_flip_screen_x_w)
AM_RANGE(0xf117, 0xf117) AM_WRITE_LEGACY(fastfred_flip_screen_y_w)
- //AM_RANGE(0xf800, 0xf800) AM_READ_LEGACY(watchdog_reset_r) // Why doesn't this work???
+ //AM_RANGE(0xf800, 0xf800) AM_READ(watchdog_reset_r) // Why doesn't this work???
AM_RANGE(0xf800, 0xf801) AM_READNOP AM_DEVWRITE_LEGACY("ay8910.1", ay8910_address_data_w)
ADDRESS_MAP_END
@@ -254,13 +254,13 @@ static ADDRESS_MAP_START( imago_map, AS_PROGRAM, 8, fastfred_state )
AM_RANGE(0xf007, 0xf007) AM_WRITE_LEGACY(fastfred_flip_screen_y_w)
AM_RANGE(0xf400, 0xf400) AM_WRITENOP // writes 0 or 2
AM_RANGE(0xf401, 0xf401) AM_WRITE_LEGACY(imago_sprites_bank_w)
- AM_RANGE(0xf800, 0xf800) AM_READNOP AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xf800, 0xf800) AM_READNOP AM_WRITE(soundlatch_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, fastfred_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
- AM_RANGE(0x3000, 0x3000) AM_READWRITE_LEGACY(soundlatch_r, sound_nmi_mask_w)
+ AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r) AM_WRITE_LEGACY(sound_nmi_mask_w)
AM_RANGE(0x4000, 0x4000) AM_WRITEONLY // Reset PSG's
AM_RANGE(0x5000, 0x5001) AM_DEVWRITE_LEGACY("ay8910.1", ay8910_address_data_w)
AM_RANGE(0x6000, 0x6001) AM_DEVWRITE_LEGACY("ay8910.2", ay8910_address_data_w)
diff --git a/src/mame/drivers/fastlane.c b/src/mame/drivers/fastlane.c
index e28a51b30bb..758479fef6a 100644
--- a/src/mame/drivers/fastlane.c
+++ b/src/mame/drivers/fastlane.c
@@ -75,7 +75,7 @@ static ADDRESS_MAP_START( fastlane_map, AS_PROGRAM, 8, fastlane_state )
AM_RANGE(0x0803, 0x0803) AM_READ_PORT("SYSTEM")
AM_RANGE(0x0900, 0x0900) AM_READ_PORT("DSW1")
AM_RANGE(0x0901, 0x0901) AM_READ_PORT("DSW2")
- AM_RANGE(0x0b00, 0x0b00) AM_WRITE_LEGACY(watchdog_reset_w) /* watchdog reset */
+ AM_RANGE(0x0b00, 0x0b00) AM_WRITE(watchdog_reset_w) /* watchdog reset */
AM_RANGE(0x0c00, 0x0c00) AM_WRITE(fastlane_bankswitch_w) /* bankswitch control */
AM_RANGE(0x0d00, 0x0d0d) AM_DEVREADWRITE_LEGACY("konami1", fastlane_k007232_r, fastlane_k007232_w) /* 007232 registers (chip 1) */
AM_RANGE(0x0e00, 0x0e0d) AM_DEVREADWRITE_LEGACY("konami2", fastlane_k007232_r, fastlane_k007232_w) /* 007232 registers (chip 2) */
diff --git a/src/mame/drivers/fcombat.c b/src/mame/drivers/fcombat.c
index 68587b1db22..47ca6d39f78 100644
--- a/src/mame/drivers/fcombat.c
+++ b/src/mame/drivers/fcombat.c
@@ -126,14 +126,14 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, fcombat_state )
AM_RANGE(0xec00, 0xec00) AM_WRITE(ec00_w)
AM_RANGE(0xed00, 0xed00) AM_WRITE(ed00_w)
AM_RANGE(0xee00, 0xee00) AM_WRITE(ee00_w) // related to protection ? - doesn't seem to have any effect
- AM_RANGE(0xef00, 0xef00) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xef00, 0xef00) AM_WRITE(soundlatch_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, fcombat_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
- AM_RANGE(0x6000, 0x6000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x8001, 0x8001) AM_DEVREAD_LEGACY("ay1", ay8910_r)
AM_RANGE(0x8002, 0x8003) AM_DEVWRITE_LEGACY("ay1", ay8910_data_address_w)
AM_RANGE(0xa001, 0xa001) AM_DEVREAD_LEGACY("ay2", ay8910_r)
diff --git a/src/mame/drivers/fcrash.c b/src/mame/drivers/fcrash.c
index c9e606f021f..e3c0ed8f445 100644
--- a/src/mame/drivers/fcrash.c
+++ b/src/mame/drivers/fcrash.c
@@ -46,7 +46,7 @@ static WRITE16_HANDLER( fcrash_soundlatch_w )
if (ACCESSING_BITS_0_7)
{
- soundlatch_w(space, 0, data & 0xff);
+ state->soundlatch_w(*space, 0, data & 0xff);
device_set_input_line(state->m_audiocpu, 0, HOLD_LINE);
}
}
@@ -399,7 +399,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cps_state )
AM_RANGE(0xd800, 0xd801) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r, ym2203_w)
AM_RANGE(0xdc00, 0xdc01) AM_DEVREADWRITE_LEGACY("ym2", ym2203_r, ym2203_w)
AM_RANGE(0xe000, 0xe000) AM_WRITE_LEGACY(fcrash_snd_bankswitch_w)
- AM_RANGE(0xe400, 0xe400) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe400, 0xe400) AM_READ(soundlatch_r)
AM_RANGE(0xe800, 0xe800) AM_WRITE_LEGACY(fcrash_msm5205_0_data_w)
AM_RANGE(0xec00, 0xec00) AM_WRITE_LEGACY(fcrash_msm5205_1_data_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/finalizr.c b/src/mame/drivers/finalizr.c
index 6db218559fc..b14d0e22def 100644
--- a/src/mame/drivers/finalizr.c
+++ b/src/mame/drivers/finalizr.c
@@ -104,12 +104,12 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, finalizr_state )
AM_RANGE(0x0811, 0x0811) AM_READ_PORT("P1")
AM_RANGE(0x0812, 0x0812) AM_READ_PORT("P2")
AM_RANGE(0x0813, 0x0813) AM_READ_PORT("DSW1")
- AM_RANGE(0x0818, 0x0818) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x0818, 0x0818) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x0819, 0x0819) AM_WRITE(finalizr_coin_w)
AM_RANGE(0x081a, 0x081a) AM_DEVWRITE_LEGACY("snsnd", sn76496_w) /* This address triggers the SN chip to read the data port. */
AM_RANGE(0x081b, 0x081b) AM_WRITENOP /* Loads the snd command into the snd latch */
AM_RANGE(0x081c, 0x081c) AM_WRITE(finalizr_i8039_irq_w) /* custom sound chip */
- AM_RANGE(0x081d, 0x081d) AM_WRITE_LEGACY(soundlatch_w) /* custom sound chip */
+ AM_RANGE(0x081d, 0x081d) AM_WRITE(soundlatch_w) /* custom sound chip */
AM_RANGE(0x2000, 0x23ff) AM_RAM AM_BASE(m_colorram)
AM_RANGE(0x2400, 0x27ff) AM_RAM AM_BASE_SIZE(m_videoram, m_videoram_size)
AM_RANGE(0x2800, 0x2bff) AM_RAM AM_BASE(m_colorram2)
@@ -126,7 +126,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, finalizr_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, finalizr_state )
- AM_RANGE(0x00, 0xff) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x00, 0xff) AM_READ(soundlatch_r)
AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_DEVWRITE_LEGACY("dac", dac_w)
AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_WRITE(i8039_irqen_w)
AM_RANGE(MCS48_PORT_T0, MCS48_PORT_T0) AM_WRITE(i8039_T0_w)
diff --git a/src/mame/drivers/firefox.c b/src/mame/drivers/firefox.c
index 205de3fb04f..b10bc9ebae4 100644
--- a/src/mame/drivers/firefox.c
+++ b/src/mame/drivers/firefox.c
@@ -513,7 +513,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, firefox_state )
AM_RANGE(0x4107, 0x4107) AM_MIRROR(0x00f8) AM_READ(adc_r) /* ADC */
AM_RANGE(0x4200, 0x4200) AM_MIRROR(0x0047) AM_WRITE(main_irq_clear_w) /* RSTIRQ */
AM_RANGE(0x4208, 0x4208) AM_MIRROR(0x0047) AM_WRITE(main_firq_clear_w) /* RSTFIRQ */
- AM_RANGE(0x4210, 0x4210) AM_MIRROR(0x0047) AM_WRITE_LEGACY(watchdog_reset_w) /* WDCLK */
+ AM_RANGE(0x4210, 0x4210) AM_MIRROR(0x0047) AM_WRITE(watchdog_reset_w) /* WDCLK */
AM_RANGE(0x4218, 0x4218) AM_MIRROR(0x0047) AM_WRITE(firefox_disc_read_w) /* DSKREAD */
AM_RANGE(0x4220, 0x4223) AM_MIRROR(0x0044) AM_WRITE(adc_select_w) /* ADCSTART */
AM_RANGE(0x4230, 0x4230) AM_MIRROR(0x0047) AM_WRITE(self_reset_w) /* AMUCK */
diff --git a/src/mame/drivers/firetrap.c b/src/mame/drivers/firetrap.c
index 7a054c32094..7963fa461a1 100644
--- a/src/mame/drivers/firetrap.c
+++ b/src/mame/drivers/firetrap.c
@@ -400,7 +400,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, firetrap_state )
AM_RANGE(0x2000, 0x2000) AM_WRITE(firetrap_adpcm_data_w) /* ADPCM data for the MSM5205 chip */
AM_RANGE(0x2400, 0x2400) AM_WRITE(firetrap_sound_2400_w)
AM_RANGE(0x2800, 0x2800) AM_WRITE(firetrap_sound_bankselect_w)
- AM_RANGE(0x3400, 0x3400) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x3400, 0x3400) AM_READ(soundlatch_r)
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank2")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/firetrk.c b/src/mame/drivers/firetrk.c
index 9e5d7fd7cd4..f9df3d7bb0d 100644
--- a/src/mame/drivers/firetrk.c
+++ b/src/mame/drivers/firetrk.c
@@ -330,7 +330,7 @@ static ADDRESS_MAP_START( firetrk_map, AS_PROGRAM, 8, firetrk_state )
AM_RANGE(0x1060, 0x1060) AM_MIRROR(0x001f) AM_DEVWRITE_LEGACY("discrete", firetrk_skid_reset_w)
AM_RANGE(0x1080, 0x1080) AM_MIRROR(0x001f) AM_WRITEONLY AM_BASE(m_car_rot)
AM_RANGE(0x10a0, 0x10a0) AM_MIRROR(0x001f) AM_WRITE(steer_reset_w)
- AM_RANGE(0x10c0, 0x10c0) AM_MIRROR(0x001f) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x10c0, 0x10c0) AM_MIRROR(0x001f) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x10e0, 0x10e0) AM_MIRROR(0x001f) AM_WRITE(blink_on_w) AM_BASE(m_blink)
AM_RANGE(0x1400, 0x1400) AM_MIRROR(0x001f) AM_DEVWRITE_LEGACY("discrete", firetrk_motor_snd_w)
AM_RANGE(0x1420, 0x1420) AM_MIRROR(0x001f) AM_DEVWRITE_LEGACY("discrete", firetrk_crash_snd_w)
@@ -355,7 +355,7 @@ static ADDRESS_MAP_START( superbug_map, AS_PROGRAM, 8, firetrk_state )
AM_RANGE(0x0160, 0x0160) AM_MIRROR(0x001f) AM_DEVWRITE_LEGACY("discrete", firetrk_skid_reset_w)
AM_RANGE(0x0180, 0x0180) AM_MIRROR(0x001f) AM_WRITEONLY AM_BASE(m_car_rot)
AM_RANGE(0x01a0, 0x01a0) AM_MIRROR(0x001f) AM_WRITE(steer_reset_w)
- AM_RANGE(0x01c0, 0x01c0) AM_MIRROR(0x001f) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x01c0, 0x01c0) AM_MIRROR(0x001f) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x01e0, 0x01e0) AM_MIRROR(0x001f) AM_WRITE(blink_on_w) AM_BASE(m_blink)
AM_RANGE(0x0200, 0x0207) AM_MIRROR(0x0018) AM_READ(firetrk_input_r)
AM_RANGE(0x0220, 0x0220) AM_MIRROR(0x001f) AM_DEVWRITE_LEGACY("discrete", firetrk_xtndply_w)
@@ -380,7 +380,7 @@ static ADDRESS_MAP_START( montecar_map, AS_PROGRAM, 8, firetrk_state )
AM_RANGE(0x1060, 0x1060) AM_MIRROR(0x001f) AM_WRITE(montecar_car_reset_w)
AM_RANGE(0x1080, 0x1080) AM_MIRROR(0x001f) AM_WRITEONLY AM_BASE(m_car_rot)
AM_RANGE(0x10a0, 0x10a0) AM_MIRROR(0x001f) AM_WRITE(steer_reset_w)
- AM_RANGE(0x10c0, 0x10c0) AM_MIRROR(0x001f) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x10c0, 0x10c0) AM_MIRROR(0x001f) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x10e0, 0x10e0) AM_MIRROR(0x001f) AM_DEVWRITE_LEGACY("discrete", montecar_skid_reset_w)
AM_RANGE(0x1400, 0x1400) AM_MIRROR(0x001f) AM_DEVWRITE_LEGACY("discrete", firetrk_motor_snd_w)
AM_RANGE(0x1420, 0x1420) AM_MIRROR(0x001f) AM_DEVWRITE_LEGACY("discrete", firetrk_crash_snd_w)
diff --git a/src/mame/drivers/flkatck.c b/src/mame/drivers/flkatck.c
index 2d290808dbb..9fbc6a9297f 100644
--- a/src/mame/drivers/flkatck.c
+++ b/src/mame/drivers/flkatck.c
@@ -110,7 +110,7 @@ static ADDRESS_MAP_START( flkatck_sound_map, AS_PROGRAM, 8, flkatck_state )
// AM_RANGE(0x9001, 0x9001) AM_RAM /* ??? */
AM_RANGE(0x9004, 0x9004) AM_READNOP /* ??? */
AM_RANGE(0x9006, 0x9006) AM_WRITENOP /* ??? */
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r) /* soundlatch_r */
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r) /* soundlatch_r */
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("konami", k007232_r, k007232_w) /* 007232 registers */
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w) /* YM2151 */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/flower.c b/src/mame/drivers/flower.c
index 033cf2c75af..f3491e4e5dd 100644
--- a/src/mame/drivers/flower.c
+++ b/src/mame/drivers/flower.c
@@ -135,7 +135,7 @@ static ADDRESS_MAP_START( flower_sound_cpu, AS_PROGRAM, 8, flower_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4000) AM_WRITE(flower_soundcpu_irq_ack)
AM_RANGE(0x4001, 0x4001) AM_WRITEONLY AM_BASE(m_sn_nmi_enable)
- AM_RANGE(0x6000, 0x6000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0x803f) AM_DEVWRITE_LEGACY("flower", flower_sound1_w)
AM_RANGE(0xa000, 0xa03f) AM_DEVWRITE_LEGACY("flower", flower_sound2_w)
AM_RANGE(0xc000, 0xc7ff) AM_RAM
diff --git a/src/mame/drivers/flstory.c b/src/mame/drivers/flstory.c
index 5d313011716..67f368458b8 100644
--- a/src/mame/drivers/flstory.c
+++ b/src/mame/drivers/flstory.c
@@ -445,7 +445,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, flstory_state )
AM_RANGE(0xca00, 0xca0d) AM_DEVWRITE_LEGACY("msm", msm5232_w)
AM_RANGE(0xcc00, 0xcc00) AM_DEVWRITE_LEGACY("msm", sound_control_0_w)
AM_RANGE(0xce00, 0xce00) AM_DEVWRITE_LEGACY("msm", sound_control_1_w)
- AM_RANGE(0xd800, 0xd800) AM_READ_LEGACY(soundlatch_r) AM_WRITE(to_main_w)
+ AM_RANGE(0xd800, 0xd800) AM_READ(soundlatch_r) AM_WRITE(to_main_w)
AM_RANGE(0xda00, 0xda00) AM_READNOP AM_WRITE(nmi_enable_w) /* unknown read*/
AM_RANGE(0xdc00, 0xdc00) AM_WRITE(nmi_disable_w)
AM_RANGE(0xde00, 0xde00) AM_READNOP AM_DEVWRITE_LEGACY("dac", dac_w) /* signed 8-bit DAC & unknown read */
diff --git a/src/mame/drivers/foodf.c b/src/mame/drivers/foodf.c
index 18566b00412..837c539e874 100644
--- a/src/mame/drivers/foodf.c
+++ b/src/mame/drivers/foodf.c
@@ -224,7 +224,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, foodf_state )
AM_RANGE(0x948000, 0x948001) AM_MIRROR(0x023ffe) AM_READ_PORT("SYSTEM") AM_WRITE8_LEGACY(digital_w, 0x00ff)
AM_RANGE(0x950000, 0x9501ff) AM_MIRROR(0x023e00) AM_WRITE_LEGACY(foodf_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x954000, 0x954001) AM_MIRROR(0x023ffe) AM_WRITE_LEGACY(nvram_recall_w)
- AM_RANGE(0x958000, 0x958001) AM_MIRROR(0x023ffe) AM_READWRITE_LEGACY(watchdog_reset16_r, watchdog_reset16_w)
+ AM_RANGE(0x958000, 0x958001) AM_MIRROR(0x023ffe) AM_READWRITE(watchdog_reset16_r, watchdog_reset16_w)
AM_RANGE(0xa40000, 0xa4001f) AM_MIRROR(0x03ffe0) AM_DEVREADWRITE8_LEGACY("pokey2", pokey_r, pokey_w, 0x00ff)
AM_RANGE(0xa80000, 0xa8001f) AM_MIRROR(0x03ffe0) AM_DEVREADWRITE8_LEGACY("pokey1", pokey_r, pokey_w, 0x00ff)
AM_RANGE(0xac0000, 0xac001f) AM_MIRROR(0x03ffe0) AM_DEVREADWRITE8_LEGACY("pokey3", pokey_r, pokey_w, 0x00ff)
diff --git a/src/mame/drivers/fromanc2.c b/src/mame/drivers/fromanc2.c
index 902f6ce4e09..c204f2086e1 100644
--- a/src/mame/drivers/fromanc2.c
+++ b/src/mame/drivers/fromanc2.c
@@ -295,8 +295,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( fromanc2_sound_io_map, AS_IO, 8, fromanc2_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch_r) AM_WRITENOP // snd cmd (1P) / ?
- AM_RANGE(0x04, 0x04) AM_READ_LEGACY(soundlatch2_r) // snd cmd (2P)
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r) AM_WRITENOP // snd cmd (1P) / ?
+ AM_RANGE(0x04, 0x04) AM_READ(soundlatch2_r) // snd cmd (2P)
AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
AM_RANGE(0x0c, 0x0c) AM_READ(fromanc2_sndcpu_nmi_clr)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/funkyjet.c b/src/mame/drivers/funkyjet.c
index 5f3762f8770..12e96d593e9 100644
--- a/src/mame/drivers/funkyjet.c
+++ b/src/mame/drivers/funkyjet.c
@@ -124,7 +124,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, funkyjet_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_NOP /* This board only has 1 oki chip */
- AM_RANGE(0x140000, 0x140001) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
diff --git a/src/mame/drivers/funybubl.c b/src/mame/drivers/funybubl.c
index 0efdf552e77..a76e418be47 100644
--- a/src/mame/drivers/funybubl.c
+++ b/src/mame/drivers/funybubl.c
@@ -104,7 +104,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, funybubl_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_DEVWRITE_LEGACY("oki", funybubl_oki_bank_sw)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/fuukifg2.c b/src/mame/drivers/fuukifg2.c
index 2bafe3361eb..219e22a89e1 100644
--- a/src/mame/drivers/fuukifg2.c
+++ b/src/mame/drivers/fuukifg2.c
@@ -140,7 +140,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( fuuki16_sound_io_map, AS_IO, 8, fuuki16_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(fuuki16_sound_rombank_w) // ROM Bank
- AM_RANGE(0x11, 0x11) AM_READ_LEGACY(soundlatch_r) AM_WRITENOP // From Main CPU / ? To Main CPU ?
+ AM_RANGE(0x11, 0x11) AM_READ(soundlatch_r) AM_WRITENOP // From Main CPU / ? To Main CPU ?
AM_RANGE(0x20, 0x20) AM_DEVWRITE_LEGACY("oki", fuuki16_oki_banking_w) // Oki Banking
AM_RANGE(0x30, 0x30) AM_WRITENOP // ? In the NMI routine
AM_RANGE(0x40, 0x41) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
diff --git a/src/mame/drivers/gaelco.c b/src/mame/drivers/gaelco.c
index ceb1739ee08..b944036ee94 100644
--- a/src/mame/drivers/gaelco.c
+++ b/src/mame/drivers/gaelco.c
@@ -121,7 +121,7 @@ static ADDRESS_MAP_START( bigkarnk_map, AS_PROGRAM, 16, gaelco_state )
AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE_LEGACY(gaelco_vram_w) AM_BASE(m_videoram) /* Video RAM */
AM_RANGE(0x102000, 0x103fff) AM_RAM /* Screen RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_BASE(m_vregs) /* Video Registers */
-// AM_RANGE(0x10800c, 0x10800d) AM_WRITE_LEGACY(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
+// AM_RANGE(0x10800c, 0x10800d) AM_WRITE(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(m_spriteram) /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW1")
@@ -139,7 +139,7 @@ static ADDRESS_MAP_START( bigkarnk_snd_map, AS_PROGRAM, 8, gaelco_state )
AM_RANGE(0x0800, 0x0801) AM_DEVREADWRITE("oki", okim6295_device, read, write) /* OKI6295 */
// AM_RANGE(0x0900, 0x0900) AM_WRITENOP /* enable sound output? */
AM_RANGE(0x0a00, 0x0a01) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w) /* YM3812 */
- AM_RANGE(0x0b00, 0x0b00) AM_READ_LEGACY(soundlatch_r) /* Sound latch */
+ AM_RANGE(0x0b00, 0x0b00) AM_READ(soundlatch_r) /* Sound latch */
AM_RANGE(0x0c00, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
@@ -148,7 +148,7 @@ static ADDRESS_MAP_START( maniacsq_map, AS_PROGRAM, 16, gaelco_state )
AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE_LEGACY(gaelco_vram_w) AM_BASE(m_videoram) /* Video RAM */
AM_RANGE(0x102000, 0x103fff) AM_RAM /* Screen RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_BASE(m_vregs) /* Video Registers */
-// AM_RANGE(0x10800c, 0x10800d) AM_WRITE_LEGACY(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
+// AM_RANGE(0x10800c, 0x10800d) AM_WRITE(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(m_spriteram) /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
@@ -165,7 +165,7 @@ static ADDRESS_MAP_START( squash_map, AS_PROGRAM, 16, gaelco_state )
AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE(gaelco_vram_encrypted_w) AM_BASE(m_videoram) /* Video RAM */
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(gaelco_encrypted_w) AM_BASE(m_screen) /* Screen RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_BASE(m_vregs) /* Video Registers */
-// AM_RANGE(0x10800c, 0x10800d) AM_WRITE_LEGACY(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
+// AM_RANGE(0x10800c, 0x10800d) AM_WRITE(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(m_spriteram) /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
@@ -182,7 +182,7 @@ static ADDRESS_MAP_START( thoop_map, AS_PROGRAM, 16, gaelco_state )
AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE(thoop_vram_encrypted_w) AM_BASE(m_videoram) /* Video RAM */
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(thoop_encrypted_w) AM_BASE(m_screen) /* Screen RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_BASE(m_vregs) /* Video Registers */
-// AM_RANGE(0x10800c, 0x10800d) AM_WRITE_LEGACY(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
+// AM_RANGE(0x10800c, 0x10800d) AM_WRITE(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(m_spriteram) /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
diff --git a/src/mame/drivers/gaiden.c b/src/mame/drivers/gaiden.c
index 581586da5f7..6136f4f0e30 100644
--- a/src/mame/drivers/gaiden.c
+++ b/src/mame/drivers/gaiden.c
@@ -407,7 +407,7 @@ static ADDRESS_MAP_START( gaiden_map, AS_PROGRAM, 16, gaiden_state )
AM_RANGE(0x07a304, 0x07a305) AM_WRITE_LEGACY(gaiden_bgscrolly_w)
AM_RANGE(0x07a308, 0x07a309) AM_WRITE_LEGACY(gaiden_bgoffsety_w)
AM_RANGE(0x07a30c, 0x07a30d) AM_WRITE_LEGACY(gaiden_bgscrollx_w)
- AM_RANGE(0x07a800, 0x07a801) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x07a800, 0x07a801) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x07a802, 0x07a803) AM_WRITE(gaiden_sound_command_w)
AM_RANGE(0x07a806, 0x07a807) AM_WRITENOP
AM_RANGE(0x07a808, 0x07a809) AM_WRITE_LEGACY(gaiden_flip_w)
@@ -440,7 +440,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, gaiden_state )
AM_RANGE(0xf810, 0xf811) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0xf820, 0xf821) AM_DEVWRITE_LEGACY("ym2", ym2203_w)
AM_RANGE(0xfc00, 0xfc00) AM_NOP /* ?? */
- AM_RANGE(0xfc20, 0xfc20) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xfc20, 0xfc20) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( drgnbowl_sound_map, AS_PROGRAM, 8, gaiden_state )
@@ -452,7 +452,7 @@ static ADDRESS_MAP_START( drgnbowl_sound_port_map, AS_IO, 8, gaiden_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xc0, 0xc0) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc0, 0xc0) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static INPUT_PORTS_START( common )
@@ -906,7 +906,7 @@ static ADDRESS_MAP_START( mastninj_sound_map, AS_PROGRAM, 8, gaiden_state )
AM_RANGE(0xc400, 0xc401) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0xc800, 0xc801) AM_DEVWRITE_LEGACY("ym2", ym2203_w)
// AM_RANGE(0xfc00, 0xfc00) AM_NOP /* ?? */
-// AM_RANGE(0xfc20, 0xfc20) AM_READ_LEGACY(soundlatch_r)
+// AM_RANGE(0xfc20, 0xfc20) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( mastninj_map, AS_PROGRAM, 16, gaiden_state )
@@ -927,7 +927,7 @@ static ADDRESS_MAP_START( mastninj_map, AS_PROGRAM, 16, gaiden_state )
AM_RANGE(0x07f002, 0x07f003) AM_WRITE_LEGACY(gaiden_bgscrollx_w)
AM_RANGE(0x07f004, 0x07f005) AM_WRITE_LEGACY(gaiden_fgscrolly_w)
AM_RANGE(0x07f006, 0x07f007) AM_WRITE_LEGACY(gaiden_fgscrollx_w)
- AM_RANGE(0x07a800, 0x07a801) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x07a800, 0x07a801) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x07e000, 0x07e001) AM_WRITE(gaiden_sound_command_w)
// AM_RANGE(0x07a806, 0x07a807) AM_WRITENOP
// AM_RANGE(0x07a808, 0x07a809) AM_WRITE_LEGACY(gaiden_flip_w)
diff --git a/src/mame/drivers/galaga.c b/src/mame/drivers/galaga.c
index 12a458fddf6..9bf6d019389 100644
--- a/src/mame/drivers/galaga.c
+++ b/src/mame/drivers/galaga.c
@@ -922,7 +922,7 @@ static ADDRESS_MAP_START( bosco_map, AS_PROGRAM, 8, bosco_state )
AM_RANGE(0x6800, 0x6807) AM_READ(bosco_dsw_r)
AM_RANGE(0x6800, 0x681f) AM_DEVWRITE_LEGACY("namco", pacman_sound_w)
AM_RANGE(0x6820, 0x6827) AM_WRITE(bosco_latch_w) /* misc latches */
- AM_RANGE(0x6830, 0x6830) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x6830, 0x6830) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x7000, 0x70ff) AM_DEVREADWRITE_LEGACY("06xx_0", namco_06xx_data_r, namco_06xx_data_w)
AM_RANGE(0x7100, 0x7100) AM_DEVREADWRITE_LEGACY("06xx_0", namco_06xx_ctrl_r, namco_06xx_ctrl_w)
AM_RANGE(0x7800, 0x7fff) AM_RAM AM_SHARE("share1")
@@ -944,7 +944,7 @@ static ADDRESS_MAP_START( galaga_map, AS_PROGRAM, 8, galaga_state )
AM_RANGE(0x6800, 0x6807) AM_READ(bosco_dsw_r)
AM_RANGE(0x6800, 0x681f) AM_DEVWRITE_LEGACY("namco", pacman_sound_w)
AM_RANGE(0x6820, 0x6827) AM_WRITE(bosco_latch_w) /* misc latches */
- AM_RANGE(0x6830, 0x6830) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x6830, 0x6830) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x7000, 0x70ff) AM_DEVREADWRITE_LEGACY("06xx", namco_06xx_data_r, namco_06xx_data_w)
AM_RANGE(0x7100, 0x7100) AM_DEVREADWRITE_LEGACY("06xx", namco_06xx_ctrl_r, namco_06xx_ctrl_w)
AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE_LEGACY(galaga_videoram_w) AM_BASE(m_videoram) AM_SHARE("gvr")
@@ -961,7 +961,7 @@ static ADDRESS_MAP_START( xevious_map, AS_PROGRAM, 8, xevious_state )
AM_RANGE(0x6800, 0x6807) AM_READ(bosco_dsw_r)
AM_RANGE(0x6800, 0x681f) AM_DEVWRITE_LEGACY("namco", pacman_sound_w)
AM_RANGE(0x6820, 0x6827) AM_WRITE(bosco_latch_w) /* misc latches */
- AM_RANGE(0x6830, 0x6830) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x6830, 0x6830) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x7000, 0x70ff) AM_DEVREADWRITE_LEGACY("06xx", namco_06xx_data_r, namco_06xx_data_w)
AM_RANGE(0x7100, 0x7100) AM_DEVREADWRITE_LEGACY("06xx", namco_06xx_ctrl_r, namco_06xx_ctrl_w)
AM_RANGE(0x7800, 0x7fff) AM_RAM AM_SHARE("share1") /* work RAM */
@@ -981,7 +981,7 @@ static ADDRESS_MAP_START( digdug_map, AS_PROGRAM, 8, digdug_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_WRITENOP /* the only area different for each CPU */
AM_RANGE(0x6800, 0x681f) AM_DEVWRITE_LEGACY("namco", pacman_sound_w)
AM_RANGE(0x6820, 0x6827) AM_WRITE(bosco_latch_w) /* misc latches */
- AM_RANGE(0x6830, 0x6830) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x6830, 0x6830) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x7000, 0x70ff) AM_DEVREADWRITE_LEGACY("06xx", namco_06xx_data_r, namco_06xx_data_w)
AM_RANGE(0x7100, 0x7100) AM_DEVREADWRITE_LEGACY("06xx", namco_06xx_ctrl_r, namco_06xx_ctrl_w)
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE_LEGACY(digdug_videoram_w) AM_BASE(m_videoram) AM_SHARE("dvr")/* tilemap RAM (bottom half of RAM 0 */
diff --git a/src/mame/drivers/galaxian.c b/src/mame/drivers/galaxian.c
index b0a751d6ef1..2100a07ba49 100644
--- a/src/mame/drivers/galaxian.c
+++ b/src/mame/drivers/galaxian.c
@@ -639,7 +639,7 @@ static const ppi8255_interface konami_ppi8255_1_intf =
DEVCB_NULL, /* Port A read */
DEVCB_NULL, /* Port B read */
DEVCB_INPUT_PORT("IN3"), /* Port C read */
- DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, soundlatch_w), /* Port A write */
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_w), /* Port A write */
DEVCB_HANDLER(konami_sound_control_w), /* Port B write */
DEVCB_HANDLER(konami_portc_1_w) /* Port C write */
};
@@ -743,7 +743,7 @@ static const ppi8255_interface scramble_ppi8255_1_intf =
DEVCB_NULL, /* Port A read */
DEVCB_NULL, /* Port B read */
DEVCB_HANDLER(scramble_protection_r), /* Port C read */
- DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, soundlatch_w), /* Port A write */
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_w), /* Port A write */
DEVCB_HANDLER(konami_sound_control_w), /* Port B write */
DEVCB_HANDLER(scramble_protection_w) /* Port C write */
};
@@ -764,8 +764,9 @@ static WRITE8_HANDLER( explorer_sound_control_w )
static READ8_DEVICE_HANDLER( explorer_sound_latch_r )
{
- cputag_set_input_line(device->machine(), "audiocpu", 0, CLEAR_LINE);
- return soundlatch_r(device->machine().device("audiocpu")->memory().space(AS_PROGRAM), 0);
+ galaxian_state *state = device->machine().driver_data<galaxian_state>();
+ cputag_set_input_line(device->machine(), "audiocpu", 0, CLEAR_LINE);
+ return state->soundlatch_r(*device->machine().device("audiocpu")->memory().space(AS_PROGRAM), 0);
}
@@ -808,7 +809,7 @@ static WRITE8_DEVICE_HANDLER( sfx_sample_control_w )
static const ppi8255_interface sfx_ppi8255_2_intf =
{
- DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, soundlatch2_r),/* Port A read */
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch2_r), /* Port A read */
DEVCB_NULL, /* Port B read */
DEVCB_NULL, /* Port C read */
DEVCB_NULL, /* Port A write */
@@ -1068,7 +1069,7 @@ static const ppi8255_interface scorpion_ppi8255_1_intf =
DEVCB_NULL, /* Port A read */
DEVCB_NULL, /* Port B read */
DEVCB_HANDLER(scorpion_protection_r), /* Port C read */
- DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, soundlatch_w), /* Port A write */
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_w), /* Port A write */
DEVCB_HANDLER(konami_sound_control_w), /* Port B write */
DEVCB_HANDLER(scorpion_protection_w) /* Port C write */
};
@@ -1205,7 +1206,7 @@ static WRITE8_HANDLER( kingball_sound2_w )
{
galaxian_state *state = space->machine().driver_data<galaxian_state>();
state->m_kingball_sound = (state->m_kingball_sound & ~0x02) | (data << 1);
- soundlatch_w(space, 0, state->m_kingball_sound | 0xf0);
+ state->soundlatch_w(*space, 0, state->m_kingball_sound | 0xf0);
}
@@ -1285,7 +1286,8 @@ static READ8_HANDLER( jumpbug_protection_r )
static WRITE8_HANDLER( checkman_sound_command_w )
{
- soundlatch_w(space, 0, data);
+ galaxian_state *state = space->machine().driver_data<galaxian_state>();
+ state->soundlatch_w(*space, 0, data);
cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
}
@@ -1451,7 +1453,7 @@ static ADDRESS_MAP_START( galaxian_map_base, AS_PROGRAM, 8, galaxian_state )
AM_RANGE(0x7006, 0x7006) AM_MIRROR(0x07f8) AM_WRITE_LEGACY(galaxian_flip_screen_x_w)
AM_RANGE(0x7007, 0x7007) AM_MIRROR(0x07f8) AM_WRITE_LEGACY(galaxian_flip_screen_y_w)
//AM_RANGE(0x7800, 0x7800) AM_MIRROR(0x07ff) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w)
- AM_RANGE(0x7800, 0x7800) AM_MIRROR(0x07ff) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x7800, 0x7800) AM_MIRROR(0x07ff) AM_READ(watchdog_reset_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( galaxian_map, AS_PROGRAM, 8, galaxian_state )
@@ -1485,7 +1487,7 @@ static ADDRESS_MAP_START( mooncrst_map_base, AS_PROGRAM, 8, galaxian_state )
AM_RANGE(0xb006, 0xb006) AM_MIRROR(0x07f8) AM_WRITE_LEGACY(galaxian_flip_screen_x_w)
AM_RANGE(0xb007, 0xb007) AM_MIRROR(0x07f8) AM_WRITE_LEGACY(galaxian_flip_screen_y_w)
// AM_RANGE(0xb800, 0xb800) AM_MIRROR(0x07ff) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w)
- AM_RANGE(0xb800, 0xb800) AM_MIRROR(0x07ff) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xb800, 0xb800) AM_MIRROR(0x07ff) AM_READ(watchdog_reset_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( mooncrst_map, AS_PROGRAM, 8, galaxian_state )
@@ -1508,7 +1510,7 @@ static ADDRESS_MAP_START( fantastc_map, AS_PROGRAM, 8, galaxian_state )
AM_RANGE(0xa800, 0xa800) AM_MIRROR(0x07ff) AM_READ_PORT("IN1")
AM_RANGE(0xb000, 0xb000) AM_MIRROR(0x07ff) AM_READ_PORT("IN2")
AM_RANGE(0xb000, 0xb000) AM_MIRROR(0x07f8) AM_WRITE_LEGACY(irq_enable_w)
- AM_RANGE(0xb800, 0xb800) AM_MIRROR(0x07ff) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xb800, 0xb800) AM_MIRROR(0x07ff) AM_READ(watchdog_reset_r)
AM_RANGE(0xfffe, 0xfffe) AM_NOP //?
ADDRESS_MAP_END
@@ -1532,7 +1534,7 @@ static ADDRESS_MAP_START( dambustr_map, AS_PROGRAM, 8, galaxian_state )
AM_RANGE(0xf004, 0xf004) AM_MIRROR(0x07f8) AM_WRITE_LEGACY(galaxian_stars_enable_w)
AM_RANGE(0xf006, 0xf006) AM_MIRROR(0x07f8) AM_WRITE_LEGACY(galaxian_flip_screen_x_w)
AM_RANGE(0xf007, 0xf007) AM_MIRROR(0x07f8) AM_WRITE_LEGACY(galaxian_flip_screen_y_w)
- AM_RANGE(0xf800, 0xf800) AM_MIRROR(0x07ff) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xf800, 0xf800) AM_MIRROR(0x07ff) AM_READ(watchdog_reset_r)
AM_RANGE(0xf800, 0xf800) AM_MIRROR(0x07ff) AM_WRITE_LEGACY(galaxian_pitch_w)
ADDRESS_MAP_END
#endif
@@ -1552,7 +1554,7 @@ static ADDRESS_MAP_START( theend_map, AS_PROGRAM, 8, galaxian_state )
AM_RANGE(0x6805, 0x6805) AM_MIRROR(0x07f8) //POUT2
AM_RANGE(0x6806, 0x6806) AM_MIRROR(0x07f8) AM_WRITE_LEGACY(galaxian_flip_screen_x_w)
AM_RANGE(0x6807, 0x6807) AM_MIRROR(0x07f8) AM_WRITE_LEGACY(galaxian_flip_screen_y_w)
- AM_RANGE(0x7000, 0x7000) AM_MIRROR(0x07ff) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x7000, 0x7000) AM_MIRROR(0x07ff) AM_READ(watchdog_reset_r)
AM_RANGE(0x8000, 0xffff) AM_READWRITE_LEGACY(theend_ppi8255_r, theend_ppi8255_w)
ADDRESS_MAP_END
@@ -1573,7 +1575,7 @@ static ADDRESS_MAP_START( scobra_map, AS_PROGRAM, 8, galaxian_state )
AM_RANGE(0xa805, 0xa805) AM_MIRROR(0x47f8) /* POUT2 */
AM_RANGE(0xa806, 0xa806) AM_MIRROR(0x47f8) AM_WRITE_LEGACY(galaxian_flip_screen_x_w)
AM_RANGE(0xa807, 0xa807) AM_MIRROR(0x47f8) AM_WRITE_LEGACY(galaxian_flip_screen_y_w)
- AM_RANGE(0xb000, 0xb000) AM_MIRROR(0x47ff) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xb000, 0xb000) AM_MIRROR(0x47ff) AM_READ(watchdog_reset_r)
ADDRESS_MAP_END
@@ -1590,7 +1592,7 @@ static ADDRESS_MAP_START( anteateruk_map, AS_PROGRAM, 8, galaxian_state )
AM_RANGE(0x1006, 0x1006) AM_MIRROR(0x01f8) AM_WRITE_LEGACY(galaxian_flip_screen_x_w)
AM_RANGE(0x1007, 0x1007) AM_MIRROR(0x01f8) AM_WRITE_LEGACY(galaxian_flip_screen_y_w)
AM_RANGE(0x1200, 0x12ff) AM_MIRROR(0x0100) AM_RAM_WRITE_LEGACY(galaxian_objram_w) AM_SHARE("spriteram")
- AM_RANGE(0x1400, 0x1400) AM_MIRROR(0x03ff) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x1400, 0x1400) AM_MIRROR(0x03ff) AM_READ(watchdog_reset_r)
AM_RANGE(0x4000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc003) AM_MIRROR(0x3efc) AM_DEVREADWRITE_LEGACY("ppi8255_1", ppi8255_r, ppi8255_w)
AM_RANGE(0xc100, 0xc103) AM_MIRROR(0x3efc) AM_DEVREADWRITE_LEGACY("ppi8255_0", ppi8255_r, ppi8255_w)
@@ -1613,7 +1615,7 @@ static ADDRESS_MAP_START( anteaterg_map, AS_PROGRAM, 8, galaxian_state )
AM_RANGE(0x2607, 0x2607) AM_MIRROR(0x01f8) AM_WRITE_LEGACY(galaxian_flip_screen_y_w)
AM_RANGE(0x4000, 0xbfff) AM_ROM
AM_RANGE(0x7c00, 0x7fff) AM_RAM_WRITE_LEGACY(galaxian_videoram_w) AM_BASE(m_videoram) /* mirror! */
- AM_RANGE(0xf400, 0xf400) AM_MIRROR(0x01ff) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xf400, 0xf400) AM_MIRROR(0x01ff) AM_READ(watchdog_reset_r)
AM_RANGE(0xf600, 0xf603) AM_MIRROR(0x01fc) AM_DEVREADWRITE_LEGACY("ppi8255_0", ppi8255_r, ppi8255_w)
ADDRESS_MAP_END
@@ -1623,7 +1625,7 @@ static ADDRESS_MAP_START( frogger_map, AS_PROGRAM, 8, galaxian_state )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0x8800, 0x8800) AM_MIRROR(0x07ff) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x8800, 0x8800) AM_MIRROR(0x07ff) AM_READ(watchdog_reset_r)
AM_RANGE(0xa800, 0xabff) AM_MIRROR(0x0400) AM_RAM_WRITE_LEGACY(galaxian_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0xb000, 0xb0ff) AM_MIRROR(0x0700) AM_RAM_WRITE_LEGACY(galaxian_objram_w) AM_SHARE("spriteram")
AM_RANGE(0xb808, 0xb808) AM_MIRROR(0x07e3) AM_WRITE_LEGACY(irq_enable_w)
@@ -1650,7 +1652,7 @@ static ADDRESS_MAP_START( turtles_map, AS_PROGRAM, 8, galaxian_state )
AM_RANGE(0xa028, 0xa028) AM_MIRROR(0x47c7) AM_WRITE_LEGACY(scramble_background_blue_w)
AM_RANGE(0xa030, 0xa030) AM_MIRROR(0x47c7) AM_WRITE_LEGACY(coin_count_0_w)
AM_RANGE(0xa038, 0xa038) AM_MIRROR(0x47c7) AM_WRITE_LEGACY(coin_count_1_w)
- AM_RANGE(0xa800, 0xa800) AM_MIRROR(0x47ff) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xa800, 0xa800) AM_MIRROR(0x47ff) AM_READ(watchdog_reset_r)
AM_RANGE(0xb000, 0xb03f) AM_MIRROR(0x47cf) AM_READWRITE_LEGACY(turtles_ppi8255_0_r, turtles_ppi8255_0_w)
AM_RANGE(0xb800, 0xb83f) AM_MIRROR(0x47cf) AM_READWRITE_LEGACY(turtles_ppi8255_1_r, turtles_ppi8255_1_w)
ADDRESS_MAP_END
@@ -1739,7 +1741,7 @@ static ADDRESS_MAP_START( frogf_map, AS_PROGRAM, 8, galaxian_state )
AM_RANGE(0xa806, 0xa806) AM_MIRROR(0x07f1) AM_WRITE_LEGACY(galaxian_flip_screen_y_w)
AM_RANGE(0xa808, 0xa808) AM_MIRROR(0x07f1) AM_WRITE_LEGACY(coin_count_1_w)
AM_RANGE(0xa80e, 0xa80e) AM_MIRROR(0x07f1) AM_WRITE_LEGACY(coin_count_0_w)
- AM_RANGE(0xb800, 0xb800) AM_MIRROR(0x07ff) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xb800, 0xb800) AM_MIRROR(0x07ff) AM_READ(watchdog_reset_r)
AM_RANGE(0xc000, 0xffff) AM_READWRITE_LEGACY(frogf_ppi8255_r, frogf_ppi8255_w)
ADDRESS_MAP_END
@@ -1761,7 +1763,7 @@ static ADDRESS_MAP_START( mshuttle_map, AS_PROGRAM, 8, galaxian_state )
AM_RANGE(0xa800, 0xa800) AM_WRITE_LEGACY(cclimber_sample_rate_w)
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("IN2")
AM_RANGE(0xb000, 0xb000) AM_WRITE_LEGACY(cclimber_sample_volume_w)
- AM_RANGE(0xb800, 0xb800) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( mshuttle_portmap, AS_IO, 8, galaxian_state )
@@ -1843,7 +1845,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( checkman_sound_portmap, AS_IO, 8, galaxian_state )
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x03, 0x03) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x03, 0x03) AM_READ(soundlatch_r)
AM_RANGE(0x04, 0x05) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_data_w)
AM_RANGE(0x06, 0x06) AM_DEVREAD_LEGACY("aysnd", ay8910_r)
ADDRESS_MAP_END
@@ -1870,7 +1872,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( kingball_sound_portmap, AS_IO, 8, galaxian_state )
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_MIRROR(0xff) AM_READ_LEGACY(soundlatch_r) AM_DEVWRITE_LEGACY("dac", kingball_dac_w)
+ AM_RANGE(0x00, 0x00) AM_MIRROR(0xff) AM_READ(soundlatch_r) AM_DEVWRITE_LEGACY("dac", kingball_dac_w)
ADDRESS_MAP_END
@@ -1975,7 +1977,7 @@ static const ay8910_interface frogger_ay8910_interface =
{
AY8910_DISCRETE_OUTPUT,
{RES_K(5.1), RES_K(5.1), RES_K(5.1)},
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_HANDLER(frogger_sound_timer_r),
DEVCB_NULL,
DEVCB_NULL
@@ -1985,7 +1987,7 @@ static const ay8910_interface konami_ay8910_interface_1 =
{
AY8910_DISCRETE_OUTPUT,
{RES_K(5.1), RES_K(5.1), RES_K(5.1)},
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_HANDLER(konami_sound_timer_r),
DEVCB_NULL,
DEVCB_NULL
@@ -2027,7 +2029,7 @@ static const ay8910_interface sfx_ay8910_interface =
AY8910_DEFAULT_LOADS,
DEVCB_NULL,
DEVCB_NULL,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch2_w),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch2_w),
DEVCB_HANDLER(sfx_sample_control_w)
};
@@ -2045,7 +2047,7 @@ static const ay8910_interface checkmaj_ay8910_interface =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
@@ -3372,13 +3374,14 @@ static DRIVER_INIT( scramble )
static DRIVER_INIT( explorer )
{
+ galaxian_state *state = machine.driver_data<galaxian_state>();
address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
/* video extensions */
common_init(machine, scramble_draw_bullet, scramble_draw_background, NULL, NULL);
/* watchdog works for writes as well? (or is it just disabled?) */
- space->install_legacy_write_handler(0x7000, 0x7000, 0, 0x7ff, FUNC(watchdog_reset_w));
+ space->install_write_handler(0x7000, 0x7000, 0, 0x7ff, write8_delegate(FUNC(galaxian_state::watchdog_reset_w),state));
/* I/O appears to be direct, not via PPIs */
space->unmap_readwrite(0x8000, 0xffff);
@@ -3386,7 +3389,7 @@ static DRIVER_INIT( explorer )
space->install_read_port(0x8001, 0x8001, 0, 0xffc, "IN1");
space->install_read_port(0x8002, 0x8002, 0, 0xffc, "IN2");
space->install_read_port(0x8003, 0x8003, 0, 0xffc, "IN3");
- space->install_legacy_write_handler(0x8000, 0x8000, 0, 0xfff, FUNC(soundlatch_w));
+ space->install_write_handler(0x8000, 0x8000, 0, 0xfff, write8_delegate(FUNC(galaxian_state::soundlatch_w),state));
space->install_legacy_write_handler(0x9000, 0x9000, 0, 0xfff, FUNC(explorer_sound_control_w));
}
@@ -3406,6 +3409,7 @@ static DRIVER_INIT( sfx )
static DRIVER_INIT( atlantis )
{
+ galaxian_state *state = machine.driver_data<galaxian_state>();
address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
/* video extensions */
@@ -3413,7 +3417,7 @@ static DRIVER_INIT( atlantis )
/* watchdog is at $7800? (or is it just disabled?) */
space->unmap_read(0x7000, 0x7000, 0, 0x7ff);
- space->install_legacy_read_handler(0x7800, 0x7800, 0, 0x7ff, FUNC(watchdog_reset_r));
+ space->install_read_handler(0x7800, 0x7800, 0, 0x7ff, read8_delegate(FUNC(galaxian_state::watchdog_reset_r),state));
}
@@ -3449,12 +3453,13 @@ static DRIVER_INIT( frogger )
static DRIVER_INIT( froggrmc )
{
+ galaxian_state *state = machine.driver_data<galaxian_state>();
address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
/* video extensions */
common_init(machine, NULL, frogger_draw_background, frogger_extend_tile_info, frogger_extend_sprite_info);
- space->install_legacy_write_handler(0xa800, 0xa800, 0, 0x7ff, FUNC(soundlatch_w));
+ space->install_write_handler(0xa800, 0xa800, 0, 0x7ff, write8_delegate(FUNC(galaxian_state::soundlatch_w),state));
space->install_legacy_write_handler(0xb001, 0xb001, 0, 0x7f8, FUNC(froggrmc_sound_control_w));
/* actually needs 2k of RAM */
diff --git a/src/mame/drivers/galaxold.c b/src/mame/drivers/galaxold.c
index 5883081d8d9..9c20fe324f0 100644
--- a/src/mame/drivers/galaxold.c
+++ b/src/mame/drivers/galaxold.c
@@ -431,7 +431,7 @@ static ADDRESS_MAP_START( galaxold_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x7004, 0x7004) AM_WRITE_LEGACY(galaxold_stars_enable_w)
AM_RANGE(0x7006, 0x7006) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0x7007, 0x7007) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0x7800, 0x7fff) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x7800, 0x7fff) AM_READ(watchdog_reset_r)
AM_RANGE(0x7800, 0x7800) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w)
AM_RANGE(0xfffc, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -458,7 +458,7 @@ static ADDRESS_MAP_START( mooncrst_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0xb004, 0xb004) AM_WRITE_LEGACY(galaxold_stars_enable_w)
AM_RANGE(0xb006, 0xb006) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0xb007, 0xb007) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0xb800, 0xb800) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r)
AM_RANGE(0xb800, 0xb800) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w)
ADDRESS_MAP_END
@@ -490,7 +490,7 @@ static ADDRESS_MAP_START( rockclim_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW0") AM_WRITE_LEGACY(galaxold_nmi_enable_w)
AM_RANGE(0xb006, 0xb006) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0xb007, 0xb007) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0xb800, 0xb800) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r)
AM_RANGE(0xb800, 0xb800) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w)
ADDRESS_MAP_END
@@ -518,7 +518,7 @@ static ADDRESS_MAP_START( ckongg_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0xc804, 0xc804) AM_WRITENOP // link cut
AM_RANGE(0xc806, 0xc806) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0xc807, 0xc807) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0xcc00, 0xcc00) AM_READ_LEGACY(watchdog_reset_r) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w)
+ AM_RANGE(0xcc00, 0xcc00) AM_READ(watchdog_reset_r) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w)
ADDRESS_MAP_END
/* Memory map based on mooncrst_map according to Z80 code - seems to be good but needs further checking */
@@ -545,7 +545,7 @@ static ADDRESS_MAP_START( ckongmc_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0xb004, 0xb004) AM_WRITENOP /* AM_WRITE_LEGACY(galaxold_stars_enable_w) */
AM_RANGE(0xb006, 0xb006) AM_WRITE_LEGACY(galaxold_flip_screen_x_w) /* GUESS */
AM_RANGE(0xb007, 0xb007) AM_WRITE_LEGACY(galaxold_flip_screen_y_w) /* GUESS */
- AM_RANGE(0xb800, 0xb800) AM_READ_LEGACY(watchdog_reset_r) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w) /* GUESS */
+ AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w) /* GUESS */
ADDRESS_MAP_END
@@ -573,7 +573,7 @@ static ADDRESS_MAP_START( scramblb_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x7004, 0x7004) AM_WRITE_LEGACY(galaxold_stars_enable_w)
AM_RANGE(0x7006, 0x7006) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0x7007, 0x7007) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0x7800, 0x7800) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x7800, 0x7800) AM_READ(watchdog_reset_r)
AM_RANGE(0x7800, 0x7800) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w)
AM_RANGE(0x8102, 0x8102) AM_READ_LEGACY(scramblb_protection_1_r)
AM_RANGE(0x8202, 0x8202) AM_READ_LEGACY(scramblb_protection_2_r)
@@ -601,7 +601,7 @@ static ADDRESS_MAP_START( scramb2_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x6804, 0x6804) AM_WRITE_LEGACY(galaxold_stars_enable_w)
AM_RANGE(0x6806, 0x6806) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0x6807, 0x6807) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0x7000, 0x7007) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x7000, 0x7007) AM_READ(watchdog_reset_r)
AM_RANGE(0x7006, 0x7006) AM_WRITENOP
AM_RANGE(0x7007, 0x7007) AM_WRITENOP
AM_RANGE(0x7800, 0x7807) AM_READ(scramb2_port2_r) // reads from 8 addresses, 1 bit per address
@@ -633,7 +633,7 @@ static ADDRESS_MAP_START( _4in1_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x7004, 0x7004) AM_WRITE_LEGACY(galaxold_stars_enable_w)
AM_RANGE(0x7006, 0x7006) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0x7007, 0x7007) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0x7800, 0x78ff) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x7800, 0x78ff) AM_READ(watchdog_reset_r)
AM_RANGE(0x7800, 0x78ff) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w)
AM_RANGE(0x8000, 0x8000) AM_WRITE_LEGACY(_4in1_bank_w)
AM_RANGE(0xc000, 0xdfff) AM_ROM /* fixed menu code */
@@ -657,7 +657,7 @@ static ADDRESS_MAP_START( bagmanmc_map, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0xb001, 0xb001) AM_WRITE_LEGACY(galaxold_nmi_enable_w)
AM_RANGE(0xb006, 0xb006) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0xb007, 0xb007) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0xb800, 0xb800) AM_READ_LEGACY(watchdog_reset_r) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w)
+ AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w)
ADDRESS_MAP_END
@@ -683,7 +683,7 @@ static ADDRESS_MAP_START( dkongjrm_map, AS_PROGRAM, 8, galaxold_state )
//AM_RANGE(0xb004, 0xb004) AM_WRITE_LEGACY(galaxold_stars_enable_w)
AM_RANGE(0xb006, 0xb006) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0xb007, 0xb007) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0xb800, 0xb800) AM_READ_LEGACY(watchdog_reset_r) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w)
+ AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w)
ADDRESS_MAP_END
@@ -696,7 +696,7 @@ static ADDRESS_MAP_START( tazzmang, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x8860, 0x887f) AM_RAM AM_BASE(m_bulletsram) AM_SIZE(m_bulletsram_size)
AM_RANGE(0x8880, 0x8bff) AM_WRITENOP
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE_LEGACY(galaxold_videoram_w) AM_BASE(m_videoram)
- AM_RANGE(0x9800, 0x9800) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x9800, 0x9800) AM_READ(watchdog_reset_r)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
AM_RANGE(0xa7ff, 0xa7ff) AM_READ_PORT("IN0") /* mirror */
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("IN1") AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_background_enable_w)
@@ -708,7 +708,7 @@ static ADDRESS_MAP_START( tazzmang, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0xb004, 0xb004) AM_WRITE_LEGACY(galaxold_stars_enable_w)
AM_RANGE(0xb006, 0xb006) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0xb007, 0xb007) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0xb800, 0xb800) AM_READ_LEGACY(watchdog_reset_r) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w)
+ AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w)
ADDRESS_MAP_END
@@ -728,7 +728,7 @@ static ADDRESS_MAP_START( bongo, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0xb004, 0xb004) AM_WRITE_LEGACY(galaxold_stars_enable_w)
AM_RANGE(0xb006, 0xb006) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0xb007, 0xb007) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0xb800, 0xb800) AM_READ_LEGACY(watchdog_reset_r) AM_WRITENOP
+ AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) AM_WRITENOP
ADDRESS_MAP_END
static ADDRESS_MAP_START( bongo_io, AS_IO, 8, galaxold_state )
@@ -798,7 +798,7 @@ static ADDRESS_MAP_START( harem_cpu2_io, AS_IO, 8, galaxold_state )
AM_RANGE(0x20, 0x20) AM_DEVWRITE_LEGACY("ay2", ay8910_data_w)
AM_RANGE(0x40, 0x40) AM_DEVWRITE_LEGACY("ay3", ay8910_address_w)
AM_RANGE(0x80, 0x80) AM_DEVWRITE_LEGACY("ay3", ay8910_data_w)
- AM_RANGE(0x80, 0x80) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x80, 0x80) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( hunchbkg, AS_PROGRAM, 8, galaxold_state )
@@ -820,7 +820,7 @@ static ADDRESS_MAP_START( hunchbkg, AS_PROGRAM, 8, galaxold_state )
AM_RANGE(0x1604, 0x1604) AM_MIRROR(0x6000) AM_WRITE_LEGACY(galaxold_stars_enable_w)
AM_RANGE(0x1606, 0x1606) AM_MIRROR(0x6000) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0x1607, 0x1607) AM_MIRROR(0x6000) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0x1680, 0x1680) AM_MIRROR(0x6000) AM_READ_LEGACY(watchdog_reset_r) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w)
+ AM_RANGE(0x1680, 0x1680) AM_MIRROR(0x6000) AM_READ(watchdog_reset_r) AM_DEVWRITE_LEGACY(GAL_AUDIO, galaxian_pitch_w)
AM_RANGE(0x1800, 0x1bff) AM_MIRROR(0x6000) AM_WRITE_LEGACY(galaxold_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0x1c00, 0x1fff) AM_MIRROR(0x6000) AM_RAM
AM_RANGE(0x2000, 0x2fff) AM_ROM
diff --git a/src/mame/drivers/galivan.c b/src/mame/drivers/galivan.c
index e6be9e0d042..62757300c2b 100644
--- a/src/mame/drivers/galivan.c
+++ b/src/mame/drivers/galivan.c
@@ -118,7 +118,7 @@ static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, galivan_state )
AM_RANGE(0x02, 0x02) AM_DEVWRITE_LEGACY("dac1", dac_w)
AM_RANGE(0x03, 0x03) AM_DEVWRITE_LEGACY("dac2", dac_w)
AM_RANGE(0x04, 0x04) AM_READ(soundlatch_clear_r)
- AM_RANGE(0x06, 0x06) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x06, 0x06) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/galpani3.c b/src/mame/drivers/galpani3.c
index 3a6969ab451..25851a902c0 100644
--- a/src/mame/drivers/galpani3.c
+++ b/src/mame/drivers/galpani3.c
@@ -937,7 +937,7 @@ static ADDRESS_MAP_START( galpani3_map, AS_PROGRAM, 16, galpani3_state )
AM_RANGE(0xf00014, 0xf00015) AM_READ_PORT("COIN")
AM_RANGE(0xf00016, 0xf00017) AM_NOP // ? read, but overwritten
AM_RANGE(0xf00020, 0xf00023) AM_DEVWRITE8_LEGACY("ymz", ymz280b_w, 0x00ff) // sound
- AM_RANGE(0xf00040, 0xf00041) AM_READWRITE_LEGACY(watchdog_reset16_r, watchdog_reset16_w) // watchdog
+ AM_RANGE(0xf00040, 0xf00041) AM_READWRITE(watchdog_reset16_r, watchdog_reset16_w) // watchdog
AM_RANGE(0xf00050, 0xf00051) AM_NOP // ? written once (3rd opcode, $30.b)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/galspnbl.c b/src/mame/drivers/galspnbl.c
index d6ccd42eb61..0bfa1680210 100644
--- a/src/mame/drivers/galspnbl.c
+++ b/src/mame/drivers/galspnbl.c
@@ -67,7 +67,7 @@ static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, galspnbl_state )
AM_RANGE(0xf800, 0xf800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xf810, 0xf811) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
AM_RANGE(0xfc00, 0xfc00) AM_NOP /* irq ack ?? */
- AM_RANGE(0xfc20, 0xfc20) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xfc20, 0xfc20) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gameplan.c b/src/mame/drivers/gameplan.c
index 8f0b7b0fbcc..a3ade7d2aa6 100644
--- a/src/mame/drivers/gameplan.c
+++ b/src/mame/drivers/gameplan.c
@@ -167,7 +167,7 @@ static WRITE8_DEVICE_HANDLER( audio_trigger_w )
static const via6522_interface via_2_interface =
{
- DEVCB_NULL, DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, soundlatch_r), /*inputs : A/B */
+ DEVCB_NULL, DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r), /*inputs : A/B */
DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, /*inputs : CA/B1,CA/B2 */
DEVCB_HANDLER(audio_cmd_w), DEVCB_NULL, /*outputs: A/B */
DEVCB_NULL, DEVCB_NULL, DEVCB_HANDLER(audio_trigger_w), DEVCB_HANDLER(audio_reset_w), /*outputs: CA/B1,CA/B2 */
@@ -194,8 +194,9 @@ static WRITE_LINE_DEVICE_HANDLER( r6532_irq )
static WRITE8_DEVICE_HANDLER( r6532_soundlatch_w )
{
+ gameplan_state *gameplan = device->machine().driver_data<gameplan_state>();
address_space *space = device->machine().device("maincpu")->memory().space(AS_PROGRAM);
- soundlatch_w(space, 0, data);
+ gameplan->soundlatch_w(*space, 0, data);
}
diff --git a/src/mame/drivers/gaplus.c b/src/mame/drivers/gaplus.c
index 9f3d930ab66..f7fb019b835 100644
--- a/src/mame/drivers/gaplus.c
+++ b/src/mame/drivers/gaplus.c
@@ -293,7 +293,7 @@ static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, gaplus_state )
AM_RANGE(0x6810, 0x681f) AM_DEVREADWRITE_LEGACY("58xx", namcoio_r, namcoio_w) /* custom I/O chips interface */
AM_RANGE(0x6820, 0x682f) AM_READWRITE_LEGACY(gaplus_customio_3_r, gaplus_customio_3_w) AM_BASE(m_customio_3) /* custom I/O chip #3 interface */
AM_RANGE(0x7000, 0x7fff) AM_WRITE(gaplus_irq_1_ctrl_w) /* main CPU irq control */
- AM_RANGE(0x7800, 0x7fff) AM_READ_LEGACY(watchdog_reset_r) /* watchdog */
+ AM_RANGE(0x7800, 0x7fff) AM_READ(watchdog_reset_r) /* watchdog */
AM_RANGE(0x8000, 0x8fff) AM_WRITE(gaplus_sreset_w) /* reset CPU #2 & #3, enable sound */
AM_RANGE(0x9000, 0x9fff) AM_WRITE(gaplus_freset_w) /* reset I/O chips */
AM_RANGE(0xa000, 0xa7ff) AM_WRITE_LEGACY(gaplus_starfield_control_w) /* starfield control */
@@ -308,7 +308,7 @@ static ADDRESS_MAP_START( gaplusa_cpu1_map, AS_PROGRAM, 8, gaplus_state )
AM_RANGE(0x6810, 0x681f) AM_DEVREADWRITE_LEGACY("56xx", namcoio_r, namcoio_w) /* custom I/O chips interface */
AM_RANGE(0x6820, 0x682f) AM_READWRITE_LEGACY(gaplus_customio_3_r, gaplus_customio_3_w) AM_BASE(m_customio_3) /* custom I/O chip #3 interface */
AM_RANGE(0x7000, 0x7fff) AM_WRITE(gaplus_irq_1_ctrl_w) /* main CPU irq control */
- AM_RANGE(0x7800, 0x7fff) AM_READ_LEGACY(watchdog_reset_r) /* watchdog */
+ AM_RANGE(0x7800, 0x7fff) AM_READ(watchdog_reset_r) /* watchdog */
AM_RANGE(0x8000, 0x8fff) AM_WRITE(gaplus_sreset_w) /* reset CPU #2 & #3, enable sound */
AM_RANGE(0x9000, 0x9fff) AM_WRITE(gaplus_freset_w) /* reset I/O chips */
AM_RANGE(0xa000, 0xa7ff) AM_WRITE_LEGACY(gaplus_starfield_control_w) /* starfield control */
@@ -325,7 +325,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cpu3_map, AS_PROGRAM, 8, gaplus_state )
AM_RANGE(0x0000, 0x03ff) AM_DEVREADWRITE_LEGACY("namco", namco_snd_sharedram_r, namco_snd_sharedram_w) /* shared RAM with the main CPU + sound registers */
- AM_RANGE(0x2000, 0x3fff) AM_READWRITE_LEGACY(watchdog_reset_r, watchdog_reset_w) /* watchdog? */
+ AM_RANGE(0x2000, 0x3fff) AM_READWRITE(watchdog_reset_r, watchdog_reset_w) /* watchdog? */
AM_RANGE(0x4000, 0x7fff) AM_WRITE(gaplus_irq_3_ctrl_w) /* interrupt enable/disable */
AM_RANGE(0xe000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gauntlet.c b/src/mame/drivers/gauntlet.c
index a7e7f17c5a8..6625300471c 100644
--- a/src/mame/drivers/gauntlet.c
+++ b/src/mame/drivers/gauntlet.c
@@ -318,7 +318,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, gauntlet_state )
AM_RANGE(0x803006, 0x803007) AM_MIRROR(0x2fcef0) AM_READ_PORT("803006")
AM_RANGE(0x803008, 0x803009) AM_MIRROR(0x2fcef0) AM_READ_LEGACY(port4_r)
AM_RANGE(0x80300e, 0x80300f) AM_MIRROR(0x2fcef0) AM_READ_LEGACY(atarigen_sound_r)
- AM_RANGE(0x803100, 0x803101) AM_MIRROR(0x2fce8e) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x803100, 0x803101) AM_MIRROR(0x2fce8e) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x803120, 0x803121) AM_MIRROR(0x2fce8e) AM_WRITE_LEGACY(sound_reset_w)
AM_RANGE(0x803140, 0x803141) AM_MIRROR(0x2fce8e) AM_WRITE_LEGACY(atarigen_video_int_ack_w)
AM_RANGE(0x803150, 0x803151) AM_MIRROR(0x2fce8e) AM_WRITE_LEGACY(atarigen_eeprom_enable_w)
diff --git a/src/mame/drivers/gberet.c b/src/mame/drivers/gberet.c
index f708de61fdc..4261f79c906 100644
--- a/src/mame/drivers/gberet.c
+++ b/src/mame/drivers/gberet.c
@@ -162,7 +162,7 @@ static ADDRESS_MAP_START( gberet_map, AS_PROGRAM, 8, gberet_state )
AM_RANGE(0xf000, 0xf000) AM_WRITE(gberet_coin_counter_w)
AM_RANGE(0xf200, 0xf200) AM_READ_PORT("DSW2") AM_WRITEONLY AM_BASE(m_soundlatch)
AM_RANGE(0xf400, 0xf400) AM_READ_PORT("DSW3") AM_WRITE(gberet_sound_w)
- AM_RANGE(0xf600, 0xf600) AM_READ_PORT("DSW1") AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xf600, 0xf600) AM_READ_PORT("DSW1") AM_WRITE(watchdog_reset_w)
AM_RANGE(0xf601, 0xf601) AM_READ_PORT("P2")
AM_RANGE(0xf602, 0xf602) AM_READ_PORT("P1")
AM_RANGE(0xf603, 0xf603) AM_READ_PORT("SYSTEM")
@@ -182,7 +182,7 @@ static ADDRESS_MAP_START( mrgoemon_map, AS_PROGRAM, 8, gberet_state )
AM_RANGE(0xf000, 0xf000) AM_WRITE(mrgoemon_coin_counter_w)
AM_RANGE(0xf200, 0xf200) AM_READ_PORT("DSW2") AM_WRITEONLY AM_BASE(m_soundlatch)
AM_RANGE(0xf400, 0xf400) AM_READ_PORT("DSW3") AM_WRITE(gberet_sound_w)
- AM_RANGE(0xf600, 0xf600) AM_READ_PORT("DSW1") AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xf600, 0xf600) AM_READ_PORT("DSW1") AM_WRITE(watchdog_reset_w)
AM_RANGE(0xf601, 0xf601) AM_READ_PORT("P2")
AM_RANGE(0xf602, 0xf602) AM_READ_PORT("P1")
AM_RANGE(0xf603, 0xf603) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/gbusters.c b/src/mame/drivers/gbusters.c
index 198c2dd3988..366e600778b 100644
--- a/src/mame/drivers/gbusters.c
+++ b/src/mame/drivers/gbusters.c
@@ -150,9 +150,9 @@ WRITE8_MEMBER(gbusters_state::k052109_051960_w)
static ADDRESS_MAP_START( gbusters_map, AS_PROGRAM, 8, gbusters_state )
AM_RANGE(0x1f80, 0x1f80) AM_WRITE(gbusters_coin_counter_w) /* coin counters */
- AM_RANGE(0x1f84, 0x1f84) AM_WRITE_LEGACY(soundlatch_w) /* sound code # */
+ AM_RANGE(0x1f84, 0x1f84) AM_WRITE(soundlatch_w) /* sound code # */
AM_RANGE(0x1f88, 0x1f88) AM_WRITE(gbusters_sh_irqtrigger_w) /* cause interrupt on audio CPU */
- AM_RANGE(0x1f8c, 0x1f8c) AM_WRITE_LEGACY(watchdog_reset_w) /* watchdog reset */
+ AM_RANGE(0x1f8c, 0x1f8c) AM_WRITE(watchdog_reset_w) /* watchdog reset */
AM_RANGE(0x1f90, 0x1f90) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1f91, 0x1f91) AM_READ_PORT("P1")
AM_RANGE(0x1f92, 0x1f92) AM_READ_PORT("P2")
@@ -171,7 +171,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( gbusters_sound_map, AS_PROGRAM, 8, gbusters_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM /* ROM 878h01.rom */
AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r) /* soundlatch_r */
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r) /* soundlatch_r */
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("k007232", k007232_r, k007232_w) /* 007232 registers */
AM_RANGE(0xc001, 0xc001) AM_DEVREAD_LEGACY("ymsnd", ym2151_status_port_r) /* YM 2151 */
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w) /* YM 2151 */
diff --git a/src/mame/drivers/gijoe.c b/src/mame/drivers/gijoe.c
index 74ccfff0b84..e04a57c8d70 100644
--- a/src/mame/drivers/gijoe.c
+++ b/src/mame/drivers/gijoe.c
@@ -197,8 +197,8 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, gijoe_state )
AM_RANGE(0x0000, 0xebff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xfa2f) AM_DEVREADWRITE("k054539", k054539_device, read, write)
- AM_RANGE(0xfc00, 0xfc00) AM_WRITE_LEGACY(soundlatch2_w)
- AM_RANGE(0xfc02, 0xfc02) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xfc00, 0xfc00) AM_WRITE(soundlatch2_w)
+ AM_RANGE(0xfc02, 0xfc02) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static INPUT_PORTS_START( gijoe )
diff --git a/src/mame/drivers/ginganin.c b/src/mame/drivers/ginganin.c
index 5bd00c7ab3a..5e9184433f8 100644
--- a/src/mame/drivers/ginganin.c
+++ b/src/mame/drivers/ginganin.c
@@ -93,7 +93,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, ginganin_state )
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0807) AM_DEVREADWRITE("6840ptm", ptm6840_device, read, write)
- AM_RANGE(0x1800, 0x1800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x1800, 0x1800) AM_READ(soundlatch_r)
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE_LEGACY("ymsnd", y8950_w)
AM_RANGE(0x2800, 0x2801) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_data_w)
AM_RANGE(0x4000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/gladiatr.c b/src/mame/drivers/gladiatr.c
index edbd39c679a..e33eedf3e86 100644
--- a/src/mame/drivers/gladiatr.c
+++ b/src/mame/drivers/gladiatr.c
@@ -291,14 +291,16 @@ static WRITE8_DEVICE_HANDLER( glad_adpcm_w )
static WRITE8_HANDLER( glad_cpu_sound_command_w )
{
- soundlatch_w(space,0,data);
+ gladiatr_state *state = space->machine().driver_data<gladiatr_state>();
+ state->soundlatch_w(*space,0,data);
cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_NMI, ASSERT_LINE);
}
static READ8_HANDLER( glad_cpu_sound_command_r )
{
+ gladiatr_state *state = space->machine().driver_data<gladiatr_state>();
cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_NMI, CLEAR_LINE);
- return soundlatch_r(space,0);
+ return state->soundlatch_r(*space,0);
}
static WRITE8_HANDLER( gladiatr_flipscreen_w )
diff --git a/src/mame/drivers/gng.c b/src/mame/drivers/gng.c
index 82fed8c0326..8445752cbe0 100644
--- a/src/mame/drivers/gng.c
+++ b/src/mame/drivers/gng.c
@@ -52,7 +52,7 @@ static ADDRESS_MAP_START( gng_map, AS_PROGRAM, 8, gng_state )
AM_RANGE(0x3004, 0x3004) AM_READ_PORT("DSW2")
AM_RANGE(0x3800, 0x38ff) AM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split2_w) AM_SHARE("paletteram2")
AM_RANGE(0x3900, 0x39ff) AM_WRITE(paletteram_RRRRGGGGBBBBxxxx_split1_w) AM_SHARE("paletteram")
- AM_RANGE(0x3a00, 0x3a00) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x3a00, 0x3a00) AM_WRITE(soundlatch_w)
AM_RANGE(0x3b08, 0x3b09) AM_WRITE_LEGACY(gng_bgscrollx_w)
AM_RANGE(0x3b0a, 0x3b0b) AM_WRITE_LEGACY(gng_bgscrolly_w)
AM_RANGE(0x3c00, 0x3c00) AM_NOP /* watchdog? */
@@ -69,7 +69,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, gng_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xc800, 0xc800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc800, 0xc800) AM_READ(soundlatch_r)
AM_RANGE(0xe000, 0xe001) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0xe002, 0xe003) AM_DEVWRITE_LEGACY("ym2", ym2203_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/go2000.c b/src/mame/drivers/go2000.c
index c6c46766bcb..029aa213c75 100644
--- a/src/mame/drivers/go2000.c
+++ b/src/mame/drivers/go2000.c
@@ -84,7 +84,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( go2000_sound_io, AS_IO, 8, go2000_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r)
AM_RANGE(0x00, 0x00) AM_DEVWRITE_LEGACY("dac1", dac_w)
AM_RANGE(0x03, 0x03) AM_WRITE(go2000_pcm_1_bankswitch_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/goal92.c b/src/mame/drivers/goal92.c
index b7afc26b5fa..7db93d693d0 100644
--- a/src/mame/drivers/goal92.c
+++ b/src/mame/drivers/goal92.c
@@ -87,7 +87,7 @@ static ADDRESS_MAP_START( sound_cpu, AS_PROGRAM, 8, goal92_state )
AM_RANGE(0xe800, 0xe801) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r, ym2203_w)
AM_RANGE(0xec00, 0xec01) AM_DEVREADWRITE_LEGACY("ym2", ym2203_r, ym2203_w)
AM_RANGE(0xf000, 0xf7ff) AM_RAM
- AM_RANGE(0xf800, 0xf800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static INPUT_PORTS_START( goal92 )
diff --git a/src/mame/drivers/goindol.c b/src/mame/drivers/goindol.c
index 2299f707343..7d7ff78c41d 100644
--- a/src/mame/drivers/goindol.c
+++ b/src/mame/drivers/goindol.c
@@ -85,7 +85,7 @@ static ADDRESS_MAP_START( goindol_map, AS_PROGRAM, 8, goindol_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE(m_ram)
- AM_RANGE(0xc800, 0xc800) AM_READNOP AM_WRITE_LEGACY(soundlatch_w) // watchdog?
+ AM_RANGE(0xc800, 0xc800) AM_READNOP AM_WRITE(soundlatch_w) // watchdog?
AM_RANGE(0xc810, 0xc810) AM_WRITE(goindol_bankswitch_w)
AM_RANGE(0xc820, 0xc820) AM_READ_PORT("DIAL")
AM_RANGE(0xc820, 0xd820) AM_WRITEONLY AM_BASE(m_fg_scrolly)
@@ -111,7 +111,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, goindol_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xa001) AM_DEVWRITE_LEGACY("ymsnd", ym2203_w)
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xd800, 0xd800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xd800, 0xd800) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gotcha.c b/src/mame/drivers/gotcha.c
index f8339a4f0e8..ab3c09808a0 100644
--- a/src/mame/drivers/gotcha.c
+++ b/src/mame/drivers/gotcha.c
@@ -97,7 +97,7 @@ static WRITE16_DEVICE_HANDLER( gotcha_oki_bank_w )
static ADDRESS_MAP_START( gotcha_map, AS_PROGRAM, 16, gotcha_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x100000, 0x100001) AM_WRITE_LEGACY(soundlatch_word_w)
+ AM_RANGE(0x100000, 0x100001) AM_WRITE(soundlatch_word_w)
AM_RANGE(0x100002, 0x100003) AM_WRITE(gotcha_lamps_w)
AM_RANGE(0x100004, 0x100005) AM_DEVWRITE_LEGACY("oki", gotcha_oki_bank_w)
AM_RANGE(0x120000, 0x12ffff) AM_RAM
@@ -119,7 +119,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, gotcha_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xc002, 0xc003) AM_DEVWRITE("oki", okim6295_device, write) // TWO addresses!
- AM_RANGE(0xc006, 0xc006) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc006, 0xc006) AM_READ(soundlatch_r)
AM_RANGE(0xd000, 0xd7ff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gottlieb.c b/src/mame/drivers/gottlieb.c
index c7aecc63776..88101927480 100644
--- a/src/mame/drivers/gottlieb.c
+++ b/src/mame/drivers/gottlieb.c
@@ -703,7 +703,7 @@ static ADDRESS_MAP_START( reactor_map, AS_PROGRAM, 8, gottlieb_state )
AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE_LEGACY(gottlieb_charram_w) AM_BASE(m_charram) /* BOJRSEL1 */
/* AM_RANGE(0x5000, 0x5fff) AM_WRITE_LEGACY() */ /* BOJRSEL2 */
AM_RANGE(0x6000, 0x601f) AM_MIRROR(0x0fe0) AM_WRITE_LEGACY(gottlieb_paletteram_w) AM_SHARE("paletteram") /* COLSEL */
- AM_RANGE(0x7000, 0x7000) AM_MIRROR(0x0ff8) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x7000, 0x7000) AM_MIRROR(0x0ff8) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x7001, 0x7001) AM_MIRROR(0x0ff8) AM_WRITE(gottlieb_analog_reset_w) /* A1J2 interface */
AM_RANGE(0x7002, 0x7002) AM_MIRROR(0x0ff8) AM_WRITE(gottlieb_sh_w) /* trackball H */
AM_RANGE(0x7003, 0x7003) AM_MIRROR(0x0ff8) AM_WRITE(reactor_output_w) /* trackball V */
@@ -725,7 +725,7 @@ static ADDRESS_MAP_START( gottlieb_map, AS_PROGRAM, 8, gottlieb_state )
AM_RANGE(0x3800, 0x3bff) AM_MIRROR(0x0400) AM_RAM_WRITE_LEGACY(gottlieb_videoram_w) AM_BASE(m_videoram) /* BRSEL */
AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE_LEGACY(gottlieb_charram_w) AM_BASE(m_charram) /* BOJRSEL1 */
AM_RANGE(0x5000, 0x501f) AM_MIRROR(0x07e0) AM_WRITE_LEGACY(gottlieb_paletteram_w) AM_SHARE("paletteram") /* COLSEL */
- AM_RANGE(0x5800, 0x5800) AM_MIRROR(0x07f8) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x5800, 0x5800) AM_MIRROR(0x07f8) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x5801, 0x5801) AM_MIRROR(0x07f8) AM_WRITE(gottlieb_analog_reset_w) /* A1J2 interface */
AM_RANGE(0x5802, 0x5802) AM_MIRROR(0x07f8) AM_WRITE(gottlieb_sh_w) /* OP20-27 */
AM_RANGE(0x5803, 0x5803) AM_MIRROR(0x07f8) AM_WRITE(general_output_w) /* OP30-37 */
diff --git a/src/mame/drivers/gotya.c b/src/mame/drivers/gotya.c
index 73ebe636b6a..25a38c1a7b2 100644
--- a/src/mame/drivers/gotya.c
+++ b/src/mame/drivers/gotya.c
@@ -48,7 +48,7 @@ static ADDRESS_MAP_START( gotya_map, AS_PROGRAM, 8, gotya_state )
AM_RANGE(0x6004, 0x6004) AM_WRITE_LEGACY(gotya_video_control_w)
AM_RANGE(0x6005, 0x6005) AM_WRITE_LEGACY(gotya_soundlatch_w)
AM_RANGE(0x6006, 0x6006) AM_WRITEONLY AM_BASE(m_scroll)
- AM_RANGE(0x6007, 0x6007) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x6007, 0x6007) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE_LEGACY(gotya_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE_LEGACY(gotya_colorram_w) AM_BASE(m_colorram)
AM_RANGE(0xd000, 0xd3df) AM_RAM AM_BASE(m_videoram2)
diff --git a/src/mame/drivers/gradius3.c b/src/mame/drivers/gradius3.c
index 6c55cbaf8f0..e1ad6f52257 100644
--- a/src/mame/drivers/gradius3.c
+++ b/src/mame/drivers/gradius3.c
@@ -166,7 +166,7 @@ static ADDRESS_MAP_START( gradius3_map, AS_PROGRAM, 16, gradius3_state )
AM_RANGE(0x0d0000, 0x0d0001) AM_READ_PORT("DSW1")
AM_RANGE(0x0d0002, 0x0d0003) AM_READ_PORT("DSW2")
AM_RANGE(0x0d8000, 0x0d8001) AM_WRITE(cpuB_irqtrigger_w)
- AM_RANGE(0x0e0000, 0x0e0001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x0e0000, 0x0e0001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x0e8000, 0x0e8001) AM_WRITE(sound_command_w)
AM_RANGE(0x0f0000, 0x0f0001) AM_WRITE(sound_irq_w)
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("share1")
@@ -191,7 +191,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( gradius3_s_map, AS_PROGRAM, 8, gradius3_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf000) AM_DEVWRITE_LEGACY("k007232", sound_bank_w) /* 007232 bankswitch */
- AM_RANGE(0xf010, 0xf010) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xf010, 0xf010) AM_READ(soundlatch_r)
AM_RANGE(0xf020, 0xf02d) AM_DEVREADWRITE_LEGACY("k007232", k007232_r, k007232_w)
AM_RANGE(0xf030, 0xf031) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
diff --git a/src/mame/drivers/grchamp.c b/src/mame/drivers/grchamp.c
index b1f5aaee7c2..6ff97297aa7 100644
--- a/src/mame/drivers/grchamp.c
+++ b/src/mame/drivers/grchamp.c
@@ -563,7 +563,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, grchamp_state )
AM_RANGE(0x4803, 0x4803) AM_MIRROR(0x07f8) AM_DEVREAD_LEGACY("ay2", ay8910_r)
AM_RANGE(0x4804, 0x4805) AM_MIRROR(0x07fa) AM_DEVWRITE_LEGACY("ay3", ay8910_address_data_w)
AM_RANGE(0x4805, 0x4805) AM_MIRROR(0x07fa) AM_DEVREAD_LEGACY("ay3", ay8910_r)
- AM_RANGE(0x5000, 0x5000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x5000, 0x5000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gridlee.c b/src/mame/drivers/gridlee.c
index 015d0ca77c9..ed709d49f82 100644
--- a/src/mame/drivers/gridlee.c
+++ b/src/mame/drivers/gridlee.c
@@ -313,7 +313,7 @@ static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, gridlee_state )
/* { 0x9060, 0x9060, unknown - only written to at startup */
AM_RANGE(0x9070, 0x9070) AM_WRITE_LEGACY(gridlee_cocktail_flip_w)
AM_RANGE(0x9200, 0x9200) AM_WRITE_LEGACY(gridlee_palette_select_w)
- AM_RANGE(0x9380, 0x9380) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x9380, 0x9380) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x9500, 0x9501) AM_READ(analog_port_r)
AM_RANGE(0x9502, 0x9502) AM_READ_PORT("IN0")
AM_RANGE(0x9503, 0x9503) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/gstriker.c b/src/mame/drivers/gstriker.c
index 0eeaeb3575f..b4886c03703 100644
--- a/src/mame/drivers/gstriker.c
+++ b/src/mame/drivers/gstriker.c
@@ -309,7 +309,7 @@ static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, gstriker_state )
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
AM_RANGE(0x04, 0x04) AM_WRITE(gs_sh_bankswitch_w)
AM_RANGE(0x08, 0x08) AM_WRITE(gs_sh_pending_command_clear_w)
- AM_RANGE(0x0c, 0x0c) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x0c, 0x0c) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gsword.c b/src/mame/drivers/gsword.c
index 93352ee74fb..e9186d0f8bc 100644
--- a/src/mame/drivers/gsword.c
+++ b/src/mame/drivers/gsword.c
@@ -326,7 +326,8 @@ static WRITE8_DEVICE_HANDLER( gsword_adpcm_data_w )
static WRITE8_HANDLER( adpcm_soundcommand_w )
{
- soundlatch_w(space, 0, data);
+ gsword_state *state = space->machine().driver_data<gsword_state>();
+ state->soundlatch_w(*space, 0, data);
cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
}
@@ -381,7 +382,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cpu3_map, AS_PROGRAM, 8, gsword_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8000) AM_DEVWRITE_LEGACY("msm", gsword_adpcm_data_w)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gunsmoke.c b/src/mame/drivers/gunsmoke.c
index 8d7417bde09..8e73d4d098a 100644
--- a/src/mame/drivers/gunsmoke.c
+++ b/src/mame/drivers/gunsmoke.c
@@ -106,9 +106,9 @@ static ADDRESS_MAP_START( gunsmoke_map, AS_PROGRAM, 8, gunsmoke_state )
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("DSW1")
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("DSW2")
AM_RANGE(0xc4c9, 0xc4cb) AM_READ(gunsmoke_protection_r)
- AM_RANGE(0xc800, 0xc800) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xc800, 0xc800) AM_WRITE(soundlatch_w)
AM_RANGE(0xc804, 0xc804) AM_WRITE_LEGACY(gunsmoke_c804_w) // ROM bank switch, screen flip
- AM_RANGE(0xc806, 0xc806) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xc806, 0xc806) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE_LEGACY(gunsmoke_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE_LEGACY(gunsmoke_colorram_w) AM_BASE(m_colorram)
AM_RANGE(0xd800, 0xd801) AM_RAM AM_BASE(m_scrollx)
@@ -121,7 +121,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, gunsmoke_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xc800, 0xc800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc800, 0xc800) AM_READ(soundlatch_r)
AM_RANGE(0xe000, 0xe001) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0xe002, 0xe003) AM_DEVWRITE_LEGACY("ym2", ym2203_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gyruss.c b/src/mame/drivers/gyruss.c
index 01a7f254f36..957d0d038e5 100644
--- a/src/mame/drivers/gyruss.c
+++ b/src/mame/drivers/gyruss.c
@@ -164,7 +164,7 @@ static ADDRESS_MAP_START( main_cpu1_map, AS_PROGRAM, 8, gyruss_state )
AM_RANGE(0xc0a0, 0xc0a0) AM_READ_PORT("P1")
AM_RANGE(0xc0c0, 0xc0c0) AM_READ_PORT("P2")
AM_RANGE(0xc0e0, 0xc0e0) AM_READ_PORT("DSW1")
- AM_RANGE(0xc100, 0xc100) AM_READ_PORT("DSW3") AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xc100, 0xc100) AM_READ_PORT("DSW3") AM_WRITE(soundlatch_w)
AM_RANGE(0xc180, 0xc180) AM_WRITE(master_nmi_mask_w)
AM_RANGE(0xc185, 0xc185) AM_WRITEONLY AM_BASE(m_flipscreen)
ADDRESS_MAP_END
@@ -182,7 +182,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( audio_cpu1_map, AS_PROGRAM, 8, gyruss_state )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x63ff) AM_RAM
- AM_RANGE(0x8000, 0x8000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x8000, 0x8000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( audio_cpu1_io_map, AS_IO, 8, gyruss_state )
@@ -203,7 +203,7 @@ static ADDRESS_MAP_START( audio_cpu1_io_map, AS_IO, 8, gyruss_state )
AM_RANGE(0x11, 0x11) AM_DEVREAD_LEGACY("ay5", ay8910_r)
AM_RANGE(0x12, 0x12) AM_DEVWRITE_LEGACY("ay5", ay8910_data_w)
AM_RANGE(0x14, 0x14) AM_WRITE(gyruss_i8039_irq_w)
- AM_RANGE(0x18, 0x18) AM_WRITE_LEGACY(soundlatch2_w)
+ AM_RANGE(0x18, 0x18) AM_WRITE(soundlatch2_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( audio_cpu2_map, AS_PROGRAM, 8, gyruss_state )
@@ -211,7 +211,7 @@ static ADDRESS_MAP_START( audio_cpu2_map, AS_PROGRAM, 8, gyruss_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( audio_cpu2_io_map, AS_IO, 8, gyruss_state )
- AM_RANGE(0x00, 0xff) AM_READ_LEGACY(soundlatch2_r)
+ AM_RANGE(0x00, 0xff) AM_READ(soundlatch2_r)
AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_DEVWRITE_LEGACY("discrete", gyruss_dac_w)
AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_WRITE(gyruss_irq_clear_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/halleys.c b/src/mame/drivers/halleys.c
index 3895bde61e9..eb6176cac2b 100644
--- a/src/mame/drivers/halleys.c
+++ b/src/mame/drivers/halleys.c
@@ -1684,7 +1684,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, halleys_state )
AM_RANGE(0x4803, 0x4803) AM_DEVREAD_LEGACY("ay3", ay8910_r)
AM_RANGE(0x4804, 0x4805) AM_DEVWRITE_LEGACY("ay4", ay8910_address_data_w)
AM_RANGE(0x4805, 0x4805) AM_DEVREAD_LEGACY("ay4", ay8910_r)
- AM_RANGE(0x5000, 0x5000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x5000, 0x5000) AM_READ(soundlatch_r)
AM_RANGE(0xe000, 0xefff) AM_ROM // space for diagnostic ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/harddriv.c b/src/mame/drivers/harddriv.c
index b891858689a..e884ca35527 100644
--- a/src/mame/drivers/harddriv.c
+++ b/src/mame/drivers/harddriv.c
@@ -409,7 +409,7 @@ static ADDRESS_MAP_START( driver_68k_map, AS_PROGRAM, 16, harddriv_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x600000, 0x603fff) AM_READ_LEGACY(hd68k_port0_r)
AM_RANGE(0x604000, 0x607fff) AM_WRITE_LEGACY(hd68k_nwr_w)
- AM_RANGE(0x608000, 0x60bfff) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x608000, 0x60bfff) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x60c000, 0x60ffff) AM_WRITE_LEGACY(hd68k_irq_ack_w)
AM_RANGE(0xa00000, 0xa7ffff) AM_WRITE_LEGACY(hd68k_wr0_write)
AM_RANGE(0xa80000, 0xafffff) AM_READ_PORT("a80000") AM_WRITE_LEGACY(hd68k_wr1_write)
@@ -457,7 +457,7 @@ static ADDRESS_MAP_START( multisync_68k_map, AS_PROGRAM, 16, harddriv_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x600000, 0x603fff) AM_READWRITE_LEGACY(atarigen_sound_upper_r, atarigen_sound_upper_w)
AM_RANGE(0x604000, 0x607fff) AM_READWRITE_LEGACY(hd68k_sound_reset_r, hd68k_nwr_w)
- AM_RANGE(0x608000, 0x60bfff) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x608000, 0x60bfff) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x60c000, 0x60ffff) AM_READWRITE_LEGACY(hd68k_port0_r, hd68k_irq_ack_w)
AM_RANGE(0xa00000, 0xa7ffff) AM_WRITE_LEGACY(hd68k_wr0_write)
AM_RANGE(0xa80000, 0xafffff) AM_READ_PORT("a80000") AM_WRITE_LEGACY(hd68k_wr1_write)
@@ -495,7 +495,7 @@ static ADDRESS_MAP_START( multisync2_68k_map, AS_PROGRAM, 16, harddriv_state )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0x604000, 0x607fff) AM_WRITE_LEGACY(hd68k_nwr_w)
- AM_RANGE(0x608000, 0x60bfff) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x608000, 0x60bfff) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x60c000, 0x60ffff) AM_READWRITE_LEGACY(hd68k_port0_r, hd68k_irq_ack_w)
AM_RANGE(0xa00000, 0xa7ffff) AM_WRITE_LEGACY(hd68k_wr0_write)
AM_RANGE(0xa80000, 0xafffff) AM_READ_PORT("a80000") AM_WRITE_LEGACY(hd68k_wr1_write)
diff --git a/src/mame/drivers/hcastle.c b/src/mame/drivers/hcastle.c
index 0fb9b8f5ffa..2411dec21f2 100644
--- a/src/mame/drivers/hcastle.c
+++ b/src/mame/drivers/hcastle.c
@@ -41,9 +41,9 @@ static ADDRESS_MAP_START( hcastle_map, AS_PROGRAM, 8, hcastle_state )
AM_RANGE(0x0200, 0x0207) AM_WRITE_LEGACY(hcastle_pf2_control_w)
AM_RANGE(0x0220, 0x023f) AM_RAM /* rowscroll? */
AM_RANGE(0x0400, 0x0400) AM_WRITE(hcastle_bankswitch_w)
- AM_RANGE(0x0404, 0x0404) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x0404, 0x0404) AM_WRITE(soundlatch_w)
AM_RANGE(0x0408, 0x0408) AM_WRITE(hcastle_soundirq_w)
- AM_RANGE(0x040c, 0x040c) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x040c, 0x040c) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x0410, 0x0410) AM_READ_PORT("SYSTEM") AM_WRITE(hcastle_coin_w)
AM_RANGE(0x0411, 0x0411) AM_READ_PORT("P1")
AM_RANGE(0x0412, 0x0412) AM_READ_PORT("P2")
@@ -81,7 +81,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, hcastle_state )
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("konami1", k007232_r, k007232_w)
AM_RANGE(0xc000, 0xc000) AM_DEVWRITE_LEGACY("konami1", sound_bank_w) /* 7232 bankswitch */
- AM_RANGE(0xd000, 0xd000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
/*****************************************************************************/
diff --git a/src/mame/drivers/hexion.c b/src/mame/drivers/hexion.c
index aca45c258fc..81c07949d7d 100644
--- a/src/mame/drivers/hexion.c
+++ b/src/mame/drivers/hexion.c
@@ -134,7 +134,7 @@ static ADDRESS_MAP_START( hexion_map, AS_PROGRAM, 8, hexion_state )
AM_RANGE(0xf480, 0xf480) AM_WRITE_LEGACY(hexion_bankswitch_w)
AM_RANGE(0xf4c0, 0xf4c0) AM_WRITE(coincntr_w)
AM_RANGE(0xf500, 0xf500) AM_WRITE_LEGACY(hexion_gfxrom_select_w)
- AM_RANGE(0xf540, 0xf540) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xf540, 0xf540) AM_READ(watchdog_reset_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/himesiki.c b/src/mame/drivers/himesiki.c
index e78ede9ff28..2acda7072f7 100644
--- a/src/mame/drivers/himesiki.c
+++ b/src/mame/drivers/himesiki.c
@@ -137,7 +137,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( himesiki_iom1, AS_IO, 8, himesiki_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ym2203", ym2203_r, ym2203_w)
- AM_RANGE(0x04, 0x04) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x04, 0x04) AM_READ(soundlatch_r)
ADDRESS_MAP_END
/****************************************************************************/
diff --git a/src/mame/drivers/holeland.c b/src/mame/drivers/holeland.c
index 3d6b1df31c8..5b46148f939 100644
--- a/src/mame/drivers/holeland.c
+++ b/src/mame/drivers/holeland.c
@@ -41,7 +41,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( io_map, AS_IO, 8, holeland_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x01, 0x01) AM_READ_LEGACY(watchdog_reset_r) /* ? */
+ AM_RANGE(0x01, 0x01) AM_READ(watchdog_reset_r) /* ? */
AM_RANGE(0x04, 0x04) AM_DEVREAD_LEGACY("ay1", ay8910_r)
AM_RANGE(0x04, 0x05) AM_DEVWRITE_LEGACY("ay1", ay8910_address_data_w)
AM_RANGE(0x06, 0x06) AM_DEVREAD_LEGACY("ay2", ay8910_r)
diff --git a/src/mame/drivers/hvyunit.c b/src/mame/drivers/hvyunit.c
index 92956aaea87..7350252eeb5 100644
--- a/src/mame/drivers/hvyunit.c
+++ b/src/mame/drivers/hvyunit.c
@@ -464,7 +464,7 @@ static ADDRESS_MAP_START( sound_io, AS_IO, 8, hvyunit_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(sound_bankswitch_w)
AM_RANGE(0x02, 0x03) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
- AM_RANGE(0x04, 0x04) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x04, 0x04) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/hyperspt.c b/src/mame/drivers/hyperspt.c
index 268aa9d5e8b..20f61bac406 100644
--- a/src/mame/drivers/hyperspt.c
+++ b/src/mame/drivers/hyperspt.c
@@ -35,12 +35,12 @@ WRITE8_MEMBER(hyperspt_state::irq_mask_w)
static ADDRESS_MAP_START( hyperspt_map, AS_PROGRAM, 8, hyperspt_state )
AM_RANGE(0x1000, 0x10bf) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x10c0, 0x10ff) AM_RAM AM_BASE(m_scroll) /* Scroll amount */
- AM_RANGE(0x1400, 0x1400) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x1400, 0x1400) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1480, 0x1480) AM_WRITE_LEGACY(hyperspt_flipscreen_w)
AM_RANGE(0x1481, 0x1481) AM_WRITE_LEGACY(konami_sh_irqtrigger_w) /* cause interrupt on audio CPU */
AM_RANGE(0x1483, 0x1484) AM_WRITE(hyperspt_coin_counter_w)
AM_RANGE(0x1487, 0x1487) AM_WRITE(irq_mask_w) /* Interrupt enable */
- AM_RANGE(0x1500, 0x1500) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x1500, 0x1500) AM_WRITE(soundlatch_w)
AM_RANGE(0x1600, 0x1600) AM_READ_PORT("DSW2")
AM_RANGE(0x1680, 0x1680) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1681, 0x1681) AM_READ_PORT("P1_P2")
@@ -56,12 +56,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( roadf_map, AS_PROGRAM, 8, hyperspt_state )
AM_RANGE(0x1000, 0x10bf) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x10c0, 0x10ff) AM_RAM AM_BASE(m_scroll) /* Scroll amount */
- AM_RANGE(0x1400, 0x1400) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x1400, 0x1400) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1480, 0x1480) AM_WRITE_LEGACY(hyperspt_flipscreen_w)
AM_RANGE(0x1481, 0x1481) AM_WRITE_LEGACY(konami_sh_irqtrigger_w) /* cause interrupt on audio CPU */
AM_RANGE(0x1483, 0x1484) AM_WRITE(hyperspt_coin_counter_w)
AM_RANGE(0x1487, 0x1487) AM_WRITE(irq_mask_w) /* Interrupt enable */
- AM_RANGE(0x1500, 0x1500) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x1500, 0x1500) AM_WRITE(soundlatch_w)
AM_RANGE(0x1600, 0x1600) AM_READ_PORT("DSW2")
AM_RANGE(0x1680, 0x1680) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1681, 0x1681) AM_READ_PORT("P1")
@@ -77,7 +77,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, hyperspt_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4fff) AM_RAM
- AM_RANGE(0x6000, 0x6000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0x8000) AM_READ_LEGACY(hyperspt_sh_timer_r)
AM_RANGE(0xa000, 0xa000) AM_DEVWRITE_LEGACY("vlm", vlm5030_data_w) /* speech data */
AM_RANGE(0xc000, 0xdfff) AM_DEVWRITE_LEGACY("vlm", hyperspt_sound_w) /* speech and output control */
@@ -89,7 +89,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( soundb_map, AS_PROGRAM, 8, hyperspt_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x4fff) AM_RAM
- AM_RANGE(0x6000, 0x6000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0x8000) AM_READ_LEGACY(hyperspt_sh_timer_r)
AM_RANGE(0xa000, 0xa000) AM_NOP
AM_RANGE(0xc000, 0xdfff) AM_DEVWRITE_LEGACY("hyprolyb_adpcm", hyprolyb_adpcm_w) /* speech and output control */
diff --git a/src/mame/drivers/inufuku.c b/src/mame/drivers/inufuku.c
index a5ee82a8322..90a8b7e5bc7 100644
--- a/src/mame/drivers/inufuku.c
+++ b/src/mame/drivers/inufuku.c
@@ -171,7 +171,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( inufuku_sound_io_map, AS_IO, 8, inufuku_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(inufuku_soundrombank_w)
- AM_RANGE(0x04, 0x04) AM_READ_LEGACY(soundlatch_r) AM_WRITE(pending_command_clear_w)
+ AM_RANGE(0x04, 0x04) AM_READ(soundlatch_r) AM_WRITE(pending_command_clear_w)
AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ironhors.c b/src/mame/drivers/ironhors.c
index 13e7bdabed7..0c9b2a022df 100644
--- a/src/mame/drivers/ironhors.c
+++ b/src/mame/drivers/ironhors.c
@@ -64,7 +64,7 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, ironhors_state )
AM_RANGE(0x0020, 0x003f) AM_RAM AM_BASE(m_scroll)
AM_RANGE(0x0040, 0x005f) AM_RAM
AM_RANGE(0x0060, 0x00df) AM_RAM
- AM_RANGE(0x0800, 0x0800) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x0800, 0x0800) AM_WRITE(soundlatch_w)
AM_RANGE(0x0900, 0x0900) AM_READ_PORT("DSW3") AM_WRITE(ironhors_sh_irqtrigger_w)
AM_RANGE(0x0a00, 0x0a00) AM_READ_PORT("DSW2") AM_WRITE_LEGACY(ironhors_palettebank_w)
AM_RANGE(0x0b00, 0x0b00) AM_READ_PORT("DSW1") AM_WRITE_LEGACY(ironhors_flipscreen_w)
@@ -87,7 +87,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 8, ironhors_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
- AM_RANGE(0x8000, 0x8000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x8000, 0x8000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( slave_io_map, AS_IO, 8, ironhors_state )
@@ -103,7 +103,7 @@ static ADDRESS_MAP_START( farwest_master_map, AS_PROGRAM, 8, ironhors_state )
AM_RANGE(0x31db, 0x31fa) AM_RAM AM_BASE(m_scroll)
AM_RANGE(0x0040, 0x005f) AM_RAM
AM_RANGE(0x0060, 0x00ff) AM_RAM
- AM_RANGE(0x0800, 0x0800) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x0800, 0x0800) AM_WRITE(soundlatch_w)
AM_RANGE(0x0900, 0x0900) /*AM_READ_PORT("DSW3") */AM_WRITE(ironhors_sh_irqtrigger_w)
AM_RANGE(0x0a00, 0x0a00) AM_READ_PORT("DSW2") //AM_WRITE_LEGACY(ironhors_palettebank_w)
AM_RANGE(0x0b00, 0x0b00) AM_READ_PORT("DSW1") AM_WRITE_LEGACY(ironhors_flipscreen_w)
@@ -442,7 +442,7 @@ static READ8_DEVICE_HANDLER( farwest_soundlatch_r )
{
ironhors_state *state = device->machine().driver_data<ironhors_state>();
- return soundlatch_r(state->m_soundcpu->memory().space(AS_PROGRAM), 0);
+ return state->soundlatch_r(*state->m_soundcpu->memory().space(AS_PROGRAM), 0);
}
static const ym2203_interface farwest_ym2203_config =
diff --git a/src/mame/drivers/itech32.c b/src/mame/drivers/itech32.c
index f617cfc57c0..3050ed28b24 100644
--- a/src/mame/drivers/itech32.c
+++ b/src/mame/drivers/itech32.c
@@ -904,7 +904,7 @@ static ADDRESS_MAP_START( timekill_map, AS_PROGRAM, 16, itech32_state )
AM_RANGE(0x040000, 0x040001) AM_READ_PORT("P1")
AM_RANGE(0x048000, 0x048001) AM_READ_PORT("P2")
AM_RANGE(0x050000, 0x050001) AM_READ_PORT("SYSTEM") AM_WRITE_LEGACY(timekill_intensity_w)
- AM_RANGE(0x058000, 0x058001) AM_READ_PORT("DIPS") AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x058000, 0x058001) AM_READ_PORT("DIPS") AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x060000, 0x060001) AM_WRITE_LEGACY(timekill_colora_w)
AM_RANGE(0x068000, 0x068001) AM_WRITE_LEGACY(timekill_colorbc_w)
AM_RANGE(0x070000, 0x070001) AM_WRITENOP /* noisy */
@@ -922,11 +922,11 @@ static ADDRESS_MAP_START( bloodstm_map, AS_PROGRAM, 16, itech32_state )
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("P1") AM_WRITE(int1_ack_w)
AM_RANGE(0x100000, 0x100001) AM_READ_PORT("P2")
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("P3")
- AM_RANGE(0x200000, 0x200001) AM_READ_PORT("P4") AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x200000, 0x200001) AM_READ_PORT("P4") AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x280000, 0x280001) AM_READ_PORT("DIPS")
AM_RANGE(0x300000, 0x300001) AM_WRITE_LEGACY(bloodstm_color1_w)
AM_RANGE(0x380000, 0x380001) AM_WRITE_LEGACY(bloodstm_color2_w)
- AM_RANGE(0x400000, 0x400001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x400000, 0x400001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x480000, 0x480001) AM_WRITE(sound_data_w)
AM_RANGE(0x500000, 0x5000ff) AM_READWRITE_LEGACY(bloodstm_video_r, bloodstm_video_w) AM_BASE(m_video)
AM_RANGE(0x580000, 0x59ffff) AM_RAM_WRITE_LEGACY(bloodstm_paletteram_w) AM_SHARE("paletteram")
@@ -1001,7 +1001,7 @@ AM_RANGE(0x000c00, 0x007fff) AM_MIRROR(0x40000) AM_READWRITE(test2_r, test2_w)
AM_RANGE(0x200000, 0x200003) AM_READ_PORT("200000")
AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(tms1_68k_ram_w) AM_SHARE("share1")
AM_RANGE(0x300000, 0x300fff) AM_RAM_WRITE(tms2_68k_ram_w) AM_SHARE("share2")
- AM_RANGE(0x380000, 0x380003) AM_WRITENOP // AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x380000, 0x380003) AM_WRITENOP // AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x600000, 0x607fff) AM_ROM AM_REGION("user1", 0) AM_BASE(m_main_rom)
ADDRESS_MAP_END
@@ -1027,7 +1027,7 @@ static ADDRESS_MAP_START( itech020_map, AS_PROGRAM, 32, itech32_state )
AM_RANGE(0x280000, 0x280003) AM_READ_PORT("DIPS")
AM_RANGE(0x300000, 0x300003) AM_WRITE_LEGACY(itech020_color1_w)
AM_RANGE(0x380000, 0x380003) AM_WRITE_LEGACY(itech020_color2_w)
- AM_RANGE(0x400000, 0x400003) AM_WRITE_LEGACY(watchdog_reset32_w)
+ AM_RANGE(0x400000, 0x400003) AM_WRITE(watchdog_reset32_w)
AM_RANGE(0x480000, 0x480003) AM_WRITE(sound_data32_w)
AM_RANGE(0x500000, 0x5000ff) AM_READWRITE_LEGACY(itech020_video_r, itech020_video_w) AM_BASE(m_video)
AM_RANGE(0x578000, 0x57ffff) AM_READNOP /* touched by protection */
diff --git a/src/mame/drivers/jack.c b/src/mame/drivers/jack.c
index dd55803f6a4..3a34f4c7cbd 100644
--- a/src/mame/drivers/jack.c
+++ b/src/mame/drivers/jack.c
@@ -777,7 +777,7 @@ static const ay8910_interface ay8910_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_DEVICE_HANDLER("audiocpu", timer_r)
};
diff --git a/src/mame/drivers/jackal.c b/src/mame/drivers/jackal.c
index 2ce8aeb88c7..ab179e63fab 100644
--- a/src/mame/drivers/jackal.c
+++ b/src/mame/drivers/jackal.c
@@ -164,7 +164,7 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8, jackal_state )
AM_RANGE(0x0013, 0x0013) AM_READ_PORT("IN0")
AM_RANGE(0x0014, 0x0015) AM_READ(topgunbl_rotary_r)
AM_RANGE(0x0018, 0x0018) AM_READ_PORT("DSW2")
- AM_RANGE(0x0019, 0x0019) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x0019, 0x0019) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x001c, 0x001c) AM_WRITE(jackal_rambank_w)
AM_RANGE(0x0020, 0x005f) AM_READWRITE(jackal_zram_r, jackal_zram_w) // MAIN Z RAM,SUB Z RAM
AM_RANGE(0x0060, 0x1fff) AM_RAM AM_SHARE("share1") // M COMMON RAM,S COMMON RAM
diff --git a/src/mame/drivers/jaguar.c b/src/mame/drivers/jaguar.c
index c4c5726d198..0d7eb26fe26 100644
--- a/src/mame/drivers/jaguar.c
+++ b/src/mame/drivers/jaguar.c
@@ -1231,7 +1231,7 @@ static ADDRESS_MAP_START( r3000_map, AS_PROGRAM, 32, cojag_state )
AM_RANGE(0x06000000, 0x06000003) AM_READWRITE_LEGACY(misc_control_r, misc_control_w)
AM_RANGE(0x10000000, 0x1007ffff) AM_RAM
AM_RANGE(0x12000000, 0x120fffff) AM_RAM // tested in self-test only?
- AM_RANGE(0x14000004, 0x14000007) AM_WRITE_LEGACY(watchdog_reset32_w)
+ AM_RANGE(0x14000004, 0x14000007) AM_WRITE(watchdog_reset32_w)
AM_RANGE(0x16000000, 0x16000003) AM_WRITE_LEGACY(eeprom_enable_w)
AM_RANGE(0x18000000, 0x18001fff) AM_READWRITE_LEGACY(eeprom_data_r, eeprom_data_w) AM_SHARE("nvram")
AM_RANGE(0x1fc00000, 0x1fdfffff) AM_ROM AM_REGION("user1", 0) AM_BASE(m_rom_base)
@@ -1243,7 +1243,7 @@ static ADDRESS_MAP_START( m68020_map, AS_PROGRAM, 32, cojag_state )
AM_RANGE(0x800000, 0x9fffff) AM_ROM AM_REGION("user1", 0) AM_BASE(m_rom_base)
AM_RANGE(0xa00000, 0xa1ffff) AM_RAM
AM_RANGE(0xa20000, 0xa21fff) AM_READWRITE_LEGACY(eeprom_data_r, eeprom_data_w) AM_SHARE("nvram")
- AM_RANGE(0xa30000, 0xa30003) AM_WRITE_LEGACY(watchdog_reset32_w)
+ AM_RANGE(0xa30000, 0xa30003) AM_WRITE(watchdog_reset32_w)
AM_RANGE(0xa40000, 0xa40003) AM_WRITE_LEGACY(eeprom_enable_w)
AM_RANGE(0xb70000, 0xb70003) AM_READWRITE_LEGACY(misc_control_r, misc_control_w)
AM_RANGE(0xc00000, 0xdfffff) AM_ROMBANK("bank2")
diff --git a/src/mame/drivers/jailbrek.c b/src/mame/drivers/jailbrek.c
index 6e2be1a32c3..6f7997f20a8 100644
--- a/src/mame/drivers/jailbrek.c
+++ b/src/mame/drivers/jailbrek.c
@@ -144,7 +144,7 @@ static ADDRESS_MAP_START( jailbrek_map, AS_PROGRAM, 8, jailbrek_state )
AM_RANGE(0x3000, 0x307f) AM_RAM /* related to sprites? */
AM_RANGE(0x3100, 0x3100) AM_READ_PORT("DSW2") AM_DEVWRITE_LEGACY("snsnd", sn76496_w)
AM_RANGE(0x3200, 0x3200) AM_READ_PORT("DSW3") AM_WRITENOP /* mirror of the previous? */
- AM_RANGE(0x3300, 0x3300) AM_READ_PORT("SYSTEM") AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x3300, 0x3300) AM_READ_PORT("SYSTEM") AM_WRITE(watchdog_reset_w)
AM_RANGE(0x3301, 0x3301) AM_READ_PORT("P1")
AM_RANGE(0x3302, 0x3302) AM_READ_PORT("P2")
AM_RANGE(0x3303, 0x3303) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/jchan.c b/src/mame/drivers/jchan.c
index 8a290f4b4bc..71a5905c660 100644
--- a/src/mame/drivers/jchan.c
+++ b/src/mame/drivers/jchan.c
@@ -513,7 +513,7 @@ static ADDRESS_MAP_START( jchan_main, AS_PROGRAM, 16, jchan_state )
AM_RANGE(0xf00000, 0xf00007) AM_READWRITE_LEGACY(jchan_ctrl_r, jchan_ctrl_w) AM_BASE(m_ctrl)
- AM_RANGE(0xf80000, 0xf80001) AM_READWRITE_LEGACY(watchdog_reset16_r, watchdog_reset16_w) // watchdog
+ AM_RANGE(0xf80000, 0xf80001) AM_READWRITE(watchdog_reset16_r, watchdog_reset16_w) // watchdog
ADDRESS_MAP_END
@@ -536,7 +536,7 @@ static ADDRESS_MAP_START( jchan_sub, AS_PROGRAM, 16, jchan_state )
AM_RANGE(0x800000, 0x800003) AM_DEVWRITE8_LEGACY("ymz", ymz280b_w, 0x00ff) // sound
- AM_RANGE(0xa00000, 0xa00001) AM_READWRITE_LEGACY(watchdog_reset16_r, watchdog_reset16_w) // watchdog
+ AM_RANGE(0xa00000, 0xa00001) AM_READWRITE(watchdog_reset16_r, watchdog_reset16_w) // watchdog
ADDRESS_MAP_END
diff --git a/src/mame/drivers/jedi.c b/src/mame/drivers/jedi.c
index f3ebcc547d5..508065d117e 100644
--- a/src/mame/drivers/jedi.c
+++ b/src/mame/drivers/jedi.c
@@ -276,7 +276,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, jedi_state )
AM_RANGE(0x1c80, 0x1c82) AM_MIRROR(0x0078) AM_READNOP AM_WRITE(a2d_select_w)
AM_RANGE(0x1c83, 0x1c87) AM_MIRROR(0x0078) AM_NOP
AM_RANGE(0x1d00, 0x1d00) AM_MIRROR(0x007f) AM_NOP /* write: NVRAM store */
- AM_RANGE(0x1d80, 0x1d80) AM_MIRROR(0x007f) AM_READNOP AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x1d80, 0x1d80) AM_MIRROR(0x007f) AM_READNOP AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1e00, 0x1e00) AM_MIRROR(0x007f) AM_READNOP AM_WRITE(main_irq_ack_w)
AM_RANGE(0x1e80, 0x1e81) AM_MIRROR(0x0078) AM_READNOP AM_WRITE(jedi_coin_counter_w)
AM_RANGE(0x1e82, 0x1e83) AM_MIRROR(0x0078) AM_NOP /* write: LED control - not used */
diff --git a/src/mame/drivers/junofrst.c b/src/mame/drivers/junofrst.c
index 80b67f858d3..5d3734b57ec 100644
--- a/src/mame/drivers/junofrst.c
+++ b/src/mame/drivers/junofrst.c
@@ -280,7 +280,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, junofrst_state )
AM_RANGE(0x0000, 0x7fff) AM_RAM AM_BASE(m_videoram)
AM_RANGE(0x8000, 0x800f) AM_RAM AM_BASE(m_paletteram)
AM_RANGE(0x8010, 0x8010) AM_READ_PORT("DSW2")
- AM_RANGE(0x801c, 0x801c) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x801c, 0x801c) AM_READ(watchdog_reset_r)
AM_RANGE(0x8020, 0x8020) AM_READ_PORT("SYSTEM")
AM_RANGE(0x8024, 0x8024) AM_READ_PORT("P1")
AM_RANGE(0x8028, 0x8028) AM_READ_PORT("P2")
@@ -290,7 +290,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, junofrst_state )
AM_RANGE(0x8033, 0x8033) AM_WRITEONLY AM_BASE(m_scroll) /* not used in Juno */
AM_RANGE(0x8034, 0x8035) AM_WRITE_LEGACY(flip_screen_w)
AM_RANGE(0x8040, 0x8040) AM_WRITE_LEGACY(junofrst_sh_irqtrigger_w)
- AM_RANGE(0x8050, 0x8050) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x8050, 0x8050) AM_WRITE(soundlatch_w)
AM_RANGE(0x8060, 0x8060) AM_WRITE_LEGACY(junofrst_bankselect_w)
AM_RANGE(0x8070, 0x8073) AM_WRITE_LEGACY(junofrst_blitter_w)
AM_RANGE(0x8100, 0x8fff) AM_RAM
@@ -302,11 +302,11 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, junofrst_state )
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
- AM_RANGE(0x3000, 0x3000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r)
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_w)
AM_RANGE(0x4001, 0x4001) AM_DEVREAD_LEGACY("aysnd", ay8910_r)
AM_RANGE(0x4002, 0x4002) AM_DEVWRITE_LEGACY("aysnd", ay8910_data_w)
- AM_RANGE(0x5000, 0x5000) AM_WRITE_LEGACY(soundlatch2_w)
+ AM_RANGE(0x5000, 0x5000) AM_WRITE(soundlatch2_w)
AM_RANGE(0x6000, 0x6000) AM_WRITE_LEGACY(junofrst_i8039_irq_w)
ADDRESS_MAP_END
@@ -317,7 +317,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mcu_io_map, AS_IO, 8, junofrst_state )
- AM_RANGE(0x00, 0xff) AM_READ_LEGACY(soundlatch2_r)
+ AM_RANGE(0x00, 0xff) AM_READ(soundlatch2_r)
AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_DEVWRITE_LEGACY("dac", dac_w)
AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_WRITE_LEGACY(i8039_irqen_and_status_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/kaneko16.c b/src/mame/drivers/kaneko16.c
index 132f9207675..f2352cbb443 100644
--- a/src/mame/drivers/kaneko16.c
+++ b/src/mame/drivers/kaneko16.c
@@ -382,7 +382,7 @@ static ADDRESS_MAP_START( berlwall, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x680004, 0x680005) AM_READ_PORT("SYSTEM")
// AM_RANGE(0x680006, 0x680007) AM_READ_PORT("UNK")
AM_RANGE(0x700000, 0x700001) AM_WRITE(kaneko16_coin_lockout_w) // Coin Lockout
- AM_RANGE(0x780000, 0x780001) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0x780000, 0x780001) AM_READ(watchdog_reset16_r) // Watchdog
AM_RANGE(0x800000, 0x80001f) AM_DEVREADWRITE_LEGACY("ay1", kaneko16_YM2149_r, kaneko16_YM2149_w) // Sound
AM_RANGE(0x800200, 0x80021f) AM_DEVREADWRITE_LEGACY("ay2", kaneko16_YM2149_r, kaneko16_YM2149_w)
AM_RANGE(0x8003fe, 0x8003ff) AM_NOP // for OKI when accessed as .l
@@ -432,7 +432,7 @@ static ADDRESS_MAP_START( bakubrkr, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x700000, 0x700fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0x800000, 0x80001f) AM_RAM_WRITE_LEGACY(kaneko16_layers_0_regs_w) AM_BASE(m_layers_0_regs) // Layers 0 Regs
AM_RANGE(0x900000, 0x90001f) AM_RAM_WRITE_LEGACY(kaneko16_sprites_regs_w) AM_BASE(m_sprites_regs ) // Sprites Regs
- AM_RANGE(0xa80000, 0xa80001) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0xa80000, 0xa80001) AM_READ(watchdog_reset16_r) // Watchdog
AM_RANGE(0xb00000, 0xb0001f) AM_RAM_WRITE_LEGACY(kaneko16_layers_1_regs_w) AM_BASE(m_layers_1_regs) // Layers 1 Regs
AM_RANGE(0xd00000, 0xd00001) AM_WRITE(kaneko16_eeprom_w) // EEPROM
AM_RANGE(0xe00000, 0xe00001) AM_READ_PORT("P1")
@@ -529,7 +529,7 @@ static ADDRESS_MAP_START( bloodwar, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x880000, 0x880001) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x900000, 0x900039) AM_READWRITE_LEGACY(bloodwar_calc_r, bloodwar_calc_w)
- AM_RANGE(0xa00000, 0xa00001) AM_READWRITE_LEGACY(watchdog_reset16_r, watchdog_reset16_w) // Watchdog
+ AM_RANGE(0xa00000, 0xa00001) AM_READWRITE(watchdog_reset16_r, watchdog_reset16_w) // Watchdog
AM_RANGE(0xb00000, 0xb00001) AM_READ_PORT("P1")
AM_RANGE(0xb00002, 0xb00003) AM_READ_PORT("P2")
AM_RANGE(0xb00004, 0xb00005) AM_READ_PORT("SYSTEM")
@@ -591,7 +591,7 @@ static ADDRESS_MAP_START( bonkadv, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x880000, 0x880001) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x900000, 0x900015) AM_READWRITE_LEGACY(galpanib_calc_r,galpanib_calc_w)
- AM_RANGE(0xa00000, 0xa00001) AM_READWRITE_LEGACY(watchdog_reset16_r, watchdog_reset16_w) // Watchdog
+ AM_RANGE(0xa00000, 0xa00001) AM_READWRITE(watchdog_reset16_r, watchdog_reset16_w) // Watchdog
AM_RANGE(0xb00000, 0xb00001) AM_READ_PORT("P1")
AM_RANGE(0xb00002, 0xb00003) AM_READ_PORT("P2")
AM_RANGE(0xb00004, 0xb00005) AM_READ_PORT("SYSTEM")
@@ -678,7 +678,7 @@ static ADDRESS_MAP_START( gtmr_map, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x880000, 0x880001) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x900014, 0x900015) AM_READ(kaneko16_rnd_r) // Random Number ?
- AM_RANGE(0xa00000, 0xa00001) AM_READWRITE_LEGACY(watchdog_reset16_r, watchdog_reset16_w) // Watchdog
+ AM_RANGE(0xa00000, 0xa00001) AM_READWRITE(watchdog_reset16_r, watchdog_reset16_w) // Watchdog
AM_RANGE(0xb00000, 0xb00001) AM_READ_PORT("P1")
AM_RANGE(0xb00002, 0xb00003) AM_READ_PORT("P2")
@@ -752,7 +752,7 @@ static ADDRESS_MAP_START( gtmr2_map, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x880000, 0x880001) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x900014, 0x900015) AM_READ(kaneko16_rnd_r) // Random Number ?
- AM_RANGE(0xa00000, 0xa00001) AM_READWRITE_LEGACY(watchdog_reset16_r, watchdog_reset16_w) // Watchdog
+ AM_RANGE(0xa00000, 0xa00001) AM_READWRITE(watchdog_reset16_r, watchdog_reset16_w) // Watchdog
AM_RANGE(0xb00000, 0xb00001) AM_READ_PORT("P1")
// AM_RANGE(0xb00002, 0xb00003) AM_READ_PORT("P2")
@@ -791,7 +791,7 @@ static ADDRESS_MAP_START( mgcrystl, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x800000, 0x80001f) AM_RAM_WRITE_LEGACY(kaneko16_layers_0_regs_w) AM_BASE(m_layers_0_regs) // Layers 0 Regs
AM_RANGE(0x900000, 0x90001f) AM_RAM_WRITE_LEGACY(kaneko16_sprites_regs_w) AM_BASE(m_sprites_regs) // Sprites Regs
AM_RANGE(0xb00000, 0xb0001f) AM_RAM_WRITE_LEGACY(kaneko16_layers_1_regs_w) AM_BASE(m_layers_1_regs) // Layers 1 Regs
- AM_RANGE(0xa00000, 0xa00001) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0xa00000, 0xa00001) AM_READ(watchdog_reset16_r) // Watchdog
AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("DSW_P1")
AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("P2")
AM_RANGE(0xc00004, 0xc00005) AM_READ_PORT("SYSTEM")
@@ -857,7 +857,7 @@ static ADDRESS_MAP_START( shogwarr, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x800000, 0x80000f) AM_RAM_WRITE_LEGACY(kaneko16_layers_0_regs_w) AM_BASE(m_layers_0_regs) // Layers 0 Regs
AM_RANGE(0x900000, 0x90001f) AM_RAM_WRITE_LEGACY(kaneko16_sprites_regs_w) AM_BASE(m_sprites_regs) // Sprites Regs
AM_RANGE(0xa00000, 0xa0007f) AM_READWRITE_LEGACY(bloodwar_calc_r, bloodwar_calc_w)
- AM_RANGE(0xa80000, 0xa80001) AM_READWRITE_LEGACY(watchdog_reset16_r, watchdog_reset16_w) // Watchdog
+ AM_RANGE(0xa80000, 0xa80001) AM_READWRITE(watchdog_reset16_r, watchdog_reset16_w) // Watchdog
AM_RANGE(0xb80000, 0xb80001) AM_READ_PORT("P1")
AM_RANGE(0xb80002, 0xb80003) AM_READ_PORT("P2")
AM_RANGE(0xb80004, 0xb80005) AM_READ_PORT("SYSTEM")
@@ -887,7 +887,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( blazeon_soundport, AS_IO, 8, kaneko16_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x02, 0x03) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
- AM_RANGE(0x06, 0x06) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x06, 0x06) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/kangaroo.c b/src/mame/drivers/kangaroo.c
index 4a5bc333637..1205b2b3955 100644
--- a/src/mame/drivers/kangaroo.c
+++ b/src/mame/drivers/kangaroo.c
@@ -258,7 +258,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, kangaroo_state )
AM_RANGE(0xe000, 0xe3ff) AM_RAM
AM_RANGE(0xe400, 0xe400) AM_MIRROR(0x03ff) AM_READ_PORT("DSW0")
AM_RANGE(0xe800, 0xe80a) AM_MIRROR(0x03f0) AM_WRITE_LEGACY(kangaroo_video_control_w) AM_BASE(m_video_control)
- AM_RANGE(0xec00, 0xec00) AM_MIRROR(0x00ff) AM_READ_PORT("IN0") AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xec00, 0xec00) AM_MIRROR(0x00ff) AM_READ_PORT("IN0") AM_WRITE(soundlatch_w)
AM_RANGE(0xed00, 0xed00) AM_MIRROR(0x00ff) AM_READ_PORT("IN1") AM_WRITE(kangaroo_coin_counter_w)
AM_RANGE(0xee00, 0xee00) AM_MIRROR(0x00ff) AM_READ_PORT("IN2")
ADDRESS_MAP_END
@@ -274,7 +274,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, kangaroo_state )
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x0c00) AM_RAM
- AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x0fff) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x0fff) AM_READ(soundlatch_r)
AM_RANGE(0x7000, 0x7000) AM_MIRROR(0x0fff) AM_DEVWRITE_LEGACY("aysnd", ay8910_data_w)
AM_RANGE(0x8000, 0x8000) AM_MIRROR(0x0fff) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_w)
ADDRESS_MAP_END
@@ -284,7 +284,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, kangaroo_state )
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x0c00) AM_RAM
- AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x0fff) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x0fff) AM_READ(soundlatch_r)
AM_RANGE(0x7000, 0x7000) AM_MIRROR(0x0fff) AM_DEVWRITE_LEGACY("aysnd", ay8910_data_w)
AM_RANGE(0x8000, 0x8000) AM_MIRROR(0x0fff) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/karnov.c b/src/mame/drivers/karnov.c
index ae7b67bc3ac..9b4eb022a9c 100644
--- a/src/mame/drivers/karnov.c
+++ b/src/mame/drivers/karnov.c
@@ -440,7 +440,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( karnov_sound_map, AS_PROGRAM, 8, karnov_state )
AM_RANGE(0x0000, 0x05ff) AM_RAM
- AM_RANGE(0x0800, 0x0800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x0800, 0x0800) AM_READ(soundlatch_r)
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x1800, 0x1801) AM_DEVWRITE_LEGACY("ym2", ym3526_w)
AM_RANGE(0x8000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/kas89.c b/src/mame/drivers/kas89.c
index 167284e490f..ac90b45424b 100644
--- a/src/mame/drivers/kas89.c
+++ b/src/mame/drivers/kas89.c
@@ -576,7 +576,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( audio_io, AS_IO, 8, kas89_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(int_ack_w) // comm out (1st Z80). seems to write here the value previously read through soundlatch (port 0x02).
- AM_RANGE(0x02, 0x02) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x02, 0x02) AM_READ(soundlatch_r)
AM_RANGE(0x04, 0x04) AM_DEVREAD_LEGACY("aysnd", ay8910_r)
AM_RANGE(0x04, 0x05) AM_DEVWRITE_LEGACY("aysnd", ay8910_data_address_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/kchamp.c b/src/mame/drivers/kchamp.c
index 22141a584b6..fe3d127822a 100644
--- a/src/mame/drivers/kchamp.c
+++ b/src/mame/drivers/kchamp.c
@@ -132,7 +132,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( kchampvs_sound_io_map, AS_IO, 8, kchamp_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE_LEGACY("ay1", ay8910_data_address_w)
- AM_RANGE(0x01, 0x01) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x01, 0x01) AM_READ(soundlatch_r)
AM_RANGE(0x02, 0x03) AM_DEVWRITE_LEGACY("ay2", ay8910_data_address_w)
AM_RANGE(0x04, 0x04) AM_WRITE(sound_msm_w)
AM_RANGE(0x05, 0x05) AM_DEVWRITE_LEGACY("msm", sound_control_w)
@@ -187,7 +187,7 @@ static ADDRESS_MAP_START( kchamp_sound_io_map, AS_IO, 8, kchamp_state )
AM_RANGE(0x02, 0x03) AM_DEVWRITE_LEGACY("ay2", ay8910_data_address_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY("dac", dac_w)
AM_RANGE(0x05, 0x05) AM_WRITE(kc_sound_control_w)
- AM_RANGE(0x06, 0x06) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x06, 0x06) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static INPUT_PORTS_START( kchampvs )
diff --git a/src/mame/drivers/kickgoal.c b/src/mame/drivers/kickgoal.c
index df38a065f71..e1b674e911c 100644
--- a/src/mame/drivers/kickgoal.c
+++ b/src/mame/drivers/kickgoal.c
@@ -483,7 +483,7 @@ static ADDRESS_MAP_START( kickgoal_program_map, AS_PROGRAM, 16, kickgoal_state )
/// AM_RANGE(0x30001e, 0x30001f) AM_DEVWRITE_LEGACY("oki", kickgoal_snd_w)
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("P1_P2")
AM_RANGE(0x800002, 0x800003) AM_READ_PORT("SYSTEM")
-/// AM_RANGE(0x800004, 0x800005) AM_WRITE_LEGACY(soundlatch_word_w)
+/// AM_RANGE(0x800004, 0x800005) AM_WRITE(soundlatch_word_w)
AM_RANGE(0x800004, 0x800005) AM_DEVWRITE_LEGACY("oki", actionhw_snd_w)
AM_RANGE(0x900000, 0x900005) AM_WRITE(kickgoal_eeprom_w)
AM_RANGE(0x900006, 0x900007) AM_READ(kickgoal_eeprom_r)
diff --git a/src/mame/drivers/kingobox.c b/src/mame/drivers/kingobox.c
index 359e6fe694b..ec82002904e 100644
--- a/src/mame/drivers/kingobox.c
+++ b/src/mame/drivers/kingobox.c
@@ -439,7 +439,7 @@ static const ay8910_interface ay8910_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r)
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r)
};
static INTERRUPT_GEN( kingofb_interrupt )
diff --git a/src/mame/drivers/klax.c b/src/mame/drivers/klax.c
index 8f7acb07481..b28c7d3ac9f 100644
--- a/src/mame/drivers/klax.c
+++ b/src/mame/drivers/klax.c
@@ -90,7 +90,7 @@ static ADDRESS_MAP_START( klax_map, AS_PROGRAM, 16, klax_state )
AM_RANGE(0x260000, 0x260001) AM_READ_PORT("P1") AM_WRITE_LEGACY(klax_latch_w)
AM_RANGE(0x260002, 0x260003) AM_READ_PORT("P2")
AM_RANGE(0x270000, 0x270001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x360000, 0x360001) AM_WRITE_LEGACY(interrupt_ack_w)
AM_RANGE(0x3e0000, 0x3e07ff) AM_RAM_WRITE_LEGACY(atarigen_expanded_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x3f0000, 0x3f0f7f) AM_RAM_WRITE_LEGACY(atarigen_playfield_w) AM_BASE(m_playfield)
diff --git a/src/mame/drivers/kncljoe.c b/src/mame/drivers/kncljoe.c
index 0e6399821c4..4421b098a68 100644
--- a/src/mame/drivers/kncljoe.c
+++ b/src/mame/drivers/kncljoe.c
@@ -235,7 +235,7 @@ static const ay8910_interface ay8910_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("soundcpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_HANDLER(unused_w)
diff --git a/src/mame/drivers/ksayakyu.c b/src/mame/drivers/ksayakyu.c
index 6d7a3e56bd2..34d2e22e1a5 100644
--- a/src/mame/drivers/ksayakyu.c
+++ b/src/mame/drivers/ksayakyu.c
@@ -188,7 +188,7 @@ static const ay8910_interface ay8910_interface_1 =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_HANDLER(dummy1_w)
diff --git a/src/mame/drivers/kyugo.c b/src/mame/drivers/kyugo.c
index 3dc88d4baee..669d59ddf2a 100644
--- a/src/mame/drivers/kyugo.c
+++ b/src/mame/drivers/kyugo.c
@@ -1374,7 +1374,8 @@ ROM_END
static DRIVER_INIT( gyrodine )
{
/* add watchdog */
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0xe000, 0xe000, FUNC(watchdog_reset_w));
+ kyugo_state *state = machine.driver_data<kyugo_state>();
+ machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xe000, 0xe000, write8_delegate(FUNC(kyugo_state::watchdog_reset_w),state));
}
diff --git a/src/mame/drivers/labyrunr.c b/src/mame/drivers/labyrunr.c
index de0b47f8d87..ee7f12f0b4f 100644
--- a/src/mame/drivers/labyrunr.c
+++ b/src/mame/drivers/labyrunr.c
@@ -51,7 +51,7 @@ static ADDRESS_MAP_START( labyrunr_map, AS_PROGRAM, 8, labyrunr_state )
AM_RANGE(0x0b00, 0x0b00) AM_READ_PORT("SYSTEM")
AM_RANGE(0x0c00, 0x0c00) AM_WRITE(labyrunr_bankswitch_w)
AM_RANGE(0x0d00, 0x0d1f) AM_DEVREADWRITE_LEGACY("k051733", k051733_r, k051733_w)
- AM_RANGE(0x0e00, 0x0e00) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x0e00, 0x0e00) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1000, 0x10ff) AM_RAM AM_BASE(m_paletteram)
AM_RANGE(0x1800, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x2fff) AM_RAM AM_BASE(m_spriteram)
diff --git a/src/mame/drivers/ladyfrog.c b/src/mame/drivers/ladyfrog.c
index 51088608457..9aec361e1e6 100644
--- a/src/mame/drivers/ladyfrog.c
+++ b/src/mame/drivers/ladyfrog.c
@@ -157,7 +157,7 @@ static ADDRESS_MAP_START( ladyfrog_sound_map, AS_PROGRAM, 8, ladyfrog_state )
AM_RANGE(0xca00, 0xca00) AM_WRITENOP
AM_RANGE(0xcb00, 0xcb00) AM_WRITENOP
AM_RANGE(0xcc00, 0xcc00) AM_WRITENOP
- AM_RANGE(0xd000, 0xd000) AM_READ_LEGACY(soundlatch_r) AM_WRITE(to_main_w)
+ AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r) AM_WRITE(to_main_w)
AM_RANGE(0xd200, 0xd200) AM_READNOP AM_WRITE(nmi_enable_w)
AM_RANGE(0xd400, 0xd400) AM_WRITE(nmi_disable_w)
AM_RANGE(0xd600, 0xd600) AM_WRITENOP
diff --git a/src/mame/drivers/laserbat.c b/src/mame/drivers/laserbat.c
index d0905024124..fcfe69bf0da 100644
--- a/src/mame/drivers/laserbat.c
+++ b/src/mame/drivers/laserbat.c
@@ -189,7 +189,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( catnmous_io_map, AS_IO, 8, laserbat_state )
- AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(soundlatch_w) // soundlatch ?
+ AM_RANGE(0x00, 0x00) AM_WRITE(soundlatch_w) // soundlatch ?
AM_RANGE(0x01, 0x01) AM_WRITE(video_extra_w)
AM_RANGE(0x02, 0x02) AM_READ(laserbat_input_r)
AM_RANGE(0x02, 0x02) AM_WRITENOP // unknown
@@ -650,7 +650,7 @@ static const ay8910_interface ay8910_config =
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
DEVCB_NULL,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_NULL,//ay8910_port0a_w,
DEVCB_NULL
};
diff --git a/src/mame/drivers/lasso.c b/src/mame/drivers/lasso.c
index db4aded1c98..f9ae1b21839 100644
--- a/src/mame/drivers/lasso.c
+++ b/src/mame/drivers/lasso.c
@@ -100,7 +100,7 @@ static ADDRESS_MAP_START( lasso_audio_map, AS_PROGRAM, 8, lasso_state )
AM_RANGE(0xb000, 0xb000) AM_WRITEONLY AM_BASE(m_chip_data)
AM_RANGE(0xb001, 0xb001) AM_WRITE(sound_select_w)
AM_RANGE(0xb004, 0xb004) AM_READ(sound_status_r)
- AM_RANGE(0xb005, 0xb005) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xb005, 0xb005) AM_READ(soundlatch_r)
AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("audiocpu", 0x7000)
ADDRESS_MAP_END
@@ -138,7 +138,7 @@ static ADDRESS_MAP_START( chameleo_audio_map, AS_PROGRAM, 8, lasso_state )
AM_RANGE(0xb000, 0xb000) AM_WRITEONLY AM_BASE(m_chip_data)
AM_RANGE(0xb001, 0xb001) AM_WRITE(sound_select_w)
AM_RANGE(0xb004, 0xb004) AM_READ(sound_status_r)
- AM_RANGE(0xb005, 0xb005) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xb005, 0xb005) AM_READ(soundlatch_r)
AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION("audiocpu", 0x7000)
ADDRESS_MAP_END
@@ -169,7 +169,7 @@ static ADDRESS_MAP_START( wwjgtin_audio_map, AS_PROGRAM, 8, lasso_state )
AM_RANGE(0xb001, 0xb001) AM_WRITE(sound_select_w)
AM_RANGE(0xb003, 0xb003) AM_DEVWRITE_LEGACY("dac", dac_w)
AM_RANGE(0xb004, 0xb004) AM_READ(sound_status_r)
- AM_RANGE(0xb005, 0xb005) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xb005, 0xb005) AM_READ(soundlatch_r)
ADDRESS_MAP_END
@@ -203,7 +203,7 @@ static ADDRESS_MAP_START( pinbo_audio_io_map, AS_IO, 8, lasso_state )
AM_RANGE(0x02, 0x02) AM_DEVREAD_LEGACY("ay1", ay8910_r)
AM_RANGE(0x04, 0x05) AM_DEVWRITE_LEGACY("ay2", ay8910_address_data_w)
AM_RANGE(0x06, 0x06) AM_DEVREAD_LEGACY("ay2", ay8910_r)
- AM_RANGE(0x08, 0x08) AM_READ_LEGACY(soundlatch_r) AM_WRITENOP /* ??? */
+ AM_RANGE(0x08, 0x08) AM_READ(soundlatch_r) AM_WRITENOP /* ??? */
AM_RANGE(0x14, 0x14) AM_WRITENOP /* ??? */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/lastduel.c b/src/mame/drivers/lastduel.c
index 779bc01d19b..26d0c038235 100644
--- a/src/mame/drivers/lastduel.c
+++ b/src/mame/drivers/lastduel.c
@@ -170,7 +170,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, lastduel_state )
AM_RANGE(0xe000, 0xe7ff) AM_RAM
AM_RANGE(0xe800, 0xe801) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r,ym2203_w)
AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE_LEGACY("ym2", ym2203_r,ym2203_w)
- AM_RANGE(0xf800, 0xf800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r)
ADDRESS_MAP_END
WRITE8_MEMBER(lastduel_state::mg_bankswitch_w)
@@ -185,7 +185,7 @@ static ADDRESS_MAP_START( madgear_sound_map, AS_PROGRAM, 8, lastduel_state )
AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r,ym2203_w)
AM_RANGE(0xf002, 0xf003) AM_DEVREADWRITE_LEGACY("ym2", ym2203_r,ym2203_w)
AM_RANGE(0xf004, 0xf004) AM_DEVWRITE("oki", okim6295_device, write)
- AM_RANGE(0xf006, 0xf006) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xf006, 0xf006) AM_READ(soundlatch_r)
AM_RANGE(0xf00a, 0xf00a) AM_WRITE(mg_bankswitch_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/legionna.c b/src/mame/drivers/legionna.c
index dc57cb8c330..de50f0fa328 100644
--- a/src/mame/drivers/legionna.c
+++ b/src/mame/drivers/legionna.c
@@ -234,7 +234,7 @@ static ADDRESS_MAP_START( cupsocbl_sound_mem, AS_PROGRAM, 8, legionna_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_DEVWRITE_LEGACY("oki", okim_rombank_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
/*****************************************************************************/
diff --git a/src/mame/drivers/lemmings.c b/src/mame/drivers/lemmings.c
index f1de31275d3..9b141caa1fd 100644
--- a/src/mame/drivers/lemmings.c
+++ b/src/mame/drivers/lemmings.c
@@ -114,7 +114,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, lemmings_state )
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r,ym2151_w)
AM_RANGE(0x1000, 0x1000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0x1800, 0x1800) AM_READ_LEGACY(soundlatch_r) AM_WRITE(lemmings_sound_ack_w)
+ AM_RANGE(0x1800, 0x1800) AM_READ(soundlatch_r) AM_WRITE(lemmings_sound_ack_w)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/lethal.c b/src/mame/drivers/lethal.c
index e436be516a2..8b63218ace6 100644
--- a/src/mame/drivers/lethal.c
+++ b/src/mame/drivers/lethal.c
@@ -479,8 +479,8 @@ static ADDRESS_MAP_START( le_sound, AS_PROGRAM, 8, lethal_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xfa2f) AM_DEVREADWRITE("k054539", k054539_device, read, write)
- AM_RANGE(0xfc00, 0xfc00) AM_WRITE_LEGACY(soundlatch2_w)
- AM_RANGE(0xfc02, 0xfc02) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xfc00, 0xfc00) AM_WRITE(soundlatch2_w)
+ AM_RANGE(0xfc02, 0xfc02) AM_READ(soundlatch_r)
AM_RANGE(0xfc03, 0xfc03) AM_READNOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/liberate.c b/src/mame/drivers/liberate.c
index 76faaa84f72..567b6d923ef 100644
--- a/src/mame/drivers/liberate.c
+++ b/src/mame/drivers/liberate.c
@@ -314,7 +314,7 @@ static ADDRESS_MAP_START( prosoccr_sound_map, AS_PROGRAM, 8, liberate_state )
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE_LEGACY("ay1", ay8910_address_w)
AM_RANGE(0x6000, 0x6000) AM_DEVWRITE_LEGACY("ay2", ay8910_data_w)
AM_RANGE(0x8000, 0x8000) AM_DEVWRITE_LEGACY("ay2", ay8910_address_w)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xc000, 0xc000) AM_WRITENOP //irq ack
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -326,7 +326,7 @@ static ADDRESS_MAP_START( liberate_sound_map, AS_PROGRAM, 8, liberate_state )
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE_LEGACY("ay1", ay8910_address_w)
AM_RANGE(0x7000, 0x7000) AM_DEVWRITE_LEGACY("ay2", ay8910_data_w)
AM_RANGE(0x8000, 0x8000) AM_DEVWRITE_LEGACY("ay2", ay8910_address_w)
- AM_RANGE(0xb000, 0xb000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xb000, 0xb000) AM_READ(soundlatch_r)
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/liberatr.c b/src/mame/drivers/liberatr.c
index beae6986d47..660b30fdc3b 100644
--- a/src/mame/drivers/liberatr.c
+++ b/src/mame/drivers/liberatr.c
@@ -225,7 +225,7 @@ static ADDRESS_MAP_START( liberatr_map, AS_PROGRAM, 8, liberatr_state )
AM_RANGE(0x6400, 0x6400) AM_WRITENOP
AM_RANGE(0x6600, 0x6600) AM_WRITE(earom_control_w)
AM_RANGE(0x6800, 0x6800) AM_WRITEONLY AM_SHARE("planet_frame")
- AM_RANGE(0x6a00, 0x6a00) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x6a00, 0x6a00) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x6c00, 0x6c01) AM_WRITE(led_w)
AM_RANGE(0x6c04, 0x6c04) AM_WRITE(trackball_reset_w)
AM_RANGE(0x6c05, 0x6c06) AM_WRITE(coin_counter_w)
@@ -258,7 +258,7 @@ static ADDRESS_MAP_START( liberat2_map, AS_PROGRAM, 8, liberatr_state )
AM_RANGE(0x4600, 0x4600) AM_WRITE(earom_control_w)
AM_RANGE(0x4800, 0x483f) AM_READ(earom_r)
AM_RANGE(0x4800, 0x4800) AM_WRITEONLY AM_SHARE("planet_frame")
- AM_RANGE(0x4a00, 0x4a00) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x4a00, 0x4a00) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x4c00, 0x4c01) AM_WRITE(led_w)
AM_RANGE(0x4c04, 0x4c04) AM_WRITE(trackball_reset_w)
AM_RANGE(0x4c05, 0x4c06) AM_WRITE(coin_counter_w)
diff --git a/src/mame/drivers/lkage.c b/src/mame/drivers/lkage.c
index e4ee06f64be..2e526e17cf3 100644
--- a/src/mame/drivers/lkage.c
+++ b/src/mame/drivers/lkage.c
@@ -187,7 +187,7 @@ static ADDRESS_MAP_START( lkage_sound_map, AS_PROGRAM, 8, lkage_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r,ym2203_w)
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ym2", ym2203_r,ym2203_w)
- AM_RANGE(0xb000, 0xb000) AM_READ_LEGACY(soundlatch_r) AM_WRITENOP /* ??? */
+ AM_RANGE(0xb000, 0xb000) AM_READ(soundlatch_r) AM_WRITENOP /* ??? */
AM_RANGE(0xb001, 0xb001) AM_READNOP /* ??? */ AM_WRITE(lkage_sh_nmi_enable_w)
AM_RANGE(0xb002, 0xb002) AM_WRITE(lkage_sh_nmi_disable_w)
AM_RANGE(0xb003, 0xb003) AM_WRITENOP
diff --git a/src/mame/drivers/looping.c b/src/mame/drivers/looping.c
index 964e2f22f41..516c2a036c4 100644
--- a/src/mame/drivers/looping.c
+++ b/src/mame/drivers/looping.c
@@ -521,7 +521,7 @@ static ADDRESS_MAP_START( looping_io_map, AS_IO, 8, looping_state )
/* 404 = C0 */
/* 405 = C1 */
AM_RANGE(0x406, 0x406) AM_WRITE(main_irq_ack_w)
- AM_RANGE(0x407, 0x407) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x407, 0x407) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x10000, 0x10000) AM_NOP /* external IDLE signal -- we can ignore it */
ADDRESS_MAP_END
@@ -605,7 +605,7 @@ static const ay8910_interface ay8910_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
diff --git a/src/mame/drivers/lordgun.c b/src/mame/drivers/lordgun.c
index 493474b1578..bfd4e1ad4e5 100644
--- a/src/mame/drivers/lordgun.c
+++ b/src/mame/drivers/lordgun.c
@@ -343,16 +343,16 @@ static WRITE8_DEVICE_HANDLER( lordgun_okibank_w )
static ADDRESS_MAP_START( lordgun_soundio_map, AS_IO, 8, lordgun_state )
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w )
AM_RANGE(0x2000, 0x2000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0x3000, 0x3000) AM_READ_LEGACY(soundlatch2_r )
- AM_RANGE(0x4000, 0x4000) AM_READ_LEGACY(soundlatch_r )
+ AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch2_r )
+ AM_RANGE(0x4000, 0x4000) AM_READ(soundlatch_r )
AM_RANGE(0x5000, 0x5000) AM_READNOP
AM_RANGE(0x6000, 0x6000) AM_DEVWRITE_LEGACY("oki", lordgun_okibank_w )
ADDRESS_MAP_END
static ADDRESS_MAP_START( aliencha_soundio_map, AS_IO, 8, lordgun_state )
- AM_RANGE(0x3000, 0x3000) AM_READ_LEGACY(soundlatch2_r )
- AM_RANGE(0x4000, 0x4000) AM_READ_LEGACY(soundlatch_r )
+ AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch2_r )
+ AM_RANGE(0x4000, 0x4000) AM_READ(soundlatch_r )
AM_RANGE(0x5000, 0x5000) AM_WRITENOP // writes 03 then 07 at end of NMI
AM_RANGE(0x7000, 0x7000) AM_DEVREAD_LEGACY("ymf", ymf278b_r)
AM_RANGE(0x7000, 0x7005) AM_DEVWRITE_LEGACY("ymf", ymf278b_w)
diff --git a/src/mame/drivers/lwings.c b/src/mame/drivers/lwings.c
index 418ca9cecdd..d7503aa7733 100644
--- a/src/mame/drivers/lwings.c
+++ b/src/mame/drivers/lwings.c
@@ -320,8 +320,8 @@ static ADDRESS_MAP_START( lwings_map, AS_PROGRAM, 8, lwings_state )
AM_RANGE(0xf80a, 0xf80a) AM_READ_PORT("P2")
AM_RANGE(0xf80b, 0xf80b) AM_READ_PORT("DSWA")
AM_RANGE(0xf80a, 0xf80b) AM_WRITE_LEGACY(lwings_bg1_scrolly_w)
- AM_RANGE(0xf80c, 0xf80c) AM_READ_PORT("DSWB") AM_WRITE_LEGACY(soundlatch_w)
- AM_RANGE(0xf80d, 0xf80d) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xf80c, 0xf80c) AM_READ_PORT("DSWB") AM_WRITE(soundlatch_w)
+ AM_RANGE(0xf80d, 0xf80d) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xf80e, 0xf80e) AM_WRITE(lwings_bankswitch_w)
ADDRESS_MAP_END
@@ -344,15 +344,15 @@ static ADDRESS_MAP_START( trojan_map, AS_PROGRAM, 8, lwings_state )
AM_RANGE(0xf809, 0xf809) AM_READ_PORT("P1")
AM_RANGE(0xf80a, 0xf80a) AM_READ_PORT("P2")
AM_RANGE(0xf80b, 0xf80b) AM_READ_PORT("DSWA")
- AM_RANGE(0xf80c, 0xf80c) AM_READ_PORT("DSWB") AM_WRITE_LEGACY(soundlatch_w)
- AM_RANGE(0xf80d, 0xf80d) AM_WRITE_LEGACY(soundlatch2_w)
+ AM_RANGE(0xf80c, 0xf80c) AM_READ_PORT("DSWB") AM_WRITE(soundlatch_w)
+ AM_RANGE(0xf80d, 0xf80d) AM_WRITE(soundlatch2_w)
AM_RANGE(0xf80e, 0xf80e) AM_WRITE(lwings_bankswitch_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( lwings_sound_map, AS_PROGRAM, 8, lwings_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xc800, 0xc800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc800, 0xc800) AM_READ(soundlatch_r)
AM_RANGE(0xe000, 0xe001) AM_DEVWRITE_LEGACY("2203a", ym2203_w)
AM_RANGE(0xe002, 0xe003) AM_DEVWRITE_LEGACY("2203b", ym2203_w)
AM_RANGE(0xe006, 0xe006) AM_READ(avengers_soundlatch2_r) //AT: (avengers061gre)
@@ -372,7 +372,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( trojan_adpcm_io_map, AS_IO, 8, lwings_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch2_r)
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch2_r)
AM_RANGE(0x01, 0x01) AM_DEVWRITE_LEGACY("5205", msm5205_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/m63.c b/src/mame/drivers/m63.c
index 7a23843d2d6..778ecf05a94 100644
--- a/src/mame/drivers/m63.c
+++ b/src/mame/drivers/m63.c
@@ -459,7 +459,7 @@ static ADDRESS_MAP_START( m63_map, AS_PROGRAM, 8, m63_state )
AM_RANGE(0xf002, 0xf002) AM_WRITE(m63_flipscreen_w)
AM_RANGE(0xf003, 0xf003) AM_WRITE(m63_palbank_w)
AM_RANGE(0xf006, 0xf007) AM_WRITE(coin_w)
- AM_RANGE(0xf800, 0xf800) AM_READ_PORT("P1") AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xf800, 0xf800) AM_READ_PORT("P1") AM_WRITE(soundlatch_w)
AM_RANGE(0xf801, 0xf801) AM_READ_PORT("P2") AM_WRITENOP /* continues game when in stop mode (cleared by NMI handler) */
AM_RANGE(0xf802, 0xf802) AM_READ_PORT("DSW1")
AM_RANGE(0xf803, 0xf803) AM_WRITE(snd_irq_w)
@@ -482,7 +482,7 @@ static ADDRESS_MAP_START( fghtbskt_map, AS_PROGRAM, 8, m63_state )
AM_RANGE(0xf003, 0xf003) AM_READ_PORT("DSW")
AM_RANGE(0xf000, 0xf000) AM_WRITE(snd_irq_w)
AM_RANGE(0xf001, 0xf001) AM_WRITENOP
- AM_RANGE(0xf002, 0xf002) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xf002, 0xf002) AM_WRITE(soundlatch_w)
AM_RANGE(0xf800, 0xf800) AM_WRITENOP
AM_RANGE(0xf801, 0xf801) AM_WRITE(nmi_mask_w)
AM_RANGE(0xf802, 0xf802) AM_WRITE(fghtbskt_flipscreen_w)
diff --git a/src/mame/drivers/m72.c b/src/mame/drivers/m72.c
index 9d25f75585b..266992d5dea 100644
--- a/src/mame/drivers/m72.c
+++ b/src/mame/drivers/m72.c
@@ -1076,7 +1076,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( rtype_sound_portmap, AS_IO, 8, m72_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
- AM_RANGE(0x02, 0x02) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x02, 0x02) AM_READ(soundlatch_r)
AM_RANGE(0x06, 0x06) AM_DEVWRITE_LEGACY("m72", m72_sound_irq_ack_w)
AM_RANGE(0x84, 0x84) AM_DEVREAD_LEGACY("m72", m72_sample_r)
ADDRESS_MAP_END
@@ -1084,7 +1084,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, m72_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
- AM_RANGE(0x02, 0x02) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x02, 0x02) AM_READ(soundlatch_r)
AM_RANGE(0x06, 0x06) AM_DEVWRITE_LEGACY("m72", m72_sound_irq_ack_w)
AM_RANGE(0x82, 0x82) AM_DEVWRITE_LEGACY("m72", m72_sample_w)
AM_RANGE(0x84, 0x84) AM_DEVREAD_LEGACY("m72", m72_sample_r)
@@ -1093,7 +1093,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( rtype2_sound_portmap, AS_IO, 8, m72_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
- AM_RANGE(0x80, 0x80) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x80, 0x80) AM_READ(soundlatch_r)
AM_RANGE(0x80, 0x81) AM_DEVWRITE_LEGACY("m72", rtype2_sample_addr_w)
AM_RANGE(0x82, 0x82) AM_DEVWRITE_LEGACY("m72", m72_sample_w)
AM_RANGE(0x83, 0x83) AM_DEVWRITE_LEGACY("m72", m72_sound_irq_ack_w)
@@ -1105,7 +1105,7 @@ static ADDRESS_MAP_START( poundfor_sound_portmap, AS_IO, 8, m72_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x13) AM_DEVWRITE_LEGACY("m72", poundfor_sample_addr_w)
AM_RANGE(0x40, 0x41) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
- AM_RANGE(0x42, 0x42) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x42, 0x42) AM_READ(soundlatch_r)
AM_RANGE(0x42, 0x42) AM_DEVWRITE_LEGACY("m72", m72_sound_irq_ack_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/m90.c b/src/mame/drivers/m90.c
index 52235a38eee..4307f9aad53 100644
--- a/src/mame/drivers/m90.c
+++ b/src/mame/drivers/m90.c
@@ -131,7 +131,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( m90_sound_cpu_io_map, AS_IO, 8, m90_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
- AM_RANGE(0x80, 0x80) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x80, 0x80) AM_READ(soundlatch_r)
AM_RANGE(0x80, 0x81) AM_DEVWRITE_LEGACY("m72", rtype2_sample_addr_w)
AM_RANGE(0x82, 0x82) AM_DEVWRITE_LEGACY("m72", m72_sample_w)
AM_RANGE(0x83, 0x83) AM_DEVWRITE_LEGACY("m72", m72_sound_irq_ack_w)
@@ -141,7 +141,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( dynablsb_sound_cpu_io_map, AS_IO, 8, m90_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
- AM_RANGE(0x80, 0x80) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x80, 0x80) AM_READ(soundlatch_r)
AM_RANGE(0x82, 0x82) AM_DEVWRITE_LEGACY("dac", dac_signed_w)
ADDRESS_MAP_END
@@ -149,7 +149,7 @@ static ADDRESS_MAP_START( m99_sound_cpu_io_map, AS_IO, 8, m90_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE_LEGACY("m72", poundfor_sample_addr_w)
AM_RANGE(0x40, 0x41) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
- AM_RANGE(0x42, 0x42) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x42, 0x42) AM_READ(soundlatch_r)
AM_RANGE(0x42, 0x42) AM_DEVWRITE_LEGACY("m72", m72_sound_irq_ack_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/madalien.c b/src/mame/drivers/madalien.c
index be2168df367..884a52c6820 100644
--- a/src/mame/drivers/madalien.c
+++ b/src/mame/drivers/madalien.c
@@ -87,7 +87,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, madalien_state )
AM_RANGE(0x8001, 0x8001) AM_MIRROR(0x0ff0) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
AM_RANGE(0x8004, 0x8004) AM_MIRROR(0x0ff0) AM_WRITEONLY AM_BASE(m_video_control)
AM_RANGE(0x8005, 0x8005) AM_MIRROR(0x0ff0) AM_WRITE(madalien_output_w)
- AM_RANGE(0x8006, 0x8006) AM_MIRROR(0x0ff0) AM_READ_LEGACY(soundlatch2_r) AM_WRITE(madalien_sound_command_w)
+ AM_RANGE(0x8006, 0x8006) AM_MIRROR(0x0ff0) AM_READ(soundlatch2_r) AM_WRITE(madalien_sound_command_w)
AM_RANGE(0x8008, 0x8008) AM_MIRROR(0x07f0) AM_RAM_READ(shift_r) AM_BASE(m_shift_hi)
AM_RANGE(0x8009, 0x8009) AM_MIRROR(0x07f0) AM_RAM_READ(shift_rev_r) AM_BASE(m_shift_lo)
AM_RANGE(0x800b, 0x800b) AM_MIRROR(0x07f0) AM_WRITEONLY AM_BASE(m_video_flags)
@@ -109,7 +109,7 @@ static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, madalien_state )
AM_RANGE(0x6000, 0x6003) AM_MIRROR(0x1ffc) AM_RAM /* unknown device in an epoxy block, might be tilt detection */
AM_RANGE(0x8000, 0x8000) AM_MIRROR(0x1ffc) AM_READ(madalien_sound_command_r)
AM_RANGE(0x8000, 0x8001) AM_MIRROR(0x1ffc) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_data_w)
- AM_RANGE(0x8002, 0x8002) AM_MIRROR(0x1ffc) AM_WRITE_LEGACY(soundlatch2_w)
+ AM_RANGE(0x8002, 0x8002) AM_MIRROR(0x1ffc) AM_WRITE(soundlatch2_w)
AM_RANGE(0xf800, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/madmotor.c b/src/mame/drivers/madmotor.c
index bf291385051..70e295702ce 100644
--- a/src/mame/drivers/madmotor.c
+++ b/src/mame/drivers/madmotor.c
@@ -72,7 +72,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, madmotor_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ym2", ym2151_r,ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
- AM_RANGE(0x140000, 0x140001) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
diff --git a/src/mame/drivers/mainevt.c b/src/mame/drivers/mainevt.c
index 5b87b6358bd..09ec139ad9b 100644
--- a/src/mame/drivers/mainevt.c
+++ b/src/mame/drivers/mainevt.c
@@ -162,7 +162,7 @@ WRITE8_MEMBER(mainevt_state::k052109_051960_w)
static ADDRESS_MAP_START( mainevt_map, AS_PROGRAM, 8, mainevt_state )
AM_RANGE(0x1f80, 0x1f80) AM_WRITE(mainevt_bankswitch_w)
- AM_RANGE(0x1f84, 0x1f84) AM_WRITE_LEGACY(soundlatch_w) /* probably */
+ AM_RANGE(0x1f84, 0x1f84) AM_WRITE(soundlatch_w) /* probably */
AM_RANGE(0x1f88, 0x1f88) AM_WRITE(mainevt_sh_irqtrigger_w) /* probably */
AM_RANGE(0x1f8c, 0x1f8d) AM_WRITENOP /* ??? */
AM_RANGE(0x1f90, 0x1f90) AM_WRITE(mainevt_coin_w) /* coin counters + lamps */
@@ -187,7 +187,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( devstors_map, AS_PROGRAM, 8, mainevt_state )
AM_RANGE(0x1f80, 0x1f80) AM_WRITE(mainevt_bankswitch_w)
- AM_RANGE(0x1f84, 0x1f84) AM_WRITE_LEGACY(soundlatch_w) /* probably */
+ AM_RANGE(0x1f84, 0x1f84) AM_WRITE(soundlatch_w) /* probably */
AM_RANGE(0x1f88, 0x1f88) AM_WRITE(mainevt_sh_irqtrigger_w) /* probably */
AM_RANGE(0x1f90, 0x1f90) AM_WRITE(mainevt_coin_w) /* coin counters + lamps */
AM_RANGE(0x1fb2, 0x1fb2) AM_WRITE(dv_nmienable_w)
@@ -213,7 +213,7 @@ static ADDRESS_MAP_START( mainevt_sound_map, AS_PROGRAM, 8, mainevt_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_DEVWRITE_LEGACY("upd", upd7759_port_w)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("k007232", k007232_r,k007232_w)
AM_RANGE(0xd000, 0xd000) AM_DEVREAD_LEGACY("upd", mainevt_sh_busy_r)
AM_RANGE(0xe000, 0xe000) AM_WRITE(mainevt_sh_irqcontrol_w)
@@ -223,7 +223,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( devstors_sound_map, AS_PROGRAM, 8, mainevt_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("k007232", k007232_r,k007232_w)
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r,ym2151_w)
AM_RANGE(0xe000, 0xe000) AM_WRITE(devstor_sh_irqcontrol_w)
diff --git a/src/mame/drivers/mappy.c b/src/mame/drivers/mappy.c
index 2379c46fbc8..a763d2463b5 100644
--- a/src/mame/drivers/mappy.c
+++ b/src/mame/drivers/mappy.c
@@ -902,7 +902,7 @@ static ADDRESS_MAP_START( superpac_cpu1_map, AS_PROGRAM, 8, mappy_state )
AM_RANGE(0x4800, 0x480f) AM_DEVREADWRITE_LEGACY("namcoio_1", namcoio_r, namcoio_w) /* custom I/O chips interface */
AM_RANGE(0x4810, 0x481f) AM_DEVREADWRITE_LEGACY("namcoio_2", namcoio_r, namcoio_w) /* custom I/O chips interface */
AM_RANGE(0x5000, 0x500f) AM_WRITE(superpac_latch_w) /* various control bits */
- AM_RANGE(0x8000, 0x8000) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x8000, 0x8000) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xa000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -913,7 +913,7 @@ static ADDRESS_MAP_START( phozon_cpu1_map, AS_PROGRAM, 8, mappy_state )
AM_RANGE(0x4800, 0x480f) AM_DEVREADWRITE_LEGACY("namcoio_1", namcoio_r, namcoio_w) /* custom I/O chips interface */
AM_RANGE(0x4810, 0x481f) AM_DEVREADWRITE_LEGACY("namcoio_2", namcoio_r, namcoio_w) /* custom I/O chips interface */
AM_RANGE(0x5000, 0x500f) AM_WRITE(phozon_latch_w) /* various control bits */
- AM_RANGE(0x7000, 0x7000) AM_WRITE_LEGACY(watchdog_reset_w) /* watchdog reset */
+ AM_RANGE(0x7000, 0x7000) AM_WRITE(watchdog_reset_w) /* watchdog reset */
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */
ADDRESS_MAP_END
@@ -925,7 +925,7 @@ static ADDRESS_MAP_START( mappy_cpu1_map, AS_PROGRAM, 8, mappy_state )
AM_RANGE(0x4800, 0x480f) AM_DEVREADWRITE_LEGACY("namcoio_1", namcoio_r, namcoio_w) /* custom I/O chips interface */
AM_RANGE(0x4810, 0x481f) AM_DEVREADWRITE_LEGACY("namcoio_2", namcoio_r, namcoio_w) /* custom I/O chips interface */
AM_RANGE(0x5000, 0x500f) AM_WRITE(mappy_latch_w) /* various control bits */
- AM_RANGE(0x8000, 0x8000) AM_WRITE_LEGACY(watchdog_reset_w) /* watchdog reset */
+ AM_RANGE(0x8000, 0x8000) AM_WRITE(watchdog_reset_w) /* watchdog reset */
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM code (only a000-ffff in Mappy) */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mario.c b/src/mame/drivers/mario.c
index 1f4c3581e83..07bb05ec302 100644
--- a/src/mame/drivers/mario.c
+++ b/src/mame/drivers/mario.c
@@ -159,7 +159,7 @@ static ADDRESS_MAP_START( masao_map, AS_PROGRAM, 8, mario_state )
AM_RANGE(0x7c00, 0x7c00) AM_READ_PORT("IN0")
AM_RANGE(0x7c80, 0x7c80) AM_READ_PORT("IN1")
AM_RANGE(0x7d00, 0x7d00) AM_WRITE_LEGACY(mario_scroll_w)
- AM_RANGE(0x7e00, 0x7e00) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x7e00, 0x7e00) AM_WRITE(soundlatch_w)
AM_RANGE(0x7e80, 0x7e80) AM_WRITE_LEGACY(mario_gfxbank_w)
AM_RANGE(0x7e82, 0x7e82) AM_WRITE_LEGACY(mario_flip_w)
AM_RANGE(0x7e83, 0x7e83) AM_WRITE_LEGACY(mario_palettebank_w)
diff --git a/src/mame/drivers/matmania.c b/src/mame/drivers/matmania.c
index f1825143bc7..35e86222d37 100644
--- a/src/mame/drivers/matmania.c
+++ b/src/mame/drivers/matmania.c
@@ -105,7 +105,7 @@ static ADDRESS_MAP_START( matmania_sound_map, AS_PROGRAM, 8, matmania_state )
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE_LEGACY("ay1", ay8910_data_address_w)
AM_RANGE(0x2002, 0x2003) AM_DEVWRITE_LEGACY("ay2", ay8910_data_address_w)
AM_RANGE(0x2004, 0x2004) AM_DEVWRITE_LEGACY("dac", dac_signed_w)
- AM_RANGE(0x2007, 0x2007) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x2007, 0x2007) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -113,7 +113,7 @@ static ADDRESS_MAP_START( maniach_sound_map, AS_PROGRAM, 8, matmania_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE_LEGACY("ymsnd", ym3526_w)
AM_RANGE(0x2002, 0x2002) AM_DEVWRITE_LEGACY("dac", dac_signed_w)
- AM_RANGE(0x2004, 0x2004) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x2004, 0x2004) AM_READ(soundlatch_r)
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mcatadv.c b/src/mame/drivers/mcatadv.c
index 99041a0bc00..933542009ae 100644
--- a/src/mame/drivers/mcatadv.c
+++ b/src/mame/drivers/mcatadv.c
@@ -197,9 +197,9 @@ static ADDRESS_MAP_START( mcatadv_map, AS_PROGRAM, 16, mcatadv_state )
AM_RANGE(0xb00000, 0xb0000f) AM_RAM AM_BASE(m_vidregs)
- AM_RANGE(0xb00018, 0xb00019) AM_WRITE_LEGACY(watchdog_reset16_w) // NOST Only
+ AM_RANGE(0xb00018, 0xb00019) AM_WRITE(watchdog_reset16_w) // NOST Only
AM_RANGE(0xb0001e, 0xb0001f) AM_READ(mcat_wd_r) // MCAT Only
- AM_RANGE(0xc00000, 0xc00001) AM_READ_LEGACY(soundlatch2_word_r) AM_WRITE(mcat_soundlatch_w)
+ AM_RANGE(0xc00000, 0xc00001) AM_READ(soundlatch2_word_r) AM_WRITE(mcat_soundlatch_w)
ADDRESS_MAP_END
/*** Sound ***/
@@ -220,7 +220,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mcatadv_sound_io_map, AS_IO, 8, mcatadv_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x80, 0x80) AM_READWRITE_LEGACY(soundlatch_r, soundlatch2_w)
+ AM_RANGE(0x80, 0x80) AM_READWRITE(soundlatch_r, soundlatch2_w)
ADDRESS_MAP_END
@@ -235,7 +235,7 @@ static ADDRESS_MAP_START( nost_sound_io_map, AS_IO, 8, mcatadv_state )
AM_RANGE(0x00, 0x03) AM_DEVWRITE_LEGACY("ymsnd", ym2610_w)
AM_RANGE(0x04, 0x07) AM_DEVREAD_LEGACY("ymsnd", ym2610_r)
AM_RANGE(0x40, 0x40) AM_WRITE(mcatadv_sound_bw_w)
- AM_RANGE(0x80, 0x80) AM_READWRITE_LEGACY(soundlatch_r, soundlatch2_w)
+ AM_RANGE(0x80, 0x80) AM_READWRITE(soundlatch_r, soundlatch2_w)
ADDRESS_MAP_END
/*** Inputs ***/
diff --git a/src/mame/drivers/mcr.c b/src/mame/drivers/mcr.c
index 116966cd0f1..db7d6e2c3ee 100644
--- a/src/mame/drivers/mcr.c
+++ b/src/mame/drivers/mcr.c
@@ -651,7 +651,7 @@ static ADDRESS_MAP_START( cpu_90009_portmap, AS_IO, 8, mcr_state )
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
SSIO_INPUT_PORTS
- AM_RANGE(0xe0, 0xe0) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xe0, 0xe0) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xe8, 0xe8) AM_WRITENOP
AM_RANGE(0xf0, 0xf3) AM_DEVREADWRITE_LEGACY("ctc", z80ctc_r, z80ctc_w)
ADDRESS_MAP_END
@@ -678,7 +678,7 @@ static ADDRESS_MAP_START( cpu_90010_portmap, AS_IO, 8, mcr_state )
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
SSIO_INPUT_PORTS
- AM_RANGE(0xe0, 0xe0) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xe0, 0xe0) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xe8, 0xe8) AM_WRITENOP
AM_RANGE(0xf0, 0xf3) AM_DEVREADWRITE_LEGACY("ctc", z80ctc_r, z80ctc_w)
ADDRESS_MAP_END
@@ -706,7 +706,7 @@ static ADDRESS_MAP_START( cpu_91490_portmap, AS_IO, 8, mcr_state )
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
SSIO_INPUT_PORTS
- AM_RANGE(0xe0, 0xe0) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xe0, 0xe0) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xe8, 0xe8) AM_WRITENOP
AM_RANGE(0xf0, 0xf3) AM_DEVREADWRITE_LEGACY("ctc", z80ctc_r, z80ctc_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mcr3.c b/src/mame/drivers/mcr3.c
index ac203f80838..de17f095be6 100644
--- a/src/mame/drivers/mcr3.c
+++ b/src/mame/drivers/mcr3.c
@@ -508,7 +508,7 @@ static ADDRESS_MAP_START( mcrmono_portmap, AS_IO, 8, mcr3_state )
AM_RANGE(0x03, 0x03) AM_MIRROR(0x78) AM_READ_PORT("MONO.IP3")
AM_RANGE(0x04, 0x04) AM_MIRROR(0x78) AM_READ_PORT("MONO.IP4")
AM_RANGE(0x05, 0x05) AM_MIRROR(0x78) AM_WRITE_LEGACY(mcrmono_control_port_w)
- AM_RANGE(0x07, 0x07) AM_MIRROR(0x78) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x07, 0x07) AM_MIRROR(0x78) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xf0, 0xf3) AM_MIRROR(0x0c) AM_DEVREADWRITE_LEGACY("ctc", z80ctc_r, z80ctc_w)
ADDRESS_MAP_END
@@ -537,7 +537,7 @@ static ADDRESS_MAP_START( spyhunt_portmap, AS_IO, 8, mcr3_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
SSIO_INPUT_PORTS
AM_RANGE(0x84, 0x86) AM_WRITE_LEGACY(spyhunt_scroll_value_w)
- AM_RANGE(0xe0, 0xe0) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xe0, 0xe0) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xe8, 0xe8) AM_WRITENOP
AM_RANGE(0xf0, 0xf3) AM_DEVREADWRITE_LEGACY("ctc", z80ctc_r, z80ctc_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mcr68.c b/src/mame/drivers/mcr68.c
index 826f3602c9f..095156a1848 100644
--- a/src/mame/drivers/mcr68.c
+++ b/src/mame/drivers/mcr68.c
@@ -309,7 +309,7 @@ static ADDRESS_MAP_START( mcr68_map, AS_PROGRAM, 16, mcr68_state )
AM_RANGE(0x080000, 0x080fff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x090000, 0x09007f) AM_WRITE_LEGACY(mcr68_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x0a0000, 0x0a000f) AM_READWRITE_LEGACY(mcr68_6840_upper_r, mcr68_6840_upper_w)
- AM_RANGE(0x0b0000, 0x0bffff) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x0b0000, 0x0bffff) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x0d0000, 0x0dffff) AM_READ_PORT("IN0")
AM_RANGE(0x0e0000, 0x0effff) AM_READ_PORT("IN1")
AM_RANGE(0x0f0000, 0x0fffff) AM_READ_PORT("DSW")
@@ -352,7 +352,7 @@ static ADDRESS_MAP_START( pigskin_map, AS_PROGRAM, 16, mcr68_state )
AM_RANGE(0x080000, 0x08ffff) AM_READ(pigskin_port_1_r)
AM_RANGE(0x0a0000, 0x0affff) AM_READ(pigskin_port_2_r)
AM_RANGE(0x0c0000, 0x0c007f) AM_WRITE_LEGACY(mcr68_paletteram_w) AM_SHARE("paletteram")
- AM_RANGE(0x0e0000, 0x0effff) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x0e0000, 0x0effff) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE_LEGACY(mcr68_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0x120000, 0x120001) AM_READWRITE(pigskin_protection_r, pigskin_protection_w)
AM_RANGE(0x140000, 0x143fff) AM_RAM
@@ -382,7 +382,7 @@ static ADDRESS_MAP_START( trisport_map, AS_PROGRAM, 16, mcr68_state )
AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE_LEGACY(mcr68_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0x180000, 0x18000f) AM_READWRITE_LEGACY(mcr68_6840_upper_r, mcr68_6840_upper_w)
AM_RANGE(0x1a0000, 0x1affff) AM_WRITE(archrivl_control_w)
- AM_RANGE(0x1c0000, 0x1cffff) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x1c0000, 0x1cffff) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x1e0000, 0x1effff) AM_READ_PORT("IN0")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/megasys1.c b/src/mame/drivers/megasys1.c
index 012783718bd..2616b073301 100644
--- a/src/mame/drivers/megasys1.c
+++ b/src/mame/drivers/megasys1.c
@@ -178,7 +178,7 @@ static ADDRESS_MAP_START( megasys1A_map, AS_PROGRAM, 16, megasys1_state )
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("P1")
AM_RANGE(0x080004, 0x080005) AM_READ_PORT("P2")
AM_RANGE(0x080006, 0x080007) AM_READ_PORT("DSW")
- AM_RANGE(0x080008, 0x080009) AM_READ_LEGACY(soundlatch2_word_r) /* from sound cpu */
+ AM_RANGE(0x080008, 0x080009) AM_READ(soundlatch2_word_r) /* from sound cpu */
AM_RANGE(0x084000, 0x0843ff) AM_RAM_WRITE_LEGACY(megasys1_vregs_A_w) AM_BASE(m_vregs)
AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x08e000, 0x08ffff) AM_RAM AM_BASE(m_objectram)
@@ -395,8 +395,8 @@ static READ8_DEVICE_HANDLER( oki_status_r )
static ADDRESS_MAP_START( megasys1A_sound_map, AS_PROGRAM, 16, megasys1_state )
AM_RANGE(0x000000, 0x01ffff) AM_ROM
- AM_RANGE(0x040000, 0x040001) AM_READ_LEGACY(soundlatch_word_r)
- AM_RANGE(0x060000, 0x060001) AM_WRITE_LEGACY(soundlatch2_word_w) // to main cpu
+ AM_RANGE(0x040000, 0x040001) AM_READ(soundlatch_word_r)
+ AM_RANGE(0x060000, 0x060001) AM_WRITE(soundlatch2_word_w) // to main cpu
AM_RANGE(0x080000, 0x080003) AM_DEVREADWRITE8_LEGACY("ymsnd", ym2151_r,ym2151_w, 0x00ff)
AM_RANGE(0x0a0000, 0x0a0001) AM_DEVREAD8_LEGACY("oki1", oki_status_r, 0x00ff)
AM_RANGE(0x0a0000, 0x0a0003) AM_DEVWRITE8("oki1", okim6295_device, write, 0x00ff)
@@ -413,8 +413,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( megasys1B_sound_map, AS_PROGRAM, 16, megasys1_state )
AM_RANGE(0x000000, 0x01ffff) AM_ROM
- AM_RANGE(0x040000, 0x040001) AM_READWRITE_LEGACY(soundlatch_word_r,soundlatch2_word_w) /* from/to main cpu */
- AM_RANGE(0x060000, 0x060001) AM_READWRITE_LEGACY(soundlatch_word_r,soundlatch2_word_w) /* from/to main cpu */
+ AM_RANGE(0x040000, 0x040001) AM_READWRITE(soundlatch_word_r,soundlatch2_word_w) /* from/to main cpu */
+ AM_RANGE(0x060000, 0x060001) AM_READWRITE(soundlatch_word_r,soundlatch2_word_w) /* from/to main cpu */
AM_RANGE(0x080000, 0x080003) AM_DEVREADWRITE8_LEGACY("ymsnd", ym2151_r,ym2151_w, 0x00ff)
AM_RANGE(0x0a0000, 0x0a0001) AM_DEVREAD8_LEGACY("oki1", oki_status_r, 0x00ff)
AM_RANGE(0x0a0000, 0x0a0003) AM_DEVWRITE8("oki1", okim6295_device, write, 0x00ff)
@@ -433,7 +433,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( z80_sound_map, AS_PROGRAM, 8, megasys1_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
AM_RANGE(0xf000, 0xf000) AM_WRITENOP /* ?? */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/megazone.c b/src/mame/drivers/megazone.c
index e7c188d584f..3ce67a3be5f 100644
--- a/src/mame/drivers/megazone.c
+++ b/src/mame/drivers/megazone.c
@@ -85,7 +85,7 @@ static ADDRESS_MAP_START( megazone_map, AS_PROGRAM, 8, megazone_state )
AM_RANGE(0x0000, 0x0001) AM_WRITE(megazone_coin_counter_w) /* coin counter 2, coin counter 1 */
AM_RANGE(0x0005, 0x0005) AM_WRITE_LEGACY(megazone_flipscreen_w)
AM_RANGE(0x0007, 0x0007) AM_WRITE(irq_mask_w)
- AM_RANGE(0x0800, 0x0800) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x0800, 0x0800) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1000, 0x1000) AM_WRITEONLY AM_BASE(m_scrolly)
AM_RANGE(0x1800, 0x1800) AM_WRITEONLY AM_BASE(m_scrollx)
AM_RANGE(0x2000, 0x23ff) AM_RAM AM_BASE_SIZE(m_videoram, m_videoram_size)
@@ -100,7 +100,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( megazone_sound_map, AS_PROGRAM, 8, megazone_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x2000) AM_WRITE(megazone_i8039_irq_w) /* START line. Interrupts 8039 */
- AM_RANGE(0x4000, 0x4000) AM_WRITE_LEGACY(soundlatch_w) /* CODE line. Command Interrupts 8039 */
+ AM_RANGE(0x4000, 0x4000) AM_WRITE(soundlatch_w) /* CODE line. Command Interrupts 8039 */
AM_RANGE(0x6000, 0x6000) AM_READ_PORT("IN0") /* IO Coin */
AM_RANGE(0x6001, 0x6001) AM_READ_PORT("IN1") /* P1 IO */
AM_RANGE(0x6002, 0x6002) AM_READ_PORT("IN2") /* P2 IO */
@@ -108,7 +108,7 @@ static ADDRESS_MAP_START( megazone_sound_map, AS_PROGRAM, 8, megazone_state )
AM_RANGE(0x8001, 0x8001) AM_READ_PORT("DSW1")
AM_RANGE(0xa000, 0xa000) AM_WRITENOP /* INTMAIN - Interrupts main CPU (unused) */
AM_RANGE(0xc000, 0xc000) AM_WRITENOP /* INT (Actually is NMI) enable/disable (unused)*/
- AM_RANGE(0xc001, 0xc001) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xc001, 0xc001) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
@@ -124,7 +124,7 @@ static ADDRESS_MAP_START( megazone_i8039_map, AS_PROGRAM, 8, megazone_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( megazone_i8039_io_map, AS_IO, 8, megazone_state )
- AM_RANGE(0x00, 0xff) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x00, 0xff) AM_READ(soundlatch_r)
AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_DEVWRITE_LEGACY("dac", dac_w)
AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_WRITE(i8039_irqen_and_status_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/meijinsn.c b/src/mame/drivers/meijinsn.c
index 08c7a8c9cf3..2c8b91fc75b 100644
--- a/src/mame/drivers/meijinsn.c
+++ b/src/mame/drivers/meijinsn.c
@@ -190,7 +190,7 @@ static ADDRESS_MAP_START( meijinsn_sound_io_map, AS_IO, 8, meijinsn_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_data_w)
AM_RANGE(0x01, 0x01) AM_DEVREAD_LEGACY("aysnd", ay8910_r)
- AM_RANGE(0x02, 0x02) AM_WRITE_LEGACY(soundlatch_clear_w)
+ AM_RANGE(0x02, 0x02) AM_WRITE(soundlatch_clear_w)
AM_RANGE(0x06, 0x06) AM_WRITENOP
ADDRESS_MAP_END
@@ -326,7 +326,7 @@ static const ay8910_interface ay8910_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r)
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r)
};
static MACHINE_START( meijinsn )
diff --git a/src/mame/drivers/meritm.c b/src/mame/drivers/meritm.c
index 5eea6f1e60c..5827e9de003 100644
--- a/src/mame/drivers/meritm.c
+++ b/src/mame/drivers/meritm.c
@@ -621,7 +621,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( meritm_io_map, AS_IO, 8, meritm_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(meritm_psd_a15_w)
- AM_RANGE(0x01, 0x01) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x01, 0x01) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x10, 0x13) AM_DEVREADWRITE("v9938_0", v9938_device, read, write)
AM_RANGE(0x20, 0x23) AM_DEVREADWRITE("v9938_1", v9938_device, read, write)
AM_RANGE(0x30, 0x33) AM_DEVREADWRITE_LEGACY("ppi8255", ppi8255_r, ppi8255_w)
diff --git a/src/mame/drivers/metro.c b/src/mame/drivers/metro.c
index d26bc0d1b5b..264f1df038d 100644
--- a/src/mame/drivers/metro.c
+++ b/src/mame/drivers/metro.c
@@ -352,9 +352,9 @@ static int metro_io_callback( device_t *device, int ioline, int state )
switch (ioline)
{
case UPD7810_RXD: /* read the RxD line */
- data = soundlatch_r(space, 0);
+ data = driver_state->soundlatch_r(*space, 0);
state = data & 1;
- soundlatch_w(space, 0, data >> 1);
+ driver_state->soundlatch_w(*space, 0, data >> 1);
break;
default:
logerror("upd7810 ioline %d not handled\n", ioline);
@@ -1342,7 +1342,7 @@ static ADDRESS_MAP_START( gakusai_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x278832, 0x278833) AM_READWRITE(metro_irq_cause_r, metro_irq_cause_w) // IRQ Cause / IRQ Acknowledge
AM_RANGE(0x278880, 0x278881) AM_READ(gakusai_input_r) // Inputs
AM_RANGE(0x278882, 0x278883) AM_READ_PORT("IN0") //
- AM_RANGE(0x278836, 0x278837) AM_WRITE_LEGACY(watchdog_reset16_w) // Watchdog
+ AM_RANGE(0x278836, 0x278837) AM_WRITE(watchdog_reset16_w) // Watchdog
AM_RANGE(0x278840, 0x27884d) AM_WRITE(metro_blitter_w) AM_BASE(m_blitter_regs) // Tiles Blitter
AM_RANGE(0x278860, 0x27886b) AM_WRITE_LEGACY(metro_window_w) AM_BASE(m_window) // Tilemap Window
AM_RANGE(0x278850, 0x27885b) AM_WRITEONLY AM_BASE(m_scroll) // Scroll Regs
@@ -1378,7 +1378,7 @@ static ADDRESS_MAP_START( gakusai2_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x678820, 0x67882f) AM_WRITEONLY AM_BASE(m_irq_vectors) // IRQ Vectors
AM_RANGE(0x678830, 0x678831) AM_WRITEONLY AM_BASE(m_irq_enable) // IRQ Enable
AM_RANGE(0x678832, 0x678833) AM_READWRITE(metro_irq_cause_r,metro_irq_cause_w) // IRQ Cause / IRQ Acknowledge
- AM_RANGE(0x678836, 0x678837) AM_WRITE_LEGACY(watchdog_reset16_w) // Watchdog
+ AM_RANGE(0x678836, 0x678837) AM_WRITE(watchdog_reset16_w) // Watchdog
AM_RANGE(0x678840, 0x67884d) AM_WRITE(metro_blitter_w) AM_BASE(m_blitter_regs) // Tiles Blitter
AM_RANGE(0x678860, 0x67886b) AM_WRITE_LEGACY(metro_window_w) AM_BASE(m_window) // Tilemap Window
AM_RANGE(0x678880, 0x678881) AM_READ(gakusai_input_r) // Inputs
@@ -1448,7 +1448,7 @@ static ADDRESS_MAP_START( dokyusp_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x278820, 0x27882f) AM_WRITEONLY AM_BASE(m_irq_vectors) // IRQ Vectors
AM_RANGE(0x278830, 0x278831) AM_WRITEONLY AM_BASE(m_irq_enable) // IRQ Enable
AM_RANGE(0x278832, 0x278833) AM_READWRITE(metro_irq_cause_r,metro_irq_cause_w) // IRQ Cause / IRQ Acknowledge
- AM_RANGE(0x278836, 0x278837) AM_WRITE_LEGACY(watchdog_reset16_w) // Watchdog
+ AM_RANGE(0x278836, 0x278837) AM_WRITE(watchdog_reset16_w) // Watchdog
AM_RANGE(0x278840, 0x27884d) AM_WRITE(metro_blitter_w) AM_BASE(m_blitter_regs) // Tiles Blitter
AM_RANGE(0x278860, 0x27886b) AM_WRITE_LEGACY(metro_window_w) AM_BASE(m_window) // Tilemap Window
AM_RANGE(0x278850, 0x27885b) AM_WRITEONLY AM_BASE(m_scroll) // Scroll Regs
@@ -1720,7 +1720,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( blzntrnd_sound_io_map, AS_IO, 8, metro_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(blzntrnd_sh_bankswitch_w)
- AM_RANGE(0x40, 0x40) AM_READ_LEGACY(soundlatch_r) AM_WRITENOP
+ AM_RANGE(0x40, 0x40) AM_READ(soundlatch_r) AM_WRITENOP
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r,ym2610_w)
ADDRESS_MAP_END
@@ -1784,7 +1784,7 @@ static ADDRESS_MAP_START( mouja_map, AS_PROGRAM, 16, metro_state )
AM_RANGE(0x478830, 0x478831) AM_WRITEONLY AM_BASE(m_irq_enable) // IRQ Enable
AM_RANGE(0x478832, 0x478833) AM_READWRITE(metro_irq_cause_r,metro_irq_cause_w) // IRQ Cause / IRQ Acknowledge
AM_RANGE(0x478834, 0x478835) AM_WRITE(mouja_irq_timer_ctrl_w) // IRQ set timer count
- AM_RANGE(0x478836, 0x478837) AM_WRITE_LEGACY(watchdog_reset16_w) // Watchdog
+ AM_RANGE(0x478836, 0x478837) AM_WRITE(watchdog_reset16_w) // Watchdog
AM_RANGE(0x478850, 0x47885b) AM_WRITEONLY AM_BASE(m_scroll) // Scroll Regs
AM_RANGE(0x478860, 0x47886b) AM_WRITE_LEGACY(metro_window_w) AM_BASE(m_window) // Tilemap Window
AM_RANGE(0x478880, 0x478881) AM_READ_PORT("IN0") // Inputs
diff --git a/src/mame/drivers/mhavoc.c b/src/mame/drivers/mhavoc.c
index b53ade102ad..e11eca0d16c 100644
--- a/src/mame/drivers/mhavoc.c
+++ b/src/mame/drivers/mhavoc.c
@@ -241,7 +241,7 @@ static ADDRESS_MAP_START( alpha_map, AS_PROGRAM, 8, mhavoc_state )
AM_RANGE(0x1400, 0x141f) AM_RAM AM_BASE_LEGACY(&avgdvg_colorram) /* ColorRAM */
AM_RANGE(0x1600, 0x1600) AM_WRITE_LEGACY(mhavoc_out_0_w) /* Control Signals */
AM_RANGE(0x1640, 0x1640) AM_WRITE_LEGACY(avgdvg_go_w) /* Vector Generator GO */
- AM_RANGE(0x1680, 0x1680) AM_WRITE_LEGACY(watchdog_reset_w) /* Watchdog Clear */
+ AM_RANGE(0x1680, 0x1680) AM_WRITE(watchdog_reset_w) /* Watchdog Clear */
AM_RANGE(0x16c0, 0x16c0) AM_WRITE_LEGACY(avgdvg_reset_w) /* Vector Generator Reset */
AM_RANGE(0x1700, 0x1700) AM_WRITE_LEGACY(mhavoc_alpha_irq_ack_w) /* IRQ ack */
AM_RANGE(0x1740, 0x1740) AM_WRITE_LEGACY(mhavoc_rom_banksel_w) /* Program ROM Page Select */
@@ -296,7 +296,7 @@ static ADDRESS_MAP_START( alphaone_map, AS_PROGRAM, 8, mhavoc_state )
AM_RANGE(0x1080, 0x1080) AM_READ_PORT("DIAL") /* Roller Controller Input*/
AM_RANGE(0x10a0, 0x10a0) AM_WRITE_LEGACY(alphaone_out_0_w) /* Control Signals */
AM_RANGE(0x10a4, 0x10a4) AM_WRITE_LEGACY(avgdvg_go_w) /* Vector Generator GO */
- AM_RANGE(0x10a8, 0x10a8) AM_WRITE_LEGACY(watchdog_reset_w) /* Watchdog Clear */
+ AM_RANGE(0x10a8, 0x10a8) AM_WRITE(watchdog_reset_w) /* Watchdog Clear */
AM_RANGE(0x10ac, 0x10ac) AM_WRITE_LEGACY(avgdvg_reset_w) /* Vector Generator Reset */
AM_RANGE(0x10b0, 0x10b0) AM_WRITE_LEGACY(mhavoc_alpha_irq_ack_w) /* IRQ ack */
AM_RANGE(0x10b4, 0x10b4) AM_WRITE_LEGACY(mhavoc_rom_banksel_w)
diff --git a/src/mame/drivers/midtunit.c b/src/mame/drivers/midtunit.c
index ace48aa1318..5f89de5c377 100644
--- a/src/mame/drivers/midtunit.c
+++ b/src/mame/drivers/midtunit.c
@@ -52,7 +52,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, midtunit_state )
/* AM_RANGE(0x01c00060, 0x01c0007f) AM_WRITE_LEGACY(midtunit_cmos_enable_w) */
AM_RANGE(0x01d00000, 0x01d0001f) AM_READ_LEGACY(midtunit_sound_state_r)
AM_RANGE(0x01d01020, 0x01d0103f) AM_READWRITE_LEGACY(midtunit_sound_r, midtunit_sound_w)
- AM_RANGE(0x01d81060, 0x01d8107f) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x01d81060, 0x01d8107f) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x01f00000, 0x01f0001f) AM_WRITE_LEGACY(midtunit_control_w)
AM_RANGE(0x02000000, 0x07ffffff) AM_READ_LEGACY(midtunit_gfxrom_r) AM_BASE_LEGACY((UINT16 **)&midtunit_gfx_rom) AM_SIZE_LEGACY(&midtunit_gfx_rom_size)
AM_RANGE(0x1f800000, 0x1fffffff) AM_ROM AM_REGION("user1", 0) /* mirror used by MK */
diff --git a/src/mame/drivers/midvunit.c b/src/mame/drivers/midvunit.c
index ede09c50bc0..e14c65ae65f 100644
--- a/src/mame/drivers/midvunit.c
+++ b/src/mame/drivers/midvunit.c
@@ -200,7 +200,7 @@ static WRITE32_HANDLER( midvunit_control_w )
/* bit 3 is the watchdog */
if ((olddata ^ state->m_control_data) & 0x0008)
- watchdog_reset_w(space, 0, 0);
+ state->watchdog_reset_w(*space, 0, 0);
/* bit 1 is the DCS sound reset */
dcs_reset_w(space->machine(), (~state->m_control_data >> 1) & 1);
@@ -222,7 +222,7 @@ static WRITE32_HANDLER( crusnwld_control_w )
/* bit 9 is the watchdog */
if ((olddata ^ state->m_control_data) & 0x0200)
- watchdog_reset_w(space, 0, 0);
+ state->watchdog_reset_w(*space, 0, 0);
/* bit 8 is the LED */
@@ -434,7 +434,7 @@ static WRITE32_HANDLER( midvplus_misc_w )
/* bit 0x10 resets watchdog */
if ((olddata ^ state->m_midvplus_misc[offset]) & 0x0010)
{
- watchdog_reset_w(space, 0, 0);
+ state->watchdog_reset_w(*space, 0, 0);
logit = 0;
}
break;
diff --git a/src/mame/drivers/midyunit.c b/src/mame/drivers/midyunit.c
index 73da48229a4..3c78cb392ba 100644
--- a/src/mame/drivers/midyunit.c
+++ b/src/mame/drivers/midyunit.c
@@ -196,7 +196,7 @@ static ADDRESS_MAP_START( yawdim_sound_map, AS_PROGRAM, 8, midyunit_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x97ff) AM_DEVWRITE_LEGACY("oki", yawdim_oki_bank_w)
AM_RANGE(0x9800, 0x9fff) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xa000, 0xa7ff) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa7ff) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mikie.c b/src/mame/drivers/mikie.c
index 6ee7ee82a4b..9a9c318e395 100644
--- a/src/mame/drivers/mikie.c
+++ b/src/mame/drivers/mikie.c
@@ -99,10 +99,10 @@ static ADDRESS_MAP_START( mikie_map, AS_PROGRAM, 8, mikie_state )
AM_RANGE(0x2002, 0x2002) AM_WRITE(mikie_sh_irqtrigger_w)
AM_RANGE(0x2006, 0x2006) AM_WRITE_LEGACY(mikie_flipscreen_w)
AM_RANGE(0x2007, 0x2007) AM_WRITE(irq_mask_w)
- AM_RANGE(0x2100, 0x2100) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x2100, 0x2100) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x2200, 0x2200) AM_WRITE_LEGACY(mikie_palettebank_w)
AM_RANGE(0x2300, 0x2300) AM_WRITENOP // ???
- AM_RANGE(0x2400, 0x2400) AM_READ_PORT("SYSTEM") AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x2400, 0x2400) AM_READ_PORT("SYSTEM") AM_WRITE(soundlatch_w)
AM_RANGE(0x2401, 0x2401) AM_READ_PORT("P1")
AM_RANGE(0x2402, 0x2402) AM_READ_PORT("P2")
AM_RANGE(0x2403, 0x2403) AM_READ_PORT("DSW3")
@@ -122,7 +122,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, mikie_state )
AM_RANGE(0x8000, 0x8000) AM_WRITENOP // sound command latch
AM_RANGE(0x8001, 0x8001) AM_WRITENOP // ???
AM_RANGE(0x8002, 0x8002) AM_DEVWRITE_LEGACY("sn1", sn76496_w) // trigger read of latch
- AM_RANGE(0x8003, 0x8003) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x8003, 0x8003) AM_READ(soundlatch_r)
AM_RANGE(0x8004, 0x8004) AM_DEVWRITE_LEGACY("sn2", sn76496_w) // trigger read of latch
AM_RANGE(0x8005, 0x8005) AM_READ(mikie_sh_timer_r)
AM_RANGE(0x8079, 0x8079) AM_WRITENOP // ???
diff --git a/src/mame/drivers/mirax.c b/src/mame/drivers/mirax.c
index ba5b899e40b..13d91c446f7 100644
--- a/src/mame/drivers/mirax.c
+++ b/src/mame/drivers/mirax.c
@@ -295,7 +295,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mirax_sound_map, AS_PROGRAM, 8, mirax_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xe000, 0xe000) AM_WRITENOP
AM_RANGE(0xe001, 0xe001) AM_WRITENOP
diff --git a/src/mame/drivers/missb2.c b/src/mame/drivers/missb2.c
index 5ac1978c931..beb2b118a61 100644
--- a/src/mame/drivers/missb2.c
+++ b/src/mame/drivers/missb2.c
@@ -199,7 +199,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, missb2_state )
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ymsnd", ym3526_r, ym3526_w)
- AM_RANGE(0xb000, 0xb000) AM_READ_LEGACY(soundlatch_r) AM_WRITENOP // message for main cpu
+ AM_RANGE(0xb000, 0xb000) AM_READ(soundlatch_r) AM_WRITENOP // message for main cpu
AM_RANGE(0xb001, 0xb001) AM_READNOP AM_WRITE_LEGACY(bublbobl_sh_nmi_enable_w) // bit 0: message pending for main cpu, bit 1: message pending for sound cpu
AM_RANGE(0xb002, 0xb002) AM_WRITE_LEGACY(bublbobl_sh_nmi_disable_w)
AM_RANGE(0xe000, 0xefff) AM_ROM // space for diagnostic ROM?
diff --git a/src/mame/drivers/mitchell.c b/src/mame/drivers/mitchell.c
index 4d1798a4e17..232243c6441 100644
--- a/src/mame/drivers/mitchell.c
+++ b/src/mame/drivers/mitchell.c
@@ -386,7 +386,7 @@ static ADDRESS_MAP_START( mstworld_sound_map, AS_PROGRAM, 8, mitchell_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_DEVWRITE_LEGACY("oki", oki_banking_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
WRITE8_MEMBER(mitchell_state::mstworld_sound_w)
diff --git a/src/mame/drivers/mole.c b/src/mame/drivers/mole.c
index 7e0beef96be..a06d639a558 100644
--- a/src/mame/drivers/mole.c
+++ b/src/mame/drivers/mole.c
@@ -205,7 +205,7 @@ static ADDRESS_MAP_START( mole_map, AS_PROGRAM, 8, mole_state )
AM_RANGE(0x8c40, 0x8c40) AM_WRITENOP // ???
AM_RANGE(0x8c80, 0x8c80) AM_WRITENOP // ???
AM_RANGE(0x8c81, 0x8c81) AM_WRITENOP // ???
- AM_RANGE(0x8d00, 0x8d00) AM_READ_PORT("DSW") AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x8d00, 0x8d00) AM_READ_PORT("DSW") AM_WRITE(watchdog_reset_w)
AM_RANGE(0x8d40, 0x8d40) AM_READ_PORT("IN0")
AM_RANGE(0x8d80, 0x8d80) AM_READ_PORT("IN1")
AM_RANGE(0x8dc0, 0x8dc0) AM_READ_PORT("IN2") AM_WRITE(mole_flipscreen_w)
diff --git a/src/mame/drivers/momoko.c b/src/mame/drivers/momoko.c
index 4b351f6668d..1f3ac166c37 100644
--- a/src/mame/drivers/momoko.c
+++ b/src/mame/drivers/momoko.c
@@ -60,8 +60,8 @@ static ADDRESS_MAP_START( momoko_map, AS_PROGRAM, 8, momoko_state )
AM_RANGE(0xd064, 0xd0ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0xd400, 0xd400) AM_READ_PORT("IN0") AM_WRITENOP /* interrupt ack? */
AM_RANGE(0xd402, 0xd402) AM_READ_PORT("IN1") AM_WRITE_LEGACY(momoko_flipscreen_w)
- AM_RANGE(0xd404, 0xd404) AM_WRITE_LEGACY(watchdog_reset_w)
- AM_RANGE(0xd406, 0xd406) AM_READ_PORT("DSW0") AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xd404, 0xd404) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0xd406, 0xd406) AM_READ_PORT("DSW0") AM_WRITE(soundlatch_w)
AM_RANGE(0xd407, 0xd407) AM_READ_PORT("DSW1")
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_be_w) AM_SHARE("paletteram")
AM_RANGE(0xdc00, 0xdc00) AM_WRITE_LEGACY(momoko_fg_scrolly_w)
@@ -217,7 +217,7 @@ static const ym2203_interface ym2203_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
diff --git a/src/mame/drivers/moo.c b/src/mame/drivers/moo.c
index da9ee09d515..24cc468d894 100644
--- a/src/mame/drivers/moo.c
+++ b/src/mame/drivers/moo.c
@@ -361,9 +361,9 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, moo_state )
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe22f) AM_DEVREADWRITE("k054539", k054539_device, read, write)
AM_RANGE(0xec00, 0xec01) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r,ym2151_w)
- AM_RANGE(0xf000, 0xf000) AM_WRITE_LEGACY(soundlatch3_w)
- AM_RANGE(0xf002, 0xf002) AM_READ_LEGACY(soundlatch_r)
- AM_RANGE(0xf003, 0xf003) AM_READ_LEGACY(soundlatch2_r)
+ AM_RANGE(0xf000, 0xf000) AM_WRITE(soundlatch3_w)
+ AM_RANGE(0xf002, 0xf002) AM_READ(soundlatch_r)
+ AM_RANGE(0xf003, 0xf003) AM_READ(soundlatch2_r)
AM_RANGE(0xf800, 0xf800) AM_WRITE(sound_bankswitch_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/msisaac.c b/src/mame/drivers/msisaac.c
index 0a815200ad2..c4fee058d4a 100644
--- a/src/mame/drivers/msisaac.c
+++ b/src/mame/drivers/msisaac.c
@@ -267,7 +267,7 @@ static ADDRESS_MAP_START( msisaac_sound_map, AS_PROGRAM, 8, msisaac_state )
AM_RANGE(0x8010, 0x801d) AM_DEVWRITE_LEGACY("msm", msm5232_w)
AM_RANGE(0x8020, 0x8020) AM_DEVWRITE_LEGACY("msm", sound_control_0_w)
AM_RANGE(0x8030, 0x8030) AM_WRITE(sound_control_1_w)
- AM_RANGE(0xc000, 0xc000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r)
AM_RANGE(0xc001, 0xc001) AM_WRITE(nmi_enable_w)
AM_RANGE(0xc002, 0xc002) AM_WRITE(nmi_disable_w)
AM_RANGE(0xc003, 0xc003) AM_WRITENOP /*???*/ /* this is NOT mixer_enable */
diff --git a/src/mame/drivers/mugsmash.c b/src/mame/drivers/mugsmash.c
index 311a466ee6f..f1863fe5e0d 100644
--- a/src/mame/drivers/mugsmash.c
+++ b/src/mame/drivers/mugsmash.c
@@ -196,7 +196,7 @@ static ADDRESS_MAP_START( mugsmash_sound_map, AS_PROGRAM, 8, mugsmash_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r,ym2151_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/multfish.c b/src/mame/drivers/multfish.c
index 13b98dbbc0a..cce894fb606 100644
--- a/src/mame/drivers/multfish.c
+++ b/src/mame/drivers/multfish.c
@@ -930,7 +930,7 @@ static ADDRESS_MAP_START( multfish_portmap, AS_IO, 8, multfish_state )
AM_RANGE(0x34, 0x34) AM_WRITE(multfish_lamps2_w)
AM_RANGE(0x35, 0x35) AM_WRITE(multfish_lamps3_w)
// AM_RANGE(0x36, 0x36) AM_WRITE_LEGACY(multfish_port36_w)
- AM_RANGE(0x37, 0x37) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x37, 0x37) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x38, 0x38) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_w)
AM_RANGE(0x39, 0x39) AM_DEVWRITE_LEGACY("aysnd", ay8910_data_w)
AM_RANGE(0x3a, 0x3a) AM_DEVREAD_LEGACY("aysnd", ay8910_r)
diff --git a/src/mame/drivers/munchmo.c b/src/mame/drivers/munchmo.c
index ee762556589..e71c6686e09 100644
--- a/src/mame/drivers/munchmo.c
+++ b/src/mame/drivers/munchmo.c
@@ -110,7 +110,7 @@ ADDRESS_MAP_END
/* memory map provided thru schematics */
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, munchmo_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM
- AM_RANGE(0x2000, 0x3fff) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x2000, 0x3fff) AM_READ(soundlatch_r)
AM_RANGE(0x4000, 0x4fff) AM_DEVWRITE_LEGACY("ay1", ay8910_data_w)
AM_RANGE(0x5000, 0x5fff) AM_DEVWRITE_LEGACY("ay1", ay8910_address_w)
AM_RANGE(0x6000, 0x6fff) AM_DEVWRITE_LEGACY("ay2", ay8910_data_w)
diff --git a/src/mame/drivers/mw18w.c b/src/mame/drivers/mw18w.c
index 7a41063736e..794335df487 100644
--- a/src/mame/drivers/mw18w.c
+++ b/src/mame/drivers/mw18w.c
@@ -89,7 +89,7 @@ static ADDRESS_MAP_START( mw18w_portmap, AS_IO, 8, mw18w_state )
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_WRITE(mw18w_lamps_w)
AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW") AM_WRITE(mw18w_led_display_w)
AM_RANGE(0x04, 0x04) AM_READ_PORT("IN4")
- AM_RANGE(0x06, 0x06) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x07, 0x07) AM_WRITE(mw18w_irq0_clear_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mw8080bw.c b/src/mame/drivers/mw8080bw.c
index 6a730a7711f..274636c1a71 100644
--- a/src/mame/drivers/mw8080bw.c
+++ b/src/mame/drivers/mw8080bw.c
@@ -758,7 +758,7 @@ static ADDRESS_MAP_START( zzzap_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x03, 0x03) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_count_w)
AM_RANGE(0x05, 0x05) AM_WRITE_LEGACY(zzzap_audio_2_w)
- AM_RANGE(0x07, 0x07) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x07, 0x07) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
@@ -994,7 +994,7 @@ static ADDRESS_MAP_START( boothill_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_WRITE(mw8080bw_reversable_shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
AM_RANGE(0x03, 0x03) AM_DEVWRITE_LEGACY("discrete", boothill_audio_w)
- AM_RANGE(0x04, 0x04) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x05, 0x05) AM_DEVWRITE_LEGACY("discrete", midway_tone_generator_lo_w)
AM_RANGE(0x06, 0x06) AM_DEVWRITE_LEGACY("discrete", midway_tone_generator_hi_w)
ADDRESS_MAP_END
@@ -1223,7 +1223,7 @@ static ADDRESS_MAP_START( desertgu_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
AM_RANGE(0x03, 0x03) AM_DEVWRITE_LEGACY("discrete", desertgu_audio_1_w)
- AM_RANGE(0x04, 0x04) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x05, 0x05) AM_DEVWRITE_LEGACY("discrete", midway_tone_generator_lo_w)
AM_RANGE(0x06, 0x06) AM_DEVWRITE_LEGACY("discrete", midway_tone_generator_hi_w)
AM_RANGE(0x07, 0x07) AM_DEVWRITE_LEGACY("discrete", desertgu_audio_2_w)
@@ -1345,7 +1345,7 @@ static ADDRESS_MAP_START( dplay_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
AM_RANGE(0x03, 0x03) AM_DEVWRITE_LEGACY("discrete", dplay_audio_w)
- AM_RANGE(0x04, 0x04) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x05, 0x05) AM_DEVWRITE_LEGACY("discrete", midway_tone_generator_lo_w)
AM_RANGE(0x06, 0x06) AM_DEVWRITE_LEGACY("discrete", midway_tone_generator_hi_w)
ADDRESS_MAP_END
@@ -1523,7 +1523,7 @@ static ADDRESS_MAP_START( gmissile_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_WRITE(mw8080bw_reversable_shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
AM_RANGE(0x03, 0x03) AM_WRITE_LEGACY(gmissile_audio_1_w)
- AM_RANGE(0x04, 0x04) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x05, 0x05) AM_WRITE_LEGACY(gmissile_audio_2_w)
/* also writes 0x00 to 0x06, but it is not connected */
AM_RANGE(0x07, 0x07) AM_WRITE_LEGACY(gmissile_audio_3_w)
@@ -1619,7 +1619,7 @@ static ADDRESS_MAP_START( m4_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_WRITE(mw8080bw_reversable_shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
AM_RANGE(0x03, 0x03) AM_WRITE_LEGACY(m4_audio_1_w)
- AM_RANGE(0x04, 0x04) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x05, 0x05) AM_WRITE_LEGACY(m4_audio_2_w)
ADDRESS_MAP_END
@@ -1735,7 +1735,7 @@ static ADDRESS_MAP_START( clowns_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
AM_RANGE(0x03, 0x03) AM_WRITE_LEGACY(clowns_audio_1_w)
- AM_RANGE(0x04, 0x04) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x05, 0x05) AM_DEVWRITE_LEGACY("discrete", midway_tone_generator_lo_w)
AM_RANGE(0x06, 0x06) AM_DEVWRITE_LEGACY("discrete", midway_tone_generator_hi_w)
AM_RANGE(0x07, 0x07) AM_DEVWRITE_LEGACY("discrete", clowns_audio_2_w)
@@ -1873,7 +1873,7 @@ static ADDRESS_MAP_START( spacwalk_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
AM_RANGE(0x03, 0x03) AM_DEVWRITE_LEGACY("discrete", spacwalk_audio_1_w)
- AM_RANGE(0x04, 0x04) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x05, 0x05) AM_DEVWRITE_LEGACY("discrete", midway_tone_generator_lo_w)
AM_RANGE(0x06, 0x06) AM_DEVWRITE_LEGACY("discrete", midway_tone_generator_hi_w)
AM_RANGE(0x07, 0x07) AM_DEVWRITE_LEGACY("discrete", spacwalk_audio_2_w)
@@ -1967,7 +1967,7 @@ static ADDRESS_MAP_START( shuffle_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_MIRROR(0x08) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_count_w)
AM_RANGE(0x02, 0x02) AM_MIRROR(0x08) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
- AM_RANGE(0x04, 0x04) AM_MIRROR(0x08) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_MIRROR(0x08) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x05, 0x05) AM_MIRROR(0x08) AM_DEVWRITE_LEGACY("discrete", shuffle_audio_1_w)
AM_RANGE(0x06, 0x06) AM_MIRROR(0x08) AM_DEVWRITE_LEGACY("discrete", shuffle_audio_2_w)
ADDRESS_MAP_END
@@ -2046,7 +2046,7 @@ static ADDRESS_MAP_START( dogpatch_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
AM_RANGE(0x03, 0x03) AM_DEVWRITE_LEGACY("discrete", dogpatch_audio_w)
- AM_RANGE(0x04, 0x04) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x05, 0x05) AM_DEVWRITE_LEGACY("discrete", midway_tone_generator_lo_w)
AM_RANGE(0x06, 0x06) AM_DEVWRITE_LEGACY("discrete", midway_tone_generator_hi_w)
ADDRESS_MAP_END
@@ -2314,7 +2314,7 @@ static ADDRESS_MAP_START( phantom2_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
- AM_RANGE(0x04, 0x04) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x05, 0x05) AM_WRITE_LEGACY(phantom2_audio_1_w)
AM_RANGE(0x06, 0x06) AM_WRITE_LEGACY(phantom2_audio_2_w)
ADDRESS_MAP_END
@@ -2441,7 +2441,7 @@ static ADDRESS_MAP_START( bowler_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
- AM_RANGE(0x04, 0x04) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x05, 0x05) AM_DEVWRITE_LEGACY("discrete", bowler_audio_1_w)
AM_RANGE(0x06, 0x06) AM_WRITE_LEGACY(bowler_audio_2_w)
AM_RANGE(0x07, 0x07) AM_WRITE(bowler_lights_1_w)
@@ -2632,7 +2632,7 @@ static ADDRESS_MAP_START( invaders_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x03, 0x03) AM_DEVWRITE_LEGACY("discrete", invaders_audio_1_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
AM_RANGE(0x05, 0x05) AM_DEVWRITE_LEGACY("discrete", invaders_audio_2_w)
- AM_RANGE(0x06, 0x06) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
@@ -2762,7 +2762,7 @@ static ADDRESS_MAP_START( blueshrk_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x01, 0x01) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_count_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
AM_RANGE(0x03, 0x03) AM_DEVWRITE_LEGACY("discrete", blueshrk_audio_w)
- AM_RANGE(0x04, 0x04) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x04, 0x04) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
@@ -2844,7 +2844,7 @@ static ADDRESS_MAP_START( invad2ct_io_map, AS_IO, 8, mw8080bw_state )
AM_RANGE(0x03, 0x03) AM_DEVWRITE_LEGACY("discrete", invad2ct_audio_1_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
AM_RANGE(0x05, 0x05) AM_DEVWRITE_LEGACY("discrete", invad2ct_audio_2_w)
- AM_RANGE(0x06, 0x06) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x07, 0x07) AM_DEVWRITE_LEGACY("discrete", invad2ct_audio_4_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mystwarr.c b/src/mame/drivers/mystwarr.c
index 145d15b0f9a..c70dd292673 100644
--- a/src/mame/drivers/mystwarr.c
+++ b/src/mame/drivers/mystwarr.c
@@ -583,9 +583,9 @@ static ADDRESS_MAP_START( mystwarr_sound_map, AS_PROGRAM, 8, mystwarr_state )
AM_RANGE(0xe230, 0xe3ff) AM_RAM
AM_RANGE(0xe400, 0xe62f) AM_DEVREADWRITE("konami2", k054539_device, read, write)
AM_RANGE(0xe630, 0xe7ff) AM_RAM
- AM_RANGE(0xf000, 0xf000) AM_WRITE_LEGACY(soundlatch3_w)
- AM_RANGE(0xf002, 0xf002) AM_READ_LEGACY(soundlatch_r)
- AM_RANGE(0xf003, 0xf003) AM_READ_LEGACY(soundlatch2_r)
+ AM_RANGE(0xf000, 0xf000) AM_WRITE(soundlatch3_w)
+ AM_RANGE(0xf002, 0xf002) AM_READ(soundlatch_r)
+ AM_RANGE(0xf003, 0xf003) AM_READ(soundlatch2_r)
AM_RANGE(0xf800, 0xf800) AM_WRITE(sound_bankswitch_w)
AM_RANGE(0xfff0, 0xfff3) AM_WRITENOP // unknown write
ADDRESS_MAP_END
diff --git a/src/mame/drivers/nemesis.c b/src/mame/drivers/nemesis.c
index ce623873299..b8f6f44380b 100644
--- a/src/mame/drivers/nemesis.c
+++ b/src/mame/drivers/nemesis.c
@@ -304,7 +304,7 @@ static ADDRESS_MAP_START( nemesis_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x05c000, 0x05c001) AM_WRITE(nemesis_soundlatch_word_w)
AM_RANGE(0x05c400, 0x05c401) AM_READ_PORT("DSW0")
AM_RANGE(0x05c402, 0x05c403) AM_READ_PORT("DSW1")
- AM_RANGE(0x05c800, 0x05c801) AM_WRITE_LEGACY(watchdog_reset16_w) /* probably */
+ AM_RANGE(0x05c800, 0x05c801) AM_WRITE(watchdog_reset16_w) /* probably */
AM_RANGE(0x05cc00, 0x05cc01) AM_READ_PORT("IN0")
AM_RANGE(0x05cc02, 0x05cc03) AM_READ_PORT("IN1")
AM_RANGE(0x05cc04, 0x05cc05) AM_READ_PORT("IN2")
@@ -339,7 +339,7 @@ static ADDRESS_MAP_START( gx400_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x05c402, 0x05c403) AM_READ_PORT("DSW0")
AM_RANGE(0x05c404, 0x05c405) AM_READ_PORT("DSW1")
AM_RANGE(0x05c406, 0x05c407) AM_READ_PORT("TEST")
- AM_RANGE(0x05c800, 0x05c801) AM_WRITE_LEGACY(watchdog_reset16_w) /* probably */
+ AM_RANGE(0x05c800, 0x05c801) AM_WRITE(watchdog_reset16_w) /* probably */
AM_RANGE(0x05cc00, 0x05cc01) AM_READ_PORT("IN0")
AM_RANGE(0x05cc02, 0x05cc03) AM_READ_PORT("IN1")
AM_RANGE(0x05cc04, 0x05cc05) AM_READ_PORT("IN2")
@@ -370,7 +370,7 @@ static ADDRESS_MAP_START( konamigt_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x05c000, 0x05c001) AM_WRITE(nemesis_soundlatch_word_w)
AM_RANGE(0x05c400, 0x05c401) AM_READ_PORT("DSW0")
AM_RANGE(0x05c402, 0x05c403) AM_READ_PORT("DSW1")
- AM_RANGE(0x05c800, 0x05c801) AM_WRITE_LEGACY(watchdog_reset16_w) /* probably */
+ AM_RANGE(0x05c800, 0x05c801) AM_WRITE(watchdog_reset16_w) /* probably */
AM_RANGE(0x05cc00, 0x05cc01) AM_READ_PORT("IN0")
AM_RANGE(0x05cc02, 0x05cc03) AM_READ_PORT("IN1")
AM_RANGE(0x05cc04, 0x05cc05) AM_READ_PORT("IN2")
@@ -405,7 +405,7 @@ static ADDRESS_MAP_START( rf2_gx400_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x05c402, 0x05c403) AM_READ_PORT("DSW0")
AM_RANGE(0x05c404, 0x05c405) AM_READ_PORT("DSW1")
AM_RANGE(0x05c406, 0x05c407) AM_READ_PORT("TEST")
- AM_RANGE(0x05c800, 0x05c801) AM_WRITE_LEGACY(watchdog_reset16_w) /* probably */
+ AM_RANGE(0x05c800, 0x05c801) AM_WRITE(watchdog_reset16_w) /* probably */
AM_RANGE(0x05cc00, 0x05cc01) AM_READ_PORT("IN0")
AM_RANGE(0x05cc02, 0x05cc03) AM_READ_PORT("IN1")
AM_RANGE(0x05cc04, 0x05cc05) AM_READ_PORT("IN2")
@@ -426,7 +426,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, nemesis_state )
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0xa000, 0xafff) AM_DEVWRITE_LEGACY("k007232", k005289_pitch_A_w)
AM_RANGE(0xc000, 0xcfff) AM_DEVWRITE_LEGACY("k007232", k005289_pitch_B_w)
- AM_RANGE(0xe001, 0xe001) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe001, 0xe001) AM_READ(soundlatch_r)
AM_RANGE(0xe003, 0xe003) AM_DEVWRITE_LEGACY("k007232", k005289_keylatch_A_w)
AM_RANGE(0xe004, 0xe004) AM_DEVWRITE_LEGACY("k007232", k005289_keylatch_B_w)
AM_RANGE(0xe005, 0xe005) AM_DEVWRITE_LEGACY("ay2", ay8910_address_w)
@@ -443,7 +443,7 @@ static ADDRESS_MAP_START( gx400_sound_map, AS_PROGRAM, 8, nemesis_state )
AM_RANGE(0xa000, 0xafff) AM_DEVWRITE_LEGACY("k007232", k005289_pitch_A_w)
AM_RANGE(0xc000, 0xcfff) AM_DEVWRITE_LEGACY("k007232", k005289_pitch_B_w)
AM_RANGE(0xe000, 0xe000) AM_DEVWRITE_LEGACY("vlm", vlm5030_data_w)
- AM_RANGE(0xe001, 0xe001) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe001, 0xe001) AM_READ(soundlatch_r)
AM_RANGE(0xe003, 0xe003) AM_DEVWRITE_LEGACY("k007232", k005289_keylatch_A_w)
AM_RANGE(0xe004, 0xe004) AM_DEVWRITE_LEGACY("k007232", k005289_keylatch_B_w)
AM_RANGE(0xe005, 0xe005) AM_DEVWRITE_LEGACY("ay2", ay8910_address_w)
@@ -464,7 +464,7 @@ static ADDRESS_MAP_START( salamand_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE_LEGACY(salamand_control_port_word_w) /* irq enable, flipscreen, etc. */
AM_RANGE(0x0c0000, 0x0c0001) AM_WRITE(nemesis_soundlatch_word_w)
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW0")
- AM_RANGE(0x0c0004, 0x0c0005) AM_WRITE_LEGACY(watchdog_reset16_w) /* probably */
+ AM_RANGE(0x0c0004, 0x0c0005) AM_WRITE(watchdog_reset16_w) /* probably */
AM_RANGE(0x0c2000, 0x0c2001) AM_READ_PORT("IN0") /* Coins, start buttons, test mode */
AM_RANGE(0x0c2002, 0x0c2003) AM_READ_PORT("IN1")
AM_RANGE(0x0c2004, 0x0c2005) AM_READ_PORT("IN2")
@@ -489,7 +489,7 @@ static ADDRESS_MAP_START( blkpnthr_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x0a0000, 0x0a0001) AM_RAM_WRITE_LEGACY(salamand_control_port_word_w) /* irq enable, flipscreen, etc. */
AM_RANGE(0x0c0000, 0x0c0001) AM_WRITE(nemesis_soundlatch_word_w)
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW0")
- AM_RANGE(0x0c0004, 0x0c0005) AM_WRITE_LEGACY(watchdog_reset16_w) /* probably */
+ AM_RANGE(0x0c0004, 0x0c0005) AM_WRITE(watchdog_reset16_w) /* probably */
AM_RANGE(0x0c2000, 0x0c2001) AM_READ_PORT("IN0") /* Coins, start buttons, test mode */
AM_RANGE(0x0c2002, 0x0c2003) AM_READ_PORT("IN1")
AM_RANGE(0x0c2004, 0x0c2005) AM_READ_PORT("IN2")
@@ -517,7 +517,7 @@ static ADDRESS_MAP_START( citybomb_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x0f0006, 0x0f0007) AM_READ_PORT("IN0") /* Coins, start buttons, test mode */
AM_RANGE(0x0f0008, 0x0f0009) AM_READ_PORT("DSW0")
AM_RANGE(0x0f0010, 0x0f0011) AM_WRITE(nemesis_soundlatch_word_w)
- AM_RANGE(0x0f0018, 0x0f0019) AM_WRITE_LEGACY(watchdog_reset16_w) /* probably */
+ AM_RANGE(0x0f0018, 0x0f0019) AM_WRITE(watchdog_reset16_w) /* probably */
AM_RANGE(0x0f0020, 0x0f0021) AM_READ(selected_ip_word_r) AM_WRITENOP /* WEC Le Mans 24 control? */
AM_RANGE(0x0f8000, 0x0f8001) AM_WRITE_LEGACY(salamand_control_port_word_w) /* irq enable, flipscreen, etc. */
AM_RANGE(0x100000, 0x1bffff) AM_ROM
@@ -545,7 +545,7 @@ static ADDRESS_MAP_START( nyanpani_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x070006, 0x070007) AM_READ_PORT("IN0") /* Coins, start buttons, test mode */
AM_RANGE(0x070008, 0x070009) AM_READ_PORT("DSW0")
AM_RANGE(0x070010, 0x070011) AM_WRITE(nemesis_soundlatch_word_w)
- AM_RANGE(0x070018, 0x070019) AM_WRITE_LEGACY(watchdog_reset16_w) /* probably */
+ AM_RANGE(0x070018, 0x070019) AM_WRITE(watchdog_reset16_w) /* probably */
AM_RANGE(0x078000, 0x078001) AM_WRITE_LEGACY(salamand_control_port_word_w) /* irq enable, flipscreen, etc. */
AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE_LEGACY(nemesis_videoram1_word_w) AM_BASE(m_videoram1) /* VRAM */
AM_RANGE(0x201000, 0x201fff) AM_RAM_WRITE_LEGACY(nemesis_videoram2_word_w) AM_BASE(m_videoram2)
@@ -569,7 +569,7 @@ READ8_MEMBER(nemesis_state::wd_r)
static ADDRESS_MAP_START( sal_sound_map, AS_PROGRAM, 8, nemesis_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("k007232", k007232_r, k007232_w)
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xd000, 0xd000) AM_DEVWRITE_LEGACY("vlm", vlm5030_data_w)
@@ -580,7 +580,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( blkpnthr_sound_map, AS_PROGRAM, 8, nemesis_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("k007232", k007232_r, k007232_w)
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xe000, 0xe000) AM_READ(wd_r) /* watchdog?? */
@@ -597,7 +597,7 @@ static ADDRESS_MAP_START( city_sound_map, AS_PROGRAM, 8, nemesis_state )
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("k007232", k007232_r, k007232_w)
AM_RANGE(0xc000, 0xc000) AM_DEVWRITE_LEGACY("k007232", city_sound_bank_w) /* 7232 bankswitch */
- AM_RANGE(0xd000, 0xd000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
/******************************************************************************/
@@ -612,7 +612,7 @@ static ADDRESS_MAP_START( hcrash_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW0")
AM_RANGE(0x0c0004, 0x0c0005) AM_READ_PORT("DSW1")
AM_RANGE(0x0c0006, 0x0c0007) AM_READ_PORT("TEST")
- AM_RANGE(0x0c0008, 0x0c0009) AM_WRITE_LEGACY(watchdog_reset16_w) /* watchdog probably */
+ AM_RANGE(0x0c0008, 0x0c0009) AM_WRITE(watchdog_reset16_w) /* watchdog probably */
AM_RANGE(0x0c000a, 0x0c000b) AM_READ_PORT("IN0")
AM_RANGE(0x0c2000, 0x0c2001) AM_READ(konamigt_input_word_r) /* Konami GT control */
AM_RANGE(0x0c2800, 0x0c2801) AM_WRITENOP
diff --git a/src/mame/drivers/ninjakd2.c b/src/mame/drivers/ninjakd2.c
index cff7068a610..13e5fc2883d 100644
--- a/src/mame/drivers/ninjakd2.c
+++ b/src/mame/drivers/ninjakd2.c
@@ -397,7 +397,7 @@ static ADDRESS_MAP_START( ninjakd2_main_cpu, AS_PROGRAM, 8, ninjakd2_state )
AM_RANGE(0xc002, 0xc002) AM_READ_PORT("PAD2")
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("DIPSW1")
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("DIPSW2")
- AM_RANGE(0xc200, 0xc200) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xc200, 0xc200) AM_WRITE(soundlatch_w)
AM_RANGE(0xc201, 0xc201) AM_WRITE(ninjakd2_soundreset_w) // sound reset + flip screen
AM_RANGE(0xc202, 0xc202) AM_WRITE(ninjakd2_bankselect_w)
AM_RANGE(0xc203, 0xc203) AM_WRITE_LEGACY(ninjakd2_sprite_overdraw_w)
@@ -423,7 +423,7 @@ static ADDRESS_MAP_START( mnight_main_cpu, AS_PROGRAM, 8, ninjakd2_state )
AM_RANGE(0xf802, 0xf802) AM_READ_PORT("PAD2")
AM_RANGE(0xf803, 0xf803) AM_READ_PORT("DIPSW1")
AM_RANGE(0xf804, 0xf804) AM_READ_PORT("DIPSW2")
- AM_RANGE(0xfa00, 0xfa00) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xfa00, 0xfa00) AM_WRITE(soundlatch_w)
AM_RANGE(0xfa01, 0xfa01) AM_WRITE(ninjakd2_soundreset_w)
AM_RANGE(0xfa02, 0xfa02) AM_WRITE(ninjakd2_bankselect_w)
AM_RANGE(0xfa03, 0xfa03) AM_WRITE_LEGACY(ninjakd2_sprite_overdraw_w)
@@ -444,7 +444,7 @@ static ADDRESS_MAP_START( robokid_main_cpu, AS_PROGRAM, 8, ninjakd2_state )
AM_RANGE(0xdc02, 0xdc02) AM_READ_PORT("PAD2")
AM_RANGE(0xdc03, 0xdc03) AM_READ_PORT("DIPSW1")
AM_RANGE(0xdc04, 0xdc04) AM_READ_PORT("DIPSW2")
- AM_RANGE(0xdc00, 0xdc00) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xdc00, 0xdc00) AM_WRITE(soundlatch_w)
AM_RANGE(0xdc01, 0xdc01) AM_WRITE(ninjakd2_soundreset_w) // sound reset + flip screen
AM_RANGE(0xdc02, 0xdc02) AM_WRITE(robokid_bankselect_w)
AM_RANGE(0xdc03, 0xdc03) AM_WRITE_LEGACY(ninjakd2_sprite_overdraw_w)
@@ -464,7 +464,7 @@ static ADDRESS_MAP_START( omegaf_main_cpu, AS_PROGRAM, 8, ninjakd2_state )
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("KEYCOIN")
AM_RANGE(0xc001, 0xc003) AM_READ(omegaf_io_protection_r)
- AM_RANGE(0xc000, 0xc000) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xc000, 0xc000) AM_WRITE(soundlatch_w)
AM_RANGE(0xc001, 0xc001) AM_WRITE(ninjakd2_soundreset_w) // sound reset + flip screen
AM_RANGE(0xc002, 0xc002) AM_WRITE(robokid_bankselect_w)
AM_RANGE(0xc003, 0xc003) AM_WRITE_LEGACY(ninjakd2_sprite_overdraw_w)
@@ -490,7 +490,7 @@ static ADDRESS_MAP_START( ninjakd2_sound_cpu, AS_PROGRAM, 8, ninjakd2_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
AM_RANGE(0xf000, 0xf000) AM_WRITE(ninjakd2_pcm_play_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/nmg5.c b/src/mame/drivers/nmg5.c
index 03214078d6d..c30a609cc07 100644
--- a/src/mame/drivers/nmg5.c
+++ b/src/mame/drivers/nmg5.c
@@ -386,7 +386,7 @@ static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, nmg5_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE_LEGACY("oki", oki_banking_w)
AM_RANGE(0x10, 0x11) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
- AM_RANGE(0x18, 0x18) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x18, 0x18) AM_READ(soundlatch_r)
AM_RANGE(0x1c, 0x1c) AM_DEVREADWRITE("oki", okim6295_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/nmk16.c b/src/mame/drivers/nmk16.c
index 74144cb5043..c1d4637191d 100644
--- a/src/mame/drivers/nmk16.c
+++ b/src/mame/drivers/nmk16.c
@@ -355,7 +355,7 @@ static ADDRESS_MAP_START( manybloc_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080012, 0x080013) AM_WRITENOP /* See notes at the top of the driver */
AM_RANGE(0x080014, 0x080015) AM_WRITE_LEGACY(nmk_flipscreen_w)
AM_RANGE(0x08001c, 0x08001d) AM_WRITENOP /* See notes at the top of the driver */
- AM_RANGE(0x08001e, 0x08001f) AM_READWRITE_LEGACY(soundlatch2_word_r,soundlatch_word_w)
+ AM_RANGE(0x08001e, 0x08001f) AM_READWRITE(soundlatch2_word_r,soundlatch_word_w)
AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE_LEGACY(nmk_bgvideoram0_w) AM_BASE(m_nmk_bgvideoram0)
AM_RANGE(0x09c000, 0x09cfff) AM_RAM_WRITE_LEGACY(manybloc_scroll_w) AM_BASE(m_gunnail_scrollram)
@@ -368,12 +368,12 @@ static ADDRESS_MAP_START( tharrier_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080000, 0x080001) AM_READ_PORT("IN0")
AM_RANGE(0x080002, 0x080003) AM_READ(tharrier_mcu_r) // AM_READ_PORT("IN1")
AM_RANGE(0x080004, 0x080005) AM_READ_PORT("DSW1")
- AM_RANGE(0x08000e, 0x08000f) AM_READ_LEGACY(soundlatch2_word_r) /* from Z80 */
+ AM_RANGE(0x08000e, 0x08000f) AM_READ(soundlatch2_word_r) /* from Z80 */
AM_RANGE(0x080010, 0x080011) AM_WRITE(tharrier_mcu_control_w)
AM_RANGE(0x080012, 0x080013) AM_WRITENOP
// AM_RANGE(0x080014, 0x080015) AM_WRITE_LEGACY(nmk_flipscreen_w)
// AM_RANGE(0x080018, 0x080019) AM_WRITE_LEGACY(nmk_tilebank_w)
- AM_RANGE(0x08001e, 0x08001f) AM_WRITE_LEGACY(soundlatch_word_w)
+ AM_RANGE(0x08001e, 0x08001f) AM_WRITE(soundlatch_word_w)
AM_RANGE(0x080202, 0x080203) AM_READ_PORT("IN2")
AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
// AM_RANGE(0x08c000, 0x08c007) AM_WRITE_LEGACY(nmk_scroll_w)
@@ -386,7 +386,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tharrier_sound_map, AS_PROGRAM, 8, nmk16_state )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xf000, 0xf000) AM_READWRITE_LEGACY(soundlatch_r,soundlatch2_w)
+ AM_RANGE(0xf000, 0xf000) AM_READWRITE(soundlatch_r,soundlatch2_w)
AM_RANGE(0xf400, 0xf400) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0xf500, 0xf500) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
AM_RANGE(0xf600, 0xf600) AM_WRITE(tharrier_oki6295_bankswitch_0_w)
@@ -938,7 +938,7 @@ static ADDRESS_MAP_START( ssmissin_sound_map, AS_PROGRAM, 8, nmk16_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(ssmissin_soundbank_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( strahl_map, AS_PROGRAM, 16, nmk16_state )
@@ -1004,7 +1004,7 @@ static ADDRESS_MAP_START( macross2_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x100002, 0x100003) AM_READ_PORT("IN1")
AM_RANGE(0x100008, 0x100009) AM_READ_PORT("DSW1")
AM_RANGE(0x10000a, 0x10000b) AM_READ_PORT("DSW2")
- AM_RANGE(0x10000e, 0x10000f) AM_READ_LEGACY(soundlatch2_word_r) /* from Z80 */
+ AM_RANGE(0x10000e, 0x10000f) AM_READ(soundlatch2_word_r) /* from Z80 */
AM_RANGE(0x100014, 0x100015) AM_WRITE_LEGACY(nmk_flipscreen_w)
AM_RANGE(0x100016, 0x100017) AM_WRITE(macross2_sound_reset_w) /* Z80 reset */
AM_RANGE(0x100018, 0x100019) AM_WRITE_LEGACY(nmk_tilebank_w)
@@ -1030,7 +1030,7 @@ static ADDRESS_MAP_START( raphero_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x100002, 0x100003) AM_READ_PORT("IN1")
AM_RANGE(0x100008, 0x100009) AM_READ_PORT("DSW1")
AM_RANGE(0x10000a, 0x10000b) AM_READ_PORT("DSW2")
- AM_RANGE(0x10000e, 0x10000f) AM_READ_LEGACY(soundlatch2_word_r) /* from Z80 */
+ AM_RANGE(0x10000e, 0x10000f) AM_READ(soundlatch2_word_r) /* from Z80 */
AM_RANGE(0x100014, 0x100015) AM_WRITE_LEGACY(nmk_flipscreen_w)
AM_RANGE(0x100016, 0x100017) AM_WRITENOP /* IRQ enable or z80 sound reset like in Macross 2? */
AM_RANGE(0x100018, 0x100019) AM_WRITE_LEGACY(nmk_tilebank_w)
@@ -1079,7 +1079,7 @@ static ADDRESS_MAP_START( raphero_sound_mem_map, AS_PROGRAM, 8, nmk16_state )
AM_RANGE(0xc810, 0xc817) AM_DEVWRITE_LEGACY("nmk112", nmk112_okibank_w)
// AM_RANGE(0xc810, 0xc817) AM_WRITE(okibank_w)
AM_RANGE(0xd000, 0xd000) AM_WRITE(raphero_sound_rombank_w)
- AM_RANGE(0xd800, 0xd800) AM_READWRITE_LEGACY(soundlatch_r, soundlatch2_w) // main cpu
+ AM_RANGE(0xd800, 0xd800) AM_READWRITE(soundlatch_r, soundlatch2_w) // main cpu
AM_RANGE(0xe000, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -1089,7 +1089,7 @@ static ADDRESS_MAP_START( macross2_sound_map, AS_PROGRAM, 8, nmk16_state )
AM_RANGE(0xa000, 0xa000) AM_READNOP /* IRQ ack? watchdog? */
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe001, 0xe001) AM_WRITE(macross2_sound_bank_w)
- AM_RANGE(0xf000, 0xf000) AM_READWRITE_LEGACY(soundlatch_r,soundlatch2_w) /* from 68000 */
+ AM_RANGE(0xf000, 0xf000) AM_READWRITE(soundlatch_r,soundlatch2_w) /* from 68000 */
ADDRESS_MAP_END
static ADDRESS_MAP_START( macross2_sound_io_map, AS_IO, 8, nmk16_state )
@@ -4684,7 +4684,7 @@ static ADDRESS_MAP_START( afega_sound_cpu, AS_PROGRAM, 8, nmk16_state )
AM_RANGE(0x0004, 0x0004) AM_WRITENOP // bug in sound prg?
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM // RAM
- AM_RANGE(0xf800, 0xf800) AM_READ_LEGACY(soundlatch_r) // From Main CPU
+ AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r) // From Main CPU
AM_RANGE(0xf808, 0xf809) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w) // YM2151
AM_RANGE(0xf80a, 0xf80a) AM_DEVREADWRITE("oki1", okim6295_device, read, write) // M6295
ADDRESS_MAP_END
@@ -4692,7 +4692,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( firehawk_sound_cpu, AS_PROGRAM, 8, nmk16_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
- AM_RANGE(0xfff0, 0xfff0) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xfff0, 0xfff0) AM_READ(soundlatch_r)
AM_RANGE(0xfff2, 0xfff2) AM_DEVWRITE_LEGACY("oki2", spec2k_oki1_banking_w )
AM_RANGE(0xfff8, 0xfff8) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
AM_RANGE(0xfffa, 0xfffa) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
@@ -4715,7 +4715,7 @@ static ADDRESS_MAP_START( twinactn_sound_cpu, AS_PROGRAM, 8, nmk16_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_DEVWRITE_LEGACY("oki1", twinactn_oki_bank_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r) // From Main CPU
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r) // From Main CPU
ADDRESS_MAP_END
/***************************************************************************
diff --git a/src/mame/drivers/nova2001.c b/src/mame/drivers/nova2001.c
index 060bc835d24..785c2b92c14 100644
--- a/src/mame/drivers/nova2001.c
+++ b/src/mame/drivers/nova2001.c
@@ -183,7 +183,7 @@ static ADDRESS_MAP_START( nova2001_map, AS_PROGRAM, 8, nova2001_state )
AM_RANGE(0xc001, 0xc001) AM_DEVREADWRITE_LEGACY("ay2", ay8910_r, ay8910_data_w)
AM_RANGE(0xc002, 0xc002) AM_DEVWRITE_LEGACY("ay1", ay8910_address_w)
AM_RANGE(0xc003, 0xc003) AM_DEVWRITE_LEGACY("ay2", ay8910_address_w)
- AM_RANGE(0xc004, 0xc004) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xc004, 0xc004) AM_READ(watchdog_reset_r)
AM_RANGE(0xc006, 0xc006) AM_READ_PORT("IN0")
AM_RANGE(0xc007, 0xc007) AM_READ_PORT("IN1")
AM_RANGE(0xc00e, 0xc00e) AM_READ_PORT("IN2")
diff --git a/src/mame/drivers/nycaptor.c b/src/mame/drivers/nycaptor.c
index ff79cadd601..a5a081962fa 100644
--- a/src/mame/drivers/nycaptor.c
+++ b/src/mame/drivers/nycaptor.c
@@ -388,7 +388,7 @@ static ADDRESS_MAP_START( nycaptor_sound_map, AS_PROGRAM, 8, nycaptor_state )
AM_RANGE(0xca00, 0xca00) AM_WRITENOP
AM_RANGE(0xcb00, 0xcb00) AM_WRITENOP
AM_RANGE(0xcc00, 0xcc00) AM_WRITENOP
- AM_RANGE(0xd000, 0xd000) AM_READ_LEGACY(soundlatch_r) AM_WRITE(to_main_w)
+ AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r) AM_WRITE(to_main_w)
AM_RANGE(0xd200, 0xd200) AM_READNOP AM_WRITE(nmi_enable_w)
AM_RANGE(0xd400, 0xd400) AM_WRITE(nmi_disable_w)
AM_RANGE(0xd600, 0xd600) AM_WRITENOP
diff --git a/src/mame/drivers/nyny.c b/src/mame/drivers/nyny.c
index ce0e79ebf33..17920269d82 100644
--- a/src/mame/drivers/nyny.c
+++ b/src/mame/drivers/nyny.c
@@ -538,7 +538,7 @@ static ADDRESS_MAP_START( nyny_main_map, AS_PROGRAM, 8, nyny_state )
AM_RANGE(0xa100, 0xa100) AM_MIRROR(0x00fe) AM_DEVWRITE("crtc", mc6845_device, address_w)
AM_RANGE(0xa101, 0xa101) AM_MIRROR(0x00fe) AM_DEVWRITE("crtc", mc6845_device, register_w)
AM_RANGE(0xa200, 0xa20f) AM_MIRROR(0x00f0) AM_READWRITE(nyny_pia_1_2_r, nyny_pia_1_2_w)
- AM_RANGE(0xa300, 0xa300) AM_MIRROR(0x00ff) AM_READ_LEGACY(soundlatch3_r) AM_WRITE(audio_1_command_w)
+ AM_RANGE(0xa300, 0xa300) AM_MIRROR(0x00ff) AM_READ(soundlatch3_r) AM_WRITE(audio_1_command_w)
AM_RANGE(0xa400, 0xa7ff) AM_NOP
AM_RANGE(0xa800, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
@@ -550,7 +550,7 @@ static ADDRESS_MAP_START( nyny_audio_1_map, AS_PROGRAM, 8, nyny_state )
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x007f) AM_RAM /* internal RAM */
AM_RANGE(0x0080, 0x0fff) AM_NOP
- AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x0fff) AM_READ_LEGACY(soundlatch_r) AM_WRITE(audio_1_answer_w)
+ AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x0fff) AM_READ(soundlatch_r) AM_WRITE(audio_1_answer_w)
AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x0fff) AM_READ_PORT("SW3")
AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x0ffc) AM_DEVREAD_LEGACY("ay1", ay8910_r)
AM_RANGE(0x3000, 0x3001) AM_MIRROR(0x0ffc) AM_DEVWRITE_LEGACY("ay1", ay8910_data_address_w)
@@ -567,7 +567,7 @@ static ADDRESS_MAP_START( nyny_audio_2_map, AS_PROGRAM, 8, nyny_state )
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x007f) AM_RAM /* internal RAM */
AM_RANGE(0x0080, 0x0fff) AM_NOP
- AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x0fff) AM_READ_LEGACY(soundlatch2_r)
+ AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x0fff) AM_READ(soundlatch2_r)
AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x0ffe) AM_DEVREAD_LEGACY("ay3", ay8910_r)
AM_RANGE(0x2000, 0x2001) AM_MIRROR(0x0ffe) AM_DEVWRITE_LEGACY("ay3", ay8910_data_address_w)
AM_RANGE(0x3000, 0x6fff) AM_NOP
diff --git a/src/mame/drivers/offtwall.c b/src/mame/drivers/offtwall.c
index b70429d8cb1..3538ab4ba44 100644
--- a/src/mame/drivers/offtwall.c
+++ b/src/mame/drivers/offtwall.c
@@ -291,7 +291,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, offtwall_state )
AM_RANGE(0x260040, 0x260041) AM_WRITE_LEGACY(atarigen_sound_w)
AM_RANGE(0x260050, 0x260051) AM_WRITE_LEGACY(io_latch_w)
AM_RANGE(0x260060, 0x260061) AM_WRITE_LEGACY(atarigen_eeprom_enable_w)
- AM_RANGE(0x2a0000, 0x2a0001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x2a0000, 0x2a0001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x3effc0, 0x3effff) AM_READWRITE_LEGACY(offtwall_atarivc_r, offtwall_atarivc_w) AM_BASE(m_atarivc_data)
AM_RANGE(0x3f4000, 0x3f5eff) AM_RAM_WRITE_LEGACY(atarigen_playfield_latched_msb_w) AM_BASE(m_playfield)
diff --git a/src/mame/drivers/ohmygod.c b/src/mame/drivers/ohmygod.c
index 5acabcdb94b..5c8a7397450 100644
--- a/src/mame/drivers/ohmygod.c
+++ b/src/mame/drivers/ohmygod.c
@@ -55,7 +55,7 @@ static ADDRESS_MAP_START( ohmygod_map, AS_PROGRAM, 16, ohmygod_state )
AM_RANGE(0xa00000, 0xa00001) AM_READ_PORT("DSW1")
AM_RANGE(0xa00002, 0xa00003) AM_READ_PORT("DSW2")
AM_RANGE(0xb00000, 0xb00001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0xc00000, 0xc00001) AM_READ_LEGACY(watchdog_reset16_r)
+ AM_RANGE(0xc00000, 0xc00001) AM_READ(watchdog_reset16_r)
AM_RANGE(0xd00000, 0xd00001) AM_WRITE_LEGACY(ohmygod_spritebank_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/olibochu.c b/src/mame/drivers/olibochu.c
index 85f61ce45aa..5845c985a7e 100644
--- a/src/mame/drivers/olibochu.c
+++ b/src/mame/drivers/olibochu.c
@@ -267,7 +267,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( olibochu_sound_map, AS_PROGRAM, 8, olibochu_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x6000, 0x63ff) AM_RAM
- AM_RANGE(0x7000, 0x7000) AM_READ_LEGACY(soundlatch_r) /* likely ay8910 input port, not direct */
+ AM_RANGE(0x7000, 0x7000) AM_READ(soundlatch_r) /* likely ay8910 input port, not direct */
AM_RANGE(0x7000, 0x7001) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_data_w)
AM_RANGE(0x7004, 0x7004) AM_WRITENOP //sound filter?
AM_RANGE(0x7006, 0x7006) AM_WRITENOP //irq ack?
diff --git a/src/mame/drivers/omegrace.c b/src/mame/drivers/omegrace.c
index 1e5728960c6..a2d22a7e140 100644
--- a/src/mame/drivers/omegrace.c
+++ b/src/mame/drivers/omegrace.c
@@ -350,7 +350,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( port_map, AS_IO, 8, omegrace_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x08, 0x08) AM_READ(omegrace_vg_go_r)
- AM_RANGE(0x09, 0x09) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x09, 0x09) AM_READ(watchdog_reset_r)
AM_RANGE(0x0a, 0x0a) AM_WRITE_LEGACY(avgdvg_reset_w)
AM_RANGE(0x0b, 0x0b) AM_READ_PORT("AVGDVG") /* vg_halt */
AM_RANGE(0x10, 0x10) AM_READ_PORT("DSW1") /* DIP SW C4 */
@@ -378,7 +378,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_port, AS_IO, 8, omegrace_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch_r) /* likely ay8910 input port, not direct */
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r) /* likely ay8910 input port, not direct */
AM_RANGE(0x00, 0x01) AM_DEVWRITE_LEGACY("ay1", ay8910_address_data_w)
AM_RANGE(0x02, 0x03) AM_DEVWRITE_LEGACY("ay2", ay8910_address_data_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/oneshot.c b/src/mame/drivers/oneshot.c
index 70ecbd9ec5a..89b8f58bce9 100644
--- a/src/mame/drivers/oneshot.c
+++ b/src/mame/drivers/oneshot.c
@@ -109,8 +109,8 @@ static ADDRESS_MAP_START( oneshot_map, AS_PROGRAM, 16, oneshot_state )
AM_RANGE(0x181000, 0x181fff) AM_RAM_WRITE_LEGACY(oneshot_fg_videoram_w) AM_BASE(m_fg_videoram) // credits etc.
AM_RANGE(0x182000, 0x182fff) AM_RAM_WRITE_LEGACY(oneshot_bg_videoram_w) AM_BASE(m_bg_videoram) // credits etc.
AM_RANGE(0x188000, 0x18800f) AM_WRITEONLY AM_BASE(m_scroll) // scroll registers
- AM_RANGE(0x190002, 0x190003) AM_READ_LEGACY(soundlatch_word_r)
- AM_RANGE(0x190010, 0x190011) AM_WRITE_LEGACY(soundlatch_word_w)
+ AM_RANGE(0x190002, 0x190003) AM_READ(soundlatch_word_r)
+ AM_RANGE(0x190010, 0x190011) AM_WRITE(soundlatch_word_w)
AM_RANGE(0x190018, 0x190019) AM_DEVWRITE_LEGACY("oki", soundbank_w)
AM_RANGE(0x190026, 0x190027) AM_READ(oneshot_gun_x_p1_r)
AM_RANGE(0x19002e, 0x19002f) AM_READ(oneshot_gun_x_p2_r)
@@ -125,7 +125,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( oneshot_sound_map, AS_PROGRAM, 8, oneshot_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x8000) AM_READWRITE_LEGACY(soundlatch_r,soundlatch_w)
+ AM_RANGE(0x8000, 0x8000) AM_READWRITE(soundlatch_r,soundlatch_w)
AM_RANGE(0x8001, 0x87ff) AM_RAM
AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r,ym3812_w)
AM_RANGE(0xe010, 0xe010) AM_DEVREADWRITE("oki", okim6295_device, read, write)
diff --git a/src/mame/drivers/onetwo.c b/src/mame/drivers/onetwo.c
index 3b2de97abe6..e55c8784d99 100644
--- a/src/mame/drivers/onetwo.c
+++ b/src/mame/drivers/onetwo.c
@@ -183,7 +183,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_cpu, AS_PROGRAM, 8, onetwo_state )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
- AM_RANGE(0xf800, 0xf800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_cpu_io, AS_IO, 8, onetwo_state )
@@ -191,7 +191,7 @@ static ADDRESS_MAP_START( sound_cpu_io, AS_IO, 8, onetwo_state )
AM_RANGE(0x00, 0x00) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_status_port_r, ym3812_control_port_w)
AM_RANGE(0x20, 0x20) AM_DEVWRITE_LEGACY("ymsnd", ym3812_write_port_w)
AM_RANGE(0x40, 0x40) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xc0, 0xc0) AM_WRITE_LEGACY(soundlatch_clear_w)
+ AM_RANGE(0xc0, 0xc0) AM_WRITE(soundlatch_clear_w)
ADDRESS_MAP_END
/*************************************
diff --git a/src/mame/drivers/orbit.c b/src/mame/drivers/orbit.c
index 0624e3cc3fa..3e698ebc513 100644
--- a/src/mame/drivers/orbit.c
+++ b/src/mame/drivers/orbit.c
@@ -119,7 +119,7 @@ static ADDRESS_MAP_START( orbit_map, AS_PROGRAM, 8, orbit_state )
AM_RANGE(0x3a00, 0x3a00) AM_MIRROR(0x00ff) AM_DEVWRITE_LEGACY("discrete", orbit_note_amp_w)
AM_RANGE(0x3c00, 0x3c0f) AM_MIRROR(0x00f0) AM_WRITE(orbit_misc_w)
AM_RANGE(0x3e00, 0x3e00) AM_MIRROR(0x00ff) AM_DEVWRITE_LEGACY("discrete", orbit_noise_rst_w)
- AM_RANGE(0x3f00, 0x3f00) AM_MIRROR(0x00ff) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x3f00, 0x3f00) AM_MIRROR(0x00ff) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x6000, 0x7fff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pacland.c b/src/mame/drivers/pacland.c
index f03001a41eb..3783fe0878a 100644
--- a/src/mame/drivers/pacland.c
+++ b/src/mame/drivers/pacland.c
@@ -245,7 +245,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, pacland_state )
AM_RANGE(0x4000, 0x5fff) AM_ROMBANK("bank1")
AM_RANGE(0x6800, 0x6bff) AM_DEVREADWRITE_LEGACY("namco", namcos1_cus30_r, namcos1_cus30_w) /* PSG device, shared RAM */
AM_RANGE(0x7000, 0x7fff) AM_WRITE(pacland_irq_1_ctrl_w)
- AM_RANGE(0x7800, 0x7fff) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x7800, 0x7fff) AM_READ(watchdog_reset_r)
AM_RANGE(0x8000, 0xffff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_WRITE(pacland_subreset_w)
AM_RANGE(0x9000, 0x9fff) AM_WRITE(pacland_flipscreen_w)
@@ -255,7 +255,7 @@ static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, pacland_state )
AM_RANGE(0x0000, 0x001f) AM_READWRITE_LEGACY(m6801_io_r, m6801_io_w)
AM_RANGE(0x0080, 0x00ff) AM_RAM
AM_RANGE(0x1000, 0x13ff) AM_DEVREADWRITE_LEGACY("namco", namcos1_cus30_r, namcos1_cus30_w) /* PSG device, shared RAM */
- AM_RANGE(0x2000, 0x3fff) AM_WRITE_LEGACY(watchdog_reset_w) /* watchdog? */
+ AM_RANGE(0x2000, 0x3fff) AM_WRITE(watchdog_reset_w) /* watchdog? */
AM_RANGE(0x4000, 0x7fff) AM_WRITE(pacland_irq_2_ctrl_w)
AM_RANGE(0x8000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
diff --git a/src/mame/drivers/pacman.c b/src/mame/drivers/pacman.c
index bcf27f5dc3d..c716bf1d6d9 100644
--- a/src/mame/drivers/pacman.c
+++ b/src/mame/drivers/pacman.c
@@ -889,7 +889,7 @@ static ADDRESS_MAP_START( pacman_map, AS_PROGRAM, 8, pacman_state )
AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITEONLY AM_SHARE("spriteram2")
AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP
- AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf3f) AM_READ_PORT("IN0") /* IN0 */
AM_RANGE(0x5040, 0x5040) AM_MIRROR(0xaf3f) AM_READ_PORT("IN1") /* IN1 */
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_READ_PORT("DSW1") /* DSW1 */
@@ -916,7 +916,7 @@ static ADDRESS_MAP_START( birdiy_map, AS_PROGRAM, 8, pacman_state )
AM_RANGE(0x50a0, 0x50af) AM_MIRROR(0xaf00) AM_WRITEONLY AM_SHARE("spriteram2")
// AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP
// AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP
- AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf3f) AM_READ_PORT("IN0") /* IN0 */
AM_RANGE(0x5040, 0x5040) AM_MIRROR(0xaf3f) AM_READ_PORT("IN1") /* IN1 */
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_READ_PORT("DSW1") /* DSW1 */
@@ -940,7 +940,7 @@ static ADDRESS_MAP_START( mspacman_map, AS_PROGRAM, 8, pacman_state )
AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITEONLY AM_SHARE("spriteram2")
AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP
- AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf3f) AM_READ_PORT("IN0") /* IN0 */
AM_RANGE(0x5040, 0x5040) AM_MIRROR(0xaf3f) AM_READ_PORT("IN1") /* IN1 */
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_READ_PORT("DSW1") /* DSW1 */
@@ -980,7 +980,7 @@ static ADDRESS_MAP_START( woodpek_map, AS_PROGRAM, 8, pacman_state )
AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITEONLY AM_SHARE("spriteram2")
AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP
- AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf3f) AM_READ_PORT("IN0") /* IN0 */
AM_RANGE(0x5040, 0x5040) AM_MIRROR(0xaf3f) AM_READ_PORT("IN1") /* IN1 */
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_READ_PORT("DSW1") /* DSW1 */
@@ -997,7 +997,7 @@ static ADDRESS_MAP_START( alibaba_map, AS_PROGRAM, 8, pacman_state )
AM_RANGE(0x4c00, 0x4eef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ef0, 0x4eff) AM_MIRROR(0xa000) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x4f00, 0x4fff) AM_MIRROR(0xa000) AM_RAM
- AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x5004, 0x5005) AM_MIRROR(0xaf38) AM_WRITE(pacman_leds_w)
AM_RANGE(0x5006, 0x5006) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_lockout_global_w)
AM_RANGE(0x5007, 0x5007) AM_MIRROR(0xaf38) AM_WRITE(pacman_coin_counter_w)
@@ -1038,7 +1038,7 @@ static ADDRESS_MAP_START( dremshpr_map, AS_PROGRAM, 8, pacman_state )
AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITEONLY AM_SHARE("spriteram2")
AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP
- AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf3f) AM_READ_PORT("IN0") /* IN0 */
AM_RANGE(0x5040, 0x5040) AM_MIRROR(0xaf3f) AM_READ_PORT("IN1") /* IN1 */
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_READ_PORT("DSW1") /* DSW1 */
@@ -1069,7 +1069,7 @@ static ADDRESS_MAP_START( epos_map, AS_PROGRAM, 8, pacman_state )
AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITEONLY AM_SHARE("spriteram2")
AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP
- AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf3f) AM_READ_PORT("IN0") /* IN0 */
AM_RANGE(0x5040, 0x5040) AM_MIRROR(0xaf3f) AM_READ_PORT("IN1") /* IN1 */
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_READ_PORT("DSW1") /* DSW1 */
@@ -1093,7 +1093,7 @@ static ADDRESS_MAP_START( s2650games_map, AS_PROGRAM, 8, pacman_state )
AM_RANGE(0x1560, 0x156f) AM_MIRROR(0xe000) AM_WRITEONLY AM_SHARE("spriteram2")
AM_RANGE(0x1570, 0x157f) AM_MIRROR(0xe000) AM_WRITEONLY
AM_RANGE(0x1586, 0x1587) AM_MIRROR(0xe000) AM_WRITENOP
- AM_RANGE(0x15c0, 0x15c0) AM_MIRROR(0xe000) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x15c0, 0x15c0) AM_MIRROR(0xe000) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x15c7, 0x15c7) AM_MIRROR(0xe000) AM_WRITE(porky_banking_w)
AM_RANGE(0x1500, 0x1500) AM_MIRROR(0xe000) AM_READ_PORT("IN0")
AM_RANGE(0x1540, 0x1540) AM_MIRROR(0xe000) AM_READ_PORT("IN1")
@@ -1117,7 +1117,7 @@ static ADDRESS_MAP_START( rocktrv2_map, AS_PROGRAM, 8, pacman_state )
AM_RANGE(0x5003, 0x5003) AM_WRITE_LEGACY(pacman_flipscreen_w)
AM_RANGE(0x5007, 0x5007) AM_WRITE(pacman_coin_counter_w)
AM_RANGE(0x5040, 0x505f) AM_DEVWRITE_LEGACY("namco", pacman_sound_w)
- AM_RANGE(0x50c0, 0x50c0) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x50c0, 0x50c0) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x5fe0, 0x5fe3) AM_WRITE(rocktrv2_prot_data_w) AM_BASE(m_rocktrv2_prot_data)
AM_RANGE(0x5ff0, 0x5ff0) AM_WRITE(rocktrv2_question_bank_w)
AM_RANGE(0x5000, 0x5000) AM_READ_PORT("IN0") /* IN0 */
@@ -1144,7 +1144,7 @@ static ADDRESS_MAP_START( bigbucks_map, AS_PROGRAM, 8, pacman_state )
AM_RANGE(0x5003, 0x5003) AM_WRITE_LEGACY(pacman_flipscreen_w)
AM_RANGE(0x5007, 0x5007) AM_WRITENOP /*?*/
AM_RANGE(0x5040, 0x505f) AM_DEVWRITE_LEGACY("namco", pacman_sound_w)
- AM_RANGE(0x50c0, 0x50c0) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x50c0, 0x50c0) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x5000, 0x503f) AM_READ_PORT("IN0") /* IN0 */
AM_RANGE(0x5040, 0x507f) AM_READ_PORT("IN1") /* IN1 */
AM_RANGE(0x5080, 0x50bf) AM_READ_PORT("DSW1") /* DSW1 */
@@ -1173,7 +1173,7 @@ static ADDRESS_MAP_START( mschamp_map, AS_PROGRAM, 8, pacman_state )
AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITEONLY AM_SHARE("spriteram2")
AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP
- AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf3f) AM_READ_PORT("IN0") /* IN0 */
AM_RANGE(0x5040, 0x5040) AM_MIRROR(0xaf3f) AM_READ_PORT("IN1") /* IN1 */
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_READ_PORT("DSW1") /* DSW1 */
@@ -1200,7 +1200,7 @@ static ADDRESS_MAP_START( crushs_map, AS_PROGRAM, 8, pacman_state )
AM_RANGE(0x5060, 0x506f) AM_MIRROR(0xaf00) AM_WRITEONLY AM_SHARE("spriteram2")
AM_RANGE(0x5070, 0x507f) AM_MIRROR(0xaf00) AM_WRITENOP
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_WRITENOP
- AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x50c0, 0x50c0) AM_MIRROR(0xaf3f) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf3f) AM_READ_PORT("IN0")
AM_RANGE(0x5080, 0x5080) AM_MIRROR(0xaf3f) AM_READ_PORT("IN1")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pandoras.c b/src/mame/drivers/pandoras.c
index a2dd66d086b..0d6deff1ec8 100644
--- a/src/mame/drivers/pandoras.c
+++ b/src/mame/drivers/pandoras.c
@@ -135,9 +135,9 @@ static ADDRESS_MAP_START( pandoras_master_map, AS_PROGRAM, 8, pandoras_state )
AM_RANGE(0x1800, 0x1807) AM_WRITE(pandoras_int_control_w) /* INT control */
AM_RANGE(0x1a00, 0x1a00) AM_WRITE_LEGACY(pandoras_scrolly_w) /* bg scroll */
AM_RANGE(0x1c00, 0x1c00) AM_WRITE(pandoras_z80_irqtrigger_w) /* cause INT on the Z80 */
- AM_RANGE(0x1e00, 0x1e00) AM_WRITE_LEGACY(soundlatch_w) /* sound command to the Z80 */
+ AM_RANGE(0x1e00, 0x1e00) AM_WRITE(soundlatch_w) /* sound command to the Z80 */
AM_RANGE(0x2000, 0x2000) AM_WRITE(pandoras_cpub_irqtrigger_w) /* cause FIRQ on CPU B */
- AM_RANGE(0x2001, 0x2001) AM_WRITE_LEGACY(watchdog_reset_w) /* watchdog reset */
+ AM_RANGE(0x2001, 0x2001) AM_WRITE(watchdog_reset_w) /* watchdog reset */
AM_RANGE(0x4000, 0x5fff) AM_ROM /* space for diagnostic ROM */
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_SHARE("share4") /* Shared RAM with CPU B */
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */
@@ -155,7 +155,7 @@ static ADDRESS_MAP_START( pandoras_slave_map, AS_PROGRAM, 8, pandoras_state )
AM_RANGE(0x1a03, 0x1a03) AM_READ_PORT("DSW3")
AM_RANGE(0x1c00, 0x1c00) AM_READ_PORT("DSW2")
// AM_RANGE(0x1e00, 0x1e00) AM_READNOP /* ??? seems to be important */
- AM_RANGE(0x8000, 0x8000) AM_WRITE_LEGACY(watchdog_reset_w) /* watchdog reset */
+ AM_RANGE(0x8000, 0x8000) AM_WRITE(watchdog_reset_w) /* watchdog reset */
AM_RANGE(0xa000, 0xa000) AM_WRITE(pandoras_cpua_irqtrigger_w) /* cause FIRQ on CPU A */
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("share4") /* Shared RAM with the CPU A */
AM_RANGE(0xe000, 0xffff) AM_ROM /* ROM */
@@ -164,12 +164,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pandoras_sound_map, AS_PROGRAM, 8, pandoras_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM /* ROM */
AM_RANGE(0x2000, 0x23ff) AM_RAM /* RAM */
- AM_RANGE(0x4000, 0x4000) AM_READ_LEGACY(soundlatch_r) /* soundlatch_r */
+ AM_RANGE(0x4000, 0x4000) AM_READ(soundlatch_r) /* soundlatch_r */
AM_RANGE(0x6000, 0x6000) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_w) /* AY-8910 */
AM_RANGE(0x6001, 0x6001) AM_DEVREAD_LEGACY("aysnd", ay8910_r) /* AY-8910 */
AM_RANGE(0x6002, 0x6002) AM_DEVWRITE_LEGACY("aysnd", ay8910_data_w) /* AY-8910 */
AM_RANGE(0x8000, 0x8000) AM_WRITE(pandoras_i8039_irqtrigger_w) /* cause INT on the 8039 */
- AM_RANGE(0xa000, 0xa000) AM_WRITE_LEGACY(soundlatch2_w) /* sound command to the 8039 */
+ AM_RANGE(0xa000, 0xa000) AM_WRITE(soundlatch2_w) /* sound command to the 8039 */
ADDRESS_MAP_END
static ADDRESS_MAP_START( pandoras_i8039_map, AS_PROGRAM, 8, pandoras_state )
@@ -177,7 +177,7 @@ static ADDRESS_MAP_START( pandoras_i8039_map, AS_PROGRAM, 8, pandoras_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( pandoras_i8039_io_map, AS_IO, 8, pandoras_state )
- AM_RANGE(0x00, 0xff) AM_READ_LEGACY(soundlatch2_r)
+ AM_RANGE(0x00, 0xff) AM_READ(soundlatch2_r)
AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_DEVWRITE_LEGACY("dac", dac_w)
AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_WRITE(i8039_irqen_and_status_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/parodius.c b/src/mame/drivers/parodius.c
index 22f911aa49d..6a7a9d19686 100644
--- a/src/mame/drivers/parodius.c
+++ b/src/mame/drivers/parodius.c
@@ -146,7 +146,7 @@ static ADDRESS_MAP_START( parodius_map, AS_PROGRAM, 8, parodius_state )
AM_RANGE(0x3f90, 0x3f90) AM_READ_PORT("DSW2")
AM_RANGE(0x3fa0, 0x3faf) AM_DEVREADWRITE_LEGACY("k053245", k053244_r, k053244_w)
AM_RANGE(0x3fb0, 0x3fbf) AM_DEVWRITE_LEGACY("k053251", k053251_w)
- AM_RANGE(0x3fc0, 0x3fc0) AM_READ_LEGACY(watchdog_reset_r) AM_WRITE(parodius_3fc0_w)
+ AM_RANGE(0x3fc0, 0x3fc0) AM_READ(watchdog_reset_r) AM_WRITE(parodius_3fc0_w)
AM_RANGE(0x3fc4, 0x3fc4) AM_WRITE(parodius_videobank_w)
AM_RANGE(0x3fc8, 0x3fc8) AM_WRITE(parodius_sh_irqtrigger_w)
AM_RANGE(0x3fcc, 0x3fcd) AM_DEVREADWRITE_LEGACY("k053260", parodius_sound_r, k053260_w) /* K053260 */
diff --git a/src/mame/drivers/pass.c b/src/mame/drivers/pass.c
index b7993d5d151..b3c93e7b3b4 100644
--- a/src/mame/drivers/pass.c
+++ b/src/mame/drivers/pass.c
@@ -114,7 +114,7 @@ static ADDRESS_MAP_START( pass_map, AS_PROGRAM, 16, pass_state )
AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE_LEGACY(pass_bg_videoram_w) AM_BASE(m_bg_videoram) // Background
AM_RANGE(0x210000, 0x213fff) AM_RAM_WRITE_LEGACY(pass_fg_videoram_w) AM_BASE(m_fg_videoram) // Foreground
AM_RANGE(0x220000, 0x2203ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
- AM_RANGE(0x230000, 0x230001) AM_WRITE_LEGACY(soundlatch_word_w)
+ AM_RANGE(0x230000, 0x230001) AM_WRITE(soundlatch_word_w)
AM_RANGE(0x230100, 0x230101) AM_READ_PORT("DSW")
AM_RANGE(0x230200, 0x230201) AM_READ_PORT("INPUTS")
ADDRESS_MAP_END
@@ -127,10 +127,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pass_sound_io_map, AS_IO, 8, pass_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r)
AM_RANGE(0x70, 0x71) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
AM_RANGE(0x80, 0x80) AM_DEVWRITE("oki", okim6295_device, write)
- AM_RANGE(0xc0, 0xc0) AM_WRITE_LEGACY(soundlatch_clear_w)
+ AM_RANGE(0xc0, 0xc0) AM_WRITE(soundlatch_clear_w)
ADDRESS_MAP_END
/* todo : work out function of unknown but used dsw */
diff --git a/src/mame/drivers/pbaction.c b/src/mame/drivers/pbaction.c
index cbc0bf2d197..9dd5c0efc6e 100644
--- a/src/mame/drivers/pbaction.c
+++ b/src/mame/drivers/pbaction.c
@@ -104,7 +104,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pbaction_sound_map, AS_PROGRAM, 8, pbaction_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
- AM_RANGE(0x8000, 0x8000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x8000, 0x8000) AM_READ(soundlatch_r)
AM_RANGE(0xffff, 0xffff) AM_WRITENOP /* watchdog? */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pcktgal.c b/src/mame/drivers/pcktgal.c
index 63f7ef71e47..c64a396765b 100644
--- a/src/mame/drivers/pcktgal.c
+++ b/src/mame/drivers/pcktgal.c
@@ -94,7 +94,7 @@ static ADDRESS_MAP_START( pcktgal_sound_map, AS_PROGRAM, 8, pcktgal_state )
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
AM_RANGE(0x1800, 0x1800) AM_WRITE(pcktgal_adpcm_data_w) /* ADPCM data for the MSM5205 chip */
AM_RANGE(0x2000, 0x2000) AM_WRITE(pcktgal_sound_bank_w)
- AM_RANGE(0x3000, 0x3000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r)
AM_RANGE(0x3400, 0x3400) AM_DEVREAD_LEGACY("msm", pcktgal_adpcm_reset_r) /* ? not sure */
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank3")
AM_RANGE(0x8000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/pgm.c b/src/mame/drivers/pgm.c
index 03eefd03ded..7ced86b59bd 100644
--- a/src/mame/drivers/pgm.c
+++ b/src/mame/drivers/pgm.c
@@ -310,9 +310,9 @@ ADDRESS_MAP_END
ADDRESS_MAP_START( pgm_z80_io, AS_IO, 8, pgm_state )
AM_RANGE(0x8000, 0x8003) AM_DEVREADWRITE_LEGACY("ics", ics2115_device::read, ics2115_device::write)
- AM_RANGE(0x8100, 0x81ff) AM_READ_LEGACY(soundlatch3_r) AM_WRITE(z80_l3_w)
- AM_RANGE(0x8200, 0x82ff) AM_READWRITE_LEGACY(soundlatch_r, soundlatch_w)
- AM_RANGE(0x8400, 0x84ff) AM_READWRITE_LEGACY(soundlatch2_r, soundlatch2_w)
+ AM_RANGE(0x8100, 0x81ff) AM_READ(soundlatch3_r) AM_WRITE(z80_l3_w)
+ AM_RANGE(0x8200, 0x82ff) AM_READWRITE(soundlatch_r, soundlatch_w)
+ AM_RANGE(0x8400, 0x84ff) AM_READWRITE(soundlatch2_r, soundlatch2_w)
ADDRESS_MAP_END
/*** 68000 (main CPU) + variants for protection devices **********************/
@@ -326,12 +326,12 @@ ADDRESS_MAP_START( pgm_base_mem, AS_PROGRAM, 16, pgm_state )
AM_RANGE(0xa00000, 0xa011ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xb00000, 0xb0ffff) AM_RAM AM_BASE(m_videoregs) /* Video Regs inc. Zoom Table */
- AM_RANGE(0xc00002, 0xc00003) AM_READ_LEGACY(soundlatch_word_r) AM_WRITE(m68k_l1_w)
- AM_RANGE(0xc00004, 0xc00005) AM_READWRITE_LEGACY(soundlatch2_word_r, soundlatch2_word_w)
+ AM_RANGE(0xc00002, 0xc00003) AM_READ(soundlatch_word_r) AM_WRITE(m68k_l1_w)
+ AM_RANGE(0xc00004, 0xc00005) AM_READWRITE(soundlatch2_word_r, soundlatch2_word_w)
AM_RANGE(0xc00006, 0xc00007) AM_DEVREADWRITE8("rtc", v3021_device, read, write, 0x00ff)
AM_RANGE(0xc00008, 0xc00009) AM_WRITE(z80_reset_w)
AM_RANGE(0xc0000a, 0xc0000b) AM_WRITE(z80_ctrl_w)
- AM_RANGE(0xc0000c, 0xc0000d) AM_READWRITE_LEGACY(soundlatch3_word_r, soundlatch3_word_w)
+ AM_RANGE(0xc0000c, 0xc0000d) AM_READWRITE(soundlatch3_word_r, soundlatch3_word_w)
AM_RANGE(0xc08000, 0xc08001) AM_READ_PORT("P1P2")
AM_RANGE(0xc08002, 0xc08003) AM_READ_PORT("P3P4")
diff --git a/src/mame/drivers/pingpong.c b/src/mame/drivers/pingpong.c
index dea2110c380..a339cc4826a 100644
--- a/src/mame/drivers/pingpong.c
+++ b/src/mame/drivers/pingpong.c
@@ -99,7 +99,7 @@ static ADDRESS_MAP_START( pingpong_map, AS_PROGRAM, 8, pingpong_state )
AM_RANGE(0xa000, 0xa000) AM_WRITE(coin_w) /* coin counters + irq enables */
AM_RANGE(0xa200, 0xa200) AM_WRITENOP /* SN76496 data latch */
AM_RANGE(0xa400, 0xa400) AM_DEVWRITE_LEGACY("snsnd", sn76496_w) /* trigger read */
- AM_RANGE(0xa600, 0xa600) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xa600, 0xa600) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( merlinmm_map, AS_PROGRAM, 8, pingpong_state )
@@ -120,7 +120,7 @@ static ADDRESS_MAP_START( merlinmm_map, AS_PROGRAM, 8, pingpong_state )
AM_RANGE(0xa180, 0xa180) AM_READ_PORT("IN3")
AM_RANGE(0xa200, 0xa200) AM_WRITENOP /* SN76496 data latch */
AM_RANGE(0xa400, 0xa400) AM_DEVWRITE_LEGACY("snsnd", sn76496_w) /* trigger read */
- AM_RANGE(0xa600, 0xa600) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xa600, 0xa600) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pitnrun.c b/src/mame/drivers/pitnrun.c
index b643d5ffcba..5be269d3c5f 100644
--- a/src/mame/drivers/pitnrun.c
+++ b/src/mame/drivers/pitnrun.c
@@ -105,7 +105,7 @@ static ADDRESS_MAP_START( pitnrun_map, AS_PROGRAM, 8, pitnrun_state )
AM_RANGE(0xb005, 0xb005) AM_WRITE_LEGACY(pitnrun_char_bank_select)
AM_RANGE(0xb006, 0xb006) AM_WRITE(pitnrun_hflip_w)
AM_RANGE(0xb007, 0xb007) AM_WRITE(pitnrun_vflip_w)
- AM_RANGE(0xb800, 0xb800) AM_READ_PORT("INPUTS") AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xb800, 0xb800) AM_READ_PORT("INPUTS") AM_WRITE(soundlatch_w)
AM_RANGE(0xc800, 0xc801) AM_WRITE_LEGACY(pitnrun_scroll_w)
AM_RANGE(0xc802, 0xc802) AM_WRITENOP/* VP(VF?)MCV - not used ?*/
AM_RANGE(0xc804, 0xc804) AM_WRITE_LEGACY(pitnrun_mcu_data_w)
@@ -114,7 +114,7 @@ static ADDRESS_MAP_START( pitnrun_map, AS_PROGRAM, 8, pitnrun_state )
AM_RANGE(0xc807, 0xc807) AM_WRITE_LEGACY(pitnrun_ha_w)
AM_RANGE(0xd800, 0xd800) AM_READ_LEGACY(pitnrun_mcu_status_r)
AM_RANGE(0xd000, 0xd000) AM_READ_LEGACY(pitnrun_mcu_data_r)
- AM_RANGE(0xf000, 0xf000) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xf000, 0xf000) AM_READ(watchdog_reset_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( pitnrun_sound_map, AS_PROGRAM, 8, pitnrun_state )
@@ -124,7 +124,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pitnrun_sound_io_map, AS_IO, 8, pitnrun_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(soundlatch_clear_w)
+ AM_RANGE(0x00, 0x00) AM_WRITE(soundlatch_clear_w)
AM_RANGE(0x8c, 0x8d) AM_DEVWRITE_LEGACY("ay2", ay8910_address_data_w)
AM_RANGE(0x8e, 0x8f) AM_DEVWRITE_LEGACY("ay1", ay8910_address_data_w)
AM_RANGE(0x8f, 0x8f) AM_DEVREAD_LEGACY("ay1", ay8910_r)
@@ -216,8 +216,8 @@ static const ay8910_interface ay8910_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_NULL,
DEVCB_NULL
};
diff --git a/src/mame/drivers/plygonet.c b/src/mame/drivers/plygonet.c
index e22293ba539..7a9f20bf0d0 100644
--- a/src/mame/drivers/plygonet.c
+++ b/src/mame/drivers/plygonet.c
@@ -519,7 +519,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, polygonet_state )
AM_RANGE(0x600004, 0x600007) AM_WRITE(sound_w)
AM_RANGE(0x600008, 0x60000b) AM_READ(sound_r)
AM_RANGE(0x640000, 0x640003) AM_WRITE(sound_irq_w)
- AM_RANGE(0x680000, 0x680003) AM_WRITE_LEGACY(watchdog_reset32_w)
+ AM_RANGE(0x680000, 0x680003) AM_WRITE(watchdog_reset32_w)
AM_RANGE(0x700000, 0x73ffff) AM_READ(psac_rom_r)
AM_RANGE(0x780000, 0x79ffff) AM_READ(ttl_rom_r)
AM_RANGE(0xff8000, 0xffffff) AM_RAM
@@ -570,9 +570,9 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, polygonet_state )
AM_RANGE(0xe230, 0xe3ff) AM_RAM
AM_RANGE(0xe400, 0xe62f) AM_DEVREADWRITE("konami2", k054539_device, read, write)
AM_RANGE(0xe630, 0xe7ff) AM_RAM
- AM_RANGE(0xf000, 0xf000) AM_WRITE_LEGACY(soundlatch3_w)
- AM_RANGE(0xf002, 0xf002) AM_READ_LEGACY(soundlatch_r)
- AM_RANGE(0xf003, 0xf003) AM_READ_LEGACY(soundlatch2_r)
+ AM_RANGE(0xf000, 0xf000) AM_WRITE(soundlatch3_w)
+ AM_RANGE(0xf002, 0xf002) AM_READ(soundlatch_r)
+ AM_RANGE(0xf003, 0xf003) AM_READ(soundlatch2_r)
AM_RANGE(0xf800, 0xf800) AM_WRITE(sound_bankswitch_w)
AM_RANGE(0xfff1, 0xfff3) AM_WRITENOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pokechmp.c b/src/mame/drivers/pokechmp.c
index 8239adce6da..6d85c17e634 100644
--- a/src/mame/drivers/pokechmp.c
+++ b/src/mame/drivers/pokechmp.c
@@ -136,7 +136,7 @@ static ADDRESS_MAP_START( pokechmp_sound_map, AS_PROGRAM, 8, pokechmp_state )
AM_RANGE(0x1800, 0x1800) AM_WRITENOP /* MSM5205 chip on Pocket Gal, not connected here? */
// AM_RANGE(0x2000, 0x2000) AM_WRITE(pokechmp_sound_bank_w)/ * might still be sound bank */
AM_RANGE(0x2800, 0x2800) AM_DEVREADWRITE("oki", okim6295_device, read, write) // extra
- AM_RANGE(0x3000, 0x3000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r)
// AM_RANGE(0x3400, 0x3400) AM_READ_LEGACY(pokechmp_adpcm_reset_r) /* ? not sure */
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank3")
AM_RANGE(0x8000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/polepos.c b/src/mame/drivers/polepos.c
index d5d257bf1be..e8593152afd 100644
--- a/src/mame/drivers/polepos.c
+++ b/src/mame/drivers/polepos.c
@@ -500,7 +500,7 @@ static ADDRESS_MAP_START( z80_map, AS_PROGRAM, 8, polepos_state )
AM_RANGE(0x9100, 0x9100) AM_MIRROR(0x0eff) AM_DEVREADWRITE_LEGACY("06xx", namco_06xx_ctrl_r, namco_06xx_ctrl_w)
AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x0cff) AM_READ(polepos_ready_r) /* READY */
AM_RANGE(0xa000, 0xa007) AM_MIRROR(0x0cf8) AM_WRITE(polepos_latch_w) /* misc latches */
- AM_RANGE(0xa100, 0xa100) AM_MIRROR(0x0cff) AM_WRITE_LEGACY(watchdog_reset_w) /* Watchdog */
+ AM_RANGE(0xa100, 0xa100) AM_MIRROR(0x0cff) AM_WRITE(watchdog_reset_w) /* Watchdog */
AM_RANGE(0xa200, 0xa200) AM_MIRROR(0x0cff) AM_DEVWRITE_LEGACY("polepos", polepos_engine_sound_lsb_w) /* Car Sound ( Lower Nibble ) */
AM_RANGE(0xa300, 0xa300) AM_MIRROR(0x0cff) AM_DEVWRITE_LEGACY("polepos", polepos_engine_sound_msb_w) /* Car Sound ( Upper Nibble ) */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/poo.c b/src/mame/drivers/poo.c
index ae95074ebf4..c0e9d7a0315 100644
--- a/src/mame/drivers/poo.c
+++ b/src/mame/drivers/poo.c
@@ -322,7 +322,7 @@ static const ay8910_interface ay8910_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("subcpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_DRIVER_MEMBER(poo_state, timer_r),
DEVCB_NULL,
DEVCB_NULL
diff --git a/src/mame/drivers/pooyan.c b/src/mame/drivers/pooyan.c
index a77bf82cebd..d6754f028f5 100644
--- a/src/mame/drivers/pooyan.c
+++ b/src/mame/drivers/pooyan.c
@@ -60,8 +60,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, pooyan_state )
AM_RANGE(0xa0a0, 0xa0a0) AM_MIRROR(0x5e1f) AM_READ_PORT("IN1")
AM_RANGE(0xa0c0, 0xa0c0) AM_MIRROR(0x5e1f) AM_READ_PORT("IN2")
AM_RANGE(0xa0e0, 0xa0e0) AM_MIRROR(0x5e1f) AM_READ_PORT("DSW0")
- AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x5e7f) AM_WRITE_LEGACY(watchdog_reset_w)
- AM_RANGE(0xa100, 0xa100) AM_MIRROR(0x5e7f) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x5e7f) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0xa100, 0xa100) AM_MIRROR(0x5e7f) AM_WRITE(soundlatch_w)
AM_RANGE(0xa180, 0xa180) AM_MIRROR(0x5e78) AM_WRITE(irq_enable_w)
AM_RANGE(0xa181, 0xa181) AM_MIRROR(0x5e78) AM_WRITE_LEGACY(timeplt_sh_irqtrigger_w)
AM_RANGE(0xa183, 0xa183) AM_MIRROR(0x5e78) AM_WRITENOP // ???
diff --git a/src/mame/drivers/portrait.c b/src/mame/drivers/portrait.c
index 9d4f1f9a3cd..476a23cca9b 100644
--- a/src/mame/drivers/portrait.c
+++ b/src/mame/drivers/portrait.c
@@ -122,7 +122,7 @@ static ADDRESS_MAP_START( portrait_map, AS_PROGRAM, 8, portrait_state )
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE_LEGACY(portrait_fgvideo_write) AM_BASE(m_fgvideoram)
AM_RANGE(0x9000, 0x91ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x9200, 0x97ff) AM_RAM
- AM_RANGE(0xa000, 0xa000) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xa000, 0xa000) AM_WRITE(soundlatch_w)
AM_RANGE(0xa010, 0xa010) AM_WRITENOP // ?
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("DSW1")
AM_RANGE(0xa004, 0xa004) AM_READ_PORT("DSW2")
diff --git a/src/mame/drivers/powerins.c b/src/mame/drivers/powerins.c
index 8bf092729c3..70eec824fa3 100644
--- a/src/mame/drivers/powerins.c
+++ b/src/mame/drivers/powerins.c
@@ -114,7 +114,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( powerins_sound_map, AS_PROGRAM, 8, powerins_state )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
// AM_RANGE(0xe000, 0xe000) AM_WRITENOP // ? written only once ?
// AM_RANGE(0xe001, 0xe001) AM_WRITENOP // ?
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ppmast93.c b/src/mame/drivers/ppmast93.c
index 0f881d9a304..661e0526efc 100644
--- a/src/mame/drivers/ppmast93.c
+++ b/src/mame/drivers/ppmast93.c
@@ -196,13 +196,13 @@ static ADDRESS_MAP_START( ppmast93_cpu1_io, AS_IO, 8, ppmast93_state )
AM_RANGE(0x06, 0x06) AM_READ_PORT("DSW1")
AM_RANGE(0x08, 0x08) AM_READ_PORT("DSW2")
- AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x00, 0x00) AM_WRITE(soundlatch_w)
AM_RANGE(0x04, 0x04) AM_WRITE(ppmast93_port4_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( ppmast93_cpu2_map, AS_PROGRAM, 8, ppmast93_state )
AM_RANGE(0x0000, 0xfbff) AM_ROM AM_REGION("sub", 0x10000)
- AM_RANGE(0xfc00, 0xfc00) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xfc00, 0xfc00) AM_READ(soundlatch_r)
AM_RANGE(0xfd00, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/prehisle.c b/src/mame/drivers/prehisle.c
index c1625104771..ee9579bc955 100644
--- a/src/mame/drivers/prehisle.c
+++ b/src/mame/drivers/prehisle.c
@@ -54,7 +54,7 @@ static WRITE8_DEVICE_HANDLER( D7759_upd_reset_w )
static ADDRESS_MAP_START( prehisle_sound_map, AS_PROGRAM, 8, prehisle_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
- AM_RANGE(0xf800, 0xf800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r)
AM_RANGE(0xf800, 0xf800) AM_WRITENOP // ???
ADDRESS_MAP_END
diff --git a/src/mame/drivers/psychic5.c b/src/mame/drivers/psychic5.c
index 826d950a614..617c7f5c697 100644
--- a/src/mame/drivers/psychic5.c
+++ b/src/mame/drivers/psychic5.c
@@ -411,7 +411,7 @@ static ADDRESS_MAP_START( psychic5_main_map, AS_PROGRAM, 8, psychic5_state )
AM_RANGE(0x8000, 0xbfff) AM_RAMBANK("bank1")
AM_RANGE(0xc000, 0xdfff) AM_READWRITE_LEGACY(psychic5_paged_ram_r, psychic5_paged_ram_w)
AM_RANGE(0xe000, 0xefff) AM_RAM
- AM_RANGE(0xf000, 0xf000) AM_RAM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xf000, 0xf000) AM_RAM_WRITE(soundlatch_w)
AM_RANGE(0xf001, 0xf001) AM_READNOP AM_WRITE(psychic5_coin_counter_w)
AM_RANGE(0xf002, 0xf002) AM_READWRITE(psychic5_bankselect_r, psychic5_bankselect_w)
AM_RANGE(0xf003, 0xf003) AM_READWRITE_LEGACY(psychic5_vram_page_select_r, psychic5_vram_page_select_w)
@@ -425,7 +425,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( psychic5_sound_map, AS_PROGRAM, 8, psychic5_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( psychic5_soundport_map, AS_IO, 8, psychic5_state )
@@ -441,7 +441,7 @@ static ADDRESS_MAP_START( bombsa_main_map, AS_PROGRAM, 8, psychic5_state )
AM_RANGE(0xc000, 0xcfff) AM_RAM
/* ports look like the other games */
- AM_RANGE(0xd000, 0xd000) AM_WRITE_LEGACY(soundlatch_w) // confirmed
+ AM_RANGE(0xd000, 0xd000) AM_WRITE(soundlatch_w) // confirmed
AM_RANGE(0xd001, 0xd001) AM_WRITE(bombsa_flipscreen_w)
AM_RANGE(0xd002, 0xd002) AM_READWRITE(psychic5_bankselect_r, bombsa_bankselect_w)
AM_RANGE(0xd003, 0xd003) AM_READWRITE_LEGACY(psychic5_vram_page_select_r, psychic5_vram_page_select_w)
@@ -457,7 +457,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( bombsa_sound_map, AS_PROGRAM, 8, psychic5_state )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
AM_RANGE(0xf000, 0xf000) AM_WRITEONLY // Is this a confirm of some sort?
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pturn.c b/src/mame/drivers/pturn.c
index 80a9f4aa92c..1365284dae6 100644
--- a/src/mame/drivers/pturn.c
+++ b/src/mame/drivers/pturn.c
@@ -342,7 +342,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, pturn_state )
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
- AM_RANGE(0x3000, 0x3000) AM_READ_LEGACY(soundlatch_r) AM_WRITE(nmi_sub_enable_w)
+ AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r) AM_WRITE(nmi_sub_enable_w)
AM_RANGE(0x4000, 0x4000) AM_RAM
AM_RANGE(0x5000, 0x5001) AM_DEVWRITE_LEGACY("ay1", ay8910_address_data_w)
AM_RANGE(0x6000, 0x6001) AM_DEVWRITE_LEGACY("ay2", ay8910_address_data_w)
@@ -474,8 +474,9 @@ static INTERRUPT_GEN( pturn_main_intgen )
static MACHINE_RESET( pturn )
{
+ pturn_state *state = machine.driver_data<pturn_state>();
address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
- soundlatch_clear_w(space,0,0);
+ state->soundlatch_clear_w(*space,0,0);
}
static MACHINE_CONFIG_START( pturn, pturn_state )
diff --git a/src/mame/drivers/punchout.c b/src/mame/drivers/punchout.c
index f2505bb3945..b97cdbb0ec5 100644
--- a/src/mame/drivers/punchout.c
+++ b/src/mame/drivers/punchout.c
@@ -350,8 +350,8 @@ static ADDRESS_MAP_START( punchout_io_map, AS_IO, 8, punchout_state )
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
AM_RANGE(0x00, 0x01) AM_WRITENOP /* the 2A03 #1 is not present */
- AM_RANGE(0x02, 0x02) AM_READ_PORT("DSW2") AM_WRITE_LEGACY(soundlatch_w)
- AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW1") AM_WRITE_LEGACY(soundlatch2_w)
+ AM_RANGE(0x02, 0x02) AM_READ_PORT("DSW2") AM_WRITE(soundlatch_w)
+ AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW1") AM_WRITE(soundlatch2_w)
AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY("vlm", vlm5030_data_w) /* VLM5030 */
// AM_RANGE(0x05, 0x05) AM_WRITENOP /* unused */
// AM_RANGE(0x06, 0x06) AM_WRITENOP
@@ -370,8 +370,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( punchout_sound_map, AS_PROGRAM, 8, punchout_state )
AM_RANGE(0x0000, 0x07ff) AM_RAM
- AM_RANGE(0x4016, 0x4016) AM_READ_LEGACY(soundlatch_r)
- AM_RANGE(0x4017, 0x4017) AM_READ_LEGACY(soundlatch2_r)
+ AM_RANGE(0x4016, 0x4016) AM_READ(soundlatch_r)
+ AM_RANGE(0x4017, 0x4017) AM_READ(soundlatch2_r)
AM_RANGE(0x4000, 0x4017) AM_DEVREADWRITE_LEGACY("nes", nes_psg_r,nes_psg_w)
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pushman.c b/src/mame/drivers/pushman.c
index 74469061e61..7e1e5abd361 100644
--- a/src/mame/drivers/pushman.c
+++ b/src/mame/drivers/pushman.c
@@ -166,7 +166,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, pushman_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, pushman_state )
diff --git a/src/mame/drivers/quantum.c b/src/mame/drivers/quantum.c
index 2d023525e97..2d6e0324575 100644
--- a/src/mame/drivers/quantum.c
+++ b/src/mame/drivers/quantum.c
@@ -139,7 +139,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, quantum_state )
AM_RANGE(0x960000, 0x960001) AM_WRITENOP
AM_RANGE(0x968000, 0x968001) AM_WRITE_LEGACY(avgdvg_reset_word_w)
AM_RANGE(0x970000, 0x970001) AM_WRITE_LEGACY(avgdvg_go_word_w)
- AM_RANGE(0x978000, 0x978001) AM_READNOP AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x978000, 0x978001) AM_READNOP AM_WRITE(watchdog_reset16_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/quasar.c b/src/mame/drivers/quasar.c
index 69de7d623a1..ad40a49fce1 100644
--- a/src/mame/drivers/quasar.c
+++ b/src/mame/drivers/quasar.c
@@ -99,17 +99,20 @@ static WRITE8_HANDLER( quasar_sh_command_w )
// lower nibble = command to I8035
// not necessarily like this, but it seems to work better than direct mapping
// (although schematics has it as direct - but then the schematics are wrong elsewhere to!)
- soundlatch_w(space, 0, (data & 8) + ((data >> 1) & 3) + ((data << 2) & 4));
+ quasar_state *state = space->machine().driver_data<quasar_state>();
+ state->soundlatch_w(*space, 0, (data & 8) + ((data >> 1) & 3) + ((data << 2) & 4));
}
static READ8_HANDLER( quasar_sh_command_r )
{
- return soundlatch_r(space, 0) + (input_port_read(space->machine(), "DSW2") & 0x30);
+ quasar_state *state = space->machine().driver_data<quasar_state>();
+ return state->soundlatch_r(*space, 0) + (input_port_read(space->machine(), "DSW2") & 0x30);
}
static READ8_HANDLER( audio_t1_r )
{
- return (soundlatch_r(space, 0) == 0);
+ quasar_state *state = space->machine().driver_data<quasar_state>();
+ return (state->soundlatch_r(*space, 0) == 0);
}
// memory map taken from the manual
diff --git a/src/mame/drivers/quizpun2.c b/src/mame/drivers/quizpun2.c
index ab82bc0c13a..f011b34c79a 100644
--- a/src/mame/drivers/quizpun2.c
+++ b/src/mame/drivers/quizpun2.c
@@ -393,7 +393,7 @@ static ADDRESS_MAP_START( quizpun2_sound_io_map, AS_IO, 8, quizpun2_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x00 ) AM_WRITENOP // IRQ end
AM_RANGE( 0x20, 0x20 ) AM_WRITENOP // NMI end
- AM_RANGE( 0x40, 0x40 ) AM_READ_LEGACY(soundlatch_r )
+ AM_RANGE( 0x40, 0x40 ) AM_READ(soundlatch_r )
AM_RANGE( 0x60, 0x61 ) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/rallyx.c b/src/mame/drivers/rallyx.c
index f8202893e90..19bbd3c45b9 100644
--- a/src/mame/drivers/rallyx.c
+++ b/src/mame/drivers/rallyx.c
@@ -321,7 +321,7 @@ static ADDRESS_MAP_START( rallyx_map, AS_PROGRAM, 8, rallyx_state )
AM_RANGE(0xa080, 0xa080) AM_READ_PORT("P2")
AM_RANGE(0xa100, 0xa100) AM_READ_PORT("DSW")
AM_RANGE(0xa000, 0xa00f) AM_WRITEONLY AM_BASE(m_radarattr)
- AM_RANGE(0xa080, 0xa080) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xa080, 0xa080) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xa100, 0xa11f) AM_DEVWRITE_LEGACY("namco", pacman_sound_w)
AM_RANGE(0xa130, 0xa130) AM_WRITE_LEGACY(rallyx_scrollx_w)
AM_RANGE(0xa140, 0xa140) AM_WRITE_LEGACY(rallyx_scrolly_w)
@@ -344,8 +344,8 @@ static ADDRESS_MAP_START( jungler_map, AS_PROGRAM, 8, rallyx_state )
AM_RANGE(0xa100, 0xa100) AM_READ_PORT("DSW1")
AM_RANGE(0xa180, 0xa180) AM_READ_PORT("DSW2")
AM_RANGE(0xa000, 0xa00f) AM_MIRROR(0x00f0) AM_WRITEONLY AM_BASE(m_radarattr) // jungler writes to a03x
- AM_RANGE(0xa080, 0xa080) AM_WRITE_LEGACY(watchdog_reset_w)
- AM_RANGE(0xa100, 0xa100) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xa080, 0xa080) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0xa100, 0xa100) AM_WRITE(soundlatch_w)
AM_RANGE(0xa130, 0xa130) AM_WRITE_LEGACY(rallyx_scrollx_w) /* only jungler and tactcian */
AM_RANGE(0xa140, 0xa140) AM_WRITE_LEGACY(rallyx_scrolly_w) /* only jungler and tactcian */
AM_RANGE(0xa180, 0xa187) AM_WRITE(locomotn_latch_w)
diff --git a/src/mame/drivers/rampart.c b/src/mame/drivers/rampart.c
index dd5991b3497..796e82bc919 100644
--- a/src/mame/drivers/rampart.c
+++ b/src/mame/drivers/rampart.c
@@ -155,7 +155,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, rampart_state )
AM_RANGE(0x6c0002, 0x6c0003) AM_MIRROR(0x019ff8) AM_READ_PORT("TRACK1")
AM_RANGE(0x6c0004, 0x6c0005) AM_MIRROR(0x019ff8) AM_READ_PORT("TRACK2")
AM_RANGE(0x6c0006, 0x6c0007) AM_MIRROR(0x019ff8) AM_READ_PORT("TRACK3")
- AM_RANGE(0x726000, 0x726001) AM_MIRROR(0x019ffe) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x726000, 0x726001) AM_MIRROR(0x019ffe) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x7e6000, 0x7e6001) AM_MIRROR(0x019ffe) AM_WRITE_LEGACY(atarigen_scanline_int_ack_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/rastan.c b/src/mame/drivers/rastan.c
index 13a42b0472d..f6dda268a87 100644
--- a/src/mame/drivers/rastan.c
+++ b/src/mame/drivers/rastan.c
@@ -214,7 +214,7 @@ static ADDRESS_MAP_START( rastan_map, AS_PROGRAM, 16, rastan_state )
AM_RANGE(0x390006, 0x390007) AM_READ_PORT("SYSTEM")
AM_RANGE(0x390008, 0x390009) AM_READ_PORT("DSWA")
AM_RANGE(0x39000a, 0x39000b) AM_READ_PORT("DSWB")
- AM_RANGE(0x3c0000, 0x3c0001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x3c0000, 0x3c0001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x3e0000, 0x3e0001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
AM_RANGE(0x3e0002, 0x3e0003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVREADWRITE_LEGACY("pc080sn", pc080sn_word_r, pc080sn_word_w)
diff --git a/src/mame/drivers/relief.c b/src/mame/drivers/relief.c
index 11370a9dd23..dd0cfc326cc 100644
--- a/src/mame/drivers/relief.c
+++ b/src/mame/drivers/relief.c
@@ -160,7 +160,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, relief_state )
AM_RANGE(0x260002, 0x260003) AM_READ_PORT("260002")
AM_RANGE(0x260010, 0x260011) AM_READ_LEGACY(special_port2_r)
AM_RANGE(0x260012, 0x260013) AM_READ_PORT("260012")
- AM_RANGE(0x2a0000, 0x2a0001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x2a0000, 0x2a0001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x3effc0, 0x3effff) AM_READWRITE_LEGACY(relief_atarivc_r, relief_atarivc_w) AM_BASE(m_atarivc_data)
AM_RANGE(0x3f0000, 0x3f1fff) AM_RAM_WRITE_LEGACY(atarigen_playfield2_latched_msb_w) AM_BASE(m_playfield2)
diff --git a/src/mame/drivers/renegade.c b/src/mame/drivers/renegade.c
index edf872f8d0e..a8d4f23184e 100644
--- a/src/mame/drivers/renegade.c
+++ b/src/mame/drivers/renegade.c
@@ -673,7 +673,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( renegade_sound_map, AS_PROGRAM, 8, renegade_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM
- AM_RANGE(0x1000, 0x1000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x1000, 0x1000) AM_READ(soundlatch_r)
AM_RANGE(0x1800, 0x1800) AM_WRITENOP // this gets written the same values as 0x2000
AM_RANGE(0x2000, 0x2000) AM_DEVWRITE_LEGACY("adpcm", adpcm_play_w)
AM_RANGE(0x2800, 0x2801) AM_DEVREADWRITE_LEGACY("ymsnd", ym3526_r,ym3526_w)
diff --git a/src/mame/drivers/retofinv.c b/src/mame/drivers/retofinv.c
index 251d577cda9..edddc9e04f1 100644
--- a/src/mame/drivers/retofinv.c
+++ b/src/mame/drivers/retofinv.c
@@ -117,7 +117,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, retofinv_state )
AM_RANGE(0xc803, 0xc803) AM_WRITE(mcu_reset_w)
// AM_RANGE(0xc804, 0xc804) AM_WRITE(irq1_ack_w) // presumably (meaning memory map is shared with cpu 1)
AM_RANGE(0xc805, 0xc805) AM_WRITE(cpu1_reset_w)
- AM_RANGE(0xd000, 0xd000) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xd000, 0xd000) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xd800, 0xd800) AM_WRITE(soundcommand_w)
AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(retofinv_mcu_r)
AM_RANGE(0xe800, 0xe800) AM_WRITE_LEGACY(retofinv_mcu_w)
@@ -135,7 +135,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, retofinv_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x27ff) AM_RAM
- AM_RANGE(0x4000, 0x4000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x4000, 0x4000) AM_READ(soundlatch_r)
AM_RANGE(0x6000, 0x6000) AM_WRITE(cpu2_m6000_w)
AM_RANGE(0x8000, 0x8000) AM_DEVWRITE_LEGACY("sn1", sn76496_w)
AM_RANGE(0xa000, 0xa000) AM_DEVWRITE_LEGACY("sn2", sn76496_w)
diff --git a/src/mame/drivers/rockrage.c b/src/mame/drivers/rockrage.c
index 3ace50582db..0abaa393433 100644
--- a/src/mame/drivers/rockrage.c
+++ b/src/mame/drivers/rockrage.c
@@ -106,7 +106,7 @@ static ADDRESS_MAP_START( rockrage_map, AS_PROGRAM, 8, rockrage_state )
AM_RANGE(0x2e03, 0x2e03) AM_READ_PORT("DSW2")
AM_RANGE(0x2e40, 0x2e40) AM_READ_PORT("DSW1")
AM_RANGE(0x2e80, 0x2e80) AM_WRITE(rockrage_sh_irqtrigger_w) /* cause interrupt on audio CPU */
- AM_RANGE(0x2ec0, 0x2ec0) AM_WRITE_LEGACY(watchdog_reset_w) /* watchdog reset */
+ AM_RANGE(0x2ec0, 0x2ec0) AM_WRITE(watchdog_reset_w) /* watchdog reset */
AM_RANGE(0x2f00, 0x2f00) AM_WRITE_LEGACY(rockrage_vreg_w) /* ??? */
AM_RANGE(0x2f40, 0x2f40) AM_WRITE(rockrage_bankswitch_w) /* bankswitch control */
AM_RANGE(0x4000, 0x5fff) AM_RAM /* RAM */
@@ -118,7 +118,7 @@ static ADDRESS_MAP_START( rockrage_sound_map, AS_PROGRAM, 8, rockrage_state )
AM_RANGE(0x2000, 0x2000) AM_DEVWRITE_LEGACY("vlm", vlm5030_data_w) /* VLM5030 */
AM_RANGE(0x3000, 0x3000) AM_DEVREAD_LEGACY("vlm", rockrage_VLM5030_busy_r) /* VLM5030 */
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE_LEGACY("vlm", rockrage_speech_w) /* VLM5030 */
- AM_RANGE(0x5000, 0x5000) AM_READ_LEGACY(soundlatch_r) /* soundlatch_r */
+ AM_RANGE(0x5000, 0x5000) AM_READ(soundlatch_r) /* soundlatch_r */
AM_RANGE(0x6000, 0x6001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r,ym2151_w) /* YM 2151 */
AM_RANGE(0x7000, 0x77ff) AM_RAM /* RAM */
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */
diff --git a/src/mame/drivers/rocnrope.c b/src/mame/drivers/rocnrope.c
index 08ebdaaf6a6..31014cc0c62 100644
--- a/src/mame/drivers/rocnrope.c
+++ b/src/mame/drivers/rocnrope.c
@@ -55,14 +55,14 @@ static ADDRESS_MAP_START( rocnrope_map, AS_PROGRAM, 8, rocnrope_state )
AM_RANGE(0x4800, 0x4bff) AM_RAM_WRITE_LEGACY(rocnrope_colorram_w) AM_BASE(m_colorram)
AM_RANGE(0x4c00, 0x4fff) AM_RAM_WRITE_LEGACY(rocnrope_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0x5000, 0x5fff) AM_RAM
- AM_RANGE(0x8000, 0x8000) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x8000, 0x8000) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x8080, 0x8080) AM_WRITE_LEGACY(rocnrope_flipscreen_w)
AM_RANGE(0x8081, 0x8081) AM_WRITE_LEGACY(timeplt_sh_irqtrigger_w) /* cause interrupt on audio CPU */
AM_RANGE(0x8082, 0x8082) AM_WRITENOP /* interrupt acknowledge??? */
AM_RANGE(0x8083, 0x8083) AM_WRITENOP /* Coin counter 1 */
AM_RANGE(0x8084, 0x8084) AM_WRITENOP /* Coin counter 2 */
AM_RANGE(0x8087, 0x8087) AM_WRITE(irq_mask_w)
- AM_RANGE(0x8100, 0x8100) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x8100, 0x8100) AM_WRITE(soundlatch_w)
AM_RANGE(0x8182, 0x818d) AM_WRITE(rocnrope_interrupt_vector_w)
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/rohga.c b/src/mame/drivers/rohga.c
index 7c46c5d2538..3750c7f736c 100644
--- a/src/mame/drivers/rohga.c
+++ b/src/mame/drivers/rohga.c
@@ -266,7 +266,7 @@ static ADDRESS_MAP_START( rohga_sound_map, AS_PROGRAM, 8, rohga_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r,ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
- AM_RANGE(0x140000, 0x140001) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
diff --git a/src/mame/drivers/rollerg.c b/src/mame/drivers/rollerg.c
index 1b586196fcb..3d58e13976b 100644
--- a/src/mame/drivers/rollerg.c
+++ b/src/mame/drivers/rollerg.c
@@ -79,7 +79,7 @@ READ8_MEMBER(rollerg_state::pip_r)
static ADDRESS_MAP_START( rollerg_map, AS_PROGRAM, 8, rollerg_state )
AM_RANGE(0x0010, 0x0010) AM_WRITE(rollerg_0010_w)
- AM_RANGE(0x0020, 0x0020) AM_READWRITE_LEGACY(watchdog_reset_r,watchdog_reset_w)
+ AM_RANGE(0x0020, 0x0020) AM_READWRITE(watchdog_reset_r,watchdog_reset_w)
AM_RANGE(0x0030, 0x0031) AM_DEVREADWRITE_LEGACY("k053260", rollerg_sound_r, k053260_w) /* K053260 */
AM_RANGE(0x0040, 0x0040) AM_WRITE(soundirq_w)
AM_RANGE(0x0050, 0x0050) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/rollrace.c b/src/mame/drivers/rollrace.c
index 1e19a359d0c..faec223c08d 100644
--- a/src/mame/drivers/rollrace.c
+++ b/src/mame/drivers/rollrace.c
@@ -43,7 +43,7 @@ static ADDRESS_MAP_START( rollrace_map, AS_PROGRAM, 8, rollrace_state )
AM_RANGE(0xd900, 0xd900) AM_READWRITE(ra_fake_d800_r,ra_fake_d800_w) /* protection ??*/
AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_BASE(m_videoram)
AM_RANGE(0xe400, 0xe47f) AM_RAM AM_BASE(m_colorram)
- AM_RANGE(0xe800, 0xe800) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xe800, 0xe800) AM_WRITE(soundlatch_w)
AM_RANGE(0xec00, 0xec0f) AM_NOP /* Analog sound effects ?? ec00 sound enable ?*/
AM_RANGE(0xf000, 0xf0ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0xf400, 0xf400) AM_WRITE_LEGACY(rollrace_backgroundcolor_w)
@@ -64,7 +64,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( rollrace_sound_map, AS_PROGRAM, 8, rollrace_state )
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x2000, 0x2fff) AM_RAM
- AM_RANGE(0x3000, 0x3000) AM_READ_LEGACY(soundlatch_r) AM_WRITE(sound_nmi_mask_w)
+ AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r) AM_WRITE(sound_nmi_mask_w)
AM_RANGE(0x4000, 0x4001) AM_DEVWRITE_LEGACY("ay1", ay8910_address_data_w)
AM_RANGE(0x5000, 0x5001) AM_DEVWRITE_LEGACY("ay2", ay8910_address_data_w)
AM_RANGE(0x6000, 0x6001) AM_DEVWRITE_LEGACY("ay3", ay8910_address_data_w)
diff --git a/src/mame/drivers/roul.c b/src/mame/drivers/roul.c
index ae13973c305..8c11bd5ed73 100644
--- a/src/mame/drivers/roul.c
+++ b/src/mame/drivers/roul.c
@@ -202,7 +202,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_cpu_io_map, AS_IO, 8, roul_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r)
AM_RANGE(0x00, 0x01) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_data_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/royalmah.c b/src/mame/drivers/royalmah.c
index cc7bf862b28..2c74944cec3 100644
--- a/src/mame/drivers/royalmah.c
+++ b/src/mame/drivers/royalmah.c
@@ -788,7 +788,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( jansou_sub_iomap, AS_IO, 8, royalmah_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch_r) AM_DEVWRITE_LEGACY("dac", dac_w )
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r) AM_DEVWRITE_LEGACY("dac", dac_w )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/rungun.c b/src/mame/drivers/rungun.c
index 0f84cbd0db2..e82185e549e 100644
--- a/src/mame/drivers/rungun.c
+++ b/src/mame/drivers/rungun.c
@@ -247,8 +247,8 @@ static ADDRESS_MAP_START( rungun_sound_map, AS_PROGRAM, 8, rungun_state )
AM_RANGE(0xe400, 0xe62f) AM_DEVREADWRITE("k054539_1", k054539_device, read, write)
AM_RANGE(0xe630, 0xe7ff) AM_RAM
AM_RANGE(0xf000, 0xf000) AM_WRITE(sound_status_w)
- AM_RANGE(0xf002, 0xf002) AM_READ_LEGACY(soundlatch_r)
- AM_RANGE(0xf003, 0xf003) AM_READ_LEGACY(soundlatch2_r)
+ AM_RANGE(0xf002, 0xf002) AM_READ(soundlatch_r)
+ AM_RANGE(0xf003, 0xf003) AM_READ(soundlatch2_r)
AM_RANGE(0xf800, 0xf800) AM_WRITE(z80ctrl_w)
AM_RANGE(0xfff0, 0xfff3) AM_WRITENOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sandscrp.c b/src/mame/drivers/sandscrp.c
index a37892eab0e..cf26de89896 100644
--- a/src/mame/drivers/sandscrp.c
+++ b/src/mame/drivers/sandscrp.c
@@ -211,7 +211,7 @@ static READ16_HANDLER( sandscrp_soundlatch_word_r )
{
sandscrp_state *state = space->machine().driver_data<sandscrp_state>();
state->m_latch2_full = 0;
- return soundlatch2_r(space,0);
+ return state->soundlatch2_r(*space,0);
}
static WRITE16_HANDLER( sandscrp_soundlatch_word_w )
@@ -220,7 +220,7 @@ static WRITE16_HANDLER( sandscrp_soundlatch_word_w )
if (ACCESSING_BITS_0_7)
{
state->m_latch1_full = 1;
- soundlatch_w(space, 0, data & 0xff);
+ state->soundlatch_w(*space, 0, data & 0xff);
cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
device_spin_until_time(&space->device(), attotime::from_usec(100)); // Allow the other cpu to reply
}
@@ -244,7 +244,7 @@ static ADDRESS_MAP_START( sandscrp, AS_PROGRAM, 16, sandscrp_state )
AM_RANGE(0xb00002, 0xb00003) AM_READ_PORT("P2")
AM_RANGE(0xb00004, 0xb00005) AM_READ_PORT("SYSTEM")
AM_RANGE(0xb00006, 0xb00007) AM_READ_PORT("UNK")
- AM_RANGE(0xec0000, 0xec0001) AM_READ_LEGACY(watchdog_reset16_r) //
+ AM_RANGE(0xec0000, 0xec0001) AM_READ(watchdog_reset16_r) //
AM_RANGE(0x800000, 0x800001) AM_READ_LEGACY(sandscrp_irq_cause_r) // IRQ Cause
AM_RANGE(0xe00000, 0xe00001) AM_READWRITE_LEGACY(sandscrp_soundlatch_word_r, sandscrp_soundlatch_word_w) // From/To Sound CPU
AM_RANGE(0xe40000, 0xe40001) AM_READWRITE_LEGACY(sandscrp_latchstatus_word_r, sandscrp_latchstatus_word_w) //
@@ -280,14 +280,14 @@ static READ8_HANDLER( sandscrp_soundlatch_r )
{
sandscrp_state *state = space->machine().driver_data<sandscrp_state>();
state->m_latch1_full = 0;
- return soundlatch_r(space,0);
+ return state->soundlatch_r(*space,0);
}
static WRITE8_HANDLER( sandscrp_soundlatch_w )
{
sandscrp_state *state = space->machine().driver_data<sandscrp_state>();
state->m_latch2_full = 1;
- soundlatch2_w(space,0,data);
+ state->soundlatch2_w(*space,0,data);
}
static ADDRESS_MAP_START( sandscrp_soundmem, AS_PROGRAM, 8, sandscrp_state )
diff --git a/src/mame/drivers/sauro.c b/src/mame/drivers/sauro.c
index 046b4d7591f..68244066c83 100644
--- a/src/mame/drivers/sauro.c
+++ b/src/mame/drivers/sauro.c
@@ -195,7 +195,7 @@ static ADDRESS_MAP_START( sauro_io_map, AS_IO, 8, sauro_state )
AM_RANGE(0xcc, 0xcc) AM_WRITENOP /* same as 0xca */
AM_RANGE(0xcd, 0xcd) AM_WRITENOP /* same as 0xcb */
AM_RANGE(0xce, 0xce) AM_WRITENOP /* only written at startup */
- AM_RANGE(0xe0, 0xe0) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xe0, 0xe0) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sauro_sound_map, AS_PROGRAM, 8, sauro_state )
@@ -220,13 +220,13 @@ static ADDRESS_MAP_START( trckydoc_map, AS_PROGRAM, 8, sauro_state )
AM_RANGE(0xf810, 0xf810) AM_READ_PORT("P1")
AM_RANGE(0xf818, 0xf818) AM_READ_PORT("P2")
AM_RANGE(0xf820, 0xf821) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
- AM_RANGE(0xf828, 0xf828) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xf828, 0xf828) AM_READ(watchdog_reset_r)
AM_RANGE(0xf830, 0xf830) AM_WRITE_LEGACY(tecfri_scroll_bg_w)
AM_RANGE(0xf838, 0xf838) AM_WRITENOP /* only written at startup */
AM_RANGE(0xf839, 0xf839) AM_WRITE(flip_screen_w)
AM_RANGE(0xf83a, 0xf83a) AM_WRITE(sauro_coin1_w)
AM_RANGE(0xf83b, 0xf83b) AM_WRITE(sauro_coin2_w)
- AM_RANGE(0xf83c, 0xf83c) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xf83c, 0xf83c) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xf83f, 0xf83f) AM_WRITENOP /* only written at startup */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sbasketb.c b/src/mame/drivers/sbasketb.c
index bae627ce152..af287a9dbb5 100644
--- a/src/mame/drivers/sbasketb.c
+++ b/src/mame/drivers/sbasketb.c
@@ -72,14 +72,14 @@ static ADDRESS_MAP_START( sbasketb_map, AS_PROGRAM, 8, sbasketb_state )
AM_RANGE(0x3400, 0x37ff) AM_RAM_WRITE_LEGACY(sbasketb_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0x3800, 0x39ff) AM_RAM AM_BASE(m_spriteram)
AM_RANGE(0x3a00, 0x3bff) AM_RAM /* Probably unused, but initialized */
- AM_RANGE(0x3c00, 0x3c00) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x3c00, 0x3c00) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x3c10, 0x3c10) AM_READNOP /* ???? */
AM_RANGE(0x3c20, 0x3c20) AM_WRITEONLY AM_BASE(m_palettebank)
AM_RANGE(0x3c80, 0x3c80) AM_WRITE_LEGACY(sbasketb_flipscreen_w)
AM_RANGE(0x3c81, 0x3c81) AM_WRITE(irq_mask_w)
AM_RANGE(0x3c83, 0x3c84) AM_WRITE(sbasketb_coin_counter_w)
AM_RANGE(0x3c85, 0x3c85) AM_WRITEONLY AM_BASE(m_spriteram_select)
- AM_RANGE(0x3d00, 0x3d00) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x3d00, 0x3d00) AM_WRITE(soundlatch_w)
AM_RANGE(0x3d80, 0x3d80) AM_WRITE(sbasketb_sh_irqtrigger_w)
AM_RANGE(0x3e00, 0x3e00) AM_READ_PORT("SYSTEM")
AM_RANGE(0x3e01, 0x3e01) AM_READ_PORT("P1")
@@ -94,7 +94,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sbasketb_sound_map, AS_PROGRAM, 8, sbasketb_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
- AM_RANGE(0x6000, 0x6000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0x8000) AM_READ_LEGACY(hyperspt_sh_timer_r)
AM_RANGE(0xa000, 0xa000) AM_DEVWRITE_LEGACY("vlm", vlm5030_data_w) /* speech data */
AM_RANGE(0xc000, 0xdfff) AM_DEVWRITE_LEGACY("vlm", hyperspt_sound_w) /* speech and output controll */
diff --git a/src/mame/drivers/sbowling.c b/src/mame/drivers/sbowling.c
index dab8ebcc959..720f2721348 100644
--- a/src/mame/drivers/sbowling.c
+++ b/src/mame/drivers/sbowling.c
@@ -231,7 +231,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( port_map, AS_IO, 8, sbowling_state )
- AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(watchdog_reset_w)
AM_RANGE(0x01, 0x01) AM_READWRITE(controls_r, pix_data_w)
AM_RANGE(0x02, 0x02) AM_READWRITE(pix_data_r, pix_shift_w)
AM_RANGE(0x03, 0x03) AM_READ_PORT("IN1") AM_WRITENOP
diff --git a/src/mame/drivers/sbrkout.c b/src/mame/drivers/sbrkout.c
index 59eb0bb1561..689d405b221 100644
--- a/src/mame/drivers/sbrkout.c
+++ b/src/mame/drivers/sbrkout.c
@@ -369,7 +369,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, sbrkout_state )
AM_RANGE(0x0c50, 0x0c51) AM_MIRROR(0x000e) AM_WRITE(pot_mask1_w)
AM_RANGE(0x0c60, 0x0c61) AM_MIRROR(0x000e) AM_WRITE(pot_mask2_w)
AM_RANGE(0x0c70, 0x0c71) AM_MIRROR(0x000e) AM_WRITE(coincount_w)
- AM_RANGE(0x0c80, 0x0c80) AM_MIRROR(0x007f) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x0c80, 0x0c80) AM_MIRROR(0x007f) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x0e00, 0x0e00) AM_MIRROR(0x007f) AM_WRITE(irq_ack_w)
AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x03ff) AM_READ(sync2_r)
AM_RANGE(0x2800, 0x3fff) AM_ROM
diff --git a/src/mame/drivers/scobra.c b/src/mame/drivers/scobra.c
index 2a20ffe8b0e..035873c66ec 100644
--- a/src/mame/drivers/scobra.c
+++ b/src/mame/drivers/scobra.c
@@ -86,7 +86,7 @@ static const ay8910_interface hustler_ay8910_interface =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_HANDLER(frogger_portB_r),
DEVCB_NULL,
DEVCB_NULL
@@ -129,7 +129,7 @@ static ADDRESS_MAP_START( type1_map, AS_PROGRAM, 8, scobra_state )
AM_RANGE(0xa804, 0xa804) AM_WRITE_LEGACY(galaxold_stars_enable_w)
AM_RANGE(0xa806, 0xa806) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0xa807, 0xa807) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0xb000, 0xb000) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xb000, 0xb000) AM_READ(watchdog_reset_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( type2_map, AS_PROGRAM, 8, scobra_state )
@@ -141,7 +141,7 @@ static ADDRESS_MAP_START( type2_map, AS_PROGRAM, 8, scobra_state )
AM_RANGE(0x8880, 0x88ff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE_LEGACY(galaxold_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0x9400, 0x97ff) AM_READWRITE_LEGACY(galaxold_videoram_r, galaxold_videoram_w) /* mirror */
- AM_RANGE(0x9800, 0x9800) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x9800, 0x9800) AM_READ(watchdog_reset_r)
AM_RANGE(0xa000, 0xa00f) AM_DEVREADWRITE_LEGACY("ppi8255_0", scobra_type2_ppi8255_r, scobra_type2_ppi8255_w)
AM_RANGE(0xa800, 0xa80f) AM_DEVREADWRITE_LEGACY("ppi8255_1", scobra_type2_ppi8255_r, scobra_type2_ppi8255_w)
AM_RANGE(0xb000, 0xb000) AM_WRITE_LEGACY(galaxold_stars_enable_w)
@@ -164,7 +164,7 @@ static ADDRESS_MAP_START( hustler_map, AS_PROGRAM, 8, scobra_state )
AM_RANGE(0xa804, 0xa804) AM_WRITE_LEGACY(galaxold_nmi_enable_w)
AM_RANGE(0xa806, 0xa806) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
AM_RANGE(0xa80e, 0xa80e) AM_WRITENOP /* coin counters */
- AM_RANGE(0xb800, 0xb800) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r)
AM_RANGE(0xd000, 0xd01f) AM_DEVREADWRITE_LEGACY("ppi8255_0", hustler_ppi8255_r, hustler_ppi8255_w)
AM_RANGE(0xe000, 0xe01f) AM_DEVREADWRITE_LEGACY("ppi8255_1", hustler_ppi8255_r, hustler_ppi8255_w)
ADDRESS_MAP_END
@@ -181,7 +181,7 @@ static ADDRESS_MAP_START( hustlerb_map, AS_PROGRAM, 8, scobra_state )
AM_RANGE(0xa802, 0xa802) AM_WRITENOP /* coin counters */
AM_RANGE(0xa806, 0xa806) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
AM_RANGE(0xa807, 0xa807) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
- AM_RANGE(0xb000, 0xb000) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xb000, 0xb000) AM_READ(watchdog_reset_r)
AM_RANGE(0xc100, 0xc103) AM_DEVREADWRITE_LEGACY("ppi8255_0", ppi8255_r, ppi8255_w)
AM_RANGE(0xc200, 0xc203) AM_DEVREADWRITE_LEGACY("ppi8255_1", ppi8255_r, ppi8255_w)
ADDRESS_MAP_END
@@ -201,7 +201,7 @@ static ADDRESS_MAP_START( mimonkey_map, AS_PROGRAM, 8, scobra_state )
AM_RANGE(0xa800, 0xa802) AM_WRITE_LEGACY(galaxold_gfxbank_w)
AM_RANGE(0xa806, 0xa806) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0xa807, 0xa807) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0xb000, 0xb000) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xb000, 0xb000) AM_READ(watchdog_reset_r)
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -644,7 +644,7 @@ static const ay8910_interface scobra_ay8910_interface_2 =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_HANDLER(scramble_portB_r),
DEVCB_NULL,
DEVCB_NULL
diff --git a/src/mame/drivers/scotrsht.c b/src/mame/drivers/scotrsht.c
index 6ef12fd50b5..97b1ffc40c1 100644
--- a/src/mame/drivers/scotrsht.c
+++ b/src/mame/drivers/scotrsht.c
@@ -80,14 +80,14 @@ static ADDRESS_MAP_START( scotrsht_map, AS_PROGRAM, 8, scotrsht_state )
AM_RANGE(0x3301, 0x3301) AM_READ_PORT("P1")
AM_RANGE(0x3302, 0x3302) AM_READ_PORT("P2")
AM_RANGE(0x3303, 0x3303) AM_READ_PORT("DSW1")
- AM_RANGE(0x3300, 0x3300) AM_WRITE_LEGACY(watchdog_reset_w) /* watchdog */
+ AM_RANGE(0x3300, 0x3300) AM_WRITE(watchdog_reset_w) /* watchdog */
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( scotrsht_sound_map, AS_PROGRAM, 8, scotrsht_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
- AM_RANGE(0x8000, 0x8000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x8000, 0x8000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( scotrsht_sound_port, AS_IO, 8, scotrsht_state )
diff --git a/src/mame/drivers/scramble.c b/src/mame/drivers/scramble.c
index 95eb8ff42dd..46af29a0a80 100644
--- a/src/mame/drivers/scramble.c
+++ b/src/mame/drivers/scramble.c
@@ -51,8 +51,8 @@ static ADDRESS_MAP_START( scramble_map, AS_PROGRAM, 8, scramble_state )
AM_RANGE(0x6804, 0x6804) AM_WRITE_LEGACY(galaxold_stars_enable_w)
AM_RANGE(0x6806, 0x6806) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0x6807, 0x6807) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0x7000, 0x7000) AM_READ_LEGACY(watchdog_reset_r)
- AM_RANGE(0x7800, 0x7800) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x7000, 0x7000) AM_READ(watchdog_reset_r)
+ AM_RANGE(0x7800, 0x7800) AM_READ(watchdog_reset_r)
AM_RANGE(0x8100, 0x8103) AM_DEVREADWRITE_LEGACY("ppi8255_0", ppi8255_r, ppi8255_w)
AM_RANGE(0x8110, 0x8113) AM_DEVREAD_LEGACY("ppi8255_0", ppi8255_r) /* mirror for Frog */
AM_RANGE(0x8200, 0x8203) AM_DEVREADWRITE_LEGACY("ppi8255_1", ppi8255_r, ppi8255_w)
@@ -82,7 +82,7 @@ static ADDRESS_MAP_START( turpins_map, AS_PROGRAM, 8, scramble_state )
// AM_RANGE(0x8100, 0x8103) AM_WRITE_LEGACY(ppi8255_0_w)
// AM_RANGE(0x8200, 0x8203) AM_WRITE_LEGACY(ppi8255_1_w)
- AM_RANGE(0xb800, 0xb800) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r)
// AM_RANGE(0x8100, 0x8103) AM_READ_LEGACY(ppi8255_0_r)
// AM_RANGE(0x8200, 0x8203) AM_READ_LEGACY(ppi8255_1_r)
@@ -103,7 +103,7 @@ static ADDRESS_MAP_START( ckongs_map, AS_PROGRAM, 8, scramble_state )
AM_RANGE(0xa802, 0xa802) AM_WRITE_LEGACY(galaxold_coin_counter_w)
AM_RANGE(0xa806, 0xa806) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0xa807, 0xa807) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0xb000, 0xb000) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xb000, 0xb000) AM_READ(watchdog_reset_r)
ADDRESS_MAP_END
@@ -133,7 +133,7 @@ static ADDRESS_MAP_START( mars_map, AS_PROGRAM, 8, scramble_state )
AM_RANGE(0x6808, 0x6808) AM_WRITE_LEGACY(galaxold_coin_counter_0_w)
AM_RANGE(0x6809, 0x6809) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0x680b, 0x680b) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0x7000, 0x7000) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x7000, 0x7000) AM_READ(watchdog_reset_r)
AM_RANGE(0x7000, 0x7000) AM_READNOP
AM_RANGE(0x8100, 0x810f) AM_DEVREADWRITE_LEGACY("ppi8255_0", mars_ppi8255_r, mars_ppi8255_w)
AM_RANGE(0x8200, 0x820f) AM_DEVREADWRITE_LEGACY("ppi8255_1", mars_ppi8255_r, mars_ppi8255_w)
@@ -155,7 +155,7 @@ static ADDRESS_MAP_START( newsin7_map, AS_PROGRAM, 8, scramble_state )
AM_RANGE(0x6808, 0x6808) AM_WRITE_LEGACY(galaxold_coin_counter_0_w)
AM_RANGE(0x6809, 0x6809) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0x680b, 0x680b) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0x7000, 0x7000) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x7000, 0x7000) AM_READ(watchdog_reset_r)
AM_RANGE(0x8200, 0x820f) AM_DEVREADWRITE_LEGACY("ppi8255_1", mars_ppi8255_r, mars_ppi8255_w)
AM_RANGE(0xa000, 0xafff) AM_ROM
AM_RANGE(0xc100, 0xc10f) AM_DEVREADWRITE_LEGACY("ppi8255_0", mars_ppi8255_r, mars_ppi8255_w)
@@ -176,7 +176,7 @@ static ADDRESS_MAP_START( mrkougar_map, AS_PROGRAM, 8, scramble_state )
AM_RANGE(0x6808, 0x6808) AM_WRITE_LEGACY(galaxold_coin_counter_0_w)
AM_RANGE(0x6809, 0x6809) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0x680b, 0x680b) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0x7000, 0x7000) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x7000, 0x7000) AM_READ(watchdog_reset_r)
AM_RANGE(0x8100, 0x810f) AM_DEVREADWRITE_LEGACY("ppi8255_0", mars_ppi8255_r, mars_ppi8255_w)
AM_RANGE(0x8200, 0x820f) AM_DEVREADWRITE_LEGACY("ppi8255_1", mars_ppi8255_r, mars_ppi8255_w)
ADDRESS_MAP_END
@@ -197,8 +197,8 @@ static ADDRESS_MAP_START( hotshock_map, AS_PROGRAM, 8, scramble_state )
AM_RANGE(0x6005, 0x6005) AM_WRITE_LEGACY(galaxold_coin_counter_0_w)
AM_RANGE(0x6006, 0x6006) AM_WRITE_LEGACY(galaxold_gfxbank_w)
AM_RANGE(0x6801, 0x6801) AM_WRITE_LEGACY(galaxold_nmi_enable_w)
- AM_RANGE(0x7000, 0x7000) AM_WRITE_LEGACY(watchdog_reset_w)
- AM_RANGE(0x8000, 0x8000) AM_READ_PORT("IN0") AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x7000, 0x7000) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0x8000, 0x8000) AM_READ_PORT("IN0") AM_WRITE(soundlatch_w)
AM_RANGE(0x8001, 0x8001) AM_READ_PORT("IN1")
AM_RANGE(0x8002, 0x8002) AM_READ_PORT("IN2")
AM_RANGE(0x8003, 0x8003) AM_READ_PORT("IN3")
@@ -216,8 +216,8 @@ static ADDRESS_MAP_START( hunchbks_map, AS_PROGRAM, 8, scramble_state )
AM_RANGE(0x1500, 0x1503) AM_DEVREADWRITE_LEGACY("ppi8255_0", ppi8255_r, ppi8255_w)
AM_RANGE(0x1606, 0x1606) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0x1607, 0x1607) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0x1680, 0x1680) AM_READ_LEGACY(watchdog_reset_r)
- AM_RANGE(0x1780, 0x1780) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x1680, 0x1680) AM_READ(watchdog_reset_r)
+ AM_RANGE(0x1780, 0x1780) AM_READ(watchdog_reset_r)
AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE_LEGACY(galaxold_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0x1c00, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x2fff) AM_ROM
@@ -242,7 +242,7 @@ static ADDRESS_MAP_START( mimonscr_map, AS_PROGRAM, 8, scramble_state )
AM_RANGE(0x6800, 0x6802) AM_WRITE_LEGACY(galaxold_gfxbank_w)
AM_RANGE(0x6806, 0x6806) AM_WRITE_LEGACY(galaxold_flip_screen_x_w)
AM_RANGE(0x6807, 0x6807) AM_WRITE_LEGACY(galaxold_flip_screen_y_w)
- AM_RANGE(0x7000, 0x7000) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x7000, 0x7000) AM_READ(watchdog_reset_r)
AM_RANGE(0x8100, 0x8103) AM_DEVREADWRITE_LEGACY("ppi8255_0", ppi8255_r, ppi8255_w)
AM_RANGE(0x8200, 0x8203) AM_DEVREADWRITE_LEGACY("ppi8255_1", ppi8255_r, ppi8255_w)
AM_RANGE(0xc000, 0xffff) AM_ROM
@@ -264,9 +264,9 @@ static ADDRESS_MAP_START( ad2083_map, AS_PROGRAM, 8, scramble_state )
AM_RANGE(0x6805, 0x6805) AM_WRITE_LEGACY(galaxold_coin_counter_1_w)
AM_RANGE(0x6806, 0x6806) AM_WRITE_LEGACY(scrambold_background_red_w)
AM_RANGE(0x6807, 0x6807) AM_WRITE_LEGACY(scrambold_background_green_w)
- AM_RANGE(0x8000, 0x8000) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x8000, 0x8000) AM_WRITE(soundlatch_w)
AM_RANGE(0x9000, 0x9000) AM_WRITE_LEGACY(hotshock_sh_irqtrigger_w)
- AM_RANGE(0x7000, 0x7000) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x7000, 0x7000) AM_READ(watchdog_reset_r)
AM_RANGE(0x8000, 0x8000) AM_READ_PORT("IN0")
AM_RANGE(0x8001, 0x8001) AM_READ_PORT("IN1")
AM_RANGE(0x8002, 0x8002) AM_READ_PORT("IN2")
@@ -1152,7 +1152,7 @@ static const ay8910_interface scramble_ay8910_interface_2 =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_HANDLER(scramble_portB_r),
DEVCB_NULL,
DEVCB_NULL
diff --git a/src/mame/drivers/segag80r.c b/src/mame/drivers/segag80r.c
index 5915959791b..cbdd0636373 100644
--- a/src/mame/drivers/segag80r.c
+++ b/src/mame/drivers/segag80r.c
@@ -285,8 +285,9 @@ WRITE8_MEMBER(segag80r_state::coin_count_w)
static WRITE8_DEVICE_HANDLER( sindbadm_soundport_w )
{
+ segag80r_state *state = device->machine().driver_data<segag80r_state>();
address_space *space = device->machine().device("maincpu")->memory().space(AS_PROGRAM);
- soundlatch_w(space, 0, data);
+ state->soundlatch_w(*space, 0, data);
cputag_set_input_line(device->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
device->machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(50));
}
@@ -382,7 +383,7 @@ static ADDRESS_MAP_START( sindbadm_sound_map, AS_PROGRAM, 8, segag80r_state )
AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x1800) AM_RAM
AM_RANGE(0xa000, 0xa003) AM_MIRROR(0x1ffc) AM_DEVWRITE_LEGACY("sn1", sindbadm_SN76496_w)
AM_RANGE(0xc000, 0xc003) AM_MIRROR(0x1ffc) AM_DEVWRITE_LEGACY("sn2", sindbadm_SN76496_w)
- AM_RANGE(0xe000, 0xe000) AM_MIRROR(0x1fff) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_MIRROR(0x1fff) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/segahang.c b/src/mame/drivers/segahang.c
index 8f04923faa7..14f00d73ff2 100644
--- a/src/mame/drivers/segahang.c
+++ b/src/mame/drivers/segahang.c
@@ -290,7 +290,7 @@ static WRITE8_DEVICE_HANDLER( sound_latch_w )
{
segas1x_state *state = device->machine().driver_data<segas1x_state>();
address_space *space = state->m_maincpu->memory().space(AS_PROGRAM);
- soundlatch_w(space, offset, data);
+ state->soundlatch_w(*space, offset, data);
}
@@ -417,7 +417,7 @@ static READ8_HANDLER( sound_data_r )
/* assert ACK */
ppi8255_set_port_c(state->m_ppi8255_1, 0x00);
- return soundlatch_r(space, offset);
+ return state->soundlatch_r(*space, offset);
}
diff --git a/src/mame/drivers/segaorun.c b/src/mame/drivers/segaorun.c
index adfaf4cbed7..6bdf97cce6a 100644
--- a/src/mame/drivers/segaorun.c
+++ b/src/mame/drivers/segaorun.c
@@ -369,7 +369,7 @@ static TIMER_CALLBACK( delayed_sound_data_w )
{
segas1x_state *state = machine.driver_data<segas1x_state>();
address_space *space = state->m_maincpu->memory().space(AS_PROGRAM);
- soundlatch_w(space, 0, param);
+ state->soundlatch_w(*space, 0, param);
device_set_input_line(state->m_soundcpu, INPUT_LINE_NMI, ASSERT_LINE);
}
@@ -385,7 +385,7 @@ static READ8_HANDLER( sound_data_r )
segas1x_state *state = space->machine().driver_data<segas1x_state>();
device_set_input_line(state->m_soundcpu, INPUT_LINE_NMI, CLEAR_LINE);
- return soundlatch_r(space, offset);
+ return state->soundlatch_r(*space, offset);
}
@@ -673,7 +673,7 @@ static READ16_HANDLER( outrun_custom_io_r )
}
case 0x60/2:
- return watchdog_reset_r(space,0);
+ return state->watchdog_reset_r(*space,0);
}
logerror("%06X:outrun_custom_io_r - unknown read access to address %04X\n", cpu_get_pc(&space->device()), offset * 2);
@@ -709,7 +709,7 @@ static WRITE16_HANDLER( outrun_custom_io_w )
return;
case 0x60/2:
- watchdog_reset_w(space,0,0);
+ state->watchdog_reset_w(*space,0,0);
return;
case 0x70/2:
@@ -771,7 +771,7 @@ static WRITE16_HANDLER( shangon_custom_io_w )
return;
case 0x3000/2:
- watchdog_reset_w(space, 0, 0);
+ state->watchdog_reset_w(*space, 0, 0);
return;
case 0x3020/2:
diff --git a/src/mame/drivers/segas16a.c b/src/mame/drivers/segas16a.c
index f390cfcb0db..bc4bed3329c 100644
--- a/src/mame/drivers/segas16a.c
+++ b/src/mame/drivers/segas16a.c
@@ -194,7 +194,7 @@ static const ppi8255_interface single_ppi_intf =
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
- DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, soundlatch_w),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_w),
DEVCB_HANDLER(video_control_w),
DEVCB_HANDLER(tilemap_sound_w)
};
@@ -433,7 +433,7 @@ static READ8_HANDLER( sound_data_r )
/* assert ACK */
ppi8255_set_port_c(state->m_ppi8255, 0x00);
- return soundlatch_r(space, offset);
+ return state->soundlatch_r(*space, offset);
}
@@ -953,7 +953,7 @@ static READ8_HANDLER( mcu_io_r )
{
case 0:
if (offset >= 0x0000 && offset < 0x3fff)
- return watchdog_reset_r(space, 0); /* unsure about this one */
+ return state->watchdog_reset_r(*space, 0); /* unsure about this one */
else if (offset >= 0x4000 && offset < 0x8000)
return maincpu_byte_r(space->machine(), 0xc70001 ^ (offset & 0x3fff));
else if (offset >= 0x8000 && offset < 0xc000)
@@ -1013,7 +1013,7 @@ static ADDRESS_MAP_START( system16a_map, AS_PROGRAM, 16, segas1x_state )
AM_RANGE(0x440000, 0x4407ff) AM_MIRROR(0x3bf800) AM_RAM AM_BASE_LEGACY(&segaic16_spriteram_0)
AM_RANGE(0x840000, 0x840fff) AM_MIRROR(0x3bf000) AM_RAM_WRITE_LEGACY(segaic16_paletteram_w) AM_BASE_LEGACY(&segaic16_paletteram)
AM_RANGE(0xc40000, 0xc43fff) AM_MIRROR(0x39c000) AM_READWRITE_LEGACY(misc_io_r, misc_io_w)
- AM_RANGE(0xc60000, 0xc6ffff) AM_READ_LEGACY(watchdog_reset16_r)
+ AM_RANGE(0xc60000, 0xc6ffff) AM_READ(watchdog_reset16_r)
AM_RANGE(0xc70000, 0xc73fff) AM_MIRROR(0x38c000) AM_RAM AM_BASE_LEGACY(&workram) AM_SHARE("nvram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/segas16b.c b/src/mame/drivers/segas16b.c
index 7fe6ba0e207..d98eb5c0372 100644
--- a/src/mame/drivers/segas16b.c
+++ b/src/mame/drivers/segas16b.c
@@ -1030,7 +1030,7 @@ static void sound_w(running_machine &machine, UINT8 data)
if (state->m_soundcpu != NULL)
{
address_space *space = state->m_maincpu->memory().space(AS_PROGRAM);
- soundlatch_w(space, 0, data & 0xff);
+ state->soundlatch_w(*space, 0, data & 0xff);
device_set_input_line(state->m_soundcpu, 0, HOLD_LINE);
}
}
@@ -1854,7 +1854,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, segas1x_state )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xdfff) AM_ROMBANK("bank1")
- AM_RANGE(0xe800, 0xe800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe800, 0xe800) AM_READ(soundlatch_r)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -1864,7 +1864,7 @@ static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, segas1x_state )
AM_RANGE(0x00, 0x01) AM_MIRROR(0x3e) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x40, 0x40) AM_MIRROR(0x3f) AM_DEVWRITE_LEGACY("upd", upd7759_control_w)
AM_RANGE(0x80, 0x80) AM_MIRROR(0x3f) AM_DEVREADWRITE_LEGACY("upd", upd7759_status_r, upd7759_port_w)
- AM_RANGE(0xc0, 0xc0) AM_MIRROR(0x3f) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc0, 0xc0) AM_MIRROR(0x3f) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/segas18.c b/src/mame/drivers/segas18.c
index e4ab8138481..49ca96c7c35 100644
--- a/src/mame/drivers/segas18.c
+++ b/src/mame/drivers/segas18.c
@@ -142,7 +142,7 @@ static void sound_w(running_machine &machine, UINT8 data)
segas1x_state *state = machine.driver_data<segas1x_state>();
address_space *space = state->m_maincpu->memory().space(AS_PROGRAM);
- soundlatch_w(space, 0, data & 0xff);
+ state->soundlatch_w(*space, 0, data & 0xff);
device_set_input_line(state->m_soundcpu, INPUT_LINE_NMI, PULSE_LINE);
}
@@ -634,7 +634,7 @@ static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, segas1x_state )
AM_RANGE(0x80, 0x83) AM_MIRROR(0x0c) AM_DEVREADWRITE_LEGACY("ym1", ym3438_r, ym3438_w)
AM_RANGE(0x90, 0x93) AM_MIRROR(0x0c) AM_DEVREADWRITE_LEGACY("ym2", ym3438_r, ym3438_w)
AM_RANGE(0xa0, 0xa0) AM_MIRROR(0x1f) AM_WRITE_LEGACY(soundbank_w)
- AM_RANGE(0xc0, 0xc0) AM_MIRROR(0x1f) AM_READWRITE_LEGACY(soundlatch_r, mcu_data_w)
+ AM_RANGE(0xc0, 0xc0) AM_MIRROR(0x1f) AM_READ(soundlatch_r) AM_WRITE_LEGACY(mcu_data_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/segaxbd.c b/src/mame/drivers/segaxbd.c
index dc11814f008..bbbe03c772b 100644
--- a/src/mame/drivers/segaxbd.c
+++ b/src/mame/drivers/segaxbd.c
@@ -379,7 +379,7 @@ static TIMER_CALLBACK( delayed_sound_data_w )
segas1x_state *state = machine.driver_data<segas1x_state>();
address_space *space = state->m_maincpu->memory().space(AS_PROGRAM);
- soundlatch_w(space, 0, param);
+ state->soundlatch_w(*space, 0, param);
device_set_input_line(state->m_soundcpu, INPUT_LINE_NMI, ASSERT_LINE);
}
@@ -403,7 +403,7 @@ static READ8_HANDLER( sound_data_r )
segas1x_state *state = space->machine().driver_data<segas1x_state>();
device_set_input_line(state->m_soundcpu, INPUT_LINE_NMI, CLEAR_LINE);
- return soundlatch_r(space, offset);
+ return state->soundlatch_r(*space, offset);
}
@@ -563,7 +563,7 @@ static WRITE16_HANDLER( iochip_0_w )
D1: (CONT) - affects sprite hardware
D0: Sound section reset (1= normal operation, 0= reset)
*/
- if (((oldval ^ data) & 0x40) && !(data & 0x40)) watchdog_reset_w(space,0,0);
+ if (((oldval ^ data) & 0x40) && !(data & 0x40)) state->watchdog_reset_w(*space,0,0);
segaic16_set_display_enable(space->machine(), data & 0x20);
device_set_input_line(state->m_soundcpu, INPUT_LINE_RESET, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
return;
diff --git a/src/mame/drivers/segaybd.c b/src/mame/drivers/segaybd.c
index b7b2112a717..fcb2b6f87c0 100644
--- a/src/mame/drivers/segaybd.c
+++ b/src/mame/drivers/segaybd.c
@@ -238,7 +238,7 @@ static TIMER_CALLBACK( delayed_sound_data_w )
segas1x_state *state = machine.driver_data<segas1x_state>();
address_space *space = state->m_maincpu->memory().space(AS_PROGRAM);
- soundlatch_w(space, 0, param);
+ state->soundlatch_w(*space, 0, param);
device_set_input_line(state->m_soundcpu, INPUT_LINE_NMI, ASSERT_LINE);
}
@@ -254,7 +254,7 @@ static READ8_HANDLER( sound_data_r )
{
segas1x_state *state = space->machine().driver_data<segas1x_state>();
device_set_input_line(state->m_soundcpu, INPUT_LINE_NMI, CLEAR_LINE);
- return soundlatch_r(space, offset);
+ return state->soundlatch_r(*space, offset);
}
@@ -355,7 +355,7 @@ static WRITE16_HANDLER( io_chip_w )
*/
segaic16_set_display_enable(space->machine(), data & 0x80);
if (((old ^ data) & 0x20) && !(data & 0x20))
- watchdog_reset_w(space, 0, 0);
+ state->watchdog_reset_w(*space, 0, 0);
device_set_input_line(state->m_soundcpu, INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
device_set_input_line(state->m_subx, INPUT_LINE_RESET, (data & 0x08) ? ASSERT_LINE : CLEAR_LINE);
device_set_input_line(state->m_suby, INPUT_LINE_RESET, (data & 0x04) ? ASSERT_LINE : CLEAR_LINE);
diff --git a/src/mame/drivers/seicross.c b/src/mame/drivers/seicross.c
index c78227c9a27..ab2bc6f34b9 100644
--- a/src/mame/drivers/seicross.c
+++ b/src/mame/drivers/seicross.c
@@ -122,7 +122,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, seicross_state )
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0") /* IN0 */
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("IN1") /* IN1 */
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("TEST") /* test */
- AM_RANGE(0xb800, 0xb800) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( main_portmap, AS_IO, 8, seicross_state )
diff --git a/src/mame/drivers/seta.c b/src/mame/drivers/seta.c
index 9c1ec2daff8..9bbfb641793 100644
--- a/src/mame/drivers/seta.c
+++ b/src/mame/drivers/seta.c
@@ -1490,6 +1490,7 @@ static WRITE16_HANDLER( sharedram_68000_w )
static WRITE16_HANDLER( sub_ctrl_w )
{
+ seta_state *state = space->machine().driver_data<seta_state>();
switch(offset)
{
case 0/2: // bit 0: reset sub cpu?
@@ -1507,11 +1508,11 @@ static WRITE16_HANDLER( sub_ctrl_w )
break;
case 4/2: // not sure
- if (ACCESSING_BITS_0_7) soundlatch_w(space, 0, data & 0xff);
+ if (ACCESSING_BITS_0_7) state->soundlatch_w(*space, 0, data & 0xff);
break;
case 6/2: // not sure
- if (ACCESSING_BITS_0_7) soundlatch2_w(space, 0, data & 0xff);
+ if (ACCESSING_BITS_0_7) state->soundlatch2_w(*space, 0, data & 0xff);
break;
}
@@ -1655,9 +1656,10 @@ static READ16_HANDLER ( calibr50_ip_r )
static WRITE16_HANDLER( calibr50_soundlatch_w )
{
+ seta_state *state = space->machine().driver_data<seta_state>();
if (ACCESSING_BITS_0_7)
{
- soundlatch_word_w(space, 0, data, mem_mask);
+ state->soundlatch_word_w(*space, 0, data, mem_mask);
cputag_set_input_line(space->machine(), "sub", INPUT_LINE_NMI, PULSE_LINE);
device_spin_until_time(&space->device(), attotime::from_usec(50)); // Allow the other cpu to reply
}
@@ -1670,7 +1672,7 @@ static ADDRESS_MAP_START( calibr50_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0x200000, 0x200fff) AM_RAM // NVRAM
AM_RANGE(0x300000, 0x300001) AM_READNOP // ? (value's read but not used)
AM_RANGE(0x300000, 0x300001) AM_WRITENOP // ? (random value)
- AM_RANGE(0x400000, 0x400001) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0x400000, 0x400001) AM_READ(watchdog_reset16_r) // Watchdog
AM_RANGE(0x500000, 0x500001) AM_WRITENOP // ?
AM_RANGE(0x600000, 0x600003) AM_READ_LEGACY(seta_dsw_r) // DSW
AM_RANGE(0x700000, 0x7003ff) AM_RAM AM_BASE_SIZE(m_paletteram, m_paletteram_size) // Palette
@@ -1682,7 +1684,7 @@ static ADDRESS_MAP_START( calibr50_map, AS_PROGRAM, 16, seta_state )
/**/AM_RANGE(0xd00000, 0xd005ff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spriteylow_r16, spriteylow_w16) // Sprites Y
AM_RANGE(0xd00600, 0xd00607) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritectrl_r16, spritectrl_w16)
AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecode_r16, spritecode_w16) // Sprites Code + X + Attr
- AM_RANGE(0xb00000, 0xb00001) AM_READWRITE_LEGACY(soundlatch2_word_r,calibr50_soundlatch_w) // From Sub CPU
+ AM_RANGE(0xb00000, 0xb00001) AM_READ(soundlatch2_word_r) AM_WRITE_LEGACY(calibr50_soundlatch_w) // From Sub CPU
/**/AM_RANGE(0xc00000, 0xc00001) AM_RAM // ? $4000
ADDRESS_MAP_END
@@ -1763,7 +1765,7 @@ static ADDRESS_MAP_START( usclssic_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0xb40010, 0xb40011) AM_READ_PORT("COINS") // Coins
AM_RANGE(0xb40010, 0xb40011) AM_WRITE_LEGACY(calibr50_soundlatch_w) // To Sub CPU
AM_RANGE(0xb40018, 0xb4001f) AM_READ_LEGACY(usclssic_dsw_r) // 2 DSWs
- AM_RANGE(0xb40018, 0xb40019) AM_WRITE_LEGACY(watchdog_reset16_w) // Watchdog
+ AM_RANGE(0xb40018, 0xb40019) AM_WRITE(watchdog_reset16_w) // Watchdog
AM_RANGE(0xb80000, 0xb80001) AM_READNOP // Watchdog (value is discarded)?
AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecode_r16, spritecode_w16) // Sprites Code + X + Attr
AM_RANGE(0xd00000, 0xd03fff) AM_RAM_WRITE_LEGACY(seta_vram_0_w) AM_BASE(m_vram_0) // VRAM
@@ -2313,7 +2315,7 @@ static ADDRESS_MAP_START( extdwnhl_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0x400002, 0x400003) AM_READ_PORT("P2") // P2
AM_RANGE(0x400004, 0x400005) AM_READ_PORT("COINS") // Coins
AM_RANGE(0x400008, 0x40000b) AM_READ_LEGACY(seta_dsw_r) // DSW
- AM_RANGE(0x40000c, 0x40000d) AM_READWRITE_LEGACY(watchdog_reset16_r,watchdog_reset16_w) // Watchdog (extdwnhl (R) & sokonuke (W) MUST RETURN $FFFF)
+ AM_RANGE(0x40000c, 0x40000d) AM_READWRITE(watchdog_reset16_r,watchdog_reset16_w) // Watchdog (extdwnhl (R) & sokonuke (W) MUST RETURN $FFFF)
AM_RANGE(0x500000, 0x500003) AM_RAM_WRITE_LEGACY(seta_vregs_w) AM_BASE(m_vregs) // Coin Lockout + Video Registers
AM_RANGE(0x500004, 0x500007) AM_NOP // IRQ Ack (extdwnhl (R) & sokonuke (W))
AM_RANGE(0x600400, 0x600fff) AM_RAM AM_BASE_SIZE(m_paletteram, m_paletteram_size) // Palette
@@ -2344,7 +2346,7 @@ static ADDRESS_MAP_START( kamenrid_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("P2") // P2
AM_RANGE(0x500004, 0x500007) AM_READ_LEGACY(seta_dsw_r) // DSW
AM_RANGE(0x500008, 0x500009) AM_READ_PORT("COINS") // Coins
- AM_RANGE(0x50000c, 0x50000d) AM_READWRITE_LEGACY(watchdog_reset16_r,watchdog_reset16_w) // xx Watchdog? (sokonuke)
+ AM_RANGE(0x50000c, 0x50000d) AM_READWRITE(watchdog_reset16_r,watchdog_reset16_w) // xx Watchdog? (sokonuke)
AM_RANGE(0x600000, 0x600005) AM_RAM_WRITE_LEGACY(seta_vregs_w) AM_BASE(m_vregs) // ? Coin Lockout + Video Registers
AM_RANGE(0x600006, 0x600007) AM_WRITENOP // ?
AM_RANGE(0x700000, 0x7003ff) AM_RAM // Palette RAM (tested)
@@ -2377,7 +2379,7 @@ static ADDRESS_MAP_START( madshark_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("P2") // P2
AM_RANGE(0x500004, 0x500005) AM_READ_PORT("COINS") // Coins
AM_RANGE(0x500008, 0x50000b) AM_READ_LEGACY(seta_dsw_r) // DSW
- AM_RANGE(0x50000c, 0x50000d) AM_WRITE_LEGACY(watchdog_reset16_w) // Watchdog
+ AM_RANGE(0x50000c, 0x50000d) AM_WRITE(watchdog_reset16_w) // Watchdog
AM_RANGE(0x600000, 0x600005) AM_RAM_WRITE_LEGACY(seta_vregs_w) AM_BASE(m_vregs) // ? Coin Lockout + Video Registers
AM_RANGE(0x600006, 0x600007) AM_WRITENOP // ?
AM_RANGE(0x700400, 0x700fff) AM_RAM AM_BASE_SIZE(m_paletteram, m_paletteram_size) // Palette
@@ -2752,10 +2754,11 @@ ADDRESS_MAP_END
static WRITE16_HANDLER( utoukond_soundlatch_w )
{
+ seta_state *state = space->machine().driver_data<seta_state>();
if (ACCESSING_BITS_0_7)
{
cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
- soundlatch_w(space, 0, data & 0xff);
+ state->soundlatch_w(*space, 0, data & 0xff);
}
}
@@ -2893,7 +2896,7 @@ static ADDRESS_MAP_START( inttoote_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0x200002, 0x200003) AM_READ_PORT("P1")
AM_RANGE(0x200010, 0x200011) AM_READ_PORT("P2") AM_WRITENOP
- AM_RANGE(0x300000, 0x300001) AM_WRITE_LEGACY(watchdog_reset16_w) // Watchdog
+ AM_RANGE(0x300000, 0x300001) AM_WRITE(watchdog_reset16_w) // Watchdog
AM_RANGE(0x300010, 0x300011) AM_WRITENOP // lev1 ack
AM_RANGE(0x300020, 0x300021) AM_WRITENOP // lev2 ack
@@ -2958,7 +2961,7 @@ static ADDRESS_MAP_START( jockeyc_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0x200002, 0x200003) AM_READ_PORT("P1")
AM_RANGE(0x200010, 0x200011) AM_READ_PORT("P2") AM_WRITENOP
- AM_RANGE(0x300000, 0x300001) AM_WRITE_LEGACY(watchdog_reset16_w) // Watchdog
+ AM_RANGE(0x300000, 0x300001) AM_WRITE(watchdog_reset16_w) // Watchdog
AM_RANGE(0x300002, 0x300003) AM_WRITENOP
@@ -3020,8 +3023,8 @@ static READ8_HANDLER( ff_r ) {return 0xff;}
static ADDRESS_MAP_START( tndrcade_sub_map, AS_PROGRAM, 8, seta_state )
AM_RANGE(0x0000, 0x01ff) AM_RAM // RAM
AM_RANGE(0x0800, 0x0800) AM_READ_LEGACY(ff_r) // ? (bits 0/1/2/3: 1 -> do test 0-ff/100-1e0/5001-57ff/banked rom)
- //AM_RANGE(0x0800, 0x0800) AM_READ_LEGACY(soundlatch_r) //
- //AM_RANGE(0x0801, 0x0801) AM_READ_LEGACY(soundlatch2_r) //
+ //AM_RANGE(0x0800, 0x0800) AM_READ(soundlatch_r) //
+ //AM_RANGE(0x0801, 0x0801) AM_READ(soundlatch2_r) //
AM_RANGE(0x1000, 0x1000) AM_READ_PORT("P1") // P1
AM_RANGE(0x1000, 0x1000) AM_WRITE_LEGACY(sub_bankswitch_lockout_w) // ROM Bank + Coin Lockout
AM_RANGE(0x1001, 0x1001) AM_READ_PORT("P2") // P2
@@ -3041,8 +3044,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( twineagl_sub_map, AS_PROGRAM, 8, seta_state )
AM_RANGE(0x0000, 0x01ff) AM_RAM // RAM
- AM_RANGE(0x0800, 0x0800) AM_READ_LEGACY(soundlatch_r) //
- AM_RANGE(0x0801, 0x0801) AM_READ_LEGACY(soundlatch2_r) //
+ AM_RANGE(0x0800, 0x0800) AM_READ(soundlatch_r) //
+ AM_RANGE(0x0801, 0x0801) AM_READ(soundlatch2_r) //
AM_RANGE(0x1000, 0x1000) AM_READ_PORT("P1") // P1
AM_RANGE(0x1000, 0x1000) AM_WRITE_LEGACY(sub_bankswitch_lockout_w) // ROM Bank + Coin Lockout
AM_RANGE(0x1001, 0x1001) AM_READ_PORT("P2") // P2
@@ -3083,8 +3086,8 @@ static READ8_HANDLER( downtown_ip_r )
static ADDRESS_MAP_START( downtown_sub_map, AS_PROGRAM, 8, seta_state )
AM_RANGE(0x0000, 0x01ff) AM_RAM // RAM
- AM_RANGE(0x0800, 0x0800) AM_READ_LEGACY(soundlatch_r) //
- AM_RANGE(0x0801, 0x0801) AM_READ_LEGACY(soundlatch2_r) //
+ AM_RANGE(0x0800, 0x0800) AM_READ(soundlatch_r) //
+ AM_RANGE(0x0801, 0x0801) AM_READ(soundlatch2_r) //
AM_RANGE(0x1000, 0x1007) AM_READ_LEGACY(downtown_ip_r) // Input Ports
AM_RANGE(0x1000, 0x1000) AM_WRITE_LEGACY(sub_bankswitch_lockout_w) // ROM Bank + Coin Lockout
AM_RANGE(0x5000, 0x57ff) AM_RAM AM_BASE(m_sharedram) // Shared RAM
@@ -3106,13 +3109,14 @@ static MACHINE_RESET(calibr50)
static WRITE8_HANDLER( calibr50_soundlatch2_w )
{
- soundlatch2_w(space,0,data);
+ seta_state *state = space->machine().driver_data<seta_state>();
+ state->soundlatch2_w(*space,0,data);
device_spin_until_time(&space->device(), attotime::from_usec(50)); // Allow the other cpu to reply
}
static ADDRESS_MAP_START( calibr50_sub_map, AS_PROGRAM, 8, seta_state )
AM_RANGE(0x0000, 0x1fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_r,seta_sound_w) // Sound
- AM_RANGE(0x4000, 0x4000) AM_READ_LEGACY(soundlatch_r) // From Main CPU
+ AM_RANGE(0x4000, 0x4000) AM_READ(soundlatch_r) // From Main CPU
AM_RANGE(0x4000, 0x4000) AM_WRITE_LEGACY(sub_bankswitch_w) // Bankswitching
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") // Banked ROM
AM_RANGE(0xc000, 0xffff) AM_ROM // ROM
@@ -3126,8 +3130,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( metafox_sub_map, AS_PROGRAM, 8, seta_state )
AM_RANGE(0x0000, 0x01ff) AM_RAM // RAM
- AM_RANGE(0x0800, 0x0800) AM_READ_LEGACY(soundlatch_r) //
- AM_RANGE(0x0801, 0x0801) AM_READ_LEGACY(soundlatch2_r) //
+ AM_RANGE(0x0800, 0x0800) AM_READ(soundlatch_r) //
+ AM_RANGE(0x0801, 0x0801) AM_READ(soundlatch2_r) //
AM_RANGE(0x1000, 0x1000) AM_READ_PORT("COINS") // Coins
AM_RANGE(0x1000, 0x1000) AM_WRITE_LEGACY(sub_bankswitch_lockout_w) // ROM Bank + Coin Lockout
AM_RANGE(0x1002, 0x1002) AM_READ_PORT("P1") // P1
@@ -3154,7 +3158,7 @@ static ADDRESS_MAP_START( utoukond_sound_io_map, AS_IO, 8, seta_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE_LEGACY("ymsnd", ym3438_r, ym3438_w)
AM_RANGE(0x80, 0x80) AM_WRITENOP //?
- AM_RANGE(0xc0, 0xc0) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc0, 0xc0) AM_READ(soundlatch_r)
ADDRESS_MAP_END
@@ -8564,7 +8568,7 @@ static ADDRESS_MAP_START( thunderlbl_sound_map, AS_PROGRAM, 8, seta_state )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xdfff) AM_ROM//ROMBANK("bank1")
- AM_RANGE(0xe800, 0xe800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe800, 0xe800) AM_READ(soundlatch_r)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -8574,7 +8578,7 @@ static ADDRESS_MAP_START( thunderlbl_sound_portmap, AS_IO, 8, seta_state )
AM_RANGE(0x00, 0x01) AM_MIRROR(0x3e) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
//AM_RANGE(0x40, 0x40) AM_MIRROR(0x3f) AM_DEVWRITE_LEGACY("upd", upd7759_control_w)
//AM_RANGE(0x80, 0x80) AM_MIRROR(0x3f) AM_DEVREADWRITE_LEGACY("upd", upd7759_status_r, upd7759_port_w)
- AM_RANGE(0xc0, 0xc0) AM_MIRROR(0x3f) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc0, 0xc0) AM_MIRROR(0x3f) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/seta2.c b/src/mame/drivers/seta2.c
index 39bc0cc3cfc..0dd6d9923ad 100644
--- a/src/mame/drivers/seta2.c
+++ b/src/mame/drivers/seta2.c
@@ -158,7 +158,7 @@ static ADDRESS_MAP_START( grdians_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("P1") // P1
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("P2") // P2
AM_RANGE(0x700004, 0x700005) AM_READ_PORT("SYSTEM") // Coins
- AM_RANGE(0x70000c, 0x70000d) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0x70000c, 0x70000d) AM_READ(watchdog_reset16_r) // Watchdog
AM_RANGE(0x800000, 0x800001) AM_WRITE_LEGACY(grdians_lockout_w)
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
@@ -198,7 +198,7 @@ static ADDRESS_MAP_START( gundamex_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x700004, 0x700005) AM_READ_PORT("SYSTEM") // Coins
AM_RANGE(0x700008, 0x700009) AM_READ_PORT("IN0") // P1
AM_RANGE(0x70000a, 0x70000b) AM_READ_PORT("IN1") // P2
- AM_RANGE(0x70000c, 0x70000d) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x70000c, 0x70000d) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x800000, 0x800001) AM_WRITE_LEGACY(grdians_lockout_w)
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w) // Sound
AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
@@ -259,7 +259,7 @@ static ADDRESS_MAP_START( mj4simai_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x600000, 0x600001) AM_READ_LEGACY(mj4simai_p1_r) // P1
AM_RANGE(0x600002, 0x600003) AM_READ_LEGACY(mj4simai_p2_r) // P2
AM_RANGE(0x600004, 0x600005) AM_WRITE_LEGACY(mj4simai_keyboard_w) // select keyboard row to read
- AM_RANGE(0x600006, 0x600007) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0x600006, 0x600007) AM_READ(watchdog_reset16_r) // Watchdog
AM_RANGE(0x600100, 0x600101) AM_READ_PORT("SYSTEM") //
AM_RANGE(0x600200, 0x600201) AM_WRITENOP // Leds? Coins?
AM_RANGE(0x600300, 0x600301) AM_READ_PORT("DSW1") // DSW 1
@@ -283,7 +283,7 @@ static ADDRESS_MAP_START( myangel_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("P1") // P1
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("P2") // P2
AM_RANGE(0x700004, 0x700005) AM_READ_PORT("SYSTEM") // Coins
- AM_RANGE(0x700006, 0x700007) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0x700006, 0x700007) AM_READ(watchdog_reset16_r) // Watchdog
AM_RANGE(0x700200, 0x700201) AM_WRITENOP // Leds? Coins?
AM_RANGE(0x700300, 0x700301) AM_READ_PORT("DSW1") // DSW 1
AM_RANGE(0x700302, 0x700303) AM_READ_PORT("DSW2") // DSW 2
@@ -306,7 +306,7 @@ static ADDRESS_MAP_START( myangel2_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x600000, 0x600001) AM_READ_PORT("P1") // P1
AM_RANGE(0x600002, 0x600003) AM_READ_PORT("P2") // P2
AM_RANGE(0x600004, 0x600005) AM_READ_PORT("SYSTEM") // Coins
- AM_RANGE(0x600006, 0x600007) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0x600006, 0x600007) AM_READ(watchdog_reset16_r) // Watchdog
AM_RANGE(0x600200, 0x600201) AM_WRITENOP // Leds? Coins?
AM_RANGE(0x600300, 0x600301) AM_READ_PORT("DSW1") // DSW 1
AM_RANGE(0x600302, 0x600303) AM_READ_PORT("DSW2") // DSW 2
@@ -354,7 +354,7 @@ static ADDRESS_MAP_START( pzlbowl_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("P1") // P1
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("P2") // P2
AM_RANGE(0x500004, 0x500005) AM_READWRITE_LEGACY(pzlbowl_coins_r,pzlbowl_coin_counter_w) // Coins + Protection?
- AM_RANGE(0x500006, 0x500007) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0x500006, 0x500007) AM_READ(watchdog_reset16_r) // Watchdog
AM_RANGE(0x700000, 0x700001) AM_READ_LEGACY(pzlbowl_protection_r) // Protection
AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0x840000, 0x84ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
@@ -380,7 +380,7 @@ static ADDRESS_MAP_START( penbros_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x600002, 0x600003) AM_READ_PORT("P2") // P2
AM_RANGE(0x600004, 0x600005) AM_READ_PORT("SYSTEM") // Coins
AM_RANGE(0x600004, 0x600005) AM_WRITE_LEGACY(pzlbowl_coin_counter_w) // Coins Counter
- AM_RANGE(0x600006, 0x600007) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0x600006, 0x600007) AM_READ(watchdog_reset16_r) // Watchdog
//AM_RANGE(0x700000, 0x700001) AM_READ_LEGACY(pzlbowl_protection_r) // Protection
AM_RANGE(0xb00000, 0xb3ffff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE(0xb40000, 0xb4ffff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
@@ -435,7 +435,7 @@ static ADDRESS_MAP_START( reelquak_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x400000, 0x400001) AM_READ_PORT("P1") // P1
AM_RANGE(0x400002, 0x400003) AM_READ_PORT("TICKET") // Tickets
AM_RANGE(0x400004, 0x400005) AM_READ_PORT("SYSTEM") // Coins
- AM_RANGE(0x400006, 0x400007) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0x400006, 0x400007) AM_READ(watchdog_reset16_r) // Watchdog
AM_RANGE(0x400200, 0x400201) AM_WRITE_LEGACY(reelquak_coin_w) // Coin Counters / IRQ Ack
AM_RANGE(0x400300, 0x400301) AM_READ_PORT("DSW1") // DSW 1
AM_RANGE(0x400302, 0x400303) AM_READ_PORT("DSW2") // DSW 2
@@ -496,7 +496,7 @@ static ADDRESS_MAP_START( samshoot_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE( 0x700000, 0x700001 ) AM_READ_PORT("TRIGGER") // Trigger
AM_RANGE( 0x700002, 0x700003 ) AM_READ_PORT("PUMP") // Pump
AM_RANGE( 0x700004, 0x700005 ) AM_READ_PORT("COIN") AM_WRITE_LEGACY(samshoot_coin_w ) // Coins
- AM_RANGE( 0x700006, 0x700007 ) AM_READ_LEGACY(watchdog_reset16_r ) // Watchdog?
+ AM_RANGE( 0x700006, 0x700007 ) AM_READ(watchdog_reset16_r ) // Watchdog?
AM_RANGE( 0x800000, 0x83ffff ) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size) // Sprites
AM_RANGE( 0x840000, 0x84ffff ) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram") // Palette
@@ -627,7 +627,7 @@ static ADDRESS_MAP_START( funcube_map, AS_PROGRAM, 32, seta2_state )
AM_RANGE( 0x00200000, 0x0020ffff ) AM_RAM
AM_RANGE( 0x00500000, 0x00500003 ) AM_READ_LEGACY(funcube_debug_r )
- AM_RANGE( 0x00500004, 0x00500007 ) AM_READ_LEGACY(watchdog_reset32_r ) AM_WRITENOP
+ AM_RANGE( 0x00500004, 0x00500007 ) AM_READ(watchdog_reset32_r ) AM_WRITENOP
AM_RANGE( 0x00600000, 0x00600003 ) AM_DEVREADWRITE_LEGACY("oki", oki_read, oki_write)
diff --git a/src/mame/drivers/sf.c b/src/mame/drivers/sf.c
index 145e39fb36a..470f6af1cc8 100644
--- a/src/mame/drivers/sf.c
+++ b/src/mame/drivers/sf.c
@@ -257,7 +257,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, sf_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xc800, 0xc800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc800, 0xc800) AM_READ(soundlatch_r)
AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r,ym2151_w)
ADDRESS_MAP_END
@@ -272,7 +272,7 @@ static ADDRESS_MAP_START( sound2_io_map, AS_IO, 8, sf_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE_LEGACY("msm1", msm5205_w)
AM_RANGE(0x01, 0x01) AM_DEVWRITE_LEGACY("msm2", msm5205_w)
- AM_RANGE(0x01, 0x01) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x01, 0x01) AM_READ(soundlatch_r)
AM_RANGE(0x02, 0x02) AM_WRITE(sound2_bank_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sfkick.c b/src/mame/drivers/sfkick.c
index bf2e7c48821..f64068deb50 100644
--- a/src/mame/drivers/sfkick.c
+++ b/src/mame/drivers/sfkick.c
@@ -332,7 +332,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sfkick_io_map, AS_IO, 8, sfkick_state )
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE( 0xa0, 0xa7) AM_WRITE_LEGACY(soundlatch_w )
+ AM_RANGE( 0xa0, 0xa7) AM_WRITE(soundlatch_w )
AM_RANGE( 0x98, 0x9b) AM_DEVREADWRITE( "v9938", v9938_device, read, write)
AM_RANGE( 0xa8, 0xab) AM_DEVREADWRITE_LEGACY("ppi8255", ppi8255_r, ppi8255_w)
AM_RANGE( 0xb4, 0xb5) AM_RAM /* loopback ? req by sfkicka (MSX Bios leftover)*/
@@ -345,7 +345,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sfkick_sound_io_map, AS_IO, 8, sfkick_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r)
AM_RANGE(0x04, 0x05) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r, ym2203_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/shadfrce.c b/src/mame/drivers/shadfrce.c
index cecfa5de67d..867ba2faf90 100644
--- a/src/mame/drivers/shadfrce.c
+++ b/src/mame/drivers/shadfrce.c
@@ -384,7 +384,7 @@ static ADDRESS_MAP_START( shadfrce_map, AS_PROGRAM, 16, shadfrce_state )
AM_RANGE(0x1d0010, 0x1d0011) AM_WRITENOP /* ?? */
AM_RANGE(0x1d0012, 0x1d0013) AM_WRITENOP /* ?? */
AM_RANGE(0x1d0014, 0x1d0015) AM_WRITENOP /* ?? */
- AM_RANGE(0x1d0016, 0x1d0017) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x1d0016, 0x1d0017) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x1d0020, 0x1d0027) AM_READ(shadfrce_input_ports_r)
AM_RANGE(0x1f0000, 0x1fffff) AM_RAM
ADDRESS_MAP_END
@@ -401,7 +401,7 @@ static ADDRESS_MAP_START( shadfrce_sound_map, AS_PROGRAM, 8, shadfrce_state )
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xd800, 0xd800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
AM_RANGE(0xe800, 0xe800) AM_DEVWRITE_LEGACY("oki", oki_bankswitch_w)
AM_RANGE(0xf000, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/shangha3.c b/src/mame/drivers/shangha3.c
index 52316f46dd0..f96006c7362 100644
--- a/src/mame/drivers/shangha3.c
+++ b/src/mame/drivers/shangha3.c
@@ -176,7 +176,7 @@ static ADDRESS_MAP_START( heberpop_sound_io_map, AS_IO, 8, shangha3_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE_LEGACY("ymsnd", ym3438_r, ym3438_w)
AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xc0, 0xc0) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc0, 0xc0) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/shaolins.c b/src/mame/drivers/shaolins.c
index 2372fdf1c57..4783b14d336 100644
--- a/src/mame/drivers/shaolins.c
+++ b/src/mame/drivers/shaolins.c
@@ -29,7 +29,7 @@ static TIMER_DEVICE_CALLBACK( shaolins_interrupt )
static ADDRESS_MAP_START( shaolins_map, AS_PROGRAM, 8, shaolins_state )
AM_RANGE(0x0000, 0x0000) AM_WRITE_LEGACY(shaolins_nmi_w) /* bit 0 = flip screen, bit 1 = nmi enable, bit 2 = ? */
/* bit 3, bit 4 = coin counters */
- AM_RANGE(0x0100, 0x0100) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x0100, 0x0100) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x0300, 0x0300) AM_DEVWRITE_LEGACY("sn1", sn76496_w) /* trigger chip to read from latch. The program always */
AM_RANGE(0x0400, 0x0400) AM_DEVWRITE_LEGACY("sn2", sn76496_w) /* writes the same number as the latch, so we don't */
/* bother emulating them. */
diff --git a/src/mame/drivers/shisen.c b/src/mame/drivers/shisen.c
index 6af87d36433..66bc292f7df 100644
--- a/src/mame/drivers/shisen.c
+++ b/src/mame/drivers/shisen.c
@@ -67,7 +67,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( shisen_sound_io_map, AS_IO, 8, shisen_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
- AM_RANGE(0x80, 0x80) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x80, 0x80) AM_READ(soundlatch_r)
AM_RANGE(0x80, 0x81) AM_DEVWRITE_LEGACY("m72", shisen_sample_addr_w)
AM_RANGE(0x82, 0x82) AM_DEVWRITE_LEGACY("m72", m72_sample_w)
AM_RANGE(0x83, 0x83) AM_DEVWRITE_LEGACY("m72", m72_sound_irq_ack_w)
diff --git a/src/mame/drivers/shootout.c b/src/mame/drivers/shootout.c
index 359fea6c0a8..f86f007d994 100644
--- a/src/mame/drivers/shootout.c
+++ b/src/mame/drivers/shootout.c
@@ -99,7 +99,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( shootout_sound_map, AS_PROGRAM, 8, shootout_state )
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x4000, 0x4001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r,ym2203_w)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xc000, 0xffff) AM_ROM
AM_RANGE(0xd000, 0xd000) AM_WRITENOP // unknown, NOT irq/nmi mask
ADDRESS_MAP_END
diff --git a/src/mame/drivers/shuuz.c b/src/mame/drivers/shuuz.c
index 217cd8d25ef..cbd452be307 100644
--- a/src/mame/drivers/shuuz.c
+++ b/src/mame/drivers/shuuz.c
@@ -142,7 +142,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, shuuz_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_READWRITE_LEGACY(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
AM_RANGE(0x101000, 0x101fff) AM_WRITE_LEGACY(atarigen_eeprom_enable_w)
- AM_RANGE(0x102000, 0x102001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x102000, 0x102001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x103000, 0x103003) AM_READ_LEGACY(leta_r)
AM_RANGE(0x105000, 0x105001) AM_READWRITE_LEGACY(special_port0_r, latch_w)
AM_RANGE(0x105002, 0x105003) AM_READ_PORT("BUTTONS")
diff --git a/src/mame/drivers/sidearms.c b/src/mame/drivers/sidearms.c
index 73e2c00b220..bbbffb3b53a 100644
--- a/src/mame/drivers/sidearms.c
+++ b/src/mame/drivers/sidearms.c
@@ -74,9 +74,9 @@ static ADDRESS_MAP_START( sidearms_map, AS_PROGRAM, 8, sidearms_state )
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_SHARE("paletteram")
AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_SHARE("paletteram2")
- AM_RANGE(0xc800, 0xc800) AM_READ_PORT("SYSTEM") AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xc800, 0xc800) AM_READ_PORT("SYSTEM") AM_WRITE(soundlatch_w)
AM_RANGE(0xc801, 0xc801) AM_READ_PORT("P1") AM_WRITE(sidearms_bankswitch_w)
- AM_RANGE(0xc802, 0xc802) AM_READ_PORT("P2") AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xc802, 0xc802) AM_READ_PORT("P2") AM_WRITE(watchdog_reset_w)
AM_RANGE(0xc803, 0xc803) AM_READ_PORT("DSW0")
AM_RANGE(0xc804, 0xc804) AM_READ_PORT("DSW1") AM_WRITE_LEGACY(sidearms_c804_w)
AM_RANGE(0xc805, 0xc805) AM_READ_PORT("DSW2") AM_WRITE_LEGACY(sidearms_star_scrollx_w)
@@ -98,9 +98,9 @@ static ADDRESS_MAP_START( turtship_map, AS_PROGRAM, 8, sidearms_state )
AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_SHARE("paletteram")
AM_RANGE(0xe400, 0xe7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_SHARE("paletteram2")
AM_RANGE(0xe800, 0xe807) AM_READ(turtship_ports_r)
- AM_RANGE(0xe800, 0xe800) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xe800, 0xe800) AM_WRITE(soundlatch_w)
AM_RANGE(0xe801, 0xe801) AM_WRITE(sidearms_bankswitch_w)
- AM_RANGE(0xe802, 0xe802) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xe802, 0xe802) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xe804, 0xe804) AM_WRITE_LEGACY(sidearms_c804_w)
AM_RANGE(0xe805, 0xe805) AM_WRITE_LEGACY(sidearms_star_scrollx_w)
AM_RANGE(0xe806, 0xe806) AM_WRITE_LEGACY(sidearms_star_scrolly_w)
@@ -114,7 +114,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sidearms_sound_map, AS_PROGRAM, 8, sidearms_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xd000, 0xd000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r)
AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r,ym2203_w)
AM_RANGE(0xf002, 0xf003) AM_DEVREADWRITE_LEGACY("ym2", ym2203_r,ym2203_w)
ADDRESS_MAP_END
@@ -144,9 +144,9 @@ static ADDRESS_MAP_START( whizz_map, AS_PROGRAM, 8, sidearms_state )
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split1_w) AM_SHARE("paletteram")
AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(paletteram_xxxxBBBBRRRRGGGG_split2_w) AM_SHARE("paletteram2")
- AM_RANGE(0xc800, 0xc800) AM_READ_PORT("DSW0") AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xc800, 0xc800) AM_READ_PORT("DSW0") AM_WRITE(soundlatch_w)
AM_RANGE(0xc801, 0xc801) AM_READ_PORT("DSW1") AM_WRITE(whizz_bankswitch_w)
- AM_RANGE(0xc802, 0xc802) AM_READ_PORT("DSW2") AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xc802, 0xc802) AM_READ_PORT("DSW2") AM_WRITE(watchdog_reset_w)
AM_RANGE(0xc803, 0xc803) AM_READ_PORT("IN0") AM_WRITENOP
AM_RANGE(0xc804, 0xc804) AM_READ_PORT("IN1") AM_WRITE_LEGACY(sidearms_c804_w)
AM_RANGE(0xc805, 0xc805) AM_READ_PORT("IN2") AM_WRITENOP
@@ -172,7 +172,7 @@ static ADDRESS_MAP_START( whizz_io_map, AS_IO, 8, sidearms_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x40, 0x40) AM_WRITENOP
- AM_RANGE(0xc0, 0xc0) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc0, 0xc0) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sidepckt.c b/src/mame/drivers/sidepckt.c
index 3e477d515c6..b1834e5c956 100644
--- a/src/mame/drivers/sidepckt.c
+++ b/src/mame/drivers/sidepckt.c
@@ -247,7 +247,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, sidepckt_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE_LEGACY("ym2", ym3526_w)
- AM_RANGE(0x3000, 0x3000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sigmab98.c b/src/mame/drivers/sigmab98.c
index 12c607f3869..61c02999062 100644
--- a/src/mame/drivers/sigmab98.c
+++ b/src/mame/drivers/sigmab98.c
@@ -761,7 +761,7 @@ static ADDRESS_MAP_START( animalc_io, AS_IO, 8, sigmab98_state )
AM_RANGE( 0x91, 0x91 ) AM_DEVWRITE("oki", okim9810_device, write_TMP_register )
AM_RANGE( 0x92, 0x92 ) AM_DEVREAD("oki", okim9810_device, read )
AM_RANGE( 0xb0, 0xb0 ) AM_WRITE(sammymdl_hopper_w )
- AM_RANGE( 0xc0, 0xc0 ) AM_WRITE_LEGACY(watchdog_reset_w ) // 1
+ AM_RANGE( 0xc0, 0xc0 ) AM_WRITE(watchdog_reset_w ) // 1
ADDRESS_MAP_END
/***************************************************************************
@@ -993,7 +993,7 @@ static ADDRESS_MAP_START( haekaka_io, AS_IO, 8, sigmab98_state )
AM_RANGE( 0x91, 0x91 ) AM_DEVWRITE("oki", okim9810_device, write_TMP_register )
AM_RANGE( 0x92, 0x92 ) AM_DEVREAD("oki", okim9810_device, read )
AM_RANGE( 0xb0, 0xb0 ) AM_WRITE(sammymdl_hopper_w )
- AM_RANGE( 0xc0, 0xc0 ) AM_WRITE_LEGACY(watchdog_reset_w ) // 1
+ AM_RANGE( 0xc0, 0xc0 ) AM_WRITE(watchdog_reset_w ) // 1
ADDRESS_MAP_END
/***************************************************************************
@@ -1231,7 +1231,7 @@ static ADDRESS_MAP_START( itazuram_io, AS_IO, 8, sigmab98_state )
AM_RANGE( 0x91, 0x91 ) AM_DEVWRITE("oki", okim9810_device, write_TMP_register )
AM_RANGE( 0x92, 0x92 ) AM_DEVREAD("oki", okim9810_device, read )
AM_RANGE( 0xb0, 0xb0 ) AM_WRITE(sammymdl_hopper_w )
- AM_RANGE( 0xc0, 0xc0 ) AM_WRITE_LEGACY(watchdog_reset_w ) // 1
+ AM_RANGE( 0xc0, 0xc0 ) AM_WRITE(watchdog_reset_w ) // 1
ADDRESS_MAP_END
/***************************************************************************
@@ -1445,7 +1445,7 @@ static ADDRESS_MAP_START( tdoboon_io, AS_IO, 8, sigmab98_state )
AM_RANGE( 0x91, 0x91 ) AM_DEVWRITE("oki", okim9810_device, write_TMP_register )
AM_RANGE( 0x92, 0x92 ) AM_DEVREAD("oki", okim9810_device, read )
AM_RANGE( 0xb0, 0xb0 ) AM_WRITE(sammymdl_hopper_w )
- AM_RANGE( 0xc0, 0xc0 ) AM_WRITE_LEGACY(watchdog_reset_w ) // 1
+ AM_RANGE( 0xc0, 0xc0 ) AM_WRITE(watchdog_reset_w ) // 1
ADDRESS_MAP_END
diff --git a/src/mame/drivers/simpsons.c b/src/mame/drivers/simpsons.c
index 586f5b7dbe6..5ebba99c6bb 100644
--- a/src/mame/drivers/simpsons.c
+++ b/src/mame/drivers/simpsons.c
@@ -98,7 +98,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, simpsons_state )
AM_RANGE(0x1fc4, 0x1fc4) AM_READ_LEGACY(simpsons_sound_interrupt_r)
AM_RANGE(0x1fc6, 0x1fc7) AM_DEVREADWRITE_LEGACY("k053260", simpsons_sound_r, k053260_w)
AM_RANGE(0x1fc8, 0x1fc9) AM_DEVREAD_LEGACY("k053246", k053246_r)
- AM_RANGE(0x1fca, 0x1fca) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x1fca, 0x1fca) AM_READ(watchdog_reset_r)
AM_RANGE(0x2000, 0x3fff) AM_RAMBANK("bank4")
AM_RANGE(0x0000, 0x3fff) AM_DEVREADWRITE_LEGACY("k052109", k052109_r, k052109_w)
AM_RANGE(0x4000, 0x5fff) AM_RAM
diff --git a/src/mame/drivers/skullxbo.c b/src/mame/drivers/skullxbo.c
index 27e486d406d..eee1830594c 100644
--- a/src/mame/drivers/skullxbo.c
+++ b/src/mame/drivers/skullxbo.c
@@ -136,11 +136,11 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, skullxbo_state )
AM_RANGE(0xff1c00, 0xff1c7f) AM_WRITE_LEGACY(skullxbo_playfieldlatch_w)
AM_RANGE(0xff1c80, 0xff1cff) AM_WRITE_LEGACY(skullxbo_xscroll_w) AM_BASE(m_xscroll)
AM_RANGE(0xff1d00, 0xff1d7f) AM_WRITE_LEGACY(atarigen_scanline_int_ack_w)
- AM_RANGE(0xff1d80, 0xff1dff) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0xff1d80, 0xff1dff) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0xff1e00, 0xff1e7f) AM_WRITE_LEGACY(skullxbo_playfieldlatch_w)
AM_RANGE(0xff1e80, 0xff1eff) AM_WRITE_LEGACY(skullxbo_xscroll_w)
AM_RANGE(0xff1f00, 0xff1f7f) AM_WRITE_LEGACY(atarigen_scanline_int_ack_w)
- AM_RANGE(0xff1f80, 0xff1fff) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0xff1f80, 0xff1fff) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0xff2000, 0xff2fff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xff4000, 0xff47ff) AM_WRITE_LEGACY(skullxbo_yscroll_w) AM_BASE(m_yscroll)
AM_RANGE(0xff4800, 0xff4fff) AM_WRITE_LEGACY(skullxbo_mobwr_w)
diff --git a/src/mame/drivers/skydiver.c b/src/mame/drivers/skydiver.c
index b63f90dc392..b3516798f10 100644
--- a/src/mame/drivers/skydiver.c
+++ b/src/mame/drivers/skydiver.c
@@ -217,7 +217,7 @@ static ADDRESS_MAP_START( skydiver_map, AS_PROGRAM, 8, skydiver_state )
AM_RANGE(0x180b, 0x180b) AM_MIRROR(0x47e4) AM_READ_PORT("IN11")
AM_RANGE(0x1810, 0x1810) AM_MIRROR(0x47e4) AM_READ_PORT("IN12")
AM_RANGE(0x1811, 0x1811) AM_MIRROR(0x47e4) AM_READ_PORT("IN13")
- AM_RANGE(0x2000, 0x201f) AM_MIRROR(0x47e0) AM_READWRITE_LEGACY(watchdog_reset_r, skydiver_2000_201F_w)
+ AM_RANGE(0x2000, 0x201f) AM_MIRROR(0x47e0) AM_READ(watchdog_reset_r) AM_WRITE_LEGACY(skydiver_2000_201F_w)
AM_RANGE(0x2800, 0x2fff) AM_MIRROR(0x4000) AM_ROM
AM_RANGE(0x3000, 0x37ff) AM_MIRROR(0x4000) AM_ROM
AM_RANGE(0x3800, 0x3fff) AM_ROM
diff --git a/src/mame/drivers/skyfox.c b/src/mame/drivers/skyfox.c
index 10360c6b305..566681afe9a 100644
--- a/src/mame/drivers/skyfox.c
+++ b/src/mame/drivers/skyfox.c
@@ -70,7 +70,7 @@ static ADDRESS_MAP_START( skyfox_sound_map, AS_PROGRAM, 8, skyfox_state )
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r,ym2203_w) // YM2203 #1
// AM_RANGE(0xb000, 0xb001) AM_WRITENOP // ??
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ym2", ym2203_r,ym2203_w) // YM2203 #2
- AM_RANGE(0xb000, 0xb000) AM_READ_LEGACY(soundlatch_r) // From Main CPU
+ AM_RANGE(0xb000, 0xb000) AM_READ(soundlatch_r) // From Main CPU
ADDRESS_MAP_END
diff --git a/src/mame/drivers/skykid.c b/src/mame/drivers/skykid.c
index 7922b521a81..dfbccd3ba04 100644
--- a/src/mame/drivers/skykid.c
+++ b/src/mame/drivers/skykid.c
@@ -108,7 +108,7 @@ static ADDRESS_MAP_START( skykid_map, AS_PROGRAM, 8, skykid_state )
AM_RANGE(0x6200, 0x63ff) AM_WRITE_LEGACY(skykid_scroll_x_w) /* X scroll register map */
AM_RANGE(0x6800, 0x6bff) AM_DEVREADWRITE_LEGACY("namco", namcos1_cus30_r, namcos1_cus30_w) /* PSG device, shared RAM */
AM_RANGE(0x7000, 0x7fff) AM_WRITE(skykid_irq_1_ctrl_w) /* IRQ control */
- AM_RANGE(0x7800, 0x7fff) AM_READ_LEGACY(watchdog_reset_r) /* watchdog reset */
+ AM_RANGE(0x7800, 0x7fff) AM_READ(watchdog_reset_r) /* watchdog reset */
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM */
AM_RANGE(0x8000, 0x8fff) AM_WRITE(skykid_subreset_w) /* MCU control */
AM_RANGE(0x9000, 0x9fff) AM_WRITE(skykid_bankswitch_w) /* Bankswitch control */
@@ -119,7 +119,7 @@ static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, skykid_state )
AM_RANGE(0x0000, 0x001f) AM_READWRITE_LEGACY(m6801_io_r, m6801_io_w)
AM_RANGE(0x0080, 0x00ff) AM_RAM
AM_RANGE(0x1000, 0x13ff) AM_DEVREADWRITE_LEGACY("namco", namcos1_cus30_r, namcos1_cus30_w) /* PSG device, shared RAM */
- AM_RANGE(0x2000, 0x3fff) AM_WRITE_LEGACY(watchdog_reset_w) /* watchdog? */
+ AM_RANGE(0x2000, 0x3fff) AM_WRITE(watchdog_reset_w) /* watchdog? */
AM_RANGE(0x4000, 0x7fff) AM_WRITE(skykid_irq_2_ctrl_w)
AM_RANGE(0x8000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
diff --git a/src/mame/drivers/skyraid.c b/src/mame/drivers/skyraid.c
index 5491c8a914f..031bc3aff10 100644
--- a/src/mame/drivers/skyraid.c
+++ b/src/mame/drivers/skyraid.c
@@ -80,7 +80,7 @@ static ADDRESS_MAP_START( skyraid_map, AS_PROGRAM, 8, skyraid_state )
AM_RANGE(0x4000, 0x4000) AM_WRITE(skyraid_scroll_w)
AM_RANGE(0x4400, 0x4400) AM_DEVWRITE_LEGACY("discrete", skyraid_sound_w)
AM_RANGE(0x4800, 0x4800) AM_WRITE(skyraid_range_w)
- AM_RANGE(0x5000, 0x5000) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x5000, 0x5000) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x5800, 0x5800) AM_WRITE(skyraid_offset_w)
AM_RANGE(0x7000, 0x7fff) AM_ROM
AM_RANGE(0xf000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/sliver.c b/src/mame/drivers/sliver.c
index d337a4582ff..30e9cfe0d77 100644
--- a/src/mame/drivers/sliver.c
+++ b/src/mame/drivers/sliver.c
@@ -360,7 +360,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( soundmem_io, AS_IO, 8, sliver_state )
AM_RANGE(0x0100, 0x0100) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0x0101, 0x0101) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x0101, 0x0101) AM_READ(soundlatch_r)
/* ports */
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_WRITE(oki_setbank )
ADDRESS_MAP_END
diff --git a/src/mame/drivers/snk.c b/src/mame/drivers/snk.c
index ae99523f101..87bc89cd0e7 100644
--- a/src/mame/drivers/snk.c
+++ b/src/mame/drivers/snk.c
@@ -1439,7 +1439,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tnk3_YM3526_sound_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xc000, 0xc000) AM_READ(tnk3_busy_clear_r)
AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE_LEGACY("ym1", ym3526_r, ym3526_w)
AM_RANGE(0xe004, 0xe004) AM_READ(tnk3_cmdirq_ack_r)
@@ -1449,7 +1449,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( aso_YM3526_sound_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xd000, 0xd000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r)
AM_RANGE(0xe000, 0xe000) AM_READ(tnk3_busy_clear_r)
AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE_LEGACY("ym1", ym3526_r, ym3526_w)
// AM_RANGE(0xf002, 0xf002) AM_READNOP unknown
@@ -1460,7 +1460,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( YM3526_YM3526_sound_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
AM_RANGE(0xe800, 0xe800) AM_DEVREADWRITE_LEGACY("ym1", ym3526_status_port_r, ym3526_control_port_w)
AM_RANGE(0xec00, 0xec00) AM_DEVWRITE_LEGACY("ym1", ym3526_write_port_w)
AM_RANGE(0xf000, 0xf000) AM_DEVREADWRITE_LEGACY("ym2", ym3526_status_port_r, ym3526_control_port_w)
@@ -1471,7 +1471,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( YM3812_sound_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
AM_RANGE(0xe800, 0xe800) AM_DEVREADWRITE_LEGACY("ym1", ym3812_status_port_r, ym3812_control_port_w)
AM_RANGE(0xec00, 0xec00) AM_DEVWRITE_LEGACY("ym1", ym3812_write_port_w)
AM_RANGE(0xf800, 0xf800) AM_READWRITE(snk_sound_status_r, snk_sound_status_w)
@@ -1480,7 +1480,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( YM3526_Y8950_sound_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
AM_RANGE(0xe800, 0xe800) AM_DEVREADWRITE_LEGACY("ym1", ym3526_status_port_r, ym3526_control_port_w)
AM_RANGE(0xec00, 0xec00) AM_DEVWRITE_LEGACY("ym1", ym3526_write_port_w)
AM_RANGE(0xf000, 0xf000) AM_DEVREADWRITE_LEGACY("ym2", y8950_status_port_r, y8950_control_port_w)
@@ -1491,7 +1491,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( YM3812_Y8950_sound_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
AM_RANGE(0xe800, 0xe800) AM_DEVREADWRITE_LEGACY("ym1", ym3812_status_port_r, ym3812_control_port_w)
AM_RANGE(0xec00, 0xec00) AM_DEVWRITE_LEGACY("ym1", ym3812_write_port_w)
AM_RANGE(0xf000, 0xf000) AM_DEVREADWRITE_LEGACY("ym2", y8950_status_port_r, y8950_control_port_w)
@@ -1502,7 +1502,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( Y8950_sound_map, AS_PROGRAM, 8, snk_state )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
AM_RANGE(0xf000, 0xf000) AM_DEVREADWRITE_LEGACY("ym2", y8950_status_port_r, y8950_control_port_w)
AM_RANGE(0xf400, 0xf400) AM_DEVWRITE_LEGACY("ym2", y8950_write_port_w)
AM_RANGE(0xf800, 0xf800) AM_READWRITE(snk_sound_status_r, snk_sound_status_w)
diff --git a/src/mame/drivers/snk68.c b/src/mame/drivers/snk68.c
index 43a0e9ea029..bb787b49874 100644
--- a/src/mame/drivers/snk68.c
+++ b/src/mame/drivers/snk68.c
@@ -159,7 +159,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, snk68_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
- AM_RANGE(0xf800, 0xf800) AM_READ_LEGACY(soundlatch_r) AM_WRITE(sound_status_w)
+ AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r) AM_WRITE(sound_status_w)
ADDRESS_MAP_END
static WRITE8_DEVICE_HANDLER( D7759_write_port_0_w )
diff --git a/src/mame/drivers/snowbros.c b/src/mame/drivers/snowbros.c
index 3b57f629ea7..fc44b6e4ff7 100644
--- a/src/mame/drivers/snowbros.c
+++ b/src/mame/drivers/snowbros.c
@@ -198,7 +198,7 @@ WRITE16_MEMBER(snowbros_state::semicom_soundcmd_w)
static ADDRESS_MAP_START( snowbros_map, AS_PROGRAM, 16, snowbros_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
- AM_RANGE(0x200000, 0x200001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x200000, 0x200001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x300000, 0x300001) AM_READWRITE(snowbros_68000_sound_r,snowbros_68000_sound_w)
AM_RANGE(0x400000, 0x400001) AM_WRITE(snowbros_flipscreen_w)
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("DSW1")
@@ -219,7 +219,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, snowbros_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x02, 0x03) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
- AM_RANGE(0x04, 0x04) AM_READWRITE_LEGACY(soundlatch_r, soundlatch_w) /* goes back to the main CPU, checked during boot */
+ AM_RANGE(0x04, 0x04) AM_READWRITE(soundlatch_r, soundlatch_w) /* goes back to the main CPU, checked during boot */
ADDRESS_MAP_END
@@ -280,7 +280,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( wintbob_map, AS_PROGRAM, 16, snowbros_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM
- AM_RANGE(0x200000, 0x200001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x200000, 0x200001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x300000, 0x300001) AM_READWRITE(snowbros_68000_sound_r,snowbros_68000_sound_w)
AM_RANGE(0x400000, 0x400001) AM_WRITE(snowbros_flipscreen_w)
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("DSW1")
@@ -320,7 +320,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( honeydol_sound_io_map, AS_IO, 8, snowbros_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x02, 0x03) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w) // not connected?
- AM_RANGE(0x04, 0x04) AM_READWRITE_LEGACY(soundlatch_r, soundlatch_w) /* goes back to the main CPU, checked during boot */
+ AM_RANGE(0x04, 0x04) AM_READWRITE(soundlatch_r, soundlatch_w) /* goes back to the main CPU, checked during boot */
ADDRESS_MAP_END
/* Twin Adventure */
@@ -337,7 +337,7 @@ WRITE16_MEMBER(snowbros_state::twinadv_68000_sound_w)
static ADDRESS_MAP_START( twinadv_map, AS_PROGRAM, 16, snowbros_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x200001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x200000, 0x200001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x300000, 0x300001) AM_READWRITE(snowbros_68000_sound_r,twinadv_68000_sound_w)
AM_RANGE(0x400000, 0x400001) AM_WRITE(snowbros_flipscreen_w)
@@ -362,7 +362,7 @@ static WRITE8_DEVICE_HANDLER( twinadv_oki_bank_w )
static ADDRESS_MAP_START( twinadv_sound_io_map, AS_IO, 8, snowbros_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x02, 0x02) AM_READWRITE_LEGACY(soundlatch_r, soundlatch_w) // back to 68k?
+ AM_RANGE(0x02, 0x02) AM_READWRITE(soundlatch_r, soundlatch_w) // back to 68k?
AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY("oki", twinadv_oki_bank_w) // oki bank?
AM_RANGE(0x06, 0x06) AM_DEVREADWRITE("oki", okim6295_device, read, write)
ADDRESS_MAP_END
@@ -396,7 +396,7 @@ static ADDRESS_MAP_START( hyperpac_sound_map, AS_PROGRAM, 8, snowbros_state )
AM_RANGE(0xd000, 0xd7ff) AM_RAM
AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r,ym2151_w)
AM_RANGE(0xf002, 0xf002) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xf008, 0xf008) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xf008, 0xf008) AM_READ(soundlatch_r)
ADDRESS_MAP_END
/* Same volume used for all samples at the Moment, could be right, we have no
@@ -512,7 +512,7 @@ static WRITE16_DEVICE_HANDLER( sb3_sound_w )
static ADDRESS_MAP_START( snowbros3_map, AS_PROGRAM, 16, snowbros_state )
AM_RANGE( 0x000000, 0x03ffff) AM_ROM
AM_RANGE( 0x100000, 0x103fff) AM_RAM
- AM_RANGE( 0x200000, 0x200001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE( 0x200000, 0x200001) AM_WRITE(watchdog_reset16_w)
AM_RANGE( 0x300000, 0x300001) AM_READ(sb3_sound_r) // ?
AM_RANGE( 0x300000, 0x300001) AM_DEVWRITE_LEGACY("oki", sb3_sound_w) // ?
AM_RANGE( 0x400000, 0x400001) AM_WRITE(snowbros_flipscreen_w)
diff --git a/src/mame/drivers/solomon.c b/src/mame/drivers/solomon.c
index 4d09c7011af..5ebab7a695a 100644
--- a/src/mame/drivers/solomon.c
+++ b/src/mame/drivers/solomon.c
@@ -69,7 +69,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, solomon_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
- AM_RANGE(0x8000, 0x8000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x8000, 0x8000) AM_READ(soundlatch_r)
AM_RANGE(0xffff, 0xffff) AM_WRITENOP /* watchdog? */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sonson.c b/src/mame/drivers/sonson.c
index e0c31a66c32..ed8429dad7d 100644
--- a/src/mame/drivers/sonson.c
+++ b/src/mame/drivers/sonson.c
@@ -89,7 +89,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, sonson_state )
AM_RANGE(0x3005, 0x3005) AM_READ_PORT("DSW1")
AM_RANGE(0x3006, 0x3006) AM_READ_PORT("DSW2")
AM_RANGE(0x3008, 0x3008) AM_WRITENOP // might be Y scroll, but the game always sets it to 0
- AM_RANGE(0x3010, 0x3010) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x3010, 0x3010) AM_WRITE(soundlatch_w)
AM_RANGE(0x3018, 0x3018) AM_WRITE_LEGACY(sonson_flipscreen_w)
AM_RANGE(0x3019, 0x3019) AM_WRITE(sonson_sh_irqtrigger_w)
AM_RANGE(0x301e, 0x301e) AM_WRITE(sonson_coin2_counter_w)
@@ -101,7 +101,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, sonson_state )
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE_LEGACY("ay1", ay8910_address_data_w)
AM_RANGE(0x4000, 0x4001) AM_DEVWRITE_LEGACY("ay2", ay8910_address_data_w)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sothello.c b/src/mame/drivers/sothello.c
index 8a74e237d65..67a015c2d28 100644
--- a/src/mame/drivers/sothello.c
+++ b/src/mame/drivers/sothello.c
@@ -144,7 +144,7 @@ static ADDRESS_MAP_START( maincpu_io_map, AS_IO, 8, sothello_state )
AM_RANGE( 0x31, 0x31) AM_READ(subcpu_halt_clear)
AM_RANGE( 0x32, 0x32) AM_READ(subcpu_comm_status)
AM_RANGE( 0x33, 0x33) AM_READ(soundcpu_status_r)
- AM_RANGE( 0x40, 0x4f) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE( 0x40, 0x4f) AM_WRITE(soundlatch_w)
AM_RANGE( 0x50, 0x50) AM_WRITE(bank_w)
AM_RANGE( 0x60, 0x61) AM_MIRROR(0x02) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
/* not sure, but the A1 line is ignored, code @ $8b8 */
@@ -193,7 +193,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( soundcpu_io_map, AS_IO, 8, sothello_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r)
AM_RANGE(0x01, 0x01) AM_WRITE(msm_data_w)
AM_RANGE(0x02, 0x02) AM_DEVWRITE_LEGACY("msm", msm_cfg_w)
AM_RANGE(0x03, 0x03) AM_WRITE(soundcpu_busyflag_set_w)
diff --git a/src/mame/drivers/spbactn.c b/src/mame/drivers/spbactn.c
index 1e0eecf8feb..f417011b256 100644
--- a/src/mame/drivers/spbactn.c
+++ b/src/mame/drivers/spbactn.c
@@ -193,7 +193,7 @@ static ADDRESS_MAP_START( spbactn_sound_map, AS_PROGRAM, 8, spbactn_state )
AM_RANGE(0xf810, 0xf811) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
AM_RANGE(0xfc00, 0xfc00) AM_READNOP AM_WRITENOP /* irq ack ?? */
- AM_RANGE(0xfc20, 0xfc20) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xfc20, 0xfc20) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/spcforce.c b/src/mame/drivers/spcforce.c
index e6913b5e273..036ba78aad2 100644
--- a/src/mame/drivers/spcforce.c
+++ b/src/mame/drivers/spcforce.c
@@ -87,7 +87,7 @@ WRITE8_MEMBER(spcforce_state::irq_mask_w)
static ADDRESS_MAP_START( spcforce_map, AS_PROGRAM, 8, spcforce_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
- AM_RANGE(0x7000, 0x7000) AM_READ_PORT("DSW") AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x7000, 0x7000) AM_READ_PORT("DSW") AM_WRITE(soundlatch_w)
AM_RANGE(0x7001, 0x7001) AM_READ_PORT("P1") AM_WRITE(spcforce_soundtrigger_w)
AM_RANGE(0x7002, 0x7002) AM_READ_PORT("P2")
AM_RANGE(0x700b, 0x700b) AM_WRITE_LEGACY(spcforce_flip_screen_w)
@@ -103,7 +103,7 @@ static ADDRESS_MAP_START( spcforce_sound_map, AS_PROGRAM, 8, spcforce_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( spcforce_sound_io_map, AS_IO, 8, spcforce_state )
- AM_RANGE(MCS48_PORT_BUS, MCS48_PORT_BUS) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(MCS48_PORT_BUS, MCS48_PORT_BUS) AM_READ(soundlatch_r)
AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_WRITE(spcforce_SN76496_latch_w)
AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_READWRITE(spcforce_SN76496_select_r, spcforce_SN76496_select_w)
AM_RANGE(MCS48_PORT_T0, MCS48_PORT_T0) AM_READ(spcforce_t0_r)
diff --git a/src/mame/drivers/spdodgeb.c b/src/mame/drivers/spdodgeb.c
index b7ac17c543f..b2cec0e4d6e 100644
--- a/src/mame/drivers/spdodgeb.c
+++ b/src/mame/drivers/spdodgeb.c
@@ -263,7 +263,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( spdodgeb_sound_map, AS_PROGRAM, 8, spdodgeb_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM
- AM_RANGE(0x1000, 0x1000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x1000, 0x1000) AM_READ(soundlatch_r)
AM_RANGE(0x2800, 0x2801) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
AM_RANGE(0x3800, 0x3807) AM_WRITE(spd_adpcm_w)
AM_RANGE(0x8000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/speedatk.c b/src/mame/drivers/speedatk.c
index b36d79d65b1..705b4677794 100644
--- a/src/mame/drivers/speedatk.c
+++ b/src/mame/drivers/speedatk.c
@@ -185,7 +185,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( speedatk_io, AS_IO, 8, speedatk_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_WRITE_LEGACY(speedatk_6845_w) //h46505 address / data routing
- AM_RANGE(0x24, 0x24) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x24, 0x24) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x40, 0x40) AM_DEVREAD_LEGACY("aysnd", ay8910_r)
AM_RANGE(0x40, 0x41) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_data_w)
//what's 60-6f for? Seems used only in attract mode and read back when a 2p play ends ...
diff --git a/src/mame/drivers/speedspn.c b/src/mame/drivers/speedspn.c
index 6b01f649c1b..7e425199536 100644
--- a/src/mame/drivers/speedspn.c
+++ b/src/mame/drivers/speedspn.c
@@ -135,7 +135,7 @@ static ADDRESS_MAP_START( speedspn_sound_map, AS_PROGRAM, 8, speedspn_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_DEVWRITE_LEGACY("oki", oki_banking_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/splash.c b/src/mame/drivers/splash.c
index 3f6324a578f..3d5fa2d0bf0 100644
--- a/src/mame/drivers/splash.c
+++ b/src/mame/drivers/splash.c
@@ -123,7 +123,7 @@ static ADDRESS_MAP_START( splash_sound_map, AS_PROGRAM, 8, splash_state )
AM_RANGE(0x0000, 0xd7ff) AM_ROM /* ROM */
AM_RANGE(0xd800, 0xd800) AM_WRITE(splash_adpcm_data_w) /* ADPCM data for the MSM5205 chip */
// AM_RANGE(0xe000, 0xe000) AM_WRITENOP /* ??? */
- AM_RANGE(0xe800, 0xe800) AM_READ_LEGACY(soundlatch_r) /* Sound latch */
+ AM_RANGE(0xe800, 0xe800) AM_READ(soundlatch_r) /* Sound latch */
AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r,ym3812_w) /* YM3812 */
AM_RANGE(0xf800, 0xffff) AM_RAM /* RAM */
ADDRESS_MAP_END
@@ -204,7 +204,7 @@ static ADDRESS_MAP_START( roldfrog_sound_io_map, AS_IO, 8, splash_state )
AM_RANGE(0x40, 0x40) AM_NOP
AM_RANGE(0x31, 0x31) AM_WRITE(sound_bank_w)
AM_RANGE(0x37, 0x37) AM_WRITE(roldfrog_vblank_ack_w )
- AM_RANGE(0x70, 0x70) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x70, 0x70) AM_READ(soundlatch_r)
AM_RANGE(0x0, 0xff) AM_READ(roldfrog_unk_r)
ADDRESS_MAP_END
@@ -285,7 +285,7 @@ static ADDRESS_MAP_START( funystrp_sound_io_map, AS_IO, 8, splash_state )
AM_RANGE(0x00, 0x00) AM_WRITE(msm1_data_w)
AM_RANGE(0x01, 0x01) AM_WRITE(msm2_data_w)
AM_RANGE(0x02, 0x02) AM_WRITE(sound_bank_w)
- AM_RANGE(0x03, 0x03) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x03, 0x03) AM_READ(soundlatch_r)
AM_RANGE(0x04, 0x04) AM_READ(int_source_r)
AM_RANGE(0x06, 0x06) AM_WRITE(msm1_interrupt_w)
AM_RANGE(0x07, 0x07) AM_WRITE(msm2_interrupt_w)
diff --git a/src/mame/drivers/sprint2.c b/src/mame/drivers/sprint2.c
index 70a7d449dbd..21849d181b2 100644
--- a/src/mame/drivers/sprint2.c
+++ b/src/mame/drivers/sprint2.c
@@ -263,7 +263,7 @@ static ADDRESS_MAP_START( sprint2_map, AS_PROGRAM, 8, sprint2_state )
AM_RANGE(0x0c30, 0x0c3f) AM_WRITE(sprint2_lamp1_w)
AM_RANGE(0x0c40, 0x0c4f) AM_WRITE(sprint2_lamp2_w)
AM_RANGE(0x0c60, 0x0c6f) AM_WRITENOP /* SPARE */
- AM_RANGE(0x0c80, 0x0cff) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x0c80, 0x0cff) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x0d00, 0x0d7f) AM_WRITE_LEGACY(sprint2_collision_reset1_w)
AM_RANGE(0x0d80, 0x0dff) AM_WRITE_LEGACY(sprint2_collision_reset2_w)
AM_RANGE(0x0e00, 0x0e7f) AM_WRITE(sprint2_steering_reset1_w)
diff --git a/src/mame/drivers/sprint4.c b/src/mame/drivers/sprint4.c
index f9c97c59777..fc58323f925 100644
--- a/src/mame/drivers/sprint4.c
+++ b/src/mame/drivers/sprint4.c
@@ -245,7 +245,7 @@ static ADDRESS_MAP_START( sprint4_cpu_map, AS_PROGRAM, 8, sprint4_state )
AM_RANGE(0x0020, 0x0027) AM_MIRROR(0x718) AM_WRITE(sprint4_collision_reset_w)
AM_RANGE(0x0040, 0x0041) AM_MIRROR(0x718) AM_WRITE(sprint4_da_latch_w)
AM_RANGE(0x0042, 0x0043) AM_MIRROR(0x718) AM_DEVWRITE_LEGACY("discrete", sprint4_bang_w)
- AM_RANGE(0x0044, 0x0045) AM_MIRROR(0x718) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x0044, 0x0045) AM_MIRROR(0x718) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x0060, 0x0067) AM_MIRROR(0x710) AM_WRITE(sprint4_lamp_w)
AM_RANGE(0x0068, 0x0069) AM_MIRROR(0x710) AM_DEVWRITE_LEGACY("discrete", sprint4_screech_1_w)
AM_RANGE(0x006a, 0x006b) AM_MIRROR(0x710) AM_DEVWRITE_LEGACY("discrete", sprint4_screech_2_w)
diff --git a/src/mame/drivers/spy.c b/src/mame/drivers/spy.c
index 63cc249ebdb..29a593afd83 100644
--- a/src/mame/drivers/spy.c
+++ b/src/mame/drivers/spy.c
@@ -382,8 +382,8 @@ static ADDRESS_MAP_START( spy_map, AS_PROGRAM, 8, spy_state )
AM_RANGE(0x0800, 0x1aff) AM_RAM
AM_RANGE(0x3f80, 0x3f80) AM_WRITE(bankswitch_w)
AM_RANGE(0x3f90, 0x3f90) AM_WRITE(spy_3f90_w)
- AM_RANGE(0x3fa0, 0x3fa0) AM_WRITE_LEGACY(watchdog_reset_w)
- AM_RANGE(0x3fb0, 0x3fb0) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x3fa0, 0x3fa0) AM_WRITE(watchdog_reset_w)
+ AM_RANGE(0x3fb0, 0x3fb0) AM_WRITE(soundlatch_w)
AM_RANGE(0x3fc0, 0x3fc0) AM_WRITE(spy_sh_irqtrigger_w)
AM_RANGE(0x3fd0, 0x3fd0) AM_READ_PORT("SYSTEM")
AM_RANGE(0x3fd1, 0x3fd1) AM_READ_PORT("P1")
@@ -402,7 +402,7 @@ static ADDRESS_MAP_START( spy_sound_map, AS_PROGRAM, 8, spy_state )
AM_RANGE(0xa000, 0xa00d) AM_DEVREADWRITE_LEGACY("k007232_1", k007232_r, k007232_w)
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("k007232_2", k007232_r, k007232_w)
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r,ym3812_w)
- AM_RANGE(0xd000, 0xd000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/srumbler.c b/src/mame/drivers/srumbler.c
index a6beb5d1950..6b1ccb19c45 100644
--- a/src/mame/drivers/srumbler.c
+++ b/src/mame/drivers/srumbler.c
@@ -83,7 +83,7 @@ static ADDRESS_MAP_START( srumbler_map, AS_PROGRAM, 8, srumbler_state )
AM_RANGE(0x400b, 0x400b) AM_READ_PORT("DSW1")
AM_RANGE(0x400c, 0x400c) AM_READ_PORT("DSW2")
AM_RANGE(0x400a, 0x400d) AM_WRITE_LEGACY(srumbler_scroll_w)
- AM_RANGE(0x400e, 0x400e) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x400e, 0x400e) AM_WRITE(soundlatch_w)
AM_RANGE(0x5000, 0x5fff) AM_ROMBANK("5000") AM_WRITE_LEGACY(srumbler_foreground_w) AM_BASE(m_foregroundram) /* Banked ROM */
AM_RANGE(0x6000, 0x6fff) AM_ROMBANK("6000") /* Banked ROM */
AM_RANGE(0x6000, 0x6fff) AM_WRITENOP /* Video RAM 2 ??? (not used) */
@@ -104,7 +104,7 @@ static ADDRESS_MAP_START( srumbler_sound_map, AS_PROGRAM, 8, srumbler_state )
AM_RANGE(0x8000, 0x8001) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0xa000, 0xa001) AM_DEVWRITE_LEGACY("ym2", ym2203_w)
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ssozumo.c b/src/mame/drivers/ssozumo.c
index 40c1baacc5c..e2e3b4ee59a 100644
--- a/src/mame/drivers/ssozumo.c
+++ b/src/mame/drivers/ssozumo.c
@@ -53,7 +53,7 @@ static ADDRESS_MAP_START( ssozumo_sound_map, AS_PROGRAM, 8, ssozumo_state )
AM_RANGE(0x2002, 0x2003) AM_DEVWRITE_LEGACY("ay2", ay8910_data_address_w)
AM_RANGE(0x2004, 0x2004) AM_DEVWRITE_LEGACY("dac", dac_signed_w)
AM_RANGE(0x2005, 0x2005) AM_WRITE(sound_nmi_mask_w)
- AM_RANGE(0x2007, 0x2007) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x2007, 0x2007) AM_READ(soundlatch_r)
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sspeedr.c b/src/mame/drivers/sspeedr.c
index 431cc65ef8b..9110da84c2d 100644
--- a/src/mame/drivers/sspeedr.c
+++ b/src/mame/drivers/sspeedr.c
@@ -91,7 +91,7 @@ static ADDRESS_MAP_START( sspeedr_io_map, AS_IO, 8, sspeedr_state )
AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW")
AM_RANGE(0x04, 0x04) AM_READ_PORT("IN2")
AM_RANGE(0x04, 0x05) AM_WRITE(sspeedr_time_w)
- AM_RANGE(0x06, 0x06) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x10, 0x10) AM_WRITE_LEGACY(sspeedr_driver_horz_w)
AM_RANGE(0x11, 0x11) AM_WRITE_LEGACY(sspeedr_driver_pic_w)
AM_RANGE(0x12, 0x12) AM_WRITE_LEGACY(sspeedr_driver_horz_2_w)
diff --git a/src/mame/drivers/ssv.c b/src/mame/drivers/ssv.c
index b7964fd3002..f0a184a0092 100644
--- a/src/mame/drivers/ssv.c
+++ b/src/mame/drivers/ssv.c
@@ -617,7 +617,7 @@ READ16_MEMBER(ssv_state::hypreact_input_r)
}
static ADDRESS_MAP_START( hypreact_map, AS_PROGRAM, 16, ssv_state )
- AM_RANGE(0x210000, 0x210001) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 5 at the start
AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w) // Inverted lockout lines
// AM_RANGE(0x280000, 0x280001) AM_READNOP // ? read at the start, value not used
@@ -633,7 +633,7 @@ ADDRESS_MAP_END
***************************************************************************/
static ADDRESS_MAP_START( hypreac2_map, AS_PROGRAM, 16, ssv_state )
- AM_RANGE(0x210000, 0x210001) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 5 at the start
AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w) // Inverted lockout lines
// AM_RANGE(0x280000, 0x280001) AM_READNOP // ? read at the start, value not used
@@ -679,7 +679,7 @@ ADDRESS_MAP_END
***************************************************************************/
static ADDRESS_MAP_START( meosism_map, AS_PROGRAM, 16, ssv_state )
- AM_RANGE(0x210000, 0x210001) AM_READ_LEGACY(watchdog_reset16_r ) // Watchdog
+ AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r ) // Watchdog
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 5 at the start
// AM_RANGE(0x280000, 0x280001) AM_READNOP // ? read once, value not used
// AM_RANGE(0x500004, 0x500005) AM_WRITENOP // ? 0,58,18
@@ -719,7 +719,7 @@ ADDRESS_MAP_END
***************************************************************************/
static ADDRESS_MAP_START( ryorioh_map, AS_PROGRAM, 16, ssv_state )
- AM_RANGE(0x210000, 0x210001) AM_WRITE_LEGACY(watchdog_reset16_w) // Watchdog
+ AM_RANGE(0x210000, 0x210001) AM_WRITE(watchdog_reset16_w) // Watchdog
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 1 at the start
SSV_MAP( 0xc00000 )
ADDRESS_MAP_END
@@ -742,7 +742,7 @@ READ16_MEMBER(ssv_state::srmp4_input_r)
}
static ADDRESS_MAP_START( srmp4_map, AS_PROGRAM, 16, ssv_state )
- AM_RANGE(0x210000, 0x210001) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 1,5 at the start
AM_RANGE(0xc0000a, 0xc0000b) AM_READ(srmp4_input_r) // Inputs
AM_RANGE(0xc0000e, 0xc0000f) AM_WRITEONLY AM_BASE(m_input_sel) // Inputs
@@ -791,7 +791,7 @@ READ16_MEMBER(ssv_state::srmp7_input_r)
static ADDRESS_MAP_START( srmp7_map, AS_PROGRAM, 16, ssv_state )
AM_RANGE(0x010000, 0x050faf) AM_RAM // More RAM
- AM_RANGE(0x210000, 0x210001) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 0,4 at the start
AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w) // Coin Counters / Lockouts
AM_RANGE(0x300076, 0x300077) AM_READ(srmp7_irqv_r) // Sound
@@ -808,7 +808,7 @@ ADDRESS_MAP_END
***************************************************************************/
static ADDRESS_MAP_START( survarts_map, AS_PROGRAM, 16, ssv_state )
- AM_RANGE(0x210000, 0x210001) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 0,4 at the start
// AM_RANGE(0x290000, 0x290001) AM_READNOP // ?
// AM_RANGE(0x2a0000, 0x2a0001) AM_READNOP // ?
@@ -859,7 +859,7 @@ WRITE16_MEMBER(ssv_state::sxyreact_motor_w)
static ADDRESS_MAP_START( sxyreact_map, AS_PROGRAM, 16, ssv_state )
// AM_RANGE(0x020000, 0x03ffff) AM_READWRITE(ssv_mainram_r, ssv_mainram_w) // sxyreac2 reads / writes here, why?
- AM_RANGE(0x210000, 0x210001) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 1 at the start
AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w) // Inverted lockout lines
AM_RANGE(0x500002, 0x500003) AM_READ(sxyreact_ballswitch_r) // ?
@@ -878,7 +878,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( twineag2_map, AS_PROGRAM, 16, ssv_state )
AM_RANGE(0x010000, 0x03ffff) AM_RAM // More RAM
- AM_RANGE(0x210000, 0x210001) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog (also value is cmp.b with mem 8)
+ AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog (also value is cmp.b with mem 8)
AM_RANGE(0x480000, 0x480001) AM_READWRITE(dsp_dr_r, dsp_dr_w)
AM_RANGE(0x482000, 0x482fff) AM_READWRITE(dsp_r, dsp_w)
SSV_MAP( 0xe00000 )
@@ -893,7 +893,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ultrax_map, AS_PROGRAM, 16, ssv_state )
AM_RANGE(0x010000, 0x03ffff) AM_RAM // More RAM
- AM_RANGE(0x210000, 0x210001) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog (also value is cmp.b with memory address 8)
+ AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog (also value is cmp.b with memory address 8)
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 2,6 at the start
SSV_MAP( 0xe00000 )
ADDRESS_MAP_END
@@ -940,7 +940,7 @@ WRITE16_MEMBER(ssv_state::latch16_w)
static ADDRESS_MAP_START( jsk_map, AS_PROGRAM, 16, ssv_state )
AM_RANGE(0x050000, 0x05ffff) AM_READWRITE(ssv_mainram_r, ssv_mainram_w) // RAM Mirror?
- AM_RANGE(0x210000, 0x210001) AM_WRITE_LEGACY(watchdog_reset16_w) // Watchdog
+ AM_RANGE(0x210000, 0x210001) AM_WRITE(watchdog_reset16_w) // Watchdog
AM_RANGE(0x400000, 0x47ffff) AM_RAM // RAM?
AM_RANGE(0x900000, 0x900007) AM_READWRITE(latch16_r, latch16_w)
SSV_MAP( 0xf00000 )
@@ -1023,7 +1023,7 @@ WRITE16_MEMBER(ssv_state::eaglshot_gfxram_w)
static ADDRESS_MAP_START( eaglshot_map, AS_PROGRAM, 16, ssv_state )
AM_RANGE(0x180000, 0x1bffff) AM_READWRITE(eaglshot_gfxram_r, eaglshot_gfxram_w)
- AM_RANGE(0x210000, 0x210001) AM_READNOP /*AM_READ_LEGACY(watchdog_reset16_r)*/ // Watchdog
+ AM_RANGE(0x210000, 0x210001) AM_READNOP /*AM_READ(watchdog_reset16_r)*/ // Watchdog
// AM_RANGE(0x210002, 0x210003) AM_WRITENOP // ? 0,4 at the start
AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w) // Inverted lockout lines
AM_RANGE(0x800000, 0x800001) AM_WRITE(eaglshot_gfxrom_w)
diff --git a/src/mame/drivers/stadhero.c b/src/mame/drivers/stadhero.c
index 0c3fbd17ef3..b4070685c8c 100644
--- a/src/mame/drivers/stadhero.c
+++ b/src/mame/drivers/stadhero.c
@@ -75,7 +75,7 @@ static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, stadhero_state )
AM_RANGE(0x0000, 0x05ff) AM_RAM
AM_RANGE(0x0800, 0x0801) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
- AM_RANGE(0x3000, 0x3000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r)
AM_RANGE(0x3800, 0x3800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/starwars.c b/src/mame/drivers/starwars.c
index cbc2434aacb..3bc313cd229 100644
--- a/src/mame/drivers/starwars.c
+++ b/src/mame/drivers/starwars.c
@@ -165,7 +165,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, starwars_state )
AM_RANGE(0x4500, 0x45ff) AM_DEVREADWRITE("x2212", x2212_device, read, write)
AM_RANGE(0x4600, 0x461f) AM_WRITE_LEGACY(avgdvg_go_w)
AM_RANGE(0x4620, 0x463f) AM_WRITE_LEGACY(avgdvg_reset_w)
- AM_RANGE(0x4640, 0x465f) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x4640, 0x465f) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x4660, 0x467f) AM_WRITE(irq_ack_w)
AM_RANGE(0x4680, 0x469f) AM_READNOP AM_WRITE_LEGACY(starwars_out_w)
AM_RANGE(0x46a0, 0x46bf) AM_WRITE_LEGACY(starwars_nstore_w)
diff --git a/src/mame/drivers/sub.c b/src/mame/drivers/sub.c
index 8a8fa75688a..16772623524 100644
--- a/src/mame/drivers/sub.c
+++ b/src/mame/drivers/sub.c
@@ -251,7 +251,7 @@ WRITE8_MEMBER(sub_state::nmi_mask_w)
static ADDRESS_MAP_START( subm_io, AS_IO, 8, sub_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch2_r) AM_WRITE(subm_to_sound_w) // to/from sound CPU
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch2_r) AM_WRITE(subm_to_sound_w) // to/from sound CPU
ADDRESS_MAP_END
static ADDRESS_MAP_START( subm_sound_map, AS_PROGRAM, 8, sub_state )
@@ -262,7 +262,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( subm_sound_io, AS_IO, 8, sub_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READWRITE_LEGACY(soundlatch_r, soundlatch2_w) // to/from main CPU
+ AM_RANGE(0x00, 0x00) AM_READWRITE(soundlatch_r, soundlatch2_w) // to/from main CPU
AM_RANGE(0x40, 0x41) AM_DEVREADWRITE_LEGACY("ay1", ay8910_r, ay8910_address_data_w)
AM_RANGE(0x80, 0x81) AM_DEVREADWRITE_LEGACY("ay2", ay8910_r, ay8910_address_data_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/suna16.c b/src/mame/drivers/suna16.c
index a97d519381d..0974d678406 100644
--- a/src/mame/drivers/suna16.c
+++ b/src/mame/drivers/suna16.c
@@ -202,9 +202,9 @@ static ADDRESS_MAP_START( bssoccer_sound_map, AS_PROGRAM, 8, suna16_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM // RAM
AM_RANGE(0xf800, 0xf801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w) // YM2151
- AM_RANGE(0xfc00, 0xfc00) AM_READ_LEGACY(soundlatch_r) // From Main CPU
- AM_RANGE(0xfd00, 0xfd00) AM_WRITE_LEGACY(soundlatch2_w) // To PCM Z80 #1
- AM_RANGE(0xfe00, 0xfe00) AM_WRITE_LEGACY(soundlatch3_w) // To PCM Z80 #2
+ AM_RANGE(0xfc00, 0xfc00) AM_READ(soundlatch_r) // From Main CPU
+ AM_RANGE(0xfd00, 0xfd00) AM_WRITE(soundlatch2_w) // To PCM Z80 #1
+ AM_RANGE(0xfe00, 0xfe00) AM_WRITE(soundlatch3_w) // To PCM Z80 #2
ADDRESS_MAP_END
/***************************************************************************
@@ -215,7 +215,7 @@ static ADDRESS_MAP_START( uballoon_sound_map, AS_PROGRAM, 8, suna16_state )
AM_RANGE(0x0000, 0xefff) AM_ROM // ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM // RAM
AM_RANGE(0xf800, 0xf801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w) // YM2151
- AM_RANGE(0xfc00, 0xfc00) AM_READWRITE_LEGACY(soundlatch_r, soundlatch2_w) // To PCM Z80
+ AM_RANGE(0xfc00, 0xfc00) AM_READWRITE(soundlatch_r, soundlatch2_w) // To PCM Z80
ADDRESS_MAP_END
/***************************************************************************
@@ -226,7 +226,7 @@ static ADDRESS_MAP_START( sunaq_sound_map, AS_PROGRAM, 8, suna16_state )
AM_RANGE(0x0000, 0xe82f) AM_ROM // ROM
AM_RANGE(0xe830, 0xf7ff) AM_RAM // RAM (writes to efxx, could be a program bug tho)
AM_RANGE(0xf800, 0xf801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w) // YM2151
- AM_RANGE(0xfc00, 0xfc00) AM_READWRITE_LEGACY(soundlatch_r, soundlatch2_w) // To PCM Z80
+ AM_RANGE(0xfc00, 0xfc00) AM_READWRITE(soundlatch_r, soundlatch2_w) // To PCM Z80
ADDRESS_MAP_END
/***************************************************************************
@@ -238,7 +238,7 @@ static ADDRESS_MAP_START( bestbest_sound_map, AS_PROGRAM, 8, suna16_state )
AM_RANGE( 0xc000, 0xc001 ) AM_DEVWRITE_LEGACY("ymsnd", ym3526_w ) //
AM_RANGE( 0xc002, 0xc003 ) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_data_w ) // AY8910
AM_RANGE( 0xe000, 0xe7ff ) AM_RAM // RAM
- AM_RANGE( 0xf000, 0xf000 ) AM_WRITE_LEGACY(soundlatch2_w ) // To PCM Z80
+ AM_RANGE( 0xf000, 0xf000 ) AM_WRITE(soundlatch2_w ) // To PCM Z80
AM_RANGE( 0xf800, 0xf800 ) AM_READ ( soundlatch_r ) // From Main CPU
ADDRESS_MAP_END
@@ -299,7 +299,7 @@ static WRITE8_DEVICE_HANDLER( bssoccer_DAC_w )
static ADDRESS_MAP_START( bssoccer_pcm_1_io_map, AS_IO, 8, suna16_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch2_r) // From The Sound Z80
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch2_r) // From The Sound Z80
AM_RANGE(0x00, 0x00) AM_DEVWRITE_LEGACY("dac1", bssoccer_DAC_w) // 2 x DAC
AM_RANGE(0x01, 0x01) AM_DEVWRITE_LEGACY("dac2", bssoccer_DAC_w) // 2 x DAC
AM_RANGE(0x03, 0x03) AM_WRITE(bssoccer_pcm_1_bankswitch_w) // Rom Bank
@@ -307,7 +307,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( bssoccer_pcm_2_io_map, AS_IO, 8, suna16_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch3_r) // From The Sound Z80
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch3_r) // From The Sound Z80
AM_RANGE(0x00, 0x00) AM_DEVWRITE_LEGACY("dac3", bssoccer_DAC_w) // 2 x DAC
AM_RANGE(0x01, 0x01) AM_DEVWRITE_LEGACY("dac4", bssoccer_DAC_w) // 2 x DAC
AM_RANGE(0x03, 0x03) AM_WRITE(bssoccer_pcm_2_bankswitch_w) // Rom Bank
@@ -337,7 +337,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( uballoon_pcm_1_io_map, AS_IO, 8, suna16_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch2_r) // From The Sound Z80
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch2_r) // From The Sound Z80
AM_RANGE(0x00, 0x00) AM_DEVWRITE_LEGACY("dac1", bssoccer_DAC_w) // 2 x DAC
AM_RANGE(0x01, 0x01) AM_DEVWRITE_LEGACY("dac2", bssoccer_DAC_w) // 2 x DAC
AM_RANGE(0x03, 0x03) AM_WRITE(uballoon_pcm_1_bankswitch_w) // Rom Bank
diff --git a/src/mame/drivers/suna8.c b/src/mame/drivers/suna8.c
index 0e3c8584bc4..6aaa35c78d8 100644
--- a/src/mame/drivers/suna8.c
+++ b/src/mame/drivers/suna8.c
@@ -513,8 +513,8 @@ static ADDRESS_MAP_START( hardhead_map, AS_PROGRAM, 8, suna8_state )
AM_RANGE(0xc000, 0xd7ff) AM_RAM // RAM
AM_RANGE(0xd800, 0xd9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram") // Palette
AM_RANGE(0xda00, 0xda00) AM_RAM_READ(hardhead_ip_r) AM_BASE(m_hardhead_ip) // Input Port Select
- AM_RANGE(0xda80, 0xda80) AM_READ_LEGACY(soundlatch2_r) AM_WRITE(hardhead_bankswitch_w ) // ROM Banking
- AM_RANGE(0xdb00, 0xdb00) AM_WRITE_LEGACY(soundlatch_w ) // To Sound CPU
+ AM_RANGE(0xda80, 0xda80) AM_READ(soundlatch2_r) AM_WRITE(hardhead_bankswitch_w ) // ROM Banking
+ AM_RANGE(0xdb00, 0xdb00) AM_WRITE(soundlatch_w ) // To Sound CPU
AM_RANGE(0xdb80, 0xdb80) AM_WRITE(hardhead_flipscreen_w ) // Flip Screen + Coin Lockout
AM_RANGE(0xdc00, 0xdc00) AM_NOP // <- R (after bank select)
AM_RANGE(0xdc80, 0xdc80) AM_NOP // <- R (after bank select)
@@ -578,7 +578,7 @@ WRITE8_MEMBER(suna8_state::sranger_prot_w)
static ADDRESS_MAP_START( rranger_map, AS_PROGRAM, 8, suna8_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") // Banked ROM
- AM_RANGE(0xc000, 0xc000) AM_READWRITE_LEGACY(watchdog_reset_r, soundlatch_w) // To Sound CPU
+ AM_RANGE(0xc000, 0xc000) AM_READWRITE(watchdog_reset_r, soundlatch_w) // To Sound CPU
AM_RANGE(0xc002, 0xc002) AM_WRITE(rranger_bankswitch_w ) // ROM Banking
AM_RANGE(0xc002, 0xc002) AM_READ_PORT("P1") // P1 (Inputs)
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("P2") // P2
@@ -773,7 +773,7 @@ static ADDRESS_MAP_START( hardhea2_map, AS_PROGRAM, 8, suna8_state )
AM_RANGE(0xc380, 0xc380) AM_WRITE(hardhea2_nmi_w ) // ? NMI related ?
AM_RANGE(0xc400, 0xc400) AM_WRITE(hardhea2_leds_w ) // Leds + Coin Counter
AM_RANGE(0xc480, 0xc480) AM_WRITENOP // ~ROM Bank
- AM_RANGE(0xc500, 0xc500) AM_WRITE_LEGACY(soundlatch_w ) // To Sound CPU
+ AM_RANGE(0xc500, 0xc500) AM_WRITE(soundlatch_w ) // To Sound CPU
// *** Protection
AM_RANGE(0xc50f, 0xc50f) AM_WRITE(hardhea2_spritebank_1_w )
@@ -824,7 +824,7 @@ static ADDRESS_MAP_START( starfigh_map, AS_PROGRAM, 8, suna8_state )
AM_RANGE(0xc280, 0xc280) AM_WRITE(hardhea2_rombank_w ) // ROM Bank (?mirrored up to c2ff?)
AM_RANGE(0xc300, 0xc300) AM_WRITE(hardhea2_flipscreen_w ) // Flip Screen
AM_RANGE(0xc400, 0xc400) AM_WRITE(hardhea2_leds_w ) // Leds + Coin Counter
- AM_RANGE(0xc500, 0xc500) AM_WRITE_LEGACY(soundlatch_w ) // To Sound CPU
+ AM_RANGE(0xc500, 0xc500) AM_WRITE(soundlatch_w ) // To Sound CPU
AM_RANGE(0xc600, 0xc7ff) AM_READWRITE(banked_paletteram_r, paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram" ) // Palette (Banked??)
AM_RANGE(0xc800, 0xdfff) AM_RAM // RAM
AM_RANGE(0xe000, 0xffff) AM_READWRITE_LEGACY(suna8_banked_spriteram_r, suna8_banked_spriteram_w) // Sprites (Banked)
@@ -957,7 +957,7 @@ static ADDRESS_MAP_START( sparkman_map, AS_PROGRAM, 8, suna8_state )
AM_RANGE(0xc380, 0xc3ff) AM_WRITE(sparkman_cmd_prot_w ) // Protection
AM_RANGE(0xc400, 0xc400) AM_WRITE(sparkman_leds_w ) // Leds
AM_RANGE(0xc480, 0xc480) AM_WRITE(sparkman_coin_counter_w ) // Coin Counter
- AM_RANGE(0xc500, 0xc500) AM_WRITE_LEGACY(soundlatch_w ) // To Sound CPU
+ AM_RANGE(0xc500, 0xc500) AM_WRITE(soundlatch_w ) // To Sound CPU
AM_RANGE(0xc600, 0xc7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_SHARE("paletteram" ) // Palette (Banked??)
AM_RANGE(0xc800, 0xdfff) AM_RAM_WRITE(suna8_wram_w) AM_BASE(m_wram) // RAM
AM_RANGE(0xe000, 0xffff) AM_READWRITE_LEGACY(suna8_banked_spriteram_r, suna8_banked_spriteram_w) // Sprites (Banked)
@@ -982,8 +982,8 @@ static ADDRESS_MAP_START( hardhead_sound_map, AS_PROGRAM, 8, suna8_state )
AM_RANGE(0xa002, 0xa003) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_data_w )
AM_RANGE(0xc000, 0xc7ff) AM_RAM // RAM
AM_RANGE(0xc800, 0xc800) AM_DEVREAD_LEGACY("ymsnd", ym3812_status_port_r) // ? unsure
- AM_RANGE(0xd000, 0xd000) AM_WRITE_LEGACY(soundlatch2_w ) //
- AM_RANGE(0xd800, 0xd800) AM_READ_LEGACY(soundlatch_r ) // From Main CPU
+ AM_RANGE(0xd000, 0xd000) AM_WRITE(soundlatch2_w ) //
+ AM_RANGE(0xd800, 0xd800) AM_READ(soundlatch_r ) // From Main CPU
ADDRESS_MAP_END
@@ -1002,8 +1002,8 @@ static ADDRESS_MAP_START( rranger_sound_map, AS_PROGRAM, 8, suna8_state )
AM_RANGE(0xa000, 0xa001) AM_DEVWRITE_LEGACY("ym1", ym2203_w ) // Samples + Music
AM_RANGE(0xa002, 0xa003) AM_DEVWRITE_LEGACY("ym2", ym2203_w ) // Music + FX
AM_RANGE(0xc000, 0xc7ff) AM_RAM // RAM
- AM_RANGE(0xd000, 0xd000) AM_WRITE_LEGACY(soundlatch2_w ) // To Sound CPU
- AM_RANGE(0xd800, 0xd800) AM_READ_LEGACY(soundlatch_r ) // From Main CPU
+ AM_RANGE(0xd000, 0xd000) AM_WRITE(soundlatch2_w ) // To Sound CPU
+ AM_RANGE(0xd800, 0xd800) AM_READ(soundlatch_r ) // From Main CPU
ADDRESS_MAP_END
@@ -1016,8 +1016,8 @@ static ADDRESS_MAP_START( brickzn_sound_map, AS_PROGRAM, 8, suna8_state )
AM_RANGE(0xc000, 0xc001) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w )
AM_RANGE(0xc002, 0xc003) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_data_w )
AM_RANGE(0xe000, 0xe7ff) AM_RAM // RAM
- AM_RANGE(0xf000, 0xf000) AM_WRITE_LEGACY(soundlatch2_w ) // To PCM CPU
- AM_RANGE(0xf800, 0xf800) AM_READ_LEGACY(soundlatch_r ) // From Main CPU
+ AM_RANGE(0xf000, 0xf000) AM_WRITE(soundlatch2_w ) // To PCM CPU
+ AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r ) // From Main CPU
ADDRESS_MAP_END
@@ -1037,7 +1037,7 @@ WRITE8_MEMBER(suna8_state::brickzn_pcm_w)
static ADDRESS_MAP_START( brickzn_pcm_io_map, AS_IO, 8, suna8_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch2_r ) // From Sound CPU
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch2_r ) // From Sound CPU
AM_RANGE(0x00, 0x03) AM_WRITE(brickzn_pcm_w ) // 4 x DAC
ADDRESS_MAP_END
diff --git a/src/mame/drivers/supbtime.c b/src/mame/drivers/supbtime.c
index 0ab757ca7be..1425bea5710 100644
--- a/src/mame/drivers/supbtime.c
+++ b/src/mame/drivers/supbtime.c
@@ -100,7 +100,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, supbtime_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_NOP /* This board only has 1 oki chip */
- AM_RANGE(0x140000, 0x140001) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
diff --git a/src/mame/drivers/supertnk.c b/src/mame/drivers/supertnk.c
index 06cf53b217f..14552c89490 100644
--- a/src/mame/drivers/supertnk.c
+++ b/src/mame/drivers/supertnk.c
@@ -329,7 +329,7 @@ static ADDRESS_MAP_START( supertnk_io_map, AS_IO, 8, supertnk_state )
AM_RANGE(0x0402, 0x0402) AM_WRITE(supertnk_bankswitch_0_w)
AM_RANGE(0x0404, 0x0404) AM_WRITE(supertnk_bankswitch_1_w)
AM_RANGE(0x0406, 0x0406) AM_WRITE(supertnk_interrupt_ack_w)
- AM_RANGE(0x0407, 0x0407) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x0407, 0x0407) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/suprloco.c b/src/mame/drivers/suprloco.c
index df2644509ca..2ba2a427be0 100644
--- a/src/mame/drivers/suprloco.c
+++ b/src/mame/drivers/suprloco.c
@@ -47,7 +47,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, suprloco_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa003) AM_DEVWRITE_LEGACY("sn1", sn76496_w)
AM_RANGE(0xc000, 0xc003) AM_DEVWRITE_LEGACY("sn2", sn76496_w)
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/suprridr.c b/src/mame/drivers/suprridr.c
index 95d0c37a3f9..b23776988dd 100644
--- a/src/mame/drivers/suprridr.c
+++ b/src/mame/drivers/suprridr.c
@@ -186,7 +186,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( main_portmap, AS_IO, 8, suprridr_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x00, 0x00) AM_READ(watchdog_reset_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/suprslam.c b/src/mame/drivers/suprslam.c
index c8ea90a9947..a31ed3ab52b 100644
--- a/src/mame/drivers/suprslam.c
+++ b/src/mame/drivers/suprslam.c
@@ -154,7 +154,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, suprslam_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(suprslam_sh_bankswitch_w)
- AM_RANGE(0x04, 0x04) AM_READ_LEGACY(soundlatch_r) AM_WRITE(pending_command_clear_w)
+ AM_RANGE(0x04, 0x04) AM_READ(soundlatch_r) AM_WRITE(pending_command_clear_w)
AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/surpratk.c b/src/mame/drivers/surpratk.c
index 4dd348e469a..c22b772ef79 100644
--- a/src/mame/drivers/surpratk.c
+++ b/src/mame/drivers/surpratk.c
@@ -97,7 +97,7 @@ static ADDRESS_MAP_START( surpratk_map, AS_PROGRAM, 8, surpratk_state )
AM_RANGE(0x5f90, 0x5f90) AM_READ_PORT("DSW2")
AM_RANGE(0x5fa0, 0x5faf) AM_DEVREADWRITE_LEGACY("k053244", k053244_r, k053244_w)
AM_RANGE(0x5fb0, 0x5fbf) AM_DEVWRITE_LEGACY("k053251", k053251_w)
- AM_RANGE(0x5fc0, 0x5fc0) AM_READ_LEGACY(watchdog_reset_r) AM_WRITE(surpratk_5fc0_w)
+ AM_RANGE(0x5fc0, 0x5fc0) AM_READ(watchdog_reset_r) AM_WRITE(surpratk_5fc0_w)
AM_RANGE(0x5fd0, 0x5fd1) AM_DEVWRITE_LEGACY("ymsnd", ym2151_w)
AM_RANGE(0x5fc4, 0x5fc4) AM_WRITE(surpratk_videobank_w)
AM_RANGE(0x4000, 0x7fff) AM_DEVREADWRITE_LEGACY("k052109", k052109_r, k052109_w)
diff --git a/src/mame/drivers/system16.c b/src/mame/drivers/system16.c
index 60dc6c6f196..2d214e1c394 100644
--- a/src/mame/drivers/system16.c
+++ b/src/mame/drivers/system16.c
@@ -422,7 +422,7 @@ static ADDRESS_MAP_START(tturfbl_sound_map, AS_PROGRAM, 8, segas1x_bootleg_state
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_READ(tturfbl_soundbank_r)
AM_RANGE(0xe000, 0xe000) AM_WRITE(tturfbl_soundbank_w)
- AM_RANGE(0xe800, 0xe800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe800, 0xe800) AM_READ(soundlatch_r)
AM_RANGE(0xf000, 0xf000) AM_WRITE(tturfbl_msm5205_data_w)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -438,14 +438,14 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, segas1x_bootleg_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0xe800, 0xe800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe800, 0xe800) AM_READ(soundlatch_r)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, segas1x_bootleg_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
- AM_RANGE(0xc0, 0xc0) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc0, 0xc0) AM_READ(soundlatch_r)
ADDRESS_MAP_END
@@ -453,7 +453,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_7759_map, AS_PROGRAM, 8, segas1x_bootleg_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xdfff) AM_ROMBANK("bank1")
- AM_RANGE(0xe800, 0xe800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe800, 0xe800) AM_READ(soundlatch_r)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -473,7 +473,7 @@ static ADDRESS_MAP_START( sound_7759_io_map, AS_IO, 8, segas1x_bootleg_state )
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x40, 0x40) AM_DEVWRITE_LEGACY("7759", upd7759_bank_w)
AM_RANGE(0x80, 0x80) AM_DEVWRITE_LEGACY("7759", upd7759_port_w)
- AM_RANGE(0xc0, 0xc0) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc0, 0xc0) AM_READ(soundlatch_r)
ADDRESS_MAP_END
@@ -532,7 +532,7 @@ ADDRESS_MAP_END
*/
static ADDRESS_MAP_START( fpointbl_sound_map, AS_PROGRAM, 8, segas1x_bootleg_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -1056,7 +1056,7 @@ static ADDRESS_MAP_START( sound_18_io_map, AS_IO, 8, segas1x_bootleg_state )
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE_LEGACY("3438.0", ym3438_r, ym3438_w)
AM_RANGE(0x90, 0x93) AM_DEVREADWRITE_LEGACY("3438.1", ym3438_r, ym3438_w)
AM_RANGE(0xa0, 0xa0) AM_WRITE(sys18_soundbank_w)
- AM_RANGE(0xc0, 0xc0) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc0, 0xc0) AM_READ(soundlatch_r)
ADDRESS_MAP_END
@@ -1230,7 +1230,7 @@ static ADDRESS_MAP_START(shdancbl_sound_map, AS_PROGRAM, 8, segas1x_bootleg_stat
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_READ(shdancbl_soundbank_r)
AM_RANGE(0xc000, 0xc00f) AM_WRITENOP
- AM_RANGE(0xc400, 0xc400) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xc400, 0xc400) AM_READ(soundlatch_r)
AM_RANGE(0xc800, 0xc800) AM_WRITE(shdancbl_msm5205_data_w)
AM_RANGE(0xcc00, 0xcc03) AM_DEVREADWRITE_LEGACY("3438.0", ym3438_r, ym3438_w)
AM_RANGE(0xd000, 0xd003) AM_DEVREADWRITE_LEGACY("3438.1", ym3438_r, ym3438_w)
diff --git a/src/mame/drivers/tagteam.c b/src/mame/drivers/tagteam.c
index 1379553b014..1e5493c3a18 100644
--- a/src/mame/drivers/tagteam.c
+++ b/src/mame/drivers/tagteam.c
@@ -68,7 +68,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, tagteam_state )
AM_RANGE(0x2002, 0x2003) AM_DEVWRITE_LEGACY("ay2", ay8910_data_address_w)
AM_RANGE(0x2004, 0x2004) AM_DEVWRITE_LEGACY("dac", dac_w)
AM_RANGE(0x2005, 0x2005) AM_WRITE(sound_nmi_mask_w)
- AM_RANGE(0x2007, 0x2007) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x2007, 0x2007) AM_READ(soundlatch_r)
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tail2nos.c b/src/mame/drivers/tail2nos.c
index 4e3b169aacc..2153874c244 100644
--- a/src/mame/drivers/tail2nos.c
+++ b/src/mame/drivers/tail2nos.c
@@ -57,7 +57,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_port_map, AS_IO, 8, tail2nos_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x07, 0x07) AM_READ_LEGACY(soundlatch_r) AM_WRITENOP /* the write is a clear pending command */
+ AM_RANGE(0x07, 0x07) AM_READ(soundlatch_r) AM_WRITENOP /* the write is a clear pending command */
AM_RANGE(0x08, 0x0b) AM_DEVWRITE_LEGACY("ymsnd", ym2608_w)
#if 0
AM_RANGE(0x18, 0x1b) AM_DEVREAD_LEGACY("ymsnd", ym2608_r)
diff --git a/src/mame/drivers/taito_f2.c b/src/mame/drivers/taito_f2.c
index 3ae97a2d7f0..2a63eb3e66e 100644
--- a/src/mame/drivers/taito_f2.c
+++ b/src/mame/drivers/taito_f2.c
@@ -793,7 +793,7 @@ static ADDRESS_MAP_START( quizhq_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x500004, 0x500005) AM_WRITE(growl_coin_word_w)
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("DSWB")
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("IN0")
- AM_RANGE(0x580000, 0x580001) AM_WRITE_LEGACY(watchdog_reset16_w) /* ??? */
+ AM_RANGE(0x580000, 0x580001) AM_WRITE(watchdog_reset16_w) /* ??? */
AM_RANGE(0x580006, 0x580007) AM_WRITENOP /* ??? */
AM_RANGE(0x580000, 0x580001) AM_READ_PORT("DSWA")
AM_RANGE(0x580002, 0x580003) AM_READ_PORT("IN1")
@@ -844,7 +844,7 @@ static ADDRESS_MAP_START( growl_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x320000, 0x320001) AM_READ_PORT("IN0")
AM_RANGE(0x320002, 0x320003) AM_READ_PORT("IN1")
AM_RANGE(0x320004, 0x320005) AM_READ_PORT("IN2")
- AM_RANGE(0x340000, 0x340001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x340000, 0x340001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x500000, 0x50000f) AM_WRITE_LEGACY(taitof2_spritebank_w)
@@ -892,7 +892,7 @@ static ADDRESS_MAP_START( footchmp_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x70000c, 0x70000d) AM_READ_PORT("IN1")
AM_RANGE(0x70000e, 0x70000f) AM_READ_PORT("IN3")
AM_RANGE(0x700010, 0x700011) AM_READ_PORT("IN4")
- AM_RANGE(0x800000, 0x800001) AM_WRITE_LEGACY(watchdog_reset16_w) /* ??? */
+ AM_RANGE(0x800000, 0x800001) AM_WRITE(watchdog_reset16_w) /* ??? */
AM_RANGE(0xa00000, 0xa00001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
AM_RANGE(0xa00002, 0xa00003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
ADDRESS_MAP_END
@@ -931,7 +931,7 @@ static ADDRESS_MAP_START( ninjak_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30000f) AM_READ(ninjak_input_r)
AM_RANGE(0x30000e, 0x30000f) AM_WRITE(ninjak_coin_word_w)
- AM_RANGE(0x380000, 0x380001) AM_WRITE_LEGACY(watchdog_reset16_w) /* ??? */
+ AM_RANGE(0x380000, 0x380001) AM_WRITE(watchdog_reset16_w) /* ??? */
AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x600000, 0x60000f) AM_WRITE_LEGACY(taitof2_spritebank_w)
@@ -951,7 +951,7 @@ static ADDRESS_MAP_START( solfigtr_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x320000, 0x320001) AM_READ_PORT("IN0")
AM_RANGE(0x320002, 0x320003) AM_READ_PORT("IN1")
AM_RANGE(0x320004, 0x320005) AM_READ_PORT("IN2")
- AM_RANGE(0x340000, 0x340001) AM_WRITE_LEGACY(watchdog_reset16_w) /* NOT VERIFIED */
+ AM_RANGE(0x340000, 0x340001) AM_WRITE(watchdog_reset16_w) /* NOT VERIFIED */
AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x500000, 0x50000f) AM_WRITE_LEGACY(taitof2_spritebank_w)
@@ -1053,7 +1053,7 @@ static ADDRESS_MAP_START( deadconx_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x700006, 0x700007) AM_WRITE(taitof2_4p_coin_word_w)
AM_RANGE(0x70000a, 0x70000b) AM_READ_PORT("IN0")
AM_RANGE(0x70000c, 0x70000d) AM_READ_PORT("IN1")
- AM_RANGE(0x800000, 0x800001) AM_WRITE_LEGACY(watchdog_reset16_w) /* ??? */
+ AM_RANGE(0x800000, 0x800001) AM_WRITE(watchdog_reset16_w) /* ??? */
AM_RANGE(0xa00000, 0xa00001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0xa00002, 0xa00003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/taitosj.c b/src/mame/drivers/taitosj.c
index f9aeba020bc..4a48b2b6ceb 100644
--- a/src/mame/drivers/taitosj.c
+++ b/src/mame/drivers/taitosj.c
@@ -331,7 +331,7 @@ static ADDRESS_MAP_START( kikstart_main_map, AS_PROGRAM, 8, taitosj_state )
AM_RANGE(0xd508, 0xd508) AM_WRITE_LEGACY(taitosj_collision_reg_clear_w)
AM_RANGE(0xd509, 0xd50a) AM_WRITEONLY AM_BASE(m_gfxpointer)
AM_RANGE(0xd50b, 0xd50b) AM_WRITE(taitosj_soundcommand_w)
- AM_RANGE(0xd50d, 0xd50d) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xd50d, 0xd50d) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xd50e, 0xd50e) AM_WRITE_LEGACY(taitosj_bankswitch_w)
AM_RANGE(0xd600, 0xd600) AM_WRITEONLY AM_BASE(m_video_mode)
AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE(m_kikstart_scrollram)// scroll ram + ???
@@ -348,7 +348,7 @@ static ADDRESS_MAP_START( taitosj_audio_map, AS_PROGRAM, 8, taitosj_state )
AM_RANGE(0x4803, 0x4803) AM_DEVREAD_LEGACY("ay3", ay8910_r)
AM_RANGE(0x4804, 0x4805) AM_DEVWRITE_LEGACY("ay4", ay8910_address_data_w)
AM_RANGE(0x4805, 0x4805) AM_DEVREAD_LEGACY("ay4", ay8910_r)
- AM_RANGE(0x5000, 0x5000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x5000, 0x5000) AM_READ(soundlatch_r)
AM_RANGE(0xe000, 0xefff) AM_ROM /* space for diagnostic ROM */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/taotaido.c b/src/mame/drivers/taotaido.c
index ef078f585b8..3343da89420 100644
--- a/src/mame/drivers/taotaido.c
+++ b/src/mame/drivers/taotaido.c
@@ -139,7 +139,7 @@ static ADDRESS_MAP_START( sound_port_map, AS_IO, 8, taotaido_state )
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
AM_RANGE(0x04, 0x04) AM_WRITE(taotaido_sh_bankswitch_w)
AM_RANGE(0x08, 0x08) AM_WRITE(pending_command_clear_w)
- AM_RANGE(0x0c, 0x0c) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x0c, 0x0c) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tatsumi.c b/src/mame/drivers/tatsumi.c
index dc7cb3df4f6..492e92ec7d5 100644
--- a/src/mame/drivers/tatsumi.c
+++ b/src/mame/drivers/tatsumi.c
@@ -338,7 +338,7 @@ static ADDRESS_MAP_START( cyclwarr_z80_map, AS_PROGRAM, 8, tatsumi_state )
AM_RANGE(0xe000, 0xffef) AM_RAM
AM_RANGE(0xfff0, 0xfff1) AM_DEVREADWRITE_LEGACY("ymsnd", tatsumi_hack_ym2151_r, ym2151_w)
AM_RANGE(0xfff4, 0xfff4) AM_DEVREAD_LEGACY("oki", tatsumi_hack_oki_r) AM_DEVWRITE("oki", okim6295_device, write)
- AM_RANGE(0xfffc, 0xfffc) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xfffc, 0xfffc) AM_READ(soundlatch_r)
AM_RANGE(0xfffe, 0xfffe) AM_WRITENOP
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tbowl.c b/src/mame/drivers/tbowl.c
index 7b68333b048..35617725424 100644
--- a/src/mame/drivers/tbowl.c
+++ b/src/mame/drivers/tbowl.c
@@ -192,7 +192,7 @@ static ADDRESS_MAP_START( 6206A_map, AS_PROGRAM, 8, tbowl_state )
AM_RANGE(0xe004, 0xe005) AM_WRITE(tbowl_adpcm_vol_w)
AM_RANGE(0xe006, 0xe006) AM_WRITENOP
AM_RANGE(0xe007, 0xe007) AM_WRITENOP /* NMI acknowledge */
- AM_RANGE(0xe010, 0xe010) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe010, 0xe010) AM_READ(soundlatch_r)
ADDRESS_MAP_END
/*** Input Ports
diff --git a/src/mame/drivers/tecmo.c b/src/mame/drivers/tecmo.c
index 3a02a9f2b8f..098690509e2 100644
--- a/src/mame/drivers/tecmo.c
+++ b/src/mame/drivers/tecmo.c
@@ -157,7 +157,7 @@ static ADDRESS_MAP_START( rygar_map, AS_PROGRAM, 8, tecmo_state )
AM_RANGE(0xf806, 0xf806) AM_WRITE(tecmo_sound_command_w)
AM_RANGE(0xf807, 0xf807) AM_WRITE_LEGACY(tecmo_flipscreen_w)
AM_RANGE(0xf808, 0xf808) AM_WRITE(tecmo_bankswitch_w)
- AM_RANGE(0xf80b, 0xf80b) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xf80b, 0xf80b) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( gemini_map, AS_PROGRAM, 8, tecmo_state )
@@ -185,7 +185,7 @@ static ADDRESS_MAP_START( gemini_map, AS_PROGRAM, 8, tecmo_state )
AM_RANGE(0xf806, 0xf806) AM_WRITE(tecmo_sound_command_w)
AM_RANGE(0xf807, 0xf807) AM_WRITE_LEGACY(tecmo_flipscreen_w)
AM_RANGE(0xf808, 0xf808) AM_WRITE(tecmo_bankswitch_w)
- AM_RANGE(0xf80b, 0xf80b) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xf80b, 0xf80b) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( silkworm_map, AS_PROGRAM, 8, tecmo_state )
@@ -221,7 +221,7 @@ static ADDRESS_MAP_START( rygar_sound_map, AS_PROGRAM, 8, tecmo_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x8000, 0x8001) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
- AM_RANGE(0xc000, 0xc000) AM_READ_LEGACY(soundlatch_r) AM_DEVWRITE_LEGACY("msm", tecmo_adpcm_start_w)
+ AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r) AM_DEVWRITE_LEGACY("msm", tecmo_adpcm_start_w)
AM_RANGE(0xd000, 0xd000) AM_WRITE(tecmo_adpcm_end_w)
AM_RANGE(0xe000, 0xe000) AM_DEVWRITE_LEGACY("msm", tecmo_adpcm_vol_w)
AM_RANGE(0xf000, 0xf000) AM_WRITENOP /* NMI acknowledge */
@@ -233,7 +233,7 @@ static ADDRESS_MAP_START( tecmo_sound_map, AS_PROGRAM, 8, tecmo_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa001) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
- AM_RANGE(0xc000, 0xc000) AM_READ_LEGACY(soundlatch_r) AM_DEVWRITE_LEGACY("msm", tecmo_adpcm_start_w)
+ AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r) AM_DEVWRITE_LEGACY("msm", tecmo_adpcm_start_w)
AM_RANGE(0xc400, 0xc400) AM_WRITE(tecmo_adpcm_end_w)
AM_RANGE(0xc800, 0xc800) AM_DEVWRITE_LEGACY("msm", tecmo_adpcm_vol_w)
AM_RANGE(0xcc00, 0xcc00) AM_WRITENOP /* NMI acknowledge */
diff --git a/src/mame/drivers/tecmo16.c b/src/mame/drivers/tecmo16.c
index 00d0dd0135f..9df6f7c1dff 100644
--- a/src/mame/drivers/tecmo16.c
+++ b/src/mame/drivers/tecmo16.c
@@ -96,7 +96,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, tecmo16_state )
AM_RANGE(0xf000, 0xfbff) AM_RAM /* Sound RAM */
AM_RANGE(0xfc00, 0xfc00) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xfc04, 0xfc05) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
- AM_RANGE(0xfc08, 0xfc08) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xfc08, 0xfc08) AM_READ(soundlatch_r)
AM_RANGE(0xfc0c, 0xfc0c) AM_NOP
AM_RANGE(0xfffe, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tecmosys.c b/src/mame/drivers/tecmosys.c
index 90e0a0bae8f..782ab4e273f 100644
--- a/src/mame/drivers/tecmosys.c
+++ b/src/mame/drivers/tecmosys.c
@@ -351,8 +351,8 @@ static ADDRESS_MAP_START( io_map, AS_IO, 8, tecmosys_state )
AM_RANGE(0x10, 0x10) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x20, 0x20) AM_WRITE(tecmosys_oki_bank_w)
AM_RANGE(0x30, 0x30) AM_WRITE(tecmosys_z80_bank_w)
- AM_RANGE(0x40, 0x40) AM_READ_LEGACY(soundlatch_r)
- AM_RANGE(0x50, 0x50) AM_WRITE_LEGACY(soundlatch2_w)
+ AM_RANGE(0x40, 0x40) AM_READ(soundlatch_r)
+ AM_RANGE(0x50, 0x50) AM_WRITE(soundlatch2_w)
AM_RANGE(0x60, 0x61) AM_DEVREADWRITE_LEGACY("ymz", ymz280b_r, ymz280b_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tehkanwc.c b/src/mame/drivers/tehkanwc.c
index b7e5d62f322..3cfddb2207d 100644
--- a/src/mame/drivers/tehkanwc.c
+++ b/src/mame/drivers/tehkanwc.c
@@ -232,10 +232,10 @@ static ADDRESS_MAP_START( main_mem, AS_PROGRAM, 8, tehkanwc_state )
AM_RANGE(0xf810, 0xf811) AM_READWRITE(tehkanwc_track_1_r, tehkanwc_track_1_reset_w) /* track 1 x/y */
AM_RANGE(0xf812, 0xf812) AM_WRITE_LEGACY(gridiron_led1_w)
AM_RANGE(0xf813, 0xf813) AM_READ_PORT("P2BUT")
- AM_RANGE(0xf820, 0xf820) AM_READ_LEGACY(soundlatch2_r) AM_WRITE(sound_command_w) /* answer from the sound CPU */
+ AM_RANGE(0xf820, 0xf820) AM_READ(soundlatch2_r) AM_WRITE(sound_command_w) /* answer from the sound CPU */
AM_RANGE(0xf840, 0xf840) AM_READ_PORT("DSW1") AM_WRITE(sub_cpu_halt_w)
AM_RANGE(0xf850, 0xf850) AM_READ_PORT("DSW2") AM_WRITENOP /* ?? writes 0x00 or 0xff */
- AM_RANGE(0xf860, 0xf860) AM_READWRITE_LEGACY(watchdog_reset_r, tehkanwc_flipscreen_x_w)
+ AM_RANGE(0xf860, 0xf860) AM_READ(watchdog_reset_r) AM_WRITE_LEGACY(tehkanwc_flipscreen_x_w)
AM_RANGE(0xf870, 0xf870) AM_READ_PORT("DSW3") AM_WRITE_LEGACY(tehkanwc_flipscreen_y_w)
ADDRESS_MAP_END
@@ -251,7 +251,7 @@ static ADDRESS_MAP_START( sub_mem, AS_PROGRAM, 8, tehkanwc_state )
AM_RANGE(0xe800, 0xebff) AM_RAM AM_SHARE("share7") /* sprites */
AM_RANGE(0xec00, 0xec01) AM_RAM_WRITE_LEGACY(tehkanwc_scroll_x_w)
AM_RANGE(0xec02, 0xec02) AM_RAM_WRITE_LEGACY(tehkanwc_scroll_y_w)
- AM_RANGE(0xf860, 0xf860) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xf860, 0xf860) AM_READ(watchdog_reset_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_mem, AS_PROGRAM, 8, tehkanwc_state )
@@ -260,7 +260,7 @@ static ADDRESS_MAP_START( sound_mem, AS_PROGRAM, 8, tehkanwc_state )
AM_RANGE(0x8001, 0x8001) AM_DEVWRITE_LEGACY("msm", msm_reset_w)/* MSM51xx reset */
AM_RANGE(0x8002, 0x8002) AM_WRITENOP /* ?? written in the IRQ handler */
AM_RANGE(0x8003, 0x8003) AM_WRITENOP /* ?? written in the NMI handler */
- AM_RANGE(0xc000, 0xc000) AM_READ_LEGACY(soundlatch_r) AM_WRITE(sound_answer_w)
+ AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r) AM_WRITE(sound_answer_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_port, AS_IO, 8, tehkanwc_state )
diff --git a/src/mame/drivers/terracre.c b/src/mame/drivers/terracre.c
index e2c51320953..09df5f03cae 100644
--- a/src/mame/drivers/terracre.c
+++ b/src/mame/drivers/terracre.c
@@ -239,7 +239,7 @@ static ADDRESS_MAP_START( sound_3526_io_map, AS_IO, 8, terracre_state )
AM_RANGE(0x02, 0x02) AM_DEVWRITE_LEGACY("dac1", dac_signed_w)
AM_RANGE(0x03, 0x03) AM_DEVWRITE_LEGACY("dac2", dac_signed_w)
AM_RANGE(0x04, 0x04) AM_READ(soundlatch_clear_r)
- AM_RANGE(0x06, 0x06) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x06, 0x06) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_2203_io_map, AS_IO, 8, terracre_state )
@@ -248,7 +248,7 @@ static ADDRESS_MAP_START( sound_2203_io_map, AS_IO, 8, terracre_state )
AM_RANGE(0x02, 0x02) AM_DEVWRITE_LEGACY("dac1", dac_signed_w)
AM_RANGE(0x03, 0x03) AM_DEVWRITE_LEGACY("dac2", dac_signed_w)
AM_RANGE(0x04, 0x04) AM_READ(soundlatch_clear_r)
- AM_RANGE(0x06, 0x06) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x06, 0x06) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static INPUT_PORTS_START( terracre )
diff --git a/src/mame/drivers/tetrisp2.c b/src/mame/drivers/tetrisp2.c
index fd6b277a13a..b04f02fc0c1 100644
--- a/src/mame/drivers/tetrisp2.c
+++ b/src/mame/drivers/tetrisp2.c
@@ -312,7 +312,7 @@ static ADDRESS_MAP_START( tetrisp2_map, AS_PROGRAM, 16, tetrisp2_state )
AM_RANGE(0xbe0002, 0xbe0003) AM_READ_PORT("PLAYERS") // Inputs
AM_RANGE(0xbe0004, 0xbe0005) AM_READ(tetrisp2_ip_1_word_r) // Inputs & protection
AM_RANGE(0xbe0008, 0xbe0009) AM_READ_PORT("DSW") // Inputs
- AM_RANGE(0xbe000a, 0xbe000b) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0xbe000a, 0xbe000b) AM_READ(watchdog_reset16_r) // Watchdog
ADDRESS_MAP_END
@@ -382,7 +382,7 @@ static ADDRESS_MAP_START( nndmseal_map, AS_PROGRAM, 16, tetrisp2_state )
AM_RANGE(0xbe0006, 0xbe0007) AM_READ_PORT("PRINT" ) // ""
AM_RANGE(0xbe0008, 0xbe0009) AM_READ_PORT("DSW" ) // ""
- AM_RANGE(0xbe000a, 0xbe000b) AM_READ_LEGACY(watchdog_reset16_r ) // Watchdog
+ AM_RANGE(0xbe000a, 0xbe000b) AM_READ(watchdog_reset16_r ) // Watchdog
ADDRESS_MAP_END
@@ -416,7 +416,7 @@ static ADDRESS_MAP_START( rockn1_map, AS_PROGRAM, 16, tetrisp2_state )
AM_RANGE(0xbe0002, 0xbe0003) AM_READ_PORT("PLAYERS") // Inputs
AM_RANGE(0xbe0004, 0xbe0005) AM_READ_PORT("SYSTEM") // Inputs
AM_RANGE(0xbe0008, 0xbe0009) AM_READ_PORT("DSW") // Inputs
- AM_RANGE(0xbe000a, 0xbe000b) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0xbe000a, 0xbe000b) AM_READ(watchdog_reset16_r) // Watchdog
ADDRESS_MAP_END
@@ -450,7 +450,7 @@ static ADDRESS_MAP_START( rockn2_map, AS_PROGRAM, 16, tetrisp2_state )
AM_RANGE(0xbe0002, 0xbe0003) AM_READ_PORT("PLAYERS") // Inputs
AM_RANGE(0xbe0004, 0xbe0005) AM_READ_PORT("SYSTEM") // Inputs
AM_RANGE(0xbe0008, 0xbe0009) AM_READ_PORT("DSW") // Inputs
- AM_RANGE(0xbe000a, 0xbe000b) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0xbe000a, 0xbe000b) AM_READ(watchdog_reset16_r) // Watchdog
ADDRESS_MAP_END
@@ -485,7 +485,7 @@ static ADDRESS_MAP_START( rocknms_main_map, AS_PROGRAM, 16, tetrisp2_state )
AM_RANGE(0xbe0002, 0xbe0003) AM_READ_PORT("PLAYERS")
AM_RANGE(0xbe0004, 0xbe0005) AM_READ_PORT("SYSTEM") // Inputs
AM_RANGE(0xbe0008, 0xbe0009) AM_READ_PORT("DSW") // Inputs
- AM_RANGE(0xbe000a, 0xbe000b) AM_READ_LEGACY(watchdog_reset16_r) // Watchdog
+ AM_RANGE(0xbe000a, 0xbe000b) AM_READ(watchdog_reset16_r) // Watchdog
ADDRESS_MAP_END
@@ -517,7 +517,7 @@ static ADDRESS_MAP_START( rocknms_sub_map, AS_PROGRAM, 16, tetrisp2_state )
AM_RANGE(0xba001e, 0xba001f) AM_WRITENOP // Lev 2 irq ack
// AM_RANGE(0xbe0000, 0xbe0001) AM_READNOP // INT-level1 dummy read
AM_RANGE(0xbe0002, 0xbe0003) AM_READWRITE(rocknms_main2sub_r, rocknms_sub2main_w) // MAIN <-> SUB Communication
- AM_RANGE(0xbe000a, 0xbe000b) AM_READ_LEGACY(watchdog_reset16_r ) // Watchdog
+ AM_RANGE(0xbe000a, 0xbe000b) AM_READ(watchdog_reset16_r ) // Watchdog
ADDRESS_MAP_END
diff --git a/src/mame/drivers/thedeep.c b/src/mame/drivers/thedeep.c
index fbab938bea1..e970e55bf2b 100644
--- a/src/mame/drivers/thedeep.c
+++ b/src/mame/drivers/thedeep.c
@@ -177,7 +177,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, thedeep_state )
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0801) AM_DEVWRITE_LEGACY("ymsnd", ym2203_w) //
- AM_RANGE(0x3000, 0x3000) AM_READ_LEGACY(soundlatch_r) // From Main CPU
+ AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r) // From Main CPU
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/thepit.c b/src/mame/drivers/thepit.c
index 7773d26b3f2..ff264dbff90 100644
--- a/src/mame/drivers/thepit.c
+++ b/src/mame/drivers/thepit.c
@@ -169,7 +169,7 @@ static ADDRESS_MAP_START( thepit_main_map, AS_PROGRAM, 8, thepit_state )
AM_RANGE(0xb004, 0xb005) AM_WRITENOP // Unused, but initialized
AM_RANGE(0xb006, 0xb006) AM_WRITE_LEGACY(thepit_flip_screen_x_w)
AM_RANGE(0xb007, 0xb007) AM_WRITE_LEGACY(thepit_flip_screen_y_w)
- AM_RANGE(0xb800, 0xb800) AM_READWRITE_LEGACY(watchdog_reset_r, soundlatch_w)
+ AM_RANGE(0xb800, 0xb800) AM_READWRITE(watchdog_reset_r, soundlatch_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( intrepid_main_map, AS_PROGRAM, 8, thepit_state )
@@ -191,7 +191,7 @@ static ADDRESS_MAP_START( intrepid_main_map, AS_PROGRAM, 8, thepit_state )
AM_RANGE(0xb005, 0xb005) AM_WRITE_LEGACY(intrepid_graphics_bank_w)
AM_RANGE(0xb006, 0xb006) AM_WRITE_LEGACY(thepit_flip_screen_x_w)
AM_RANGE(0xb007, 0xb007) AM_WRITE_LEGACY(thepit_flip_screen_y_w)
- AM_RANGE(0xb800, 0xb800) AM_READWRITE_LEGACY(watchdog_reset_r, soundlatch_w)
+ AM_RANGE(0xb800, 0xb800) AM_READWRITE(watchdog_reset_r, soundlatch_w)
ADDRESS_MAP_END
@@ -203,7 +203,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( audio_io_map, AS_IO, 8, thepit_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(soundlatch_clear_w)
+ AM_RANGE(0x00, 0x00) AM_WRITE(soundlatch_clear_w)
AM_RANGE(0x8c, 0x8d) AM_DEVWRITE_LEGACY("ay2", ay8910_address_data_w)
AM_RANGE(0x8d, 0x8d) AM_DEVREAD_LEGACY("ay2", ay8910_r)
AM_RANGE(0x8e, 0x8f) AM_DEVWRITE_LEGACY("ay1", ay8910_address_data_w)
@@ -629,7 +629,7 @@ static const ay8910_interface ay8910_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
diff --git a/src/mame/drivers/thoop2.c b/src/mame/drivers/thoop2.c
index 1f90e05c6d5..55c8879f3ef 100644
--- a/src/mame/drivers/thoop2.c
+++ b/src/mame/drivers/thoop2.c
@@ -88,7 +88,7 @@ static ADDRESS_MAP_START( thoop2_map, AS_PROGRAM, 16, thoop2_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM /* ROM */
AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE_LEGACY(thoop2_vram_w) AM_BASE(m_videoram) /* Video RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_BASE(m_vregs) /* Video Registers */
- AM_RANGE(0x10800c, 0x10800d) AM_WRITE_LEGACY(watchdog_reset16_w) /* INT 6 ACK/Watchdog timer */
+ AM_RANGE(0x10800c, 0x10800d) AM_WRITE(watchdog_reset16_w) /* INT 6 ACK/Watchdog timer */
AM_RANGE(0x200000, 0x2007ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")/* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_BASE(m_spriteram) /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
diff --git a/src/mame/drivers/thunderj.c b/src/mame/drivers/thunderj.c
index ef3b923b00c..52731ee00cd 100644
--- a/src/mame/drivers/thunderj.c
+++ b/src/mame/drivers/thunderj.c
@@ -160,7 +160,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, thunderj_state )
AM_RANGE(0x260010, 0x260011) AM_READ_PORT("260010")
AM_RANGE(0x260012, 0x260013) AM_READ_LEGACY(special_port2_r)
AM_RANGE(0x260030, 0x260031) AM_READ_LEGACY(atarigen_sound_r)
- AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x360010, 0x360011) AM_WRITE_LEGACY(latch_w)
AM_RANGE(0x360020, 0x360021) AM_WRITE_LEGACY(atarigen_sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_WRITE_LEGACY(atarigen_sound_w)
diff --git a/src/mame/drivers/thunderx.c b/src/mame/drivers/thunderx.c
index e7284de87d6..29530f27af5 100644
--- a/src/mame/drivers/thunderx.c
+++ b/src/mame/drivers/thunderx.c
@@ -397,9 +397,9 @@ WRITE8_MEMBER(thunderx_state::k052109_051960_w)
static ADDRESS_MAP_START( scontra_map, AS_PROGRAM, 8, thunderx_state )
AM_RANGE(0x1f80, 0x1f80) AM_WRITE(scontra_bankswitch_w) /* bankswitch control + coin counters */
- AM_RANGE(0x1f84, 0x1f84) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x1f84, 0x1f84) AM_WRITE(soundlatch_w)
AM_RANGE(0x1f88, 0x1f88) AM_WRITE(thunderx_sh_irqtrigger_w) /* cause interrupt on audio CPU */
- AM_RANGE(0x1f8c, 0x1f8c) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x1f8c, 0x1f8c) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1f90, 0x1f90) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1f91, 0x1f91) AM_READ_PORT("P1")
AM_RANGE(0x1f92, 0x1f92) AM_READ_PORT("P2")
@@ -417,9 +417,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( thunderx_map, AS_PROGRAM, 8, thunderx_state )
AM_RANGE(0x1f80, 0x1f80) AM_WRITE(thunderx_videobank_w)
- AM_RANGE(0x1f84, 0x1f84) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x1f84, 0x1f84) AM_WRITE(soundlatch_w)
AM_RANGE(0x1f88, 0x1f88) AM_WRITE(thunderx_sh_irqtrigger_w) /* cause interrupt on audio CPU */
- AM_RANGE(0x1f8c, 0x1f8c) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x1f8c, 0x1f8c) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1f90, 0x1f90) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1f91, 0x1f91) AM_READ_PORT("P1")
AM_RANGE(0x1f92, 0x1f92) AM_READ_PORT("P2")
@@ -438,7 +438,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( scontra_sound_map, AS_PROGRAM, 8, thunderx_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM /* ROM */
AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r) /* soundlatch_r */
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r) /* soundlatch_r */
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("k007232", k007232_r, k007232_w) /* 007232 registers */
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w) /* YM2151 */
AM_RANGE(0xf000, 0xf000) AM_DEVWRITE_LEGACY("k007232", scontra_snd_bankswitch_w) /* 007232 bank select */
@@ -447,7 +447,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( thunderx_sound_map, AS_PROGRAM, 8, thunderx_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tickee.c b/src/mame/drivers/tickee.c
index 104ec63e497..afe93ecc9d5 100644
--- a/src/mame/drivers/tickee.c
+++ b/src/mame/drivers/tickee.c
@@ -446,7 +446,7 @@ static ADDRESS_MAP_START( rapidfir_map, AS_PROGRAM, 16, tickee_state )
AM_RANGE(0xfc000a00, 0xfc000a0f) AM_READ_PORT("IN2")
AM_RANGE(0xfc000b00, 0xfc000b0f) AM_READ_PORT("DSW0")
AM_RANGE(0xfc000c00, 0xfc000c1f) AM_READ_PORT("DSW1")
- AM_RANGE(0xfc000e00, 0xfc000e1f) AM_READ_LEGACY(watchdog_reset16_r)
+ AM_RANGE(0xfc000e00, 0xfc000e1f) AM_READ(watchdog_reset16_r)
AM_RANGE(0xfc100000, 0xfc1000ff) AM_MIRROR(0x80000) AM_DEVREADWRITE8_LEGACY("tlc34076", tlc34076_r, tlc34076_w, 0x00ff)
AM_RANGE(0xfc200000, 0xfc207fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xfc300000, 0xfc30000f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/tigeroad.c b/src/mame/drivers/tigeroad.c
index e4d7941e3bc..75189e834f6 100644
--- a/src/mame/drivers/tigeroad.c
+++ b/src/mame/drivers/tigeroad.c
@@ -139,7 +139,7 @@ static void f1dream_protection_w(address_space *space)
else if ((prevpc == 0x27f8) || (prevpc == 0x511a) || (prevpc == 0x5142) || (prevpc == 0x516a))
{
/* The main CPU stuffs the byte for the soundlatch into 0xfffffd.*/
- soundlatch_w(space,2,state->m_ram16[0x3ffc/2]);
+ state->soundlatch_w(*space,2,state->m_ram16[0x3ffc/2]);
}
}
@@ -187,12 +187,12 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, tigeroad_state )
AM_RANGE(0x8000, 0x8001) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r, ym2203_w)
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ym2", ym2203_r, ym2203_w)
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_port_map, AS_IO, 8, tigeroad_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x7f, 0x7f) AM_WRITE_LEGACY(soundlatch2_w)
+ AM_RANGE(0x7f, 0x7f) AM_WRITE(soundlatch2_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sample_map, AS_PROGRAM, 8, tigeroad_state )
@@ -201,7 +201,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sample_port_map, AS_IO, 8, tigeroad_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch2_r)
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch2_r)
AM_RANGE(0x01, 0x01) AM_DEVWRITE_LEGACY("msm", msm5205_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/timelimt.c b/src/mame/drivers/timelimt.c
index 66b93589253..220dc702058 100644
--- a/src/mame/drivers/timelimt.c
+++ b/src/mame/drivers/timelimt.c
@@ -54,7 +54,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, timelimt_state )
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW")
AM_RANGE(0xb000, 0xb000) AM_WRITE(nmi_enable_w) /* nmi enable */
AM_RANGE(0xb003, 0xb003) AM_WRITE(sound_reset_w)/* sound reset ? */
- AM_RANGE(0xb800, 0xb800) AM_WRITE_LEGACY(soundlatch_w) /* sound write */
+ AM_RANGE(0xb800, 0xb800) AM_WRITE(soundlatch_w) /* sound write */
AM_RANGE(0xb800, 0xb800) AM_READNOP /* NMI ack? */
AM_RANGE(0xc800, 0xc800) AM_WRITE_LEGACY(timelimt_scroll_x_lsb_w)
AM_RANGE(0xc801, 0xc801) AM_WRITE_LEGACY(timelimt_scroll_x_msb_w)
@@ -65,7 +65,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( main_io_map, AS_IO, 8, timelimt_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x00, 0x00) AM_READ(watchdog_reset_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, timelimt_state )
@@ -75,7 +75,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, timelimt_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(soundlatch_clear_w)
+ AM_RANGE(0x00, 0x00) AM_WRITE(soundlatch_clear_w)
AM_RANGE(0x8c, 0x8d) AM_DEVREADWRITE_LEGACY("ay1", ay8910_r, ay8910_address_data_w)
AM_RANGE(0x8e, 0x8f) AM_DEVREADWRITE_LEGACY("ay2", ay8910_r, ay8910_address_data_w)
ADDRESS_MAP_END
@@ -210,7 +210,7 @@ static const ay8910_interface ay8910_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL
diff --git a/src/mame/drivers/timeplt.c b/src/mame/drivers/timeplt.c
index 4956c5a4ccb..75058fdec2e 100644
--- a/src/mame/drivers/timeplt.c
+++ b/src/mame/drivers/timeplt.c
@@ -120,8 +120,8 @@ static ADDRESS_MAP_START( timeplt_main_map, AS_PROGRAM, 8, timeplt_state )
AM_RANGE(0xa800, 0xafff) AM_RAM
AM_RANGE(0xb000, 0xb0ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE(m_spriteram)
AM_RANGE(0xb400, 0xb4ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE(m_spriteram2)
- AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x0cff) AM_WRITE_LEGACY(soundlatch_w)
- AM_RANGE(0xc200, 0xc200) AM_MIRROR(0x0cff) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x0cff) AM_WRITE(soundlatch_w)
+ AM_RANGE(0xc200, 0xc200) AM_MIRROR(0x0cff) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xc300, 0xc300) AM_MIRROR(0x0cf1) AM_WRITE(timeplt_nmi_enable_w)
AM_RANGE(0xc302, 0xc302) AM_MIRROR(0x0cf1) AM_WRITE_LEGACY(timeplt_flipscreen_w)
AM_RANGE(0xc304, 0xc304) AM_MIRROR(0x0cf1) AM_WRITE_LEGACY(timeplt_sh_irqtrigger_w)
@@ -144,8 +144,8 @@ static ADDRESS_MAP_START( psurge_main_map, AS_PROGRAM, 8, timeplt_state )
AM_RANGE(0xa800, 0xafff) AM_RAM
AM_RANGE(0xb000, 0xb0ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE(m_spriteram)
AM_RANGE(0xb400, 0xb4ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE(m_spriteram2)
- AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x0cff) AM_WRITE_LEGACY(soundlatch_w)
- AM_RANGE(0xc200, 0xc200) AM_MIRROR(0x0cff) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x0cff) AM_WRITE(soundlatch_w)
+ AM_RANGE(0xc200, 0xc200) AM_MIRROR(0x0cff) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xc302, 0xc302) AM_MIRROR(0x0cf1) AM_WRITE_LEGACY(timeplt_flipscreen_w)
AM_RANGE(0xc304, 0xc304) AM_MIRROR(0x0cf1) AM_WRITE_LEGACY(timeplt_sh_irqtrigger_w)
AM_RANGE(0xc30a, 0xc30c) AM_MIRROR(0x0cf1) AM_WRITE(timeplt_coin_counter_w)
@@ -166,8 +166,8 @@ static ADDRESS_MAP_START( chkun_main_map, AS_PROGRAM, 8, timeplt_state )
AM_RANGE(0xa800, 0xafff) AM_RAM
AM_RANGE(0xb000, 0xb0ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE(m_spriteram)
AM_RANGE(0xb400, 0xb4ff) AM_MIRROR(0x0b00) AM_RAM AM_BASE(m_spriteram2)
- AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x0cff) AM_WRITE_LEGACY(soundlatch_w)
- AM_RANGE(0xc200, 0xc200) AM_MIRROR(0x0cff) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x0cff) AM_WRITE(soundlatch_w)
+ AM_RANGE(0xc200, 0xc200) AM_MIRROR(0x0cff) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xc300, 0xc300) AM_MIRROR(0x0cf1) AM_WRITE(timeplt_nmi_enable_w)
AM_RANGE(0xc302, 0xc302) AM_MIRROR(0x0cf1) AM_WRITE_LEGACY(timeplt_flipscreen_w)
AM_RANGE(0xc304, 0xc304) AM_MIRROR(0x0cf1) AM_WRITE_LEGACY(timeplt_sh_irqtrigger_w)
diff --git a/src/mame/drivers/tmaster.c b/src/mame/drivers/tmaster.c
index 2d6cbb6d5eb..41727d3fdeb 100644
--- a/src/mame/drivers/tmaster.c
+++ b/src/mame/drivers/tmaster.c
@@ -753,7 +753,7 @@ static ADDRESS_MAP_START( galgames_map, AS_PROGRAM, 16, tmaster_state )
AM_RANGE( 0x600000, 0x600001 ) AM_READ(dummy_read_01 ) AM_WRITENOP
AM_RANGE( 0x700000, 0x700001 ) AM_READ(dummy_read_01 ) AM_WRITENOP
AM_RANGE( 0x800020, 0x80003f ) AM_NOP // ?
- AM_RANGE( 0x900000, 0x900001 ) AM_WRITE_LEGACY(watchdog_reset16_w )
+ AM_RANGE( 0x900000, 0x900001 ) AM_WRITE(watchdog_reset16_w )
AM_RANGE( 0xa00000, 0xa00001 ) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff )
AM_RANGE( 0xb00000, 0xb7ffff ) AM_READWRITE(galgames_okiram_r, galgames_okiram_w ) // (only low bytes tested) 4x N341024SJ-15
diff --git a/src/mame/drivers/tmnt.c b/src/mame/drivers/tmnt.c
index 4f7a173d07b..7067e2112b1 100644
--- a/src/mame/drivers/tmnt.c
+++ b/src/mame/drivers/tmnt.c
@@ -563,7 +563,7 @@ static ADDRESS_MAP_START( cuebrick_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x0a0002, 0x0a0003) AM_READ_PORT("P1")
AM_RANGE(0x0a0004, 0x0a0005) AM_READ_PORT("P2")
AM_RANGE(0x0a0008, 0x0a0009) AM_WRITE(tmnt_sound_command_w)
- AM_RANGE(0x0a0010, 0x0a0011) AM_READ_PORT("DSW1") AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x0a0010, 0x0a0011) AM_READ_PORT("DSW1") AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x0a0012, 0x0a0013) AM_READ_PORT("DSW2")
AM_RANGE(0x0a0018, 0x0a0019) AM_READ_PORT("DSW3")
AM_RANGE(0x0b0000, 0x0b03ff) AM_READWRITE(cuebrick_nv_r, cuebrick_nv_w) AM_SHARE("nvram")
@@ -584,7 +584,7 @@ static ADDRESS_MAP_START( mia_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x0a0002, 0x0a0003) AM_READ_PORT("P1")
AM_RANGE(0x0a0004, 0x0a0005) AM_READ_PORT("P2")
AM_RANGE(0x0a0008, 0x0a0009) AM_WRITE(tmnt_sound_command_w)
- AM_RANGE(0x0a0010, 0x0a0011) AM_READ_PORT("DSW1") AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x0a0010, 0x0a0011) AM_READ_PORT("DSW1") AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x0a0012, 0x0a0013) AM_READ_PORT("DSW2")
AM_RANGE(0x0a0018, 0x0a0019) AM_READ_PORT("DSW3")
#if 0
@@ -606,7 +606,7 @@ static ADDRESS_MAP_START( tmnt_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x0a0004, 0x0a0005) AM_READ_PORT("P2")
AM_RANGE(0x0a0006, 0x0a0007) AM_READ_PORT("P3")
AM_RANGE(0x0a0008, 0x0a0009) AM_WRITE(tmnt_sound_command_w)
- AM_RANGE(0x0a0010, 0x0a0011) AM_READ_PORT("DSW1") AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x0a0010, 0x0a0011) AM_READ_PORT("DSW1") AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x0a0012, 0x0a0013) AM_READ_PORT("DSW2")
AM_RANGE(0x0a0014, 0x0a0015) AM_READ_PORT("P4")
AM_RANGE(0x0a0018, 0x0a0019) AM_READ_PORT("DSW3")
@@ -630,7 +630,7 @@ static ADDRESS_MAP_START( punkshot_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x0a0040, 0x0a0043) AM_DEVREAD8_LEGACY("k053260", punkshot_sound_r, 0x00ff) /* K053260 */
AM_RANGE(0x0a0040, 0x0a0041) AM_DEVWRITE8_LEGACY("k053260", k053260_w, 0x00ff)
AM_RANGE(0x0a0060, 0x0a007f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w)
- AM_RANGE(0x0a0080, 0x0a0081) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x0a0080, 0x0a0081) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x100000, 0x107fff) AM_READWRITE(k052109_word_noA12_r, punkshot_k052109_word_noA12_w)
AM_RANGE(0x110000, 0x110007) AM_DEVREADWRITE_LEGACY("k051960", k051937_word_r, k051937_word_w)
AM_RANGE(0x110400, 0x1107ff) AM_DEVREADWRITE_LEGACY("k051960", k051960_word_r, k051960_word_w)
@@ -651,7 +651,7 @@ static ADDRESS_MAP_START( lgtnfght_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x0a0018, 0x0a0019) AM_WRITE_LEGACY(lgtnfght_0a0018_w)
AM_RANGE(0x0a0020, 0x0a0023) AM_DEVREAD8_LEGACY("k053260", punkshot_sound_r, 0x00ff) /* K053260 */
AM_RANGE(0x0a0020, 0x0a0021) AM_DEVWRITE8_LEGACY("k053260", k053260_w, 0x00ff)
- AM_RANGE(0x0a0028, 0x0a0029) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x0a0028, 0x0a0029) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x0b0000, 0x0b3fff) AM_READWRITE(k053245_scattered_word_r, k053245_scattered_word_w) AM_BASE(m_spriteram)
AM_RANGE(0x0c0000, 0x0c001f) AM_READWRITE(k053244_word_noA1_r, k053244_word_noA1_w)
AM_RANGE(0x0e0000, 0x0e001f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w)
@@ -680,7 +680,7 @@ static ADDRESS_MAP_START( blswhstl_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x700006, 0x700007) AM_READ_PORT("EEPROM")
AM_RANGE(0x700200, 0x700201) AM_WRITE(blswhstl_eeprom_w)
AM_RANGE(0x700300, 0x700301) AM_WRITE_LEGACY(blswhstl_700300_w)
- AM_RANGE(0x700400, 0x700401) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x700400, 0x700401) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x780600, 0x780603) AM_DEVREAD8_LEGACY("k053260", punkshot_sound_r, 0x00ff) /* K053260 */
AM_RANGE(0x780600, 0x780601) AM_DEVWRITE8_LEGACY("k053260", k053260_w, 0x00ff)
AM_RANGE(0x780604, 0x780605) AM_WRITE(ssriders_soundkludge_w)
@@ -726,7 +726,7 @@ static ADDRESS_MAP_START( glfgreat_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x120006, 0x120007) AM_READ_PORT("DSW1/DSW2")
AM_RANGE(0x121000, 0x121001) AM_READ_LEGACY(glfgreat_ball_r) /* returns the color of the center pixel of the roz layer */
AM_RANGE(0x122000, 0x122001) AM_WRITE_LEGACY(glfgreat_122000_w)
- AM_RANGE(0x124000, 0x124001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x124000, 0x124001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x125000, 0x125003) AM_DEVREADWRITE8_LEGACY("k053260", punkshot_sound_r, glfgreat_sound_w, 0xff00) /* K053260 */
AM_RANGE(0x200000, 0x207fff) AM_READWRITE(k052109_word_noA12_r, k052109_word_noA12_w)
AM_RANGE(0x300000, 0x3fffff) AM_READ_LEGACY(glfgreat_rom_r)
@@ -751,7 +751,7 @@ static ADDRESS_MAP_START( prmrsocr_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x122000, 0x122001) AM_WRITE(prmrsocr_eeprom_w) /* EEPROM + video control */
AM_RANGE(0x123000, 0x123001) AM_WRITE(prmrsocr_sound_irq_w)
AM_RANGE(0x200000, 0x207fff) AM_READWRITE(k052109_word_noA12_r, k052109_word_noA12_w)
- AM_RANGE(0x280000, 0x280001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x280000, 0x280001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x300000, 0x33ffff) AM_READ_LEGACY(prmrsocr_rom_r)
ADDRESS_MAP_END
@@ -1009,7 +1009,7 @@ static ADDRESS_MAP_START( tmnt2_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x1c0102, 0x1c0103) AM_READ(ssriders_eeprom_r)
AM_RANGE(0x1c0200, 0x1c0201) AM_WRITE_LEGACY(ssriders_eeprom_w) /* EEPROM and gfx control */
AM_RANGE(0x1c0300, 0x1c0301) AM_WRITE_LEGACY(ssriders_1c0300_w)
- AM_RANGE(0x1c0400, 0x1c0401) AM_READWRITE_LEGACY(watchdog_reset16_r, watchdog_reset16_w)
+ AM_RANGE(0x1c0400, 0x1c0401) AM_READWRITE(watchdog_reset16_r, watchdog_reset16_w)
AM_RANGE(0x1c0500, 0x1c057f) AM_RAM /* TMNT2 only (1J) unknown, mostly MCU blit offsets */
// AM_RANGE(0x1c0800, 0x1c0801) AM_READ(ssriders_protection_r) /* protection device */
AM_RANGE(0x1c0800, 0x1c081f) AM_WRITE(tmnt2_1c0800_w) AM_BASE(m_tmnt2_1c0800) /* protection device */
@@ -1035,7 +1035,7 @@ static ADDRESS_MAP_START( ssriders_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x1c0102, 0x1c0103) AM_READ(ssriders_eeprom_r)
AM_RANGE(0x1c0200, 0x1c0201) AM_WRITE_LEGACY(ssriders_eeprom_w) /* EEPROM and gfx control */
AM_RANGE(0x1c0300, 0x1c0301) AM_WRITE_LEGACY(ssriders_1c0300_w)
- AM_RANGE(0x1c0400, 0x1c0401) AM_READWRITE_LEGACY(watchdog_reset16_r, watchdog_reset16_w)
+ AM_RANGE(0x1c0400, 0x1c0401) AM_READWRITE(watchdog_reset16_r, watchdog_reset16_w)
AM_RANGE(0x1c0500, 0x1c057f) AM_RAM /* TMNT2 only (1J) unknown */
AM_RANGE(0x1c0800, 0x1c0801) AM_READ(ssriders_protection_r)
AM_RANGE(0x1c0800, 0x1c0803) AM_WRITE(ssriders_protection_w)
@@ -1096,7 +1096,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mia_audio_map, AS_PROGRAM, 8, tmnt_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("k007232", k007232_r, k007232_w)
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
ADDRESS_MAP_END
@@ -1106,7 +1106,7 @@ static ADDRESS_MAP_START( tmnt_audio_map, AS_PROGRAM, 8, tmnt_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_READWRITE(tmnt_sres_r, tmnt_sres_w) /* title music & UPD7759C reset */
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("k007232", k007232_r, k007232_w)
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xd000, 0xd000) AM_DEVWRITE_LEGACY("upd", upd7759_port_w)
@@ -1174,9 +1174,9 @@ static ADDRESS_MAP_START( prmrsocr_audio_map, AS_PROGRAM, 8, tmnt_state )
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe0ff) AM_DEVREADWRITE("k054539", k054539_device, read, write)
AM_RANGE(0xe100, 0xe12f) AM_READWRITE(k054539_ctrl_r, k054539_ctrl_w)
- AM_RANGE(0xf000, 0xf000) AM_WRITE_LEGACY(soundlatch3_w)
- AM_RANGE(0xf002, 0xf002) AM_READ_LEGACY(soundlatch_r)
- AM_RANGE(0xf003, 0xf003) AM_READ_LEGACY(soundlatch2_r)
+ AM_RANGE(0xf000, 0xf000) AM_WRITE(soundlatch3_w)
+ AM_RANGE(0xf002, 0xf002) AM_READ(soundlatch_r)
+ AM_RANGE(0xf003, 0xf003) AM_READ(soundlatch2_r)
AM_RANGE(0xf800, 0xf800) AM_WRITE(prmrsocr_audio_bankswitch_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tnzs.c b/src/mame/drivers/tnzs.c
index 39870caabe5..a821397c3af 100644
--- a/src/mame/drivers/tnzs.c
+++ b/src/mame/drivers/tnzs.c
@@ -856,7 +856,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tnzsb_io_map, AS_IO, 8, tnzs_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
- AM_RANGE(0x02, 0x02) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x02, 0x02) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( i8742_io_map, AS_IO, 8, tnzs_state )
diff --git a/src/mame/drivers/toaplan2.c b/src/mame/drivers/toaplan2.c
index 00bb146c6b0..f130bc74e03 100644
--- a/src/mame/drivers/toaplan2.c
+++ b/src/mame/drivers/toaplan2.c
@@ -1348,8 +1348,8 @@ static ADDRESS_MAP_START( batrider_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("SYS-DSW")
AM_RANGE(0x500004, 0x500005) AM_READ_PORT("DSW")
AM_RANGE(0x500006, 0x500007) AM_READ(video_count_r)
- AM_RANGE(0x500008, 0x500009) AM_READ_LEGACY(soundlatch3_word_r)
- AM_RANGE(0x50000a, 0x50000b) AM_READ_LEGACY(soundlatch4_word_r)
+ AM_RANGE(0x500008, 0x500009) AM_READ(soundlatch3_word_r)
+ AM_RANGE(0x50000a, 0x50000b) AM_READ(soundlatch4_word_r)
AM_RANGE(0x50000c, 0x50000d) AM_READ(batrider_z80_busack_r)
AM_RANGE(0x500010, 0x500011) AM_WRITE(toaplan2_coin_word_w)
AM_RANGE(0x500020, 0x500021) AM_WRITE(batrider_soundlatch_w)
@@ -1379,8 +1379,8 @@ static ADDRESS_MAP_START( bbakraid_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x500004, 0x500005) AM_READ_PORT("DSW")
AM_RANGE(0x500006, 0x500007) AM_READ(video_count_r)
AM_RANGE(0x500008, 0x500009) AM_WRITE(toaplan2_coin_word_w)
- AM_RANGE(0x500010, 0x500011) AM_READ_LEGACY(soundlatch3_word_r)
- AM_RANGE(0x500012, 0x500013) AM_READ_LEGACY(soundlatch4_word_r)
+ AM_RANGE(0x500010, 0x500011) AM_READ(soundlatch3_word_r)
+ AM_RANGE(0x500012, 0x500013) AM_READ(soundlatch4_word_r)
AM_RANGE(0x500014, 0x500015) AM_WRITE(batrider_soundlatch_w)
AM_RANGE(0x500016, 0x500017) AM_WRITE(batrider_soundlatch2_w)
AM_RANGE(0x500018, 0x500019) AM_READ(bbakraid_eeprom_r)
@@ -1419,7 +1419,7 @@ static ADDRESS_MAP_START( bgaregga_sound_z80_mem, AS_PROGRAM, 8, toaplan2_state
AM_RANGE(0xe006, 0xe008) AM_WRITE(raizing_oki_bankswitch_w)
AM_RANGE(0xe00a, 0xe00a) AM_WRITE(raizing_z80_bankswitch_w)
AM_RANGE(0xe00c, 0xe00c) AM_WRITE(bgaregga_E00C_w)
- AM_RANGE(0xe01c, 0xe01c) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe01c, 0xe01c) AM_READ(soundlatch_r)
AM_RANGE(0xe01d, 0xe01d) AM_READ(bgaregga_E01D_r)
ADDRESS_MAP_END
@@ -1433,12 +1433,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( batrider_sound_z80_port, AS_IO, 8, toaplan2_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x40, 0x40) AM_WRITE_LEGACY(soundlatch3_w)
- AM_RANGE(0x42, 0x42) AM_WRITE_LEGACY(soundlatch4_w)
+ AM_RANGE(0x40, 0x40) AM_WRITE(soundlatch3_w)
+ AM_RANGE(0x42, 0x42) AM_WRITE(soundlatch4_w)
AM_RANGE(0x44, 0x44) AM_WRITE(batrider_sndirq_w)
AM_RANGE(0x46, 0x46) AM_WRITE(batrider_clear_nmi_w)
- AM_RANGE(0x48, 0x48) AM_READ_LEGACY(soundlatch_r)
- AM_RANGE(0x4a, 0x4a) AM_READ_LEGACY(soundlatch2_r)
+ AM_RANGE(0x48, 0x48) AM_READ(soundlatch_r)
+ AM_RANGE(0x4a, 0x4a) AM_READ(soundlatch2_r)
AM_RANGE(0x80, 0x81) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x82, 0x82) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x84, 0x84) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
@@ -1455,12 +1455,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( bbakraid_sound_z80_port, AS_IO, 8, toaplan2_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x40, 0x40) AM_WRITE_LEGACY(soundlatch3_w)
- AM_RANGE(0x42, 0x42) AM_WRITE_LEGACY(soundlatch4_w)
+ AM_RANGE(0x40, 0x40) AM_WRITE(soundlatch3_w)
+ AM_RANGE(0x42, 0x42) AM_WRITE(soundlatch4_w)
AM_RANGE(0x44, 0x44) AM_WRITE(batrider_sndirq_w)
AM_RANGE(0x46, 0x46) AM_WRITE(batrider_clear_nmi_w)
- AM_RANGE(0x48, 0x48) AM_READ_LEGACY(soundlatch_r)
- AM_RANGE(0x4a, 0x4a) AM_READ_LEGACY(soundlatch2_r)
+ AM_RANGE(0x48, 0x48) AM_READ(soundlatch_r)
+ AM_RANGE(0x4a, 0x4a) AM_READ(soundlatch2_r)
AM_RANGE(0x80, 0x81) AM_DEVREADWRITE_LEGACY("ymz", ymz280b_r, ymz280b_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/toki.c b/src/mame/drivers/toki.c
index e836086468e..d10808af6f8 100644
--- a/src/mame/drivers/toki.c
+++ b/src/mame/drivers/toki.c
@@ -116,7 +116,7 @@ static ADDRESS_MAP_START( tokib_map, AS_PROGRAM, 16, toki_state )
/* gets written the same value as 75000a (bg2 scrollx) */
AM_RANGE(0x071804, 0x071807) AM_WRITENOP /* sprite related, always 01be0100 */
AM_RANGE(0x07180e, 0x071e45) AM_WRITEONLY AM_SHARE("spriteram")
- AM_RANGE(0x072000, 0x072001) AM_READ_LEGACY(watchdog_reset16_r) /* probably */
+ AM_RANGE(0x072000, 0x072001) AM_READ(watchdog_reset16_r) /* probably */
AM_RANGE(0x075000, 0x075001) AM_WRITE(tokib_soundcommand16_w)
AM_RANGE(0x075004, 0x07500b) AM_WRITEONLY AM_BASE(m_scrollram16)
AM_RANGE(0x0c0000, 0x0c0001) AM_READ_PORT("DSW")
@@ -136,7 +136,7 @@ static ADDRESS_MAP_START( tokib_audio_map, AS_PROGRAM, 8, toki_state )
AM_RANGE(0xe400, 0xe400) AM_WRITE(toki_adpcm_data_w)
AM_RANGE(0xec00, 0xec01) AM_MIRROR(0x0008) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
AM_RANGE(0xf000, 0xf7ff) AM_RAM
- AM_RANGE(0xf800, 0xf800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r)
ADDRESS_MAP_END
/*****************************************************************************/
diff --git a/src/mame/drivers/toobin.c b/src/mame/drivers/toobin.c
index 5d0f72d5048..d2f03018bd6 100644
--- a/src/mame/drivers/toobin.c
+++ b/src/mame/drivers/toobin.c
@@ -115,7 +115,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, toobin_state )
AM_RANGE(0xc09800, 0xc09fff) AM_MIRROR(0x046000) AM_READWRITE_LEGACY(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
AM_RANGE(0xc10000, 0xc107ff) AM_MIRROR(0x047800) AM_RAM_WRITE_LEGACY(toobin_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xff6000, 0xff6001) AM_READNOP /* who knows? read at controls time */
- AM_RANGE(0xff8000, 0xff8001) AM_MIRROR(0x4500fe) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0xff8000, 0xff8001) AM_MIRROR(0x4500fe) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0xff8100, 0xff8101) AM_MIRROR(0x4500fe) AM_WRITE_LEGACY(atarigen_sound_w)
AM_RANGE(0xff8300, 0xff8301) AM_MIRROR(0x45003e) AM_WRITE_LEGACY(toobin_intensity_w)
AM_RANGE(0xff8340, 0xff8341) AM_MIRROR(0x45003e) AM_WRITE_LEGACY(interrupt_scan_w) AM_BASE(m_interrupt_scan)
diff --git a/src/mame/drivers/toypop.c b/src/mame/drivers/toypop.c
index 4e33d00f51c..482cb20523f 100644
--- a/src/mame/drivers/toypop.c
+++ b/src/mame/drivers/toypop.c
@@ -195,7 +195,7 @@ static ADDRESS_MAP_START( liblrabl_map, AS_PROGRAM, 8, toypop_state )
AM_RANGE(0x6810, 0x681f) AM_DEVREADWRITE_LEGACY("56xx_1", namcoio_r, namcoio_w) /* custom I/O */
AM_RANGE(0x6820, 0x682f) AM_DEVREADWRITE_LEGACY("56xx_2", namcoio_r, namcoio_w) /* custom I/O */
AM_RANGE(0x7000, 0x7000) AM_WRITE(toypop_main_interrupt_enable_w) /* enable interrupt */
- AM_RANGE(0x7800, 0x7800) AM_READ_LEGACY(watchdog_reset_r) AM_WRITE(toypop_main_interrupt_disable_w) /* disable interrupt */
+ AM_RANGE(0x7800, 0x7800) AM_READ(watchdog_reset_r) AM_WRITE(toypop_main_interrupt_disable_w) /* disable interrupt */
AM_RANGE(0x8000, 0x8000) AM_WRITE(toypop_m68000_clear_w) /* reset 68000 */
AM_RANGE(0x8800, 0x8800) AM_WRITE(toypop_m68000_assert_w) /* reset 68000 */
AM_RANGE(0x9000, 0x9000) AM_WRITE(toypop_sound_clear_w) /* sound CPU reset */
@@ -232,7 +232,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, toypop_state )
AM_RANGE(0x0000, 0x03ff) AM_DEVREADWRITE_LEGACY("namco", namco_snd_sharedram_r, namco_snd_sharedram_w) /* shared RAM with the main CPU + sound registers */
AM_RANGE(0x2000, 0x2000) AM_WRITE(toypop_sound_interrupt_disable_w) /* ??? toypop doesn't write here */
AM_RANGE(0x4000, 0x4000) AM_WRITE(toypop_sound_interrupt_enable_acknowledge_w)
- AM_RANGE(0x6000, 0x6000) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x6000, 0x6000) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tp84.c b/src/mame/drivers/tp84.c
index f470941d6f9..f6cf3db8721 100644
--- a/src/mame/drivers/tp84.c
+++ b/src/mame/drivers/tp84.c
@@ -126,7 +126,7 @@ WRITE8_MEMBER(tp84_state::tp84_sh_irqtrigger_w)
static ADDRESS_MAP_START( tp84_cpu1_map, AS_PROGRAM, 8, tp84_state )
- AM_RANGE(0x2000, 0x2000) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x2000, 0x2000) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x2800, 0x2800) AM_READ_PORT("SYSTEM") AM_WRITEONLY AM_BASE(m_palette_bank)
AM_RANGE(0x2820, 0x2820) AM_READ_PORT("P1")
AM_RANGE(0x2840, 0x2840) AM_READ_PORT("P2")
@@ -135,7 +135,7 @@ static ADDRESS_MAP_START( tp84_cpu1_map, AS_PROGRAM, 8, tp84_state )
AM_RANGE(0x3004, 0x3004) AM_WRITEONLY AM_BASE(m_flipscreen_x)
AM_RANGE(0x3005, 0x3005) AM_WRITEONLY AM_BASE(m_flipscreen_y)
AM_RANGE(0x3800, 0x3800) AM_WRITE(tp84_sh_irqtrigger_w)
- AM_RANGE(0x3a00, 0x3a00) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x3a00, 0x3a00) AM_WRITE(soundlatch_w)
AM_RANGE(0x3c00, 0x3c00) AM_WRITEONLY AM_BASE(m_scroll_x)
AM_RANGE(0x3e00, 0x3e00) AM_WRITEONLY AM_BASE(m_scroll_y)
AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE(m_bg_videoram)
@@ -152,7 +152,7 @@ static ADDRESS_MAP_START( tp84b_cpu1_map, AS_PROGRAM, 8, tp84_state )
AM_RANGE(0x0800, 0x0bff) AM_RAM AM_BASE(m_bg_colorram)
AM_RANGE(0x0c00, 0x0fff) AM_RAM AM_BASE(m_fg_colorram)
AM_RANGE(0x1000, 0x17ff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0x1800, 0x1800) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x1800, 0x1800) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1a00, 0x1a00) AM_READ_PORT("SYSTEM") AM_WRITEONLY AM_BASE(m_palette_bank)
AM_RANGE(0x1a20, 0x1a20) AM_READ_PORT("P1")
AM_RANGE(0x1a40, 0x1a40) AM_READ_PORT("P2")
@@ -161,7 +161,7 @@ static ADDRESS_MAP_START( tp84b_cpu1_map, AS_PROGRAM, 8, tp84_state )
AM_RANGE(0x1c04, 0x1c04) AM_WRITEONLY AM_BASE(m_flipscreen_x)
AM_RANGE(0x1c05, 0x1c05) AM_WRITEONLY AM_BASE(m_flipscreen_y)
AM_RANGE(0x1e00, 0x1e00) AM_WRITE(tp84_sh_irqtrigger_w)
- AM_RANGE(0x1e80, 0x1e80) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x1e80, 0x1e80) AM_WRITE(soundlatch_w)
AM_RANGE(0x1f00, 0x1f00) AM_WRITEONLY AM_BASE(m_scroll_x)
AM_RANGE(0x1f80, 0x1f80) AM_WRITEONLY AM_BASE(m_scroll_y)
AM_RANGE(0x8000, 0xffff) AM_ROM
@@ -189,7 +189,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, tp84_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
- AM_RANGE(0x6000, 0x6000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0x8000) AM_READ(tp84_sh_timer_r)
AM_RANGE(0xa000, 0xa1ff) AM_WRITE(tp84_filter_w)
AM_RANGE(0xc000, 0xc000) AM_WRITENOP
diff --git a/src/mame/drivers/trackfld.c b/src/mame/drivers/trackfld.c
index ddfca635033..8a583ee474a 100644
--- a/src/mame/drivers/trackfld.c
+++ b/src/mame/drivers/trackfld.c
@@ -224,7 +224,7 @@ WRITE8_MEMBER(trackfld_state::irq_mask_w)
}
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, trackfld_state )
- AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x007f) AM_WRITE_LEGACY(watchdog_reset_w) /* AFE */
+ AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x007f) AM_WRITE(watchdog_reset_w) /* AFE */
AM_RANGE(0x1080, 0x1080) AM_MIRROR(0x0078) AM_WRITE_LEGACY(trackfld_flipscreen_w) /* FLIP */
AM_RANGE(0x1081, 0x1081) AM_MIRROR(0x0078) AM_WRITE_LEGACY(konami_sh_irqtrigger_w) /* 26 */ /* cause interrupt on audio CPU */
AM_RANGE(0x1082, 0x1082) AM_MIRROR(0x0078) AM_WRITENOP /* 25 */
@@ -232,7 +232,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, trackfld_state )
AM_RANGE(0x1085, 0x1085) AM_MIRROR(0x0078) AM_WRITENOP /* CN3.2 */
AM_RANGE(0x1086, 0x1086) AM_MIRROR(0x0078) AM_WRITENOP /* CN3.4 */
AM_RANGE(0x1087, 0x1087) AM_MIRROR(0x0078) AM_WRITE(irq_mask_w) /* INT */
- AM_RANGE(0x1100, 0x1100) AM_MIRROR(0x007f) AM_WRITE_LEGACY(soundlatch_w) /* 32 */
+ AM_RANGE(0x1100, 0x1100) AM_MIRROR(0x007f) AM_WRITE(soundlatch_w) /* 32 */
AM_RANGE(0x1200, 0x1200) AM_MIRROR(0x007f) AM_READ_PORT("DSW2")
AM_RANGE(0x1280, 0x1280) AM_MIRROR(0x007c) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1281, 0x1281) AM_MIRROR(0x007c) AM_READ_PORT("IN0")
@@ -263,7 +263,7 @@ static ADDRESS_MAP_START( yieartf_map, AS_PROGRAM, 8, trackfld_state )
AM_RANGE(0x0001, 0x0001) AM_DEVWRITE_LEGACY("snsnd", konami_SN76496_w)
AM_RANGE(0x0002, 0x0002) AM_DEVWRITE_LEGACY("vlm", yiear_VLM5030_control_w)
AM_RANGE(0x0003, 0x0003) AM_DEVWRITE_LEGACY("vlm", vlm5030_data_w)
- AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x007f) AM_WRITE_LEGACY(watchdog_reset_w) /* AFE */
+ AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x007f) AM_WRITE(watchdog_reset_w) /* AFE */
AM_RANGE(0x1080, 0x1080) AM_MIRROR(0x0078) AM_WRITE_LEGACY(trackfld_flipscreen_w) /* FLIP */
AM_RANGE(0x1081, 0x1081) AM_MIRROR(0x0078) AM_WRITE_LEGACY(konami_sh_irqtrigger_w) /* 26 */ /* cause interrupt on audio CPU */
AM_RANGE(0x1082, 0x1082) AM_MIRROR(0x0078) AM_WRITE(yieartf_nmi_mask_w) /* 25 */
@@ -271,7 +271,7 @@ static ADDRESS_MAP_START( yieartf_map, AS_PROGRAM, 8, trackfld_state )
AM_RANGE(0x1085, 0x1085) AM_MIRROR(0x0078) AM_WRITENOP /* CN3.2 */
AM_RANGE(0x1086, 0x1086) AM_MIRROR(0x0078) AM_WRITENOP /* CN3.4 */
AM_RANGE(0x1087, 0x1087) AM_MIRROR(0x0078) AM_WRITE(irq_mask_w) /* INT */
-// AM_RANGE(0x1100, 0x1100) AM_MIRROR(0x007f) AM_WRITE_LEGACY(soundlatch_w) /* 32 */
+// AM_RANGE(0x1100, 0x1100) AM_MIRROR(0x007f) AM_WRITE(soundlatch_w) /* 32 */
AM_RANGE(0x1200, 0x1200) AM_MIRROR(0x007f) AM_READ_PORT("DSW2")
AM_RANGE(0x1280, 0x1280) AM_MIRROR(0x007c) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1281, 0x1281) AM_MIRROR(0x007c) AM_READ_PORT("IN0")
@@ -293,12 +293,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( reaktor_map, AS_PROGRAM, 8, trackfld_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
/* all usual addresses +0x8000 */
- AM_RANGE(0x9000, 0x9000) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x9000, 0x9000) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x9080, 0x9080) AM_WRITE_LEGACY(trackfld_flipscreen_w)
AM_RANGE(0x9081, 0x9081) AM_WRITE_LEGACY(konami_sh_irqtrigger_w) /* cause interrupt on audio CPU */
AM_RANGE(0x9083, 0x9084) AM_WRITE(coin_w)
AM_RANGE(0x9087, 0x9087) AM_WRITE(irq_mask_w)
- AM_RANGE(0x9100, 0x9100) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x9100, 0x9100) AM_WRITE(soundlatch_w)
AM_RANGE(0x9200, 0x9200) AM_READ_PORT("DSW2")
AM_RANGE(0x9280, 0x9280) AM_READ_PORT("SYSTEM")
AM_RANGE(0x9281, 0x9281) AM_READ_PORT("IN0")
@@ -326,12 +326,12 @@ static ADDRESS_MAP_START( reaktor_io_map, AS_IO, 8, trackfld_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( mastkin_map, AS_PROGRAM, 8, trackfld_state )
- AM_RANGE(0x1000, 0x1000) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x1000, 0x1000) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x10b0, 0x10b0) AM_WRITE_LEGACY(trackfld_flipscreen_w)
AM_RANGE(0x10b1, 0x10b1) AM_READNOP AM_WRITE_LEGACY(konami_sh_irqtrigger_w)
AM_RANGE(0x10b3, 0x10b4) AM_WRITE(coin_w) // actually not used
AM_RANGE(0x10b7, 0x10b7) AM_READNOP AM_WRITE(irq_mask_w)
- AM_RANGE(0x1100, 0x1100) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x1100, 0x1100) AM_WRITE(soundlatch_w)
AM_RANGE(0x1200, 0x1200) AM_READ_PORT("DSW2")
AM_RANGE(0x1280, 0x1280) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1281, 0x1281) AM_READ_PORT("IN0")
@@ -353,12 +353,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( wizzquiz_map, AS_PROGRAM, 8, trackfld_state )
AM_RANGE(0x0000, 0x007f) AM_RAM
- AM_RANGE(0x1000, 0x1000) AM_READWRITE_LEGACY(watchdog_reset_r, watchdog_reset_w)
+ AM_RANGE(0x1000, 0x1000) AM_READWRITE(watchdog_reset_r, watchdog_reset_w)
AM_RANGE(0x1080, 0x1080) AM_WRITE_LEGACY(trackfld_flipscreen_w)
AM_RANGE(0x1081, 0x1081) AM_WRITE_LEGACY(konami_sh_irqtrigger_w) /* cause interrupt on audio CPU */
AM_RANGE(0x1083, 0x1084) AM_WRITE(coin_w)
AM_RANGE(0x1087, 0x1087) AM_WRITE(irq_mask_w)
- AM_RANGE(0x1100, 0x1100) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x1100, 0x1100) AM_WRITE(soundlatch_w)
AM_RANGE(0x1200, 0x1200) AM_READ_PORT("DSW2")
AM_RANGE(0x1280, 0x1280) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1281, 0x1281) AM_READ_PORT("IN0")
@@ -389,7 +389,7 @@ READ8_DEVICE_HANDLER( trackfld_SN76496_r )
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, trackfld_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x1c00) AM_RAM
- AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x1fff) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x1fff) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0x8000) AM_MIRROR(0x1fff) AM_READ_LEGACY(trackfld_sh_timer_r)
AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x1fff) AM_WRITE_LEGACY(konami_SN76496_latch_w)
AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x1fff) AM_DEVREADWRITE_LEGACY("snsnd", trackfld_SN76496_r, konami_SN76496_w)
@@ -403,7 +403,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( hyprolyb_sound_map, AS_PROGRAM, 8, trackfld_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x1c00) AM_RAM
- AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x1fff) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x1fff) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0x8000) AM_MIRROR(0x1fff) AM_READ_LEGACY(trackfld_sh_timer_r)
AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x1fff) AM_WRITE_LEGACY(konami_SN76496_latch_w)
AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x1fff) AM_DEVREADWRITE_LEGACY("snsnd", trackfld_SN76496_r, konami_SN76496_w)
diff --git a/src/mame/drivers/trucocl.c b/src/mame/drivers/trucocl.c
index d21cdf09b9f..ec0c8551c93 100644
--- a/src/mame/drivers/trucocl.c
+++ b/src/mame/drivers/trucocl.c
@@ -87,7 +87,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, trucocl_state )
AM_RANGE(0x5000, 0x5000) AM_WRITE(irq_enable_w)
AM_RANGE(0x5000, 0x503f) AM_READ_PORT("IN0")
AM_RANGE(0x5080, 0x5080) AM_DEVWRITE_LEGACY("dac", audio_dac_w)
- AM_RANGE(0x50c0, 0x50c0) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x50c0, 0x50c0) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tryout.c b/src/mame/drivers/tryout.c
index 1944860b07e..84e528a938e 100644
--- a/src/mame/drivers/tryout.c
+++ b/src/mame/drivers/tryout.c
@@ -76,7 +76,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_cpu, AS_PROGRAM, 8, tryout_state )
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x4000, 0x4001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xd000, 0xd000) AM_WRITE(tryout_sound_irq_ack_w)
AM_RANGE(0xc000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tsamurai.c b/src/mame/drivers/tsamurai.c
index 9d51ec8fc8b..862c2c7db31 100644
--- a/src/mame/drivers/tsamurai.c
+++ b/src/mame/drivers/tsamurai.c
@@ -333,7 +333,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_vsgongf_map, AS_PROGRAM, 8, tsamurai_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x6000, 0x63ff) AM_RAM /* work RAM */
- AM_RANGE(0x8000, 0x8000) AM_READ_LEGACY(soundlatch_r) AM_WRITE(vsgongf_sound_nmi_enable_w) /* NMI enable */
+ AM_RANGE(0x8000, 0x8000) AM_READ(soundlatch_r) AM_WRITE(vsgongf_sound_nmi_enable_w) /* NMI enable */
AM_RANGE(0xa000, 0xa000) AM_DEVWRITE_LEGACY("dac", dac_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tumbleb.c b/src/mame/drivers/tumbleb.c
index ecc85f25863..b730a793101 100644
--- a/src/mame/drivers/tumbleb.c
+++ b/src/mame/drivers/tumbleb.c
@@ -793,7 +793,7 @@ static ADDRESS_MAP_START( semicom_sound_map, AS_PROGRAM, 8, tumbleb_state )
AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xf002, 0xf002) AM_DEVREADWRITE("oki", okim6295_device, read, write)
//AM_RANGE(0xf006, 0xf006) ??
- AM_RANGE(0xf008, 0xf008) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xf008, 0xf008) AM_READ(soundlatch_r)
AM_RANGE(0xf00e, 0xf00e) AM_WRITE(oki_sound_bank_w)
ADDRESS_MAP_END
@@ -802,7 +802,7 @@ static ADDRESS_MAP_START( suprtrio_sound_map, AS_PROGRAM, 8, tumbleb_state )
AM_RANGE(0xd000, 0xd7ff) AM_RAM
AM_RANGE(0xf002, 0xf002) AM_DEVREADWRITE("oki", okim6295_device, read, write)
//AM_RANGE(0xf006, 0xf006) ??
- AM_RANGE(0xf008, 0xf008) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xf008, 0xf008) AM_READ(soundlatch_r)
AM_RANGE(0xf00e, 0xf00e) AM_WRITE(oki_sound_bank_w)
ADDRESS_MAP_END
@@ -868,7 +868,7 @@ static ADDRESS_MAP_START( jumpkids_sound_map, AS_PROGRAM, 8, tumbleb_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(jumpkids_oki_bank_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tumblep.c b/src/mame/drivers/tumblep.c
index 94662551cc3..ea955c04b67 100644
--- a/src/mame/drivers/tumblep.c
+++ b/src/mame/drivers/tumblep.c
@@ -133,7 +133,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, tumblep_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_NOP /* This board only has 1 oki chip */
- AM_RANGE(0x140000, 0x140001) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
diff --git a/src/mame/drivers/tutankhm.c b/src/mame/drivers/tutankhm.c
index 128568fe622..d8fac8179d9 100644
--- a/src/mame/drivers/tutankhm.c
+++ b/src/mame/drivers/tutankhm.c
@@ -121,7 +121,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tutankhm_state )
AM_RANGE(0x0000, 0x7fff) AM_RAM AM_BASE(m_videoram)
AM_RANGE(0x8000, 0x800f) AM_MIRROR(0x00f0) AM_RAM AM_BASE(m_paletteram)
AM_RANGE(0x8100, 0x8100) AM_MIRROR(0x000f) AM_RAM AM_BASE(m_scroll)
- AM_RANGE(0x8120, 0x8120) AM_MIRROR(0x000f) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x8120, 0x8120) AM_MIRROR(0x000f) AM_READ(watchdog_reset_r)
AM_RANGE(0x8160, 0x8160) AM_MIRROR(0x000f) AM_READ_PORT("DSW2") /* DSW2 (inverted bits) */
AM_RANGE(0x8180, 0x8180) AM_MIRROR(0x000f) AM_READ_PORT("IN0") /* IN0 I/O: Coin slots, service, 1P/2P buttons */
AM_RANGE(0x81a0, 0x81a0) AM_MIRROR(0x000f) AM_READ_PORT("IN1") /* IN1: Player 1 I/O */
@@ -135,7 +135,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tutankhm_state )
AM_RANGE(0x8207, 0x8207) AM_MIRROR(0x00f8) AM_WRITE_LEGACY(tutankhm_flip_screen_y_w)
AM_RANGE(0x8300, 0x8300) AM_MIRROR(0x00ff) AM_WRITE(tutankhm_bankselect_w)
AM_RANGE(0x8600, 0x8600) AM_MIRROR(0x00ff) AM_WRITE_LEGACY(timeplt_sh_irqtrigger_w)
- AM_RANGE(0x8700, 0x8700) AM_MIRROR(0x00ff) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x8700, 0x8700) AM_MIRROR(0x00ff) AM_WRITE(soundlatch_w)
AM_RANGE(0x8800, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/twin16.c b/src/mame/drivers/twin16.c
index 3af7fcfc741..64c1a113616 100644
--- a/src/mame/drivers/twin16.c
+++ b/src/mame/drivers/twin16.c
@@ -224,7 +224,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, twin16_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_DEVWRITE_LEGACY("upd", twin16_upd_reset_w)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("konami", k007232_r, k007232_w)
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xd000, 0xd000) AM_DEVWRITE_LEGACY("upd", upd7759_port_w)
@@ -242,7 +242,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, twin16_state )
AM_RANGE(0x0a0000, 0x0a001b) AM_READ(twin16_input_r)
AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(twin16_CPUA_register_w)
AM_RANGE(0x0a0008, 0x0a0009) AM_WRITE(sound_command_w)
- AM_RANGE(0x0a0010, 0x0a0011) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x0a0010, 0x0a0011) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x0b0000, 0x0b03ff) AM_READWRITE(cuebrickj_nvram_r, cuebrickj_nvram_w) AM_SHARE("nvram")
AM_RANGE(0x0b0400, 0x0b0401) AM_WRITE(cuebrickj_nvram_bank_w)
AM_RANGE(0x0c0000, 0x0c000f) AM_WRITE_LEGACY(twin16_video_register_w)
@@ -276,7 +276,7 @@ static ADDRESS_MAP_START( fround_map, AS_PROGRAM, 16, twin16_state )
AM_RANGE(0x0a0000, 0x0a001b) AM_READ(twin16_input_r)
AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(fround_CPU_register_w)
AM_RANGE(0x0a0008, 0x0a0009) AM_WRITE(sound_command_w)
- AM_RANGE(0x0a0010, 0x0a0011) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x0a0010, 0x0a0011) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x0c0000, 0x0c000f) AM_WRITE_LEGACY(twin16_video_register_w)
AM_RANGE(0x0c000e, 0x0c000f) AM_READ_LEGACY(twin16_sprite_status_r)
AM_RANGE(0x0e0000, 0x0e0001) AM_WRITE_LEGACY(fround_gfx_bank_w)
diff --git a/src/mame/drivers/twinkle.c b/src/mame/drivers/twinkle.c
index aa5c219f5d1..4e94ad5c632 100644
--- a/src/mame/drivers/twinkle.c
+++ b/src/mame/drivers/twinkle.c
@@ -615,7 +615,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, twinkle_state )
AM_RANGE(0x1f200000, 0x1f20001f) AM_READWRITE_LEGACY(am53cf96_r, am53cf96_w)
AM_RANGE(0x1f20a01c, 0x1f20a01f) AM_WRITENOP /* scsi? */
AM_RANGE(0x1f210400, 0x1f2107ff) AM_READNOP
- AM_RANGE(0x1f218000, 0x1f218003) AM_WRITE_LEGACY(watchdog_reset32_w) /* LTC1232 */
+ AM_RANGE(0x1f218000, 0x1f218003) AM_WRITE(watchdog_reset32_w) /* LTC1232 */
AM_RANGE(0x1f220000, 0x1f220003) AM_WRITE_LEGACY(twinkle_io_w)
AM_RANGE(0x1f220004, 0x1f220007) AM_READ_LEGACY(twinkle_io_r)
AM_RANGE(0x1f230000, 0x1f230003) AM_WRITENOP
diff --git a/src/mame/drivers/tx1.c b/src/mame/drivers/tx1.c
index 473358b6dc5..8018419d99e 100644
--- a/src/mame/drivers/tx1.c
+++ b/src/mame/drivers/tx1.c
@@ -510,7 +510,7 @@ static ADDRESS_MAP_START( tx1_main, AS_PROGRAM, 16, tx1_state )
AM_RANGE(0x0c000, 0x0c001) AM_WRITE_LEGACY(tx1_scolst_w)
AM_RANGE(0x0d000, 0x0d003) AM_WRITE_LEGACY(tx1_slincs_w)
AM_RANGE(0x0e000, 0x0e001) AM_WRITE_LEGACY(tx1_slock_w)
- AM_RANGE(0x0f000, 0x0f001) AM_READWRITE_LEGACY(watchdog_reset16_r, resume_math_w)
+ AM_RANGE(0x0f000, 0x0f001) AM_READ(watchdog_reset16_r) AM_WRITE_LEGACY(resume_math_w)
AM_RANGE(0x10000, 0x1ffff) AM_READWRITE_LEGACY(z80_shared_r, z80_shared_w)
AM_RANGE(0xf0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
@@ -561,7 +561,7 @@ static ADDRESS_MAP_START( buggyboy_main, AS_PROGRAM, 16, tx1_state )
AM_RANGE(0x0c000, 0x0c001) AM_WRITE_LEGACY(buggyboy_scolst_w)
AM_RANGE(0x0d000, 0x0d003) AM_WRITE_LEGACY(tx1_slincs_w)
AM_RANGE(0x0e000, 0x0e001) AM_WRITE_LEGACY(buggyboy_sky_w)
- AM_RANGE(0x0f000, 0x0f003) AM_READWRITE_LEGACY(watchdog_reset16_r, resume_math_w)
+ AM_RANGE(0x0f000, 0x0f003) AM_READ(watchdog_reset16_r) AM_WRITE_LEGACY(resume_math_w)
AM_RANGE(0x10000, 0x1ffff) AM_READWRITE_LEGACY(z80_shared_r, z80_shared_w)
AM_RANGE(0x20000, 0x2ffff) AM_ROM
AM_RANGE(0xf0000, 0xfffff) AM_ROM
@@ -576,7 +576,7 @@ static ADDRESS_MAP_START( buggybjr_main, AS_PROGRAM, 16, tx1_state )
AM_RANGE(0x0c000, 0x0c001) AM_WRITE_LEGACY(buggyboy_scolst_w)
AM_RANGE(0x0d000, 0x0d003) AM_WRITE_LEGACY(tx1_slincs_w)
AM_RANGE(0x0e000, 0x0e001) AM_WRITE_LEGACY(buggyboy_sky_w)
- AM_RANGE(0x0f000, 0x0f003) AM_READWRITE_LEGACY(watchdog_reset16_r, resume_math_w)
+ AM_RANGE(0x0f000, 0x0f003) AM_READ(watchdog_reset16_r) AM_WRITE_LEGACY(resume_math_w)
AM_RANGE(0x10000, 0x1ffff) AM_READWRITE_LEGACY(z80_shared_r, z80_shared_w)
AM_RANGE(0x20000, 0x2ffff) AM_ROM
AM_RANGE(0xf0000, 0xfffff) AM_ROM
diff --git a/src/mame/drivers/ultraman.c b/src/mame/drivers/ultraman.c
index 695881bddb3..c79ee35734c 100644
--- a/src/mame/drivers/ultraman.c
+++ b/src/mame/drivers/ultraman.c
@@ -43,7 +43,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, ultraman_state )
AM_RANGE(0x1c0018, 0x1c0019) AM_WRITE_LEGACY(ultraman_gfxctrl_w) /* counters + gfx ctrl */
AM_RANGE(0x1c0020, 0x1c0021) AM_WRITE(sound_cmd_w)
AM_RANGE(0x1c0028, 0x1c0029) AM_WRITE(sound_irq_trigger_w)
- AM_RANGE(0x1c0030, 0x1c0031) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x1c0030, 0x1c0031) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x204000, 0x204fff) AM_DEVREADWRITE8_LEGACY("k051316_1", k051316_r, k051316_w, 0x00ff) /* K051316 #0 RAM */
AM_RANGE(0x205000, 0x205fff) AM_DEVREADWRITE8_LEGACY("k051316_2", k051316_r, k051316_w, 0x00ff) /* K051316 #1 RAM */
AM_RANGE(0x206000, 0x206fff) AM_DEVREADWRITE8_LEGACY("k051316_3", k051316_r, k051316_w, 0x00ff) /* K051316 #2 RAM */
@@ -57,7 +57,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, ultraman_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_RAM
- AM_RANGE(0xc000, 0xc000) AM_READ_LEGACY(soundlatch_r) /* Sound latch read */
+ AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r) /* Sound latch read */
// AM_RANGE(0xd000, 0xd000) AM_WRITENOP /* ??? */
AM_RANGE(0xe000, 0xe000) AM_DEVREADWRITE("oki", okim6295_device, read, write) /* M6295 */
AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w) /* YM2151 */
diff --git a/src/mame/drivers/ultratnk.c b/src/mame/drivers/ultratnk.c
index 9c2f6c76ea9..5d0562a2e10 100644
--- a/src/mame/drivers/ultratnk.c
+++ b/src/mame/drivers/ultratnk.c
@@ -167,7 +167,7 @@ static ADDRESS_MAP_START( ultratnk_cpu_map, AS_PROGRAM, 8, ultratnk_state )
AM_RANGE(0x2020, 0x2027) AM_MIRROR(0x718) AM_WRITE(ultratnk_collision_reset_w)
AM_RANGE(0x2040, 0x2041) AM_MIRROR(0x718) AM_WRITE(ultratnk_da_latch_w)
AM_RANGE(0x2042, 0x2043) AM_MIRROR(0x718) AM_DEVWRITE_LEGACY("discrete", ultratnk_explosion_w)
- AM_RANGE(0x2044, 0x2045) AM_MIRROR(0x718) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x2044, 0x2045) AM_MIRROR(0x718) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x2066, 0x2067) AM_MIRROR(0x710) AM_WRITE(ultratnk_lockout_w)
AM_RANGE(0x2068, 0x2069) AM_MIRROR(0x710) AM_WRITE(ultratnk_led_1_w)
AM_RANGE(0x206a, 0x206b) AM_MIRROR(0x710) AM_WRITE(ultratnk_led_2_w)
diff --git a/src/mame/drivers/vastar.c b/src/mame/drivers/vastar.c
index db3180829d3..0971fe884b3 100644
--- a/src/mame/drivers/vastar.c
+++ b/src/mame/drivers/vastar.c
@@ -110,7 +110,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, vastar_state )
AM_RANGE(0xb000, 0xbfff) AM_READWRITE_LEGACY(vastar_bg1videoram_r, vastar_bg1videoram_w) /* mirror address */
AM_RANGE(0xc000, 0xc000) AM_WRITEONLY AM_BASE(m_sprite_priority) /* sprite/BG priority */
AM_RANGE(0xc400, 0xcfff) AM_RAM_WRITE_LEGACY(vastar_fgvideoram_w) AM_BASE(m_fgvideoram)
- AM_RANGE(0xe000, 0xe000) AM_READWRITE_LEGACY(watchdog_reset_r, watchdog_reset_w)
+ AM_RANGE(0xe000, 0xe000) AM_READWRITE(watchdog_reset_r, watchdog_reset_w)
AM_RANGE(0xf000, 0xf0ff) AM_READWRITE(vastar_sharedram_r, vastar_sharedram_w) AM_BASE(m_sharedram)
AM_RANGE(0xf100, 0xf7ff) AM_RAM
diff --git a/src/mame/drivers/vball.c b/src/mame/drivers/vball.c
index 645f85fc0e3..ac965472c47 100644
--- a/src/mame/drivers/vball.c
+++ b/src/mame/drivers/vball.c
@@ -229,7 +229,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, vball_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x9800, 0x9803) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xA000, 0xA000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/vendetta.c b/src/mame/drivers/vendetta.c
index 31f737309e2..9b42e7cff91 100644
--- a/src/mame/drivers/vendetta.c
+++ b/src/mame/drivers/vendetta.c
@@ -246,7 +246,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, vendetta_state )
AM_RANGE(0x5fe4, 0x5fe4) AM_READWRITE(vendetta_sound_interrupt_r, z80_irq_w)
AM_RANGE(0x5fe6, 0x5fe7) AM_DEVREADWRITE_LEGACY("k053260", vendetta_sound_r, k053260_w)
AM_RANGE(0x5fe8, 0x5fe9) AM_DEVREAD_LEGACY("k053246", k053246_r)
- AM_RANGE(0x5fea, 0x5fea) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x5fea, 0x5fea) AM_READ(watchdog_reset_r)
/* what is the desired effect of overlapping these memory regions anyway? */
AM_RANGE(0x4000, 0x4fff) AM_RAMBANK("bank3")
AM_RANGE(0x6000, 0x6fff) AM_RAMBANK("bank2")
diff --git a/src/mame/drivers/videopin.c b/src/mame/drivers/videopin.c
index 634667825ba..57127042f5a 100644
--- a/src/mame/drivers/videopin.c
+++ b/src/mame/drivers/videopin.c
@@ -198,7 +198,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, videopin_state )
AM_RANGE(0x0200, 0x07ff) AM_RAM_WRITE_LEGACY(videopin_video_ram_w) AM_BASE(m_video_ram)
AM_RANGE(0x0800, 0x0800) AM_READ(videopin_misc_r) AM_DEVWRITE_LEGACY("discrete", videopin_note_dvsr_w)
AM_RANGE(0x0801, 0x0801) AM_WRITE(videopin_led_w)
- AM_RANGE(0x0802, 0x0802) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x0802, 0x0802) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x0804, 0x0804) AM_WRITE_LEGACY(videopin_ball_w)
AM_RANGE(0x0805, 0x0805) AM_DEVWRITE_LEGACY("discrete", videopin_out1_w)
AM_RANGE(0x0806, 0x0806) AM_DEVWRITE_LEGACY("discrete", videopin_out2_w)
diff --git a/src/mame/drivers/vigilant.c b/src/mame/drivers/vigilant.c
index 34cac59c604..1f4174ca092 100644
--- a/src/mame/drivers/vigilant.c
+++ b/src/mame/drivers/vigilant.c
@@ -110,7 +110,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, vigilant_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
- AM_RANGE(0x80, 0x81) AM_READ_LEGACY(soundlatch_r) AM_DEVWRITE_LEGACY("m72", vigilant_sample_addr_w) /* STL / STH */
+ AM_RANGE(0x80, 0x81) AM_READ(soundlatch_r) AM_DEVWRITE_LEGACY("m72", vigilant_sample_addr_w) /* STL / STH */
AM_RANGE(0x82, 0x82) AM_DEVWRITE_LEGACY("m72", m72_sample_w) /* COUNT UP */
AM_RANGE(0x83, 0x83) AM_DEVWRITE_LEGACY("m72", m72_sound_irq_ack_w) /* IRQ clear */
AM_RANGE(0x84, 0x84) AM_DEVREAD_LEGACY("m72", m72_sample_r) /* S ROM C */
@@ -120,7 +120,7 @@ static ADDRESS_MAP_START( buccanrs_sound_io_map, AS_IO, 8, vigilant_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r, ym2203_w)
AM_RANGE(0x02, 0x03) AM_DEVREADWRITE_LEGACY("ym2", ym2203_r, ym2203_w)
- AM_RANGE(0x80, 0x80) AM_READ_LEGACY(soundlatch_r) /* SDRE */
+ AM_RANGE(0x80, 0x80) AM_READ(soundlatch_r) /* SDRE */
AM_RANGE(0x80, 0x81) AM_DEVWRITE_LEGACY("m72", vigilant_sample_addr_w) /* STL / STH */
AM_RANGE(0x82, 0x82) AM_DEVWRITE_LEGACY("m72", m72_sample_w) /* COUNT UP */
AM_RANGE(0x83, 0x83) AM_DEVWRITE_LEGACY("m72", m72_sound_irq_ack_w) /* IRQ clear */
diff --git a/src/mame/drivers/vindictr.c b/src/mame/drivers/vindictr.c
index 636f5ab41a5..12d4e47e0b7 100644
--- a/src/mame/drivers/vindictr.c
+++ b/src/mame/drivers/vindictr.c
@@ -91,7 +91,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, vindictr_state )
AM_RANGE(0x260010, 0x26001f) AM_READ_LEGACY(port1_r)
AM_RANGE(0x260020, 0x26002f) AM_READ_PORT("260020")
AM_RANGE(0x260030, 0x260031) AM_READ_LEGACY(atarigen_sound_r)
- AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x360000, 0x360001) AM_WRITE_LEGACY(atarigen_scanline_int_ack_w)
AM_RANGE(0x360010, 0x360011) AM_WRITENOP
AM_RANGE(0x360020, 0x360021) AM_WRITE_LEGACY(atarigen_sound_reset_w)
diff --git a/src/mame/drivers/vulgus.c b/src/mame/drivers/vulgus.c
index d60c988b49f..389f470931f 100644
--- a/src/mame/drivers/vulgus.c
+++ b/src/mame/drivers/vulgus.c
@@ -57,7 +57,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, vulgus_state )
AM_RANGE(0xc002, 0xc002) AM_READ_PORT("P2")
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("DSW1")
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("DSW2")
- AM_RANGE(0xc800, 0xc800) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xc800, 0xc800) AM_WRITE(soundlatch_w)
AM_RANGE(0xc802, 0xc803) AM_RAM AM_BASE(m_scroll_low)
AM_RANGE(0xc804, 0xc804) AM_WRITE_LEGACY(vulgus_c804_w)
AM_RANGE(0xc805, 0xc805) AM_WRITE_LEGACY(vulgus_palette_bank_w)
@@ -72,7 +72,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, vulgus_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x4000, 0x47ff) AM_WRITEONLY
- AM_RANGE(0x6000, 0x6000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x8000, 0x8001) AM_DEVWRITE_LEGACY("ay1", ay8910_address_data_w)
AM_RANGE(0xc000, 0xc001) AM_DEVWRITE_LEGACY("ay2", ay8910_address_data_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/wc90.c b/src/mame/drivers/wc90.c
index 0c3a179c416..9dda932eb36 100644
--- a/src/mame/drivers/wc90.c
+++ b/src/mame/drivers/wc90.c
@@ -136,7 +136,7 @@ static ADDRESS_MAP_START( wc90_map_1, AS_PROGRAM, 8, wc90_state )
AM_RANGE(0xfc46, 0xfc46) AM_WRITEONLY AM_BASE(m_scroll2xlo)
AM_RANGE(0xfc47, 0xfc47) AM_WRITEONLY AM_BASE(m_scroll2xhi)
AM_RANGE(0xfcc0, 0xfcc0) AM_WRITE(wc90_sound_command_w)
- AM_RANGE(0xfcd0, 0xfcd0) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xfcd0, 0xfcd0) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xfce0, 0xfce0) AM_WRITE(wc90_bankswitch_w)
ADDRESS_MAP_END
@@ -149,7 +149,7 @@ static ADDRESS_MAP_START( wc90_map_2, AS_PROGRAM, 8, wc90_state )
AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("bank2")
AM_RANGE(0xf800, 0xfbff) AM_RAM AM_SHARE("share1")
AM_RANGE(0xfc00, 0xfc00) AM_WRITE(wc90_bankswitch1_w)
- AM_RANGE(0xfc01, 0xfc01) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xfc01, 0xfc01) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, wc90_state )
@@ -157,7 +157,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, wc90_state )
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf803) AM_DEVREADWRITE_LEGACY("ymsnd", ym2608_r, ym2608_w)
AM_RANGE(0xfc00, 0xfc00) AM_READNOP /* ??? adpcm ??? */
- AM_RANGE(0xfc10, 0xfc10) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xfc10, 0xfc10) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/wc90b.c b/src/mame/drivers/wc90b.c
index df74320ca00..1a24abec2f0 100644
--- a/src/mame/drivers/wc90b.c
+++ b/src/mame/drivers/wc90b.c
@@ -178,7 +178,7 @@ static ADDRESS_MAP_START( sound_cpu, AS_PROGRAM, 8, wc90b_state )
AM_RANGE(0xe400, 0xe400) AM_WRITE(adpcm_data_w)
AM_RANGE(0xe800, 0xe801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
AM_RANGE(0xf000, 0xf7ff) AM_RAM
- AM_RANGE(0xf800, 0xf800) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/wecleman.c b/src/mame/drivers/wecleman.c
index 75500d0ad6e..d3e1ef94400 100644
--- a/src/mame/drivers/wecleman.c
+++ b/src/mame/drivers/wecleman.c
@@ -584,9 +584,10 @@ ADDRESS_MAP_END
/* 140001.b */
WRITE16_HANDLER( wecleman_soundlatch_w )
{
+ wecleman_state *state = space->machine().driver_data<wecleman_state>();
if (ACCESSING_BITS_0_7)
{
- soundlatch_w(space, 0, data & 0xFF);
+ state->soundlatch_w(*space, 0, data & 0xFF);
cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
}
}
@@ -630,7 +631,7 @@ static ADDRESS_MAP_START( wecleman_sound_map, AS_PROGRAM, 8, wecleman_state )
AM_RANGE(0x9000, 0x9000) AM_READ(multiply_r) // Protection
AM_RANGE(0x9000, 0x9001) AM_WRITE(multiply_w) // Protection
AM_RANGE(0x9006, 0x9006) AM_WRITENOP // ?
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r) // From main CPU
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r) // From main CPU
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("konami", k007232_r, k007232_w) // K007232 (Reading offset 5/b triggers the sample)
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xf000, 0xf000) AM_DEVWRITE_LEGACY("konami", wecleman_K00723216_bank_w) // Samples banking
@@ -723,7 +724,7 @@ static ADDRESS_MAP_START( hotchase_sound_map, AS_PROGRAM, 8, wecleman_state )
AM_RANGE(0x3000, 0x300d) AM_DEVREADWRITE_LEGACY("konami3", hotchase_k007232_r, hotchase_k007232_w)
AM_RANGE(0x4000, 0x4007) AM_WRITE(hotchase_sound_control_w) // Sound volume, banking, etc.
AM_RANGE(0x5000, 0x5000) AM_WRITENOP // ? (written with 0 on IRQ, 1 on FIRQ)
- AM_RANGE(0x6000, 0x6000) AM_READ_LEGACY(soundlatch_r) // From main CPU (Read on IRQ)
+ AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r) // From main CPU (Read on IRQ)
AM_RANGE(0x7000, 0x7000) AM_WRITENOP // Command acknowledge ?
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/welltris.c b/src/mame/drivers/welltris.c
index 963c2fd400d..bde41eda9ff 100644
--- a/src/mame/drivers/welltris.c
+++ b/src/mame/drivers/welltris.c
@@ -386,7 +386,7 @@ static ADDRESS_MAP_START( sound_port_map, AS_IO, 8, welltris_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(welltris_sh_bankswitch_w)
AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
- AM_RANGE(0x10, 0x10) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x10, 0x10) AM_READ(soundlatch_r)
AM_RANGE(0x18, 0x18) AM_WRITE(pending_command_clear_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/wink.c b/src/mame/drivers/wink.c
index 09977c7fafb..67250534bcf 100644
--- a/src/mame/drivers/wink.c
+++ b/src/mame/drivers/wink.c
@@ -151,7 +151,7 @@ static ADDRESS_MAP_START( wink_io, AS_IO, 8, wink_state )
// AM_RANGE(0x23, 0x23) AM_WRITENOP //?
// AM_RANGE(0x24, 0x24) AM_WRITENOP //cab Knocker like in q-bert!
AM_RANGE(0x25, 0x27) AM_WRITE(wink_coin_counter_w)
- AM_RANGE(0x40, 0x40) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0x40, 0x40) AM_WRITE(soundlatch_w)
AM_RANGE(0x60, 0x60) AM_WRITE(sound_irq_w)
AM_RANGE(0x80, 0x80) AM_READ(analog_port_r)
AM_RANGE(0xa0, 0xa0) AM_READ(player_inputs_r)
@@ -168,7 +168,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( wink_sound_map, AS_PROGRAM, 8, wink_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM
- AM_RANGE(0x8000, 0x8000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x8000, 0x8000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( wink_sound_io, AS_IO, 8, wink_state )
diff --git a/src/mame/drivers/wiping.c b/src/mame/drivers/wiping.c
index 059e87e39dd..0a04a648a4a 100644
--- a/src/mame/drivers/wiping.c
+++ b/src/mame/drivers/wiping.c
@@ -82,7 +82,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, wiping_state )
AM_RANGE(0xa003, 0xa003) AM_WRITE(subcpu_reset_w)
AM_RANGE(0xa800, 0xa807) AM_READ(ports_r)
AM_RANGE(0xb000, 0xb7ff) AM_RAM
- AM_RANGE(0xb800, 0xb800) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0xb800, 0xb800) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, wiping_state )
diff --git a/src/mame/drivers/wiz.c b/src/mame/drivers/wiz.c
index 1372c0c82cf..b6466cd40d8 100644
--- a/src/mame/drivers/wiz.c
+++ b/src/mame/drivers/wiz.c
@@ -245,7 +245,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, wiz_state )
AM_RANGE(0xf008, 0xf00f) AM_WRITENOP /* initialized by Stinger/Scion */
AM_RANGE(0xf010, 0xf010) AM_READ_PORT("IN0")
AM_RANGE(0xf018, 0xf018) AM_READ_PORT("IN1")
- AM_RANGE(0xf800, 0xf800) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0xf800, 0xf800) AM_READ(watchdog_reset_r)
AM_RANGE(0xf800, 0xf80f) AM_WRITE(sound_command_w) /* sound registers */
AM_RANGE(0xf818, 0xf818) AM_WRITE_LEGACY(wiz_bgcolor_w)
ADDRESS_MAP_END
@@ -261,20 +261,20 @@ WRITE8_MEMBER(wiz_state::wiz_sound_nmi_mask_w)
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, wiz_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
- AM_RANGE(0x3000, 0x3000) AM_READ_LEGACY(soundlatch_r) AM_WRITE(wiz_sound_nmi_mask_w) /* Stinger/Scion */
+ AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r) AM_WRITE(wiz_sound_nmi_mask_w) /* Stinger/Scion */
AM_RANGE(0x4000, 0x4001) AM_DEVWRITE_LEGACY("8910.3", ay8910_address_data_w)
AM_RANGE(0x5000, 0x5001) AM_DEVWRITE_LEGACY("8910.1", ay8910_address_data_w)
AM_RANGE(0x6000, 0x6001) AM_DEVWRITE_LEGACY("8910.2", ay8910_address_data_w) /* Wiz only */
- AM_RANGE(0x7000, 0x7000) AM_READ_LEGACY(soundlatch_r) AM_WRITE(wiz_sound_nmi_mask_w) /* Wiz */
+ AM_RANGE(0x7000, 0x7000) AM_READ(soundlatch_r) AM_WRITE(wiz_sound_nmi_mask_w) /* Wiz */
ADDRESS_MAP_END
static ADDRESS_MAP_START( stinger_sound_map, AS_PROGRAM, 8, wiz_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
- AM_RANGE(0x3000, 0x3000) AM_READ_LEGACY(soundlatch_r) AM_WRITE(wiz_sound_nmi_mask_w) /* Stinger/Scion */
+ AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r) AM_WRITE(wiz_sound_nmi_mask_w) /* Stinger/Scion */
AM_RANGE(0x5000, 0x5001) AM_DEVWRITE_LEGACY("8910.1", ay8910_address_data_w)
AM_RANGE(0x6000, 0x6001) AM_DEVWRITE_LEGACY("8910.2", ay8910_address_data_w) /* Wiz only */
- AM_RANGE(0x7000, 0x7000) AM_READ_LEGACY(soundlatch_r) AM_WRITE(wiz_sound_nmi_mask_w) /* Wiz */
+ AM_RANGE(0x7000, 0x7000) AM_READ(soundlatch_r) AM_WRITE(wiz_sound_nmi_mask_w) /* Wiz */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/wolfpack.c b/src/mame/drivers/wolfpack.c
index e3267d21dc1..ae54a1e1374 100644
--- a/src/mame/drivers/wolfpack.c
+++ b/src/mame/drivers/wolfpack.c
@@ -140,7 +140,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, wolfpack_state )
AM_RANGE(0x4004, 0x4004) AM_WRITE_LEGACY(wolfpack_ship_pic_w)
AM_RANGE(0x4005, 0x4005) AM_WRITE_LEGACY(wolfpack_torpedo_h_w)
AM_RANGE(0x4006, 0x4006) AM_WRITE_LEGACY(wolfpack_torpedo_v_w)
- AM_RANGE(0x5000, 0x5fff) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x5000, 0x5fff) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x7000, 0x7fff) AM_ROM
AM_RANGE(0x9000, 0x9000) AM_READNOP /* debugger ROM location? */
AM_RANGE(0xf000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/wwfsstar.c b/src/mame/drivers/wwfsstar.c
index 31548fef168..372e11f75df 100644
--- a/src/mame/drivers/wwfsstar.c
+++ b/src/mame/drivers/wwfsstar.c
@@ -182,7 +182,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, wwfsstar_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/wwfwfest.c b/src/mame/drivers/wwfwfest.c
index ed99d61852f..6f2852f0372 100644
--- a/src/mame/drivers/wwfwfest.c
+++ b/src/mame/drivers/wwfwfest.c
@@ -88,7 +88,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, wwfwfest_state )
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xd800, 0xd800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xe000, 0xe000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
AM_RANGE(0xe800, 0xe800) AM_DEVWRITE_LEGACY("oki", oki_bankswitch_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/xain.c b/src/mame/drivers/xain.c
index f1daa53941a..39179c86d1c 100644
--- a/src/mame/drivers/xain.c
+++ b/src/mame/drivers/xain.c
@@ -449,7 +449,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, xain_state )
AM_RANGE(0x0000, 0x07ff) AM_RAM
- AM_RANGE(0x1000, 0x1000) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x1000, 0x1000) AM_READ(soundlatch_r)
AM_RANGE(0x2800, 0x2801) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x3000, 0x3001) AM_DEVWRITE_LEGACY("ym2", ym2203_w)
AM_RANGE(0x4000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/xexex.c b/src/mame/drivers/xexex.c
index ad2d20e9487..10bd54988cb 100644
--- a/src/mame/drivers/xexex.c
+++ b/src/mame/drivers/xexex.c
@@ -365,9 +365,9 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, xexex_state )
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe22f) AM_DEVREADWRITE("k054539", k054539_device, read, write)
AM_RANGE(0xec00, 0xec01) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
- AM_RANGE(0xf000, 0xf000) AM_WRITE_LEGACY(soundlatch3_w)
- AM_RANGE(0xf002, 0xf002) AM_READ_LEGACY(soundlatch_r)
- AM_RANGE(0xf003, 0xf003) AM_READ_LEGACY(soundlatch2_r)
+ AM_RANGE(0xf000, 0xf000) AM_WRITE(soundlatch3_w)
+ AM_RANGE(0xf002, 0xf002) AM_READ(soundlatch_r)
+ AM_RANGE(0xf003, 0xf003) AM_READ(soundlatch2_r)
AM_RANGE(0xf800, 0xf800) AM_WRITE(sound_bankswitch_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/xmen.c b/src/mame/drivers/xmen.c
index bc8c6291f22..9d566297159 100644
--- a/src/mame/drivers/xmen.c
+++ b/src/mame/drivers/xmen.c
@@ -119,7 +119,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xmen_state )
AM_RANGE(0x10804e, 0x10804f) AM_WRITE(sound_irq_w)
AM_RANGE(0x108054, 0x108055) AM_READ(sound_status_r)
AM_RANGE(0x108060, 0x10807f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w)
- AM_RANGE(0x10a000, 0x10a001) AM_READ_PORT("P2_P4") AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x10a000, 0x10a001) AM_READ_PORT("P2_P4") AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x10a002, 0x10a003) AM_READ_PORT("P1_P3")
AM_RANGE(0x10a004, 0x10a005) AM_READ_PORT("EEPROM")
AM_RANGE(0x10a00c, 0x10a00d) AM_DEVREAD_LEGACY("k053246", k053246_word_r)
@@ -134,8 +134,8 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, xmen_state )
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe22f) AM_DEVREADWRITE("k054539", k054539_device, read, write)
AM_RANGE(0xe800, 0xe801) AM_MIRROR(0x0400) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
- AM_RANGE(0xf000, 0xf000) AM_WRITE_LEGACY(soundlatch2_w)
- AM_RANGE(0xf002, 0xf002) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0xf000, 0xf000) AM_WRITE(soundlatch2_w)
+ AM_RANGE(0xf002, 0xf002) AM_READ(soundlatch_r)
AM_RANGE(0xf800, 0xf800) AM_WRITE(sound_bankswitch_w)
ADDRESS_MAP_END
@@ -154,7 +154,7 @@ static ADDRESS_MAP_START( 6p_main_map, AS_PROGRAM, 16, xmen_state )
AM_RANGE(0x10804e, 0x10804f) AM_WRITE(sound_irq_w)
AM_RANGE(0x108054, 0x108055) AM_READ(sound_status_r)
AM_RANGE(0x108060, 0x10807f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w)
- AM_RANGE(0x10a000, 0x10a001) AM_READ_PORT("P2_P4") AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0x10a000, 0x10a001) AM_READ_PORT("P2_P4") AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x10a002, 0x10a003) AM_READ_PORT("P1_P3")
AM_RANGE(0x10a004, 0x10a005) AM_READ_PORT("EEPROM")
AM_RANGE(0x10a006, 0x10a007) AM_READ_PORT("P5_P6")
diff --git a/src/mame/drivers/xybots.c b/src/mame/drivers/xybots.c
index 66523f7f963..38a02ee0c93 100644
--- a/src/mame/drivers/xybots.c
+++ b/src/mame/drivers/xybots.c
@@ -99,7 +99,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xybots_state )
AM_RANGE(0xffe200, 0xffe2ff) AM_MIRROR(0x7f8000) AM_READ_LEGACY(special_port1_r)
AM_RANGE(0xffe800, 0xffe8ff) AM_MIRROR(0x7f8000) AM_WRITE_LEGACY(atarigen_eeprom_enable_w)
AM_RANGE(0xffe900, 0xffe9ff) AM_MIRROR(0x7f8000) AM_WRITE_LEGACY(atarigen_sound_w)
- AM_RANGE(0xffea00, 0xffeaff) AM_MIRROR(0x7f8000) AM_WRITE_LEGACY(watchdog_reset16_w)
+ AM_RANGE(0xffea00, 0xffeaff) AM_MIRROR(0x7f8000) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0xffeb00, 0xffebff) AM_MIRROR(0x7f8000) AM_WRITE_LEGACY(atarigen_video_int_ack_w)
AM_RANGE(0xffee00, 0xffeeff) AM_MIRROR(0x7f8000) AM_WRITE_LEGACY(atarigen_sound_reset_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/yiear.c b/src/mame/drivers/yiear.c
index f4053501d60..6659f29ee3c 100644
--- a/src/mame/drivers/yiear.c
+++ b/src/mame/drivers/yiear.c
@@ -140,7 +140,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, yiear_state )
AM_RANGE(0x4e01, 0x4e01) AM_READ_PORT("P1")
AM_RANGE(0x4e02, 0x4e02) AM_READ_PORT("P2")
AM_RANGE(0x4e03, 0x4e03) AM_READ_PORT("DSW1")
- AM_RANGE(0x4f00, 0x4f00) AM_WRITE_LEGACY(watchdog_reset_w)
+ AM_RANGE(0x4f00, 0x4f00) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x5000, 0x502f) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x5400, 0x542f) AM_RAM AM_BASE(m_spriteram2)
AM_RANGE(0x5800, 0x5fff) AM_WRITE_LEGACY(yiear_videoram_w) AM_BASE(m_videoram)
diff --git a/src/mame/drivers/yunsun16.c b/src/mame/drivers/yunsun16.c
index d5c39f0bd1d..bc23362b0d9 100644
--- a/src/mame/drivers/yunsun16.c
+++ b/src/mame/drivers/yunsun16.c
@@ -176,7 +176,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_port_map, AS_IO, 8, yunsun16_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x10, 0x11) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w )
- AM_RANGE(0x18, 0x18) AM_READ_LEGACY(soundlatch_r ) // From Main CPU
+ AM_RANGE(0x18, 0x18) AM_READ(soundlatch_r ) // From Main CPU
AM_RANGE(0x1c, 0x1c) AM_DEVREADWRITE("oki", okim6295_device, read, write) // M6295
ADDRESS_MAP_END
diff --git a/src/mame/drivers/yunsung8.c b/src/mame/drivers/yunsung8.c
index c08e55fd33a..24e0e7f5c97 100644
--- a/src/mame/drivers/yunsung8.c
+++ b/src/mame/drivers/yunsung8.c
@@ -77,7 +77,7 @@ static ADDRESS_MAP_START( port_map, AS_IO, 8, yunsung8_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("SYSTEM") AM_WRITE_LEGACY(yunsung8_videobank_w) // video RAM bank
AM_RANGE(0x01, 0x01) AM_READ_PORT("P1") AM_WRITE(yunsung8_bankswitch_w) // ROM Bank + Layers Enable
- AM_RANGE(0x02, 0x02) AM_READ_PORT("P2") AM_WRITE_LEGACY(soundlatch_w) // To Sound CPU
+ AM_RANGE(0x02, 0x02) AM_READ_PORT("P2") AM_WRITE(soundlatch_w) // To Sound CPU
AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW1")
AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW2")
AM_RANGE(0x06, 0x06) AM_WRITE_LEGACY(yunsung8_flipscreen_w) // Flip Screen
@@ -120,7 +120,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, yunsung8_state )
AM_RANGE(0xe400, 0xe400) AM_WRITE(yunsung8_adpcm_w)
AM_RANGE(0xec00, 0xec01) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
AM_RANGE(0xf000, 0xf7ff) AM_RAM
- AM_RANGE(0xf800, 0xf800) AM_READ_LEGACY(soundlatch_r) // From Main CPU
+ AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r) // From Main CPU
ADDRESS_MAP_END
diff --git a/src/mame/drivers/zaccaria.c b/src/mame/drivers/zaccaria.c
index 569a2de5757..928a2dd4fde 100644
--- a/src/mame/drivers/zaccaria.c
+++ b/src/mame/drivers/zaccaria.c
@@ -273,7 +273,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, zaccaria_state )
AM_RANGE(0x6e00, 0x6e00) AM_READWRITE(zaccaria_dsw_r, sound_command_w)
AM_RANGE(0x7000, 0x77ff) AM_RAM
AM_RANGE(0x7800, 0x7803) AM_DEVREADWRITE_LEGACY("ppi8255", ppi8255_r, ppi8255_w)
- AM_RANGE(0x7c00, 0x7c00) AM_READ_LEGACY(watchdog_reset_r)
+ AM_RANGE(0x7c00, 0x7c00) AM_READ(watchdog_reset_r)
AM_RANGE(0x8000, 0xdfff) AM_ROM
ADDRESS_MAP_END
@@ -330,7 +330,7 @@ static ADDRESS_MAP_START( sound_map_2, AS_PROGRAM, 8, zaccaria_state )
AM_RANGE(0x0090, 0x0093) AM_DEVREADWRITE("pia1", pia6821_device, read, write) AM_MIRROR(0x8F6C)
AM_RANGE(0x1000, 0x1000) AM_DEVWRITE_LEGACY("dac2", mc1408_data_w) AM_MIRROR(0x83FF) /* MC1408 */
AM_RANGE(0x1400, 0x1400) AM_WRITE(sound1_command_w) AM_MIRROR(0xC3FF)
- AM_RANGE(0x1800, 0x1800) AM_READ_LEGACY(soundlatch_r) AM_MIRROR(0xC3FF)
+ AM_RANGE(0x1800, 0x1800) AM_READ(soundlatch_r) AM_MIRROR(0xC3FF)
AM_RANGE(0x2000, 0x2fff) AM_ROM AM_MIRROR(0x8000) // rom 8 with A12 low
AM_RANGE(0x3000, 0x3fff) AM_ROM AM_MIRROR(0x8000) // rom 7 with A12 low
AM_RANGE(0x6000, 0x6fff) AM_ROM AM_MIRROR(0x8000) // rom 8 with A12 high
@@ -532,7 +532,7 @@ static const ay8910_interface ay8910_config =
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
DEVCB_NULL,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, soundlatch2_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch2_r),
DEVCB_HANDLER(ay8910_port0a_w),
DEVCB_NULL
};
diff --git a/src/mame/drivers/zaxxon.c b/src/mame/drivers/zaxxon.c
index a9032041c9a..63b1ab11b6d 100644
--- a/src/mame/drivers/zaxxon.c
+++ b/src/mame/drivers/zaxxon.c
@@ -471,7 +471,7 @@ static ADDRESS_MAP_START( congo_map, AS_PROGRAM, 8, zaxxon_state )
AM_RANGE(0xc027, 0xc027) AM_MIRROR(0x1fc0) AM_WRITE_LEGACY(congo_color_bank_w)
AM_RANGE(0xc028, 0xc029) AM_MIRROR(0x1fc4) AM_WRITE_LEGACY(zaxxon_bg_position_w)
AM_RANGE(0xc030, 0xc033) AM_MIRROR(0x1fc4) AM_WRITE_LEGACY(congo_sprite_custom_w)
- AM_RANGE(0xc038, 0xc03f) AM_MIRROR(0x1fc0) AM_WRITE_LEGACY(soundlatch_w)
+ AM_RANGE(0xc038, 0xc03f) AM_MIRROR(0x1fc0) AM_WRITE(soundlatch_w)
ADDRESS_MAP_END
@@ -877,7 +877,7 @@ static const ppi8255_interface zaxxon_ppi_intf =
static const ppi8255_interface congo_ppi_intf =
{
- DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, soundlatch_r),
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
diff --git a/src/mame/drivers/zn.c b/src/mame/drivers/zn.c
index 84067b25c69..68f35273618 100644
--- a/src/mame/drivers/zn.c
+++ b/src/mame/drivers/zn.c
@@ -664,7 +664,8 @@ static INTERRUPT_GEN( qsound_interrupt )
static WRITE32_HANDLER( zn_qsound_w )
{
- soundlatch_w(space, 0, data);
+ zn_state *state = space->machine().driver_data<zn_state>();
+ state->soundlatch_w(*space, 0, data);
cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
}
@@ -709,7 +710,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( qsound_portmap, AS_IO, 8, zn_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_LEGACY(soundlatch_r)
+ AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static MACHINE_CONFIG_DERIVED( coh1000c, zn1_1mb_vram )
@@ -1638,10 +1639,11 @@ static WRITE32_HANDLER( coh1002e_bank_w )
static WRITE32_HANDLER( coh1002e_latch_w )
{
+ zn_state *state = space->machine().driver_data<zn_state>();
if (offset)
cputag_set_input_line(space->machine(), "audiocpu", 2, HOLD_LINE); // irq 2 on the 68k
else
- soundlatch_w(space, 0, data);
+ state->soundlatch_w(*space, 0, data);
}
static DRIVER_INIT( coh1002e )
@@ -1663,7 +1665,7 @@ static ADDRESS_MAP_START( psarc_snd_map, AS_PROGRAM, 16, zn_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x0fffff) AM_RAM
AM_RANGE(0x100000, 0x10001f) AM_DEVREADWRITE8_LEGACY("ymf", ymf271_r, ymf271_w, 0x00ff )
- AM_RANGE(0x180008, 0x180009) AM_READ8_LEGACY(soundlatch_r, 0x00ff )
+ AM_RANGE(0x180008, 0x180009) AM_READ8(soundlatch_r, 0x00ff )
AM_RANGE(0x000000, 0x07ffff) AM_WRITENOP
AM_RANGE(0x100020, 0xffffff) AM_WRITENOP
ADDRESS_MAP_END
@@ -2520,7 +2522,7 @@ static READ32_HANDLER( cbaj_z80_r )
ready = state->m_cbaj_to_r3k;
state->m_cbaj_to_r3k &= ~2;
- return soundlatch2_r(space,0) | ready<<24;
+ return state->soundlatch2_r(*space,0) | ready<<24;
}
static WRITE32_HANDLER( cbaj_z80_w )
@@ -2560,7 +2562,7 @@ static WRITE8_HANDLER( cbaj_z80_latch_w )
zn_state *state = space->machine().driver_data<zn_state>();
state->m_cbaj_to_r3k |= 2;
- soundlatch2_w(space, 0, data);
+ state->soundlatch2_w(*space, 0, data);
}
static READ8_HANDLER( cbaj_z80_ready_r )
diff --git a/src/mame/machine/ajax.c b/src/mame/machine/ajax.c
index d3d0c630944..a1849672c0e 100644
--- a/src/mame/machine/ajax.c
+++ b/src/mame/machine/ajax.c
@@ -141,7 +141,7 @@ WRITE8_HANDLER( ajax_ls138_f10_w )
{
case 0x00: /* NSFIRQ + AFR */
if (offset)
- watchdog_reset_w(space, 0, data);
+ state->watchdog_reset_w(*space, 0, data);
else{
if (state->m_firq_enable) /* Cause interrupt on slave CPU */
device_set_input_line(state->m_subcpu, M6809_FIRQ_LINE, HOLD_LINE);
@@ -151,7 +151,7 @@ WRITE8_HANDLER( ajax_ls138_f10_w )
device_set_input_line(state->m_audiocpu, 0, HOLD_LINE);
break;
case 0x02: /* Sound command number */
- soundlatch_w(space, offset, data);
+ state->soundlatch_w(*space, offset, data);
break;
case 0x03: /* Bankswitch + coin counters + priority*/
ajax_bankswitch_w(space, 0, data);
diff --git a/src/mame/machine/beezer.c b/src/mame/machine/beezer.c
index c49876e457f..b1917f9ad8a 100644
--- a/src/mame/machine/beezer.c
+++ b/src/mame/machine/beezer.c
@@ -170,7 +170,7 @@ WRITE8_HANDLER( beezer_bankswitch_w )
if ((data & 0x07) == 0)
{
via6522_device *via_0 = space->machine().device<via6522_device>("via6522_0");
- space->install_legacy_write_handler(0xc600, 0xc7ff, FUNC(watchdog_reset_w));
+ space->install_write_handler(0xc600, 0xc7ff, write8_delegate(FUNC(beezer_state::watchdog_reset_w),state));
space->install_legacy_write_handler(0xc800, 0xc9ff, FUNC(beezer_map_w));
space->install_legacy_read_handler(0xca00, 0xcbff, FUNC(beezer_line_r));
space->install_readwrite_handler(0xce00, 0xcfff, read8_delegate(FUNC(via6522_device::read), via_0), write8_delegate(FUNC(via6522_device::write), via_0));
diff --git a/src/mame/machine/bublbobl.c b/src/mame/machine/bublbobl.c
index 4a953fd0aa4..b0daaac7d32 100644
--- a/src/mame/machine/bublbobl.c
+++ b/src/mame/machine/bublbobl.c
@@ -101,7 +101,8 @@ static TIMER_CALLBACK( nmi_callback )
WRITE8_HANDLER( bublbobl_sound_command_w )
{
- soundlatch_w(space, offset, data);
+ bublbobl_state *state = space->machine().driver_data<bublbobl_state>();
+ state->soundlatch_w(*space, offset, data);
space->machine().scheduler().synchronize(FUNC(nmi_callback), data);
}
diff --git a/src/mame/machine/decocass.c b/src/mame/machine/decocass.c
index 8bcf1bf626b..80e4aec543a 100644
--- a/src/mame/machine/decocass.c
+++ b/src/mame/machine/decocass.c
@@ -61,7 +61,7 @@ WRITE8_HANDLER( decocass_sound_command_w )
{
decocass_state *state = space->machine().driver_data<decocass_state>();
LOG(2,("CPU %s sound command -> $%02x\n", space->device().tag(), data));
- soundlatch_w(space, 0, data);
+ state->soundlatch_w(*space, 0, data);
state->m_sound_ack |= 0x80;
/* remove snd cpu data ack bit. i don't see it in the schems, but... */
state->m_sound_ack &= ~0x40;
@@ -70,7 +70,8 @@ WRITE8_HANDLER( decocass_sound_command_w )
READ8_HANDLER( decocass_sound_data_r )
{
- UINT8 data = soundlatch2_r(space, 0);
+ decocass_state *state = space->machine().driver_data<decocass_state>();
+ UINT8 data = state->soundlatch2_r(*space, 0);
LOG(2,("CPU %s sound data <- $%02x\n", space->device().tag(), data));
return data;
}
@@ -87,14 +88,14 @@ WRITE8_HANDLER( decocass_sound_data_w )
{
decocass_state *state = space->machine().driver_data<decocass_state>();
LOG(2,("CPU %s sound data -> $%02x\n", space->device().tag(), data));
- soundlatch2_w(space, 0, data);
+ state->soundlatch2_w(*space, 0, data);
state->m_sound_ack |= 0x40;
}
READ8_HANDLER( decocass_sound_command_r )
{
decocass_state *state = space->machine().driver_data<decocass_state>();
- UINT8 data = soundlatch_r(space, 0);
+ UINT8 data = state->soundlatch_r(*space, 0);
LOG(4,("CPU %s sound command <- $%02x\n", space->device().tag(), data));
device_set_input_line(state->m_audiocpu, M6502_IRQ_LINE, CLEAR_LINE);
state->m_sound_ack &= ~0x80;
diff --git a/src/mame/machine/decoprot.c b/src/mame/machine/decoprot.c
index 17a57677a78..daad37533bf 100644
--- a/src/mame/machine/decoprot.c
+++ b/src/mame/machine/decoprot.c
@@ -108,9 +108,10 @@ void decoprot_reset(running_machine &machine)
WRITE16_HANDLER( deco16_104_prot_w ) /* Wizard Fire */
{
+ driver_device *state = space->machine().driver_data<driver_device>();
if (offset == (0x150 / 2))
{
- soundlatch_w(space, 0, data & 0xff);
+ state->soundlatch_w(*space, 0, data & 0xff);
cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
return;
}
@@ -227,9 +228,10 @@ READ16_HANDLER( deco16_104_prot_r ) /* Wizard Fire */
WRITE16_HANDLER( deco16_60_prot_w ) /* Edward Randy */
{
+ driver_device *state = space->machine().driver_data<driver_device>();
if (offset == (0x64 / 2))
{
- soundlatch_w(space, 0, data & 0xff);
+ state->soundlatch_w(*space, 0, data & 0xff);
cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
}
@@ -417,9 +419,10 @@ static int mutantf_port_0e_hack=0, mutantf_port_6a_hack=0,mutantf_port_e8_hack=0
WRITE16_HANDLER( deco16_66_prot_w ) /* Mutant Fighter */
{
+ driver_device *state = space->machine().driver_data<driver_device>();
if (offset == (0x64 / 2))
{
- soundlatch_w(space, 0, data & 0xff);
+ state->soundlatch_w(*space, 0, data & 0xff);
cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
return;
}
@@ -604,9 +607,10 @@ READ16_HANDLER( deco16_66_prot_r ) /* Mutant Fighter */
WRITE16_HANDLER( deco16_104_cninja_prot_w )
{
+ driver_device *state = space->machine().driver_data<driver_device>();
if (offset == (0xa8 / 2))
{
- soundlatch_w(space, 0, data & 0xff);
+ state->soundlatch_w(*space, 0, data & 0xff);
cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
return;
}
@@ -665,11 +669,12 @@ READ16_HANDLER( deco16_104_cninja_prot_r )
WRITE16_HANDLER( deco16_146_funkyjet_prot_w )
{
+ driver_device *state = space->machine().driver_data<driver_device>();
COMBINE_DATA(&deco16_prot_ram[offset]);
if (offset == (0x10a >> 1))
{
- soundlatch_w(space, 0, data & 0xff);
+ state->soundlatch_w(*space, 0, data & 0xff);
cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
return;
}
@@ -786,10 +791,10 @@ WRITE16_HANDLER( deco16_104_rohga_prot_w )
COMBINE_DATA(&decoprot_buffer_ram[offset]);
else
COMBINE_DATA(&deco16_prot_ram[offset]);
-
+ driver_device *state = space->machine().driver_data<driver_device>();
if (offset == (0xa8 / 2))
{
- soundlatch_w(space, 0, data & 0xff);
+ state->soundlatch_w(*space, 0, data & 0xff);
cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
return;
}
@@ -1213,13 +1218,14 @@ READ16_HANDLER( deco16_104_rohga_prot_r )
static WRITE16_HANDLER( deco16_146_core_prot_w )
{
+ driver_device *state = space->machine().driver_data<driver_device>();
const int writeport=offset;
const int sndport=0x260;
const int xorport=0x340;
const int maskport=0x6c0;
if (writeport == sndport)
{
- soundlatch_w(space, 0, data & 0xff);
+ state->soundlatch_w(*space, 0, data & 0xff);
cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
return;
}
@@ -1746,9 +1752,10 @@ READ16_HANDLER( dietgo_104_prot_r )
WRITE16_HANDLER( dietgo_104_prot_w )
{
+ driver_device *state = space->machine().driver_data<driver_device>();
if (offset == (0x380 / 2))
{
- soundlatch_w(space, 0, data & 0xff);
+ state->soundlatch_w(*space, 0, data & 0xff);
cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
return;
}
diff --git a/src/mame/machine/kaneko16.c b/src/mame/machine/kaneko16.c
index 0b0110cffaf..e637db649a2 100644
--- a/src/mame/machine/kaneko16.c
+++ b/src/mame/machine/kaneko16.c
@@ -47,7 +47,7 @@ READ16_HANDLER(galpanib_calc_r) /* Simulation of the CALC1 MCU */
switch (offset)
{
case 0x00/2: // watchdog
- return watchdog_reset_r(space,0);
+ return state->watchdog_reset_r(*space,0);
case 0x02/2: // unknown (yet!), used by *MANY* games !!!
//popmessage("unknown collision reg");
diff --git a/src/mame/machine/midyunit.c b/src/mame/machine/midyunit.c
index 2d96e87d2ca..10126549f33 100644
--- a/src/mame/machine/midyunit.c
+++ b/src/mame/machine/midyunit.c
@@ -627,7 +627,7 @@ WRITE16_HANDLER( midyunit_sound_w )
break;
case SOUND_YAWDIM:
- soundlatch_w(space, 0, data);
+ state->soundlatch_w(*space, 0, data);
cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
break;
}
diff --git a/src/mame/machine/namcos1.c b/src/mame/machine/namcos1.c
index 46ab80590cc..0ad774c6776 100644
--- a/src/mame/machine/namcos1.c
+++ b/src/mame/machine/namcos1.c
@@ -599,7 +599,7 @@ WRITE8_HANDLER( namcos1_watchdog_w )
if (state->m_wdog == 7 || !state->m_reset)
{
state->m_wdog = 0;
- watchdog_reset_w(space,0,0);
+ state->watchdog_reset_w(*space,0,0);
}
}
diff --git a/src/mame/machine/scramble.c b/src/mame/machine/scramble.c
index b8d29761e1d..275b9469793 100644
--- a/src/mame/machine/scramble.c
+++ b/src/mame/machine/scramble.c
@@ -162,7 +162,7 @@ const ppi8255_interface scramble_ppi_1_intf =
DEVCB_NULL, /* Port A read */
DEVCB_NULL, /* Port B read */
DEVCB_NULL, /* Port C read */
- DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, soundlatch_w), /* Port A write */
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_w), /* Port A write */
DEVCB_HANDLER(scramble_sh_irqtrigger_w), /* Port B write */
DEVCB_NULL /* Port C write */
};
@@ -173,7 +173,7 @@ const ppi8255_interface stratgyx_ppi_1_intf =
DEVCB_NULL, /* Port A read */
DEVCB_NULL, /* Port B read */
DEVCB_INPUT_PORT("IN3"), /* Port C read */
- DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, soundlatch_w), /* Port A write */
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_w), /* Port A write */
DEVCB_HANDLER(scramble_sh_irqtrigger_w), /* Port B write */
DEVCB_NULL /* Port C write */
};
@@ -184,7 +184,7 @@ const ppi8255_interface scramble_protection_ppi_1_intf =
DEVCB_NULL, /* Port A read */
DEVCB_NULL, /* Port B read */
DEVCB_HANDLER(scramble_protection_r), /* Port C read */
- DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, soundlatch_w), /* Port A write */
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_w), /* Port A write */
DEVCB_HANDLER(scramble_sh_irqtrigger_w), /* Port B write */
DEVCB_HANDLER(scramble_protection_w) /* Port C write */
};
@@ -195,7 +195,7 @@ const ppi8255_interface mrkougar_ppi_1_intf =
DEVCB_NULL, /* Port A read */
DEVCB_NULL, /* Port B read */
DEVCB_NULL, /* Port C read */
- DEVCB_MEMORY_HANDLER("maincpu", PROGRAM, soundlatch_w), /* Port A write */
+ DEVCB_DRIVER_MEMBER(driver_device, soundlatch_w), /* Port A write */
DEVCB_HANDLER(mrkougar_sh_irqtrigger_w), /* Port B write */
DEVCB_NULL /* Port C write */
};
diff --git a/src/mame/machine/seicop.c b/src/mame/machine/seicop.c
index dffbce40498..9d044811d04 100644
--- a/src/mame/machine/seicop.c
+++ b/src/mame/machine/seicop.c
@@ -1713,7 +1713,7 @@ WRITE16_HANDLER( copdxbl_0_w )
case (0x740/2):
{
- soundlatch_w(space, 0, data & 0xff);
+ state->soundlatch_w(*space, 0, data & 0xff);
cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE );
break;
}
diff --git a/src/mame/machine/williams.c b/src/mame/machine/williams.c
index aee4d0217b5..17b8f2ee62f 100644
--- a/src/mame/machine/williams.c
+++ b/src/mame/machine/williams.c
@@ -702,17 +702,19 @@ WRITE8_HANDLER( bubbles_cmos_w )
WRITE8_HANDLER( williams_watchdog_reset_w )
{
+ williams_state *state = space->machine().driver_data<williams_state>();
/* yes, the data bits are checked for this specific value */
if (data == 0x39)
- watchdog_reset_w(space,0,0);
+ state->watchdog_reset_w(*space,0,0);
}
WRITE8_HANDLER( williams2_watchdog_reset_w )
{
+ williams_state *state = space->machine().driver_data<williams_state>();
/* yes, the data bits are checked for this specific value */
if ((data & 0x3f) == 0x14)
- watchdog_reset_w(space,0,0);
+ state->watchdog_reset_w(*space,0,0);
}
diff --git a/src/mame/video/cischeat.c b/src/mame/video/cischeat.c
index c6b137e3bae..b278f35e331 100644
--- a/src/mame/video/cischeat.c
+++ b/src/mame/video/cischeat.c
@@ -305,7 +305,7 @@ READ16_HANDLER( bigrun_vregs_r )
case 0x0004/2 : return input_port_read(space->machine(), "IN3"); // Motor Limit Switches
case 0x0006/2 : return input_port_read(space->machine(), "IN4"); // DSW 1 & 2
- case 0x0008/2 : return soundlatch2_word_r(space,0,0xffff); // From sound cpu
+ case 0x0008/2 : return state->soundlatch2_word_r(*space,0,0xffff); // From sound cpu
case 0x0010/2 :
switch (state->m_ip_select & 0x3)
@@ -355,7 +355,7 @@ WRITE16_HANDLER( bigrun_vregs_w )
break;
case 0x000a/2 : // to sound cpu
- soundlatch_word_w(space,0,new_data,0xffff);
+ state->soundlatch_word_w(*space,0,new_data,0xffff);
break;
case 0x000c/2 : break; // ??
@@ -413,7 +413,7 @@ READ16_HANDLER( cischeat_vregs_r )
}
case 0x2200/2 : return input_port_read(space->machine(), "IN5"); // DSW 3 (4 bits)
- case 0x2300/2 : return soundlatch2_r(space,0); // From sound cpu
+ case 0x2300/2 : return state->soundlatch2_r(*space,0); // From sound cpu
default: SHOW_READ_ERROR("vreg %04X read!",offset*2);
return state->m_vregs[offset];
@@ -468,7 +468,7 @@ WRITE16_HANDLER( cischeat_vregs_w )
case 0x2208/2 : break; // watchdog reset
case 0x2300/2 : /* Sound CPU: reads latch during int 4, and stores command */
- soundlatch_word_w(space, 0, new_data, 0xffff);
+ state->soundlatch_word_w(*space, 0, new_data, 0xffff);
cputag_set_input_line(space->machine(), "soundcpu", 4, HOLD_LINE);
break;
@@ -501,7 +501,7 @@ READ16_HANDLER( f1gpstar_vregs_r )
case 0x0006/2 : return input_port_read(space->machine(), "IN3"); // ? Read at boot only
- case 0x0008/2 : return soundlatch2_r(space,0); // From sound cpu
+ case 0x0008/2 : return state->soundlatch2_r(*space,0); // From sound cpu
case 0x000c/2 : return input_port_read(space->machine(), "IN4"); // DSW 3
@@ -545,7 +545,7 @@ READ16_HANDLER( wildplt_vregs_r )
case 0x0004/2 : return input_port_read(space->machine(), "IN1"); // Buttons
- case 0x0008/2 : return soundlatch2_r(space,0); // From sound cpu
+ case 0x0008/2 : return state->soundlatch2_r(*space,0); // From sound cpu
case 0x0010/2 : // X, Y
return input_port_read(space->machine(), "IN2") | (input_port_read(space->machine(), "IN3")<<8);
@@ -587,7 +587,7 @@ CPU #0 PC 00235C : Warning, vreg 0006 <- 0000
case 0x0014/2 : break;
/* Usually written in sequence, but not always */
- case 0x0008/2 : soundlatch_word_w(space, 0, new_data, 0xffff); break;
+ case 0x0008/2 : state->soundlatch_word_w(*space, 0, new_data, 0xffff); break;
case 0x0018/2 : cputag_set_input_line(space->machine(), "soundcpu", 4, HOLD_LINE); break;
case 0x0010/2 : break;
@@ -670,7 +670,7 @@ WRITE16_HANDLER( scudhamm_vregs_w )
case 0x100/2+1 : CISCHEAT_VREG_SCROLL(2,y); break;
case 0x100/2+2 : cischeat_set_vreg_flag(state,2,new_data);break;
- case 0x208/2 : watchdog_reset_w(space,0,0); break;
+ case 0x208/2 : state->watchdog_reset_w(*space,0,0); break;
default: SHOW_WRITE_ERROR("vreg %04X <- %04X",offset*2,data);
}
diff --git a/src/mame/video/ginganin.c b/src/mame/video/ginganin.c
index fe2f04aed7d..4fc19e1ea80 100644
--- a/src/mame/video/ginganin.c
+++ b/src/mame/video/ginganin.c
@@ -179,7 +179,7 @@ WRITE16_HANDLER( ginganin_vregs16_w )
space->machine().tilemap().set_flip_all(state->m_flipscreen ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
break;
case 7:
- soundlatch_w(space, 0, data);
+ state->soundlatch_w(*space, 0, data);
device_set_input_line(state->m_audiocpu, INPUT_LINE_NMI, PULSE_LINE);
break;
default:
diff --git a/src/mame/video/liberate.c b/src/mame/video/liberate.c
index 7e1894fce77..24c03a5f135 100644
--- a/src/mame/video/liberate.c
+++ b/src/mame/video/liberate.c
@@ -127,7 +127,7 @@ WRITE8_HANDLER( deco16_io_w )
device_set_input_line(state->m_maincpu, DECO16_IRQ_LINE, CLEAR_LINE);
break;
case 9: /* Sound */
- soundlatch_w(space, 0, data);
+ state->soundlatch_w(*space, 0, data);
device_set_input_line(state->m_audiocpu, M6502_IRQ_LINE, HOLD_LINE);
break;
}
@@ -156,7 +156,7 @@ WRITE8_HANDLER( prosoccr_io_w )
device_set_input_line(state->m_maincpu, DECO16_IRQ_LINE, CLEAR_LINE);
break;
case 9: /* Sound */
- soundlatch_w(space, 0, data);
+ state->soundlatch_w(*space, 0, data);
device_set_input_line(state->m_audiocpu, M6502_IRQ_LINE, HOLD_LINE);
break;
}
@@ -176,7 +176,7 @@ WRITE8_HANDLER( prosport_io_w )
state->m_back_tilemap->mark_all_dirty();
break;
case 2: /* Sound */
- soundlatch_w(space, 0, data);
+ state->soundlatch_w(*space, 0, data);
device_set_input_line(state->m_audiocpu, M6502_IRQ_LINE, HOLD_LINE);
break;
case 4: /* Irq ack */
diff --git a/src/mame/video/megasys1.c b/src/mame/video/megasys1.c
index 8ceedb02653..e99f6dfbe25 100644
--- a/src/mame/video/megasys1.c
+++ b/src/mame/video/megasys1.c
@@ -447,7 +447,7 @@ WRITE16_HANDLER( megasys1_vregs_A_w )
}
break;
- case 0x308/2 : soundlatch_word_w(space,0,new_data,0xffff);
+ case 0x308/2 : state->soundlatch_word_w(*space,0,new_data,0xffff);
cputag_set_input_line(space->machine(), "soundcpu", 4, HOLD_LINE);
break;
@@ -465,7 +465,7 @@ READ16_HANDLER( megasys1_vregs_C_r )
megasys1_state *state = space->machine().driver_data<megasys1_state>();
switch (offset)
{
- case 0x8000/2: return soundlatch2_word_r(space,0,0xffff);
+ case 0x8000/2: return state->soundlatch2_word_r(*space,0,0xffff);
default: return state->m_vregs[offset];
}
}
@@ -501,7 +501,7 @@ WRITE16_HANDLER( megasys1_vregs_C_w )
break;
case 0x8000/2 : /* Cybattler reads sound latch on irq 2 */
- soundlatch_word_w(space, 0, new_data, 0xffff);
+ state->soundlatch_word_w(*space, 0, new_data, 0xffff);
cputag_set_input_line(space->machine(), "soundcpu", 2, HOLD_LINE);
break;
diff --git a/src/mame/video/nitedrvr.c b/src/mame/video/nitedrvr.c
index e36e5e4e9d3..b945082fc11 100644
--- a/src/mame/video/nitedrvr.c
+++ b/src/mame/video/nitedrvr.c
@@ -22,7 +22,7 @@ WRITE8_HANDLER( nitedrvr_hvc_w )
state->m_hvc[offset & 0x3f] = data;
if ((offset & 0x30) == 0x30)
- watchdog_reset_w(space, 0, 0);
+ state->watchdog_reset_w(*space, 0, 0);
}
static TILE_GET_INFO( get_bg_tile_info )
diff --git a/src/mame/video/skydiver.c b/src/mame/video/skydiver.c
index af5c9124a94..a8db94976ec 100644
--- a/src/mame/video/skydiver.c
+++ b/src/mame/video/skydiver.c
@@ -130,10 +130,11 @@ WRITE8_HANDLER( skydiver_lamp_d_w )
WRITE8_HANDLER( skydiver_2000_201F_w )
{
+ skydiver_state *state = space->machine().driver_data<skydiver_state>();
device_t *discrete = space->machine().device("discrete");
int bit = offset & 0x01;
- watchdog_reset_w(space,0,0);
+ state->watchdog_reset_w(*space,0,0);
switch (offset & 0x0e)
{
diff --git a/src/mame/video/skyfox.c b/src/mame/video/skyfox.c
index 248c3cc234f..443ea0ec37a 100644
--- a/src/mame/video/skyfox.c
+++ b/src/mame/video/skyfox.c
@@ -62,7 +62,7 @@ WRITE8_HANDLER( skyfox_vregs_w )
switch (offset)
{
case 0: state->m_bg_ctrl = data; break;
- case 1: soundlatch_w(space, 0, data); break;
+ case 1: state->soundlatch_w(*space, 0, data); break;
case 2: break;
case 3: break;
case 4: break;