summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/devices/machine/eeprompar.cpp6
-rw-r--r--src/devices/machine/eeprompar.h6
-rw-r--r--src/devices/video/hd63484.cpp16
-rw-r--r--src/devices/video/hd63484.h18
-rw-r--r--src/devices/video/imagetek_i4100.cpp6
-rw-r--r--src/emu/addrmap.cpp52
-rw-r--r--src/emu/addrmap.h173
-rw-r--r--src/emu/emupal.cpp16
-rw-r--r--src/emu/emupal.h16
-rw-r--r--src/emu/tilemap.cpp12
-rw-r--r--src/emu/tilemap.h12
-rw-r--r--src/mame/drivers/1945kiii.cpp2
-rw-r--r--src/mame/drivers/2mindril.cpp2
-rw-r--r--src/mame/drivers/3x3puzzl.cpp2
-rw-r--r--src/mame/drivers/88games.cpp2
-rw-r--r--src/mame/drivers/acommand.cpp2
-rw-r--r--src/mame/drivers/actfancr.cpp4
-rw-r--r--src/mame/drivers/adp.cpp20
-rw-r--r--src/mame/drivers/aerofgt.cpp28
-rw-r--r--src/mame/drivers/airbustr.cpp2
-rw-r--r--src/mame/drivers/airraid.cpp4
-rw-r--r--src/mame/drivers/ajax.cpp2
-rw-r--r--src/mame/drivers/albazg.cpp4
-rw-r--r--src/mame/drivers/aliens.cpp2
-rw-r--r--src/mame/drivers/alpha68k.cpp4
-rw-r--r--src/mame/drivers/amspdwy.cpp2
-rw-r--r--src/mame/drivers/angelkds.cpp4
-rw-r--r--src/mame/drivers/aquarium.cpp2
-rw-r--r--src/mame/drivers/arcadecl.cpp4
-rw-r--r--src/mame/drivers/armedf.cpp12
-rw-r--r--src/mame/drivers/ashnojoe.cpp2
-rw-r--r--src/mame/drivers/asterix.cpp2
-rw-r--r--src/mame/drivers/astrcorp.cpp8
-rw-r--r--src/mame/drivers/atarig1.cpp8
-rw-r--r--src/mame/drivers/atarig42.cpp8
-rw-r--r--src/mame/drivers/atarigt.cpp8
-rw-r--r--src/mame/drivers/atarigx2.cpp8
-rw-r--r--src/mame/drivers/atarisy1.cpp8
-rw-r--r--src/mame/drivers/atarisy2.cpp2
-rw-r--r--src/mame/drivers/atetris.cpp6
-rw-r--r--src/mame/drivers/badlands.cpp12
-rw-r--r--src/mame/drivers/batman.cpp4
-rw-r--r--src/mame/drivers/battlnts.cpp2
-rw-r--r--src/mame/drivers/bbusters.cpp4
-rw-r--r--src/mame/drivers/beathead.cpp2
-rw-r--r--src/mame/drivers/bestleag.cpp2
-rw-r--r--src/mame/drivers/bigstrkb.cpp2
-rw-r--r--src/mame/drivers/bingor.cpp4
-rw-r--r--src/mame/drivers/bionicc.cpp2
-rw-r--r--src/mame/drivers/bishi.cpp2
-rw-r--r--src/mame/drivers/blackt96.cpp2
-rw-r--r--src/mame/drivers/blktiger.cpp4
-rw-r--r--src/mame/drivers/blmbycar.cpp2
-rw-r--r--src/mame/drivers/blockhl.cpp2
-rw-r--r--src/mame/drivers/bloodbro.cpp4
-rw-r--r--src/mame/drivers/blstroid.cpp6
-rw-r--r--src/mame/drivers/bnstars.cpp4
-rw-r--r--src/mame/drivers/bogeyman.cpp2
-rw-r--r--src/mame/drivers/bombjack.cpp2
-rw-r--r--src/mame/drivers/bottom9.cpp2
-rw-r--r--src/mame/drivers/btime.cpp6
-rw-r--r--src/mame/drivers/bublbobl.cpp2
-rw-r--r--src/mame/drivers/buggychl.cpp2
-rw-r--r--src/mame/drivers/cabal.cpp4
-rw-r--r--src/mame/drivers/cabaret.cpp4
-rw-r--r--src/mame/drivers/calorie.cpp2
-rw-r--r--src/mame/drivers/cbasebal.cpp2
-rw-r--r--src/mame/drivers/chance32.cpp2
-rw-r--r--src/mame/drivers/chinagat.cpp4
-rw-r--r--src/mame/drivers/chqflag.cpp2
-rw-r--r--src/mame/drivers/cischeat.cpp16
-rw-r--r--src/mame/drivers/citycon.cpp2
-rw-r--r--src/mame/drivers/cmmb.cpp2
-rw-r--r--src/mame/drivers/crimfght.cpp2
-rw-r--r--src/mame/drivers/crospang.cpp2
-rw-r--r--src/mame/drivers/crshrace.cpp2
-rw-r--r--src/mame/drivers/cultures.cpp2
-rw-r--r--src/mame/drivers/cyberbal.cpp34
-rw-r--r--src/mame/drivers/cybertnk.cpp2
-rwxr-xr-xsrc/mame/drivers/cybstorm.cpp4
-rw-r--r--src/mame/drivers/d9final.cpp4
-rw-r--r--src/mame/drivers/darius.cpp4
-rw-r--r--src/mame/drivers/dblewing.cpp2
-rw-r--r--src/mame/drivers/dbz.cpp2
-rw-r--r--src/mame/drivers/dcon.cpp2
-rw-r--r--src/mame/drivers/ddealer.cpp2
-rw-r--r--src/mame/drivers/ddragon.cpp8
-rw-r--r--src/mame/drivers/ddragon3.cpp8
-rw-r--r--src/mame/drivers/deadang.cpp2
-rw-r--r--src/mame/drivers/dec0.cpp10
-rw-r--r--src/mame/drivers/dec8.cpp40
-rw-r--r--src/mame/drivers/deco156.cpp4
-rw-r--r--src/mame/drivers/deco32.cpp2
-rw-r--r--src/mame/drivers/deco_ld.cpp2
-rw-r--r--src/mame/drivers/diverboy.cpp2
-rw-r--r--src/mame/drivers/djmain.cpp2
-rw-r--r--src/mame/drivers/dogfgt.cpp2
-rw-r--r--src/mame/drivers/dominob.cpp2
-rw-r--r--src/mame/drivers/dooyong.cpp14
-rw-r--r--src/mame/drivers/dreambal.cpp2
-rw-r--r--src/mame/drivers/dreamwld.cpp2
-rw-r--r--src/mame/drivers/drgnmst.cpp2
-rw-r--r--src/mame/drivers/drtomy.cpp2
-rw-r--r--src/mame/drivers/dynduke.cpp2
-rw-r--r--src/mame/drivers/egghunt.cpp2
-rw-r--r--src/mame/drivers/eprom.cpp16
-rw-r--r--src/mame/drivers/esd16.cpp2
-rw-r--r--src/mame/drivers/expro02.cpp4
-rw-r--r--src/mame/drivers/exterm.cpp2
-rw-r--r--src/mame/drivers/f1gp.cpp6
-rw-r--r--src/mame/drivers/fantland.cpp8
-rw-r--r--src/mame/drivers/feversoc.cpp2
-rw-r--r--src/mame/drivers/fitfight.cpp4
-rw-r--r--src/mame/drivers/flkatck.cpp2
-rw-r--r--src/mame/drivers/foodf.cpp2
-rw-r--r--src/mame/drivers/fresh.cpp4
-rw-r--r--src/mame/drivers/fromanc2.cpp12
-rw-r--r--src/mame/drivers/funkyjet.cpp2
-rw-r--r--src/mame/drivers/funtech.cpp4
-rw-r--r--src/mame/drivers/fuukifg2.cpp2
-rw-r--r--src/mame/drivers/fuukifg3.cpp2
-rw-r--r--src/mame/drivers/gaelco.cpp8
-rw-r--r--src/mame/drivers/gaiden.cpp6
-rw-r--r--src/mame/drivers/galaxi.cpp4
-rw-r--r--src/mame/drivers/galpani2.cpp4
-rw-r--r--src/mame/drivers/galpani3.cpp2
-rw-r--r--src/mame/drivers/galpanic.cpp2
-rw-r--r--src/mame/drivers/galspnbl.cpp2
-rw-r--r--src/mame/drivers/gauntlet.cpp8
-rw-r--r--src/mame/drivers/gcpinbal.cpp2
-rw-r--r--src/mame/drivers/giclassic.cpp4
-rw-r--r--src/mame/drivers/gijoe.cpp2
-rw-r--r--src/mame/drivers/ginganin.cpp2
-rw-r--r--src/mame/drivers/glass.cpp2
-rw-r--r--src/mame/drivers/gng.cpp8
-rw-r--r--src/mame/drivers/go2000.cpp2
-rw-r--r--src/mame/drivers/goal92.cpp2
-rw-r--r--src/mame/drivers/goldstar.cpp6
-rw-r--r--src/mame/drivers/good.cpp2
-rw-r--r--src/mame/drivers/goodejan.cpp2
-rw-r--r--src/mame/drivers/gotcha.cpp2
-rw-r--r--src/mame/drivers/gradius3.cpp2
-rw-r--r--src/mame/drivers/groundfx.cpp2
-rw-r--r--src/mame/drivers/gstream.cpp2
-rw-r--r--src/mame/drivers/gstriker.cpp2
-rw-r--r--src/mame/drivers/gumbo.cpp6
-rw-r--r--src/mame/drivers/gunbustr.cpp2
-rw-r--r--src/mame/drivers/highvdeo.cpp2
-rw-r--r--src/mame/drivers/himesiki.cpp2
-rw-r--r--src/mame/drivers/hng64.cpp2
-rw-r--r--src/mame/drivers/hvyunit.cpp4
-rw-r--r--src/mame/drivers/ibmpcjr.cpp2
-rw-r--r--src/mame/drivers/igs009.cpp8
-rw-r--r--src/mame/drivers/igs_m027.cpp2
-rw-r--r--src/mame/drivers/igspoker.cpp12
-rw-r--r--src/mame/drivers/interpro.cpp2
-rw-r--r--src/mame/drivers/inufuku.cpp2
-rw-r--r--src/mame/drivers/iqblock.cpp4
-rw-r--r--src/mame/drivers/itech32.cpp6
-rw-r--r--src/mame/drivers/jack.cpp2
-rw-r--r--src/mame/drivers/jackie.cpp4
-rw-r--r--src/mame/drivers/jackpool.cpp2
-rw-r--r--src/mame/drivers/jalmah.cpp4
-rw-r--r--src/mame/drivers/jchan.cpp2
-rw-r--r--src/mame/drivers/jclub2.cpp6
-rw-r--r--src/mame/drivers/joystand.cpp2
-rw-r--r--src/mame/drivers/junofrst.cpp2
-rw-r--r--src/mame/drivers/kaneko16.cpp18
-rw-r--r--src/mame/drivers/kickgoal.cpp2
-rw-r--r--src/mame/drivers/klax.cpp16
-rw-r--r--src/mame/drivers/konamigx.cpp4
-rw-r--r--src/mame/drivers/laserbas.cpp2
-rw-r--r--src/mame/drivers/lemmings.cpp2
-rw-r--r--src/mame/drivers/lethal.cpp2
-rw-r--r--src/mame/drivers/liberate.cpp2
-rw-r--r--src/mame/drivers/limenko.cpp4
-rw-r--r--src/mame/drivers/lkage.cpp2
-rw-r--r--src/mame/drivers/lwings.cpp16
-rw-r--r--src/mame/drivers/m107.cpp2
-rw-r--r--src/mame/drivers/m90.cpp6
-rw-r--r--src/mame/drivers/macrossp.cpp2
-rw-r--r--src/mame/drivers/madmotor.cpp2
-rw-r--r--src/mame/drivers/magic10.cpp10
-rw-r--r--src/mame/drivers/mainevt.cpp4
-rw-r--r--src/mame/drivers/majorpkr.cpp2
-rw-r--r--src/mame/drivers/mcatadv.cpp2
-rw-r--r--src/mame/drivers/mcr.cpp4
-rw-r--r--src/mame/drivers/mcr68.cpp6
-rw-r--r--src/mame/drivers/megasys1.cpp8
-rw-r--r--src/mame/drivers/metlclsh.cpp4
-rw-r--r--src/mame/drivers/micro3d.cpp2
-rw-r--r--src/mame/drivers/midas.cpp4
-rw-r--r--src/mame/drivers/midtunit.cpp2
-rw-r--r--src/mame/drivers/midwunit.cpp2
-rw-r--r--src/mame/drivers/midxunit.cpp2
-rw-r--r--src/mame/drivers/mil4000.cpp4
-rw-r--r--src/mame/drivers/mirage.cpp2
-rw-r--r--src/mame/drivers/missb2.cpp4
-rw-r--r--src/mame/drivers/mitchell.cpp2
-rw-r--r--src/mame/drivers/mlanding.cpp2
-rw-r--r--src/mame/drivers/model1.cpp2
-rw-r--r--src/mame/drivers/momoko.cpp2
-rw-r--r--src/mame/drivers/moo.cpp6
-rw-r--r--src/mame/drivers/mosaic.cpp4
-rw-r--r--src/mame/drivers/mrflea.cpp2
-rw-r--r--src/mame/drivers/msisaac.cpp2
-rw-r--r--src/mame/drivers/mugsmash.cpp2
-rw-r--r--src/mame/drivers/mwarr.cpp2
-rw-r--r--src/mame/drivers/mystwarr.cpp12
-rw-r--r--src/mame/drivers/namcos21.cpp12
-rw-r--r--src/mame/drivers/nemesis.cpp10
-rw-r--r--src/mame/drivers/neoprint.cpp2
-rw-r--r--src/mame/drivers/news.cpp2
-rw-r--r--src/mame/drivers/ninjakd2.cpp8
-rw-r--r--src/mame/drivers/nmg5.cpp4
-rw-r--r--src/mame/drivers/nmk16.cpp44
-rw-r--r--src/mame/drivers/offtwall.cpp4
-rw-r--r--src/mame/drivers/ohmygod.cpp2
-rw-r--r--src/mame/drivers/oneshot.cpp2
-rw-r--r--src/mame/drivers/opwolf.cpp6
-rw-r--r--src/mame/drivers/overdriv.cpp2
-rw-r--r--src/mame/drivers/parodius.cpp2
-rw-r--r--src/mame/drivers/pass.cpp2
-rw-r--r--src/mame/drivers/patapata.cpp2
-rw-r--r--src/mame/drivers/pbaction.cpp2
-rw-r--r--src/mame/drivers/pc100.cpp2
-rw-r--r--src/mame/drivers/pgm.cpp2
-rw-r--r--src/mame/drivers/pgm2.cpp8
-rw-r--r--src/mame/drivers/pipedrm.cpp2
-rw-r--r--src/mame/drivers/pirates.cpp2
-rw-r--r--src/mame/drivers/piratesh.cpp2
-rw-r--r--src/mame/drivers/pkscram.cpp2
-rw-r--r--src/mame/drivers/pktgaldx.cpp2
-rw-r--r--src/mame/drivers/playmark.cpp14
-rw-r--r--src/mame/drivers/plygonet.cpp2
-rw-r--r--src/mame/drivers/pokechmp.cpp4
-rw-r--r--src/mame/drivers/popobear.cpp2
-rw-r--r--src/mame/drivers/powerbal.cpp4
-rw-r--r--src/mame/drivers/powerins.cpp2
-rw-r--r--src/mame/drivers/prehisle.cpp2
-rw-r--r--src/mame/drivers/psikyo.cpp4
-rw-r--r--src/mame/drivers/psikyosh.cpp4
-rw-r--r--src/mame/drivers/pzletime.cpp2
-rw-r--r--src/mame/drivers/qdrmfgp.cpp4
-rw-r--r--src/mame/drivers/quickpick5.cpp2
-rw-r--r--src/mame/drivers/quizpani.cpp2
-rw-r--r--src/mame/drivers/quizpun2.cpp2
-rw-r--r--src/mame/drivers/rabbit.cpp2
-rw-r--r--src/mame/drivers/raiden.cpp4
-rw-r--r--src/mame/drivers/rampart.cpp4
-rw-r--r--src/mame/drivers/rastan.cpp2
-rw-r--r--src/mame/drivers/rbisland.cpp4
-rw-r--r--src/mame/drivers/rbmk.cpp4
-rw-r--r--src/mame/drivers/realbrk.cpp2
-rw-r--r--src/mame/drivers/relief.cpp4
-rw-r--r--src/mame/drivers/renegade.cpp4
-rw-r--r--src/mame/drivers/rollerg.cpp2
-rw-r--r--src/mame/drivers/rpunch.cpp2
-rw-r--r--src/mame/drivers/sandscrp.cpp2
-rw-r--r--src/mame/drivers/sderby.cpp12
-rw-r--r--src/mame/drivers/segajw.cpp4
-rw-r--r--src/mame/drivers/seicupbl.cpp2
-rw-r--r--src/mame/drivers/sengokmj.cpp2
-rw-r--r--src/mame/drivers/senjyo.cpp4
-rw-r--r--src/mame/drivers/seta2.cpp26
-rw-r--r--src/mame/drivers/sf.cpp6
-rw-r--r--src/mame/drivers/shadfrce.cpp2
-rw-r--r--src/mame/drivers/shangha3.cpp6
-rw-r--r--src/mame/drivers/shanghai.cpp16
-rw-r--r--src/mame/drivers/shuuz.cpp4
-rw-r--r--src/mame/drivers/sidearms.cpp12
-rw-r--r--src/mame/drivers/sigmab52.cpp4
-rw-r--r--src/mame/drivers/sigmab98.cpp18
-rw-r--r--src/mame/drivers/silvmil.cpp2
-rw-r--r--src/mame/drivers/simpl156.cpp10
-rw-r--r--src/mame/drivers/simpsons.cpp2
-rw-r--r--src/mame/drivers/skullxbo.cpp8
-rw-r--r--src/mame/drivers/slapshot.cpp4
-rw-r--r--src/mame/drivers/snk68.cpp4
-rw-r--r--src/mame/drivers/snowbros.cpp16
-rw-r--r--src/mame/drivers/solomon.cpp2
-rw-r--r--src/mame/drivers/spbactn.cpp4
-rw-r--r--src/mame/drivers/speedbal.cpp2
-rw-r--r--src/mame/drivers/speedspn.cpp2
-rw-r--r--src/mame/drivers/splash.cpp6
-rw-r--r--src/mame/drivers/spoker.cpp8
-rw-r--r--src/mame/drivers/spool99.cpp4
-rw-r--r--src/mame/drivers/spy.cpp2
-rw-r--r--src/mame/drivers/srmp2.cpp2
-rw-r--r--src/mame/drivers/srmp5.cpp2
-rw-r--r--src/mame/drivers/srmp6.cpp2
-rw-r--r--src/mame/drivers/srumbler.cpp2
-rw-r--r--src/mame/drivers/sslam.cpp4
-rw-r--r--src/mame/drivers/ssv.cpp2
-rw-r--r--src/mame/drivers/stadhero.cpp2
-rw-r--r--src/mame/drivers/stfight.cpp4
-rw-r--r--src/mame/drivers/stlforce.cpp2
-rw-r--r--src/mame/drivers/suna8.cpp10
-rw-r--r--src/mame/drivers/supbtime.cpp6
-rw-r--r--src/mame/drivers/supduck.cpp2
-rw-r--r--src/mame/drivers/superchs.cpp2
-rw-r--r--src/mame/drivers/superqix.cpp4
-rw-r--r--src/mame/drivers/supracan.cpp2
-rw-r--r--src/mame/drivers/suprslam.cpp2
-rw-r--r--src/mame/drivers/surpratk.cpp2
-rw-r--r--src/mame/drivers/tail2nos.cpp2
-rw-r--r--src/mame/drivers/taito_b.cpp36
-rw-r--r--src/mame/drivers/taito_f2.cpp52
-rw-r--r--src/mame/drivers/taito_h.cpp8
-rw-r--r--src/mame/drivers/taito_o.cpp2
-rw-r--r--src/mame/drivers/taito_x.cpp8
-rw-r--r--src/mame/drivers/taito_z.cpp10
-rw-r--r--src/mame/drivers/tandy1t.cpp4
-rw-r--r--src/mame/drivers/taotaido.cpp2
-rw-r--r--src/mame/drivers/targeth.cpp2
-rw-r--r--src/mame/drivers/tasman.cpp2
-rw-r--r--src/mame/drivers/tatsumi.cpp12
-rw-r--r--src/mame/drivers/tbowl.cpp2
-rw-r--r--src/mame/drivers/tecmo.cpp6
-rw-r--r--src/mame/drivers/tecmo16.cpp4
-rw-r--r--src/mame/drivers/tecmosys.cpp2
-rw-r--r--src/mame/drivers/tehkanwc.cpp4
-rw-r--r--src/mame/drivers/thoop2.cpp2
-rw-r--r--src/mame/drivers/thunderj.cpp4
-rw-r--r--src/mame/drivers/thunderx.cpp4
-rw-r--r--src/mame/drivers/tigeroad.cpp4
-rw-r--r--src/mame/drivers/tmaster.cpp2
-rw-r--r--src/mame/drivers/tmmjprd.cpp2
-rw-r--r--src/mame/drivers/tmnt.cpp24
-rw-r--r--src/mame/drivers/tnzs.cpp8
-rw-r--r--src/mame/drivers/toaplan2.cpp42
-rw-r--r--src/mame/drivers/toki.cpp4
-rw-r--r--src/mame/drivers/toobin.cpp6
-rw-r--r--src/mame/drivers/topspeed.cpp2
-rw-r--r--src/mame/drivers/tranz330.cpp19
-rw-r--r--src/mame/drivers/tumbleb.cpp14
-rw-r--r--src/mame/drivers/tutankhm.cpp2
-rw-r--r--src/mame/drivers/twin16.cpp4
-rw-r--r--src/mame/drivers/twincobr.cpp2
-rw-r--r--src/mame/drivers/ultraman.cpp2
-rw-r--r--src/mame/drivers/ultrsprt.cpp2
-rw-r--r--src/mame/drivers/umipoker.cpp2
-rw-r--r--src/mame/drivers/undrfire.cpp4
-rw-r--r--src/mame/drivers/vamphalf.cpp8
-rw-r--r--src/mame/drivers/vegaeo.cpp2
-rw-r--r--src/mame/drivers/vendetta.cpp2
-rw-r--r--src/mame/drivers/vindictr.cpp6
-rw-r--r--src/mame/drivers/volfied.cpp2
-rw-r--r--src/mame/drivers/wardner.cpp2
-rw-r--r--src/mame/drivers/wc90.cpp2
-rw-r--r--src/mame/drivers/wc90b.cpp2
-rw-r--r--src/mame/drivers/welltris.cpp2
-rw-r--r--src/mame/drivers/wgp.cpp2
-rw-r--r--src/mame/drivers/wildpkr.cpp8
-rw-r--r--src/mame/drivers/wink.cpp2
-rw-r--r--src/mame/drivers/witch.cpp4
-rw-r--r--src/mame/drivers/wrally.cpp2
-rw-r--r--src/mame/drivers/wwfsstar.cpp2
-rw-r--r--src/mame/drivers/wyvernf0.cpp2
-rw-r--r--src/mame/drivers/x68k.cpp12
-rw-r--r--src/mame/drivers/xain.cpp4
-rw-r--r--src/mame/drivers/xexex.cpp2
-rw-r--r--src/mame/drivers/xmen.cpp4
-rw-r--r--src/mame/drivers/xxmissio.cpp4
-rw-r--r--src/mame/drivers/xybots.cpp8
-rw-r--r--src/mame/drivers/yunsun16.cpp2
-rw-r--r--src/mame/drivers/zerozone.cpp2
-rw-r--r--src/mame/drivers/zwackery.cpp2
-rw-r--r--src/mame/machine/atarigen.cpp18
-rw-r--r--src/mame/machine/interpro_ioga.cpp4
-rw-r--r--src/mame/machine/interpro_ioga.h4
-rw-r--r--src/mame/machine/leland.cpp4
-rw-r--r--src/mame/video/atarisy2.cpp4
-rw-r--r--src/mame/video/decrmc3.cpp16
-rw-r--r--src/mame/video/decrmc3.h16
-rw-r--r--src/mame/video/flstory.cpp4
-rw-r--r--src/mame/video/itech32.cpp2
-rw-r--r--src/mame/video/ladyfrog.cpp4
-rw-r--r--src/mame/video/m92.cpp2
-rw-r--r--src/mame/video/midtunit.cpp4
-rw-r--r--src/mame/video/mitchell.cpp2
-rw-r--r--src/mame/video/nova2001.cpp6
-rw-r--r--src/mame/video/nycaptor.cpp4
-rw-r--r--src/mame/video/skullxbo.cpp2
-rw-r--r--src/mame/video/system1.cpp2
385 files changed, 1111 insertions, 1053 deletions
diff --git a/src/devices/machine/eeprompar.cpp b/src/devices/machine/eeprompar.cpp
index 6d11e66141f..ee717972f07 100644
--- a/src/devices/machine/eeprompar.cpp
+++ b/src/devices/machine/eeprompar.cpp
@@ -204,9 +204,9 @@ WRITE_LINE_MEMBER(eeprom_parallel_28xx_device::oe_w)
// /OE line through external flip-flop
//-------------------------------------------------
-WRITE8_MEMBER(eeprom_parallel_28xx_device::unlock_write) { oe_w(1); }
-WRITE16_MEMBER(eeprom_parallel_28xx_device::unlock_write) { oe_w(1); }
-WRITE32_MEMBER(eeprom_parallel_28xx_device::unlock_write) { oe_w(1); }
+WRITE8_MEMBER(eeprom_parallel_28xx_device::unlock_write8) { oe_w(1); }
+WRITE16_MEMBER(eeprom_parallel_28xx_device::unlock_write16) { oe_w(1); }
+WRITE32_MEMBER(eeprom_parallel_28xx_device::unlock_write32) { oe_w(1); }
//**************************************************************************
diff --git a/src/devices/machine/eeprompar.h b/src/devices/machine/eeprompar.h
index 2370f1c0e46..9803d1556bb 100644
--- a/src/devices/machine/eeprompar.h
+++ b/src/devices/machine/eeprompar.h
@@ -77,9 +77,9 @@ public:
// control lines
DECLARE_WRITE_LINE_MEMBER(oe_w);
- DECLARE_WRITE8_MEMBER(unlock_write);
- DECLARE_WRITE16_MEMBER(unlock_write);
- DECLARE_WRITE32_MEMBER(unlock_write);
+ DECLARE_WRITE8_MEMBER(unlock_write8);
+ DECLARE_WRITE16_MEMBER(unlock_write16);
+ DECLARE_WRITE32_MEMBER(unlock_write32);
protected:
// construction/destruction
diff --git a/src/devices/video/hd63484.cpp b/src/devices/video/hd63484.cpp
index 189eaa89367..7db29a13052 100644
--- a/src/devices/video/hd63484.cpp
+++ b/src/devices/video/hd63484.cpp
@@ -1910,13 +1910,13 @@ void hd63484_device::video_registers_w(int offset)
}
}
-READ16_MEMBER( hd63484_device::status_r )
+READ16_MEMBER( hd63484_device::status16_r )
{
// kothello is coded so that upper byte of this should be 0xff (tests with jc opcode). Maybe it's just unconnected?
return m_sr | 0xff00;
}
-READ16_MEMBER( hd63484_device::data_r )
+READ16_MEMBER( hd63484_device::data16_r )
{
uint16_t res;
@@ -1937,13 +1937,13 @@ READ16_MEMBER( hd63484_device::data_r )
return res;
}
-WRITE16_MEMBER( hd63484_device::address_w )
+WRITE16_MEMBER( hd63484_device::address16_w )
{
if(ACCESSING_BITS_0_7)
m_ar = data & 0xfe;
}
-WRITE16_MEMBER( hd63484_device::data_w )
+WRITE16_MEMBER( hd63484_device::data16_w )
{
if(ACCESSING_BITS_8_15)
m_vreg[m_ar] = (data & 0xff00) >> 8;
@@ -1956,17 +1956,17 @@ WRITE16_MEMBER( hd63484_device::data_w )
inc_ar(2);
}
-READ8_MEMBER( hd63484_device::status_r )
+READ8_MEMBER( hd63484_device::status8_r )
{
return m_sr;
}
-WRITE8_MEMBER( hd63484_device::address_w )
+WRITE8_MEMBER( hd63484_device::address8_w )
{
m_ar = data;
}
-READ8_MEMBER( hd63484_device::data_r )
+READ8_MEMBER( hd63484_device::data8_r )
{
uint8_t res = 0xff;
@@ -1980,7 +1980,7 @@ READ8_MEMBER( hd63484_device::data_r )
return res;
}
-WRITE8_MEMBER( hd63484_device::data_w )
+WRITE8_MEMBER( hd63484_device::data8_w )
{
m_vreg[m_ar] = data;
diff --git a/src/devices/video/hd63484.h b/src/devices/video/hd63484.h
index 58ab2f35257..8ea0f4110ed 100644
--- a/src/devices/video/hd63484.h
+++ b/src/devices/video/hd63484.h
@@ -49,15 +49,15 @@ public:
static void static_set_display_callback(device_t &device, display_delegate &&cb) { downcast<hd63484_device &>(device).m_display_cb = std::move(cb); }
static void static_set_auto_configure_screen(device_t &device, bool auto_configure_screen) { downcast<hd63484_device &>(device).m_auto_configure_screen = auto_configure_screen; }
- DECLARE_WRITE16_MEMBER( address_w );
- DECLARE_WRITE16_MEMBER( data_w );
- DECLARE_READ16_MEMBER( status_r );
- DECLARE_READ16_MEMBER( data_r );
-
- DECLARE_WRITE8_MEMBER( address_w );
- DECLARE_WRITE8_MEMBER( data_w );
- DECLARE_READ8_MEMBER( status_r );
- DECLARE_READ8_MEMBER( data_r );
+ DECLARE_WRITE16_MEMBER( address16_w );
+ DECLARE_WRITE16_MEMBER( data16_w );
+ DECLARE_READ16_MEMBER( status16_r );
+ DECLARE_READ16_MEMBER( data16_r );
+
+ DECLARE_WRITE8_MEMBER( address8_w );
+ DECLARE_WRITE8_MEMBER( data8_w );
+ DECLARE_READ8_MEMBER( status8_r );
+ DECLARE_READ8_MEMBER( data8_r );
uint32_t update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
virtual const tiny_rom_entry *device_rom_region() const override;
diff --git a/src/devices/video/imagetek_i4100.cpp b/src/devices/video/imagetek_i4100.cpp
index 6371db37e84..c125f4b8dd4 100644
--- a/src/devices/video/imagetek_i4100.cpp
+++ b/src/devices/video/imagetek_i4100.cpp
@@ -83,7 +83,7 @@ DEVICE_ADDRESS_MAP_START( map, 16, imagetek_i4100_device)
AM_RANGE(0x40000, 0x5ffff) AM_READWRITE(vram_2_r, vram_2_w) AM_SHARE("vram_2")
AM_RANGE(0x60000, 0x6ffff) AM_READ(gfxrom_r)
AM_RANGE(0x70000, 0x71fff) AM_READWRITE(scratchram_r, scratchram_w) AM_SHARE("scratchram") // unknown, maybe palette
- AM_RANGE(0x72000, 0x73fff) AM_DEVREADWRITE("palette", palette_device, read, write) AM_SHARE("palette")
+ AM_RANGE(0x72000, 0x73fff) AM_DEVREADWRITE("palette", palette_device, read16, write16) AM_SHARE("palette")
AM_RANGE(0x74000, 0x74fff) AM_READWRITE(spriteram_r, spriteram_w) AM_SHARE("spriteram")
AM_RANGE(0x75000, 0x75fff) AM_READWRITE(rmw_vram_0_r, rmw_vram_0_w)
AM_RANGE(0x76000, 0x76fff) AM_READWRITE(rmw_vram_1_r, rmw_vram_1_w)
@@ -118,7 +118,7 @@ DEVICE_ADDRESS_MAP_START( v2_map, 16, imagetek_i4220_device)
AM_RANGE(0x40000, 0x5ffff) AM_READWRITE(vram_2_r, vram_2_w) AM_SHARE("vram_2")
AM_RANGE(0x60000, 0x6ffff) AM_READ(gfxrom_r)
AM_RANGE(0x70000, 0x71fff) AM_READWRITE(scratchram_r, scratchram_w) AM_SHARE("scratchram") // unknown, maybe palette
- AM_RANGE(0x72000, 0x73fff) AM_DEVREADWRITE("palette", palette_device, read, write) AM_SHARE("palette")
+ AM_RANGE(0x72000, 0x73fff) AM_DEVREADWRITE("palette", palette_device, read16, write16) AM_SHARE("palette")
AM_RANGE(0x74000, 0x74fff) AM_READWRITE(spriteram_r, spriteram_w) AM_SHARE("spriteram")
AM_RANGE(0x75000, 0x75fff) AM_READWRITE(rmw_vram_0_r, rmw_vram_0_w)
AM_RANGE(0x76000, 0x76fff) AM_READWRITE(rmw_vram_1_r, rmw_vram_1_w)
@@ -163,7 +163,7 @@ DEVICE_ADDRESS_MAP_START( v3_map, 16, imagetek_i4300_device)
AM_RANGE(0x40000, 0x5ffff) AM_READWRITE(vram_2_r, vram_2_w) AM_SHARE("vram_2")
AM_RANGE(0x60000, 0x6ffff) AM_READ(gfxrom_r)
AM_RANGE(0x70000, 0x71fff) AM_READWRITE(scratchram_r, scratchram_w) AM_SHARE("scratchram") // unknown, maybe palette
- AM_RANGE(0x72000, 0x73fff) AM_DEVREADWRITE("palette", palette_device, read, write) AM_SHARE("palette")
+ AM_RANGE(0x72000, 0x73fff) AM_DEVREADWRITE("palette", palette_device, read16, write16) AM_SHARE("palette")
AM_RANGE(0x74000, 0x74fff) AM_READWRITE(spriteram_r, spriteram_w) AM_SHARE("spriteram")
AM_RANGE(0x75000, 0x75fff) AM_READWRITE(rmw_vram_0_r, rmw_vram_0_w)
AM_RANGE(0x76000, 0x76fff) AM_READWRITE(rmw_vram_1_r, rmw_vram_1_w)
diff --git a/src/emu/addrmap.cpp b/src/emu/addrmap.cpp
index 5f717f3f79a..0d6ba930022 100644
--- a/src/emu/addrmap.cpp
+++ b/src/emu/addrmap.cpp
@@ -85,10 +85,10 @@ address_map_entry &address_map_entry::set_submap(const char *tag, address_map_de
//-------------------------------------------------
// set_handler - handler setters for
-// 8-bit read/write handlers
+// 8-bit read/write delegates
//-------------------------------------------------
-address_map_entry &address_map_entry::set_handler(read8_delegate func, u64 unitmask)
+address_map_entry &address_map_entry::r(read8_delegate func, u64 unitmask)
{
assert(!func.isnull());
assert(unitmask_is_appropriate(8, unitmask, func.name()));
@@ -101,7 +101,7 @@ address_map_entry &address_map_entry::set_handler(read8_delegate func, u64 unitm
}
-address_map_entry &address_map_entry::set_handler(write8_delegate func, u64 unitmask)
+address_map_entry &address_map_entry::w(write8_delegate func, u64 unitmask)
{
assert(!func.isnull());
assert(unitmask_is_appropriate(8, unitmask, func.name()));
@@ -114,20 +114,20 @@ address_map_entry &address_map_entry::set_handler(write8_delegate func, u64 unit
}
-address_map_entry &address_map_entry::set_handler(read8_delegate rfunc, write8_delegate wfunc, u64 unitmask)
+address_map_entry &address_map_entry::rw(read8_delegate rfunc, write8_delegate wfunc, u64 unitmask)
{
- set_handler(rfunc, unitmask);
- set_handler(wfunc, unitmask);
+ r(rfunc, unitmask);
+ w(wfunc, unitmask);
return *this;
}
//-------------------------------------------------
// set_handler - handler setters for
-// 16-bit read/write handlers
+// 16-bit read/write delegates
//-------------------------------------------------
-address_map_entry &address_map_entry::set_handler(read16_delegate func, u64 unitmask)
+address_map_entry &address_map_entry::r(read16_delegate func, u64 unitmask)
{
assert(!func.isnull());
assert(unitmask_is_appropriate(16, unitmask, func.name()));
@@ -140,7 +140,7 @@ address_map_entry &address_map_entry::set_handler(read16_delegate func, u64 unit
}
-address_map_entry &address_map_entry::set_handler(write16_delegate func, u64 unitmask)
+address_map_entry &address_map_entry::w(write16_delegate func, u64 unitmask)
{
assert(!func.isnull());
assert(unitmask_is_appropriate(16, unitmask, func.name()));
@@ -153,20 +153,20 @@ address_map_entry &address_map_entry::set_handler(write16_delegate func, u64 uni
}
-address_map_entry &address_map_entry::set_handler(read16_delegate rfunc, write16_delegate wfunc, u64 unitmask)
+address_map_entry &address_map_entry::rw(read16_delegate rfunc, write16_delegate wfunc, u64 unitmask)
{
- set_handler(rfunc, unitmask);
- set_handler(wfunc, unitmask);
+ r(rfunc, unitmask);
+ w(wfunc, unitmask);
return *this;
}
//-------------------------------------------------
// set_handler - handler setters for
-// 32-bit read/write handlers
+// 32-bit read/write delegates
//-------------------------------------------------
-address_map_entry &address_map_entry::set_handler(read32_delegate func, u64 unitmask)
+address_map_entry &address_map_entry::r(read32_delegate func, u64 unitmask)
{
assert(!func.isnull());
assert(unitmask_is_appropriate(32, unitmask, func.name()));
@@ -179,7 +179,7 @@ address_map_entry &address_map_entry::set_handler(read32_delegate func, u64 unit
}
-address_map_entry &address_map_entry::set_handler(write32_delegate func, u64 unitmask)
+address_map_entry &address_map_entry::w(write32_delegate func, u64 unitmask)
{
assert(!func.isnull());
assert(unitmask_is_appropriate(32, unitmask, func.name()));
@@ -192,20 +192,20 @@ address_map_entry &address_map_entry::set_handler(write32_delegate func, u64 uni
}
-address_map_entry &address_map_entry::set_handler(read32_delegate rfunc, write32_delegate wfunc, u64 unitmask)
+address_map_entry &address_map_entry::rw(read32_delegate rfunc, write32_delegate wfunc, u64 unitmask)
{
- set_handler(rfunc, unitmask);
- set_handler(wfunc, unitmask);
+ r(rfunc, unitmask);
+ w(wfunc, unitmask);
return *this;
}
//-------------------------------------------------
// set_handler - handler setters for
-// 64-bit read/write handlers
+// 64-bit read/write delegates
//-------------------------------------------------
-address_map_entry &address_map_entry::set_handler(read64_delegate func, u64 unitmask)
+address_map_entry &address_map_entry::r(read64_delegate func, u64 unitmask)
{
assert(!func.isnull());
assert(unitmask_is_appropriate(64, unitmask, func.name()));
@@ -218,7 +218,7 @@ address_map_entry &address_map_entry::set_handler(read64_delegate func, u64 unit
}
-address_map_entry &address_map_entry::set_handler(write64_delegate func, u64 unitmask)
+address_map_entry &address_map_entry::w(write64_delegate func, u64 unitmask)
{
assert(!func.isnull());
assert(unitmask_is_appropriate(64, unitmask, func.name()));
@@ -231,10 +231,10 @@ address_map_entry &address_map_entry::set_handler(write64_delegate func, u64 uni
}
-address_map_entry &address_map_entry::set_handler(read64_delegate rfunc, write64_delegate wfunc, u64 unitmask)
+address_map_entry &address_map_entry::rw(read64_delegate rfunc, write64_delegate wfunc, u64 unitmask)
{
- set_handler(rfunc, unitmask);
- set_handler(wfunc, unitmask);
+ r(rfunc, unitmask);
+ w(wfunc, unitmask);
return *this;
}
@@ -402,7 +402,7 @@ address_map::address_map(const address_space &space, offs_t start, offs_t end, i
m_unmapval(space.unmap()),
m_globalmask(space.addrmask())
{
- range(start, end).set_submap(DEVICE_SELF, submap_delegate, bits, unitmask);
+ (*this)(start, end).set_submap(DEVICE_SELF, submap_delegate, bits, unitmask);
}
@@ -448,7 +448,7 @@ void address_map::global_mask(offs_t mask)
// add - add a new entry
//-------------------------------------------------
-address_map_entry &address_map::range(offs_t start, offs_t end)
+address_map_entry &address_map::operator()(offs_t start, offs_t end)
{
address_map_entry *ptr = global_alloc(address_map_entry(*m_device, *this, start, end));
m_entrylist.append(*ptr);
diff --git a/src/emu/addrmap.h b/src/emu/addrmap.h
index 587f9a16e33..4c59bf8078f 100644
--- a/src/emu/addrmap.h
+++ b/src/emu/addrmap.h
@@ -120,6 +120,71 @@ public:
// submap referencing
address_map_entry &set_submap(const char *tag, address_map_delegate func, int bits, u64 mask);
+ // device tag -> delegate converter
+ template<typename _device> address_map_entry &r(const char *tag, uint8_t (_device::*read)(address_space &, offs_t, uint8_t), const char *read_name, uint64_t mask = 0) {
+ return r(read8_delegate(read, read_name, tag, (_device *)nullptr),
+ mask);
+ }
+
+ template<typename _device> address_map_entry &r(const char *tag, uint16_t (_device::*read)(address_space &, offs_t, uint16_t), const char *read_name, uint64_t mask = 0) {
+ return r(read16_delegate(read, read_name, tag, (_device *)nullptr),
+ mask);
+ }
+
+ template<typename _device> address_map_entry &r(const char *tag, uint32_t (_device::*read)(address_space &, offs_t, uint32_t), const char *read_name, uint64_t mask = 0) {
+ return r(read32_delegate(read, read_name, tag, (_device *)nullptr),
+ mask);
+ }
+
+ template<typename _device> address_map_entry &r(const char *tag, uint64_t (_device::*read)(address_space &, offs_t, uint64_t), const char *read_name, uint64_t mask = 0) {
+ return r(read64_delegate(read, read_name, tag, (_device *)nullptr),
+ mask);
+ }
+
+ template<typename _device> address_map_entry &w(const char *tag, void (_device::*write)(address_space &, offs_t, uint8_t, uint8_t), const char *write_name, uint64_t mask = 0) {
+ return w(write8_delegate(write, write_name, tag, (_device *)nullptr),
+ mask);
+ }
+
+ template<typename _device> address_map_entry &w(const char *tag, void (_device::*write)(address_space &, offs_t, uint16_t, uint16_t), const char *write_name, uint64_t mask = 0) {
+ return w(write16_delegate(write, write_name, tag, (_device *)nullptr),
+ mask);
+ }
+
+ template<typename _device> address_map_entry &w(const char *tag, void (_device::*write)(address_space &, offs_t, uint32_t, uint32_t), const char *write_name, uint64_t mask = 0) {
+ return w(write32_delegate(write, write_name, tag, (_device *)nullptr),
+ mask);
+ }
+
+ template<typename _device> address_map_entry &w(const char *tag, void (_device::*write)(address_space &, offs_t, uint64_t, uint64_t), const char *write_name, uint64_t mask = 0) {
+ return w(write64_delegate(write, write_name, tag, (_device *)nullptr),
+ mask);
+ }
+
+ template<typename _device> address_map_entry &rw(const char *tag, uint8_t (_device::*read)(address_space &, offs_t, uint8_t), const char *read_name, void (_device::*write)(address_space &, offs_t, uint8_t, uint8_t), const char *write_name, uint64_t mask = 0) {
+ return rw(read8_delegate(read, read_name, tag, (_device *)nullptr),
+ write8_delegate(write, write_name, tag, (_device *)nullptr),
+ mask);
+ }
+
+ template<typename _device> address_map_entry &rw(const char *tag, uint16_t (_device::*read)(address_space &, offs_t, uint16_t), const char *read_name, void (_device::*write)(address_space &, offs_t, uint16_t, uint16_t), const char *write_name, uint64_t mask = 0) {
+ return rw(read16_delegate(read, read_name, tag, (_device *)nullptr),
+ write16_delegate(write, write_name, tag, (_device *)nullptr),
+ mask);
+ }
+
+ template<typename _device> address_map_entry &rw(const char *tag, uint32_t (_device::*read)(address_space &, offs_t, uint32_t), const char *read_name, void (_device::*write)(address_space &, offs_t, uint32_t, uint32_t), const char *write_name, uint64_t mask = 0) {
+ return rw(read32_delegate(read, read_name, tag, (_device *)nullptr),
+ write32_delegate(write, write_name, tag, (_device *)nullptr),
+ mask);
+ }
+
+ template<typename _device> address_map_entry &rw(const char *tag, uint64_t (_device::*read)(address_space &, offs_t, uint64_t), const char *read_name, void (_device::*write)(address_space &, offs_t, uint64_t, uint64_t), const char *write_name, uint64_t mask = 0) {
+ return rw(read64_delegate(read, read_name, tag, (_device *)nullptr),
+ write64_delegate(write, write_name, tag, (_device *)nullptr),
+ mask);
+ }
+
// public state
address_map_entry * m_next; // pointer to the next entry
address_map & m_map; // reference to our owning map
@@ -155,25 +220,25 @@ public:
// information used during processing
void * m_memory; // pointer to memory backing this entry
- // handler setters for 8-bit functions
- address_map_entry &set_handler(read8_delegate func, u64 mask = 0);
- address_map_entry &set_handler(write8_delegate func, u64 mask = 0);
- address_map_entry &set_handler(read8_delegate rfunc, write8_delegate wfunc, u64 mask = 0);
+ // handler setters for 8-bit delegates
+ address_map_entry &r(read8_delegate func, u64 mask = 0);
+ address_map_entry &w(write8_delegate func, u64 mask = 0);
+ address_map_entry &rw(read8_delegate rfunc, write8_delegate wfunc, u64 mask = 0);
- // handler setters for 16-bit functions
- address_map_entry &set_handler(read16_delegate func, u64 mask = 0);
- address_map_entry &set_handler(write16_delegate func, u64 mask = 0);
- address_map_entry &set_handler(read16_delegate rfunc, write16_delegate wfunc, u64 mask = 0);
+ // handler setters for 16-bit delegates
+ address_map_entry &r(read16_delegate func, u64 mask = 0);
+ address_map_entry &w(write16_delegate func, u64 mask = 0);
+ address_map_entry &rw(read16_delegate rfunc, write16_delegate wfunc, u64 mask = 0);
- // handler setters for 32-bit functions
- address_map_entry &set_handler(read32_delegate func, u64 mask = 0);
- address_map_entry &set_handler(write32_delegate func, u64 mask = 0);
- address_map_entry &set_handler(read32_delegate rfunc, write32_delegate wfunc, u64 mask = 0);
+ // handler setters for 32-bit delegates
+ address_map_entry &r(read32_delegate func, u64 mask = 0);
+ address_map_entry &w(write32_delegate func, u64 mask = 0);
+ address_map_entry &rw(read32_delegate rfunc, write32_delegate wfunc, u64 mask = 0);
- // handler setters for 64-bit functions
- address_map_entry &set_handler(read64_delegate func, u64 mask = 0);
- address_map_entry &set_handler(write64_delegate func, u64 mask = 0);
- address_map_entry &set_handler(read64_delegate rfunc, write64_delegate wfunc, u64 mask = 0);
+ // handler setters for 64-bit delegates
+ address_map_entry &r(read64_delegate func, u64 mask = 0);
+ address_map_entry &w(write64_delegate func, u64 mask = 0);
+ address_map_entry &rw(read64_delegate rfunc, write64_delegate wfunc, u64 mask = 0);
private:
// helper functions
@@ -202,7 +267,7 @@ public:
void unmap_value(u8 value) { m_unmapval = value; }
// add a new entry of the given type
- address_map_entry &range(offs_t start, offs_t end);
+ address_map_entry &operator()(offs_t start, offs_t end);
// public data
int m_spacenum; // space number of the map
@@ -273,7 +338,7 @@ void _class :: _name(::address_map &map) \
// address ranges
#define AM_RANGE(_start, _end) \
- ;map.range(_start, _end)
+ ;map(_start, _end)
#define AM_MASK(_mask) \
.mask(_mask)
#define AM_MIRROR(_mirror) \
@@ -283,33 +348,33 @@ void _class :: _name(::address_map &map) \
// driver data reads
#define AM_READ(_handler) \
- .set_handler(read_delegate(&drivdata_class::_handler, "driver_data::" #_handler, DEVICE_SELF, (drivdata_class *)nullptr))
+ .r(read_delegate(&drivdata_class::_handler, "driver_data::" #_handler, DEVICE_SELF, (drivdata_class *)nullptr))
#define AM_READ8(_handler, _unitmask) \
- .set_handler(read8_delegate(&drivdata_class::_handler, "driver_data::" #_handler, DEVICE_SELF, (drivdata_class *)nullptr), _unitmask)
+ .r(read8_delegate(&drivdata_class::_handler, "driver_data::" #_handler, DEVICE_SELF, (drivdata_class *)nullptr), _unitmask)
#define AM_READ16(_handler, _unitmask) \
- .set_handler(read16_delegate(&drivdata_class::_handler, "driver_data::" #_handler, DEVICE_SELF, (drivdata_class *)nullptr), _unitmask)
+ .r(read16_delegate(&drivdata_class::_handler, "driver_data::" #_handler, DEVICE_SELF, (drivdata_class *)nullptr), _unitmask)
#define AM_READ32(_handler, _unitmask) \
- .set_handler(read32_delegate(&drivdata_class::_handler, "driver_data::" #_handler, DEVICE_SELF, (drivdata_class *)nullptr), _unitmask)
+ .r(read32_delegate(&drivdata_class::_handler, "driver_data::" #_handler, DEVICE_SELF, (drivdata_class *)nullptr), _unitmask)
// driver data writes
#define AM_WRITE(_handler) \
- .set_handler(write_delegate(&drivdata_class::_handler, "driver_data::" #_handler, DEVICE_SELF, (drivdata_class *)nullptr))
+ .w(write_delegate(&drivdata_class::_handler, "driver_data::" #_handler, DEVICE_SELF, (drivdata_class *)nullptr))
#define AM_WRITE8(_handler, _unitmask) \
- .set_handler(write8_delegate(&drivdata_class::_handler, "driver_data::" #_handler, DEVICE_SELF, (drivdata_class *)nullptr), _unitmask)
+ .w(write8_delegate(&drivdata_class::_handler, "driver_data::" #_handler, DEVICE_SELF, (drivdata_class *)nullptr), _unitmask)
#define AM_WRITE16(_handler, _unitmask) \
- .set_handler(write16_delegate(&drivdata_class::_handler, "driver_data::" #_handler, DEVICE_SELF, (drivdata_class *)nullptr), _unitmask)
+ .w(write16_delegate(&drivdata_class::_handler, "driver_data::" #_handler, DEVICE_SELF, (drivdata_class *)nullptr), _unitmask)
#define AM_WRITE32(_handler, _unitmask) \
- .set_handler(write32_delegate(&drivdata_class::_handler, "driver_data::" #_handler, DEVICE_SELF, (drivdata_class *)nullptr), _unitmask)
+ .w(write32_delegate(&drivdata_class::_handler, "driver_data::" #_handler, DEVICE_SELF, (drivdata_class *)nullptr), _unitmask)
// driver data reads/writes
#define AM_READWRITE(_rhandler, _whandler) \
- .set_handler(read_delegate(&drivdata_class::_rhandler, "driver_data::" #_rhandler, DEVICE_SELF, (drivdata_class *)nullptr), write_delegate(&drivdata_class::_whandler, "driver_data::" #_whandler, DEVICE_SELF, (drivdata_class *)nullptr))
+ .rw(read_delegate(&drivdata_class::_rhandler, "driver_data::" #_rhandler, DEVICE_SELF, (drivdata_class *)nullptr), write_delegate(&drivdata_class::_whandler, "driver_data::" #_whandler, DEVICE_SELF, (drivdata_class *)nullptr))
#define AM_READWRITE8(_rhandler, _whandler, _unitmask) \
- .set_handler(read8_delegate(&drivdata_class::_rhandler, "driver_data::" #_rhandler, DEVICE_SELF, (drivdata_class *)nullptr), write8_delegate(&drivdata_class::_whandler, "driver_data::" #_whandler, DEVICE_SELF, (drivdata_class *)nullptr), _unitmask)
+ .rw(read8_delegate(&drivdata_class::_rhandler, "driver_data::" #_rhandler, DEVICE_SELF, (drivdata_class *)nullptr), write8_delegate(&drivdata_class::_whandler, "driver_data::" #_whandler, DEVICE_SELF, (drivdata_class *)nullptr), _unitmask)
#define AM_READWRITE16(_rhandler, _whandler, _unitmask) \
- .set_handler(read16_delegate(&drivdata_class::_rhandler, "driver_data::" #_rhandler, DEVICE_SELF, (drivdata_class *)nullptr), write16_delegate(&drivdata_class::_whandler, "driver_data::" #_whandler, DEVICE_SELF, (drivdata_class *)nullptr), _unitmask)
+ .rw(read16_delegate(&drivdata_class::_rhandler, "driver_data::" #_rhandler, DEVICE_SELF, (drivdata_class *)nullptr), write16_delegate(&drivdata_class::_whandler, "driver_data::" #_whandler, DEVICE_SELF, (drivdata_class *)nullptr), _unitmask)
#define AM_READWRITE32(_rhandler, _whandler, _unitmask) \
- .set_handler(read32_delegate(&drivdata_class::_rhandler, "driver_data::" #_rhandler, DEVICE_SELF, (drivdata_class *)nullptr), write32_delegate(&drivdata_class::_whandler, "driver_data::" #_whandler, DEVICE_SELF, (drivdata_class *)nullptr), _unitmask)
+ .rw(read32_delegate(&drivdata_class::_rhandler, "driver_data::" #_rhandler, DEVICE_SELF, (drivdata_class *)nullptr), write32_delegate(&drivdata_class::_whandler, "driver_data::" #_whandler, DEVICE_SELF, (drivdata_class *)nullptr), _unitmask)
// driver set offset. Upcast to base class because there are no data width variants,
// and the compiler complains if we don't do it explicitly
@@ -318,63 +383,63 @@ void _class :: _name(::address_map &map) \
// device reads
#define AM_DEVREAD(_tag, _class, _handler) \
- .set_handler(read_delegate(&_class::_handler, #_class "::" #_handler, _tag, (_class *)nullptr))
+ .r(_tag, &_class::_handler, #_class "::" #_handler)
#define AM_DEVREAD8(_tag, _class, _handler, _unitmask) \
- .set_handler(read8_delegate(&_class::_handler, #_class "::" #_handler, _tag, (_class *)nullptr), _unitmask)
+ .r(_tag, &_class::_handler, #_class "::" #_handler, _unitmask)
#define AM_DEVREAD16(_tag, _class, _handler, _unitmask) \
- .set_handler(read16_delegate(&_class::_handler, #_class "::" #_handler, _tag, (_class *)nullptr), _unitmask)
+ .r(_tag, &_class::_handler, #_class "::" #_handler, _unitmask)
#define AM_DEVREAD32(_tag, _class, _handler, _unitmask) \
- .set_handler(read32_delegate(&_class::_handler, #_class "::" #_handler, _tag, (_class *)nullptr), _unitmask)
+ .r(_tag, &_class::_handler, #_class "::" #_handler, _unitmask)
// device writes
#define AM_DEVWRITE(_tag, _class, _handler) \
- .set_handler(write_delegate(&_class::_handler, #_class "::" #_handler, _tag, (_class *)nullptr))
+ .w(_tag, &_class::_handler, #_class "::" #_handler)
#define AM_DEVWRITE8(_tag, _class, _handler, _unitmask) \
- .set_handler(write8_delegate(&_class::_handler, #_class "::" #_handler, _tag, (_class *)nullptr), _unitmask)
+ .w(_tag, &_class::_handler, #_class "::" #_handler, _unitmask)
#define AM_DEVWRITE16(_tag, _class, _handler, _unitmask) \
- .set_handler(write16_delegate(&_class::_handler, #_class "::" #_handler, _tag, (_class *)nullptr), _unitmask)
+ .w(_tag, &_class::_handler, #_class "::" #_handler, _unitmask)
#define AM_DEVWRITE32(_tag, _class, _handler, _unitmask) \
- .set_handler(write32_delegate(&_class::_handler, #_class "::" #_handler, _tag, (_class *)nullptr), _unitmask)
+ .w(_tag, &_class::_handler, #_class "::" #_handler, _unitmask)
// device reads/writes
#define AM_DEVREADWRITE(_tag, _class, _rhandler, _whandler) \
- .set_handler(read_delegate(&_class::_rhandler, #_class "::" #_rhandler, _tag, (_class *)nullptr), write_delegate(&_class::_whandler, #_class "::" #_whandler, _tag, (_class *)nullptr))
+ .rw(_tag, &_class::_rhandler, #_class "::" #_rhandler, &_class::_whandler, #_class "::" #_whandler)
#define AM_DEVREADWRITE8(_tag, _class, _rhandler, _whandler, _unitmask) \
- .set_handler(read8_delegate(&_class::_rhandler, #_class "::" #_rhandler, _tag, (_class *)nullptr), write8_delegate(&_class::_whandler, #_class "::" #_whandler, _tag, (_class *)nullptr), _unitmask)
+ .rw(_tag, &_class::_rhandler, #_class "::" #_rhandler, &_class::_whandler, #_class "::" #_whandler, _unitmask)
#define AM_DEVREADWRITE16(_tag, _class, _rhandler, _whandler, _unitmask) \
- .set_handler(read16_delegate(&_class::_rhandler, #_class "::" #_rhandler, _tag, (_class *)nullptr), write16_delegate(&_class::_whandler, #_class "::" #_whandler, _tag, (_class *)nullptr), _unitmask)
+ .rw(_tag, &_class::_rhandler, #_class "::" #_rhandler, &_class::_whandler, #_class "::" #_whandler, _unitmask)
#define AM_DEVREADWRITE32(_tag, _class, _rhandler, _whandler, _unitmask) \
- .set_handler(read32_delegate(&_class::_rhandler, #_class "::" #_rhandler, _tag, (_class *)nullptr), write32_delegate(&_class::_whandler, #_class "::" #_whandler, _tag, (_class *)nullptr), _unitmask)
+ .rw(_tag, &_class::_rhandler, #_class "::" #_rhandler, &_class::_whandler, #_class "::" #_whandler, _unitmask)
// device reads with modified offset
#define AM_DEVREAD_MOD(_tag, _class, _handler, _modfn) \
- .set_handler(read_delegate([](_class &device, address_space &space, offs_t offset, native_type mem_mask)->native_type { return device._handler(space, emu::detail::offset_##_modfn(offset), mem_mask); }, #_class "::" #_handler, _tag, (_class *)nullptr))
+ .r(read_delegate([](_class &device, address_space &space, offs_t offset, native_type mem_mask)->native_type { return device._handler(space, emu::detail::offset_##_modfn(offset), mem_mask); }, #_class "::" #_handler, _tag, (_class *)nullptr))
#define AM_DEVREAD8_MOD(_tag, _class, _handler, _modfn, _unitmask) \
- .set_handler(read8_delegate([](_class &device, address_space &space, offs_t offset, u8 mem_mask)->u8 { return device._handler(space, emu::detail::offset_##_modfn(offset), mem_mask); }, #_class "::" #_handler, _tag, (_class *)nullptr), _unitmask)
+ .r(read8_delegate([](_class &device, address_space &space, offs_t offset, u8 mem_mask)->u8 { return device._handler(space, emu::detail::offset_##_modfn(offset), mem_mask); }, #_class "::" #_handler, _tag, (_class *)nullptr), _unitmask)
#define AM_DEVREAD16_MOD(_tag, _class, _handler, _modfn, _unitmask) \
- .set_handler(read16_delegate([](_class &device, address_space &space, offs_t offset, u16 mem_mask)->u16 { return device._handler(space, emu::detail::offset_##_modfn(offset), mem_mask); }, #_class "::" #_handler, _tag, (_class *)nullptr), _unitmask)
+ .r(read16_delegate([](_class &device, address_space &space, offs_t offset, u16 mem_mask)->u16 { return device._handler(space, emu::detail::offset_##_modfn(offset), mem_mask); }, #_class "::" #_handler, _tag, (_class *)nullptr), _unitmask)
#define AM_DEVREAD32_MOD(_tag, _class, _handler, _modfn, _unitmask) \
- .set_handler(read32_delegate([](_class &device, address_space &space, offs_t offset, u32 mem_mask)->u32 { return device._handler(space, emu::detail::offset_##_modfn(offset), mem_mask); }, #_class "::" #_handler, _tag, (_class *)nullptr), _unitmask)
+ .r(read32_delegate([](_class &device, address_space &space, offs_t offset, u32 mem_mask)->u32 { return device._handler(space, emu::detail::offset_##_modfn(offset), mem_mask); }, #_class "::" #_handler, _tag, (_class *)nullptr), _unitmask)
// device writes with modified offset
#define AM_DEVWRITE_MOD(_tag, _class, _handler, _modfn) \
- .set_handler(write_delegate([](_class &device, address_space &space, offs_t offset, native_type data, native_type mem_mask) { device._handler(space, emu::detail::offset_##_modfn(offset), data, mem_mask); }, #_class "::" #_handler, _tag, (_class *)nullptr))
+ .w(write_delegate([](_class &device, address_space &space, offs_t offset, native_type data, native_type mem_mask) { device._handler(space, emu::detail::offset_##_modfn(offset), data, mem_mask); }, #_class "::" #_handler, _tag, (_class *)nullptr))
#define AM_DEVWRITE8_MOD(_tag, _class, _handler, _modfn, _unitmask) \
- .set_handler(write8_delegate([](_class &device, address_space &space, offs_t offset, u8 data, u8 mem_mask) { device._handler(space, emu::detail::offset_##_modfn(offset), data, mem_mask); }, #_class "::" #_handler, _tag, (_class *)nullptr), _unitmask)
+ .w(write8_delegate([](_class &device, address_space &space, offs_t offset, u8 data, u8 mem_mask) { device._handler(space, emu::detail::offset_##_modfn(offset), data, mem_mask); }, #_class "::" #_handler, _tag, (_class *)nullptr), _unitmask)
#define AM_DEVWRITE16_MOD(_tag, _class, _handler, _modfn, _unitmask) \
- .set_handler(write16_delegate([](_class &device, address_space &space, offs_t offset, u16 data, u16 mem_mask) { device._handler(space, emu::detail::offset_##_modfn(offset), data, mem_mask); }, #_class "::" #_handler, _tag, (_class *)nullptr), _unitmask)
+ .w(write16_delegate([](_class &device, address_space &space, offs_t offset, u16 data, u16 mem_mask) { device._handler(space, emu::detail::offset_##_modfn(offset), data, mem_mask); }, #_class "::" #_handler, _tag, (_class *)nullptr), _unitmask)
#define AM_DEVWRITE32_MOD(_tag, _class, _handler, _modfn, _unitmask) \
- .set_handler(write32_delegate([](_class &device, address_space &space, offs_t offset, u32 data, u32 mem_mask) { device._handler(space, emu::detail::offset_##_modfn(offset), data, mem_mask); }, #_class "::" #_handler, _tag, (_class *)nullptr), _unitmask)
+ .w(write32_delegate([](_class &device, address_space &space, offs_t offset, u32 data, u32 mem_mask) { device._handler(space, emu::detail::offset_##_modfn(offset), data, mem_mask); }, #_class "::" #_handler, _tag, (_class *)nullptr), _unitmask)
// device reads/writes with modified offset
#define AM_DEVREADWRITE_MOD(_tag, _class, _rhandler, _whandler, _modfn) \
- .set_handler(read_delegate([](_class &device, address_space &space, offs_t offset, native_type mem_mask)->native_type { return device._rhandler(space, emu::detail::offset_##_modfn(offset), mem_mask); }, #_class "::" #_rhandler, _tag, (_class *)nullptr), write_delegate([](_class &device, address_space &space, offs_t offset, native_type data, native_type mem_mask) { device._whandler(space, emu::detail::offset_##_modfn(offset), data, mem_mask); }, #_class "::" #_whandler, _tag, (_class *)nullptr))
+ .rw(read_delegate([](_class &device, address_space &space, offs_t offset, native_type mem_mask)->native_type { return device._rhandler(space, emu::detail::offset_##_modfn(offset), mem_mask); }, #_class "::" #_rhandler, _tag, (_class *)nullptr), write_delegate([](_class &device, address_space &space, offs_t offset, native_type data, native_type mem_mask) { device._whandler(space, emu::detail::offset_##_modfn(offset), data, mem_mask); }, #_class "::" #_whandler, _tag, (_class *)nullptr))
#define AM_DEVREADWRITE8_MOD(_tag, _class, _rhandler, _whandler, _modfn, _unitmask) \
- .set_handler(read8_delegate([](_class &device, address_space &space, offs_t offset, u8 mem_mask)->u8 { return device._rhandler(space, emu::detail::offset_##_modfn(offset), mem_mask); }, #_class "::" #_rhandler, _tag, (_class *)nullptr), write8_delegate([](_class &device, address_space &space, offs_t offset, u8 data, u8 mem_mask) { device._whandler(space, emu::detail::offset_##_modfn(offset), data, mem_mask); }, #_class "::" #_whandler, _tag, (_class *)nullptr), _unitmask)
+ .rw(read8_delegate([](_class &device, address_space &space, offs_t offset, u8 mem_mask)->u8 { return device._rhandler(space, emu::detail::offset_##_modfn(offset), mem_mask); }, #_class "::" #_rhandler, _tag, (_class *)nullptr), write8_delegate([](_class &device, address_space &space, offs_t offset, u8 data, u8 mem_mask) { device._whandler(space, emu::detail::offset_##_modfn(offset), data, mem_mask); }, #_class "::" #_whandler, _tag, (_class *)nullptr), _unitmask)
#define AM_DEVREADWRITE16_MOD(_tag, _class, _rhandler, _whandler, _modfn, _unitmask) \
- .set_handler(read16_delegate([](_class &device, address_space &space, offs_t offset, u16 mem_mask)->u16 { return device._rhandler(space, emu::detail::offset_##_modfn(offset), mem_mask); }, #_class "::" #_rhandler, _tag, (_class *)nullptr), write16_delegate([](_class &device, address_space &space, offs_t offset, u16 data, u16 mem_mask) { device._whandler(space, emu::detail::offset_##_modfn(offset), data, mem_mask); }, #_class "::" #_whandler, _tag, (_class *)nullptr), _unitmask)
+ .rw(read16_delegate([](_class &device, address_space &space, offs_t offset, u16 mem_mask)->u16 { return device._rhandler(space, emu::detail::offset_##_modfn(offset), mem_mask); }, #_class "::" #_rhandler, _tag, (_class *)nullptr), write16_delegate([](_class &device, address_space &space, offs_t offset, u16 data, u16 mem_mask) { device._whandler(space, emu::detail::offset_##_modfn(offset), data, mem_mask); }, #_class "::" #_whandler, _tag, (_class *)nullptr), _unitmask)
#define AM_DEVREADWRITE32_MOD(_tag, _class, _rhandler, _whandler, _modfn, _unitmask) \
- .set_handler(read32_delegate([](_class &device, address_space &space, offs_t offset, u32 mem_mask)->u32 { return device._rhandler(space, emu::detail::offset_##_modfn(offset), mem_mask); }, #_class "::" #_rhandler, _tag, (_class *)nullptr), write32_delegate([](_class &device, address_space &space, offs_t offset, u32 data, u32 mem_mask) { device._whandler(space, emu::detail::offset_##_modfn(offset), data, mem_mask); }, #_class "::" #_whandler, _tag, (_class *)nullptr), _unitmask)
+ .rw(read32_delegate([](_class &device, address_space &space, offs_t offset, u32 mem_mask)->u32 { return device._rhandler(space, emu::detail::offset_##_modfn(offset), mem_mask); }, #_class "::" #_rhandler, _tag, (_class *)nullptr), write32_delegate([](_class &device, address_space &space, offs_t offset, u32 data, u32 mem_mask) { device._whandler(space, emu::detail::offset_##_modfn(offset), data, mem_mask); }, #_class "::" #_whandler, _tag, (_class *)nullptr), _unitmask)
// device set offset
#define AM_DEVSETOFFSET(_tag, _class, _handler) \
diff --git a/src/emu/emupal.cpp b/src/emu/emupal.cpp
index 4062b0f74f7..25b0f634180 100644
--- a/src/emu/emupal.cpp
+++ b/src/emu/emupal.cpp
@@ -133,35 +133,35 @@ inline void palette_device::update_for_write(offs_t byte_offset, int bytes_modif
// write - write a byte to the base paletteram
//-------------------------------------------------
-WRITE8_MEMBER(palette_device::write)
+WRITE8_MEMBER(palette_device::write8)
{
m_paletteram.write8(offset, data);
update_for_write(offset, 1);
}
-WRITE16_MEMBER(palette_device::write)
+WRITE16_MEMBER(palette_device::write16)
{
m_paletteram.write16(offset, data, mem_mask);
update_for_write(offset * 2, 2);
}
-WRITE32_MEMBER(palette_device::write)
+WRITE32_MEMBER(palette_device::write32)
{
m_paletteram.write32(offset, data, mem_mask);
update_for_write(offset * 4, 4);
}
-READ8_MEMBER(palette_device::read)
+READ8_MEMBER(palette_device::read8)
{
return m_paletteram.read8(offset);
}
-READ16_MEMBER(palette_device::read)
+READ16_MEMBER(palette_device::read16)
{
return m_paletteram.read16(offset);
}
-READ32_MEMBER(palette_device::read)
+READ32_MEMBER(palette_device::read32)
{
return m_paletteram.read32(offset);
}
@@ -172,14 +172,14 @@ READ32_MEMBER(palette_device::read)
// paletteram
//-------------------------------------------------
-WRITE8_MEMBER(palette_device::write_ext)
+WRITE8_MEMBER(palette_device::write8_ext)
{
m_paletteram_ext.write8(offset, data);
update_for_write(offset, 1);
}
-WRITE16_MEMBER(palette_device::write_ext)
+WRITE16_MEMBER(palette_device::write16_ext)
{
m_paletteram_ext.write16(offset, data, mem_mask);
update_for_write(offset * 2, 2);
diff --git a/src/emu/emupal.h b/src/emu/emupal.h
index d5899016571..0dd33e3c79c 100644
--- a/src/emu/emupal.h
+++ b/src/emu/emupal.h
@@ -387,16 +387,16 @@ public:
}
// generic read/write handlers
- DECLARE_READ8_MEMBER(read);
- DECLARE_WRITE8_MEMBER(write);
- DECLARE_WRITE8_MEMBER(write_ext);
+ DECLARE_READ8_MEMBER(read8);
+ DECLARE_WRITE8_MEMBER(write8);
+ DECLARE_WRITE8_MEMBER(write8_ext);
DECLARE_WRITE8_MEMBER(write_indirect);
DECLARE_WRITE8_MEMBER(write_indirect_ext);
- DECLARE_READ16_MEMBER(read);
- DECLARE_WRITE16_MEMBER(write);
- DECLARE_WRITE16_MEMBER(write_ext);
- DECLARE_READ32_MEMBER(read);
- DECLARE_WRITE32_MEMBER(write);
+ DECLARE_READ16_MEMBER(read16);
+ DECLARE_WRITE16_MEMBER(write16);
+ DECLARE_WRITE16_MEMBER(write16_ext);
+ DECLARE_READ32_MEMBER(read32);
+ DECLARE_WRITE32_MEMBER(write32);
// generic palette init routines
void palette_init_all_black(palette_device &palette);
diff --git a/src/emu/tilemap.cpp b/src/emu/tilemap.cpp
index eb5cba30db8..3329b98acbe 100644
--- a/src/emu/tilemap.cpp
+++ b/src/emu/tilemap.cpp
@@ -1710,14 +1710,14 @@ void tilemap_device::static_set_transparent_pen(device_t &device, pen_t pen)
// write: Main memory writes
//-------------------------------------------------
-WRITE8_MEMBER(tilemap_device::write)
+WRITE8_MEMBER(tilemap_device::write8)
{
m_basemem.write8(offset, data);
offset /= m_bytes_per_entry;
mark_tile_dirty(offset);
}
-WRITE16_MEMBER(tilemap_device::write)
+WRITE16_MEMBER(tilemap_device::write16)
{
m_basemem.write16(offset, data, mem_mask);
offset = offset * 2 / m_bytes_per_entry;
@@ -1726,7 +1726,7 @@ WRITE16_MEMBER(tilemap_device::write)
mark_tile_dirty(offset + 1);
}
-WRITE32_MEMBER(tilemap_device::write)
+WRITE32_MEMBER(tilemap_device::write32)
{
m_basemem.write32(offset, data, mem_mask);
offset = offset * 4 / m_bytes_per_entry;
@@ -1747,14 +1747,14 @@ WRITE32_MEMBER(tilemap_device::write)
// write_entry_ext: Extension memory writes
//-------------------------------------------------
-WRITE8_MEMBER(tilemap_device::write_ext)
+WRITE8_MEMBER(tilemap_device::write8_ext)
{
m_extmem.write8(offset, data);
offset /= m_bytes_per_entry;
mark_tile_dirty(offset);
}
-WRITE16_MEMBER(tilemap_device::write_ext)
+WRITE16_MEMBER(tilemap_device::write16_ext)
{
m_extmem.write16(offset, data, mem_mask);
offset = offset * 2 / m_bytes_per_entry;
@@ -1763,7 +1763,7 @@ WRITE16_MEMBER(tilemap_device::write_ext)
mark_tile_dirty(offset + 1);
}
-WRITE32_MEMBER(tilemap_device::write_ext)
+WRITE32_MEMBER(tilemap_device::write32_ext)
{
m_extmem.write32(offset, data, mem_mask);
offset = offset * 4 / m_bytes_per_entry;
diff --git a/src/emu/tilemap.h b/src/emu/tilemap.h
index ac3f021e9ab..3fd24f21a78 100644
--- a/src/emu/tilemap.h
+++ b/src/emu/tilemap.h
@@ -734,12 +734,12 @@ public:
memory_array &extmem() { return m_extmem; }
// write handlers
- DECLARE_WRITE8_MEMBER(write);
- DECLARE_WRITE16_MEMBER(write);
- DECLARE_WRITE32_MEMBER(write);
- DECLARE_WRITE8_MEMBER(write_ext);
- DECLARE_WRITE16_MEMBER(write_ext);
- DECLARE_WRITE32_MEMBER(write_ext);
+ DECLARE_WRITE8_MEMBER(write8);
+ DECLARE_WRITE16_MEMBER(write16);
+ DECLARE_WRITE32_MEMBER(write32);
+ DECLARE_WRITE8_MEMBER(write8_ext);
+ DECLARE_WRITE16_MEMBER(write16_ext);
+ DECLARE_WRITE32_MEMBER(write32_ext);
// optional memory accessors
u32 basemem_read(int index) { return m_basemem.read(index); }
diff --git a/src/mame/drivers/1945kiii.cpp b/src/mame/drivers/1945kiii.cpp
index bdadda9b0a3..d144ef80137 100644
--- a/src/mame/drivers/1945kiii.cpp
+++ b/src/mame/drivers/1945kiii.cpp
@@ -191,7 +191,7 @@ static ADDRESS_MAP_START( k3_base_map, AS_PROGRAM, 16, k3_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM // Main Ram
- AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x240000, 0x240fff) AM_RAM AM_SHARE("spritera1")
AM_RANGE(0x280000, 0x280fff) AM_RAM AM_SHARE("spritera2")
AM_RANGE(0x2c0000, 0x2c07ff) AM_RAM_WRITE(k3_bgram_w) AM_SHARE("bgram")
diff --git a/src/mame/drivers/2mindril.cpp b/src/mame/drivers/2mindril.cpp
index a779f0b92dd..2a398f93978 100644
--- a/src/mame/drivers/2mindril.cpp
+++ b/src/mame/drivers/2mindril.cpp
@@ -204,7 +204,7 @@ static ADDRESS_MAP_START( drill_map, AS_PROGRAM, 16, _2mindril_state )
AM_RANGE(0x430000, 0x43ffff) AM_READWRITE(f3_pivot_r,f3_pivot_w)
AM_RANGE(0x460000, 0x46000f) AM_WRITE(f3_control_0_w)
AM_RANGE(0x460010, 0x46001f) AM_WRITE(f3_control_1_w)
- AM_RANGE(0x500000, 0x501fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x500000, 0x501fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x502022, 0x502023) AM_WRITENOP //countinously switches between 0 and 2
AM_RANGE(0x600000, 0x600007) AM_DEVREADWRITE8("ymsnd", ym2610_device, read, write, 0x00ff)
AM_RANGE(0x60000c, 0x60000d) AM_READWRITE(drill_irq_r,drill_irq_w)
diff --git a/src/mame/drivers/3x3puzzl.cpp b/src/mame/drivers/3x3puzzl.cpp
index 19a23e02099..5e68d4e35c1 100644
--- a/src/mame/drivers/3x3puzzl.cpp
+++ b/src/mame/drivers/3x3puzzl.cpp
@@ -215,7 +215,7 @@ static ADDRESS_MAP_START( _3x3puzzle_map, AS_PROGRAM, 16, _3x3puzzle_state )
AM_RANGE(0x201000, 0x201fff) AM_RAM AM_SHARE("videoram2")
AM_RANGE(0x202000, 0x202fff) AM_RAM AM_SHARE("videoram3")
AM_RANGE(0x280000, 0x280001) AM_READ_PORT("VBLANK")
- AM_RANGE(0x300000, 0x3005ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x300000, 0x3005ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x400000, 0x400001) AM_WRITE(tilemap1_scrollx_w)
AM_RANGE(0x480000, 0x480001) AM_WRITE(tilemap1_scrolly_w)
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/88games.cpp b/src/mame/drivers/88games.cpp
index 0fe957bbfa1..98a51fe7f12 100644
--- a/src/mame/drivers/88games.cpp
+++ b/src/mame/drivers/88games.cpp
@@ -124,7 +124,7 @@ WRITE8_MEMBER(_88games_state::k052109_051960_w)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, _88games_state )
AM_RANGE(0x0000, 0x0fff) AM_READ_BANK("bank0000") /* banked ROM */
AM_RANGE(0x1000, 0x1fff) AM_READ_BANK("bank1000") /* banked ROM + palette RAM */
- AM_RANGE(0x1000, 0x1fff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1000, 0x1fff) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x2000, 0x2fff) AM_RAM
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(bankedram_r, bankedram_w) AM_SHARE("ram")
diff --git a/src/mame/drivers/acommand.cpp b/src/mame/drivers/acommand.cpp
index 2450ae59a72..c95437286c6 100644
--- a/src/mame/drivers/acommand.cpp
+++ b/src/mame/drivers/acommand.cpp
@@ -326,7 +326,7 @@ static ADDRESS_MAP_START( acommand_map, AS_PROGRAM, 16, acommand_state )
AM_RANGE(0x082208, 0x082209) AM_WRITE(ac_unk2_w)
AM_RANGE(0x0a0000, 0x0a3fff) AM_RAM_DEVWRITE("bgtmap", megasys1_tilemap_device, write) AM_SHARE("bgtmap")
AM_RANGE(0x0b0000, 0x0b3fff) AM_RAM_DEVWRITE("txtmap", megasys1_tilemap_device, write) AM_SHARE("txtmap")
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0f0000, 0x0f7fff) AM_RAM
AM_RANGE(0x0f8000, 0x0f8fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x0f9000, 0x0fffff) AM_RAM
diff --git a/src/mame/drivers/actfancr.cpp b/src/mame/drivers/actfancr.cpp
index 5c5c13d8253..61cde39cab0 100644
--- a/src/mame/drivers/actfancr.cpp
+++ b/src/mame/drivers/actfancr.cpp
@@ -78,7 +78,7 @@ static ADDRESS_MAP_START( actfan_map, AS_PROGRAM, 8, actfancr_state )
AM_RANGE(0x072000, 0x0727ff) AM_DEVREADWRITE("tilegen2", deco_bac06_device, pf_data_8bit_swap_r, pf_data_8bit_swap_w)
AM_RANGE(0x100000, 0x1007ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x110000, 0x110001) AM_WRITE(actfancr_buffer_spriteram_w)
- AM_RANGE(0x120000, 0x1205ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x120000, 0x1205ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x130000, 0x130000) AM_READ_PORT("P1")
AM_RANGE(0x130001, 0x130001) AM_READ_PORT("P2")
AM_RANGE(0x130002, 0x130002) AM_READ_PORT("DSW1")
@@ -101,7 +101,7 @@ static ADDRESS_MAP_START( triothep_map, AS_PROGRAM, 8, actfancr_state )
AM_RANGE(0x100000, 0x100000) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0x110000, 0x110001) AM_WRITE(actfancr_buffer_spriteram_w)
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x130000, 0x1305ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x130000, 0x1305ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x140000, 0x140001) AM_READNOP /* Value doesn't matter */
AM_RANGE(0x1f0000, 0x1f3fff) AM_RAM AM_SHARE("main_ram") /* Main ram */
AM_RANGE(0x1ff000, 0x1ff001) AM_READWRITE(triothep_control_r, triothep_control_select_w)
diff --git a/src/mame/drivers/adp.cpp b/src/mame/drivers/adp.cpp
index 0269c40f580..5ab7d5f3ce8 100644
--- a/src/mame/drivers/adp.cpp
+++ b/src/mame/drivers/adp.cpp
@@ -297,8 +297,8 @@ WRITE16_MEMBER(adp_state::input_w)
static ADDRESS_MAP_START( skattv_mem, AS_PROGRAM, 16, adp_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
- AM_RANGE(0x800080, 0x800081) AM_DEVREADWRITE("acrtc", hd63484_device, status_r, address_w)
- AM_RANGE(0x800082, 0x800083) AM_DEVREADWRITE("acrtc", hd63484_device, data_r, data_w)
+ AM_RANGE(0x800080, 0x800081) AM_DEVREADWRITE("acrtc", hd63484_device, status16_r, address16_w)
+ AM_RANGE(0x800082, 0x800083) AM_DEVREADWRITE("acrtc", hd63484_device, data16_r, data16_w)
AM_RANGE(0x800100, 0x800101) AM_READWRITE(input_r, input_w)
AM_RANGE(0x800140, 0x800143) AM_DEVREADWRITE8("aysnd", ay8910_device, data_r, address_data_w, 0x00ff) //18b too
AM_RANGE(0x800180, 0x80019f) AM_DEVREADWRITE8("duart", mc68681_device, read, write, 0x00ff)
@@ -308,8 +308,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( skattva_mem, AS_PROGRAM, 16, adp_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x400000, 0x40001f) AM_DEVREADWRITE8("rtc", msm6242_device, read, write, 0x00ff)
- AM_RANGE(0x800080, 0x800081) AM_DEVREADWRITE("acrtc", hd63484_device, status_r, address_w)
- AM_RANGE(0x800082, 0x800083) AM_DEVREADWRITE("acrtc", hd63484_device, data_r, data_w)
+ AM_RANGE(0x800080, 0x800081) AM_DEVREADWRITE("acrtc", hd63484_device, status16_r, address16_w)
+ AM_RANGE(0x800082, 0x800083) AM_DEVREADWRITE("acrtc", hd63484_device, data16_r, data16_w)
AM_RANGE(0x800100, 0x800101) AM_READ_PORT("IN0")
AM_RANGE(0x800140, 0x800143) AM_DEVREADWRITE8("aysnd", ay8910_device, data_r, address_data_w, 0x00ff) //18b too
AM_RANGE(0x800180, 0x80019f) AM_DEVREADWRITE8("duart", mc68681_device, read, write, 0x00ff)
@@ -319,8 +319,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( quickjac_mem, AS_PROGRAM, 16, adp_state )
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x400000, 0x40001f) AM_DEVREADWRITE8("rtc", msm6242_device, read, write, 0x00ff)
- AM_RANGE(0x800080, 0x800081) AM_DEVREADWRITE("acrtc", hd63484_device, status_r, address_w) // bad
- AM_RANGE(0x800082, 0x800083) AM_DEVREADWRITE("acrtc", hd63484_device, data_r, data_w) // bad
+ AM_RANGE(0x800080, 0x800081) AM_DEVREADWRITE("acrtc", hd63484_device, status16_r, address16_w) // bad
+ AM_RANGE(0x800082, 0x800083) AM_DEVREADWRITE("acrtc", hd63484_device, data16_r, data16_w) // bad
AM_RANGE(0x800100, 0x800101) AM_READ_PORT("IN0")
AM_RANGE(0x800140, 0x800143) AM_DEVREADWRITE8("aysnd", ay8910_device, data_r, address_data_w, 0x00ff) //18b too
AM_RANGE(0x800180, 0x80019f) AM_DEVREADWRITE8("duart", mc68681_device, read, write, 0x00ff)
@@ -330,8 +330,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( funland_mem, AS_PROGRAM, 16, adp_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x400000, 0x40001f) AM_DEVREADWRITE8("rtc", msm6242_device, read, write, 0x00ff)
- AM_RANGE(0x800080, 0x800081) AM_DEVREADWRITE("acrtc", hd63484_device, status_r, address_w)
- AM_RANGE(0x800082, 0x800083) AM_DEVREADWRITE("acrtc", hd63484_device, data_r, data_w)
+ AM_RANGE(0x800080, 0x800081) AM_DEVREADWRITE("acrtc", hd63484_device, status16_r, address16_w)
+ AM_RANGE(0x800082, 0x800083) AM_DEVREADWRITE("acrtc", hd63484_device, data16_r, data16_w)
AM_RANGE(0x800088, 0x800089) AM_DEVWRITE8("ramdac", ramdac_device, index_w, 0x00ff)
AM_RANGE(0x80008a, 0x80008b) AM_DEVWRITE8("ramdac", ramdac_device, pal_w, 0x00ff)
AM_RANGE(0x80008c, 0x80008d) AM_DEVWRITE8("ramdac", ramdac_device, mask_w, 0x00ff)
@@ -343,8 +343,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( fstation_mem, AS_PROGRAM, 16, adp_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
- AM_RANGE(0x800080, 0x800081) AM_DEVREADWRITE("acrtc", hd63484_device, status_r, address_w)
- AM_RANGE(0x800082, 0x800083) AM_DEVREADWRITE("acrtc", hd63484_device, data_r, data_w)
+ AM_RANGE(0x800080, 0x800081) AM_DEVREADWRITE("acrtc", hd63484_device, status16_r, address16_w)
+ AM_RANGE(0x800082, 0x800083) AM_DEVREADWRITE("acrtc", hd63484_device, data16_r, data16_w)
AM_RANGE(0x800100, 0x800101) AM_READWRITE(input_r, input_w)
AM_RANGE(0x800140, 0x800143) AM_DEVREADWRITE8("aysnd", ay8910_device, data_r, address_data_w, 0x00ff) //18b too
AM_RANGE(0x800180, 0x80019f) AM_DEVREADWRITE8("duart", mc68681_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/aerofgt.cpp b/src/mame/drivers/aerofgt.cpp
index ddec7123de2..a1936cfe3ec 100644
--- a/src/mame/drivers/aerofgt.cpp
+++ b/src/mame/drivers/aerofgt.cpp
@@ -135,7 +135,7 @@ static ADDRESS_MAP_START( pspikes_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xff8000, 0xff8fff) AM_RAM_WRITE(aerofgt_bg1videoram_w) AM_SHARE("bg1videoram")
AM_RANGE(0xffc000, 0xffc3ff) AM_WRITEONLY AM_SHARE("spriteram3")
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_SHARE("rasterram") /* bg1 scroll registers */
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE8(pspikes_palette_bank_w, 0x00ff)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE8(pspikes_gfxbank_w, 0x00ff)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg1scrolly_w)
@@ -152,7 +152,7 @@ static ADDRESS_MAP_START( pspikesb_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xffc000, 0xffcbff) AM_RAM AM_SHARE("spriteram3")
AM_RANGE(0xffd200, 0xffd201) AM_WRITE(pspikesb_gfxbank_w)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_SHARE("rasterram") /* bg1 scroll registers */
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0")
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1")
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg1scrolly_w)
@@ -173,7 +173,7 @@ static ADDRESS_MAP_START( spikes91_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xffc000, 0xffcfff) AM_RAM AM_SHARE("spriteram3")
//AM_RANGE(0xffd200, 0xffd201) AM_WRITE(pspikesb_gfxbank_w)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_SHARE("rasterram") /* bg1 scroll registers */
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0")
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE8(pspikes_gfxbank_w, 0x00ff)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg1scrolly_w)
@@ -188,7 +188,7 @@ static ADDRESS_MAP_START( pspikesc_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xff8000, 0xff8fff) AM_RAM_WRITE(aerofgt_bg1videoram_w) AM_SHARE("bg1videoram")
AM_RANGE(0xffc000, 0xffcbff) AM_RAM AM_SHARE("spriteram3")
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_SHARE("rasterram") /* bg1 scroll registers */
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE8(pspikes_palette_bank_w, 0x00ff)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE8(pspikes_gfxbank_w, 0x00ff)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW")
@@ -204,7 +204,7 @@ static ADDRESS_MAP_START( kickball_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xff8000, 0xff8fff) AM_RAM_WRITE(aerofgt_bg1videoram_w) AM_SHARE("bg1videoram")
AM_RANGE(0xffc000, 0xffc3ff) AM_WRITEONLY AM_SHARE("spriteram3")
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_SHARE("rasterram") /* bg1 scroll registers */
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE8(pspikes_palette_bank_w, 0x00ff)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE8(kickball_gfxbank_w, 0x00ff)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg1scrolly_w)
@@ -222,7 +222,7 @@ static ADDRESS_MAP_START( karatblz_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x0c0000, 0x0cffff) AM_RAM /* work RAM */
AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM AM_SHARE("spriteram3")
- AM_RANGE(0x0fe000, 0x0fe7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0fe000, 0x0fe7ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0ff000, 0x0ff001) AM_READ_PORT("IN0") AM_WRITE8(spinlbrk_flip_screen_w, 0xff00)
AM_RANGE(0x0ff002, 0x0ff003) AM_READ_PORT("IN1") AM_WRITE8(karatblz_gfxbank_w, 0xff00)
AM_RANGE(0x0ff004, 0x0ff005) AM_READ_PORT("IN2")
@@ -244,7 +244,7 @@ static ADDRESS_MAP_START( karatblzbl_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x0c0000, 0x0cffff) AM_RAM /* work RAM */
AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM AM_SHARE("spriteram3")
- AM_RANGE(0x0fe000, 0x0fe7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0fe000, 0x0fe7ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0ff000, 0x0ff001) AM_READ_PORT("IN0") AM_WRITE8(spinlbrk_flip_screen_w, 0xff00)
AM_RANGE(0x0ff002, 0x0ff003) AM_READ_PORT("IN1") AM_WRITE8(karatblz_gfxbank_w, 0xff00)
AM_RANGE(0x0ff004, 0x0ff005) AM_READ_PORT("IN2")
@@ -263,7 +263,7 @@ static ADDRESS_MAP_START( spinlbrk_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xff8000, 0xffbfff) AM_RAM /* work RAM */
AM_RANGE(0xffc000, 0xffc7ff) AM_RAM AM_SHARE("spriteram3")
AM_RANGE(0xffd000, 0xffd1ff) AM_RAM AM_SHARE("rasterram") /* bg1 scroll registers */
- AM_RANGE(0xffe000, 0xffe7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xffe000, 0xffe7ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE8(spinlbrk_flip_screen_w, 0xff00)
AM_RANGE(0xfff000, 0xfff001) AM_WRITE8(spinlbrk_gfxbank_w, 0x00ff)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE(aerofgt_bg2scrollx_w)
@@ -285,7 +285,7 @@ static ADDRESS_MAP_START( turbofrc_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM AM_SHARE("spriteram3")
AM_RANGE(0x0fd000, 0x0fdfff) AM_RAM AM_SHARE("rasterram") /* bg1 scroll registers */
- AM_RANGE(0x0fe000, 0x0fe7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0fe000, 0x0fe7ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0ff000, 0x0ff001) AM_READ_PORT("IN0") AM_WRITE8(turbofrc_flip_screen_w, 0x00ff)
AM_RANGE(0x0ff002, 0x0ff003) AM_READ_PORT("IN1") AM_WRITE(aerofgt_bg1scrolly_w)
AM_RANGE(0x0ff004, 0x0ff005) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg2scrollx_w)
@@ -306,7 +306,7 @@ static ADDRESS_MAP_START( aerofgtb_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x0e4000, 0x0e7fff) AM_RAM AM_SHARE("spriteram2")
AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM AM_SHARE("spriteram3")
- AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0fe000, 0x0fe001) AM_READ_PORT("IN0") AM_WRITE8(turbofrc_flip_screen_w, 0x00ff)
AM_RANGE(0x0fe002, 0x0fe003) AM_READ_PORT("IN1") AM_WRITE(aerofgt_bg1scrolly_w)
AM_RANGE(0x0fe004, 0x0fe005) AM_READ_PORT("DSW1") AM_WRITE(aerofgt_bg2scrollx_w)
@@ -320,7 +320,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( aerofgt_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x1a0000, 0x1a07ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1a0000, 0x1a07ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x1b0000, 0x1b07ff) AM_RAM AM_SHARE("rasterram") /* used only for the scroll registers */
AM_RANGE(0x1b0800, 0x1b0801) AM_RAM /* tracks watchdog state */
AM_RANGE(0x1b0ff0, 0x1b0fff) AM_RAM /* stack area during boot */
@@ -345,7 +345,7 @@ static ADDRESS_MAP_START( aerfboot_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x0e4000, 0x0e7fff) AM_RAM AM_SHARE("spriteram2")
AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM //AM_SHARE("spriteram3")
- AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0fe000, 0x0fe001) AM_READ_PORT("IN0")
AM_RANGE(0x0fe002, 0x0fe003) AM_READ_PORT("IN1")
AM_RANGE(0x0fe004, 0x0fe005) AM_READ_PORT("DSW1")
@@ -373,7 +373,7 @@ static ADDRESS_MAP_START( aerfboo2_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0x0e4000, 0x0e7fff) AM_RAM AM_SHARE("spriteram2")
AM_RANGE(0x0f8000, 0x0fbfff) AM_RAM /* work RAM */
AM_RANGE(0x0fc000, 0x0fc7ff) AM_RAM AM_SHARE("spriteram3")
- AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0fd000, 0x0fd7ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0fe000, 0x0fe001) AM_READ_PORT("IN0")
AM_RANGE(0x0fe002, 0x0fe003) AM_READ_PORT("IN1")
AM_RANGE(0x0fe004, 0x0fe005) AM_READ_PORT("DSW1")
@@ -399,7 +399,7 @@ static ADDRESS_MAP_START( wbbc97_map, AS_PROGRAM, 16, aerofgt_state )
AM_RANGE(0xff8000, 0xff8fff) AM_RAM_WRITE(aerofgt_bg1videoram_w) AM_SHARE("bg1videoram")
AM_RANGE(0xffc000, 0xffc3ff) AM_WRITEONLY AM_SHARE("spriteram3")
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_SHARE("rasterram") /* bg1 scroll registers */
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE8(pspikes_palette_bank_w, 0x00ff)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE8(pspikes_gfxbank_w, 0x00ff)
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg1scrolly_w)
diff --git a/src/mame/drivers/airbustr.cpp b/src/mame/drivers/airbustr.cpp
index b3131de9eec..5a4fe2daaaf 100644
--- a/src/mame/drivers/airbustr.cpp
+++ b/src/mame/drivers/airbustr.cpp
@@ -328,7 +328,7 @@ static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 8, airbustr_state )
AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(colorram2_w) AM_SHARE("colorram2")
AM_RANGE(0xc800, 0xcbff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
- AM_RANGE(0xd000, 0xd5ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xd000, 0xd5ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xd600, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("share1")
diff --git a/src/mame/drivers/airraid.cpp b/src/mame/drivers/airraid.cpp
index 34792e164ce..9601fbde89d 100644
--- a/src/mame/drivers/airraid.cpp
+++ b/src/mame/drivers/airraid.cpp
@@ -253,8 +253,8 @@ static ADDRESS_MAP_START( airraid_map, AS_PROGRAM, 8, airraid_state )
AM_RANGE(0xc700, 0xc700) AM_WRITE(cshooter_c700_w)
// AM_RANGE(0xc801, 0xc801) AM_WRITE(cshooter_c801_w) // see notes
AM_RANGE(0xd000, 0xd7ff) AM_RAM_DEVWRITE("airraid_vid", airraid_video_device, txram_w) AM_SHARE("txram")
- AM_RANGE(0xd800, 0xd8ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0xda00, 0xdaff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0xd800, 0xd8ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0xda00, 0xdaff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0xdc00, 0xdc0f) AM_RAM_DEVWRITE("airraid_vid", airraid_video_device, vregs_w) AM_SHARE("vregs")
// AM_RANGE(0xdc10, 0xdc10) AM_RAM
AM_RANGE(0xdc11, 0xdc11) AM_WRITE(bank_w)
diff --git a/src/mame/drivers/ajax.cpp b/src/mame/drivers/ajax.cpp
index c08770286c6..09e167dbda2 100644
--- a/src/mame/drivers/ajax.cpp
+++ b/src/mame/drivers/ajax.cpp
@@ -27,7 +27,7 @@ static ADDRESS_MAP_START( ajax_main_map, AS_PROGRAM, 8, ajax_state )
AM_RANGE(0x0000, 0x01c0) AM_READWRITE(ls138_f10_r, ls138_f10_w) /* bankswitch + sound command + FIRQ command */
AM_RANGE(0x0800, 0x0807) AM_DEVREADWRITE("k051960", k051960_device, k051937_r, k051937_w) /* sprite control registers */
AM_RANGE(0x0c00, 0x0fff) AM_DEVREADWRITE("k051960", k051960_device, k051960_r, k051960_w) /* sprite RAM 2128SL at J7 */
- AM_RANGE(0x1000, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")/* palette */
+ AM_RANGE(0x1000, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")/* palette */
AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("share1") /* shared RAM with the 6809 */
AM_RANGE(0x4000, 0x5fff) AM_RAM /* RAM 6264L at K10 */
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("mainbank") /* banked ROM */
diff --git a/src/mame/drivers/albazg.cpp b/src/mame/drivers/albazg.cpp
index 494c5d98249..213bf80f11a 100644
--- a/src/mame/drivers/albazg.cpp
+++ b/src/mame/drivers/albazg.cpp
@@ -212,8 +212,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, albazg_state )
AM_RANGE(0xa7fc, 0xa7fc) AM_WRITE(prot_lock_w)
AM_RANGE(0xa7ff, 0xa7ff) AM_WRITE_PORT("EEPROMOUT")
AM_RANGE(0xaf80, 0xafff) AM_READWRITE(custom_ram_r, custom_ram_w) AM_SHARE("cus_ram")
- AM_RANGE(0xb000, 0xb07f) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0xb080, 0xb0ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0xb000, 0xb07f) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0xb080, 0xb0ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(yumefuda_vram_w) AM_SHARE("videoram")
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(yumefuda_cram_w) AM_SHARE("colorram")
AM_RANGE(0xe000, 0xffff) AM_RAM
diff --git a/src/mame/drivers/aliens.cpp b/src/mame/drivers/aliens.cpp
index 549ad51114e..cbfbaea5d78 100644
--- a/src/mame/drivers/aliens.cpp
+++ b/src/mame/drivers/aliens.cpp
@@ -102,7 +102,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( bank0000_map, AS_PROGRAM, 8, aliens_state )
AM_RANGE(0x0000, 0x03ff) AM_RAM
- AM_RANGE(0x0400, 0x07ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0400, 0x07ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( aliens_sound_map, AS_PROGRAM, 8, aliens_state )
diff --git a/src/mame/drivers/alpha68k.cpp b/src/mame/drivers/alpha68k.cpp
index b872577e873..daa8b833f40 100644
--- a/src/mame/drivers/alpha68k.cpp
+++ b/src/mame/drivers/alpha68k.cpp
@@ -680,7 +680,7 @@ static ADDRESS_MAP_START( alpha68k_II_map, AS_PROGRAM, 16, alpha68k_state )
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(alpha68k_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x200000, 0x207fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x300000, 0x3001ff) AM_READWRITE(alpha_II_trigger_r, alpha_microcontroller_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x800000, 0x83ffff) AM_ROMBANK("bank8")
ADDRESS_MAP_END
@@ -698,7 +698,7 @@ static ADDRESS_MAP_START( alpha68k_V_map, AS_PROGRAM, 16, alpha68k_state )
AM_RANGE(0x300000, 0x303fff) AM_READ(alpha_V_trigger_r)
AM_RANGE(0x300000, 0x3001ff) AM_WRITE(alpha_microcontroller_w)
AM_RANGE(0x303e00, 0x303fff) AM_WRITE(alpha_microcontroller_w) /* Gang Wars mirror */
- AM_RANGE(0x400000, 0x401fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x401fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x800000, 0x83ffff) AM_ROMBANK("bank8")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/amspdwy.cpp b/src/mame/drivers/amspdwy.cpp
index bfd8c133ac6..012ccfd5211 100644
--- a/src/mame/drivers/amspdwy.cpp
+++ b/src/mame/drivers/amspdwy.cpp
@@ -73,7 +73,7 @@ READ8_MEMBER(amspdwy_state::amspdwy_sound_r)
static ADDRESS_MAP_START( amspdwy_map, AS_PROGRAM, 8, amspdwy_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x801f) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x8000, 0x801f) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM_WRITE(amspdwy_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x9800, 0x9bff) AM_RAM_WRITE(amspdwy_colorram_w) AM_SHARE("colorram")
AM_RANGE(0x9c00, 0x9fff) AM_RAM // unused?
diff --git a/src/mame/drivers/angelkds.cpp b/src/mame/drivers/angelkds.cpp
index 16858a22253..e82b09d2fe6 100644
--- a/src/mame/drivers/angelkds.cpp
+++ b/src/mame/drivers/angelkds.cpp
@@ -173,8 +173,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, angelkds_state )
AM_RANGE(0xe400, 0xe7ff) AM_RAM_WRITE(angelkds_bgbotvideoram_w) AM_SHARE("bgbotvideoram") /* Bottom Half of Screen */
AM_RANGE(0xe800, 0xebff) AM_RAM_WRITE(angelkds_txvideoram_w) AM_SHARE("txvideoram")
AM_RANGE(0xec00, 0xecff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0xed00, 0xedff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0xee00, 0xeeff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0xed00, 0xedff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0xee00, 0xeeff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0xef00, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xf000) AM_WRITE(angelkds_bgtopbank_write)
AM_RANGE(0xf001, 0xf001) AM_WRITE(angelkds_bgtopscroll_write)
diff --git a/src/mame/drivers/aquarium.cpp b/src/mame/drivers/aquarium.cpp
index 3248b50264f..ba8f2cf66c7 100644
--- a/src/mame/drivers/aquarium.cpp
+++ b/src/mame/drivers/aquarium.cpp
@@ -105,7 +105,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, aquarium_state )
AM_RANGE(0xc01000, 0xc01fff) AM_RAM_WRITE(aquarium_bak_videoram_w) AM_SHARE("bak_videoram")
AM_RANGE(0xc02000, 0xc03fff) AM_RAM_WRITE(aquarium_txt_videoram_w) AM_SHARE("txt_videoram")
AM_RANGE(0xc80000, 0xc81fff) AM_DEVREADWRITE8("spritegen", excellent_spr_device, read, write, 0x00ff)
- AM_RANGE(0xd00000, 0xd00fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xd00000, 0xd00fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xd80014, 0xd8001f) AM_WRITEONLY AM_SHARE("scroll")
AM_RANGE(0xd80068, 0xd80069) AM_WRITENOP /* probably not used */
AM_RANGE(0xd80080, 0xd80081) AM_READ_PORT("DSW")
diff --git a/src/mame/drivers/arcadecl.cpp b/src/mame/drivers/arcadecl.cpp
index fa8188efe3b..faed251705b 100644
--- a/src/mame/drivers/arcadecl.cpp
+++ b/src/mame/drivers/arcadecl.cpp
@@ -149,7 +149,7 @@ WRITE16_MEMBER(arcadecl_state::latch_w)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, arcadecl_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_SHARE("bitmap")
- AM_RANGE(0x3c0000, 0x3c07ff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0xff00) AM_SHARE("palette")
+ AM_RANGE(0x3c0000, 0x3c07ff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0xff00) AM_SHARE("palette")
AM_RANGE(0x3e0000, 0x3e07ff) AM_RAM AM_SHARE("mob")
AM_RANGE(0x3e0800, 0x3effbf) AM_RAM
AM_RANGE(0x3effc0, 0x3effff) AM_RAM AM_SHARE("mob:slip")
@@ -162,7 +162,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, arcadecl_state )
AM_RANGE(0x640024, 0x640025) AM_READ_PORT("TRACKX1")
AM_RANGE(0x640026, 0x640027) AM_READ_PORT("TRACKY1")
AM_RANGE(0x640040, 0x64004f) AM_WRITE(latch_w)
- AM_RANGE(0x640060, 0x64006f) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0x640060, 0x64006f) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0x641000, 0x641fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
AM_RANGE(0x642000, 0x642001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0xff00)
AM_RANGE(0x646000, 0x646fff) AM_WRITE(scanline_int_ack_w)
diff --git a/src/mame/drivers/armedf.cpp b/src/mame/drivers/armedf.cpp
index e407a6995b5..94224001ec9 100644
--- a/src/mame/drivers/armedf.cpp
+++ b/src/mame/drivers/armedf.cpp
@@ -422,7 +422,7 @@ static ADDRESS_MAP_START( terraf_map, AS_PROGRAM, 16, armedf_state )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x0603ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x060400, 0x063fff) AM_RAM
- AM_RANGE(0x064000, 0x064fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x064000, 0x064fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8(nb1414m4_text_videoram_r,nb1414m4_text_videoram_w,0x00ff)
AM_RANGE(0x06a000, 0x06a9ff) AM_RAM
AM_RANGE(0x06c000, 0x06cfff) AM_RAM AM_SHARE("spr_pal_clut")
@@ -453,7 +453,7 @@ static ADDRESS_MAP_START( cclimbr2_map, AS_PROGRAM, 16, armedf_state )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x061000, 0x063fff) AM_RAM
- AM_RANGE(0x064000, 0x064fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x064000, 0x064fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8(nb1414m4_text_videoram_r,nb1414m4_text_videoram_w,0x00ff)
AM_RANGE(0x06a000, 0x06a9ff) AM_RAM
AM_RANGE(0x06c000, 0x06cfff) AM_RAM AM_SHARE("spr_pal_clut")
@@ -475,7 +475,7 @@ static ADDRESS_MAP_START( legion_map, AS_PROGRAM, 16, armedf_state )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x061000, 0x063fff) AM_RAM
- AM_RANGE(0x064000, 0x064fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x064000, 0x064fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8(nb1414m4_text_videoram_r,nb1414m4_text_videoram_w,0x00ff)
AM_RANGE(0x06a000, 0x06a9ff) AM_RAM
AM_RANGE(0x06c000, 0x06cfff) AM_RAM AM_SHARE("spr_pal_clut")
@@ -507,7 +507,7 @@ static ADDRESS_MAP_START( legionjb_map, AS_PROGRAM, 16, armedf_state )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x061000, 0x063fff) AM_RAM
- AM_RANGE(0x064000, 0x064fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x064000, 0x064fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8(armedf_text_videoram_r,armedf_text_videoram_w,0x00ff)
AM_RANGE(0x06a000, 0x06a9ff) AM_RAM
AM_RANGE(0x06c000, 0x06cfff) AM_RAM AM_SHARE("spr_pal_clut")
@@ -532,7 +532,7 @@ static ADDRESS_MAP_START( armedf_map, AS_PROGRAM, 16, armedf_state )
AM_RANGE(0x066000, 0x066fff) AM_RAM_WRITE(armedf_bg_videoram_w) AM_SHARE("bg_videoram")
AM_RANGE(0x067000, 0x067fff) AM_RAM_WRITE(armedf_fg_videoram_w) AM_SHARE("fg_videoram")
AM_RANGE(0x068000, 0x069fff) AM_READWRITE8(armedf_text_videoram_r,armedf_text_videoram_w,0x00ff)
- AM_RANGE(0x06a000, 0x06afff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x06a000, 0x06afff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x06b000, 0x06bfff) AM_RAM AM_SHARE("spr_pal_clut")
AM_RANGE(0x06c000, 0x06c001) AM_READ_PORT("P1")
AM_RANGE(0x06c002, 0x06c003) AM_READ_PORT("P2")
@@ -725,7 +725,7 @@ static ADDRESS_MAP_START( bigfghtr_map, AS_PROGRAM, 16, bigfghtr_state )
AM_RANGE(0x086000, 0x086fff) AM_RAM_WRITE(armedf_bg_videoram_w) AM_SHARE("bg_videoram")
AM_RANGE(0x087000, 0x087fff) AM_RAM_WRITE(armedf_fg_videoram_w) AM_SHARE("fg_videoram")
AM_RANGE(0x088000, 0x089fff) AM_READWRITE8(armedf_text_videoram_r,armedf_text_videoram_w,0x00ff)
- AM_RANGE(0x08a000, 0x08afff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x08a000, 0x08afff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x08b000, 0x08bfff) AM_RAM AM_SHARE("spr_pal_clut")
AM_RANGE(0x08c000, 0x08c001) AM_READ_PORT("P1")
AM_RANGE(0x08c002, 0x08c003) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/ashnojoe.cpp b/src/mame/drivers/ashnojoe.cpp
index 9022e064d72..02b2324fd44 100644
--- a/src/mame/drivers/ashnojoe.cpp
+++ b/src/mame/drivers/ashnojoe.cpp
@@ -100,7 +100,7 @@ static ADDRESS_MAP_START( ashnojoe_map, AS_PROGRAM, 16, ashnojoe_state )
AM_RANGE(0x046000, 0x046fff) AM_RAM_WRITE(ashnojoe_tileram6_w) AM_SHARE("tileram_6")
AM_RANGE(0x047000, 0x047fff) AM_RAM_WRITE(ashnojoe_tileram7_w) AM_SHARE("tileram_7")
AM_RANGE(0x048000, 0x048fff) AM_RAM_WRITE(ashnojoe_tileram_w) AM_SHARE("tileram")
- AM_RANGE(0x049000, 0x049fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x049000, 0x049fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x04a000, 0x04a001) AM_READ_PORT("P1")
AM_RANGE(0x04a002, 0x04a003) AM_READ_PORT("P2")
AM_RANGE(0x04a004, 0x04a005) AM_READ_PORT("DSW")
diff --git a/src/mame/drivers/asterix.cpp b/src/mame/drivers/asterix.cpp
index 4c836c6c51e..9d1da62fe81 100644
--- a/src/mame/drivers/asterix.cpp
+++ b/src/mame/drivers/asterix.cpp
@@ -174,7 +174,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, asterix_state )
AM_RANGE(0x180000, 0x1807ff) AM_DEVREADWRITE("k053244", k05324x_device, k053245_word_r, k053245_word_w)
AM_RANGE(0x180800, 0x180fff) AM_RAM // extra RAM, or mirror for the above?
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE("k053244", k05324x_device, k053244_word_r, k053244_word_w)
- AM_RANGE(0x280000, 0x280fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x280000, 0x280fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300000, 0x30001f) AM_DEVREADWRITE("k053244", k05324x_device, k053244_lsb_r, k053244_lsb_w)
AM_RANGE(0x380000, 0x380001) AM_READ_PORT("IN0")
AM_RANGE(0x380002, 0x380003) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/astrcorp.cpp b/src/mame/drivers/astrcorp.cpp
index ffc2e3803e4..9108e60b9ff 100644
--- a/src/mame/drivers/astrcorp.cpp
+++ b/src/mame/drivers/astrcorp.cpp
@@ -315,7 +315,7 @@ static ADDRESS_MAP_START( showhand_map, AS_PROGRAM, 16, astrocorp_state )
AM_RANGE( 0x058000, 0x058001 ) AM_WRITE(astrocorp_eeprom_w)
AM_RANGE( 0x05a000, 0x05a001 ) AM_WRITE(showhand_outputs_w)
AM_RANGE( 0x05e000, 0x05e001 ) AM_READ_PORT("EEPROMIN")
- AM_RANGE( 0x060000, 0x0601ff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE( 0x060000, 0x0601ff ) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE( 0x070000, 0x073fff ) AM_RAM AM_SHARE("nvram") // battery
AM_RANGE( 0x080000, 0x080001 ) AM_WRITE(astrocorp_sound_bank_w)
AM_RANGE( 0x0a0000, 0x0a0001 ) AM_WRITE(astrocorp_screen_enable_w)
@@ -324,7 +324,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( showhanc_map, AS_PROGRAM, 16, astrocorp_state )
AM_RANGE( 0x000000, 0x01ffff ) AM_ROM
- AM_RANGE( 0x060000, 0x0601ff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE( 0x060000, 0x0601ff ) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE( 0x070000, 0x070001 ) AM_WRITE(astrocorp_sound_bank_w)
AM_RANGE( 0x080000, 0x080fff ) AM_RAM AM_SHARE("spriteram")
AM_RANGE( 0x082000, 0x082001 ) AM_WRITE(astrocorp_draw_sprites_w)
@@ -345,7 +345,7 @@ static ADDRESS_MAP_START( skilldrp_map, AS_PROGRAM, 16, astrocorp_state )
AM_RANGE( 0x208000, 0x208001 ) AM_WRITE(astrocorp_eeprom_w)
AM_RANGE( 0x20a000, 0x20a001 ) AM_WRITE(skilldrp_outputs_w)
AM_RANGE( 0x20e000, 0x20e001 ) AM_READ_PORT("EEPROMIN")
- AM_RANGE( 0x380000, 0x3801ff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE( 0x380000, 0x3801ff ) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE( 0x400000, 0x400001 ) AM_WRITE(astrocorp_screen_enable_w)
AM_RANGE( 0x500000, 0x507fff ) AM_RAM AM_SHARE("nvram") // battery
AM_RANGE( 0x580000, 0x580001 ) AM_WRITE(skilldrp_sound_bank_w)
@@ -361,7 +361,7 @@ static ADDRESS_MAP_START( speeddrp_map, AS_PROGRAM, 16, astrocorp_state )
AM_RANGE( 0x388000, 0x388001 ) AM_WRITE(astrocorp_eeprom_w)
AM_RANGE( 0x38a000, 0x38a001 ) AM_WRITE(skilldrp_outputs_w)
AM_RANGE( 0x38e000, 0x38e001 ) AM_READ_PORT("EEPROMIN")
- AM_RANGE( 0x480000, 0x4801ff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE( 0x480000, 0x4801ff ) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE( 0x500000, 0x500001 ) AM_WRITE(astrocorp_screen_enable_w)
AM_RANGE( 0x580000, 0x580001 ) AM_WRITE(skilldrp_sound_bank_w)
AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/atarig1.cpp b/src/mame/drivers/atarig1.cpp
index 0e0d029ad9e..eb8dec46526 100644
--- a/src/mame/drivers/atarig1.cpp
+++ b/src/mame/drivers/atarig1.cpp
@@ -196,7 +196,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarig1_state )
AM_RANGE(0x040000, 0x077fff) AM_ROM
AM_RANGE(0x078000, 0x07ffff) AM_ROM /* hydra slapstic goes here */
AM_RANGE(0xf80000, 0xf80001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
- AM_RANGE(0xf88000, 0xf8ffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0xf88000, 0xf8ffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0xf90000, 0xf90001) AM_DEVWRITE8("jsa", atari_jsa_ii_device, main_command_w, 0xff00)
AM_RANGE(0xf98000, 0xf98001) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w)
AM_RANGE(0xfa0000, 0xfa0001) AM_DEVWRITE8("rle", atari_rle_objects_device, control_write, 0x00ff)
@@ -206,11 +206,11 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarig1_state )
AM_RANGE(0xfd0000, 0xfd0001) AM_DEVREAD8("jsa", atari_jsa_ii_device, main_response_r, 0xff00)
AM_RANGE(0xfd8000, 0xfdffff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
/* AM_RANGE(0xfe0000, 0xfe7fff) AM_READ(from_r)*/
- AM_RANGE(0xfe8000, 0xfe89ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xfe8000, 0xfe89ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xff0000, 0xff0fff) AM_RAM AM_SHARE("rle")
AM_RANGE(0xff2000, 0xff2001) AM_WRITE(mo_command_w) AM_SHARE("mo_command")
- AM_RANGE(0xff4000, 0xff5fff) AM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
- AM_RANGE(0xff6000, 0xff6fff) AM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha")
+ AM_RANGE(0xff4000, 0xff5fff) AM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
+ AM_RANGE(0xff6000, 0xff6fff) AM_DEVWRITE("alpha", tilemap_device, write16) AM_SHARE("alpha")
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/atarig42.cpp b/src/mame/drivers/atarig42.cpp
index a3b2a4690d7..612bd72e9ce 100644
--- a/src/mame/drivers/atarig42.cpp
+++ b/src/mame/drivers/atarig42.cpp
@@ -330,7 +330,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarig42_state )
AM_RANGE(0xe00030, 0xe00031) AM_DEVREAD8("jsa", atari_jsa_iii_device, main_response_r, 0x00ff)
AM_RANGE(0xe00040, 0xe00041) AM_DEVWRITE8("jsa", atari_jsa_iii_device, main_command_w, 0x00ff)
AM_RANGE(0xe00050, 0xe00051) AM_WRITE(io_latch_w)
- AM_RANGE(0xe00060, 0xe00061) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0xe00060, 0xe00061) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0xe03000, 0xe03001) AM_WRITE(video_int_ack_w)
AM_RANGE(0xe03800, 0xe03801) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0xe80000, 0xe80fff) AM_RAM
@@ -338,10 +338,10 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarig42_state )
AM_RANGE(0xf60000, 0xf60001) AM_DEVREAD("asic65", asic65_device, read)
AM_RANGE(0xf80000, 0xf80003) AM_DEVWRITE("asic65", asic65_device, data_w)
AM_RANGE(0xfa0000, 0xfa0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
- AM_RANGE(0xfc0000, 0xfc0fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xfc0000, 0xfc0fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xff0000, 0xff0fff) AM_RAM AM_SHARE("rle")
- AM_RANGE(0xff2000, 0xff5fff) AM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
- AM_RANGE(0xff6000, 0xff6fff) AM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha")
+ AM_RANGE(0xff2000, 0xff5fff) AM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
+ AM_RANGE(0xff6000, 0xff6fff) AM_DEVWRITE("alpha", tilemap_device, write16) AM_SHARE("alpha")
AM_RANGE(0xff7000, 0xff7001) AM_WRITE(mo_command_w) AM_SHARE("mo_command")
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/atarigt.cpp b/src/mame/drivers/atarigt.cpp
index 3227c8a6d73..a869b061095 100644
--- a/src/mame/drivers/atarigt.cpp
+++ b/src/mame/drivers/atarigt.cpp
@@ -602,9 +602,9 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, atarigt_state )
AM_RANGE(0xd00014, 0xd00017) AM_READ(analog_port0_r)
AM_RANGE(0xd0001c, 0xd0001f) AM_READ(analog_port1_r)
AM_RANGE(0xd20000, 0xd20fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0xff00ff00)
- AM_RANGE(0xd40000, 0xd4ffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
- AM_RANGE(0xd72000, 0xd75fff) AM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
- AM_RANGE(0xd76000, 0xd76fff) AM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha")
+ AM_RANGE(0xd40000, 0xd4ffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write32)
+ AM_RANGE(0xd72000, 0xd75fff) AM_DEVWRITE("playfield", tilemap_device, write32) AM_SHARE("playfield")
+ AM_RANGE(0xd76000, 0xd76fff) AM_DEVWRITE("alpha", tilemap_device, write32) AM_SHARE("alpha")
AM_RANGE(0xd78000, 0xd78fff) AM_RAM AM_SHARE("rle")
AM_RANGE(0xd7a200, 0xd7a203) AM_WRITE(mo_command_w) AM_SHARE("mo_command")
AM_RANGE(0xd70000, 0xd7ffff) AM_RAM
@@ -1301,7 +1301,7 @@ WRITE32_MEMBER(atarigt_state::tmek_pf_w)
if (pc == 0x25834 || pc == 0x25860)
logerror("%06X:PFW@%06X = %08X & %08X (src=%06X)\n", m_maincpu->pc(), 0xd72000 + offset*4, data, mem_mask, (uint32_t)m_maincpu->state_int(M68K_A3) - 2);
- m_playfield_tilemap->write(space, offset, data, mem_mask);
+ m_playfield_tilemap->write32(space, offset, data, mem_mask);
}
DRIVER_INIT_MEMBER(atarigt_state,tmek)
diff --git a/src/mame/drivers/atarigx2.cpp b/src/mame/drivers/atarigx2.cpp
index 716358f38a3..a580f6efabb 100644
--- a/src/mame/drivers/atarigx2.cpp
+++ b/src/mame/drivers/atarigx2.cpp
@@ -1202,13 +1202,13 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, atarigx2_state )
AM_RANGE(0xc80000, 0xc80fff) AM_RAM
AM_RANGE(0xd00000, 0xd1ffff) AM_READ(a2d_data_r)
AM_RANGE(0xd20000, 0xd20fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0xff00ff00)
- AM_RANGE(0xd40000, 0xd40fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0xd72000, 0xd75fff) AM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
- AM_RANGE(0xd76000, 0xd76fff) AM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha")
+ AM_RANGE(0xd40000, 0xd40fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
+ AM_RANGE(0xd72000, 0xd75fff) AM_DEVWRITE("playfield", tilemap_device, write32) AM_SHARE("playfield")
+ AM_RANGE(0xd76000, 0xd76fff) AM_DEVWRITE("alpha", tilemap_device, write32) AM_SHARE("alpha")
AM_RANGE(0xd78000, 0xd78fff) AM_RAM AM_SHARE("rle")
AM_RANGE(0xd7a200, 0xd7a203) AM_WRITE(mo_command_w) AM_SHARE("mo_command")
AM_RANGE(0xd70000, 0xd7ffff) AM_RAM
- AM_RANGE(0xd80000, 0xd9ffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0xd80000, 0xd9ffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write32)
AM_RANGE(0xe06000, 0xe06003) AM_DEVWRITE8("jsa", atari_jsa_iiis_device, main_command_w, 0xff000000)
AM_RANGE(0xe08000, 0xe08003) AM_WRITE(latch_w)
AM_RANGE(0xe0c000, 0xe0c003) AM_WRITE16(video_int_ack_w, 0xffffffff)
diff --git a/src/mame/drivers/atarisy1.cpp b/src/mame/drivers/atarisy1.cpp
index 21034a7a5bc..6541e19297f 100644
--- a/src/mame/drivers/atarisy1.cpp
+++ b/src/mame/drivers/atarisy1.cpp
@@ -456,12 +456,12 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarisy1_state )
AM_RANGE(0x860000, 0x860001) AM_WRITE(atarisy1_bankselect_w) AM_SHARE("bankselect")
AM_RANGE(0x880000, 0x880001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x8a0000, 0x8a0001) AM_WRITE(video_int_ack_w)
- AM_RANGE(0x8c0000, 0x8c0001) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0x8c0000, 0x8c0001) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0x900000, 0x9fffff) AM_RAM
- AM_RANGE(0xa00000, 0xa01fff) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
+ AM_RANGE(0xa00000, 0xa01fff) AM_RAM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
AM_RANGE(0xa02000, 0xa02fff) AM_RAM_WRITE(atarisy1_spriteram_w) AM_SHARE("mob")
- AM_RANGE(0xa03000, 0xa03fff) AM_RAM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha")
- AM_RANGE(0xb00000, 0xb007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xa03000, 0xa03fff) AM_RAM_DEVWRITE("alpha", tilemap_device, write16) AM_SHARE("alpha")
+ AM_RANGE(0xb00000, 0xb007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xf00000, 0xf00fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
AM_RANGE(0xf20000, 0xf20007) AM_READ(trakball_r)
AM_RANGE(0xf40000, 0xf4001f) AM_READWRITE(joystick_r, joystick_w)
diff --git a/src/mame/drivers/atarisy2.cpp b/src/mame/drivers/atarisy2.cpp
index a7330a98126..630d5b2857c 100644
--- a/src/mame/drivers/atarisy2.cpp
+++ b/src/mame/drivers/atarisy2.cpp
@@ -755,7 +755,7 @@ WRITE8_MEMBER(atarisy2_state::coincount_w)
/* full memory map derived from schematics */
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarisy2_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM
- AM_RANGE(0x1000, 0x11ff) AM_MIRROR(0x0200) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1000, 0x11ff) AM_MIRROR(0x0200) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x1400, 0x1403) AM_MIRROR(0x007c) AM_READWRITE(adc_r, bankselect_w)
AM_RANGE(0x1480, 0x1487) AM_MIRROR(0x0078) AM_WRITE(adc_strobe_w)
AM_RANGE(0x1580, 0x1581) AM_MIRROR(0x001e) AM_WRITE(int0_ack_w)
diff --git a/src/mame/drivers/atetris.cpp b/src/mame/drivers/atetris.cpp
index 41d3b3b4b07..219419c0605 100644
--- a/src/mame/drivers/atetris.cpp
+++ b/src/mame/drivers/atetris.cpp
@@ -196,7 +196,7 @@ WRITE8_MEMBER(atetris_state::nvram_enable_w)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, atetris_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x2000, 0x20ff) AM_MIRROR(0x0300) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x2000, 0x20ff) AM_MIRROR(0x0300) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x2400, 0x25ff) AM_MIRROR(0x0200) AM_RAM_WRITE(nvram_w) AM_SHARE("nvram")
AM_RANGE(0x2800, 0x280f) AM_MIRROR(0x03e0) AM_DEVREADWRITE("pokey1", pokey_device, read, write)
AM_RANGE(0x2810, 0x281f) AM_MIRROR(0x03e0) AM_DEVREADWRITE("pokey2", pokey_device, read, write)
@@ -213,7 +213,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( atetrisb2_map, AS_PROGRAM, 8, atetris_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x2000, 0x20ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x2000, 0x20ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x2400, 0x25ff) AM_RAM_WRITE(nvram_w) AM_SHARE("nvram")
AM_RANGE(0x2802, 0x2802) AM_DEVWRITE("sn1", sn76496_device, write)
AM_RANGE(0x2804, 0x2804) AM_DEVWRITE("sn2", sn76496_device, write)
@@ -233,7 +233,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( atetrisb3_map, AS_PROGRAM, 8, atetris_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x2000, 0x20ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x2000, 0x20ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x2400, 0x25ff) AM_RAM_WRITE(nvram_w) AM_SHARE("nvram")
//AM_RANGE(0x2802, 0x2802) AM_DEVWRITE("sn1", sn76489_device, write)
//AM_RANGE(0x2804, 0x2804) AM_DEVWRITE("sn2", sn76489_device, write)
diff --git a/src/mame/drivers/badlands.cpp b/src/mame/drivers/badlands.cpp
index b3a0ceca63b..8623ad78c3f 100644
--- a/src/mame/drivers/badlands.cpp
+++ b/src/mame/drivers/badlands.cpp
@@ -389,9 +389,9 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, badlands_state )
AM_RANGE(0xfe8000, 0xfe9fff) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0xff00)
AM_RANGE(0xfea000, 0xfebfff) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0xff00)
AM_RANGE(0xfec000, 0xfedfff) AM_WRITE(badlands_pf_bank_w)
- AM_RANGE(0xfee000, 0xfeffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
- AM_RANGE(0xffc000, 0xffc3ff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0xff00) AM_SHARE("palette")
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
+ AM_RANGE(0xfee000, 0xfeffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
+ AM_RANGE(0xffc000, 0xffc3ff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0xff00) AM_SHARE("palette")
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
AM_RANGE(0xfff000, 0xfff1ff) AM_RAM AM_SHARE("mob")
AM_RANGE(0xfff200, 0xffffff) AM_RAM
ADDRESS_MAP_END
@@ -671,10 +671,10 @@ static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 16, badlands_state )
AM_RANGE(0xfe4004, 0xfe4005) AM_READ_PORT("P1")
AM_RANGE(0xfe4006, 0xfe4007) AM_READ_PORT("P2")
AM_RANGE(0xfe4008, 0xfe4009) AM_WRITE(badlands_pf_bank_w)
- AM_RANGE(0xfe400c, 0xfe400d) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0xfe400c, 0xfe400d) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
- AM_RANGE(0xffc000, 0xffc3ff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0xff00) AM_SHARE("palette")
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
+ AM_RANGE(0xffc000, 0xffc3ff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0xff00) AM_SHARE("palette")
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
// TODO: actually sprites are at 0xfff600-0x7ff ?
AM_RANGE(0xfff000, 0xfff1ff) AM_RAM AM_SHARE("mob")
AM_RANGE(0xfff200, 0xffffff) AM_RAM
diff --git a/src/mame/drivers/batman.cpp b/src/mame/drivers/batman.cpp
index 2b530fdfbe9..be29dec0e1d 100644
--- a/src/mame/drivers/batman.cpp
+++ b/src/mame/drivers/batman.cpp
@@ -107,9 +107,9 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, batman_state )
AM_RANGE(0x260030, 0x260031) AM_MIRROR(0x11ff8e) AM_DEVREAD8("jsa", atari_jsa_iii_device, main_response_r, 0x00ff)
AM_RANGE(0x260040, 0x260041) AM_MIRROR(0x11ff8e) AM_DEVWRITE8("jsa", atari_jsa_iii_device, main_command_w, 0x00ff)
AM_RANGE(0x260050, 0x260051) AM_MIRROR(0x11ff8e) AM_WRITE(latch_w)
- AM_RANGE(0x260060, 0x260061) AM_MIRROR(0x11ff8e) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0x260060, 0x260061) AM_MIRROR(0x11ff8e) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0x2a0000, 0x2a0001) AM_MIRROR(0x11fffe) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
- AM_RANGE(0x2e0000, 0x2e0fff) AM_MIRROR(0x100000) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x2e0000, 0x2e0fff) AM_MIRROR(0x100000) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x2effc0, 0x2effff) AM_MIRROR(0x100000) AM_DEVREADWRITE("vad", atari_vad_device, control_read, control_write)
AM_RANGE(0x2f0000, 0x2f1fff) AM_MIRROR(0x100000) AM_DEVWRITE("vad", atari_vad_device, playfield2_latched_msb_w) AM_SHARE("vad:playfield2")
AM_RANGE(0x2f2000, 0x2f3fff) AM_MIRROR(0x100000) AM_DEVWRITE("vad", atari_vad_device, playfield_latched_lsb_w) AM_SHARE("vad:playfield")
diff --git a/src/mame/drivers/battlnts.cpp b/src/mame/drivers/battlnts.cpp
index b5b424aebdc..7e63ff4e74d 100644
--- a/src/mame/drivers/battlnts.cpp
+++ b/src/mame/drivers/battlnts.cpp
@@ -65,7 +65,7 @@ static ADDRESS_MAP_START( battlnts_map, AS_PROGRAM, 8, battlnts_state )
AM_RANGE(0x0000, 0x1fff) AM_DEVREADWRITE("k007342", k007342_device, read, write) /* Color RAM + Video RAM */
AM_RANGE(0x2000, 0x21ff) AM_DEVREADWRITE("k007420", k007420_device, read, write) /* Sprite RAM */
AM_RANGE(0x2200, 0x23ff) AM_DEVREADWRITE("k007342", k007342_device, scroll_r, scroll_w) /* Scroll RAM */
- AM_RANGE(0x2400, 0x24ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")/* palette */
+ AM_RANGE(0x2400, 0x24ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")/* palette */
AM_RANGE(0x2600, 0x2607) AM_DEVWRITE("k007342", k007342_device, vreg_w) /* Video Registers */
AM_RANGE(0x2e00, 0x2e00) AM_READ_PORT("DSW1")
AM_RANGE(0x2e01, 0x2e01) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/bbusters.cpp b/src/mame/drivers/bbusters.cpp
index 1e62c500d71..9dd9e2edc5e 100644
--- a/src/mame/drivers/bbusters.cpp
+++ b/src/mame/drivers/bbusters.cpp
@@ -337,7 +337,7 @@ static ADDRESS_MAP_START( bbusters_map, AS_PROGRAM, 16, bbusters_state )
AM_RANGE(0x0b4000, 0x0b5fff) AM_RAM /* service mode */
AM_RANGE(0x0b8000, 0x0b8003) AM_WRITEONLY AM_SHARE("pf1_scroll_data")
AM_RANGE(0x0b8008, 0x0b800b) AM_WRITEONLY AM_SHARE("pf2_scroll_data")
- AM_RANGE(0x0d0000, 0x0d0fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0d0000, 0x0d0fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0e0000, 0x0e0001) AM_READ_PORT("COINS") /* Coins */
AM_RANGE(0x0e0002, 0x0e0003) AM_READ_PORT("IN0") /* Player 1 & 2 */
AM_RANGE(0x0e0004, 0x0e0005) AM_READ_PORT("IN1") /* Player 3 */
@@ -364,7 +364,7 @@ static ADDRESS_MAP_START( mechatt_map, AS_PROGRAM, 16, bbusters_state )
AM_RANGE(0x0b8000, 0x0b8003) AM_WRITEONLY AM_SHARE("pf1_scroll_data")
AM_RANGE(0x0c0000, 0x0c3fff) AM_RAM_WRITE(pf2_w) AM_SHARE("pf2_data")
AM_RANGE(0x0c8000, 0x0c8003) AM_WRITEONLY AM_SHARE("pf2_scroll_data")
- AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0e0000, 0x0e0001) AM_READ_PORT("IN0")
AM_RANGE(0x0e0002, 0x0e0003) AM_READ_PORT("DSW1")
AM_RANGE(0x0e0004, 0x0e0007) AM_READ(mechatt_gun_r)
diff --git a/src/mame/drivers/beathead.cpp b/src/mame/drivers/beathead.cpp
index 735a5d04b03..e2c951aa84e 100644
--- a/src/mame/drivers/beathead.cpp
+++ b/src/mame/drivers/beathead.cpp
@@ -291,7 +291,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, beathead_state)
AM_RANGE(0x41000500, 0x41000503) AM_WRITE(eeprom_enable_w)
AM_RANGE(0x41000600, 0x41000603) AM_WRITE(finescroll_w)
AM_RANGE(0x41000700, 0x41000703) AM_DEVWRITE("watchdog", watchdog_timer_device, reset32_w)
- AM_RANGE(0x42000000, 0x4201ffff) AM_DEVREADWRITE16("palette", palette_device, read, write, 0x0000ffff) AM_SHARE("palette")
+ AM_RANGE(0x42000000, 0x4201ffff) AM_DEVREADWRITE16("palette", palette_device, read16, write16, 0x0000ffff) AM_SHARE("palette")
AM_RANGE(0x43000000, 0x43000007) AM_READWRITE(hsync_ram_r, hsync_ram_w)
AM_RANGE(0x8df80000, 0x8df80003) AM_READNOP /* noisy x4 during scanline int */
AM_RANGE(0x8f380000, 0x8f3fffff) AM_WRITE(vram_latch_w)
diff --git a/src/mame/drivers/bestleag.cpp b/src/mame/drivers/bestleag.cpp
index 2fac42cfd95..a1e3ad45df1 100644
--- a/src/mame/drivers/bestleag.cpp
+++ b/src/mame/drivers/bestleag.cpp
@@ -256,7 +256,7 @@ static ADDRESS_MAP_START( bestleag_map, AS_PROGRAM, 16, bestleag_state )
AM_RANGE(0x0e8000, 0x0ebfff) AM_RAM_WRITE(fgram_w) AM_SHARE("fgram")
AM_RANGE(0x0f0000, 0x0f3fff) AM_RAM_WRITE(txram_w) AM_SHARE("txram")
AM_RANGE(0x0f8000, 0x0f800b) AM_RAM AM_SHARE("vregs")
- AM_RANGE(0x100000, 0x100fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x100000, 0x100fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x200000, 0x200fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x300010, 0x300011) AM_READ_PORT("SYSTEM")
AM_RANGE(0x300012, 0x300013) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/bigstrkb.cpp b/src/mame/drivers/bigstrkb.cpp
index e4837e1a0c3..abff7d960d9 100644
--- a/src/mame/drivers/bigstrkb.cpp
+++ b/src/mame/drivers/bigstrkb.cpp
@@ -58,7 +58,7 @@ static ADDRESS_MAP_START( bigstrkb_map, AS_PROGRAM, 16, bigstrkb_state )
AM_RANGE(0x0ec000, 0x0effff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x0f0000, 0x0f7fff) AM_RAM
- AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0f8800, 0x0fffff) AM_RAM
AM_RANGE(0x1f0000, 0x1f7fff) AM_RAM
diff --git a/src/mame/drivers/bingor.cpp b/src/mame/drivers/bingor.cpp
index f229082cb1c..4e14f5a99a5 100644
--- a/src/mame/drivers/bingor.cpp
+++ b/src/mame/drivers/bingor.cpp
@@ -596,7 +596,7 @@ uint32_t bingor_state::screen_update_bingor(screen_device &screen, bitmap_rgb32
static ADDRESS_MAP_START( bingor_map, AS_PROGRAM, 16, bingor_state )
AM_RANGE(0x00000, 0x0ffff) AM_RAM
AM_RANGE(0x90000, 0x9ffff) AM_ROM AM_REGION("gfx", 0)
- AM_RANGE(0xa0300, 0xa031f) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") //wrong
+ AM_RANGE(0xa0300, 0xa031f) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") //wrong
AM_RANGE(0xa0000, 0xaffff) AM_RAM AM_SHARE("blit_ram")
AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("boot_prg", 0)
ADDRESS_MAP_END
@@ -715,7 +715,7 @@ MACHINE_CONFIG_END
static ADDRESS_MAP_START( vip2000_map, AS_PROGRAM, 16, bingor_state )
AM_RANGE(0x00000, 0x0ffff) AM_RAM
- AM_RANGE(0x40300, 0x4031f) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") //wrong
+ AM_RANGE(0x40300, 0x4031f) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") //wrong
AM_RANGE(0x40000, 0x4ffff) AM_RAM AM_SHARE("blit_ram")
//AM_RANGE(0x50000, 0x5ffff) AM_ROM AM_REGION("gfx", 0)
AM_RANGE(0x60000, 0x60003) AM_DEVWRITE8("ymz", ymz284_device, address_data_w, 0x00ff)
diff --git a/src/mame/drivers/bionicc.cpp b/src/mame/drivers/bionicc.cpp
index 06bf2ed241a..3545d007eac 100644
--- a/src/mame/drivers/bionicc.cpp
+++ b/src/mame/drivers/bionicc.cpp
@@ -176,7 +176,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, bionicc_state )
AM_RANGE(0xfec000, 0xfecfff) AM_RAM_WRITE(txvideoram_w) AM_SHARE("txvideoram")
AM_RANGE(0xff0000, 0xff3fff) AM_RAM_WRITE(fgvideoram_w) AM_SHARE("fgvideoram")
AM_RANGE(0xff4000, 0xff7fff) AM_RAM_WRITE(bgvideoram_w) AM_SHARE("bgvideoram")
- AM_RANGE(0xff8000, 0xff87ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xff8000, 0xff87ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xffc000, 0xfffff7) AM_RAM /* working RAM */
AM_RANGE(0xfffff8, 0xfffff9) AM_READWRITE(hacked_soundcommand_r, hacked_soundcommand_w) /* hack */
AM_RANGE(0xfffffa, 0xffffff) AM_READWRITE(hacked_controls_r, hacked_controls_w) /* hack */
diff --git a/src/mame/drivers/bishi.cpp b/src/mame/drivers/bishi.cpp
index 031ff312cd7..bb940bc6fcf 100644
--- a/src/mame/drivers/bishi.cpp
+++ b/src/mame/drivers/bishi.cpp
@@ -159,7 +159,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, bishi_state )
AM_RANGE(0x870000, 0x8700ff) AM_DEVWRITE("k055555", k055555_device, K055555_word_w) // PCU2
AM_RANGE(0x880000, 0x880003) AM_DEVREADWRITE8("ymz", ymz280b_device, read, write, 0xff00)
AM_RANGE(0xa00000, 0xa01fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) // Graphic planes
- AM_RANGE(0xb00000, 0xb03fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xb00000, 0xb03fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xb04000, 0xb047ff) AM_READ(bishi_mirror_r) // bug in the ram/rom test?
AM_RANGE(0xc00000, 0xc01fff) AM_READ(bishi_K056832_rom_r)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/blackt96.cpp b/src/mame/drivers/blackt96.cpp
index bd45cdc0971..5d0954db33a 100644
--- a/src/mame/drivers/blackt96.cpp
+++ b/src/mame/drivers/blackt96.cpp
@@ -249,7 +249,7 @@ static ADDRESS_MAP_START( blackt96_map, AS_PROGRAM, 16, blackt96_state )
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(tx_vram_w) AM_SHARE("tilemapram") // text tilemap
AM_RANGE(0x200000, 0x207fff) AM_DEVREADWRITE("sprites", snk68_spr_device, spriteram_r, spriteram_w) AM_SHARE("spriteram") // only partially populated
- AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xc00000, 0xc03fff) AM_RAM // main ram
ADDRESS_MAP_END
diff --git a/src/mame/drivers/blktiger.cpp b/src/mame/drivers/blktiger.cpp
index 6d3ca3fd352..1f66b74e86a 100644
--- a/src/mame/drivers/blktiger.cpp
+++ b/src/mame/drivers/blktiger.cpp
@@ -79,8 +79,8 @@ static ADDRESS_MAP_START( blktiger_map, AS_PROGRAM, 8, blktiger_state )
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_READWRITE(blktiger_bgvideoram_r, blktiger_bgvideoram_w)
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(blktiger_txvideoram_w) AM_SHARE("txvideoram")
- AM_RANGE(0xd800, 0xdbff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0xdc00, 0xdfff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0xd800, 0xdbff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0xdc00, 0xdfff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0xe000, 0xfdff) AM_RAM
AM_RANGE(0xfe00, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/blmbycar.cpp b/src/mame/drivers/blmbycar.cpp
index 30eef2a2f09..f6d774bcc67 100644
--- a/src/mame/drivers/blmbycar.cpp
+++ b/src/mame/drivers/blmbycar.cpp
@@ -109,7 +109,7 @@ static ADDRESS_MAP_START( common_map, AS_PROGRAM, 16, blmbycar_state )
AM_RANGE(0x108000, 0x10bfff) AM_WRITEONLY // ???
AM_RANGE(0x10c000, 0x10c003) AM_WRITEONLY AM_SHARE("scroll_1") // Scroll 1
AM_RANGE(0x10c004, 0x10c007) AM_WRITEONLY AM_SHARE("scroll_0") // Scroll 0
- AM_RANGE(0x200000, 0x2005ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_MIRROR(0x4000) // Palette
+ AM_RANGE(0x200000, 0x2005ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") AM_MIRROR(0x4000) // Palette
AM_RANGE(0x200600, 0x203fff) AM_RAM AM_MIRROR(0x4000)
AM_RANGE(0x440000, 0x441fff) AM_RAM
AM_RANGE(0x444000, 0x445fff) AM_WRITEONLY AM_SHARE("spriteram")// Sprites (size?)
diff --git a/src/mame/drivers/blockhl.cpp b/src/mame/drivers/blockhl.cpp
index 5b557b7d91a..6afb1bcd717 100644
--- a/src/mame/drivers/blockhl.cpp
+++ b/src/mame/drivers/blockhl.cpp
@@ -93,7 +93,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, blockhl_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( bank5800_map, AS_PROGRAM, 8, blockhl_state )
- AM_RANGE(0x0000, 0x07ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0000, 0x07ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x0800, 0x0fff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bloodbro.cpp b/src/mame/drivers/bloodbro.cpp
index 7041bd2a855..e7c1b1a5307 100644
--- a/src/mame/drivers/bloodbro.cpp
+++ b/src/mame/drivers/bloodbro.cpp
@@ -159,7 +159,7 @@ static ADDRESS_MAP_START( common_map, AS_PROGRAM, 16, bloodbro_state )
AM_RANGE(0x08d400, 0x08d7ff) AM_RAM
AM_RANGE(0x08d800, 0x08dfff) AM_RAM_WRITE(txvideoram_w) AM_SHARE("txvideoram")
AM_RANGE(0x08e000, 0x08e7ff) AM_RAM
- AM_RANGE(0x08e800, 0x08f7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x08e800, 0x08f7ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x08f800, 0x08ffff) AM_RAM
AM_RANGE(0x0a0000, 0x0a000d) AM_DEVREADWRITE8("seibu_sound", seibu_sound_device, main_r, main_w, 0x00ff)
// AM_RANGE(0x0c0000, 0x0c007f) AM_RAM AM_SHARE("scroll")
@@ -205,7 +205,7 @@ static ADDRESS_MAP_START( weststry_map, AS_PROGRAM, 16, bloodbro_state )
AM_RANGE(0x123800, 0x123fff) AM_RAM_WRITE(txvideoram_w) AM_SHARE("txvideoram")
AM_RANGE(0x124000, 0x124005) AM_RAM
AM_RANGE(0x124006, 0x1247fd) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x128000, 0x1287ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x128000, 0x1287ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
WRITE_LINE_MEMBER(bloodbro_state::weststry_opl_irq_w)
diff --git a/src/mame/drivers/blstroid.cpp b/src/mame/drivers/blstroid.cpp
index 7f7554217a3..f14e66f9d8e 100644
--- a/src/mame/drivers/blstroid.cpp
+++ b/src/mame/drivers/blstroid.cpp
@@ -71,7 +71,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, blstroid_state )
AM_RANGE(0x800000, 0x800001) AM_MIRROR(0x0381fe) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x800200, 0x800201) AM_MIRROR(0x0381fe) AM_WRITE(scanline_int_ack_w)
AM_RANGE(0x800400, 0x800401) AM_MIRROR(0x0381fe) AM_WRITE(video_int_ack_w)
- AM_RANGE(0x800600, 0x800601) AM_MIRROR(0x0381fe) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0x800600, 0x800601) AM_MIRROR(0x0381fe) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0x800800, 0x8009ff) AM_MIRROR(0x038000) AM_WRITEONLY AM_SHARE("priorityram")
AM_RANGE(0x800a00, 0x800a01) AM_MIRROR(0x0381fe) AM_DEVWRITE8("jsa", atari_jsa_i_device, main_command_w, 0x00ff)
AM_RANGE(0x800c00, 0x800c01) AM_MIRROR(0x0381fe) AM_DEVWRITE("jsa", atari_jsa_i_device, sound_reset_w)
@@ -81,9 +81,9 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, blstroid_state )
AM_RANGE(0x801804, 0x801805) AM_MIRROR(0x0383f8) AM_READ_PORT("DIAL1")
AM_RANGE(0x801c00, 0x801c01) AM_MIRROR(0x0383fc) AM_READ_PORT("IN0")
AM_RANGE(0x801c02, 0x801c03) AM_MIRROR(0x0383fc) AM_READ_PORT("IN1")
- AM_RANGE(0x802000, 0x8023ff) AM_MIRROR(0x038c00) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x802000, 0x8023ff) AM_MIRROR(0x038c00) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x803000, 0x8033ff) AM_MIRROR(0x038c00) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
- AM_RANGE(0x804000, 0x804fff) AM_MIRROR(0x038000) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
+ AM_RANGE(0x804000, 0x804fff) AM_MIRROR(0x038000) AM_RAM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
AM_RANGE(0x805000, 0x805fff) AM_MIRROR(0x038000) AM_RAM AM_SHARE("mob")
AM_RANGE(0x806000, 0x807fff) AM_MIRROR(0x038000) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bnstars.cpp b/src/mame/drivers/bnstars.cpp
index acd896afa6a..f80efce6e77 100644
--- a/src/mame/drivers/bnstars.cpp
+++ b/src/mame/drivers/bnstars.cpp
@@ -772,8 +772,8 @@ static ADDRESS_MAP_START( bnstars_map, AS_PROGRAM, 32, bnstars_state )
/* wrote together */
AM_RANGE(0xfd040000, 0xfd047fff) AM_RAM // priority ram
AM_RANGE(0xfd080000, 0xfd087fff) AM_RAM
- AM_RANGE(0xfd200000, 0xfd237fff) AM_DEVREADWRITE16("palette2", palette_device, read, write, 0x0000ffff) AM_SHARE("palette2")
- AM_RANGE(0xfd400000, 0xfd437fff) AM_DEVREADWRITE16("palette", palette_device, read, write, 0x0000ffff) AM_SHARE("palette")
+ AM_RANGE(0xfd200000, 0xfd237fff) AM_DEVREADWRITE16("palette2", palette_device, read16, write16, 0x0000ffff) AM_SHARE("palette2")
+ AM_RANGE(0xfd400000, 0xfd437fff) AM_DEVREADWRITE16("palette", palette_device, read16, write16, 0x0000ffff) AM_SHARE("palette")
AM_RANGE(0xfe000000, 0xfe01ffff) AM_RAM_WRITE(ms32_roz1_ram_w) AM_SHARE("roz1_ram")
AM_RANGE(0xfe400000, 0xfe41ffff) AM_RAM_WRITE(ms32_roz0_ram_w) AM_SHARE("roz0_ram")
AM_RANGE(0xfe800000, 0xfe83ffff) AM_RAM AM_SHARE("spram")
diff --git a/src/mame/drivers/bogeyman.cpp b/src/mame/drivers/bogeyman.cpp
index a0791b2352f..6f5ba9acafd 100644
--- a/src/mame/drivers/bogeyman.cpp
+++ b/src/mame/drivers/bogeyman.cpp
@@ -55,7 +55,7 @@ static ADDRESS_MAP_START( bogeyman_map, AS_PROGRAM, 8, bogeyman_state )
AM_RANGE(0x2000, 0x20ff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x2100, 0x21ff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
AM_RANGE(0x2800, 0x2bff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x3000, 0x300f) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x3000, 0x300f) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("P1") AM_WRITE(ay8910_control_w)
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("P2") AM_WRITE(ay8910_latch_w)
AM_RANGE(0x3802, 0x3802) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/bombjack.cpp b/src/mame/drivers/bombjack.cpp
index d6818419e4a..61c298d4e61 100644
--- a/src/mame/drivers/bombjack.cpp
+++ b/src/mame/drivers/bombjack.cpp
@@ -135,7 +135,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bombjack_state )
AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(bombjack_colorram_w) AM_SHARE("colorram")
AM_RANGE(0x9820, 0x987f) AM_WRITEONLY AM_SHARE("spriteram")
AM_RANGE(0x9a00, 0x9a00) AM_WRITENOP
- AM_RANGE(0x9c00, 0x9cff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x9c00, 0x9cff) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x9e00, 0x9e00) AM_WRITE(bombjack_background_w)
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("P1")
AM_RANGE(0xb000, 0xb000) AM_WRITE(irq_mask_w)
diff --git a/src/mame/drivers/bottom9.cpp b/src/mame/drivers/bottom9.cpp
index 4ef35fa2ee2..748352a91d6 100644
--- a/src/mame/drivers/bottom9.cpp
+++ b/src/mame/drivers/bottom9.cpp
@@ -90,7 +90,7 @@ WRITE8_MEMBER(bottom9_state::bottom9_bankedram2_w)
if (m_k052109_selected)
k052109_051960_w(space, offset + 0x2000, data);
else
- m_palette->write(space, offset, data);
+ m_palette->write8(space, offset, data);
}
WRITE8_MEMBER(bottom9_state::bankswitch_w)
diff --git a/src/mame/drivers/btime.cpp b/src/mame/drivers/btime.cpp
index 50ec4c01bc7..18e32e4dade 100644
--- a/src/mame/drivers/btime.cpp
+++ b/src/mame/drivers/btime.cpp
@@ -186,7 +186,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(btime_state::audio_nmi_gen)
static ADDRESS_MAP_START( btime_map, AS_PROGRAM, 8, btime_state )
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("rambase")
- AM_RANGE(0x0c00, 0x0c0f) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0c00, 0x0c0f) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x1400, 0x17ff) AM_RAM AM_SHARE("colorram")
AM_RANGE(0x1800, 0x1bff) AM_READWRITE(btime_mirrorvideoram_r, btime_mirrorvideoram_w)
@@ -221,7 +221,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tisland_map, AS_PROGRAM, 8, btime_state )
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("rambase")
- AM_RANGE(0x0c00, 0x0c0f) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0c00, 0x0c0f) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x1400, 0x17ff) AM_RAM AM_SHARE("colorram")
AM_RANGE(0x1800, 0x1bff) AM_READWRITE(btime_mirrorvideoram_r, btime_mirrorvideoram_w)
@@ -298,7 +298,7 @@ static ADDRESS_MAP_START( bnj_map, AS_PROGRAM, 8, btime_state )
AM_RANGE(0x5200, 0x53ff) AM_RAM
AM_RANGE(0x5400, 0x5400) AM_WRITE(bnj_scroll1_w)
AM_RANGE(0x5800, 0x5800) AM_WRITE(bnj_scroll2_w)
- AM_RANGE(0x5c00, 0x5c0f) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x5c00, 0x5c0f) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xa000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/bublbobl.cpp b/src/mame/drivers/bublbobl.cpp
index 283127fe849..c6a5fbe31b9 100644
--- a/src/mame/drivers/bublbobl.cpp
+++ b/src/mame/drivers/bublbobl.cpp
@@ -298,7 +298,7 @@ static ADDRESS_MAP_START( common_maincpu_map, AS_PROGRAM, 8, bublbobl_state )
AM_RANGE(0xc000, 0xdcff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0xdd00, 0xdfff) AM_RAM AM_SHARE("objectram")
AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0xf800, 0xf9ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xf800, 0xf9ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( bublbobl_maincpu_map, AS_PROGRAM, 8, bublbobl_state )
diff --git a/src/mame/drivers/buggychl.cpp b/src/mame/drivers/buggychl.cpp
index aa582292c64..1337637d6ea 100644
--- a/src/mame/drivers/buggychl.cpp
+++ b/src/mame/drivers/buggychl.cpp
@@ -225,7 +225,7 @@ static ADDRESS_MAP_START( buggychl_map, AS_PROGRAM, 8, buggychl_state )
AM_RANGE(0xd611, 0xd611) AM_MIRROR(0x00e4) AM_READ(sound_status_main_r)
// AM_RANGE(0xd613, 0xd613) AM_MIRROR(0x00e4) AM_WRITE(sound_reset_w)
AM_RANGE(0xd618, 0xd618) AM_MIRROR(0x00e7) AM_WRITENOP /* accelerator clear; TODO: should we emulate the proper quadrature counter here? */
- AM_RANGE(0xd700, 0xd7ff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xd700, 0xd7ff) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xd820, 0xd83f) AM_RAM // TODO
AM_RANGE(0xd840, 0xd85f) AM_WRITEONLY AM_SHARE("scrollv")
AM_RANGE(0xdb00, 0xdbff) AM_WRITEONLY AM_SHARE("scrollh")
diff --git a/src/mame/drivers/cabal.cpp b/src/mame/drivers/cabal.cpp
index 7ed25c9fe93..95847a5a71b 100644
--- a/src/mame/drivers/cabal.cpp
+++ b/src/mame/drivers/cabal.cpp
@@ -115,7 +115,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, cabal_state )
AM_RANGE(0xa0010, 0xa0011) AM_READ_PORT("INPUTS")
AM_RANGE(0xc0040, 0xc0041) AM_WRITENOP /* ??? */
AM_RANGE(0xc0080, 0xc0081) AM_WRITE(flipscreen_w)
- AM_RANGE(0xe0000, 0xe07ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xe0000, 0xe07ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xe8008, 0xe8009) AM_WRITE(sound_irq_trigger_word_w) // fix coin insertion
AM_RANGE(0xe8000, 0xe800d) AM_DEVREADWRITE8("seibu_sound", seibu_sound_device, main_r, main_w, 0x00ff)
ADDRESS_MAP_END
@@ -145,7 +145,7 @@ static ADDRESS_MAP_START( cabalbl_main_map, AS_PROGRAM, 16, cabal_state )
AM_RANGE(0xa0010, 0xa0011) AM_READ_PORT("INPUTS")
AM_RANGE(0xc0040, 0xc0041) AM_WRITENOP /* ??? */
AM_RANGE(0xc0080, 0xc0081) AM_WRITE(flipscreen_w)
- AM_RANGE(0xe0000, 0xe07ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xe0000, 0xe07ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xe8000, 0xe8003) AM_WRITE(cabalbl_sndcmd_w)
AM_RANGE(0xe8004, 0xe8005) AM_DEVREAD8("soundlatch", generic_latch_8_device, read, 0x00ff)
AM_RANGE(0xe8008, 0xe8009) AM_WRITE(cabalbl_sound_irq_trigger_word_w)
diff --git a/src/mame/drivers/cabaret.cpp b/src/mame/drivers/cabaret.cpp
index 9a181bfd66c..795877d171c 100644
--- a/src/mame/drivers/cabaret.cpp
+++ b/src/mame/drivers/cabaret.cpp
@@ -206,8 +206,8 @@ static ADDRESS_MAP_START( cabaret_portmap, AS_IO, 8, cabaret_state )
AM_RANGE( 0x2000, 0x27ff ) AM_RAM_WRITE(fg_tile_w ) AM_SHARE("fg_tile_ram")
AM_RANGE( 0x2800, 0x2fff ) AM_RAM_WRITE(fg_color_w ) AM_SHARE("fg_color_ram")
- AM_RANGE( 0x3000, 0x37ff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE( 0x3800, 0x3fff ) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE( 0x3000, 0x37ff ) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE( 0x3800, 0x3fff ) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE( 0x1000, 0x103f ) AM_RAM_WRITE(bg_scroll_w ) AM_SHARE("bg_scroll")
diff --git a/src/mame/drivers/calorie.cpp b/src/mame/drivers/calorie.cpp
index 9b729b301db..728cda87efa 100644
--- a/src/mame/drivers/calorie.cpp
+++ b/src/mame/drivers/calorie.cpp
@@ -266,7 +266,7 @@ static ADDRESS_MAP_START( calorie_map, AS_PROGRAM, 8, calorie_state )
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_SHARE("ram")
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(fg_ram_w) AM_SHARE("fg_ram")
AM_RANGE(0xd800, 0xdbff) AM_RAM AM_SHARE("sprites")
- AM_RANGE(0xdc00, 0xdcff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xdc00, 0xdcff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xde00, 0xde00) AM_WRITE(bg_bank_w)
AM_RANGE(0xf000, 0xf000) AM_READ_PORT("P1")
AM_RANGE(0xf001, 0xf001) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/cbasebal.cpp b/src/mame/drivers/cbasebal.cpp
index b5134557812..defaacf075e 100644
--- a/src/mame/drivers/cbasebal.cpp
+++ b/src/mame/drivers/cbasebal.cpp
@@ -71,7 +71,7 @@ WRITE8_MEMBER(cbasebal_state::bankedram_w)
break;
case 1:
if (offset < 0x800)
- m_palette->write(space, offset, data);
+ m_palette->write8(space, offset, data);
break;
default:
cbasebal_scrollram_w(space, offset, data);
diff --git a/src/mame/drivers/chance32.cpp b/src/mame/drivers/chance32.cpp
index 645133e0e77..2e25d92c127 100644
--- a/src/mame/drivers/chance32.cpp
+++ b/src/mame/drivers/chance32.cpp
@@ -200,7 +200,7 @@ WRITE8_MEMBER(chance32_state::muxout_w)
static ADDRESS_MAP_START( chance32_map, AS_PROGRAM, 8, chance32_state )
AM_RANGE(0x0000, 0xcfff) AM_ROM
AM_RANGE(0xd800, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xe000, 0xefff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(chance32_fgram_w) AM_SHARE("fgram")
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(chance32_bgram_w) AM_SHARE("bgram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/chinagat.cpp b/src/mame/drivers/chinagat.cpp
index b1d8540b603..d0a73625692 100644
--- a/src/mame/drivers/chinagat.cpp
+++ b/src/mame/drivers/chinagat.cpp
@@ -332,8 +332,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, chinagat_state )
AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(ddragon_fgvideoram_w) AM_SHARE("fgvideoram")
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(ddragon_bgvideoram_w) AM_SHARE("bgvideoram")
- AM_RANGE(0x3000, 0x317f) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x3400, 0x357f) AM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x3000, 0x317f) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x3400, 0x357f) AM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x3800, 0x397f) AM_WRITE_BANK("bank3") AM_SHARE("spriteram")
AM_RANGE(0x3e00, 0x3e04) AM_WRITE(interrupt_w)
AM_RANGE(0x3e06, 0x3e06) AM_WRITEONLY AM_SHARE("scrolly_lo")
diff --git a/src/mame/drivers/chqflag.cpp b/src/mame/drivers/chqflag.cpp
index 101cb114ff8..6e372cbba80 100644
--- a/src/mame/drivers/chqflag.cpp
+++ b/src/mame/drivers/chqflag.cpp
@@ -166,7 +166,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( bank1000_map, AS_PROGRAM, 8, chqflag_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x17ff) AM_READ(k051316_1_ramrom_r) AM_DEVWRITE("k051316_1", k051316_device, write)
- AM_RANGE(0x1800, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1800, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cischeat.cpp b/src/mame/drivers/cischeat.cpp
index 67383cefe5d..130832c8910 100644
--- a/src/mame/drivers/cischeat.cpp
+++ b/src/mame/drivers/cischeat.cpp
@@ -230,7 +230,7 @@ static ADDRESS_MAP_START( bigrun_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x094000, 0x097fff) AM_RAM_DEVWRITE("scroll1", megasys1_tilemap_device, write) AM_SHARE("scroll1") // Scroll ram 1
AM_RANGE(0x098000, 0x09bfff) AM_RAM_DEVWRITE("scroll2", megasys1_tilemap_device, write) AM_SHARE("scroll2") // Scroll ram 2
- AM_RANGE(0x09c000, 0x09ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palettes
+ AM_RANGE(0x09c000, 0x09ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palettes
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_SHARE("ram") // RAM
AM_RANGE(0x100000, 0x13ffff) AM_ROM AM_REGION("user1",0) // ROM
ADDRESS_MAP_END
@@ -286,7 +286,7 @@ static ADDRESS_MAP_START( cischeat_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x0a0000, 0x0a7fff) AM_RAM_DEVWRITE("scroll0", megasys1_tilemap_device, write) AM_SHARE("scroll0") // Scroll ram 0
AM_RANGE(0x0a8000, 0x0affff) AM_RAM_DEVWRITE("scroll1", megasys1_tilemap_device, write) AM_SHARE("scroll1") // Scroll ram 1
AM_RANGE(0x0b0000, 0x0b7fff) AM_RAM_DEVWRITE("scroll2", megasys1_tilemap_device, write) AM_SHARE("scroll2") // Scroll ram 2
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palettes
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palettes
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_SHARE("ram") // RAM
AM_RANGE(0x100000, 0x17ffff) AM_ROM AM_REGION("user1",0) // ROM
@@ -342,7 +342,7 @@ static ADDRESS_MAP_START( f1gpstar_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x0a0000, 0x0a7fff) AM_RAM_DEVWRITE("scroll0", megasys1_tilemap_device, write) AM_SHARE("scroll0") // Scroll ram 0
AM_RANGE(0x0a8000, 0x0affff) AM_RAM_DEVWRITE("scroll1", megasys1_tilemap_device, write) AM_SHARE("scroll1") // Scroll ram 1
AM_RANGE(0x0b0000, 0x0b7fff) AM_RAM_DEVWRITE("scroll2", megasys1_tilemap_device, write) AM_SHARE("scroll2") // Scroll ram 2
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palettes
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palettes
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_SHARE("ram") // RAM
AM_RANGE(0x100000, 0x17ffff) AM_ROM AM_REGION("user1",0) // ROM
@@ -417,7 +417,7 @@ static ADDRESS_MAP_START( wildplt_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x0a0000, 0x0a7fff) AM_RAM_DEVWRITE("scroll0", megasys1_tilemap_device, write) AM_SHARE("scroll0") // Scroll ram 0
AM_RANGE(0x0a8000, 0x0affff) AM_RAM_DEVWRITE("scroll1", megasys1_tilemap_device, write) AM_SHARE("scroll1") // Scroll ram 1
AM_RANGE(0x0b0000, 0x0b7fff) AM_RAM_DEVWRITE("scroll2", megasys1_tilemap_device, write) AM_SHARE("scroll2") // Scroll ram 2
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palettes
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palettes
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_SHARE("ram") // RAM
AM_RANGE(0x100000, 0x17ffff) AM_ROM AM_REGION("user1",0) // ROM
@@ -462,7 +462,7 @@ static ADDRESS_MAP_START( f1gpstr2_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x0a0000, 0x0a7fff) AM_RAM_DEVWRITE("scroll0", megasys1_tilemap_device, write) AM_SHARE("scroll0") // Scroll ram 0
AM_RANGE(0x0a8000, 0x0affff) AM_RAM_DEVWRITE("scroll1", megasys1_tilemap_device, write) AM_SHARE("scroll1") // Scroll ram 1
AM_RANGE(0x0b0000, 0x0b7fff) AM_RAM_DEVWRITE("scroll2", megasys1_tilemap_device, write) AM_SHARE("scroll2") // Scroll ram 2
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palettes
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palettes
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_SHARE("ram") // RAM
AM_RANGE(0x100000, 0x17ffff) AM_ROM AM_REGION("user1",0) // ROM
@@ -578,7 +578,7 @@ static ADDRESS_MAP_START( scudhamm_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x082208, 0x082209) AM_DEVREADWRITE("watchdog", watchdog_timer_device, reset16_r, reset16_w)
AM_RANGE(0x0a0000, 0x0a3fff) AM_RAM_DEVWRITE("scroll0", megasys1_tilemap_device, write) AM_SHARE("scroll0") // Scroll RAM 0
AM_RANGE(0x0b0000, 0x0b3fff) AM_RAM_DEVWRITE("scroll2", megasys1_tilemap_device, write) AM_SHARE("scroll2") // Scroll RAM 2
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_SHARE("ram") // Work RAM + Spriteram
AM_RANGE(0x100000, 0x100001) AM_WRITE(scudhamm_oki_bank_w) // Sound
AM_RANGE(0x100008, 0x100009) AM_READ_PORT("IN0") AM_WRITE(scudhamm_leds_w) // Buttons
@@ -662,7 +662,7 @@ static ADDRESS_MAP_START( armchmp2_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x082208, 0x082209) AM_DEVREADWRITE("watchdog", watchdog_timer_device, reset16_r, reset16_w)
AM_RANGE(0x0a0000, 0x0a7fff) AM_RAM_DEVWRITE("scroll0", megasys1_tilemap_device, write) AM_SHARE("scroll0") // Scroll ram 0
AM_RANGE(0x0b0000, 0x0b7fff) AM_RAM_DEVWRITE("scroll2", megasys1_tilemap_device, write) AM_SHARE("scroll2") // Scroll ram 2
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_SHARE("ram") // Work RAM + Spriteram
AM_RANGE(0x100000, 0x100001) AM_READ_PORT("IN2") AM_WRITE(scudhamm_oki_bank_w) // DSW + Sound
AM_RANGE(0x100004, 0x100005) AM_READ_PORT("IN3") // DSW
@@ -807,7 +807,7 @@ static ADDRESS_MAP_START( captflag_map, AS_PROGRAM, 16, cischeat_state )
AM_RANGE(0x090008, 0x090009) AM_WRITENOP // 0?
AM_RANGE(0x0a0000, 0x0a7fff) AM_RAM_DEVWRITE("scroll0", megasys1_tilemap_device, write) AM_SHARE("scroll0") // Scroll RAM 0
AM_RANGE(0x0b0000, 0x0b7fff) AM_RAM_DEVWRITE("scroll2", megasys1_tilemap_device, write) AM_SHARE("scroll2") // Scroll RAM 2
- AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x0b8000, 0x0bffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_SHARE("ram") // Work RAM + Spriteram
AM_RANGE(0x100000, 0x100001) AM_READ_PORT("SW1_2") AM_WRITE(captflag_oki_bank_w) // 2 x DSW + Sound
AM_RANGE(0x100008, 0x100009) AM_READ_PORT("Buttons") AM_WRITE(captflag_leds_w) // Buttons + Leds
diff --git a/src/mame/drivers/citycon.cpp b/src/mame/drivers/citycon.cpp
index 08470f685a2..a3a4700b64a 100644
--- a/src/mame/drivers/citycon.cpp
+++ b/src/mame/drivers/citycon.cpp
@@ -43,7 +43,7 @@ static ADDRESS_MAP_START( citycon_map, AS_PROGRAM, 8, citycon_state )
AM_RANGE(0x3002, 0x3002) AM_READ_PORT("DSW2") AM_DEVWRITE("soundlatch2", generic_latch_8_device, write)
AM_RANGE(0x3004, 0x3005) AM_READNOP AM_WRITEONLY AM_SHARE("scroll")
AM_RANGE(0x3007, 0x3007) AM_READ(citycon_irq_ack_r)
- AM_RANGE(0x3800, 0x3cff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x3800, 0x3cff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cmmb.cpp b/src/mame/drivers/cmmb.cpp
index 24c9df6d7d3..b501c979259 100644
--- a/src/mame/drivers/cmmb.cpp
+++ b/src/mame/drivers/cmmb.cpp
@@ -196,7 +196,7 @@ static ADDRESS_MAP_START( cmmb_map, AS_PROGRAM, 8, cmmb_state )
AM_RANGE(0x2000, 0x2000) AM_READ_PORT("IN3")
AM_RANGE(0x2001, 0x2001) AM_READ_PORT("IN4")
AM_RANGE(0x2011, 0x2011) AM_READ_PORT("IN5")
- AM_RANGE(0x2480, 0x249f) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x2480, 0x249f) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
//AM_RANGE(0x4000, 0x400f) AM_READWRITE(cmmb_input_r,cmmb_output_w)
//AM_RANGE(0x4900, 0x4900) AM_READ(kludge_r)
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
diff --git a/src/mame/drivers/crimfght.cpp b/src/mame/drivers/crimfght.cpp
index 60d3c24a0ea..cfbc8136b91 100644
--- a/src/mame/drivers/crimfght.cpp
+++ b/src/mame/drivers/crimfght.cpp
@@ -101,7 +101,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( bank0000_map, AS_PROGRAM, 8, crimfght_state )
AM_RANGE(0x0000, 0x03ff) AM_RAM
- AM_RANGE(0x0400, 0x07ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0400, 0x07ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
// full memory map derived from schematics
diff --git a/src/mame/drivers/crospang.cpp b/src/mame/drivers/crospang.cpp
index 550c5df6f90..b1bf86af7a6 100644
--- a/src/mame/drivers/crospang.cpp
+++ b/src/mame/drivers/crospang.cpp
@@ -50,7 +50,7 @@ static ADDRESS_MAP_START( crospang_base_map, AS_PROGRAM, 16, crospang_state )
AM_RANGE(0x120000, 0x1207ff) AM_RAM_WRITE(crospang_fg_videoram_w) AM_SHARE("fg_videoram")
AM_RANGE(0x122000, 0x1227ff) AM_RAM_WRITE(crospang_bg_videoram_w) AM_SHARE("bg_videoram")
- AM_RANGE(0x200000, 0x2005ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x2005ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x210000, 0x2107ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x270000, 0x270001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x270004, 0x270007) AM_WRITENOP // ??
diff --git a/src/mame/drivers/crshrace.cpp b/src/mame/drivers/crshrace.cpp
index d75be7635b2..5bf9dd36900 100644
--- a/src/mame/drivers/crshrace.cpp
+++ b/src/mame/drivers/crshrace.cpp
@@ -156,7 +156,7 @@ static ADDRESS_MAP_START( crshrace_map, AS_PROGRAM, 16, crshrace_state )
AM_RANGE(0xfe0000, 0xfeffff) AM_RAM
AM_RANGE(0xffc000, 0xffc001) AM_WRITE(crshrace_roz_bank_w)
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(crshrace_videoram2_w) AM_SHARE("videoram2")
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("P1") AM_WRITE(crshrace_gfxctrl_w)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("P2")
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW0")
diff --git a/src/mame/drivers/cultures.cpp b/src/mame/drivers/cultures.cpp
index 6ac70acc5dc..c4736c1d7eb 100644
--- a/src/mame/drivers/cultures.cpp
+++ b/src/mame/drivers/cultures.cpp
@@ -191,7 +191,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( vrambank_map, AS_PROGRAM, 8, cultures_state )
AM_RANGE(0x0000, 0x3fff) AM_RAM_WRITE(bg0_videoram_w) AM_SHARE("bg0_videoram")
- AM_RANGE(0x4000, 0x6fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x4000, 0x6fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( cultures_map, AS_PROGRAM, 8, cultures_state )
diff --git a/src/mame/drivers/cyberbal.cpp b/src/mame/drivers/cyberbal.cpp
index e111b34fdb8..3211871aad9 100644
--- a/src/mame/drivers/cyberbal.cpp
+++ b/src/mame/drivers/cyberbal.cpp
@@ -131,21 +131,21 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, cyberbal_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0xfc0000, 0xfc0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
AM_RANGE(0xfc8000, 0xfcffff) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0xff00)
- AM_RANGE(0xfd0000, 0xfd1fff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0xfd0000, 0xfd1fff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0xfd2000, 0xfd3fff) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w)
AM_RANGE(0xfd4000, 0xfd5fff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0xfd6000, 0xfd7fff) AM_WRITE(p2_reset_w)
AM_RANGE(0xfd8000, 0xfd9fff) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0xff00)
AM_RANGE(0xfe0000, 0xfe0fff) AM_READ_PORT("IN0")
AM_RANGE(0xfe1000, 0xfe1fff) AM_READ_PORT("IN1")
- AM_RANGE(0xfe8000, 0xfe8fff) AM_RAM_DEVWRITE("rpalette", palette_device, write) AM_SHARE("rpalette")
- AM_RANGE(0xfec000, 0xfecfff) AM_RAM_DEVWRITE("lpalette", palette_device, write) AM_SHARE("lpalette")
- AM_RANGE(0xff0000, 0xff1fff) AM_RAM_DEVWRITE("playfield2", tilemap_device, write) AM_SHARE("playfield2")
- AM_RANGE(0xff2000, 0xff2fff) AM_RAM_DEVWRITE("alpha2", tilemap_device, write) AM_SHARE("alpha2")
+ AM_RANGE(0xfe8000, 0xfe8fff) AM_RAM_DEVWRITE("rpalette", palette_device, write16) AM_SHARE("rpalette")
+ AM_RANGE(0xfec000, 0xfecfff) AM_RAM_DEVWRITE("lpalette", palette_device, write16) AM_SHARE("lpalette")
+ AM_RANGE(0xff0000, 0xff1fff) AM_RAM_DEVWRITE("playfield2", tilemap_device, write16) AM_SHARE("playfield2")
+ AM_RANGE(0xff2000, 0xff2fff) AM_RAM_DEVWRITE("alpha2", tilemap_device, write16) AM_SHARE("alpha2")
AM_RANGE(0xff3000, 0xff37ff) AM_RAM AM_SHARE("mob2")
AM_RANGE(0xff3800, 0xff3fff) AM_RAM AM_SHARE("ff3800")
- AM_RANGE(0xff4000, 0xff5fff) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
- AM_RANGE(0xff6000, 0xff6fff) AM_RAM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha")
+ AM_RANGE(0xff4000, 0xff5fff) AM_RAM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
+ AM_RANGE(0xff6000, 0xff6fff) AM_RAM_DEVWRITE("alpha", tilemap_device, write16) AM_SHARE("alpha")
AM_RANGE(0xff7000, 0xff77ff) AM_RAM AM_SHARE("mob")
AM_RANGE(0xff7800, 0xff9fff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0xffa000, 0xffbfff) AM_READONLY AM_WRITENOP AM_SHARE("extraram")
@@ -165,14 +165,14 @@ static ADDRESS_MAP_START( extra_map, AS_PROGRAM, 16, cyberbal_state )
AM_RANGE(0xfc0000, 0xfdffff) AM_WRITE(video_int_ack_w)
AM_RANGE(0xfe0000, 0xfe0fff) AM_READ_PORT("IN0")
AM_RANGE(0xfe1000, 0xfe1fff) AM_READ_PORT("IN1")
- AM_RANGE(0xfe8000, 0xfe8fff) AM_RAM_DEVWRITE("rpalette", palette_device, write) AM_SHARE("rpalette")
- AM_RANGE(0xfec000, 0xfecfff) AM_RAM_DEVWRITE("lpalette", palette_device, write) AM_SHARE("lpalette")
- AM_RANGE(0xff0000, 0xff1fff) AM_RAM_DEVWRITE("playfield2", tilemap_device, write) AM_SHARE("playfield2")
- AM_RANGE(0xff2000, 0xff2fff) AM_RAM_DEVWRITE("alpha2", tilemap_device, write) AM_SHARE("alpha2")
+ AM_RANGE(0xfe8000, 0xfe8fff) AM_RAM_DEVWRITE("rpalette", palette_device, write16) AM_SHARE("rpalette")
+ AM_RANGE(0xfec000, 0xfecfff) AM_RAM_DEVWRITE("lpalette", palette_device, write16) AM_SHARE("lpalette")
+ AM_RANGE(0xff0000, 0xff1fff) AM_RAM_DEVWRITE("playfield2", tilemap_device, write16) AM_SHARE("playfield2")
+ AM_RANGE(0xff2000, 0xff2fff) AM_RAM_DEVWRITE("alpha2", tilemap_device, write16) AM_SHARE("alpha2")
AM_RANGE(0xff3000, 0xff37ff) AM_RAM AM_SHARE("mob2")
AM_RANGE(0xff3800, 0xff3fff) AM_RAM AM_SHARE("ff3800")
- AM_RANGE(0xff4000, 0xff5fff) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
- AM_RANGE(0xff6000, 0xff6fff) AM_RAM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha")
+ AM_RANGE(0xff4000, 0xff5fff) AM_RAM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
+ AM_RANGE(0xff6000, 0xff6fff) AM_RAM_DEVWRITE("alpha", tilemap_device, write16) AM_SHARE("alpha")
AM_RANGE(0xff7000, 0xff77ff) AM_RAM AM_SHARE("mob")
AM_RANGE(0xff7800, 0xff9fff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0xffa000, 0xffbfff) AM_RAM AM_SHARE("extraram")
@@ -234,15 +234,15 @@ static ADDRESS_MAP_START( cyberbal2p_map, AS_PROGRAM, 16, cyberbal_state )
AM_RANGE(0xfc4000, 0xfc4003) AM_READ_PORT("IN2")
AM_RANGE(0xfc6000, 0xfc6003) AM_DEVREAD8("jsa", atari_jsa_ii_device, main_response_r, 0xff00)
AM_RANGE(0xfc8000, 0xfc8fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
- AM_RANGE(0xfca000, 0xfcafff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0xfd0000, 0xfd0003) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0xfca000, 0xfcafff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
+ AM_RANGE(0xfd0000, 0xfd0003) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0xfd2000, 0xfd2003) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w)
AM_RANGE(0xfd4000, 0xfd4003) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0xfd6000, 0xfd6003) AM_WRITE(video_int_ack_w)
AM_RANGE(0xfd8000, 0xfd8003) AM_DEVWRITE8("jsa", atari_jsa_ii_device, main_command_w, 0xff00)
AM_RANGE(0xfe0000, 0xfe0003) AM_READ(sound_state_r)
- AM_RANGE(0xff0000, 0xff1fff) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
- AM_RANGE(0xff2000, 0xff2fff) AM_RAM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha")
+ AM_RANGE(0xff0000, 0xff1fff) AM_RAM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
+ AM_RANGE(0xff2000, 0xff2fff) AM_RAM_DEVWRITE("alpha", tilemap_device, write16) AM_SHARE("alpha")
AM_RANGE(0xff3000, 0xff37ff) AM_RAM AM_SHARE("mob")
AM_RANGE(0xff3800, 0xffffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cybertnk.cpp b/src/mame/drivers/cybertnk.cpp
index ba970356967..a35997c40b6 100644
--- a/src/mame/drivers/cybertnk.cpp
+++ b/src/mame/drivers/cybertnk.cpp
@@ -612,7 +612,7 @@ static ADDRESS_MAP_START( master_mem, AS_PROGRAM, 16, cybertnk_state )
AM_RANGE(0x0c4000, 0x0c5fff) AM_RAM_WRITE(tilemap1_vram_w) AM_SHARE("tilemap1_vram")
AM_RANGE(0x0c8000, 0x0c9fff) AM_RAM_WRITE(tilemap2_vram_w) AM_SHARE("tilemap2_vram")
AM_RANGE(0x0e0000, 0x0e0fff) AM_RAM AM_SHARE("sharedram")
- AM_RANGE(0x100000, 0x107fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") /* 2x palettes, one for each screen */
+ AM_RANGE(0x100000, 0x107fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") /* 2x palettes, one for each screen */
AM_RANGE(0x110000, 0x110001) AM_WRITE8(cybertnk_sound_cmd_w,0xffff)
AM_RANGE(0x110002, 0x110003) AM_READ_PORT("DSW1") AM_WRITENOP// watchdog?
diff --git a/src/mame/drivers/cybstorm.cpp b/src/mame/drivers/cybstorm.cpp
index 246e627971e..c23d676070a 100755
--- a/src/mame/drivers/cybstorm.cpp
+++ b/src/mame/drivers/cybstorm.cpp
@@ -95,7 +95,7 @@ WRITE32_MEMBER(cybstorm_state::latch_w)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, cybstorm_state )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
- AM_RANGE(0x200000, 0x20ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x20ffff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x3effc0, 0x3effff) AM_DEVREADWRITE16("vad", atari_vad_device, control_read, control_write, 0xffffffff)
AM_RANGE(0x3f0000, 0x3fffff) AM_DEVICE16("vadbank", address_map_bank_device, amap16, 0xffffffff)
AM_RANGE(0x9f0000, 0x9f0003) AM_READ_PORT("9F0000")
@@ -104,7 +104,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, cybstorm_state )
AM_RANGE(0x9f0040, 0x9f0043) AM_DEVWRITE8("jsa", atari_jsa_iii_device, main_command_w, 0x00ff0000)
AM_RANGE(0x9f0050, 0x9f0053) AM_WRITE(latch_w)
AM_RANGE(0xfb0000, 0xfb0003) AM_DEVWRITE("watchdog", watchdog_timer_device, reset32_w)
- AM_RANGE(0xfc0000, 0xfc0003) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0xfc0000, 0xfc0003) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write32)
AM_RANGE(0xfd0000, 0xfd0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0xff00ff00)
AM_RANGE(0xfe0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/d9final.cpp b/src/mame/drivers/d9final.cpp
index 130f03024c6..c0e69f9cfba 100644
--- a/src/mame/drivers/d9final.cpp
+++ b/src/mame/drivers/d9final.cpp
@@ -128,8 +128,8 @@ static ADDRESS_MAP_START( d9final_map, AS_PROGRAM, 8, d9final_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xc7ff) AM_RAM
- AM_RANGE(0xc800, 0xcbff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0xcc00, 0xcfff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0xc800, 0xcbff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0xcc00, 0xcfff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(sc0_lovram) AM_SHARE("lo_vram")
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sc0_hivram) AM_SHARE("hi_vram")
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(sc0_cram) AM_SHARE("cram")
diff --git a/src/mame/drivers/darius.cpp b/src/mame/drivers/darius.cpp
index c54c9576cbb..88ad54fdd37 100644
--- a/src/mame/drivers/darius.cpp
+++ b/src/mame/drivers/darius.cpp
@@ -210,7 +210,7 @@ static ADDRESS_MAP_START( darius_map, AS_PROGRAM, 16, darius_state )
AM_RANGE(0xd20000, 0xd20003) AM_DEVWRITE("pc080sn", pc080sn_device, yscroll_word_w)
AM_RANGE(0xd40000, 0xd40003) AM_DEVWRITE("pc080sn", pc080sn_device, xscroll_word_w)
AM_RANGE(0xd50000, 0xd50003) AM_DEVWRITE("pc080sn", pc080sn_device, ctrl_word_w)
- AM_RANGE(0xd80000, 0xd80fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")/* palette */
+ AM_RANGE(0xd80000, 0xd80fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")/* palette */
AM_RANGE(0xe00100, 0xe00fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xe01000, 0xe02fff) AM_RAM AM_SHARE("share2")
AM_RANGE(0xe08000, 0xe0ffff) AM_RAM_WRITE(darius_fg_layer_w) AM_SHARE("fg_ram")
@@ -221,7 +221,7 @@ static ADDRESS_MAP_START( darius_cpub_map, AS_PROGRAM, 16, darius_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x04ffff) AM_RAM /* local RAM */
AM_RANGE(0xc00050, 0xc00051) AM_NOP // unknown, written by both cpus - always 0?
- AM_RANGE(0xd80000, 0xd80fff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xd80000, 0xd80fff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xe00100, 0xe00fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xe01000, 0xe02fff) AM_RAM AM_SHARE("share2")
AM_RANGE(0xe08000, 0xe0ffff) AM_RAM_WRITE(darius_fg_layer_w) AM_SHARE("fg_ram")
diff --git a/src/mame/drivers/dblewing.cpp b/src/mame/drivers/dblewing.cpp
index d766e01bb31..36d256c4e03 100644
--- a/src/mame/drivers/dblewing.cpp
+++ b/src/mame/drivers/dblewing.cpp
@@ -184,7 +184,7 @@ static ADDRESS_MAP_START( dblewing_map, AS_PROGRAM, 16, dblewing_state )
AM_RANGE(0x288000, 0x288001) AM_RAM
AM_RANGE(0x28c000, 0x28c00f) AM_RAM_DEVWRITE("tilegen1", deco16ic_device, pf_control_w)
AM_RANGE(0x300000, 0x3007ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x320000, 0x3207ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x320000, 0x3207ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xff0000, 0xff3fff) AM_MIRROR(0xc000) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dbz.cpp b/src/mame/drivers/dbz.cpp
index b7179dfd4de..f2e5a1a3aab 100644
--- a/src/mame/drivers/dbz.cpp
+++ b/src/mame/drivers/dbz.cpp
@@ -114,7 +114,7 @@ static ADDRESS_MAP_START( dbz_map, AS_PROGRAM, 16, dbz_state )
AM_RANGE(0x498000, 0x49ffff) AM_DEVREAD("k056832", k056832_device, rom_word_8000_r) // code near a60 in dbz2, subroutine at 730 in dbz
AM_RANGE(0x4a0000, 0x4a0fff) AM_DEVREADWRITE("k053246", k053247_device, k053247_word_r, k053247_word_w)
AM_RANGE(0x4a1000, 0x4a3fff) AM_RAM
- AM_RANGE(0x4a8000, 0x4abfff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // palette
+ AM_RANGE(0x4a8000, 0x4abfff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // palette
AM_RANGE(0x4c0000, 0x4c0001) AM_DEVREAD("k053246", k053247_device, k053246_word_r)
AM_RANGE(0x4c0000, 0x4c0007) AM_DEVWRITE("k053246", k053247_device, k053246_word_w)
AM_RANGE(0x4c4000, 0x4c4007) AM_DEVWRITE("k053246", k053247_device, k053246_word_w)
diff --git a/src/mame/drivers/dcon.cpp b/src/mame/drivers/dcon.cpp
index a88536d352e..deca3f08cab 100644
--- a/src/mame/drivers/dcon.cpp
+++ b/src/mame/drivers/dcon.cpp
@@ -46,7 +46,7 @@ static ADDRESS_MAP_START( dcon_map, AS_PROGRAM, 16, dcon_state )
AM_RANGE(0x8c800, 0x8cfff) AM_RAM_WRITE(foreground_w) AM_SHARE("fore_data")
AM_RANGE(0x8d000, 0x8d7ff) AM_RAM_WRITE(midground_w) AM_SHARE("mid_data")
AM_RANGE(0x8d800, 0x8e7ff) AM_RAM_WRITE(text_w) AM_SHARE("textram")
- AM_RANGE(0x8e800, 0x8f7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x8e800, 0x8f7ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x8f800, 0x8ffff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x9d000, 0x9d7ff) AM_WRITE(gfxbank_w)
diff --git a/src/mame/drivers/ddealer.cpp b/src/mame/drivers/ddealer.cpp
index 10bec2366d2..0e19d171117 100644
--- a/src/mame/drivers/ddealer.cpp
+++ b/src/mame/drivers/ddealer.cpp
@@ -478,7 +478,7 @@ static ADDRESS_MAP_START( ddealer, AS_PROGRAM, 16, ddealer_state )
AM_RANGE(0x080006, 0x080007) AM_READ_PORT("UNK")
AM_RANGE(0x080008, 0x080009) AM_READ_PORT("DSW1")
AM_RANGE(0x084000, 0x084003) AM_DEVWRITE8("ymsnd", ym2203_device, write, 0x00ff) // ym ?
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x08c000, 0x08cfff) AM_RAM AM_SHARE("vregs") // palette ram
/* this might actually be 1 tilemap with some funky rowscroll / columnscroll enabled, I'm not sure */
diff --git a/src/mame/drivers/ddragon.cpp b/src/mame/drivers/ddragon.cpp
index 9c2b556744b..ce6a47959f3 100644
--- a/src/mame/drivers/ddragon.cpp
+++ b/src/mame/drivers/ddragon.cpp
@@ -491,8 +491,8 @@ READ8_MEMBER(ddragon_state::dd_adpcm_status_r)
static ADDRESS_MAP_START( ddragon_map, AS_PROGRAM, 8, ddragon_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("rambase")
- AM_RANGE(0x1000, 0x11ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x1200, 0x13ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x1000, 0x11ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x1200, 0x13ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(ddragon_fgvideoram_w) AM_SHARE("fgvideoram")
AM_RANGE(0x2000, 0x21ff) AM_READWRITE(ddragon_comram_r, ddragon_comram_w) AM_SHARE("comram") AM_MIRROR(0x0600)
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_SHARE("spriteram")
@@ -526,8 +526,8 @@ static ADDRESS_MAP_START( dd2_map, AS_PROGRAM, 8, ddragon_state )
AM_RANGE(0x3809, 0x3809) AM_WRITEONLY AM_SHARE("scrollx_lo")
AM_RANGE(0x380a, 0x380a) AM_WRITEONLY AM_SHARE("scrolly_lo")
AM_RANGE(0x380b, 0x380f) AM_READWRITE(ddragon_interrupt_r, ddragon_interrupt_w)
- AM_RANGE(0x3c00, 0x3dff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x3e00, 0x3fff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x3c00, 0x3dff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x3e00, 0x3fff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ddragon3.cpp b/src/mame/drivers/ddragon3.cpp
index e95f61d0c5c..1a6914b2015 100644
--- a/src/mame/drivers/ddragon3.cpp
+++ b/src/mame/drivers/ddragon3.cpp
@@ -255,7 +255,7 @@ READ16_MEMBER(wwfwfest_state::wwfwfest_paletteram_r)
WRITE16_MEMBER(wwfwfest_state::wwfwfest_paletteram_w)
{
offset = (offset & 0x000f) | (offset & 0x7fc0) >> 2;
- m_palette->write(space, offset, data, mem_mask);
+ m_palette->write16(space, offset, data, mem_mask);
}
/*- Priority Control -*/
@@ -304,7 +304,7 @@ static ADDRESS_MAP_START( ddragon3_map, AS_PROGRAM, 16, ddragon3_state )
AM_RANGE(0x100002, 0x100003) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x100004, 0x100005) AM_WRITE(irq6_ack_w)
AM_RANGE(0x100006, 0x100007) AM_WRITE(irq5_ack_w)
- AM_RANGE(0x140000, 0x1405ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") /* Palette RAM */
+ AM_RANGE(0x140000, 0x1405ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") /* Palette RAM */
AM_RANGE(0x180000, 0x180fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x1c0000, 0x1c3fff) AM_RAM /* work RAM */
ADDRESS_MAP_END
@@ -315,7 +315,7 @@ static ADDRESS_MAP_START( dd3b_map, AS_PROGRAM, 16, ddragon3_state )
AM_RANGE(0x081000, 0x081fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x082000, 0x0827ff) AM_RAM_WRITE(ddragon3_bg_videoram_w) AM_SHARE("bg_videoram") /* Background (32x32 Tiles - 2 by per tile) */
AM_RANGE(0x0c0000, 0x0c000f) AM_WRITE(ddragon3_scroll_w)
- AM_RANGE(0x100000, 0x1005ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") /* Palette RAM */
+ AM_RANGE(0x100000, 0x1005ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") /* Palette RAM */
AM_RANGE(0x140000, 0x140001) AM_WRITE(ddragon3_vreg_w)
AM_RANGE(0x140002, 0x140003) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x140004, 0x140005) AM_WRITE(irq6_ack_w)
@@ -335,7 +335,7 @@ static ADDRESS_MAP_START( ctribe_map, AS_PROGRAM, 16, ddragon3_state )
AM_RANGE(0x082000, 0x0827ff) AM_RAM_WRITE(ddragon3_bg_videoram_w) AM_SHARE("bg_videoram") /* Background (32x32 Tiles - 2 by per tile) */
AM_RANGE(0x082800, 0x082fff) AM_RAM
AM_RANGE(0x0c0000, 0x0c000f) AM_READWRITE(ddragon3_scroll_r, ddragon3_scroll_w)
- AM_RANGE(0x100000, 0x1005ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") /* Palette RAM */
+ AM_RANGE(0x100000, 0x1005ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") /* Palette RAM */
AM_RANGE(0x140000, 0x140001) AM_WRITE(ddragon3_vreg_w)
AM_RANGE(0x140002, 0x140003) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x140004, 0x140005) AM_WRITE(irq6_ack_w)
diff --git a/src/mame/drivers/deadang.cpp b/src/mame/drivers/deadang.cpp
index 5c89586f9ad..77b29520306 100644
--- a/src/mame/drivers/deadang.cpp
+++ b/src/mame/drivers/deadang.cpp
@@ -75,7 +75,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, deadang_state )
AM_RANGE(0x08800, 0x0bfff) AM_WRITEONLY
AM_RANGE(0x0a000, 0x0a001) AM_READ_PORT("P1_P2")
AM_RANGE(0x0a002, 0x0a003) AM_READ_PORT("DSW")
- AM_RANGE(0x0c000, 0x0cfff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0c000, 0x0cfff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0d000, 0x0dfff) AM_WRITEONLY
AM_RANGE(0x0e000, 0x0e0ff) AM_WRITEONLY AM_SHARE("scroll_ram")
AM_RANGE(0x0e100, 0x0ffff) AM_WRITEONLY
diff --git a/src/mame/drivers/dec0.cpp b/src/mame/drivers/dec0.cpp
index be8313d297a..eefb3cb71f6 100644
--- a/src/mame/drivers/dec0.cpp
+++ b/src/mame/drivers/dec0.cpp
@@ -455,8 +455,8 @@ static ADDRESS_MAP_START( dec0_map, AS_PROGRAM, 16, dec0_state )
AM_RANGE(0x30c010, 0x30c01f) AM_WRITE(dec0_control_w) /* Priority, sound, etc. */
AM_RANGE(0x30c012, 0x30c013) AM_READNOP // clr.w for sprite DMA
AM_RANGE(0x30c018, 0x30c019) AM_READNOP // clr.w for irq ack
- AM_RANGE(0x310000, 0x3107ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x314000, 0x3147ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x310000, 0x3107ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
+ AM_RANGE(0x314000, 0x3147ff) AM_RAM_DEVWRITE("palette", palette_device, write16_ext) AM_SHARE("palette_ext")
AM_RANGE(0xff8000, 0xffbfff) AM_RAM AM_SHARE("ram") /* Main ram */
AM_RANGE(0xffc000, 0xffc7ff) AM_RAM AM_SHARE("spriteram") /* Sprites */
ADDRESS_MAP_END
@@ -610,7 +610,7 @@ static ADDRESS_MAP_START( slyspy_map, AS_PROGRAM, 16, dec0_state )
AM_RANGE(0x304000, 0x307fff) AM_RAM AM_SHARE("ram") /* Sly spy main ram */
AM_RANGE(0x308000, 0x3087ff) AM_RAM AM_SHARE("spriteram") /* Sprites */
- AM_RANGE(0x310000, 0x3107ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x310000, 0x3107ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x314000, 0x314001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x314002, 0x314003) AM_WRITE(dec0_priority_w)
AM_RANGE(0x314008, 0x31400f) AM_READ(slyspy_controls_r)
@@ -622,7 +622,7 @@ static ADDRESS_MAP_START( midres_map, AS_PROGRAM, 16, dec0_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("ram")
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x140000, 0x1407ff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x140000, 0x1407ff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x160000, 0x160001) AM_WRITE(dec0_priority_w)
AM_RANGE(0x180000, 0x18000f) AM_READ(midres_controls_r)
AM_RANGE(0x180008, 0x18000f) AM_WRITENOP /* ?? watchdog ?? */
@@ -763,7 +763,7 @@ READ16_MEMBER( dec0_automat_state::automat_palette_r )
WRITE16_MEMBER( dec0_automat_state::automat_palette_w )
{
offset ^=0xf;
- m_palette->write(space, offset, data, mem_mask);
+ m_palette->write16(space, offset, data, mem_mask);
}
diff --git a/src/mame/drivers/dec8.cpp b/src/mame/drivers/dec8.cpp
index 7172a1ab71f..42a52cc955f 100644
--- a/src/mame/drivers/dec8.cpp
+++ b/src/mame/drivers/dec8.cpp
@@ -466,8 +466,8 @@ WRITE8_MEMBER(dec8_state::flip_screen_w){ flip_screen_set(data); }
static ADDRESS_MAP_START( lastmisn_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0x1000, 0x13ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write) AM_SHARE("palette")
- AM_RANGE(0x1400, 0x17ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("IN0")
AM_RANGE(0x1801, 0x1801) AM_READ_PORT("IN1")
AM_RANGE(0x1802, 0x1802) AM_READ_PORT("IN2")
@@ -492,8 +492,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( lastmisn_sub_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0x1000, 0x13ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write) AM_SHARE("palette")
- AM_RANGE(0x1400, 0x17ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("IN0")
AM_RANGE(0x1801, 0x1801) AM_READ_PORT("IN1")
AM_RANGE(0x1802, 0x1802) AM_READ_PORT("IN2")
@@ -512,8 +512,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( shackled_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0x1000, 0x13ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write) AM_SHARE("palette")
- AM_RANGE(0x1400, 0x17ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("IN0")
AM_RANGE(0x1801, 0x1801) AM_READ_PORT("IN1")
AM_RANGE(0x1802, 0x1802) AM_READ_PORT("IN2")
@@ -536,8 +536,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( shackled_sub_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0x1000, 0x13ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write) AM_SHARE("palette")
- AM_RANGE(0x1400, 0x17ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("IN0")
AM_RANGE(0x1801, 0x1801) AM_READ_PORT("IN1")
AM_RANGE(0x1802, 0x1802) AM_READ_PORT("IN2")
@@ -563,8 +563,8 @@ static ADDRESS_MAP_START( gondo_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x0000, 0x17ff) AM_RAM
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(dec8_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w) AM_SHARE("bg_data")
- AM_RANGE(0x2800, 0x2bff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write) AM_SHARE("palette")
- AM_RANGE(0x2c00, 0x2fff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x2800, 0x2bff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x2c00, 0x2fff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("spriteram") /* Sprites */
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("DSW0") /* Dip 1 */
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("DSW1") /* Dip 2 */
@@ -586,8 +586,8 @@ static ADDRESS_MAP_START( garyoret_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x0000, 0x17ff) AM_RAM
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(dec8_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x2000, 0x27ff) AM_READWRITE(dec8_bg_data_r, dec8_bg_data_w) AM_SHARE("bg_data")
- AM_RANGE(0x2800, 0x2bff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write) AM_SHARE("palette")
- AM_RANGE(0x2c00, 0x2fff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x2800, 0x2bff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x2c00, 0x2fff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("spriteram") /* Sprites */
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("DSW0") /* Dip 1 */
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("DSW1") /* Dip 2 */
@@ -630,8 +630,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( csilver_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0x1000, 0x13ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write) AM_SHARE("palette")
- AM_RANGE(0x1400, 0x17ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("IN1")
AM_RANGE(0x1801, 0x1801) AM_READ_PORT("IN0")
AM_RANGE(0x1803, 0x1803) AM_READ_PORT("IN2")
@@ -655,8 +655,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( csilver_sub_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0x1000, 0x13ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write) AM_SHARE("palette")
- AM_RANGE(0x1400, 0x17ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x1803, 0x1803) AM_READ_PORT("IN2")
AM_RANGE(0x1804, 0x1804) AM_READ_PORT("DSW1")
AM_RANGE(0x1800, 0x1804) AM_WRITE(shackled_int_w)
@@ -676,7 +676,7 @@ static ADDRESS_MAP_START( oscar_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x2800, 0x2fff) AM_DEVREADWRITE("tilegen1", deco_bac06_device, pf_data_8bit_r, pf_data_8bit_w)
AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("spriteram") /* Sprites */
- AM_RANGE(0x3800, 0x3bff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write) AM_SHARE("palette")
+ AM_RANGE(0x3800, 0x3bff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8) AM_SHARE("palette")
AM_RANGE(0x3c00, 0x3c00) AM_READ_PORT("IN0")
AM_RANGE(0x3c01, 0x3c01) AM_READ_PORT("IN1")
AM_RANGE(0x3c02, 0x3c02) AM_READ_PORT("IN2") /* VBL & coins */
@@ -714,8 +714,8 @@ static ADDRESS_MAP_START( srdarwin_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x1805, 0x1806) AM_WRITE(srdarwin_control_w) /* Scroll & Bank */
AM_RANGE(0x2000, 0x2000) AM_READWRITE(i8751_h_r, dec8_sound_w) /* Sound */
AM_RANGE(0x2001, 0x2001) AM_READWRITE(i8751_l_r, flip_screen_w) /* Flipscreen */
- AM_RANGE(0x2800, 0x288f) AM_DEVWRITE("palette", deco_rmc3_device, write) AM_SHARE("palette")
- AM_RANGE(0x3000, 0x308f) AM_DEVWRITE("palette", deco_rmc3_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x2800, 0x288f) AM_DEVWRITE("palette", deco_rmc3_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x3000, 0x308f) AM_DEVWRITE("palette", deco_rmc3_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("DSW0") /* Dip 1 */
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("IN0") /* Player 1 */
AM_RANGE(0x3802, 0x3802) AM_READ_PORT("IN1") /* Player 2 (cocktail) + VBL */
@@ -731,7 +731,7 @@ static ADDRESS_MAP_START( cobra_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x1800, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(dec8_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x3000, 0x31ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write) AM_SHARE("palette")
+ AM_RANGE(0x3000, 0x31ff) AM_RAM_DEVWRITE("palette", deco_rmc3_device, write8) AM_SHARE("palette")
AM_RANGE(0x3200, 0x37ff) AM_WRITEONLY /* Unused */
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("IN0") /* Player 1 */
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("IN1") /* Player 2 */
diff --git a/src/mame/drivers/deco156.cpp b/src/mame/drivers/deco156.cpp
index 66f65c196d8..532b102e6fb 100644
--- a/src/mame/drivers/deco156.cpp
+++ b/src/mame/drivers/deco156.cpp
@@ -139,7 +139,7 @@ static ADDRESS_MAP_START( hvysmsh_map, AS_PROGRAM, 32, deco156_state )
AM_RANGE(0x194000, 0x195fff) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf2_data_dword_r, pf2_data_dword_w)
AM_RANGE(0x1a0000, 0x1a0fff) AM_READWRITE(wcvol95_pf1_rowscroll_r, wcvol95_pf1_rowscroll_w)
AM_RANGE(0x1a4000, 0x1a4fff) AM_READWRITE(wcvol95_pf2_rowscroll_r, wcvol95_pf2_rowscroll_w)
- AM_RANGE(0x1c0000, 0x1c0fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1c0000, 0x1c0fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x1d0010, 0x1d002f) AM_READNOP // Check for DMA complete?
AM_RANGE(0x1e0000, 0x1e1fff) AM_READWRITE(wcvol95_spriteram_r, wcvol95_spriteram_w)
ADDRESS_MAP_END
@@ -156,7 +156,7 @@ static ADDRESS_MAP_START( wcvol95_map, AS_PROGRAM, 32, deco156_state )
AM_RANGE(0x150000, 0x150003) AM_WRITE_PORT("EEPROMOUT")
AM_RANGE(0x160000, 0x161fff) AM_READWRITE(wcvol95_spriteram_r, wcvol95_spriteram_w)
AM_RANGE(0x170000, 0x170003) AM_NOP // Irq ack?
- AM_RANGE(0x180000, 0x180fff) AM_READONLY AM_DEVWRITE16("palette", palette_device, write, 0x0000ffff) AM_SHARE("palette")
+ AM_RANGE(0x180000, 0x180fff) AM_READONLY AM_DEVWRITE16("palette", palette_device, write16, 0x0000ffff) AM_SHARE("palette")
AM_RANGE(0x1a0000, 0x1a0007) AM_DEVREADWRITE8("ymz", ymz280b_device, read, write, 0x000000ff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/deco32.cpp b/src/mame/drivers/deco32.cpp
index 056e94999cd..2c736765b10 100644
--- a/src/mame/drivers/deco32.cpp
+++ b/src/mame/drivers/deco32.cpp
@@ -388,7 +388,7 @@ static ADDRESS_MAP_START( captaven_map, AS_PROGRAM, 32, captaven_state )
AM_RANGE(0x110000, 0x111fff) AM_READWRITE(spriteram_r, spriteram_w)
AM_RANGE(0x120000, 0x127fff) AM_RAM AM_SHARE("ram") /* Main RAM */
AM_RANGE(0x128000, 0x12ffff) AM_READWRITE16(ioprot_r, ioprot_w, 0x0000ffff)
- AM_RANGE(0x130000, 0x131fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x130000, 0x131fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x148000, 0x14800f) AM_DEVICE8("irq", deco_irq_device, map, 0x000000ff)
AM_RANGE(0x160000, 0x167fff) AM_RAM /* Extra work RAM */
AM_RANGE(0x168000, 0x168003) AM_READ8(captaven_dsw1_r, 0x000000ff)
diff --git a/src/mame/drivers/deco_ld.cpp b/src/mame/drivers/deco_ld.cpp
index 54017aee0cb..d33aedcab41 100644
--- a/src/mame/drivers/deco_ld.cpp
+++ b/src/mame/drivers/deco_ld.cpp
@@ -278,7 +278,7 @@ static ADDRESS_MAP_START( rblaster_map, AS_PROGRAM, 8, deco_ld_state )
//AM_RANGE(0x1006, 0x1007) AM_DEVREADWRITE("acia", acia6850_device, read, write)
AM_RANGE(0x1006, 0x1006) AM_READ(acia_status_hack_r)
AM_RANGE(0x1007, 0x1007) AM_DEVREADWRITE("laserdisc", sony_ldp1000_device, status_r, command_w)
- AM_RANGE(0x1800, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1800, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x2000, 0x27ff) AM_RAM
AM_RANGE(0x2800, 0x2bff) AM_RAM AM_SHARE("vram0")
AM_RANGE(0x2c00, 0x2fff) AM_RAM AM_SHARE("attr0")
diff --git a/src/mame/drivers/diverboy.cpp b/src/mame/drivers/diverboy.cpp
index a8ff783281b..5cf2b784e96 100644
--- a/src/mame/drivers/diverboy.cpp
+++ b/src/mame/drivers/diverboy.cpp
@@ -164,7 +164,7 @@ static ADDRESS_MAP_START( diverboy_map, AS_PROGRAM, 16, diverboy_state )
AM_RANGE(0x040000, 0x04ffff) AM_RAM
AM_RANGE(0x080000, 0x083fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x100000, 0x100001) AM_WRITE(soundcmd_w)
- AM_RANGE(0x140000, 0x1407ff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x140000, 0x1407ff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("P1_P2")
AM_RANGE(0x180002, 0x180003) AM_READ_PORT("DSW")
AM_RANGE(0x180008, 0x180009) AM_READ_PORT("COINS")
diff --git a/src/mame/drivers/djmain.cpp b/src/mame/drivers/djmain.cpp
index f6da5f31717..ec73c660ae9 100644
--- a/src/mame/drivers/djmain.cpp
+++ b/src/mame/drivers/djmain.cpp
@@ -380,7 +380,7 @@ WRITE_LINE_MEMBER( djmain_state::ide_interrupt )
static ADDRESS_MAP_START( maincpu_djmain, AS_PROGRAM, 32, djmain_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // PRG ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM // WORK RAM
- AM_RANGE(0x480000, 0x48443f) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // COLOR RAM
+ AM_RANGE(0x480000, 0x48443f) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette") // COLOR RAM
AM_RANGE(0x500000, 0x57ffff) AM_READWRITE(sndram_r, sndram_w) // SOUND RAM
AM_RANGE(0x580000, 0x58003f) AM_DEVREADWRITE("k056832", k056832_device, long_r, long_w) // VIDEO REG (tilemap)
AM_RANGE(0x590000, 0x590007) AM_WRITE(unknown590000_w) // ??
diff --git a/src/mame/drivers/dogfgt.cpp b/src/mame/drivers/dogfgt.cpp
index d5b95b4c2a1..fce36378443 100644
--- a/src/mame/drivers/dogfgt.cpp
+++ b/src/mame/drivers/dogfgt.cpp
@@ -74,7 +74,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, dogfgt_state )
AM_RANGE(0x1830, 0x1830) AM_READ_PORT("DSW2")
AM_RANGE(0x1830, 0x1830) AM_WRITE(dogfgt_soundlatch_w)
AM_RANGE(0x1840, 0x1840) AM_WRITE(dogfgt_soundcontrol_w)
- AM_RANGE(0x1870, 0x187f) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1870, 0x187f) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(dogfgt_bitmapram_r, dogfgt_bitmapram_w)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dominob.cpp b/src/mame/drivers/dominob.cpp
index c78a992e538..fe64e76d69b 100644
--- a/src/mame/drivers/dominob.cpp
+++ b/src/mame/drivers/dominob.cpp
@@ -193,7 +193,7 @@ static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, dominob_state )
AM_RANGE(0xe840, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xf07f) AM_RAM AM_SHARE("bgram")
AM_RANGE(0xf080, 0xf7ff) AM_RAM
- AM_RANGE(0xf800, 0xfbff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xf800, 0xfbff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xfc00, 0xffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/dooyong.cpp b/src/mame/drivers/dooyong.cpp
index 16c2c51fbd8..a10f89a14f2 100644
--- a/src/mame/drivers/dooyong.cpp
+++ b/src/mame/drivers/dooyong.cpp
@@ -783,7 +783,7 @@ ADDRESS_MAP_START( lastday_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state )
AM_RANGE(0xc012, 0xc012) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0xc013, 0xc013) AM_READ_PORT("DSWA")
AM_RANGE(0xc014, 0xc014) AM_READ_PORT("DSWB")
- AM_RANGE(0xc800, 0xcfff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xc800, 0xcfff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xd000, 0xdfff) AM_READWRITE(lastday_tx_r, lastday_tx_w)
AM_RANGE(0xe000, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("spriteram")
@@ -823,7 +823,7 @@ ADDRESS_MAP_START( gulfstrm_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state )
AM_RANGE(0xf010, 0xf010) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0xf018, 0xf01f) AM_DEVWRITE("bg", dooyong_rom_tilemap_device, ctrl_w)
AM_RANGE(0xf020, 0xf027) AM_DEVWRITE("fg", dooyong_rom_tilemap_device, ctrl_w)
- AM_RANGE(0xf800, 0xffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xf800, 0xffff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
ADDRESS_MAP_START( bluehawk_map, AS_PROGRAM, 8, dooyong_z80_state )
@@ -840,7 +840,7 @@ ADDRESS_MAP_START( bluehawk_map, AS_PROGRAM, 8, dooyong_z80_state )
AM_RANGE(0xc018, 0xc01f) AM_DEVWRITE("fg2", dooyong_rom_tilemap_device, ctrl_w)
AM_RANGE(0xc040, 0xc047) AM_DEVWRITE("bg", dooyong_rom_tilemap_device, ctrl_w)
AM_RANGE(0xc048, 0xc04f) AM_DEVWRITE("fg", dooyong_rom_tilemap_device, ctrl_w)
- AM_RANGE(0xc800, 0xcfff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xc800, 0xcfff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xd000, 0xdfff) AM_READWRITE(bluehawk_tx_r, bluehawk_tx_w)
AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xf000, 0xffff) AM_RAM
@@ -871,7 +871,7 @@ ADDRESS_MAP_START( primella_map, AS_PROGRAM, 8, dooyong_z80_state )
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xd3ff) AM_RAM /* what is this? looks like a palette? scratchpad RAM maybe? */
AM_RANGE(0xe000, 0xefff) AM_READWRITE(bluehawk_tx_r, bluehawk_tx_w)
- AM_RANGE(0xf000, 0xf7ff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xf000, 0xf7ff) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xf800, 0xf800) AM_READ_PORT("DSWA")
AM_RANGE(0xf800, 0xf800) AM_WRITE(primella_ctrl_w) /* bank switch, flip screen etc */
AM_RANGE(0xf810, 0xf810) AM_READ_PORT("DSWB")
@@ -894,7 +894,7 @@ ADDRESS_MAP_START( rshark_map, AS_PROGRAM, 16, dooyong_68k_state )
AM_RANGE(0x0c0006, 0x0c0007) AM_READ_PORT("SYSTEM")
AM_RANGE(0x0c4000, 0x0c400f) AM_DEVWRITE8("bg", dooyong_rom_tilemap_device, ctrl_w, 0x00ff)
AM_RANGE(0x0c4010, 0x0c401f) AM_DEVWRITE8("bg2", dooyong_rom_tilemap_device, ctrl_w, 0x00ff)
- AM_RANGE(0x0c8000, 0x0c8fff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0c8000, 0x0c8fff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0c0012, 0x0c0013) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x0c0014, 0x0c0015) AM_WRITE(ctrl_w) /* flip screen + unknown stuff */
AM_RANGE(0x0cc000, 0x0cc00f) AM_DEVWRITE8("fg", dooyong_rom_tilemap_device, ctrl_w, 0x00ff)
@@ -912,7 +912,7 @@ ADDRESS_MAP_START( superx_map, AS_PROGRAM, 16, dooyong_68k_state )
AM_RANGE(0x080006, 0x080007) AM_READ_PORT("SYSTEM")
AM_RANGE(0x084000, 0x08400f) AM_DEVWRITE8("bg", dooyong_rom_tilemap_device, ctrl_w, 0x00ff)
AM_RANGE(0x084010, 0x08401f) AM_DEVWRITE8("bg2", dooyong_rom_tilemap_device, ctrl_w, 0x00ff)
- AM_RANGE(0x088000, 0x088fff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x088000, 0x088fff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x080012, 0x080013) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x080014, 0x080015) AM_WRITE(ctrl_w) /* flip screen + unknown stuff */
AM_RANGE(0x08c000, 0x08c00f) AM_DEVWRITE8("fg", dooyong_rom_tilemap_device, ctrl_w, 0x00ff)
@@ -933,7 +933,7 @@ ADDRESS_MAP_START( popbingo_map, AS_PROGRAM, 16, dooyong_68k_state )
AM_RANGE(0x0c0018, 0x0c001b) AM_WRITENOP // ?
AM_RANGE(0x0c4000, 0x0c400f) AM_DEVWRITE8("bg", dooyong_rom_tilemap_device, ctrl_w, 0x00ff)
AM_RANGE(0x0c4010, 0x0c401f) AM_DEVWRITE8("bg2", dooyong_rom_tilemap_device, ctrl_w, 0x00ff)
- AM_RANGE(0x0c8000, 0x0c8fff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0c8000, 0x0c8fff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
//AM_RANGE(0x08c000, 0x08c00f) AM_DEVWRITE8("fg", dooyong_rom_tilemap_device, ctrl_w, 0x00ff) apparently not present
//AM_RANGE(0x08c010, 0x08c01f) AM_DEVWRITE8("fg2", dooyong_rom_tilemap_device, ctrl_w, 0x00ff) apparently not present
AM_RANGE(0x0dc000, 0x0dc01f) AM_RAM // registers of some kind?
diff --git a/src/mame/drivers/dreambal.cpp b/src/mame/drivers/dreambal.cpp
index 07a57252689..bcf19ad71ce 100644
--- a/src/mame/drivers/dreambal.cpp
+++ b/src/mame/drivers/dreambal.cpp
@@ -120,7 +120,7 @@ static ADDRESS_MAP_START( dreambal_map, AS_PROGRAM, 16, dreambal_state )
AM_RANGE(0x103000, 0x103fff) AM_RAM
AM_RANGE(0x120000, 0x123fff) AM_RAM
- AM_RANGE(0x140000, 0x1403ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x140000, 0x1403ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x161000, 0x16100f) AM_DEVWRITE("tilegen1", deco16ic_device, pf_control_w)
AM_RANGE(0x160000, 0x163fff) AM_READWRITE(dreambal_protection_region_0_104_r,dreambal_protection_region_0_104_w)AM_SHARE("prot16ram") /* Protection device */
diff --git a/src/mame/drivers/dreamwld.cpp b/src/mame/drivers/dreamwld.cpp
index 7b5ef9cf6a6..6c6393d9914 100644
--- a/src/mame/drivers/dreamwld.cpp
+++ b/src/mame/drivers/dreamwld.cpp
@@ -458,7 +458,7 @@ static ADDRESS_MAP_START( baryon_map, AS_PROGRAM, 32, dreamwld_state )
AM_RANGE(0x000000, 0x1fffff) AM_ROM AM_WRITENOP
AM_RANGE(0x400000, 0x401fff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(dreamwld_bg_videoram_w ) AM_SHARE("bg_videoram")
AM_RANGE(0x802000, 0x803fff) AM_RAM_WRITE(dreamwld_bg2_videoram_w ) AM_SHARE("bg2_videoram")
AM_RANGE(0x804000, 0x8043ff) AM_READWRITE16(lineram16_r, lineram16_w, 0xffffffff) // linescroll
diff --git a/src/mame/drivers/drgnmst.cpp b/src/mame/drivers/drgnmst.cpp
index e111db3713d..bfbc8eae54f 100644
--- a/src/mame/drivers/drgnmst.cpp
+++ b/src/mame/drivers/drgnmst.cpp
@@ -196,7 +196,7 @@ static ADDRESS_MAP_START( drgnmst_main_map, AS_PROGRAM, 16, drgnmst_state )
AM_RANGE(0x800180, 0x800181) AM_WRITE(drgnmst_snd_command_w)
AM_RANGE(0x800188, 0x800189) AM_WRITE(drgnmst_snd_flag_w)
AM_RANGE(0x8001e0, 0x8001e1) AM_WRITENOP
- AM_RANGE(0x900000, 0x903fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x900000, 0x903fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x904000, 0x907fff) AM_RAM_WRITE(drgnmst_md_videoram_w) AM_SHARE("md_videoram")
AM_RANGE(0x908000, 0x90bfff) AM_RAM_WRITE(drgnmst_bg_videoram_w) AM_SHARE("bg_videoram")
AM_RANGE(0x90c000, 0x90ffff) AM_RAM_WRITE(drgnmst_fg_videoram_w) AM_SHARE("fg_videoram")
diff --git a/src/mame/drivers/drtomy.cpp b/src/mame/drivers/drtomy.cpp
index 157acd963ac..ec72da0f7dd 100644
--- a/src/mame/drivers/drtomy.cpp
+++ b/src/mame/drivers/drtomy.cpp
@@ -177,7 +177,7 @@ static ADDRESS_MAP_START( drtomy_map, AS_PROGRAM, 16, drtomy_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM /* ROM */
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(drtomy_vram_fg_w) AM_SHARE("videorafg") /* Video RAM FG */
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(drtomy_vram_bg_w) AM_SHARE("videorabg") /* Video RAM BG */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_SHARE("spriteram") /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW1")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW2")
diff --git a/src/mame/drivers/dynduke.cpp b/src/mame/drivers/dynduke.cpp
index 6e66245ef1a..1ad28a988c5 100644
--- a/src/mame/drivers/dynduke.cpp
+++ b/src/mame/drivers/dynduke.cpp
@@ -98,7 +98,7 @@ static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 16, dynduke_state )
AM_RANGE(0x00000, 0x05fff) AM_RAM
AM_RANGE(0x06000, 0x067ff) AM_RAM_WRITE(background_w) AM_SHARE("back_data")
AM_RANGE(0x06800, 0x06fff) AM_RAM_WRITE(foreground_w) AM_SHARE("fore_data")
- AM_RANGE(0x07000, 0x07fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x07000, 0x07fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x08000, 0x08fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x0a000, 0x0a001) AM_WRITE(gfxbank_w)
AM_RANGE(0x0c000, 0x0c001) AM_WRITENOP
diff --git a/src/mame/drivers/egghunt.cpp b/src/mame/drivers/egghunt.cpp
index 7323c8b5a86..476db76b011 100644
--- a/src/mame/drivers/egghunt.cpp
+++ b/src/mame/drivers/egghunt.cpp
@@ -237,7 +237,7 @@ WRITE8_MEMBER(egghunt_state::egghunt_okibanking_w)
static ADDRESS_MAP_START( egghunt_map, AS_PROGRAM, 8, egghunt_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0xc000, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(egghunt_atram_w) AM_SHARE("atram")
AM_RANGE(0xd000, 0xdfff) AM_READWRITE(egghunt_bgram_r, egghunt_bgram_w)
AM_RANGE(0xe000, 0xffff) AM_RAM
diff --git a/src/mame/drivers/eprom.cpp b/src/mame/drivers/eprom.cpp
index 0fc68071df1..970cddac71e 100644
--- a/src/mame/drivers/eprom.cpp
+++ b/src/mame/drivers/eprom.cpp
@@ -150,7 +150,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, eprom_state )
AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
AM_RANGE(0x16cc00, 0x16cc01) AM_READWRITE(sync_r, sync_w<true>)
AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000")
AM_RANGE(0x260010, 0x26001f) AM_READ(special_port1_r)
AM_RANGE(0x260020, 0x26002f) AM_READ(adc_r)
@@ -161,11 +161,11 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, eprom_state )
AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("jsa", atari_jsa_base_device, sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_DEVWRITE8("jsa", atari_jsa_base_device, main_command_w, 0x00ff)
AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM AM_SHARE("paletteram")
- AM_RANGE(0x3f0000, 0x3f1fff) AM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
+ AM_RANGE(0x3f0000, 0x3f1fff) AM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
AM_RANGE(0x3f2000, 0x3f3fff) AM_RAM AM_SHARE("mob")
- AM_RANGE(0x3f4000, 0x3f4f7f) AM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha")
+ AM_RANGE(0x3f4000, 0x3f4f7f) AM_DEVWRITE("alpha", tilemap_device, write16) AM_SHARE("alpha")
AM_RANGE(0x3f4f80, 0x3f4fff) AM_RAM AM_SHARE("mob:slip")
- AM_RANGE(0x3f8000, 0x3f9fff) AM_DEVWRITE("playfield", tilemap_device, write_ext) AM_SHARE("playfield_ext")
+ AM_RANGE(0x3f8000, 0x3f9fff) AM_DEVWRITE("playfield", tilemap_device, write16_ext) AM_SHARE("playfield_ext")
AM_RANGE(0x3f0000, 0x3f9fff) AM_RAM
ADDRESS_MAP_END
@@ -175,7 +175,7 @@ static ADDRESS_MAP_START( guts_map, AS_PROGRAM, 16, eprom_state )
AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
AM_RANGE(0x16cc00, 0x16cc01) AM_READWRITE(sync_r, sync_w<true>)
AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000")
AM_RANGE(0x260010, 0x26001f) AM_READ(special_port1_r)
AM_RANGE(0x260020, 0x26002f) AM_READ(adc_r)
@@ -186,10 +186,10 @@ static ADDRESS_MAP_START( guts_map, AS_PROGRAM, 16, eprom_state )
AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_DEVWRITE8("jsa", atari_jsa_ii_device, main_command_w, 0x00ff)
AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM AM_SHARE("paletteram")
- AM_RANGE(0xff0000, 0xff1fff) AM_DEVWRITE("playfield", tilemap_device, write_ext) AM_SHARE("playfield_ext")
- AM_RANGE(0xff8000, 0xff9fff) AM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
+ AM_RANGE(0xff0000, 0xff1fff) AM_DEVWRITE("playfield", tilemap_device, write16_ext) AM_SHARE("playfield_ext")
+ AM_RANGE(0xff8000, 0xff9fff) AM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
AM_RANGE(0xffa000, 0xffbfff) AM_RAM AM_SHARE("mob")
- AM_RANGE(0xffc000, 0xffcf7f) AM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha")
+ AM_RANGE(0xffc000, 0xffcf7f) AM_DEVWRITE("alpha", tilemap_device, write16) AM_SHARE("alpha")
AM_RANGE(0xffcf80, 0xffcfff) AM_RAM AM_SHARE("mob:slip")
AM_RANGE(0xff0000, 0xff1fff) AM_RAM
AM_RANGE(0xff8000, 0xffffff) AM_RAM
diff --git a/src/mame/drivers/esd16.cpp b/src/mame/drivers/esd16.cpp
index e76e9be7889..870370d1687 100644
--- a/src/mame/drivers/esd16.cpp
+++ b/src/mame/drivers/esd16.cpp
@@ -149,7 +149,7 @@ WRITE16_MEMBER(esd16_state::esd_eeprom_w)
AM_RANGE(_BASE + 0xc, _BASE + 0xd) AM_WRITENOP \
AM_RANGE(_BASE + 0xe, _BASE + 0xf) AM_WRITEONLY AM_SHARE("head_layersize")
#define ESD16_PALETTE_AREA( _BASE ) \
- AM_RANGE(_BASE + 0x000, _BASE + 0xfff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(_BASE + 0x000, _BASE + 0xfff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
#define ESD16_SPRITE_AREA( _BASE ) \
AM_RANGE(_BASE + 0x000, _BASE + 0x7ff) AM_WRITEONLY AM_SHARE("spriteram") AM_MIRROR(0x000800)
#define ESD16_VRAM_AREA( _BASE ) \
diff --git a/src/mame/drivers/expro02.cpp b/src/mame/drivers/expro02.cpp
index 1d3dabeac79..1ce70483735 100644
--- a/src/mame/drivers/expro02.cpp
+++ b/src/mame/drivers/expro02.cpp
@@ -654,7 +654,7 @@ static ADDRESS_MAP_START( expro02_video_base_map, AS_PROGRAM, 16, expro02_state
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_SHARE("fg_ind8ram")
AM_RANGE(0x520000, 0x53ffff) AM_RAM AM_SHARE("bg_rgb555ram")
AM_RANGE(0x580000, 0x583fff) AM_DEVREADWRITE("view2_0", kaneko_view2_tilemap_device, kaneko_tmap_vram_r, kaneko_tmap_vram_w )
- AM_RANGE(0x600000, 0x600fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // palette?
+ AM_RANGE(0x600000, 0x600fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // palette?
AM_RANGE(0x680000, 0x68001f) AM_DEVREADWRITE("view2_0", kaneko_view2_tilemap_device, kaneko_tmap_regs_r, kaneko_tmap_regs_w)
AM_RANGE(0x700000, 0x700fff) AM_RAM AM_SHARE("spriteram") // sprites? 0x72f words tested
AM_RANGE(0x780000, 0x78001f) AM_DEVREADWRITE("kan_spr", kaneko16_sprite_device, kaneko16_sprites_regs_r, kaneko16_sprites_regs_w)
@@ -666,7 +666,7 @@ static ADDRESS_MAP_START( expro02_video_base_map_noview2, AS_PROGRAM, 16, expro0
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_SHARE("fg_ind8ram")
AM_RANGE(0x520000, 0x53ffff) AM_RAM AM_SHARE("bg_rgb555ram")
AM_RANGE(0x580000, 0x583fff) AM_NOP // games still makes leftover accesses
- AM_RANGE(0x600000, 0x600fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // palette?
+ AM_RANGE(0x600000, 0x600fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // palette?
AM_RANGE(0x680000, 0x68001f) AM_NOP // games still makes leftover accesses
AM_RANGE(0x700000, 0x700fff) AM_RAM AM_SHARE("spriteram") // sprites? 0x72f words tested
AM_RANGE(0x780000, 0x78001f) AM_DEVREADWRITE("kan_spr", kaneko16_sprite_device, kaneko16_sprites_regs_r, kaneko16_sprites_regs_w)
diff --git a/src/mame/drivers/exterm.cpp b/src/mame/drivers/exterm.cpp
index 9a05256cef0..35dbc612f7d 100644
--- a/src/mame/drivers/exterm.cpp
+++ b/src/mame/drivers/exterm.cpp
@@ -265,7 +265,7 @@ static ADDRESS_MAP_START( master_map, AS_PROGRAM, 16, exterm_state )
AM_RANGE(0x01500000, 0x0153ffff) AM_MIRROR(0xfc000000) AM_WRITE(exterm_output_port_0_w)
AM_RANGE(0x01580000, 0x015bffff) AM_MIRROR(0xfc000000) AM_WRITE8(sound_latch_w, 0x00ff)
AM_RANGE(0x015c0000, 0x015fffff) AM_MIRROR(0xfc000000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
- AM_RANGE(0x01800000, 0x01807fff) AM_MIRROR(0xfc7f8000) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x01800000, 0x01807fff) AM_MIRROR(0xfc7f8000) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
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)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/f1gp.cpp b/src/mame/drivers/f1gp.cpp
index 8fe2278ea6b..0bb100a935d 100644
--- a/src/mame/drivers/f1gp.cpp
+++ b/src/mame/drivers/f1gp.cpp
@@ -69,7 +69,7 @@ static ADDRESS_MAP_START( f1gp_cpu1_map, AS_PROGRAM, 16, f1gp_state )
AM_RANGE(0xff8000, 0xffbfff) AM_RAM // WORK RAM-1
AM_RANGE(0xffc000, 0xffcfff) AM_RAM AM_SHARE("sharedram") // DUAL RAM
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(f1gp_fgvideoram_w) AM_SHARE("fgvideoram") // CHARACTER
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // PALETTE
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // PALETTE
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("INPUTS")
AM_RANGE(0xfff000, 0xfff001) AM_WRITE(f1gp_gfxctrl_w)
// AM_RANGE(0xfff002, 0xfff003) analog wheel?
@@ -91,7 +91,7 @@ static ADDRESS_MAP_START( f1gp2_cpu1_map, AS_PROGRAM, 16, f1gp_state )
AM_RANGE(0xff8000, 0xffbfff) AM_RAM // WORK RAM-1
AM_RANGE(0xffc000, 0xffcfff) AM_RAM AM_SHARE("sharedram") // DUAL RAM
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(f1gp_fgvideoram_w) AM_SHARE("fgvideoram") // CHARACTER
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // PALETTE
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // PALETTE
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("INPUTS") AM_WRITE(f1gp2_gfxctrl_w)
// AM_RANGE(0xfff002, 0xfff003) analog wheel?
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW1")
@@ -165,7 +165,7 @@ static ADDRESS_MAP_START( f1gpb_cpu1_map, AS_PROGRAM, 16, f1gp_state )
AM_RANGE(0xff8000, 0xffbfff) AM_RAM
AM_RANGE(0xffc000, 0xffcfff) AM_RAM AM_SHARE("sharedram")
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(f1gp_fgvideoram_w) AM_SHARE("fgvideoram")
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("INPUTS")
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW1")
AM_RANGE(0xfff006, 0xfff007) AM_READ_PORT("DSW2")
diff --git a/src/mame/drivers/fantland.cpp b/src/mame/drivers/fantland.cpp
index 36061b647ab..5ea9efb94cd 100644
--- a/src/mame/drivers/fantland.cpp
+++ b/src/mame/drivers/fantland.cpp
@@ -128,7 +128,7 @@ static ADDRESS_MAP_START( fantland_map, AS_PROGRAM, 16, fantland_state )
AM_RANGE( 0x00000, 0x07fff ) AM_RAM
AM_RANGE( 0x08000, 0x7ffff ) AM_ROM
- AM_RANGE( 0xa2000, 0xa21ff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE( 0xa2000, 0xa21ff ) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE( 0xa3000, 0xa3001 ) AM_READ_PORT("a3000") AM_WRITE(fantland_nmi_enable_16_w )
AM_RANGE( 0xa3002, 0xa3003 ) AM_READ_PORT("a3002") AM_WRITE(fantland_soundlatch_16_w )
@@ -148,7 +148,7 @@ static ADDRESS_MAP_START( galaxygn_map, AS_PROGRAM, 8, fantland_state )
AM_RANGE( 0x00000, 0x07fff ) AM_RAM
AM_RANGE( 0x10000, 0x2ffff ) AM_ROM
- AM_RANGE( 0x52000, 0x521ff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE( 0x52000, 0x521ff ) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE( 0x53000, 0x53000 ) AM_READ_PORT("P1") AM_WRITE(fantland_nmi_enable_w )
AM_RANGE( 0x53001, 0x53001 ) AM_READ_PORT("P2")
@@ -240,7 +240,7 @@ static ADDRESS_MAP_START( borntofi_map, AS_PROGRAM, 8, fantland_state )
AM_RANGE( 0x00000, 0x07fff ) AM_RAM
AM_RANGE( 0x10000, 0x2ffff ) AM_ROM
- AM_RANGE( 0x52000, 0x521ff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE( 0x52000, 0x521ff ) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE( 0x53000, 0x53001 ) AM_READWRITE(borntofi_inputs_r, borntofi_nmi_enable_w )
AM_RANGE( 0x53002, 0x53002 ) AM_READ_PORT( "DSW" ) AM_WRITE(fantland_soundlatch_w )
AM_RANGE( 0x53003, 0x53003 ) AM_READ_PORT( "Controls" )
@@ -269,7 +269,7 @@ static ADDRESS_MAP_START( wheelrun_map, AS_PROGRAM, 8, fantland_state )
AM_RANGE(0x30000, 0x3ffff) AM_ROM
AM_RANGE(0x70000, 0x7ffff) AM_ROM
- AM_RANGE(0x52000, 0x521ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x52000, 0x521ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x53000, 0x53000) AM_READ_PORT( "53000" ) AM_WRITE(borntofi_nmi_enable_w )
AM_RANGE(0x53001, 0x53001) AM_READ_PORT( "53001" )
diff --git a/src/mame/drivers/feversoc.cpp b/src/mame/drivers/feversoc.cpp
index ddd9dd00bc2..41ef211ba1c 100644
--- a/src/mame/drivers/feversoc.cpp
+++ b/src/mame/drivers/feversoc.cpp
@@ -205,7 +205,7 @@ static ADDRESS_MAP_START( feversoc_map, AS_PROGRAM, 32, feversoc_state )
AM_RANGE(0x0600000c, 0x0600000f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff0000)
//AM_RANGE(0x06010000, 0x0601007f) AM_DEVREADWRITE("obj", seibu_encrypted_sprite_device, read, write) AM_RAM
AM_RANGE(0x06010060, 0x06010063) AM_WRITENOP // sprite buffering
- AM_RANGE(0x06018000, 0x06019fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x06018000, 0x06019fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
ADDRESS_MAP_END
static const gfx_layout spi_spritelayout =
diff --git a/src/mame/drivers/fitfight.cpp b/src/mame/drivers/fitfight.cpp
index 4d3fe1e4c10..0166c005e76 100644
--- a/src/mame/drivers/fitfight.cpp
+++ b/src/mame/drivers/fitfight.cpp
@@ -175,7 +175,7 @@ static ADDRESS_MAP_START( fitfight_main_map, AS_PROGRAM, 16, fitfight_state )
AM_RANGE(0xb14000, 0xb17fff) AM_RAM //used by histryma @0x0000b25a,b270
AM_RANGE(0xb18000, 0xb1bfff) AM_RAM //used by histryma @0x0000b25a,b270,b286
- AM_RANGE(0xc00000, 0xc00fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xc00000, 0xc00fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_SHARE("spriteram")
@@ -207,7 +207,7 @@ static ADDRESS_MAP_START( bbprot_main_map, AS_PROGRAM, 16, fitfight_state )
AM_RANGE(0xb0c000, 0xb0ffff) AM_RAM_WRITE(fof_txt_tileram_w) AM_SHARE("fof_txt_tileram")
AM_RANGE(0xc00000, 0xc00fff) AM_READONLY
- AM_RANGE(0xc00000, 0xc03fff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xc00000, 0xc03fff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_SHARE("spriteram")
diff --git a/src/mame/drivers/flkatck.cpp b/src/mame/drivers/flkatck.cpp
index cde7bcb833f..aaee647cc1d 100644
--- a/src/mame/drivers/flkatck.cpp
+++ b/src/mame/drivers/flkatck.cpp
@@ -96,7 +96,7 @@ static ADDRESS_MAP_START( flkatck_map, AS_PROGRAM, 8, flkatck_state )
AM_RANGE(0x0000, 0x0007) AM_RAM_WRITE(flkatck_k007121_regs_w) /* 007121 registers */
AM_RANGE(0x0008, 0x03ff) AM_RAM /* RAM */
AM_RANGE(0x0400, 0x041f) AM_READWRITE(flkatck_ls138_r, flkatck_ls138_w) /* inputs, DIPS, bankswitch, counters, sound command */
- AM_RANGE(0x0800, 0x0bff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") /* palette */
+ AM_RANGE(0x0800, 0x0bff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette") /* palette */
AM_RANGE(0x1000, 0x1fff) AM_RAM /* RAM */
AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(flkatck_k007121_w) AM_SHARE("k007121_ram") /* Video RAM (007121) */
AM_RANGE(0x4000, 0x5fff) AM_ROMBANK("bank1") /* banked ROM */
diff --git a/src/mame/drivers/foodf.cpp b/src/mame/drivers/foodf.cpp
index 60b260ab9ac..9b3f014a589 100644
--- a/src/mame/drivers/foodf.cpp
+++ b/src/mame/drivers/foodf.cpp
@@ -213,7 +213,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, foodf_state )
AM_RANGE(0x014000, 0x014fff) AM_MIRROR(0x3e3000) AM_RAM
AM_RANGE(0x018000, 0x018fff) AM_MIRROR(0x3e3000) AM_RAM
AM_RANGE(0x01c000, 0x01c0ff) AM_MIRROR(0x3e3f00) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x800000, 0x8007ff) AM_MIRROR(0x03f800) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
+ AM_RANGE(0x800000, 0x8007ff) AM_MIRROR(0x03f800) AM_RAM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
AM_RANGE(0x900000, 0x9001ff) AM_MIRROR(0x03fe00) AM_DEVREADWRITE8("nvram", x2212_device, read, write, 0x00ff)
AM_RANGE(0x940000, 0x940007) AM_MIRROR(0x023ff8) AM_READ(analog_r)
AM_RANGE(0x944000, 0x944007) AM_MIRROR(0x023ff8) AM_WRITE(analog_w)
diff --git a/src/mame/drivers/fresh.cpp b/src/mame/drivers/fresh.cpp
index f7993913513..9d37dcf1c68 100644
--- a/src/mame/drivers/fresh.cpp
+++ b/src/mame/drivers/fresh.cpp
@@ -191,8 +191,8 @@ static ADDRESS_MAP_START( fresh_map, AS_PROGRAM, 16, fresh_state )
// written together
- AM_RANGE(0xc40000, 0xc417ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0xc50000, 0xc517ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0xc40000, 0xc417ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
+ AM_RANGE(0xc50000, 0xc517ff) AM_RAM_DEVWRITE("palette", palette_device, write16_ext) AM_SHARE("palette_ext")
AM_RANGE(0xd00000, 0xd00001) AM_DEVWRITE8("ymsnd", ym2413_device, register_port_w, 0x00ff)
AM_RANGE(0xd10000, 0xd10001) AM_DEVWRITE8("ymsnd", ym2413_device, data_port_w, 0x00ff)
diff --git a/src/mame/drivers/fromanc2.cpp b/src/mame/drivers/fromanc2.cpp
index d4ed8f4fd01..a4796f3ca4e 100644
--- a/src/mame/drivers/fromanc2.cpp
+++ b/src/mame/drivers/fromanc2.cpp
@@ -180,8 +180,8 @@ static ADDRESS_MAP_START( fromanc2_main_map, AS_PROGRAM, 16, fromanc2_state )
AM_RANGE(0x900000, 0x903fff) AM_WRITE(fromanc2_videoram_2_w) // VRAM 0, 1 (2P)
AM_RANGE(0x980000, 0x983fff) AM_WRITE(fromanc2_videoram_3_w) // VRAM 2, 3 (2P)
- AM_RANGE(0xa00000, 0xa00fff) AM_RAM_DEVWRITE("lpalette", palette_device, write) AM_SHARE("lpalette") // PALETTE (1P)
- AM_RANGE(0xa80000, 0xa80fff) AM_RAM_DEVWRITE("rpalette", palette_device, write) AM_SHARE("rpalette") // PALETTE (2P)
+ AM_RANGE(0xa00000, 0xa00fff) AM_RAM_DEVWRITE("lpalette", palette_device, write16) AM_SHARE("lpalette") // PALETTE (1P)
+ AM_RANGE(0xa80000, 0xa80fff) AM_RAM_DEVWRITE("rpalette", palette_device, write16) AM_SHARE("rpalette") // PALETTE (2P)
AM_RANGE(0xd00000, 0xd00023) AM_WRITE(fromanc2_gfxreg_0_w) // SCROLL REG (1P/2P)
AM_RANGE(0xd00100, 0xd00123) AM_WRITE(fromanc2_gfxreg_2_w) // SCROLL REG (1P/2P)
@@ -212,8 +212,8 @@ static ADDRESS_MAP_START( fromancr_main_map, AS_PROGRAM, 16, fromanc2_state )
AM_RANGE(0x900000, 0x903fff) AM_WRITE(fromancr_videoram_2_w) // VRAM TEXT (1P/2P)
AM_RANGE(0x980000, 0x983fff) AM_WRITENOP // VRAM Unused ?
- AM_RANGE(0xa00000, 0xa00fff) AM_RAM_DEVWRITE("lpalette", palette_device, write) AM_SHARE("lpalette") // PALETTE (1P)
- AM_RANGE(0xa80000, 0xa80fff) AM_RAM_DEVWRITE("rpalette", palette_device, write) AM_SHARE("rpalette") // PALETTE (2P)
+ AM_RANGE(0xa00000, 0xa00fff) AM_RAM_DEVWRITE("lpalette", palette_device, write16) AM_SHARE("lpalette") // PALETTE (1P)
+ AM_RANGE(0xa80000, 0xa80fff) AM_RAM_DEVWRITE("rpalette", palette_device, write16) AM_SHARE("rpalette") // PALETTE (2P)
AM_RANGE(0xd00000, 0xd00023) AM_WRITE(fromancr_gfxreg_1_w) // SCROLL REG (1P/2P)
AM_RANGE(0xd00200, 0xd002ff) AM_WRITENOP // ?
@@ -250,8 +250,8 @@ static ADDRESS_MAP_START( fromanc4_main_map, AS_PROGRAM, 16, fromanc2_state )
AM_RANGE(0xd90000, 0xd9ffff) AM_WRITE(fromanc4_videoram_1_w) // VRAM BG (1P/2P)
AM_RANGE(0xda0000, 0xdaffff) AM_WRITE(fromanc4_videoram_2_w) // VRAM TEXT (1P/2P)
- AM_RANGE(0xdb0000, 0xdb0fff) AM_RAM_DEVWRITE("lpalette", palette_device, write) AM_SHARE("lpalette") // PALETTE (1P)
- AM_RANGE(0xdc0000, 0xdc0fff) AM_RAM_DEVWRITE("rpalette", palette_device, write) AM_SHARE("rpalette") // PALETTE (2P)
+ AM_RANGE(0xdb0000, 0xdb0fff) AM_RAM_DEVWRITE("lpalette", palette_device, write16) AM_SHARE("lpalette") // PALETTE (1P)
+ AM_RANGE(0xdc0000, 0xdc0fff) AM_RAM_DEVWRITE("rpalette", palette_device, write16) AM_SHARE("rpalette") // PALETTE (2P)
AM_RANGE(0xd10000, 0xd10001) AM_READ(fromanc2_keymatrix_r) // INPUT KEY MATRIX
AM_RANGE(0xd20000, 0xd20001) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/funkyjet.cpp b/src/mame/drivers/funkyjet.cpp
index 7f0fbb4dc6a..b33a978cee5 100644
--- a/src/mame/drivers/funkyjet.cpp
+++ b/src/mame/drivers/funkyjet.cpp
@@ -133,7 +133,7 @@ WRITE16_MEMBER( funkyjet_state::funkyjet_protection_region_0_146_w )
static ADDRESS_MAP_START( funkyjet_map, AS_PROGRAM, 16, funkyjet_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x120000, 0x1207ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x120000, 0x1207ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x140000, 0x143fff) AM_RAM
AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x180000, 0x183fff) AM_READWRITE(funkyjet_protection_region_0_146_r,funkyjet_protection_region_0_146_w) AM_SHARE("prot16ram") /* Protection device */ // unlikely to be cs0 region
diff --git a/src/mame/drivers/funtech.cpp b/src/mame/drivers/funtech.cpp
index 57e0a41ea55..fa9e952eb06 100644
--- a/src/mame/drivers/funtech.cpp
+++ b/src/mame/drivers/funtech.cpp
@@ -243,8 +243,8 @@ INTERRUPT_GEN_MEMBER(fun_tech_corp_state::funtech_vblank_interrupt)
static ADDRESS_MAP_START( funtech_map, AS_PROGRAM, 8, fun_tech_corp_state )
AM_RANGE(0x0000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xc1ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0xc800, 0xc9ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0xc000, 0xc1ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0xc800, 0xc9ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0xd000, 0xd7ff) AM_ROM // maybe
diff --git a/src/mame/drivers/fuukifg2.cpp b/src/mame/drivers/fuukifg2.cpp
index b8f798cb486..aaa8c8ad00b 100644
--- a/src/mame/drivers/fuukifg2.cpp
+++ b/src/mame/drivers/fuukifg2.cpp
@@ -91,7 +91,7 @@ static ADDRESS_MAP_START( fuuki16_map, AS_PROGRAM, 16, fuuki16_state )
AM_RANGE(0x504000, 0x505fff) AM_RAM_WRITE(vram_2_w) AM_SHARE("vram.2") //
AM_RANGE(0x506000, 0x507fff) AM_RAM_WRITE(vram_3_w) AM_SHARE("vram.3") //
AM_RANGE(0x600000, 0x601fff) AM_MIRROR(0x008000) AM_DEVREADWRITE("fuukivid", fuukivid_device, fuuki_sprram_r, fuuki_sprram_w) AM_SHARE("spriteram") // Sprites, mirrored?
- AM_RANGE(0x700000, 0x703fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x700000, 0x703fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("SYSTEM")
AM_RANGE(0x810000, 0x810001) AM_READ_PORT("P1_P2")
AM_RANGE(0x880000, 0x880001) AM_READ_PORT("DSW")
diff --git a/src/mame/drivers/fuukifg3.cpp b/src/mame/drivers/fuukifg3.cpp
index 3384825e2dc..6a91c790c7a 100644
--- a/src/mame/drivers/fuukifg3.cpp
+++ b/src/mame/drivers/fuukifg3.cpp
@@ -217,7 +217,7 @@ static ADDRESS_MAP_START( fuuki32_map, AS_PROGRAM, 32, fuuki32_state )
AM_RANGE(0x506000, 0x507fff) AM_RAM_WRITE(vram_3_w) AM_SHARE("vram.3") // Tilemap bg2
AM_RANGE(0x508000, 0x517fff) AM_RAM // More tilemap, or linescroll? Seems to be empty all of the time
AM_RANGE(0x600000, 0x601fff) AM_RAM AM_DEVREADWRITE16("fuukivid", fuukivid_device, fuuki_sprram_r, fuuki_sprram_w, 0xffffffff) // Sprites
- AM_RANGE(0x700000, 0x703fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x700000, 0x703fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette") // Palette
AM_RANGE(0x800000, 0x800003) AM_READ_PORT("800000") AM_WRITENOP // Coin
AM_RANGE(0x810000, 0x810003) AM_READ_PORT("810000") AM_WRITENOP // Player Inputs
diff --git a/src/mame/drivers/gaelco.cpp b/src/mame/drivers/gaelco.cpp
index ab5bc1733ec..77ba0ae41c5 100644
--- a/src/mame/drivers/gaelco.cpp
+++ b/src/mame/drivers/gaelco.cpp
@@ -113,7 +113,7 @@ static ADDRESS_MAP_START( bigkarnk_map, AS_PROGRAM, 16, gaelco_state )
AM_RANGE(0x102000, 0x103fff) AM_RAM /* Screen RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_SHARE("vregs") /* Video Registers */
// AM_RANGE(0x10800c, 0x10800d) AM_DEVWRITE(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") /* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_SHARE("spriteram") /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW1")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW2")
@@ -140,7 +140,7 @@ static ADDRESS_MAP_START( maniacsq_map, AS_PROGRAM, 16, gaelco_state )
AM_RANGE(0x102000, 0x103fff) AM_RAM /* Screen RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_SHARE("vregs") /* Video Registers */
// AM_RANGE(0x10800c, 0x10800d) AM_WRITE(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") /* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_SHARE("spriteram") /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
@@ -157,7 +157,7 @@ static ADDRESS_MAP_START( squash_map, AS_PROGRAM, 16, gaelco_state )
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(gaelco_encrypted_w) AM_SHARE("screenram") /* Screen RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_SHARE("vregs") /* Video Registers */
// AM_RANGE(0x10800c, 0x10800d) AM_WRITE(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") /* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_SHARE("spriteram") /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
@@ -175,7 +175,7 @@ static ADDRESS_MAP_START( thoop_map, AS_PROGRAM, 16, gaelco_state )
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(thoop_encrypted_w) AM_SHARE("screenram") /* Screen RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_SHARE("vregs") /* Video Registers */
// AM_RANGE(0x10800c, 0x10800d) AM_WRITE(watchdog_reset_w) /* INT 6 ACK/Watchdog timer */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") /* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_SHARE("spriteram") /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/gaiden.cpp b/src/mame/drivers/gaiden.cpp
index c9bfbb8380e..70d0e9712ca 100644
--- a/src/mame/drivers/gaiden.cpp
+++ b/src/mame/drivers/gaiden.cpp
@@ -390,7 +390,7 @@ static ADDRESS_MAP_START( gaiden_map, AS_PROGRAM, 16, gaiden_state )
AM_RANGE(0x072000, 0x073fff) AM_RAM_WRITE(gaiden_videoram2_w) AM_SHARE("videoram2")
AM_RANGE(0x074000, 0x075fff) AM_RAM_WRITE(gaiden_videoram3_w) AM_SHARE("videoram3")
AM_RANGE(0x076000, 0x077fff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x078000, 0x079fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x078000, 0x079fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x07a000, 0x07a001) AM_READ_PORT("SYSTEM")
AM_RANGE(0x07a002, 0x07a003) AM_READ_PORT("P1_P2") AM_WRITE(gaiden_sproffsety_w)
AM_RANGE(0x07a004, 0x07a005) AM_READ_PORT("DSW")
@@ -416,7 +416,7 @@ static ADDRESS_MAP_START( drgnbowl_map, AS_PROGRAM, 16, gaiden_state )
AM_RANGE(0x072000, 0x073fff) AM_RAM_WRITE(gaiden_videoram2_w) AM_SHARE("videoram2")
AM_RANGE(0x074000, 0x075fff) AM_RAM_WRITE(gaiden_videoram3_w) AM_SHARE("videoram3")
AM_RANGE(0x076000, 0x077fff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x078000, 0x079fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x078000, 0x079fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x07a000, 0x07a001) AM_READ_PORT("SYSTEM")
AM_RANGE(0x07a002, 0x07a003) AM_READ_PORT("P1_P2")
AM_RANGE(0x07a004, 0x07a005) AM_READ_PORT("DSW")
@@ -952,7 +952,7 @@ static ADDRESS_MAP_START( mastninj_map, AS_PROGRAM, 16, gaiden_state )
AM_RANGE(0x072000, 0x073fff) AM_RAM_WRITE(gaiden_videoram2_w) AM_SHARE("videoram2")
AM_RANGE(0x074000, 0x075fff) AM_RAM_WRITE(gaiden_videoram3_w) AM_SHARE("videoram3")
AM_RANGE(0x076000, 0x077fff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x078000, 0x079fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x078000, 0x079fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
// AM_RANGE(0x078800, 0x079fff) AM_RAM
AM_RANGE(0x07a000, 0x07a001) AM_READ_PORT("SYSTEM")
AM_RANGE(0x07a002, 0x07a003) AM_READ_PORT("P1_P2")
diff --git a/src/mame/drivers/galaxi.cpp b/src/mame/drivers/galaxi.cpp
index 8360dc7ebc5..c0adc13b03b 100644
--- a/src/mame/drivers/galaxi.cpp
+++ b/src/mame/drivers/galaxi.cpp
@@ -311,7 +311,7 @@ static ADDRESS_MAP_START( galaxi_map, AS_PROGRAM, 16, galaxi_state )
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(galaxi_fg_w ) AM_SHARE("fg_ram")
AM_RANGE(0x102000, 0x107fff) AM_READNOP // unknown
- AM_RANGE(0x300000, 0x3007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x300000, 0x3007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("INPUTS")
AM_RANGE(0x500000, 0x500001) AM_WRITE(galaxi_500000_w)
@@ -336,7 +336,7 @@ static ADDRESS_MAP_START( lastfour_map, AS_PROGRAM, 16, galaxi_state )
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(galaxi_fg_w ) AM_SHARE("fg_ram")
AM_RANGE(0x102000, 0x107fff) AM_READNOP // unknown
- AM_RANGE(0x300000, 0x3007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x300000, 0x3007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("INPUTS")
AM_RANGE(0x500000, 0x500001) AM_WRITE(galaxi_500000_w)
diff --git a/src/mame/drivers/galpani2.cpp b/src/mame/drivers/galpani2.cpp
index cf4cf1803ed..e64325db341 100644
--- a/src/mame/drivers/galpani2.cpp
+++ b/src/mame/drivers/galpani2.cpp
@@ -356,11 +356,11 @@ static ADDRESS_MAP_START( galpani2_mem1, AS_PROGRAM, 16, galpani2_state )
AM_RANGE(0x304000, 0x30401f) AM_DEVREADWRITE("kan_spr", kaneko16_sprite_device, kaneko16_sprites_regs_r, kaneko16_sprites_regs_w)
// AM_RANGE(0x308000, 0x308001) AM_WRITENOP // ? 0 at startup
// AM_RANGE(0x30c000, 0x30c001) AM_WRITENOP // ? hblank effect ?
- AM_RANGE(0x310000, 0x3101ff) AM_RAM_DEVWRITE("bg8palette", palette_device, write) AM_SHARE("bg8palette") // ?
+ AM_RANGE(0x310000, 0x3101ff) AM_RAM_DEVWRITE("bg8palette", palette_device, write16) AM_SHARE("bg8palette") // ?
AM_RANGE(0x314000, 0x314001) AM_WRITENOP // ? flip backgrounds ?
AM_RANGE(0x318000, 0x318001) AM_READWRITE(galpani2_eeprom_r, galpani2_eeprom_w) // EEPROM
AM_RANGE(0x380000, 0x387fff) AM_RAM // Palette?
- AM_RANGE(0x388000, 0x38ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x388000, 0x38ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
// AM_RANGE(0x390000, 0x3901ff) AM_WRITENOP // ? at startup of service mode
AM_RANGE(0x400000, 0x43ffff) AM_RAM AM_SHARE("bg8.0") // Background 0
diff --git a/src/mame/drivers/galpani3.cpp b/src/mame/drivers/galpani3.cpp
index 5593a207201..c506f789e33 100644
--- a/src/mame/drivers/galpani3.cpp
+++ b/src/mame/drivers/galpani3.cpp
@@ -469,7 +469,7 @@ static ADDRESS_MAP_START( galpani3_map, AS_PROGRAM, 16, galpani3_state )
AM_RANGE(0x000000, 0x17ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // area [B] - Work RAM
- AM_RANGE(0x280000, 0x287fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // area [A] - palette for sprites
+ AM_RANGE(0x280000, 0x287fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // area [A] - palette for sprites
AM_RANGE(0x300000, 0x303fff) AM_RAM_WRITE(galpani3_suprnova_sprite32_w) AM_SHARE("spriteram")
AM_RANGE(0x380000, 0x38003f) AM_RAM_WRITE(galpani3_suprnova_sprite32regs_w) AM_SHARE("sprregs")
diff --git a/src/mame/drivers/galpanic.cpp b/src/mame/drivers/galpanic.cpp
index 8e4c3b9baa2..6bb7b17aa5c 100644
--- a/src/mame/drivers/galpanic.cpp
+++ b/src/mame/drivers/galpanic.cpp
@@ -138,7 +138,7 @@ static ADDRESS_MAP_START( galpanic_map, AS_PROGRAM, 16, galpanic_state )
AM_RANGE(0x400000, 0x400001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_SHARE("fgvideoram")
AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE(bgvideoram_w) AM_SHARE("bgvideoram") /* + work RAM */
- AM_RANGE(0x600000, 0x6007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") /* 1024 colors, but only 512 seem to be used */
+ AM_RANGE(0x600000, 0x6007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") /* 1024 colors, but only 512 seem to be used */
AM_RANGE(0x700000, 0x701fff) AM_DEVREADWRITE("pandora", kaneko_pandora_device, spriteram_LSB_r, spriteram_LSB_w)
AM_RANGE(0x702000, 0x704fff) AM_RAM
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/galspnbl.cpp b/src/mame/drivers/galspnbl.cpp
index 84a6768b003..a98a7ed44a7 100644
--- a/src/mame/drivers/galspnbl.cpp
+++ b/src/mame/drivers/galspnbl.cpp
@@ -71,7 +71,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, galspnbl_state )
AM_RANGE(0x905000, 0x907fff) AM_WRITENOP /* ??? */
AM_RANGE(0x980000, 0x9bffff) AM_RAM AM_SHARE("bgvideoram")
AM_RANGE(0xa00000, 0xa00fff) AM_WRITENOP /* more palette ? */
- AM_RANGE(0xa01000, 0xa017ff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xa01000, 0xa017ff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xa01800, 0xa027ff) AM_WRITENOP /* more palette ? */
AM_RANGE(0xa80000, 0xa80001) AM_READ_PORT("IN0")
AM_RANGE(0xa80010, 0xa80011) AM_READ_PORT("IN1") AM_WRITE(soundcommand_w)
diff --git a/src/mame/drivers/gauntlet.cpp b/src/mame/drivers/gauntlet.cpp
index b8cc42b03d5..76616b89aa0 100644
--- a/src/mame/drivers/gauntlet.cpp
+++ b/src/mame/drivers/gauntlet.cpp
@@ -290,17 +290,17 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, gauntlet_state )
AM_RANGE(0x803100, 0x803101) AM_MIRROR(0x2fce8e) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x803120, 0x803121) AM_MIRROR(0x2fce8e) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w)
AM_RANGE(0x803140, 0x803141) AM_MIRROR(0x2fce8e) AM_WRITE(video_int_ack_w)
- AM_RANGE(0x803150, 0x803151) AM_MIRROR(0x2fce8e) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0x803150, 0x803151) AM_MIRROR(0x2fce8e) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0x803170, 0x803171) AM_MIRROR(0x2fce8e) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0x00ff)
/* VBUS */
- AM_RANGE(0x900000, 0x901fff) AM_MIRROR(0x2c8000) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
+ AM_RANGE(0x900000, 0x901fff) AM_MIRROR(0x2c8000) AM_RAM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
AM_RANGE(0x902000, 0x903fff) AM_MIRROR(0x2c8000) AM_RAM AM_SHARE("mob")
AM_RANGE(0x904000, 0x904fff) AM_MIRROR(0x2c8000) AM_RAM
AM_RANGE(0x905f6e, 0x905f6f) AM_MIRROR(0x2c8000) AM_RAM_WRITE(gauntlet_yscroll_w) AM_SHARE("yscroll")
- AM_RANGE(0x905000, 0x905f7f) AM_MIRROR(0x2c8000) AM_RAM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha")
+ AM_RANGE(0x905000, 0x905f7f) AM_MIRROR(0x2c8000) AM_RAM_DEVWRITE("alpha", tilemap_device, write16) AM_SHARE("alpha")
AM_RANGE(0x905f80, 0x905fff) AM_MIRROR(0x2c8000) AM_RAM AM_SHARE("mob:slip")
- AM_RANGE(0x910000, 0x9107ff) AM_MIRROR(0x2cf800) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x910000, 0x9107ff) AM_MIRROR(0x2cf800) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x930000, 0x930001) AM_MIRROR(0x2cfffe) AM_WRITE(gauntlet_xscroll_w) AM_SHARE("xscroll")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/gcpinbal.cpp b/src/mame/drivers/gcpinbal.cpp
index a20bac9ead2..d9d50999184 100644
--- a/src/mame/drivers/gcpinbal.cpp
+++ b/src/mame/drivers/gcpinbal.cpp
@@ -254,7 +254,7 @@ static ADDRESS_MAP_START( gcpinbal_map, AS_PROGRAM, 16, gcpinbal_state )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
AM_RANGE(0xc00000, 0xc03fff) AM_READWRITE(gcpinbal_tilemaps_word_r, gcpinbal_tilemaps_word_w) AM_SHARE("tilemapram")
AM_RANGE(0xc80000, 0xc81fff) AM_DEVREADWRITE8("spritegen", excellent_spr_device, read, write, 0x00ff)
- AM_RANGE(0xd00000, 0xd00fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xd00000, 0xd00fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xd80010, 0xd8002f) AM_RAM_WRITE(d80010_w) AM_SHARE("d80010")
AM_RANGE(0xd80040, 0xd8005b) AM_WRITE8(d80040_w, 0x00ff)
AM_RANGE(0xd80060, 0xd80077) AM_RAM_WRITE(d80060_w) AM_SHARE("d80060")
diff --git a/src/mame/drivers/giclassic.cpp b/src/mame/drivers/giclassic.cpp
index 912b88e6856..a35714003fb 100644
--- a/src/mame/drivers/giclassic.cpp
+++ b/src/mame/drivers/giclassic.cpp
@@ -145,7 +145,7 @@ READ16_MEMBER(giclassic_state::vrom_r)
static ADDRESS_MAP_START( satellite_main, AS_PROGRAM, 16, giclassic_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x100000, 0x103fff) AM_RAM
- AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x800000, 0x801fff) AM_RAM AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w)
AM_RANGE(0x900000, 0x90003f) AM_DEVREADWRITE("k056832", k056832_device, word_r, word_w)
AM_RANGE(0xb00000, 0xb01fff) AM_READ(vrom_r)
@@ -266,7 +266,7 @@ static ADDRESS_MAP_START( server_main, AS_PROGRAM, 16, giclassicsvr_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x080000, 0x08ffff) AM_RAM
AM_RANGE(0x090000, 0x093fff) AM_RAM
- AM_RANGE(0x100000, 0x107fff) AM_RAM AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x100000, 0x107fff) AM_RAM AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x180000, 0x183fff) AM_RAM
AM_RANGE(0x280000, 0x281fff) AM_RAM AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w)
AM_RANGE(0x300000, 0x300007) AM_DEVWRITE("k055673", k055673_device, k053246_word_w) // SPRITES
diff --git a/src/mame/drivers/gijoe.cpp b/src/mame/drivers/gijoe.cpp
index 44773313ed5..7d552a99492 100644
--- a/src/mame/drivers/gijoe.cpp
+++ b/src/mame/drivers/gijoe.cpp
@@ -207,7 +207,7 @@ static ADDRESS_MAP_START( gijoe_map, AS_PROGRAM, 16, gijoe_state )
AM_RANGE(0x160000, 0x160007) AM_DEVWRITE("k056832", k056832_device, b_word_w) // VSCCS (board dependent)
AM_RANGE(0x170000, 0x170001) AM_WRITENOP // Watchdog
AM_RANGE(0x180000, 0x18ffff) AM_RAM AM_SHARE("workram") // Main RAM. Spec. 180000-1803ff, 180400-187fff
- AM_RANGE(0x190000, 0x190fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x190000, 0x190fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x1a0000, 0x1a001f) AM_DEVWRITE("k053251", k053251_device, lsb_w)
AM_RANGE(0x1b0000, 0x1b003f) AM_DEVWRITE("k056832", k056832_device, word_w)
AM_RANGE(0x1c0000, 0x1c001f) AM_DEVICE8("k054321", k054321_device, main_map, 0x00ff)
diff --git a/src/mame/drivers/ginganin.cpp b/src/mame/drivers/ginganin.cpp
index 81526b7a1ed..0b2b21cf5d1 100644
--- a/src/mame/drivers/ginganin.cpp
+++ b/src/mame/drivers/ginganin.cpp
@@ -82,7 +82,7 @@ static ADDRESS_MAP_START( ginganin_map, AS_PROGRAM, 16, ginganin_state )
AM_RANGE(0x020000, 0x023fff) AM_RAM
AM_RANGE(0x030000, 0x0307ff) AM_RAM_WRITE(ginganin_txtram16_w) AM_SHARE("txtram")
AM_RANGE(0x040000, 0x0407ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x050000, 0x0507ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x050000, 0x0507ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x060000, 0x06000f) AM_RAM_WRITE(ginganin_vregs16_w) AM_SHARE("vregs")
AM_RANGE(0x068000, 0x06bfff) AM_RAM_WRITE(ginganin_fgram16_w) AM_SHARE("fgram")
AM_RANGE(0x070000, 0x070001) AM_READ_PORT("P1_P2")
diff --git a/src/mame/drivers/glass.cpp b/src/mame/drivers/glass.cpp
index 18224860361..d343d047965 100644
--- a/src/mame/drivers/glass.cpp
+++ b/src/mame/drivers/glass.cpp
@@ -115,7 +115,7 @@ static ADDRESS_MAP_START( glass_map, AS_PROGRAM, 16, glass_state )
AM_RANGE(0x102000, 0x102fff) AM_RAM // Extra Video RAM
AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_SHARE("vregs") // Video Registers
AM_RANGE(0x108008, 0x108009) AM_WRITE(clr_int_w) // CLR INT Video
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_SHARE("spriteram") // Sprite RAM
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/gng.cpp b/src/mame/drivers/gng.cpp
index 93b81316222..faaa42892e3 100644
--- a/src/mame/drivers/gng.cpp
+++ b/src/mame/drivers/gng.cpp
@@ -75,8 +75,8 @@ static ADDRESS_MAP_START( gng_map, AS_PROGRAM, 8, gng_state )
AM_RANGE(0x3002, 0x3002) AM_READ_PORT("P2")
AM_RANGE(0x3003, 0x3003) AM_READ_PORT("DSW1")
AM_RANGE(0x3004, 0x3004) AM_READ_PORT("DSW2")
- AM_RANGE(0x3800, 0x38ff) AM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
- AM_RANGE(0x3900, 0x39ff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x3800, 0x38ff) AM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x3900, 0x39ff) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x3a00, 0x3a00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0x3b08, 0x3b09) AM_WRITE(gng_bgscrollx_w)
AM_RANGE(0x3b0a, 0x3b0b) AM_WRITE(gng_bgscrolly_w)
@@ -98,8 +98,8 @@ static ADDRESS_MAP_START( diamond_map, AS_PROGRAM, 8, gng_state )
AM_RANGE(0x3003, 0x3003) AM_READ_PORT("DSW1")
AM_RANGE(0x3004, 0x3004) AM_READ_PORT("DSW2")
AM_RANGE(0x3000, 0x33ff) AM_NOP // faulty POST?
- AM_RANGE(0x3800, 0x38ff) AM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
- AM_RANGE(0x3900, 0x39ff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x3800, 0x38ff) AM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x3900, 0x39ff) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x3a00, 0x3a00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0x3b08, 0x3b09) AM_WRITE(gng_bgscrollx_w)
AM_RANGE(0x3b0a, 0x3b0b) AM_WRITE(gng_bgscrolly_w)
diff --git a/src/mame/drivers/go2000.cpp b/src/mame/drivers/go2000.cpp
index 5b3010505f5..cf5cb9029b9 100644
--- a/src/mame/drivers/go2000.cpp
+++ b/src/mame/drivers/go2000.cpp
@@ -87,7 +87,7 @@ static ADDRESS_MAP_START( go2000_map, AS_PROGRAM, 16, go2000_state )
AM_RANGE(0x200000, 0x203fff) AM_RAM
AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x610000, 0x61ffff) AM_RAM AM_SHARE("videoram2")
- AM_RANGE(0x800000, 0x800fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x800000, 0x800fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xa00000, 0xa00001) AM_READ_PORT("INPUTS")
AM_RANGE(0xa00002, 0xa00003) AM_READ_PORT("DSW")
AM_RANGE(0x620002, 0x620003) AM_WRITE(sound_cmd_w)
diff --git a/src/mame/drivers/goal92.cpp b/src/mame/drivers/goal92.cpp
index 938ceda314a..db6f3f6fe79 100644
--- a/src/mame/drivers/goal92.cpp
+++ b/src/mame/drivers/goal92.cpp
@@ -58,7 +58,7 @@ static ADDRESS_MAP_START( goal92_map, AS_PROGRAM, 16, goal92_state )
AM_RANGE(0x101000, 0x1017ff) AM_RAM_WRITE(goal92_foreground_w) AM_SHARE("fg_data")
AM_RANGE(0x101800, 0x101fff) AM_RAM // it has tiles for clouds, but they aren't used
AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE(goal92_text_w) AM_SHARE("tx_data")
- AM_RANGE(0x103000, 0x103fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x103000, 0x103fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x104000, 0x13ffff) AM_RAM
AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x140800, 0x140801) AM_WRITENOP
diff --git a/src/mame/drivers/goldstar.cpp b/src/mame/drivers/goldstar.cpp
index 681e2c56e57..875e8bfabf6 100644
--- a/src/mame/drivers/goldstar.cpp
+++ b/src/mame/drivers/goldstar.cpp
@@ -353,7 +353,7 @@ static ADDRESS_MAP_START( goldstar_map, AS_PROGRAM, 8, goldstar_state )
AM_RANGE(0xf900, 0xf900) AM_WRITE(p1_lamps_w)
AM_RANGE(0xfa00, 0xfa00) AM_WRITE(goldstar_fa00_w)
AM_RANGE(0xfb00, 0xfb00) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xfd00, 0xfdff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xfd00, 0xfdff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xfe00, 0xfe00) AM_READWRITE(protection_r,protection_w)
ADDRESS_MAP_END
@@ -1107,8 +1107,8 @@ ADDRESS_MAP_END
/* newer / more capable hw */
static ADDRESS_MAP_START( unkch_map, AS_PROGRAM, 8, unkch_state )
AM_RANGE(0x0000, 0x9fff) AM_ROM
- AM_RANGE(0xc000, 0xc1ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0xc800, 0xc9ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0xc000, 0xc1ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0xc800, 0xc9ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_SHARE("nvram")
diff --git a/src/mame/drivers/good.cpp b/src/mame/drivers/good.cpp
index 35bbde97c87..3a3e2c04fa9 100644
--- a/src/mame/drivers/good.cpp
+++ b/src/mame/drivers/good.cpp
@@ -123,7 +123,7 @@ static ADDRESS_MAP_START( good_map, AS_PROGRAM, 16, good_state )
AM_RANGE(0x280002, 0x280003) AM_READ_PORT("IN1")
AM_RANGE(0x280004, 0x280005) AM_READ_PORT("IN2")
- AM_RANGE(0x800000, 0x8007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x800000, 0x8007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x820000, 0x820fff) AM_RAM_WRITE(fg_tilemapram_w) AM_SHARE("fg_tilemapram")
AM_RANGE(0x822000, 0x822fff) AM_RAM_WRITE(bg_tilemapram_w) AM_SHARE("bg_tilemapram")
diff --git a/src/mame/drivers/goodejan.cpp b/src/mame/drivers/goodejan.cpp
index ddceaaa7c2f..d8b20eee0a6 100644
--- a/src/mame/drivers/goodejan.cpp
+++ b/src/mame/drivers/goodejan.cpp
@@ -435,7 +435,7 @@ static ADDRESS_MAP_START( goodejan_map, AS_PROGRAM, 16, goodejan_state )
AM_RANGE(0x00000, 0x0afff) AM_RAM
AM_RANGE(0x0c000, 0x0c7ff) AM_RAM_WRITE(seibucrtc_sc0vram_w) AM_SHARE("sc0_vram")
AM_RANGE(0x0c800, 0x0cfff) AM_RAM_WRITE(seibucrtc_sc3vram_w) AM_SHARE("sc3_vram")
- AM_RANGE(0x0d000, 0x0dfff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0d000, 0x0dfff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
/*Guess: these two aren't used/initialized at all.*/
AM_RANGE(0x0e000, 0x0e7ff) AM_RAM_WRITE(seibucrtc_sc1vram_w) AM_SHARE("sc1_vram")
AM_RANGE(0x0e800, 0x0efff) AM_RAM_WRITE(seibucrtc_sc2vram_w) AM_SHARE("sc2_vram")
diff --git a/src/mame/drivers/gotcha.cpp b/src/mame/drivers/gotcha.cpp
index 3a09afe3300..27b346e0e5e 100644
--- a/src/mame/drivers/gotcha.cpp
+++ b/src/mame/drivers/gotcha.cpp
@@ -107,7 +107,7 @@ static ADDRESS_MAP_START( gotcha_map, AS_PROGRAM, 16, gotcha_state )
AM_RANGE(0x100002, 0x100003) AM_WRITE(gotcha_lamps_w)
AM_RANGE(0x100004, 0x100005) AM_WRITE(gotcha_oki_bank_w)
AM_RANGE(0x120000, 0x12ffff) AM_RAM
- AM_RANGE(0x140000, 0x1405ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x140000, 0x1405ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("INPUTS")
AM_RANGE(0x180002, 0x180003) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/gradius3.cpp b/src/mame/drivers/gradius3.cpp
index c829a901b17..53502554f7a 100644
--- a/src/mame/drivers/gradius3.cpp
+++ b/src/mame/drivers/gradius3.cpp
@@ -152,7 +152,7 @@ WRITE8_MEMBER(gradius3_state::sound_bank_w)
static ADDRESS_MAP_START( gradius3_map, AS_PROGRAM, 16, gradius3_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM
- AM_RANGE(0x080000, 0x080fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x080000, 0x080fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0c0000, 0x0c0001) AM_WRITE(cpuA_ctrl_w) /* halt cpu B, irq enable, priority, coin counters, other? */
AM_RANGE(0x0c8000, 0x0c8001) AM_READ_PORT("SYSTEM")
AM_RANGE(0x0c8002, 0x0c8003) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/groundfx.cpp b/src/mame/drivers/groundfx.cpp
index 093705701b8..60fc9f25feb 100644
--- a/src/mame/drivers/groundfx.cpp
+++ b/src/mame/drivers/groundfx.cpp
@@ -168,7 +168,7 @@ static ADDRESS_MAP_START( groundfx_map, AS_PROGRAM, 32, groundfx_state )
AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_long_r, ctrl_long_w) // debugging
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w) /* 6bpp tilemaps */
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_long_r, ctrl_long_w)
- AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0xb00000, 0xb003ff) AM_RAM // ?? single bytes, blending ??
AM_RANGE(0xc00000, 0xc00007) AM_READNOP /* Network? */
AM_RANGE(0xd00000, 0xd00003) AM_WRITE(rotate_control_w) /* perhaps port based rotate control? */
diff --git a/src/mame/drivers/gstream.cpp b/src/mame/drivers/gstream.cpp
index 8d625dc69a5..6de22fc70a9 100644
--- a/src/mame/drivers/gstream.cpp
+++ b/src/mame/drivers/gstream.cpp
@@ -291,7 +291,7 @@ static ADDRESS_MAP_START( gstream_32bit_map, AS_PROGRAM, 32, gstream_state )
AM_RANGE(0x4E000000, 0x4E1FFFFF) AM_ROM AM_REGION("user2",0) // main game rom
AM_RANGE(0x4F000000, 0x4F000003) AM_WRITE(gstream_tilemap3_scrollx_w)
AM_RANGE(0x4F200000, 0x4F200003) AM_WRITE(gstream_tilemap3_scrolly_w)
- AM_RANGE(0x4F400000, 0x4F406FFF) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x4F400000, 0x4F406FFF) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x4F800000, 0x4F800003) AM_WRITE(gstream_tilemap1_scrollx_w)
AM_RANGE(0x4FA00000, 0x4FA00003) AM_WRITE(gstream_tilemap1_scrolly_w)
AM_RANGE(0x4FC00000, 0x4FC00003) AM_WRITE(gstream_tilemap2_scrollx_w)
diff --git a/src/mame/drivers/gstriker.cpp b/src/mame/drivers/gstriker.cpp
index 3cc50f9afaf..1e546c6d7eb 100644
--- a/src/mame/drivers/gstriker.cpp
+++ b/src/mame/drivers/gstriker.cpp
@@ -252,7 +252,7 @@ static ADDRESS_MAP_START( twcup94_map, AS_PROGRAM, 16, gstriker_state )
AM_RANGE(0x140000, 0x141fff) AM_RAM AM_SHARE("cg10103_m_vram")
AM_RANGE(0x180000, 0x180fff) AM_DEVREADWRITE("texttilemap", vs920a_text_tilemap_device, vram_r, vram_w )
AM_RANGE(0x181000, 0x181fff) AM_DEVREADWRITE("zoomtilemap", mb60553_zooming_tilemap_device, line_r, line_w )
- AM_RANGE(0x1c0000, 0x1c0fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") AM_MIRROR(0x00f000)
+ AM_RANGE(0x1c0000, 0x1c0fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") AM_MIRROR(0x00f000)
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE("zoomtilemap", mb60553_zooming_tilemap_device, regs_r, regs_w )
AM_RANGE(0x200010, 0x200011) AM_WRITENOP
diff --git a/src/mame/drivers/gumbo.cpp b/src/mame/drivers/gumbo.cpp
index 15b8f4f5244..5181c9789bf 100644
--- a/src/mame/drivers/gumbo.cpp
+++ b/src/mame/drivers/gumbo.cpp
@@ -55,7 +55,7 @@ PCB Layout
static ADDRESS_MAP_START( gumbo_map, AS_PROGRAM, 16, gumbo_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM // main ram
- AM_RANGE(0x1b0000, 0x1b03ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1b0000, 0x1b03ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x1c0100, 0x1c0101) AM_READ_PORT("P1_P2")
AM_RANGE(0x1c0200, 0x1c0201) AM_READ_PORT("DSW")
AM_RANGE(0x1c0300, 0x1c0301) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
@@ -69,7 +69,7 @@ static ADDRESS_MAP_START( mspuzzle_map, AS_PROGRAM, 16, gumbo_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM // main ram
AM_RANGE(0x190000, 0x197fff) AM_RAM_WRITE(gumbo_fg_videoram_w) AM_SHARE("fg_videoram") // fg tilemap
- AM_RANGE(0x1a0000, 0x1a03ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1a0000, 0x1a03ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x1b0100, 0x1b0101) AM_READ_PORT("P1_P2")
AM_RANGE(0x1b0200, 0x1b0201) AM_READ_PORT("DSW")
AM_RANGE(0x1b0300, 0x1b0301) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
@@ -79,7 +79,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( dblpoint_map, AS_PROGRAM, 16, gumbo_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM // main ram
- AM_RANGE(0x1b0000, 0x1b03ff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1b0000, 0x1b03ff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x1c0100, 0x1c0101) AM_READ_PORT("P1_P2")
AM_RANGE(0x1c0200, 0x1c0201) AM_READ_PORT("DSW")
AM_RANGE(0x1c0300, 0x1c0301) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/gunbustr.cpp b/src/mame/drivers/gunbustr.cpp
index 2025c41fe25..6ce76170e65 100644
--- a/src/mame/drivers/gunbustr.cpp
+++ b/src/mame/drivers/gunbustr.cpp
@@ -125,7 +125,7 @@ static ADDRESS_MAP_START( gunbustr_map, AS_PROGRAM, 32, gunbustr_state )
AM_RANGE(0x500000, 0x500003) AM_READWRITE(gunbustr_gun_r, gunbustr_gun_w) /* gun coord read */
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, long_r, long_w)
AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_long_r, ctrl_long_w)
- AM_RANGE(0x900000, 0x901fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x900000, 0x901fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0xc00000, 0xc03fff) AM_RAM /* network ram ?? */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/highvdeo.cpp b/src/mame/drivers/highvdeo.cpp
index c1a1b5977ff..4c166e5753b 100644
--- a/src/mame/drivers/highvdeo.cpp
+++ b/src/mame/drivers/highvdeo.cpp
@@ -436,7 +436,7 @@ static ADDRESS_MAP_START( tv_tcf_map, AS_PROGRAM, 16, highvdeo_state )
AM_RANGE(0x00000, 0x003ff) AM_RAM /*irq vector area*/
AM_RANGE(0x00400, 0x03fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x40000, 0x5d4bf) AM_RAM AM_SHARE("blit_ram") /*blitter ram*/
- AM_RANGE(0x7fe00, 0x7ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x7fe00, 0x7ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x80000, 0xbffff) AM_ROMBANK("bank1")
AM_RANGE(0xc0000, 0xfffff) AM_ROM AM_REGION("boot_prg",0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/himesiki.cpp b/src/mame/drivers/himesiki.cpp
index 49713b46a34..dbdcfe6f697 100644
--- a/src/mame/drivers/himesiki.cpp
+++ b/src/mame/drivers/himesiki.cpp
@@ -128,7 +128,7 @@ static ADDRESS_MAP_START( himesiki_prm0, AS_PROGRAM, 8, himesiki_state )
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xa0ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xa100, 0xa7ff) AM_RAM AM_SHARE("sprram_p103a") // not on Android
- AM_RANGE(0xa800, 0xafff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xa800, 0xafff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xb000, 0xbfff) AM_RAM_WRITE(himesiki_bg_ram_w) AM_SHARE("bg_ram")
AM_RANGE(0xc000, 0xffff) AM_ROMBANK("bank1")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/hng64.cpp b/src/mame/drivers/hng64.cpp
index b6637e94f8b..ebc8ae5cdc5 100644
--- a/src/mame/drivers/hng64.cpp
+++ b/src/mame/drivers/hng64.cpp
@@ -971,7 +971,7 @@ static ADDRESS_MAP_START( hng_map, AS_PROGRAM, 32, hng64_state )
AM_RANGE(0x20010000, 0x20010013) AM_RAM AM_SHARE("spriteregs")
AM_RANGE(0x20100000, 0x2017ffff) AM_RAM_WRITE(hng64_videoram_w) AM_SHARE("videoram") // Tilemap
AM_RANGE(0x20190000, 0x20190037) AM_RAM_WRITE(hng64_vregs_w) AM_SHARE("videoregs")
- AM_RANGE(0x20200000, 0x20203fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x20200000, 0x20203fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x20208000, 0x2020805f) AM_READWRITE(tcram_r, tcram_w) AM_SHARE("tcram") // Transition Control
AM_RANGE(0x20300000, 0x203001ff) AM_WRITE16(dl_w,0xffffffff) // 3d Display List
AM_RANGE(0x20300200, 0x20300203) AM_WRITE(dl_upload_w) // 3d Display List Upload
diff --git a/src/mame/drivers/hvyunit.cpp b/src/mame/drivers/hvyunit.cpp
index 810f4e415d1..89a29cc5ec1 100644
--- a/src/mame/drivers/hvyunit.cpp
+++ b/src/mame/drivers/hvyunit.cpp
@@ -402,8 +402,8 @@ static ADDRESS_MAP_START( slave_memory, AS_PROGRAM, 8, hvyunit_state )
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("slave_bank")
AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(hu_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(hu_colorram_w) AM_SHARE("colorram")
- AM_RANGE(0xd000, 0xd1ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
- AM_RANGE(0xd800, 0xd9ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xd000, 0xd1ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0xd800, 0xd9ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("share1")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ibmpcjr.cpp b/src/mame/drivers/ibmpcjr.cpp
index 0ce55a812ec..e71e59716ef 100644
--- a/src/mame/drivers/ibmpcjr.cpp
+++ b/src/mame/drivers/ibmpcjr.cpp
@@ -559,7 +559,7 @@ static ADDRESS_MAP_START(ibmpcjr_io, AS_IO, 8, pcjr_state)
AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE("pc_joy", pc_joy_device, joy_port_r, joy_port_w)
AM_RANGE(0x02f8, 0x02ff) AM_DEVREADWRITE("ins8250", ins8250_device, ins8250_r, ins8250_w)
AM_RANGE(0x0378, 0x037b) AM_DEVREADWRITE("lpt_0", pc_lpt_device, read, write)
- AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE("pcvideo_pcjr", pcvideo_pcjr_device, read, write)
+ AM_RANGE(0x03d0, 0x03df) AM_DEVREAD("pcvideo_pcjr", pcvideo_pcjr_device, read) AM_DEVWRITE("pcvideo_pcjr", pcvideo_pcjr_device, write)
ADDRESS_MAP_END
static ADDRESS_MAP_START(ibmpcjx_map, AS_PROGRAM, 8, pcjr_state )
diff --git a/src/mame/drivers/igs009.cpp b/src/mame/drivers/igs009.cpp
index f759049d9b0..62d855a3625 100644
--- a/src/mame/drivers/igs009.cpp
+++ b/src/mame/drivers/igs009.cpp
@@ -482,8 +482,8 @@ static ADDRESS_MAP_START( jingbell_portmap, AS_IO, 8, igs009_state )
AM_RANGE( 0x1000, 0x11ff ) AM_RAM_WRITE(bg_scroll_w ) AM_SHARE("bg_scroll")
- AM_RANGE( 0x2000, 0x23ff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE( 0x2400, 0x27ff ) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE( 0x2000, 0x23ff ) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE( 0x2400, 0x27ff ) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE( 0x3000, 0x33ff ) AM_RAM_WRITE(reel1_ram_w ) AM_SHARE("reel1_ram")
AM_RANGE( 0x3400, 0x37ff ) AM_RAM_WRITE(reel2_ram_w ) AM_SHARE("reel2_ram")
@@ -516,8 +516,8 @@ static ADDRESS_MAP_START( gp98_portmap, AS_IO, 8, igs009_state )
AM_RANGE( 0x1000, 0x11ff ) AM_RAM_WRITE(bg_scroll_w ) AM_SHARE("bg_scroll")
- AM_RANGE( 0x2000, 0x23ff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE( 0x2400, 0x27ff ) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE( 0x2000, 0x23ff ) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE( 0x2400, 0x27ff ) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE( 0x3000, 0x33ff ) AM_RAM_WRITE(reel1_ram_w ) AM_SHARE("reel1_ram")
AM_RANGE( 0x3400, 0x37ff ) AM_RAM_WRITE(reel2_ram_w ) AM_SHARE("reel2_ram")
diff --git a/src/mame/drivers/igs_m027.cpp b/src/mame/drivers/igs_m027.cpp
index e63c7919741..37501ca7ccf 100644
--- a/src/mame/drivers/igs_m027.cpp
+++ b/src/mame/drivers/igs_m027.cpp
@@ -153,7 +153,7 @@ static ADDRESS_MAP_START( igs_majhong_map, AS_PROGRAM, 32, igs_m027_state )
#if 0
AM_RANGE(0x38001000, 0x380017ff) AM_RAM_WRITE(igs_cg_videoram_w) AM_SHARE("igs_cg_videoram") //0x200 * 1 CG PALETTE?
- AM_RANGE(0x38001800, 0x38001fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") //0x200 * 1
+ AM_RANGE(0x38001800, 0x38001fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette") //0x200 * 1
AM_RANGE(0x38004000, 0x38005FFF) AM_RAM_WRITE(igs_tx_videoram_w) AM_SHARE("igs_tx_videoram") /* Text Layer */
AM_RANGE(0x38006000, 0x38007FFF) AM_RAM_WRITE(igs_bg_videoram_w) AM_SHARE("igs_bg_videoram") /* CG Layer */
diff --git a/src/mame/drivers/igspoker.cpp b/src/mame/drivers/igspoker.cpp
index 4e683d9274b..a825794f1ce 100644
--- a/src/mame/drivers/igspoker.cpp
+++ b/src/mame/drivers/igspoker.cpp
@@ -385,8 +385,8 @@ static ADDRESS_MAP_START( igspoker_prg_map, AS_PROGRAM, 8, igspoker_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( igspoker_io_map, AS_IO, 8, igspoker_state )
- AM_RANGE(0x2000, 0x27ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x2800, 0x2fff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x2800, 0x2fff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x4000, 0x4000) AM_READ_PORT("DSW1") /* DSW1 */
AM_RANGE(0x4001, 0x4001) AM_READ_PORT("DSW2") /* DSW2 */
AM_RANGE(0x4002, 0x4002) AM_READ_PORT("DSW3") /* DSW3 */
@@ -1137,8 +1137,8 @@ INPUT_PORTS_END
static ADDRESS_MAP_START( number10_io_map, AS_IO, 8, igspoker_state )
- AM_RANGE(0x2000, 0x27ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x2800, 0x2fff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x2800, 0x2fff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x4000, 0x4000) AM_READ_PORT("DSW1") /* DSW1 */
AM_RANGE(0x4001, 0x4001) AM_READ_PORT("DSW2") /* DSW2 */
AM_RANGE(0x4002, 0x4002) AM_READ_PORT("DSW3") /* DSW3 */
@@ -1160,8 +1160,8 @@ static ADDRESS_MAP_START( number10_io_map, AS_IO, 8, igspoker_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( cpokerpk_io_map, AS_IO, 8, igspoker_state )
- AM_RANGE(0x2000, 0x27ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x2800, 0x2fff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x2800, 0x2fff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x4000, 0x4000) AM_READ_PORT("DSW1") /* DSW1 */
AM_RANGE(0x4001, 0x4001) AM_READ_PORT("DSW2") /* DSW2 */
AM_RANGE(0x4002, 0x4002) AM_READ_PORT("DSW3") /* DSW3 */
diff --git a/src/mame/drivers/interpro.cpp b/src/mame/drivers/interpro.cpp
index 6eead4374ec..a5f9df98b76 100644
--- a/src/mame/drivers/interpro.cpp
+++ b/src/mame/drivers/interpro.cpp
@@ -366,7 +366,7 @@ static ADDRESS_MAP_START(interpro_common_map, 0, 32, interpro_state)
AM_RANGE(0x7f001100, 0x7f001103) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, tcounter_hi_r, tcount_hi_w, 0xff00)
AM_RANGE(0x7f001200, 0x7f001203) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, fifo_r, fifo_w, 0xff00)
AM_RANGE(0x7f001300, 0x7f001303) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, command_r, command_w, 0xff00)
- AM_RANGE(0x7f001400, 0x7f001403) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, status_r, bus_id_w, 0xff00)
+ AM_RANGE(0x7f001400, 0x7f001403) AM_DEVREAD8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, status_r, 0xff00) AM_DEVWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, bus_id_w, 0xff00)
AM_RANGE(0x7f001500, 0x7f001503) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, istatus_r, timeout_w, 0xff00)
AM_RANGE(0x7f001600, 0x7f001603) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, seq_step_r, sync_period_w, 0xff00)
AM_RANGE(0x7f001700, 0x7f001703) AM_DEVREADWRITE8(INTERPRO_SCSI_DEVICE_TAG, ncr53c90a_device, fifo_flags_r, sync_offset_w, 0xff00)
diff --git a/src/mame/drivers/inufuku.cpp b/src/mame/drivers/inufuku.cpp
index a57303ca016..2dabaf1a48d 100644
--- a/src/mame/drivers/inufuku.cpp
+++ b/src/mame/drivers/inufuku.cpp
@@ -126,7 +126,7 @@ static ADDRESS_MAP_START( inufuku_map, AS_PROGRAM, 16, inufuku_state )
AM_RANGE(0x200000, 0x200001) AM_WRITE_PORT("EEPROMOUT")
AM_RANGE(0x280000, 0x280001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff) // sound command
- AM_RANGE(0x300000, 0x301fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // palette ram
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // palette ram
AM_RANGE(0x380000, 0x3801ff) AM_WRITEONLY AM_SHARE("bg_rasterram") // bg raster ram
AM_RANGE(0x400000, 0x401fff) AM_READWRITE(inufuku_bg_videoram_r, inufuku_bg_videoram_w) AM_SHARE("bg_videoram") // bg ram
AM_RANGE(0x402000, 0x403fff) AM_READWRITE(inufuku_tx_videoram_r, inufuku_tx_videoram_w) AM_SHARE("tx_videoram") // text ram
diff --git a/src/mame/drivers/iqblock.cpp b/src/mame/drivers/iqblock.cpp
index 23212de108e..02ee6485481 100644
--- a/src/mame/drivers/iqblock.cpp
+++ b/src/mame/drivers/iqblock.cpp
@@ -118,8 +118,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( main_portmap, AS_IO, 8, iqblock_state )
- AM_RANGE(0x2000, 0x23ff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x2800, 0x2bff) AM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x2000, 0x23ff) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x2800, 0x2bff) AM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x5080, 0x5083) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
AM_RANGE(0x5090, 0x5090) AM_READ_PORT("SW0")
AM_RANGE(0x50a0, 0x50a0) AM_READ_PORT("SW1")
diff --git a/src/mame/drivers/itech32.cpp b/src/mame/drivers/itech32.cpp
index f0f2e09f8e4..690c2f8368a 100644
--- a/src/mame/drivers/itech32.cpp
+++ b/src/mame/drivers/itech32.cpp
@@ -906,7 +906,7 @@ static ADDRESS_MAP_START( timekill_map, AS_PROGRAM, 16, itech32_state )
AM_RANGE(0x078000, 0x078001) AM_WRITE(sound_data_w)
AM_RANGE(0x080000, 0x08007f) AM_READWRITE(itech32_video_r, itech32_video_w) AM_SHARE("video")
AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(int1_ack_w)
- AM_RANGE(0x0c0000, 0x0c7fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0c0000, 0x0c7fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x100000, 0x17ffff) AM_ROM AM_REGION("user1", 0) AM_SHARE("main_rom")
ADDRESS_MAP_END
@@ -988,7 +988,7 @@ AM_RANGE(0x000c00, 0x007fff) AM_MIRROR(0x40000) AM_READWRITE(test2_r, test2_w)
AM_RANGE(0x08e000, 0x08e003) AM_READ_PORT("8e000") AM_WRITENOP
AM_RANGE(0x100000, 0x10000f) AM_WRITE(drivedge_zbuf_control_w) AM_SHARE("drivedge_zctl")
AM_RANGE(0x180000, 0x180003) AM_WRITE(drivedge_color0_w)
- AM_RANGE(0x1a0000, 0x1bffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1a0000, 0x1bffff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x1c0000, 0x1c0003) AM_WRITENOP
AM_RANGE(0x1e0000, 0x1e0113) AM_READWRITE(itech020_video_r, itech020_video_w) AM_SHARE("video")
AM_RANGE(0x1e4000, 0x1e4003) AM_WRITE(tms_reset_assert_w)
@@ -1026,7 +1026,7 @@ static ADDRESS_MAP_START( itech020_map, AS_PROGRAM, 32, itech32_state )
AM_RANGE(0x480000, 0x480003) AM_WRITE(sound_data32_w)
AM_RANGE(0x500000, 0x5000ff) AM_READWRITE(itech020_video_r, itech020_video_w) AM_SHARE("video")
AM_RANGE(0x578000, 0x57ffff) AM_READNOP /* touched by protection */
- AM_RANGE(0x580000, 0x59ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x580000, 0x59ffff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x600000, 0x603fff) AM_RAM AM_SHARE("nvram")
/* ? */ AM_RANGE(0x61ff00, 0x61ffff) AM_WRITENOP /* Unknown Writes */
AM_RANGE(0x680000, 0x680003) AM_READ(itech020_prot_result_r) AM_WRITENOP
diff --git a/src/mame/drivers/jack.cpp b/src/mame/drivers/jack.cpp
index c95f9e913ed..099416bb4e5 100644
--- a/src/mame/drivers/jack.cpp
+++ b/src/mame/drivers/jack.cpp
@@ -189,7 +189,7 @@ static ADDRESS_MAP_START( jack_map, AS_PROGRAM, 8, jack_state )
AM_RANGE(0xb504, 0xb504) AM_READ_PORT("IN2")
AM_RANGE(0xb505, 0xb505) AM_READ_PORT("IN3")
AM_RANGE(0xb506, 0xb507) AM_READWRITE(jack_flipscreen_r, jack_flipscreen_w)
- AM_RANGE(0xb600, 0xb61f) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xb600, 0xb61f) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xb800, 0xbbff) AM_RAM_WRITE(jack_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xbc00, 0xbfff) AM_RAM_WRITE(jack_colorram_w) AM_SHARE("colorram")
AM_RANGE(0xc000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/jackie.cpp b/src/mame/drivers/jackie.cpp
index fe3fd548acb..e96e3c39c5a 100644
--- a/src/mame/drivers/jackie.cpp
+++ b/src/mame/drivers/jackie.cpp
@@ -399,8 +399,8 @@ static ADDRESS_MAP_START( jackie_io_map, AS_IO, 8, jackie_state )
AM_RANGE(0x05a0, 0x05a4) AM_WRITE(unk_reg3_lo_w)
AM_RANGE(0x0da0, 0x0da4) AM_WRITE(unk_reg3_hi_w)
AM_RANGE(0x1000, 0x1107) AM_RAM AM_SHARE("bg_scroll2")
- AM_RANGE(0x2000, 0x27ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x2800, 0x2fff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x2800, 0x2fff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x4000, 0x4000) AM_READ_PORT("DSW1") /* DSW1 */
AM_RANGE(0x4001, 0x4001) AM_READ_PORT("DSW2") /* DSW2 */
AM_RANGE(0x4002, 0x4002) AM_READ_PORT("DSW3") /* DSW3 */
diff --git a/src/mame/drivers/jackpool.cpp b/src/mame/drivers/jackpool.cpp
index f6bff691fb4..332a96ff495 100644
--- a/src/mame/drivers/jackpool.cpp
+++ b/src/mame/drivers/jackpool.cpp
@@ -144,7 +144,7 @@ static ADDRESS_MAP_START( jackpool_mem, AS_PROGRAM, 16, jackpool_state )
AM_RANGE(0x340000, 0x347fff) AM_RAM AM_SHARE("vram")
AM_RANGE(0x348000, 0x34ffff) AM_RAM //<- vram banks 2 & 3?
- AM_RANGE(0x360000, 0x3603ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x360000, 0x3603ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x380000, 0x38002f) AM_READ8(jackpool_io_r, 0x00ff)
AM_RANGE(0x380030, 0x38003f) AM_DEVWRITE8("latch1", ls259_device, write_d0, 0x00ff)
AM_RANGE(0x380040, 0x38004f) AM_DEVWRITE8("latch2", ls259_device, write_d0, 0x00ff)
diff --git a/src/mame/drivers/jalmah.cpp b/src/mame/drivers/jalmah.cpp
index 15fb898f5bf..0d4797373b5 100644
--- a/src/mame/drivers/jalmah.cpp
+++ b/src/mame/drivers/jalmah.cpp
@@ -1029,7 +1029,7 @@ static ADDRESS_MAP_START( jalmah, AS_PROGRAM, 16, jalmah_state )
/**/AM_RANGE(0x080020, 0x08003f) AM_RAM_WRITE(jalmah_scroll_w)
AM_RANGE(0x080040, 0x080041) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
// 0x084000, 0x084001 ?
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") /* Palette RAM */
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") /* Palette RAM */
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(sc0_vram_w) AM_SHARE("sc0_vram")
AM_RANGE(0x094000, 0x097fff) AM_RAM_WRITE(sc1_vram_w) AM_SHARE("sc1_vram")
AM_RANGE(0x098000, 0x09bfff) AM_RAM_WRITE(sc2_vram_w) AM_SHARE("sc2_vram")
@@ -1053,7 +1053,7 @@ static ADDRESS_MAP_START( urashima, AS_PROGRAM, 16, jalmah_state )
/**/AM_RANGE(0x08001c, 0x08001d) AM_RAM_WRITE(urashima_bank_w)
AM_RANGE(0x080040, 0x080041) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
// 0x084000, 0x084001 ?
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") /* Palette RAM */
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") /* Palette RAM */
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(urashima_sc0_vram_w) AM_SHARE("sc0_vram")
AM_RANGE(0x094000, 0x097fff) AM_RAM_WRITE(urashima_sc0_vram_w)
AM_RANGE(0x098000, 0x09bfff) AM_RAM_WRITE(urashima_sc0_vram_w)
diff --git a/src/mame/drivers/jchan.cpp b/src/mame/drivers/jchan.cpp
index 7be522b936d..150a9774b0f 100644
--- a/src/mame/drivers/jchan.cpp
+++ b/src/mame/drivers/jchan.cpp
@@ -445,7 +445,7 @@ static ADDRESS_MAP_START( jchan_main, AS_PROGRAM, 16, jchan_state )
AM_RANGE(0x500000, 0x503fff) AM_RAM_WRITE(sknsspr_sprite32_1_w) AM_SHARE("spriteram_1")
AM_RANGE(0x600000, 0x60003f) AM_RAM_WRITE(sknsspr_sprite32regs_1_w) AM_SHARE("sprregs_1")
- AM_RANGE(0x700000, 0x70ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // palette for sprites?
+ AM_RANGE(0x700000, 0x70ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // palette for sprites?
AM_RANGE(0xf00000, 0xf00007) AM_READWRITE(ctrl_r, ctrl_w) AM_SHARE("ctrl")
diff --git a/src/mame/drivers/jclub2.cpp b/src/mame/drivers/jclub2.cpp
index 9c850a40e9e..750fd7eb155 100644
--- a/src/mame/drivers/jclub2.cpp
+++ b/src/mame/drivers/jclub2.cpp
@@ -606,7 +606,7 @@ static ADDRESS_MAP_START( jclub2o_map, AS_PROGRAM, 32, jclub2o_state )
// ST-0020
AM_RANGE(0x600000, 0x67ffff) AM_DEVREADWRITE16( "st0020", st0020_device, sprram_r, sprram_w, 0xffffffff );
- AM_RANGE(0x680000, 0x69ffff) AM_RAM AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x680000, 0x69ffff) AM_RAM AM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x6a0000, 0x6bffff) AM_RAM
AM_RANGE(0x6c0000, 0x6c00ff) AM_DEVREADWRITE16( "st0020", st0020_device, regs_r, regs_w, 0xffffffff );
AM_RANGE(0x700000, 0x7fffff) AM_DEVREADWRITE16( "st0020", st0020_device, gfxram_r, gfxram_w, 0xffffffff );
@@ -721,7 +721,7 @@ static ADDRESS_MAP_START( jclub2_map, AS_PROGRAM, 32, jclub2_state )
// ST-0032
AM_RANGE(0x800000, 0x87ffff) AM_DEVREADWRITE16( "st0020", st0020_device, sprram_r, sprram_w, 0xffffffff );
- AM_RANGE(0x880000, 0x89ffff) AM_RAM AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x880000, 0x89ffff) AM_RAM AM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x8a0000, 0x8bffff) AM_RAM // this should still be palette ram!
AM_RANGE(0x8c0000, 0x8c00ff) AM_DEVREADWRITE16( "st0020", st0020_device, regs_r, regs_w, 0xffffffff );
AM_RANGE(0x8e0000, 0x8e01ff) AM_RAM // sound?
@@ -805,7 +805,7 @@ static ADDRESS_MAP_START( darkhors_map, AS_PROGRAM, 32, darkhors_state )
AM_RANGE(0x870000, 0x873fff) AM_RAM_WRITE(tmapram2_w) AM_SHARE("tmapram2")
AM_RANGE(0x874000, 0x87dfff) AM_RAM
AM_RANGE(0x87e000, 0x87ffff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x880000, 0x89ffff) AM_RAM AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x880000, 0x89ffff) AM_RAM AM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x8a0000, 0x8bffff) AM_RAM // this should still be palette ram!
AM_RANGE(0x8c0120, 0x8c012f) AM_WRITEONLY AM_SHARE("tmapscroll")
AM_RANGE(0x8c0130, 0x8c013f) AM_WRITEONLY AM_SHARE("tmapscroll2")
diff --git a/src/mame/drivers/joystand.cpp b/src/mame/drivers/joystand.cpp
index 3ad5e051c1d..e8c59639973 100644
--- a/src/mame/drivers/joystand.cpp
+++ b/src/mame/drivers/joystand.cpp
@@ -462,7 +462,7 @@ static ADDRESS_MAP_START( joystand_map, AS_PROGRAM, 16, joystand_state )
AM_RANGE(0x600000, 0x603fff) AM_RAM_WRITE(bg2_w) AM_SHARE("bg2_ram")
AM_RANGE(0x604000, 0x605fff) AM_RAM_WRITE(bg1_w) AM_SHARE("bg1_ram")
AM_RANGE(0x606000, 0x607fff) AM_RAM_WRITE(bg15_1_w) AM_SHARE("bg15_1_ram") // r5g5b5 200x200 tile-based
- AM_RANGE(0x608000, 0x609fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x608000, 0x609fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x60c000, 0x60c003) AM_RAM AM_SHARE("scroll") // write
AM_RANGE(0x60c00c, 0x60c00d) AM_RAM AM_SHARE("enable") // write
diff --git a/src/mame/drivers/junofrst.cpp b/src/mame/drivers/junofrst.cpp
index 82e0cb86eb3..701e8594267 100644
--- a/src/mame/drivers/junofrst.cpp
+++ b/src/mame/drivers/junofrst.cpp
@@ -277,7 +277,7 @@ WRITE8_MEMBER(junofrst_state::i8039_irqen_and_status_w)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, junofrst_state )
AM_RANGE(0x0000, 0x7fff) AM_RAM AM_SHARE("videoram")
- AM_RANGE(0x8000, 0x800f) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x8000, 0x800f) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x8010, 0x8010) AM_READ_PORT("DSW2")
AM_RANGE(0x801c, 0x801c) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
AM_RANGE(0x8020, 0x8020) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/kaneko16.cpp b/src/mame/drivers/kaneko16.cpp
index b38eeb80e92..cb2d438791e 100644
--- a/src/mame/drivers/kaneko16.cpp
+++ b/src/mame/drivers/kaneko16.cpp
@@ -310,7 +310,7 @@ static ADDRESS_MAP_START( berlwall, AS_PROGRAM, 16, kaneko16_berlwall_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // Work RAM
AM_RANGE(0x30e000, 0x30ffff) AM_READWRITE(berlwall_spriteram_r, berlwall_spriteram_w) AM_SHARE("spriteram") // Sprites (scrambled RAM)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x480000, 0x480001) AM_RAM AM_SHARE("bg15_scroll") // High Color Background
AM_RANGE(0x500000, 0x500001) AM_READWRITE(kaneko16_bg15_bright_r, kaneko16_bg15_bright_w) AM_SHARE("bg15_bright") // ""
AM_RANGE(0x580000, 0x580001) AM_READWRITE(kaneko16_bg15_select_r, kaneko16_bg15_select_w) AM_SHARE("bg15_select") // ""
@@ -357,7 +357,7 @@ static ADDRESS_MAP_START( bakubrkr, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x500000, 0x503fff) AM_DEVREADWRITE("view2_0", kaneko_view2_tilemap_device, kaneko_tmap_vram_r, kaneko_tmap_vram_w )
AM_RANGE(0x580000, 0x583fff) AM_DEVREADWRITE("view2_1", kaneko_view2_tilemap_device, kaneko_tmap_vram_r, kaneko_tmap_vram_w )
AM_RANGE(0x600000, 0x601fff) AM_RAM AM_SHARE("spriteram") // Sprites
- AM_RANGE(0x700000, 0x700fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x700000, 0x700fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x800000, 0x80001f) AM_DEVREADWRITE("view2_0", kaneko_view2_tilemap_device, kaneko_tmap_regs_r, kaneko_tmap_regs_w)
AM_RANGE(0x900000, 0x90001f) AM_DEVREADWRITE("kan_spr", kaneko16_sprite_device, kaneko16_sprites_regs_r, kaneko16_sprites_regs_w)
AM_RANGE(0xa80000, 0xa80001) AM_DEVREAD("watchdog", watchdog_timer_device, reset16_r)
@@ -377,7 +377,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( blazeon, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x300000, 0x30ffff) AM_RAM // Work RAM
- AM_RANGE(0x500000, 0x500fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x500000, 0x500fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x600000, 0x603fff) AM_DEVREADWRITE("view2_0", kaneko_view2_tilemap_device, kaneko_tmap_vram_r, kaneko_tmap_vram_w )
AM_RANGE(0x700000, 0x700fff) AM_RAM AM_SHARE("spriteram") // Sprites
AM_RANGE(0x800000, 0x80001f) AM_DEVREADWRITE("view2_0", kaneko_view2_tilemap_device, kaneko_tmap_regs_r, kaneko_tmap_regs_w)
@@ -436,7 +436,7 @@ static ADDRESS_MAP_START( bloodwar, AS_PROGRAM, 16, kaneko16_gtmr_state )
AM_RANGE(0x2b0000, 0x2b0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, mcu_com1_w)
AM_RANGE(0x2c0000, 0x2c0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, mcu_com2_w)
AM_RANGE(0x2d0000, 0x2d0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, mcu_com3_w)
- AM_RANGE(0x300000, 0x30ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x300000, 0x30ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x400000, 0x401fff) AM_RAM AM_SHARE("spriteram") // Sprites
AM_RANGE(0x500000, 0x503fff) AM_DEVREADWRITE("view2_0", kaneko_view2_tilemap_device, kaneko_tmap_vram_r, kaneko_tmap_vram_w )
AM_RANGE(0x580000, 0x583fff) AM_DEVREADWRITE("view2_1", kaneko_view2_tilemap_device, kaneko_tmap_vram_r, kaneko_tmap_vram_w )
@@ -490,7 +490,7 @@ static ADDRESS_MAP_START( bonkadv, AS_PROGRAM, 16, kaneko16_gtmr_state )
AM_RANGE(0x2b0000, 0x2b0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, mcu_com1_w)
AM_RANGE(0x2c0000, 0x2c0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, mcu_com2_w)
AM_RANGE(0x2d0000, 0x2d0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, mcu_com3_w)
- AM_RANGE(0x300000, 0x30ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x300000, 0x30ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x400000, 0x401fff) AM_RAM AM_SHARE("spriteram") // Sprites
AM_RANGE(0x500000, 0x503fff) AM_DEVREADWRITE("view2_0", kaneko_view2_tilemap_device, kaneko_tmap_vram_r, kaneko_tmap_vram_w )
AM_RANGE(0x580000, 0x583fff) AM_DEVREADWRITE("view2_1", kaneko_view2_tilemap_device, kaneko_tmap_vram_r, kaneko_tmap_vram_w )
@@ -562,7 +562,7 @@ static ADDRESS_MAP_START( gtmr_map, AS_PROGRAM, 16, kaneko16_gtmr_state )
AM_RANGE(0x2c0000, 0x2c0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, mcu_com2_w)
AM_RANGE(0x2d0000, 0x2d0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, mcu_com3_w)
- AM_RANGE(0x300000, 0x30ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x300000, 0x30ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x310000, 0x327fff) AM_RAM //
AM_RANGE(0x400000, 0x401fff) AM_RAM AM_SHARE("spriteram") // Sprites
@@ -631,7 +631,7 @@ static ADDRESS_MAP_START( gtmr2_map, AS_PROGRAM, 16, kaneko16_gtmr_state )
AM_RANGE(0x2c0000, 0x2c0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, mcu_com2_w)
AM_RANGE(0x2d0000, 0x2d0001) AM_DEVWRITE( "toybox", kaneko_toybox_device, mcu_com3_w)
- AM_RANGE(0x300000, 0x30ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x300000, 0x30ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x310000, 0x327fff) AM_RAM //
AM_RANGE(0x400000, 0x401fff) AM_RAM AM_SHARE("spriteram") // Sprites
@@ -671,7 +671,7 @@ static ADDRESS_MAP_START( mgcrystl, AS_PROGRAM, 16, kaneko16_state )
AM_RANGE(0x400000, 0x40001f) AM_READWRITE(kaneko16_ay1_YM2149_r, kaneko16_ay1_YM2149_w) // Sound
AM_RANGE(0x400200, 0x40021f) AM_READWRITE(kaneko16_ay2_YM2149_r, kaneko16_ay2_YM2149_w)
AM_RANGE(0x400400, 0x400401) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0x500000, 0x500fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x500000, 0x500fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x600000, 0x603fff) AM_DEVREADWRITE("view2_0", kaneko_view2_tilemap_device, kaneko_tmap_vram_r, kaneko_tmap_vram_w )
AM_RANGE(0x680000, 0x683fff) AM_DEVREADWRITE("view2_1", kaneko_view2_tilemap_device, kaneko_tmap_vram_r, kaneko_tmap_vram_w )
AM_RANGE(0x700000, 0x701fff) AM_RAM AM_SHARE("spriteram") // Sprites
@@ -733,7 +733,7 @@ static ADDRESS_MAP_START( shogwarr, AS_PROGRAM, 16, kaneko16_shogwarr_state )
AM_RANGE(0x2b0000, 0x2b0001) AM_DEVWRITE("calc3_prot", kaneko_calc3_device, mcu_com2_w)
//AM_RANGE(0x2c0000, 0x2c0001) // run calc 3? or irq ack?
AM_RANGE(0x2d0000, 0x2d0001) AM_DEVWRITE("calc3_prot", kaneko_calc3_device, mcu_com3_w)
- AM_RANGE(0x380000, 0x380fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x380000, 0x380fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x400000, 0x400001) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff) // Samples
AM_RANGE(0x480000, 0x480001) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x580000, 0x581fff) AM_RAM AM_SHARE("spriteram") // Sprites
diff --git a/src/mame/drivers/kickgoal.cpp b/src/mame/drivers/kickgoal.cpp
index c61ca112b4f..0bd1387844d 100644
--- a/src/mame/drivers/kickgoal.cpp
+++ b/src/mame/drivers/kickgoal.cpp
@@ -488,7 +488,7 @@ static ADDRESS_MAP_START( kickgoal_program_map, AS_PROGRAM, 16, kickgoal_state )
AM_RANGE(0xa0c000, 0xa0ffff) AM_RAM // more tilemap?
AM_RANGE(0xa10000, 0xa1000f) AM_WRITEONLY AM_SHARE("scrram") /* Scroll Registers */
AM_RANGE(0xb00000, 0xb007ff) AM_WRITEONLY AM_SHARE("spriteram") /* Sprites */
- AM_RANGE(0xc00000, 0xc007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") /* Palette */ // actionhw reads this
+ AM_RANGE(0xc00000, 0xc007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") /* Palette */ // actionhw reads this
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/klax.cpp b/src/mame/drivers/klax.cpp
index 3b975278f6d..71ae90801c2 100644
--- a/src/mame/drivers/klax.cpp
+++ b/src/mame/drivers/klax.cpp
@@ -82,16 +82,16 @@ MACHINE_RESET_MEMBER(klax_state,klax)
static ADDRESS_MAP_START( klax_map, AS_PROGRAM, 16, klax_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
- AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0x260000, 0x260001) AM_READ_PORT("P1") AM_WRITE(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_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x360000, 0x360001) AM_WRITE(interrupt_ack_w)
- AM_RANGE(0x3e0000, 0x3e07ff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0xff00) AM_SHARE("palette")
- AM_RANGE(0x3f0000, 0x3f0f7f) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
+ AM_RANGE(0x3e0000, 0x3e07ff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0xff00) AM_SHARE("palette")
+ AM_RANGE(0x3f0000, 0x3f0f7f) AM_RAM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
AM_RANGE(0x3f0f80, 0x3f0fff) AM_RAM AM_SHARE("mob:slip")
- AM_RANGE(0x3f1000, 0x3f1fff) AM_RAM_DEVWRITE("playfield", tilemap_device, write_ext) AM_SHARE("playfield_ext")
+ AM_RANGE(0x3f1000, 0x3f1fff) AM_RAM_DEVWRITE("playfield", tilemap_device, write16_ext) AM_SHARE("playfield_ext")
AM_RANGE(0x3f2000, 0x3f27ff) AM_RAM AM_SHARE("mob")
AM_RANGE(0x3f2800, 0x3f3fff) AM_RAM
ADDRESS_MAP_END
@@ -99,16 +99,16 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( klax2bl_map, AS_PROGRAM, 16, klax_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
- AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0x260000, 0x260001) AM_READ_PORT("P1") AM_WRITE(klax_latch_w)
AM_RANGE(0x260002, 0x260003) AM_READ_PORT("P2")
// AM_RANGE(0x270000, 0x270001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) // no OKI here
AM_RANGE(0x2e0000, 0x2e0001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x360000, 0x360001) AM_WRITE(interrupt_ack_w)
- AM_RANGE(0x3e0000, 0x3e07ff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0xff00) AM_SHARE("palette")
- AM_RANGE(0x3f0000, 0x3f0f7f) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
+ AM_RANGE(0x3e0000, 0x3e07ff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0xff00) AM_SHARE("palette")
+ AM_RANGE(0x3f0000, 0x3f0f7f) AM_RAM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
AM_RANGE(0x3f0f80, 0x3f0fff) AM_RAM AM_SHARE("mob:slip")
- AM_RANGE(0x3f1000, 0x3f1fff) AM_RAM_DEVWRITE("playfield", tilemap_device, write_ext) AM_SHARE("playfield_ext")
+ AM_RANGE(0x3f1000, 0x3f1fff) AM_RAM_DEVWRITE("playfield", tilemap_device, write16_ext) AM_SHARE("playfield_ext")
AM_RANGE(0x3f2000, 0x3f27ff) AM_RAM AM_SHARE("mob")
AM_RANGE(0x3f2800, 0x3f3fff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/konamigx.cpp b/src/mame/drivers/konamigx.cpp
index 2edd7b60279..5c1632b3504 100644
--- a/src/mame/drivers/konamigx.cpp
+++ b/src/mame/drivers/konamigx.cpp
@@ -1014,7 +1014,7 @@ static ADDRESS_MAP_START( gx_base_memmap, AS_PROGRAM, 32, konamigx_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( gx_type1_map, AS_PROGRAM, 32, konamigx_state )
- AM_RANGE(0xd90000, 0xd97fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xd90000, 0xd97fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0xdc0000, 0xdc1fff) AM_RAM // LAN RAM? (Racin' Force has, Open Golf doesn't)
AM_RANGE(0xdd0000, 0xdd00ff) AM_READNOP AM_WRITENOP // LAN board
AM_RANGE(0xdda000, 0xddafff) AM_WRITE_PORT("ADC-WRPORT")
@@ -1034,7 +1034,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( gx_type2_map, AS_PROGRAM, 32, konamigx_state )
AM_RANGE(0xcc0000, 0xcc0003) AM_WRITE(esc_w)
- AM_RANGE(0xd90000, 0xd97fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xd90000, 0xd97fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_IMPORT_FROM(gx_base_memmap)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/laserbas.cpp b/src/mame/drivers/laserbas.cpp
index 6c77e0f27e1..b12d6558aff 100644
--- a/src/mame/drivers/laserbas.cpp
+++ b/src/mame/drivers/laserbas.cpp
@@ -348,7 +348,7 @@ static ADDRESS_MAP_START( laserbas_io, AS_IO, 8, laserbas_state )
AM_RANGE(0x20, 0x23) AM_WRITE(out_w)
AM_RANGE(0x40, 0x43) AM_DEVREADWRITE("pit0", pit8253_device, read, write)
AM_RANGE(0x44, 0x47) AM_DEVREADWRITE("pit1", pit8253_device, read, write)
- AM_RANGE(0x80, 0x9f) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x80, 0x9f) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
static INPUT_PORTS_START( laserbas )
diff --git a/src/mame/drivers/lemmings.cpp b/src/mame/drivers/lemmings.cpp
index af3dd719dd8..380542b4cf6 100644
--- a/src/mame/drivers/lemmings.cpp
+++ b/src/mame/drivers/lemmings.cpp
@@ -73,7 +73,7 @@ static ADDRESS_MAP_START( lemmings_map, AS_PROGRAM, 16, lemmings_state )
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_SHARE("spriteram2")
- AM_RANGE(0x160000, 0x160fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x160000, 0x160fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x170000, 0x17000f) AM_RAM_WRITE(lemmings_control_w) AM_SHARE("control_data")
AM_RANGE(0x190000, 0x19000f) AM_READ(lemmings_trackball_r)
AM_RANGE(0x1a0000, 0x1a3fff) AM_READWRITE(lem_protection_region_0_146_r,lem_protection_region_0_146_w)AM_SHARE("prot16ram") /* Protection device */
diff --git a/src/mame/drivers/lethal.cpp b/src/mame/drivers/lethal.cpp
index 95c72ebc68f..094599b7f81 100644
--- a/src/mame/drivers/lethal.cpp
+++ b/src/mame/drivers/lethal.cpp
@@ -377,7 +377,7 @@ static ADDRESS_MAP_START( bank4000_map, AS_PROGRAM, 8, lethal_state )
AM_RANGE(0xa000, 0xbfff) AM_MIRROR(0x4000) AM_UNMAP // AM_DEVREAD("k056832", k056832_device, rom_byte_r)
// CBNK = 1; partially overlaid when VRD = 1
- AM_RANGE(0x4000, 0x7fff) AM_MIRROR(0x8000) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x4000, 0x7fff) AM_MIRROR(0x8000) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( le_sound, AS_PROGRAM, 8, lethal_state )
diff --git a/src/mame/drivers/liberate.cpp b/src/mame/drivers/liberate.cpp
index 06524cc4282..7d227761846 100644
--- a/src/mame/drivers/liberate.cpp
+++ b/src/mame/drivers/liberate.cpp
@@ -241,7 +241,7 @@ WRITE8_MEMBER(liberate_state::prosport_charram_w)
*************************************/
static ADDRESS_MAP_START( prosport_map, AS_PROGRAM, 8, liberate_state )
- AM_RANGE(0x0200, 0x021f) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0200, 0x021f) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x2000) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(prosport_bg_vram_w) AM_SHARE("bg_vram")
AM_RANGE(0x0800, 0x1fff) AM_READWRITE(prosport_charram_r,prosport_charram_w) //0x1e00-0x1fff isn't charram!
diff --git a/src/mame/drivers/limenko.cpp b/src/mame/drivers/limenko.cpp
index 369c524c0bc..9b8dd7168a1 100644
--- a/src/mame/drivers/limenko.cpp
+++ b/src/mame/drivers/limenko.cpp
@@ -232,7 +232,7 @@ static ADDRESS_MAP_START( limenko_map, AS_PROGRAM, 32, limenko_state )
AM_RANGE(0x80010000, 0x80017fff) AM_RAM_WRITE(bg_videoram_w) AM_SHARE("bg_videoram")
AM_RANGE(0x80018000, 0x80018fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x80019000, 0x80019fff) AM_RAM AM_SHARE("spriteram2")
- AM_RANGE(0x8001c000, 0x8001dfff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x8001c000, 0x8001dfff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x8001e000, 0x8001ebff) AM_RAM // ? not used
AM_RANGE(0x8001ffec, 0x8001ffff) AM_RAM AM_SHARE("videoreg")
AM_RANGE(0x8003e000, 0x8003e003) AM_WRITE(spriteram_buffer_w)
@@ -259,7 +259,7 @@ static ADDRESS_MAP_START( spotty_map, AS_PROGRAM, 32, limenko_state )
AM_RANGE(0x80010000, 0x80017fff) AM_RAM_WRITE(bg_videoram_w) AM_SHARE("bg_videoram")
AM_RANGE(0x80018000, 0x80018fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x80019000, 0x80019fff) AM_RAM AM_SHARE("spriteram2")
- AM_RANGE(0x8001c000, 0x8001dfff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x8001c000, 0x8001dfff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x8001e000, 0x8001ebff) AM_RAM // ? not used
AM_RANGE(0x8001ffec, 0x8001ffff) AM_RAM AM_SHARE("videoreg")
AM_RANGE(0x8003e000, 0x8003e003) AM_WRITE(spriteram_buffer_w)
diff --git a/src/mame/drivers/lkage.cpp b/src/mame/drivers/lkage.cpp
index d0f411e383a..9806f530782 100644
--- a/src/mame/drivers/lkage.cpp
+++ b/src/mame/drivers/lkage.cpp
@@ -119,7 +119,7 @@ READ8_MEMBER(lkage_state::sound_status_r)
static ADDRESS_MAP_START( lkage_map, AS_PROGRAM, 8, lkage_state )
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM /* work ram */
- AM_RANGE(0xe800, 0xefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xe800, 0xefff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xf000, 0xf003) AM_RAM AM_SHARE("vreg") /* video registers */
AM_RANGE(0xf060, 0xf060) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0xf061, 0xf061) AM_WRITENOP AM_READ(sound_status_r)
diff --git a/src/mame/drivers/lwings.cpp b/src/mame/drivers/lwings.cpp
index ceed8010f80..dad629f310e 100644
--- a/src/mame/drivers/lwings.cpp
+++ b/src/mame/drivers/lwings.cpp
@@ -293,8 +293,8 @@ static ADDRESS_MAP_START( avengers_map, AS_PROGRAM, 8, lwings_state )
AM_RANGE(0xdf80, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(lwings_fgvideoram_w) AM_SHARE("fgvideoram")
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(lwings_bg1videoram_w) AM_SHARE("bg1videoram")
- AM_RANGE(0xf000, 0xf3ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
- AM_RANGE(0xf400, 0xf7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xf000, 0xf3ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0xf400, 0xf7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xf800, 0xf801) AM_WRITE(lwings_bg1_scrollx_w)
AM_RANGE(0xf802, 0xf803) AM_WRITE(lwings_bg1_scrolly_w)
AM_RANGE(0xf804, 0xf804) AM_WRITE(trojan_bg2_scrollx_w)
@@ -316,8 +316,8 @@ static ADDRESS_MAP_START( lwings_map, AS_PROGRAM, 8, lwings_state )
AM_RANGE(0xde00, 0xdfff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(lwings_fgvideoram_w) AM_SHARE("fgvideoram")
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(lwings_bg1videoram_w) AM_SHARE("bg1videoram")
- AM_RANGE(0xf000, 0xf3ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
- AM_RANGE(0xf400, 0xf7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xf000, 0xf3ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0xf400, 0xf7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xf808, 0xf808) AM_READ_PORT("SERVICE")
AM_RANGE(0xf809, 0xf809) AM_READ_PORT("P1")
@@ -338,8 +338,8 @@ static ADDRESS_MAP_START( trojan_map, AS_PROGRAM, 8, lwings_state )
AM_RANGE(0xdf80, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(lwings_fgvideoram_w) AM_SHARE("fgvideoram")
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(lwings_bg1videoram_w) AM_SHARE("bg1videoram")
- AM_RANGE(0xf000, 0xf3ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
- AM_RANGE(0xf400, 0xf7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xf000, 0xf3ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0xf400, 0xf7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xf800, 0xf801) AM_WRITE(lwings_bg1_scrollx_w)
AM_RANGE(0xf802, 0xf803) AM_WRITE(lwings_bg1_scrolly_w)
@@ -373,8 +373,8 @@ static ADDRESS_MAP_START( fball_map, AS_PROGRAM, 8, lwings_state )
AM_RANGE(0xde00, 0xdfff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(lwings_fgvideoram_w) AM_SHARE("fgvideoram")
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(lwings_bg1videoram_w) AM_SHARE("bg1videoram")
- AM_RANGE(0xf000, 0xf3ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
- AM_RANGE(0xf400, 0xf7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xf000, 0xf3ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0xf400, 0xf7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xf808, 0xf808) AM_READ_PORT("SERVICE")
AM_RANGE(0xf809, 0xf809) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/m107.cpp b/src/mame/drivers/m107.cpp
index 1f3173b7607..fed20a09bed 100644
--- a/src/mame/drivers/m107.cpp
+++ b/src/mame/drivers/m107.cpp
@@ -102,7 +102,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, m107_state )
AM_RANGE(0xd0000, 0xdffff) AM_RAM_WRITE(vram_w) AM_SHARE("vram_data")
AM_RANGE(0xe0000, 0xeffff) AM_RAM /* System ram */
AM_RANGE(0xf8000, 0xf8fff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0xf9000, 0xf9fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xf9000, 0xf9fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xffff0, 0xfffff) AM_ROM AM_REGION("maincpu", 0x7fff0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/m90.cpp b/src/mame/drivers/m90.cpp
index fbe3242dd5f..e1a9405f5d9 100644
--- a/src/mame/drivers/m90.cpp
+++ b/src/mame/drivers/m90.cpp
@@ -72,7 +72,7 @@ static ADDRESS_MAP_START( m90_main_cpu_map, AS_PROGRAM, 16, m90_state )
AM_RANGE(0x80000, 0x8ffff) AM_ROMBANK("bank1") /* Quiz F1 only */
AM_RANGE(0xa0000, 0xa3fff) AM_RAM
AM_RANGE(0xd0000, 0xdffff) AM_RAM_WRITE(m90_video_w) AM_SHARE("video_data")
- AM_RANGE(0xe0000, 0xe03ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xe0000, 0xe03ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
@@ -81,7 +81,7 @@ static ADDRESS_MAP_START( dynablsb_main_cpu_map, AS_PROGRAM, 16, m90_state )
AM_RANGE(0x6000e, 0x60fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xa0000, 0xa3fff) AM_RAM
AM_RANGE(0xd0000, 0xdffff) AM_RAM_WRITE(m90_video_w) AM_SHARE("video_data")
- AM_RANGE(0xe0000, 0xe03ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xe0000, 0xe03ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
@@ -90,7 +90,7 @@ static ADDRESS_MAP_START( bomblord_main_cpu_map, AS_PROGRAM, 16, m90_state )
AM_RANGE(0xa0000, 0xa3fff) AM_RAM
AM_RANGE(0xc000e, 0xc0fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xd0000, 0xdffff) AM_RAM_WRITE(m90_video_w) AM_SHARE("video_data")
- AM_RANGE(0xe0000, 0xe03ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xe0000, 0xe03ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xffff0, 0xfffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/macrossp.cpp b/src/mame/drivers/macrossp.cpp
index 9c7f4d4a5cf..d511f49babb 100644
--- a/src/mame/drivers/macrossp.cpp
+++ b/src/mame/drivers/macrossp.cpp
@@ -358,7 +358,7 @@ static ADDRESS_MAP_START( macrossp_map, AS_PROGRAM, 32, macrossp_state )
AM_RANGE(0x91c200, 0x91c3ff) AM_RAM AM_SHARE("text_linezoom") /* W/O? */
AM_RANGE(0x91d000, 0x91d00b) AM_RAM AM_SHARE("text_videoregs") /* W/O? */
- AM_RANGE(0xa00000, 0xa03fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xa00000, 0xa03fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0xb00000, 0xb00003) AM_READ_PORT("INPUTS")
AM_RANGE(0xb00004, 0xb00007) AM_READ(macrossp_soundstatus_r) AM_WRITENOP // irq related?
diff --git a/src/mame/drivers/madmotor.cpp b/src/mame/drivers/madmotor.cpp
index 6f0b744b56d..51014db315e 100644
--- a/src/mame/drivers/madmotor.cpp
+++ b/src/mame/drivers/madmotor.cpp
@@ -59,7 +59,7 @@ static ADDRESS_MAP_START( madmotor_map, AS_PROGRAM, 16, madmotor_state )
AM_RANGE(0x1a4000, 0x1a4fff) AM_DEVREADWRITE("tilegen3", deco_bac06_device, pf_data_r, pf_data_w)
AM_RANGE(0x3e0000, 0x3e3fff) AM_RAM
AM_RANGE(0x3e8000, 0x3e87ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x3f0000, 0x3f07ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x3f0000, 0x3f07ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x3f8002, 0x3f8003) AM_READ_PORT("P1_P2")
AM_RANGE(0x3f8004, 0x3f8005) AM_READ_PORT("DSW")
AM_RANGE(0x3f8006, 0x3f8007) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/magic10.cpp b/src/mame/drivers/magic10.cpp
index 1d2bf3139d4..3851c09f3b3 100644
--- a/src/mame/drivers/magic10.cpp
+++ b/src/mame/drivers/magic10.cpp
@@ -317,7 +317,7 @@ static ADDRESS_MAP_START( magic10_map, AS_PROGRAM, 16, magic10_state )
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_SHARE("layer0_videoram")
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_SHARE("layer2_videoram")
AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0x300000, 0x3001ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x300000, 0x3001ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x400000, 0x400001) AM_READ_PORT("INPUTS")
AM_RANGE(0x400002, 0x400003) AM_READ_PORT("DSW")
AM_RANGE(0x400008, 0x400009) AM_WRITE(magic10_out_w)
@@ -333,7 +333,7 @@ static ADDRESS_MAP_START( magic10a_map, AS_PROGRAM, 16, magic10_state )
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_SHARE("layer0_videoram")
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_SHARE("layer2_videoram")
AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0x300000, 0x3001ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x300000, 0x3001ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("INPUTS")
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("DSW")
AM_RANGE(0x500008, 0x500009) AM_WRITE(magic10_out_w)
@@ -349,7 +349,7 @@ static ADDRESS_MAP_START( magic102_map, AS_PROGRAM, 16, magic10_state )
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_SHARE("layer0_videoram")
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_SHARE("layer2_videoram")
AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0x400000, 0x4001ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x4001ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x500000, 0x500001) AM_READ(magic102_r)
AM_RANGE(0x500004, 0x500005) AM_READNOP // gives credits
AM_RANGE(0x500006, 0x500007) AM_READNOP // gives credits
@@ -368,7 +368,7 @@ static ADDRESS_MAP_START( hotslot_map, AS_PROGRAM, 16, magic10_state )
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_SHARE("layer0_videoram")
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_SHARE("layer2_videoram")
AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0x400000, 0x4001ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x4001ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x500004, 0x500005) AM_READWRITE(hotslot_copro_r, hotslot_copro_w) // copro comm
AM_RANGE(0x500006, 0x500011) AM_RAM
AM_RANGE(0x500012, 0x500013) AM_READ_PORT("IN0")
@@ -387,7 +387,7 @@ static ADDRESS_MAP_START( sgsafari_map, AS_PROGRAM, 16, magic10_state )
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_SHARE("layer0_videoram")
AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_SHARE("layer2_videoram")
AM_RANGE(0x200000, 0x203fff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0x300000, 0x3001ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x300000, 0x3001ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("DSW1")
AM_RANGE(0x500008, 0x500009) AM_WRITE(magic10_out_w)
AM_RANGE(0x50000a, 0x50000b) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/mainevt.cpp b/src/mame/drivers/mainevt.cpp
index ac337beae62..1ee9491de5c 100644
--- a/src/mame/drivers/mainevt.cpp
+++ b/src/mame/drivers/mainevt.cpp
@@ -173,7 +173,7 @@ static ADDRESS_MAP_START( mainevt_map, AS_PROGRAM, 8, mainevt_state )
AM_RANGE(0x0000, 0x3fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
AM_RANGE(0x4000, 0x5dff) AM_RAM
- AM_RANGE(0x5e00, 0x5fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x5e00, 0x5fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("rombank")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -197,7 +197,7 @@ static ADDRESS_MAP_START( devstors_map, AS_PROGRAM, 8, mainevt_state )
AM_RANGE(0x0000, 0x3fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
AM_RANGE(0x4000, 0x5dff) AM_RAM
- AM_RANGE(0x5e00, 0x5fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x5e00, 0x5fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("rombank")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/majorpkr.cpp b/src/mame/drivers/majorpkr.cpp
index dbd73fd954e..a5b88491fc1 100644
--- a/src/mame/drivers/majorpkr.cpp
+++ b/src/mame/drivers/majorpkr.cpp
@@ -747,7 +747,7 @@ static ADDRESS_MAP_START( map, AS_PROGRAM, 8, majorpkr_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( palettebanks, AS_PROGRAM, 8, majorpkr_state )
- AM_RANGE(0x0000, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0000, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( vrambanks, AS_PROGRAM, 8, majorpkr_state )
diff --git a/src/mame/drivers/mcatadv.cpp b/src/mame/drivers/mcatadv.cpp
index e730a2eaadb..b03ff79e43e 100644
--- a/src/mame/drivers/mcatadv.cpp
+++ b/src/mame/drivers/mcatadv.cpp
@@ -187,7 +187,7 @@ static ADDRESS_MAP_START( mcatadv_map, AS_PROGRAM, 16, mcatadv_state )
AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE(mcatadv_videoram1_w) AM_SHARE("videoram1") // Tilemap 0
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(mcatadv_videoram2_w) AM_SHARE("videoram2") // Tilemap 1
- AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x602000, 0x602fff) AM_RAM // Bigger than needs to be?
AM_RANGE(0x700000, 0x707fff) AM_RAM AM_SHARE("spriteram") // Sprites, two halves for double buffering
diff --git a/src/mame/drivers/mcr.cpp b/src/mame/drivers/mcr.cpp
index 313384e8bab..81cd2103366 100644
--- a/src/mame/drivers/mcr.cpp
+++ b/src/mame/drivers/mcr.cpp
@@ -696,8 +696,8 @@ static ADDRESS_MAP_START( cpu_90009_map, AS_PROGRAM, 8, mcr_state )
AM_RANGE(0x0000, 0x6fff) AM_ROM
AM_RANGE(0x7000, 0x77ff) AM_MIRROR(0x0800) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xf000, 0xf1ff) AM_MIRROR(0x0200) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0xf400, 0xf41f) AM_MIRROR(0x03e0) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0xf800, 0xf81f) AM_MIRROR(0x03e0) AM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0xf400, 0xf41f) AM_MIRROR(0x03e0) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0xf800, 0xf81f) AM_MIRROR(0x03e0) AM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0xfc00, 0xffff) AM_RAM_WRITE(mcr_90009_videoram_w) AM_SHARE("videoram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mcr68.cpp b/src/mame/drivers/mcr68.cpp
index 2cb9afd3338..6a4f7983d25 100644
--- a/src/mame/drivers/mcr68.cpp
+++ b/src/mame/drivers/mcr68.cpp
@@ -281,7 +281,7 @@ static ADDRESS_MAP_START( mcr68_map, AS_PROGRAM, 16, mcr68_state )
AM_RANGE(0x070000, 0x070fff) AM_RAM_WRITE(mcr68_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x071000, 0x071fff) AM_RAM
AM_RANGE(0x080000, 0x080fff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x090000, 0x09007f) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x090000, 0x09007f) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0a0000, 0x0a000f) AM_DEVREADWRITE8("ptm", ptm6840_device, read, write, 0xff00)
AM_RANGE(0x0b0000, 0x0bffff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x0d0000, 0x0dffff) AM_READ_PORT("IN0")
@@ -303,7 +303,7 @@ static ADDRESS_MAP_START( pigskin_map, AS_PROGRAM, 16, mcr68_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
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_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0c0000, 0x0c007f) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0e0000, 0x0effff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(mcr68_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x120000, 0x120001) AM_READWRITE(pigskin_protection_r, pigskin_protection_w)
@@ -329,7 +329,7 @@ static ADDRESS_MAP_START( trisport_map, AS_PROGRAM, 16, mcr68_state )
AM_RANGE(0x080000, 0x08ffff) AM_READ(trisport_port_1_r)
AM_RANGE(0x0a0000, 0x0affff) AM_READ_PORT("DSW")
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0x120000, 0x12007f) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x120000, 0x12007f) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE(mcr68_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x180000, 0x18000f) AM_DEVREADWRITE8("ptm", ptm6840_device, read, write, 0xff00)
diff --git a/src/mame/drivers/megasys1.cpp b/src/mame/drivers/megasys1.cpp
index 9d9173f2703..21bd1127edc 100644
--- a/src/mame/drivers/megasys1.cpp
+++ b/src/mame/drivers/megasys1.cpp
@@ -212,7 +212,7 @@ static ADDRESS_MAP_START( megasys1Z_map, AS_PROGRAM, 16, megasys1_state )
AM_RANGE(0x084208, 0x08420d) AM_DEVWRITE("scroll1", megasys1_tilemap_device, scroll_w)
AM_RANGE(0x084300, 0x084301) AM_WRITE(screen_flag_w)
AM_RANGE(0x084308, 0x084309) AM_WRITE(soundlatch_z_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x08e000, 0x08ffff) AM_RAM AM_SHARE("objectram")
AM_RANGE(0x090000, 0x093fff) AM_RAM_DEVWRITE("scroll0", megasys1_tilemap_device, write) AM_SHARE("scroll0")
AM_RANGE(0x094000, 0x097fff) AM_RAM_DEVWRITE("scroll1", megasys1_tilemap_device, write) AM_SHARE("scroll1")
@@ -309,7 +309,7 @@ static ADDRESS_MAP_START( megasys1B_map, AS_PROGRAM, 16, megasys1_state )
AM_RANGE(0x044208, 0x04420d) AM_DEVWRITE("scroll1", megasys1_tilemap_device, scroll_w)
AM_RANGE(0x044300, 0x044301) AM_WRITE(screen_flag_w)
AM_RANGE(0x044308, 0x044309) AM_WRITE(soundlatch_w)
- AM_RANGE(0x048000, 0x0487ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x048000, 0x0487ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x04e000, 0x04ffff) AM_RAM AM_SHARE("objectram")
AM_RANGE(0x050000, 0x053fff) AM_RAM_DEVWRITE("scroll0", megasys1_tilemap_device, write) AM_SHARE("scroll0")
AM_RANGE(0x054000, 0x057fff) AM_RAM_DEVWRITE("scroll1", megasys1_tilemap_device, write) AM_SHARE("scroll1")
@@ -381,7 +381,7 @@ static ADDRESS_MAP_START( megasys1C_map, AS_PROGRAM, 16, megasys1_state )
AM_RANGE(0x0e0000, 0x0e3fff) AM_MIRROR(0x4000) AM_RAM_DEVWRITE("scroll0", megasys1_tilemap_device, write) AM_SHARE("scroll0")
AM_RANGE(0x0e8000, 0x0ebfff) AM_MIRROR(0x4000) AM_RAM_DEVWRITE("scroll1", megasys1_tilemap_device, write) AM_SHARE("scroll1")
AM_RANGE(0x0f0000, 0x0f3fff) AM_MIRROR(0x4000) AM_RAM_DEVWRITE("scroll2", megasys1_tilemap_device, write) AM_SHARE("scroll2")
- AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0f8000, 0x0f87ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x1c0000, 0x1cffff) AM_MIRROR(0x30000) AM_RAM_WRITE(ram_w) AM_SHARE("ram") //0x1f****, Cybattler reads attract mode inputs at 0x1d****
ADDRESS_MAP_END
@@ -405,7 +405,7 @@ static ADDRESS_MAP_START( megasys1D_map, AS_PROGRAM, 16, megasys1_state )
AM_RANGE(0x0c2308, 0x0c2309) AM_WRITE(screen_flag_w)
AM_RANGE(0x0ca000, 0x0cbfff) AM_RAM AM_SHARE("objectram")
AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_DEVWRITE("scroll1", megasys1_tilemap_device, write) AM_SHARE("scroll1")
- AM_RANGE(0x0d8000, 0x0d87ff) AM_MIRROR(0x3000) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0d8000, 0x0d87ff) AM_MIRROR(0x3000) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0e0000, 0x0e0001) AM_READ_PORT("DSW")
AM_RANGE(0x0e8000, 0x0ebfff) AM_RAM_DEVWRITE("scroll0", megasys1_tilemap_device, write) AM_SHARE("scroll0")
AM_RANGE(0x0f0000, 0x0f0001) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/metlclsh.cpp b/src/mame/drivers/metlclsh.cpp
index ebd21523d20..5da539e0fd0 100644
--- a/src/mame/drivers/metlclsh.cpp
+++ b/src/mame/drivers/metlclsh.cpp
@@ -70,8 +70,8 @@ static ADDRESS_MAP_START( metlclsh_master_map, AS_PROGRAM, 8, metlclsh_state )
AM_RANGE(0xc080, 0xc080) AM_WRITENOP // ? 0
AM_RANGE(0xc0c2, 0xc0c2) AM_WRITE(metlclsh_cause_irq) // cause irq on cpu #2
AM_RANGE(0xc0c3, 0xc0c3) AM_WRITE(metlclsh_ack_nmi) // nmi ack
-/**/AM_RANGE(0xc800, 0xc82f) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
-/**/AM_RANGE(0xcc00, 0xcc2f) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+/**/AM_RANGE(0xc800, 0xc82f) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+/**/AM_RANGE(0xcc00, 0xcc2f) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0xd000, 0xd001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
/**/AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(metlclsh_fgram_w) AM_SHARE("fgram")
AM_RANGE(0xe000, 0xe001) AM_DEVWRITE("ym2", ym3526_device, write)
diff --git a/src/mame/drivers/micro3d.cpp b/src/mame/drivers/micro3d.cpp
index 9096c5e8da0..7e2e9be25a9 100644
--- a/src/mame/drivers/micro3d.cpp
+++ b/src/mame/drivers/micro3d.cpp
@@ -233,7 +233,7 @@ static ADDRESS_MAP_START( vgbmem, AS_PROGRAM, 16, micro3d_state )
AM_RANGE(0x00800000, 0x00bfffff) AM_RAM
AM_RANGE(0x00c00000, 0x00c0000f) AM_READ_PORT("VGB_SW")
AM_RANGE(0x00e00000, 0x00e0000f) AM_WRITE(micro3d_xfer3dk_w)
- AM_RANGE(0x02000000, 0x0200ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // clut
+ AM_RANGE(0x02000000, 0x0200ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // clut
AM_RANGE(0x02600000, 0x0260000f) AM_WRITE(micro3d_creg_w)
AM_RANGE(0x02c00000, 0x02c0003f) AM_READ8(vgb_uart_r, 0x00ff)
AM_RANGE(0x02e00000, 0x02e0003f) AM_WRITE8(vgb_uart_w, 0x00ff)
diff --git a/src/mame/drivers/midas.cpp b/src/mame/drivers/midas.cpp
index 0de8abea16d..f276dc2a27d 100644
--- a/src/mame/drivers/midas.cpp
+++ b/src/mame/drivers/midas.cpp
@@ -209,7 +209,7 @@ static ADDRESS_MAP_START( livequiz_map, AS_PROGRAM, 16, midas_state )
AM_RANGE(0x9c0000, 0x9c0005) AM_WRITE(midas_gfxregs_w )
AM_RANGE(0x9c000c, 0x9c000d) AM_WRITENOP // IRQ Ack, temporary
- AM_RANGE(0xa00000, 0xa3ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xa00000, 0xa3ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xa40000, 0xa7ffff) AM_RAM
AM_RANGE(0xb00000, 0xb00001) AM_READ(ret_ffff )
@@ -280,7 +280,7 @@ static ADDRESS_MAP_START( hammer_map, AS_PROGRAM, 16, midas_state )
AM_RANGE(0x9c0000, 0x9c0005) AM_WRITE(midas_gfxregs_w )
AM_RANGE(0x9c000c, 0x9c000d) AM_WRITENOP // IRQ Ack, temporary
- AM_RANGE(0xa00000, 0xa3ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xa00000, 0xa3ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xa40000, 0xa7ffff) AM_RAM
AM_RANGE(0xb00000, 0xb00001) AM_READ(ret_ffff )
diff --git a/src/mame/drivers/midtunit.cpp b/src/mame/drivers/midtunit.cpp
index 4680a469586..79cbfd70998 100644
--- a/src/mame/drivers/midtunit.cpp
+++ b/src/mame/drivers/midtunit.cpp
@@ -54,7 +54,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, midtunit_state )
AM_RANGE(0x01600010, 0x0160001f) AM_READ_PORT("IN1")
AM_RANGE(0x01600020, 0x0160002f) AM_READ_PORT("IN2")
AM_RANGE(0x01600030, 0x0160003f) AM_READ_PORT("DSW")
- AM_RANGE(0x01800000, 0x0187ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x01800000, 0x0187ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x01a80000, 0x01a800ff) AM_READWRITE(midtunit_dma_r, midtunit_dma_w)
AM_RANGE(0x01b00000, 0x01b0001f) AM_WRITE(midtunit_control_w)
/* AM_RANGE(0x01c00060, 0x01c0007f) AM_WRITE(midtunit_cmos_enable_w) */
diff --git a/src/mame/drivers/midwunit.cpp b/src/mame/drivers/midwunit.cpp
index 56709126c2a..138508a7acf 100644
--- a/src/mame/drivers/midwunit.cpp
+++ b/src/mame/drivers/midwunit.cpp
@@ -118,7 +118,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, midwunit_state )
AM_RANGE(0x01600000, 0x0160001f) AM_READWRITE(midwunit_security_r, midwunit_security_w)
AM_RANGE(0x01680000, 0x0168001f) AM_READWRITE(midwunit_sound_r, midwunit_sound_w)
AM_RANGE(0x01800000, 0x0187ffff) AM_READWRITE(midwunit_io_r, midwunit_io_w)
- AM_RANGE(0x01880000, 0x018fffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x01880000, 0x018fffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x01a00000, 0x01a000ff) AM_MIRROR(0x00080000) AM_READWRITE(midtunit_dma_r, midtunit_dma_w)
AM_RANGE(0x01b00000, 0x01b0001f) AM_READWRITE(midwunit_control_r, midwunit_control_w)
AM_RANGE(0x02000000, 0x06ffffff) AM_READ(midwunit_gfxrom_r)
diff --git a/src/mame/drivers/midxunit.cpp b/src/mame/drivers/midxunit.cpp
index 5d0847c3d55..6b2a777a149 100644
--- a/src/mame/drivers/midxunit.cpp
+++ b/src/mame/drivers/midxunit.cpp
@@ -116,7 +116,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, midxunit_state )
AM_RANGE(0x60c00060, 0x60c0007f) AM_READ_PORT("DSW")
AM_RANGE(0x60c00080, 0x60c000df) AM_WRITE(midxunit_io_w)
AM_RANGE(0x60c000e0, 0x60c000ff) AM_READWRITE(midxunit_security_r, midxunit_security_w)
- AM_RANGE(0x80800000, 0x8080000f) AM_DEVREADWRITE8("adc", adc0848_device, read, write, 0x00ff)
+ AM_RANGE(0x80800000, 0x8080000f) AM_DEVREAD8("adc", adc0848_device, read, 0x00ff) AM_DEVWRITE8("adc", adc0848_device, write, 0x00ff)
AM_RANGE(0x80800010, 0x8080001f) AM_NOP
AM_RANGE(0x80c00000, 0x80c000ff) AM_READWRITE(midxunit_uart_r, midxunit_uart_w)
AM_RANGE(0xa0440000, 0xa047ffff) AM_READWRITE(midxunit_cmos_r, midxunit_cmos_w) AM_SHARE("nvram")
diff --git a/src/mame/drivers/mil4000.cpp b/src/mame/drivers/mil4000.cpp
index 8bc45167b97..09f247a0cd4 100644
--- a/src/mame/drivers/mil4000.cpp
+++ b/src/mame/drivers/mil4000.cpp
@@ -437,7 +437,7 @@ static ADDRESS_MAP_START( mil4000_map, AS_PROGRAM, 16, mil4000_state )
AM_RANGE(0x708010, 0x708011) AM_NOP //touch screen
AM_RANGE(0x70801e, 0x70801f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0x780000, 0x780fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x780000, 0x780fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("nvram") // 2x CY62256L-70 (U7 & U8).
ADDRESS_MAP_END
@@ -460,7 +460,7 @@ static ADDRESS_MAP_START( chewheel_map, AS_PROGRAM, 16, mil4000_state )
AM_RANGE(0x708010, 0x708011) AM_READWRITE(chewheel_mcu_r, chewheel_mcu_w)
AM_RANGE(0x70801e, 0x70801f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0x780000, 0x780fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x780000, 0x780fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xff0000, 0xff3fff) AM_RAM AM_SHARE("nvram") // V62C51864L-70P (U77).
AM_RANGE(0xffc000, 0xffffff) AM_RAM // V62C51864L-70P (U78).
diff --git a/src/mame/drivers/mirage.cpp b/src/mame/drivers/mirage.cpp
index d1546e45787..07f08aff7ad 100644
--- a/src/mame/drivers/mirage.cpp
+++ b/src/mame/drivers/mirage.cpp
@@ -165,7 +165,7 @@ static ADDRESS_MAP_START( mirage_map, AS_PROGRAM, 16, miragemj_state )
AM_RANGE(0x110000, 0x110bff) AM_RAM AM_SHARE("pf1_rowscroll")
AM_RANGE(0x112000, 0x112bff) AM_RAM AM_SHARE("pf2_rowscroll")
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x130000, 0x1307ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x130000, 0x1307ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x140000, 0x14000f) AM_DEVREADWRITE8("oki_sfx", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x150000, 0x15000f) AM_DEVREADWRITE8("oki_bgm", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x160000, 0x160001) AM_WRITENOP
diff --git a/src/mame/drivers/missb2.cpp b/src/mame/drivers/missb2.cpp
index 8ca9f69d7da..eb77572379a 100644
--- a/src/mame/drivers/missb2.cpp
+++ b/src/mame/drivers/missb2.cpp
@@ -182,7 +182,7 @@ static ADDRESS_MAP_START( maincpu_map, AS_PROGRAM, 8, missb2_state )
AM_RANGE(0xc000, 0xdcff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0xdd00, 0xdfff) AM_RAM AM_SHARE("objectram")
AM_RANGE(0xe000, 0xf7ff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0xf800, 0xf9ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xf800, 0xf9ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xfa00, 0xfa00) AM_MIRROR(0x007c) AM_DEVREAD("sound_to_main", generic_latch_8_device, read) AM_DEVWRITE("main_to_sound", generic_latch_8_device, write)
AM_RANGE(0xfa01, 0xfa01) AM_MIRROR(0x007c) AM_READ(common_sound_semaphores_r)
AM_RANGE(0xfa03, 0xfa03) AM_MIRROR(0x007c) AM_WRITE(bublbobl_soundcpu_reset_w)
@@ -205,7 +205,7 @@ static ADDRESS_MAP_START( subcpu_map, AS_PROGRAM, 8, missb2_state )
AM_RANGE(0x9000, 0x9fff) AM_ROMBANK("bank2") // ROM data for the background palette ram
AM_RANGE(0xa000, 0xafff) AM_ROMBANK("bank3") // ROM data for the background palette ram
AM_RANGE(0xb000, 0xb1ff) AM_ROM // banked ???
- AM_RANGE(0xc000, 0xc1ff) AM_RAM_DEVWRITE("bgpalette", palette_device, write) AM_SHARE("bgpalette")
+ AM_RANGE(0xc000, 0xc1ff) AM_RAM_DEVWRITE("bgpalette", palette_device, write8) AM_SHARE("bgpalette")
AM_RANGE(0xc800, 0xcfff) AM_RAM // main ???
AM_RANGE(0xd000, 0xd000) AM_WRITE(missb2_bg_bank_w)
AM_RANGE(0xd002, 0xd002) AM_WRITENOP
diff --git a/src/mame/drivers/mitchell.cpp b/src/mame/drivers/mitchell.cpp
index cb1619e7e67..15e2e727ae5 100644
--- a/src/mame/drivers/mitchell.cpp
+++ b/src/mame/drivers/mitchell.cpp
@@ -318,7 +318,7 @@ WRITE8_MEMBER(mitchell_state::input_w)
static ADDRESS_MAP_START( mgakuen_map, AS_PROGRAM, 8, mitchell_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
- AM_RANGE(0xc000, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write) /* palette RAM */
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) /* palette RAM */
AM_RANGE(0xc800, 0xcfff) AM_READWRITE(pang_colorram_r, pang_colorram_w) AM_SHARE("colorram") /* Attribute RAM */
AM_RANGE(0xd000, 0xdfff) AM_READWRITE(mgakuen_videoram_r, mgakuen_videoram_w) AM_SHARE("videoram") /* char RAM */
AM_RANGE(0xe000, 0xefff) AM_RAM /* Work RAM */
diff --git a/src/mame/drivers/mlanding.cpp b/src/mame/drivers/mlanding.cpp
index 4305ce13003..60cc2f2ab42 100644
--- a/src/mame/drivers/mlanding.cpp
+++ b/src/mame/drivers/mlanding.cpp
@@ -718,7 +718,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, mlanding_state )
AM_RANGE(0x1c4000, 0x1cffff) AM_RAM AM_SHARE("sub_com_ram")
AM_RANGE(0x1d0000, 0x1d0001) AM_WRITE(dma_start_w)
AM_RANGE(0x1d0002, 0x1d0003) AM_WRITE(dma_stop_w)
- AM_RANGE(0x200000, 0x20ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x20ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x240004, 0x240005) AM_READNOP // Watchdog
AM_RANGE(0x240006, 0x240007) AM_READ(input_r)
AM_RANGE(0x280000, 0x280fff) AM_READWRITE(power_ram_r, power_ram_w)
diff --git a/src/mame/drivers/model1.cpp b/src/mame/drivers/model1.cpp
index 53403563b5a..be363979e92 100644
--- a/src/mame/drivers/model1.cpp
+++ b/src/mame/drivers/model1.cpp
@@ -828,7 +828,7 @@ WRITE16_MEMBER(model1_state::md0_w)
WRITE16_MEMBER(model1_state::p_w)
{
uint16_t old = m_paletteram16[offset];
- m_palette->write(space, offset, data, mem_mask);
+ m_palette->write16(space, offset, data, mem_mask);
if(0 && m_paletteram16[offset] != old)
logerror("XVIDEO: p_w %x, %04x @ %04x (%x)\n", offset, data, mem_mask, m_maincpu->pc());
}
diff --git a/src/mame/drivers/momoko.cpp b/src/mame/drivers/momoko.cpp
index ec300a89838..49a5d830af9 100644
--- a/src/mame/drivers/momoko.cpp
+++ b/src/mame/drivers/momoko.cpp
@@ -72,7 +72,7 @@ static ADDRESS_MAP_START( momoko_map, AS_PROGRAM, 8, momoko_state )
AM_RANGE(0xd404, 0xd404) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
AM_RANGE(0xd406, 0xd406) AM_READ_PORT("DSW0") AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0xd407, 0xd407) AM_READ_PORT("DSW1")
- AM_RANGE(0xd800, 0xdbff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xd800, 0xdbff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xdc00, 0xdc00) AM_WRITE(momoko_fg_scrolly_w)
AM_RANGE(0xdc01, 0xdc01) AM_WRITE(momoko_fg_scrollx_w)
AM_RANGE(0xdc02, 0xdc02) AM_WRITE(momoko_fg_select_w)
diff --git a/src/mame/drivers/moo.cpp b/src/mame/drivers/moo.cpp
index 6d536a1be3e..e99e354bb28 100644
--- a/src/mame/drivers/moo.cpp
+++ b/src/mame/drivers/moo.cpp
@@ -323,7 +323,7 @@ static ADDRESS_MAP_START( moo_map, AS_PROGRAM, 16, moo_state )
AM_RANGE(0x1a0000, 0x1a1fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) /* Graphic planes */
AM_RANGE(0x1a2000, 0x1a3fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) /* Graphic planes mirror */
AM_RANGE(0x1b0000, 0x1b1fff) AM_DEVREAD("k056832", k056832_device, rom_word_r) /* Passthrough to tile roms */
- AM_RANGE(0x1c0000, 0x1c1fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1c0000, 0x1c1fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
#if MOO_DEBUG
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVREAD("k056832", k056832_device, word_r)
AM_RANGE(0x0c2000, 0x0c2007) AM_DEVREAD("k053246", k053247_device, k053246_reg_word_r)
@@ -356,7 +356,7 @@ static ADDRESS_MAP_START( moobl_map, AS_PROGRAM, 16, moo_state )
AM_RANGE(0x1a0000, 0x1a1fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) /* Graphic planes */
AM_RANGE(0x1a2000, 0x1a3fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) /* Graphic planes mirror */
AM_RANGE(0x1b0000, 0x1b1fff) AM_DEVREAD("k056832", k056832_device, rom_word_r) /* Passthrough to tile roms */
- AM_RANGE(0x1c0000, 0x1c1fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1c0000, 0x1c1fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( bucky_map, AS_PROGRAM, 16, moo_state )
@@ -384,7 +384,7 @@ static ADDRESS_MAP_START( bucky_map, AS_PROGRAM, 16, moo_state )
AM_RANGE(0x182000, 0x183fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) /* Graphic planes mirror */
AM_RANGE(0x184000, 0x187fff) AM_RAM /* extra tile RAM? */
AM_RANGE(0x190000, 0x191fff) AM_DEVREAD("k056832", k056832_device, rom_word_r) /* Passthrough to tile roms */
- AM_RANGE(0x1b0000, 0x1b3fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1b0000, 0x1b3fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x200000, 0x23ffff) AM_ROM /* data */
#if MOO_DEBUG
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVREAD("k056832", k056832_device, word_r)
diff --git a/src/mame/drivers/mosaic.cpp b/src/mame/drivers/mosaic.cpp
index ca65a166d7a..d3d4275f026 100644
--- a/src/mame/drivers/mosaic.cpp
+++ b/src/mame/drivers/mosaic.cpp
@@ -122,7 +122,7 @@ static ADDRESS_MAP_START( mosaic_map, AS_PROGRAM, 8, mosaic_state )
AM_RANGE(0x20000, 0x21fff) AM_RAM
AM_RANGE(0x22000, 0x22fff) AM_RAM_WRITE(bgvideoram_w) AM_SHARE("bgvideoram")
AM_RANGE(0x23000, 0x23fff) AM_RAM_WRITE(fgvideoram_w) AM_SHARE("fgvideoram")
- AM_RANGE(0x24000, 0x241ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x24000, 0x241ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( gfire2_map, AS_PROGRAM, 8, mosaic_state )
@@ -130,7 +130,7 @@ static ADDRESS_MAP_START( gfire2_map, AS_PROGRAM, 8, mosaic_state )
AM_RANGE(0x10000, 0x17fff) AM_RAM
AM_RANGE(0x22000, 0x22fff) AM_RAM_WRITE(bgvideoram_w) AM_SHARE("bgvideoram")
AM_RANGE(0x23000, 0x23fff) AM_RAM_WRITE(fgvideoram_w) AM_SHARE("fgvideoram")
- AM_RANGE(0x24000, 0x241ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x24000, 0x241ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( mosaic_io_map, AS_IO, 8, mosaic_state )
diff --git a/src/mame/drivers/mrflea.cpp b/src/mame/drivers/mrflea.cpp
index 6ad7ff7a517..68859fd93c0 100644
--- a/src/mame/drivers/mrflea.cpp
+++ b/src/mame/drivers/mrflea.cpp
@@ -101,7 +101,7 @@ static ADDRESS_MAP_START( mrflea_master_map, AS_PROGRAM, 8, mrflea_state )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(mrflea_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0xe800, 0xe83f) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xe800, 0xe83f) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xec00, 0xecff) AM_RAM_WRITE(mrflea_spriteram_w) AM_SHARE("spriteram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/msisaac.cpp b/src/mame/drivers/msisaac.cpp
index e6e9e48b0f7..edb16425e7c 100644
--- a/src/mame/drivers/msisaac.cpp
+++ b/src/mame/drivers/msisaac.cpp
@@ -177,7 +177,7 @@ WRITE8_MEMBER(msisaac_state::msisaac_mcu_w)
static ADDRESS_MAP_START( msisaac_map, AS_PROGRAM, 8, msisaac_state )
AM_RANGE(0x0000, 0xdfff) AM_ROM
AM_RANGE(0xe000, 0xe7ff) AM_RAM
- AM_RANGE(0xe800, 0xefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xe800, 0xefff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xf000, 0xf000) AM_WRITE(msisaac_bg2_textbank_w)
AM_RANGE(0xf001, 0xf001) AM_WRITENOP //???
AM_RANGE(0xf002, 0xf002) AM_WRITENOP //???
diff --git a/src/mame/drivers/mugsmash.cpp b/src/mame/drivers/mugsmash.cpp
index 316a52a52c4..1014c609ad2 100644
--- a/src/mame/drivers/mugsmash.cpp
+++ b/src/mame/drivers/mugsmash.cpp
@@ -180,7 +180,7 @@ static ADDRESS_MAP_START( mugsmash_map, AS_PROGRAM, 16, mugsmash_state )
AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(mugsmash_videoram1_w) AM_SHARE("videoram1")
AM_RANGE(0x082000, 0x082fff) AM_RAM_WRITE(mugsmash_videoram2_w) AM_SHARE("videoram2")
AM_RANGE(0x0c0000, 0x0c0007) AM_WRITE(mugsmash_reg_w) AM_SHARE("regs1") /* video registers*/
- AM_RANGE(0x100000, 0x1005ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x100000, 0x1005ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x140000, 0x140007) AM_WRITE(mugsmash_reg2_w) AM_SHARE("regs2") /* sound + ? */
AM_RANGE(0x1c0000, 0x1c3fff) AM_RAM /* main ram? */
AM_RANGE(0x1c4000, 0x1cffff) AM_RAM
diff --git a/src/mame/drivers/mwarr.cpp b/src/mame/drivers/mwarr.cpp
index 72af2db69d7..e37eb9510d0 100644
--- a/src/mame/drivers/mwarr.cpp
+++ b/src/mame/drivers/mwarr.cpp
@@ -220,7 +220,7 @@ static ADDRESS_MAP_START( mwarr_map, AS_PROGRAM, 16, mwarr_state )
AM_RANGE(0x103400, 0x1037ff) AM_RAM AM_SHARE("mlow_scrollram")
AM_RANGE(0x103800, 0x103bff) AM_RAM AM_SHARE("mhigh_scrollram")
AM_RANGE(0x103c00, 0x103fff) AM_RAM AM_SHARE("vidattrram")
- AM_RANGE(0x104000, 0x104fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x104000, 0x104fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x108000, 0x108fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x110000, 0x110001) AM_READ_PORT("P1_P2")
AM_RANGE(0x110002, 0x110003) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/mystwarr.cpp b/src/mame/drivers/mystwarr.cpp
index c9d2b7861bd..028706f2f5f 100644
--- a/src/mame/drivers/mystwarr.cpp
+++ b/src/mame/drivers/mystwarr.cpp
@@ -315,7 +315,7 @@ static ADDRESS_MAP_START( mystwarr_map, AS_PROGRAM, 16, mystwarr_state )
AM_RANGE(0x600000, 0x601fff) AM_DEVREADWRITE("k056832", k056832_device,ram_word_r,ram_word_w)
AM_RANGE(0x602000, 0x603fff) AM_DEVREADWRITE("k056832", k056832_device,ram_word_r,ram_word_w) // tilemap RAM mirror read(essential)
AM_RANGE(0x680000, 0x683fff) AM_DEVREAD("k056832", k056832_device, mw_rom_word_r)
- AM_RANGE(0x700000, 0x701fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
/* Metamorphic Force */
@@ -346,7 +346,7 @@ static ADDRESS_MAP_START( metamrph_map, AS_PROGRAM, 16, mystwarr_state )
AM_RANGE(0x302000, 0x303fff) AM_DEVREADWRITE("k056832", k056832_device,ram_word_r,ram_word_w) // tilemap RAM mirror read/write (essential)
AM_RANGE(0x310000, 0x311fff) AM_DEVREAD("k056832", k056832_device, mw_rom_word_r)
AM_RANGE(0x320000, 0x321fff) AM_DEVREAD("k053250_1", k053250_device, rom_r)
- AM_RANGE(0x330000, 0x331fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x330000, 0x331fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
/* Violent Storm */
@@ -378,7 +378,7 @@ static ADDRESS_MAP_START( viostorm_map, AS_PROGRAM, 16, mystwarr_state )
AM_RANGE(0x302000, 0x303fff) AM_DEVREADWRITE("k056832", k056832_device,ram_word_r,ram_word_w) // tilemap RAM mirror read(essential)
AM_RANGE(0x304000, 0x3041ff) AM_RAM
AM_RANGE(0x310000, 0x311fff) AM_DEVREAD("k056832", k056832_device, mw_rom_word_r)
- AM_RANGE(0x330000, 0x331fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x330000, 0x331fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
// Martial Champion specific interfaces
@@ -466,7 +466,7 @@ static ADDRESS_MAP_START( martchmp_map, AS_PROGRAM, 16, mystwarr_state )
AM_RANGE(0x41c000, 0x41c01f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) // CCU
AM_RANGE(0x41e000, 0x41e007) AM_DEVWRITE("k056832", k056832_device,b_word_w) // VSCCS
AM_RANGE(0x480000, 0x483fff) AM_READWRITE(k053247_martchmp_word_r,k053247_martchmp_word_w) AM_SHARE("spriteram") // sprite RAM
- AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // palette RAM
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // palette RAM
AM_RANGE(0x680000, 0x681fff) AM_DEVREADWRITE("k056832", k056832_device,ram_word_r,ram_word_w) // tilemap RAM
AM_RANGE(0x682000, 0x683fff) AM_DEVREADWRITE("k056832", k056832_device,ram_word_r,ram_word_w) // tilemap RAM mirror read/write (essential)
AM_RANGE(0x700000, 0x703fff) AM_DEVREAD("k056832", k056832_device, mw_rom_word_r) // tile ROM readback
@@ -478,7 +478,7 @@ static ADDRESS_MAP_START( dadandrn_map, AS_PROGRAM, 16, mystwarr_state )
AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(k053247_scattered_word_r,k053247_scattered_word_w) AM_SHARE("spriteram")
AM_RANGE(0x410000, 0x411fff) AM_DEVREADWRITE("k056832", k056832_device,ram_word_r,ram_word_w) // tilemap RAM
AM_RANGE(0x412000, 0x413fff) AM_DEVREADWRITE("k056832", k056832_device,ram_word_r,ram_word_w) // tilemap RAM mirror read/write (essential)
- AM_RANGE(0x420000, 0x421fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x420000, 0x421fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x430000, 0x430007) AM_DEVWRITE("k055673", k055673_device, k053246_word_w)
AM_RANGE(0x440000, 0x443fff) AM_DEVREAD("k056832", k056832_device, mw_rom_word_r)
AM_RANGE(0x450000, 0x45000f) AM_DEVREAD("k055673", k055673_device, k055673_rom_word_r)
@@ -514,7 +514,7 @@ static ADDRESS_MAP_START( gaiapols_map, AS_PROGRAM, 16, mystwarr_state )
AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(k053247_scattered_word_r,k053247_scattered_word_w) AM_SHARE("spriteram")
AM_RANGE(0x410000, 0x411fff) AM_DEVREADWRITE("k056832", k056832_device,ram_word_r,ram_word_w) // tilemap RAM
AM_RANGE(0x412000, 0x413fff) AM_DEVREADWRITE("k056832", k056832_device,ram_word_r,ram_word_w) // tilemap RAM mirror read / write (essential)
- AM_RANGE(0x420000, 0x421fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x420000, 0x421fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x430000, 0x430007) AM_DEVWRITE("k055673", k055673_device, k053246_word_w)
AM_RANGE(0x440000, 0x441fff) AM_DEVREAD("k056832", k056832_device, mw_rom_word_r)
AM_RANGE(0x450000, 0x45000f) AM_DEVREAD("k055673", k055673_device, k055673_rom_word_r)
diff --git a/src/mame/drivers/namcos21.cpp b/src/mame/drivers/namcos21.cpp
index ee86c776e2e..dd965c8b9ad 100644
--- a/src/mame/drivers/namcos21.cpp
+++ b/src/mame/drivers/namcos21.cpp
@@ -1243,8 +1243,8 @@ static ADDRESS_MAP_START( common_map, AS_PROGRAM, 16, namcos21_state )
AM_RANGE(0x480000, 0x4807ff) AM_READWRITE(namcos21_depthcue_r,namcos21_depthcue_w) /* Air Combat */
AM_RANGE(0x700000, 0x71ffff) AM_READWRITE(c355_obj_ram_r,c355_obj_ram_w)
AM_RANGE(0x720000, 0x720007) AM_READWRITE(c355_obj_position_r,c355_obj_position_w)
- AM_RANGE(0x740000, 0x74ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x750000, 0x75ffff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x740000, 0x74ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
+ AM_RANGE(0x750000, 0x75ffff) AM_RAM_DEVWRITE("palette", palette_device, write16_ext) AM_SHARE("palette_ext")
AM_RANGE(0x760000, 0x760001) AM_READWRITE(namcos21_video_enable_r,namcos21_video_enable_w)
AM_RANGE(0x800000, 0x8fffff) AM_ROM AM_REGION("data", 0)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("sharedram")
@@ -1503,8 +1503,8 @@ static ADDRESS_MAP_START( winrun_gpu_map, AS_PROGRAM, 16, namcos21_state )
AM_RANGE(0x180000, 0x19ffff) AM_RAM /* work RAM */
AM_RANGE(0x1c0000, 0x1fffff) AM_DEVICE("gpu_intc", namco_c148_device, map)
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("gpu_comram")
- AM_RANGE(0x400000, 0x40ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x410000, 0x41ffff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x400000, 0x40ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
+ AM_RANGE(0x410000, 0x41ffff) AM_RAM_DEVWRITE("palette", palette_device, write16_ext) AM_SHARE("palette_ext")
AM_RANGE(0x600000, 0x6fffff) AM_ROM AM_REGION("gdata", 0)
AM_RANGE(0xc00000, 0xcfffff) AM_READWRITE(winrun_gpu_videoram_r,winrun_gpu_videoram_w)
AM_RANGE(0xd00000, 0xd0000f) AM_READWRITE(winrun_gpu_register_r,winrun_gpu_register_w)
@@ -1566,8 +1566,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( driveyes_common_map, AS_PROGRAM, 16, namcos21_state )
AM_RANGE(0x700000, 0x71ffff) AM_READWRITE(c355_obj_ram_r,c355_obj_ram_w)
AM_RANGE(0x720000, 0x720007) AM_READWRITE(c355_obj_position_r,c355_obj_position_w)
- AM_RANGE(0x740000, 0x74ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x750000, 0x75ffff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x740000, 0x74ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
+ AM_RANGE(0x750000, 0x75ffff) AM_RAM_DEVWRITE("palette", palette_device, write16_ext) AM_SHARE("palette_ext")
AM_RANGE(0x760000, 0x760001) AM_READWRITE(namcos21_video_enable_r,namcos21_video_enable_w)
AM_RANGE(0x800000, 0x8fffff) AM_ROM AM_REGION("data", 0)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("sharedram")
diff --git a/src/mame/drivers/nemesis.cpp b/src/mame/drivers/nemesis.cpp
index 3be80b97d50..bb3b6445077 100644
--- a/src/mame/drivers/nemesis.cpp
+++ b/src/mame/drivers/nemesis.cpp
@@ -417,7 +417,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( salamand_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x087fff) AM_RAM
- AM_RANGE(0x090000, 0x091fff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0x00ff) AM_SHARE("palette")
+ AM_RANGE(0x090000, 0x091fff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0x00ff) AM_SHARE("palette")
AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(salamand_control_port_word_w) /* irq enable, flipscreen, etc. */
AM_RANGE(0x0c0000, 0x0c0001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW0")
@@ -441,7 +441,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( blkpnthr_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x080000, 0x081fff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0x00ff) AM_SHARE("palette")
+ AM_RANGE(0x080000, 0x081fff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0x00ff) AM_SHARE("palette")
AM_RANGE(0x090000, 0x097fff) AM_RAM
AM_RANGE(0x0a0000, 0x0a0001) AM_RAM_WRITE(salamand_control_port_word_w) /* irq enable, flipscreen, etc. */
AM_RANGE(0x0c0000, 0x0c0001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
@@ -467,7 +467,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( citybomb_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x080000, 0x087fff) AM_RAM
- AM_RANGE(0x0e0000, 0x0e1fff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0x00ff) AM_SHARE("palette")
+ AM_RANGE(0x0e0000, 0x0e1fff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0x00ff) AM_SHARE("palette")
AM_RANGE(0x0f0000, 0x0f0001) AM_READ_PORT("DSW1")
AM_RANGE(0x0f0002, 0x0f0003) AM_READ_PORT("IN2")
AM_RANGE(0x0f0004, 0x0f0005) AM_READ_PORT("IN1")
@@ -494,7 +494,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( nyanpani_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x040000, 0x047fff) AM_RAM
- AM_RANGE(0x060000, 0x061fff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0x00ff) AM_SHARE("palette")
+ AM_RANGE(0x060000, 0x061fff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0x00ff) AM_SHARE("palette")
AM_RANGE(0x070000, 0x070001) AM_READ_PORT("DSW1")
AM_RANGE(0x070002, 0x070003) AM_READ_PORT("IN2")
AM_RANGE(0x070004, 0x070005) AM_READ_PORT("IN1")
@@ -568,7 +568,7 @@ static ADDRESS_MAP_START( hcrash_map, AS_PROGRAM, 16, nemesis_state )
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x040000, 0x05ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM
- AM_RANGE(0x090000, 0x091fff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0x00ff) AM_SHARE("palette")
+ AM_RANGE(0x090000, 0x091fff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0x00ff) AM_SHARE("palette")
AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(salamand_control_port_word_w) /* irq enable, flipscreen, etc. */
AM_RANGE(0x0c0000, 0x0c0001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW0")
diff --git a/src/mame/drivers/neoprint.cpp b/src/mame/drivers/neoprint.cpp
index f82a1352b8f..dd90d1b0ae0 100644
--- a/src/mame/drivers/neoprint.cpp
+++ b/src/mame/drivers/neoprint.cpp
@@ -249,7 +249,7 @@ static ADDRESS_MAP_START( neoprint_map, AS_PROGRAM, 16, neoprint_state )
AM_RANGE(0x200000, 0x20ffff) AM_RAM
AM_RANGE(0x300000, 0x30ffff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x400000, 0x43ffff) AM_RAM AM_SHARE("npvidram")
- AM_RANGE(0x500000, 0x51ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x500000, 0x51ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x600000, 0x600001) AM_READWRITE8(neoprint_audio_result_r, audio_command_w, 0xff00)
AM_RANGE(0x600002, 0x600003) AM_READWRITE8(neoprint_calendar_r, neoprint_calendar_w, 0xff00)
AM_RANGE(0x600004, 0x600005) AM_READ_PORT("SYSTEM") AM_WRITENOP
diff --git a/src/mame/drivers/news.cpp b/src/mame/drivers/news.cpp
index 755c8fd1d26..a8b6e36ce98 100644
--- a/src/mame/drivers/news.cpp
+++ b/src/mame/drivers/news.cpp
@@ -28,7 +28,7 @@ static ADDRESS_MAP_START( news_map, AS_PROGRAM, 8, news_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM /* 4000-7fff is written to during startup, probably leftover code */
AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(news_fgram_w) AM_SHARE("fgram")
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(news_bgram_w) AM_SHARE("bgram")
- AM_RANGE(0x9000, 0x91ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x9000, 0x91ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("DSW")
AM_RANGE(0xc001, 0xc001) AM_READ_PORT("INPUTS")
AM_RANGE(0xc002, 0xc002) AM_DEVREADWRITE("oki", okim6295_device, read, write)
diff --git a/src/mame/drivers/ninjakd2.cpp b/src/mame/drivers/ninjakd2.cpp
index 00ab367fb18..9e24f73585a 100644
--- a/src/mame/drivers/ninjakd2.cpp
+++ b/src/mame/drivers/ninjakd2.cpp
@@ -385,7 +385,7 @@ static ADDRESS_MAP_START( ninjakd2_main_cpu, AS_PROGRAM, 8, ninjakd2_state )
AM_RANGE(0xc202, 0xc202) AM_WRITE(ninjakd2_bankselect_w)
AM_RANGE(0xc203, 0xc203) AM_WRITE(ninjakd2_sprite_overdraw_w)
AM_RANGE(0xc208, 0xc20c) AM_WRITE(ninjakd2_bg_ctrl_w)
- AM_RANGE(0xc800, 0xcdff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xc800, 0xcdff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(ninjakd2_fgvideoram_w) AM_SHARE("fg_videoram")
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(ninjakd2_bgvideoram_w) AM_SHARE("bg_videoram")
AM_RANGE(0xe000, 0xf9ff) AM_RAM
@@ -399,7 +399,7 @@ static ADDRESS_MAP_START( mnight_main_cpu, AS_PROGRAM, 8, ninjakd2_state )
AM_RANGE(0xda00, 0xdfff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(ninjakd2_bgvideoram_w) AM_SHARE("bg_videoram")
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(ninjakd2_fgvideoram_w) AM_SHARE("fg_videoram")
- AM_RANGE(0xf000, 0xf5ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xf000, 0xf5ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xf800, 0xf800) AM_READ_PORT("KEYCOIN")
AM_RANGE(0xf801, 0xf801) AM_READ_PORT("PAD1")
AM_RANGE(0xf802, 0xf802) AM_READ_PORT("PAD2")
@@ -416,7 +416,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( robokid_main_cpu, AS_PROGRAM, 8, ninjakd2_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
- AM_RANGE(0xc000, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xc000, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(ninjakd2_fgvideoram_w) AM_SHARE("fg_videoram")
AM_RANGE(0xd000, 0xd3ff) AM_READWRITE(robokid_bg2_videoram_r, robokid_bg2_videoram_w) // banked
AM_RANGE(0xd400, 0xd7ff) AM_READWRITE(robokid_bg1_videoram_r, robokid_bg1_videoram_w) // banked
@@ -457,7 +457,7 @@ static ADDRESS_MAP_START( omegaf_main_cpu, AS_PROGRAM, 8, ninjakd2_state )
AM_RANGE(0xc800, 0xcbff) AM_READWRITE(robokid_bg1_videoram_r, robokid_bg1_videoram_w) // banked
AM_RANGE(0xcc00, 0xcfff) AM_READWRITE(robokid_bg2_videoram_r, robokid_bg2_videoram_w) // banked
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(ninjakd2_fgvideoram_w) AM_SHARE("fg_videoram")
- AM_RANGE(0xd800, 0xdfff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xd800, 0xdfff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xe000, 0xf9ff) AM_RAM
AM_RANGE(0xfa00, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/nmg5.cpp b/src/mame/drivers/nmg5.cpp
index bc9b1c9a272..3bc1ea17e88 100644
--- a/src/mame/drivers/nmg5.cpp
+++ b/src/mame/drivers/nmg5.cpp
@@ -365,7 +365,7 @@ WRITE8_MEMBER(nmg5_state::oki_banking_w)
static ADDRESS_MAP_START( nmg5_map, AS_PROGRAM, 16, nmg5_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x120000, 0x12ffff) AM_RAM
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x180000, 0x180001) AM_WRITE(nmg5_soundlatch_w)
AM_RANGE(0x180002, 0x180003) AM_WRITENOP
@@ -385,7 +385,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pclubys_map, AS_PROGRAM, 16, nmg5_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
- AM_RANGE(0x440000, 0x4407ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x440000, 0x4407ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x460000, 0x4607ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x480000, 0x480001) AM_WRITE(nmg5_soundlatch_w)
AM_RANGE(0x480002, 0x480003) AM_WRITENOP
diff --git a/src/mame/drivers/nmk16.cpp b/src/mame/drivers/nmk16.cpp
index 58cfd33ea26..978f1a408c4 100644
--- a/src/mame/drivers/nmk16.cpp
+++ b/src/mame/drivers/nmk16.cpp
@@ -331,7 +331,7 @@ static ADDRESS_MAP_START( vandyke_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080016, 0x080017) AM_WRITE(nmk16_x0016_w)
AM_RANGE(0x080018, 0x080019) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0x08001e, 0x08001f) AM_DEVWRITE8("nmk004", nmk004_device, write, 0x00ff)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x08c000, 0x08c007) AM_WRITE(vandyke_scroll_w)
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_SHARE("nmk_bgvideoram0")
AM_RANGE(0x094000, 0x097fff) AM_RAM /* what is this? */
@@ -350,7 +350,7 @@ static ADDRESS_MAP_START( vandykeb_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080018, 0x080019) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0x080010, 0x08001d) AM_WRITE(vandykeb_scroll_w) /* 10, 12, 1a, 1c */
// AM_RANGE(0x08001e, 0x08001f) AM_DEVWRITE8("nmk004", nmk004_device, write, 0x00ff)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x08c000, 0x08c007) AM_WRITENOP /* just in case... */
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_SHARE("nmk_bgvideoram0")
AM_RANGE(0x094000, 0x097fff) AM_RAM /* what is this? */
@@ -368,7 +368,7 @@ static ADDRESS_MAP_START( manybloc_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080014, 0x080015) AM_WRITE(nmk_flipscreen_w)
AM_RANGE(0x08001c, 0x08001d) AM_WRITENOP /* See notes at the top of the driver */
AM_RANGE(0x08001e, 0x08001f) AM_DEVREAD8("soundlatch2", generic_latch_8_device, read, 0x00ff) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
- AM_RANGE(0x088000, 0x0883ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x088000, 0x0883ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_SHARE("nmk_bgvideoram0")
AM_RANGE(0x09c000, 0x09cfff) AM_RAM_WRITE(manybloc_scroll_w) AM_SHARE("scrollram")
AM_RANGE(0x09d000, 0x09d7ff) AM_RAM_WRITE(nmk_txvideoram_w) AM_SHARE("nmk_txvideoram")
@@ -387,7 +387,7 @@ static ADDRESS_MAP_START( tharrier_map, AS_PROGRAM, 16, nmk16_state )
// AM_RANGE(0x080018, 0x080019) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0x08001e, 0x08001f) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x080202, 0x080203) AM_READ_PORT("IN2")
- AM_RANGE(0x088000, 0x0883ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x088000, 0x0883ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
// AM_RANGE(0x08c000, 0x08c007) AM_WRITE(nmk_scroll_w)
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_SHARE("nmk_bgvideoram0")
AM_RANGE(0x09c000, 0x09c7ff) AM_RAM /* Unused txvideoram area? */
@@ -422,7 +422,7 @@ static ADDRESS_MAP_START( mustang_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080014, 0x080015) AM_WRITE(nmk_flipscreen_w)
AM_RANGE(0x080016, 0x080017) AM_WRITE(nmk16_x0016_w) // frame number?
AM_RANGE(0x08001e, 0x08001f) AM_DEVWRITE8("nmk004", nmk004_device, write, 0x00ff)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x08c000, 0x08c001) AM_WRITE(mustang_scroll_w)
AM_RANGE(0x08c002, 0x08c087) AM_WRITENOP // ??
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_SHARE("nmk_bgvideoram0")
@@ -439,7 +439,7 @@ static ADDRESS_MAP_START( mustangb_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080014, 0x080015) AM_WRITE(nmk_flipscreen_w)
AM_RANGE(0x080016, 0x080017) AM_WRITENOP // frame number?
AM_RANGE(0x08001e, 0x08001f) AM_DEVWRITE("seibu_sound", seibu_sound_device, main_mustb_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x08c000, 0x08c001) AM_WRITE(mustang_scroll_w)
AM_RANGE(0x08c002, 0x08c087) AM_WRITENOP // ??
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_SHARE("nmk_bgvideoram0")
@@ -457,7 +457,7 @@ static ADDRESS_MAP_START( twinactn_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080014, 0x080015) AM_WRITE(nmk_flipscreen_w)
AM_RANGE(0x080016, 0x080017) AM_WRITENOP // frame number?
AM_RANGE(0x08001e, 0x08001f) AM_WRITE(afega_soundlatch_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x08c000, 0x08c001) AM_WRITE(mustang_scroll_w)
AM_RANGE(0x08c002, 0x08c087) AM_WRITENOP // ??
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_SHARE("nmk_bgvideoram0")
@@ -478,7 +478,7 @@ static ADDRESS_MAP_START( acrobatm_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0xc0016, 0xc0017) AM_WRITE(nmk16_x0016_w)
AM_RANGE(0xc0018, 0xc0019) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0xc001e, 0xc001f) AM_DEVWRITE8("nmk004", nmk004_device, write, 0x00ff)
- AM_RANGE(0xc4000, 0xc45ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xc4000, 0xc45ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xc8000, 0xc8007) AM_RAM_WRITE(nmk_scroll_w)
AM_RANGE(0xcc000, 0xcffff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_SHARE("nmk_bgvideoram0")
AM_RANGE(0xd4000, 0xd47ff) AM_RAM_WRITE(nmk_txvideoram_w) AM_SHARE("nmk_txvideoram")
@@ -495,7 +495,7 @@ static ADDRESS_MAP_START( bioship_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080016, 0x080017) AM_WRITE(nmk16_bioship_x0016_w)
AM_RANGE(0x08001e, 0x08001f) AM_DEVWRITE8("nmk004", nmk004_device, write, 0x00ff)
AM_RANGE(0x084000, 0x084001) AM_WRITE(bioship_bank_w)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x08c000, 0x08c007) AM_RAM_WRITE(bioshipbg_scroll_w)
AM_RANGE(0x08c010, 0x08c017) AM_RAM_WRITE(bioship_scroll_w)
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_SHARE("nmk_bgvideoram0")
@@ -675,7 +675,7 @@ static ADDRESS_MAP_START( hachamf_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080018, 0x080019) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0x08001e, 0x08001f) AM_DEVWRITE8("nmk004", nmk004_device, write, 0x00ff)
/* Video Region */
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x08c000, 0x08c007) AM_WRITE(nmk_scroll_w)
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_SHARE("nmk_bgvideoram0")
AM_RANGE(0x09c000, 0x09c7ff) AM_RAM_WRITE(nmk_txvideoram_w) AM_SHARE("nmk_txvideoram")
@@ -908,7 +908,7 @@ static ADDRESS_MAP_START( tdragon_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x0c0018, 0x0c0019) AM_WRITE(nmk_tilebank_w) /* Tile Bank ? */
AM_RANGE(0x0c001e, 0x0c001f) AM_DEVWRITE8("nmk004", nmk004_device, write, 0x00ff)
AM_RANGE(0x0c4000, 0x0c4007) AM_RAM_WRITE(nmk_scroll_w)
- AM_RANGE(0x0c8000, 0x0c87ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0c8000, 0x0c87ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0cc000, 0x0cffff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_SHARE("nmk_bgvideoram0")
AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_WRITE(nmk_txvideoram_w) AM_SHARE("nmk_txvideoram")
ADDRESS_MAP_END
@@ -931,7 +931,7 @@ static ADDRESS_MAP_START( tdragonb_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x0c0018, 0x0c0019) AM_WRITE(nmk_tilebank_w) /* Tile Bank ? */
AM_RANGE(0x0c001e, 0x0c001f) AM_DEVWRITE("seibu_sound", seibu_sound_device, main_mustb_w)
AM_RANGE(0x0c4000, 0x0c4007) AM_RAM_WRITE(nmk_scroll_w)
- AM_RANGE(0x0c8000, 0x0c87ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0c8000, 0x0c87ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0cc000, 0x0cffff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_SHARE("nmk_bgvideoram0")
AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_WRITE(nmk_txvideoram_w) AM_SHARE("nmk_txvideoram")
ADDRESS_MAP_END
@@ -947,7 +947,7 @@ static ADDRESS_MAP_START( ssmissin_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x0c0018, 0x0c0019) AM_WRITE(nmk_tilebank_w) /* Tile Bank ? */
AM_RANGE(0x0c001e, 0x0c001f) AM_WRITE(ssmissin_sound_w)
AM_RANGE(0x0c4000, 0x0c4007) AM_RAM_WRITE(nmk_scroll_w)
- AM_RANGE(0x0c8000, 0x0c87ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0c8000, 0x0c87ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0cc000, 0x0cffff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_SHARE("nmk_bgvideoram0")
AM_RANGE(0x0d0000, 0x0d07ff) AM_MIRROR(0x1800) AM_RAM_WRITE(nmk_txvideoram_w) AM_SHARE("nmk_txvideoram") //mirror for airattck
ADDRESS_MAP_END
@@ -982,7 +982,7 @@ static ADDRESS_MAP_START( strahl_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x8001e, 0x8001f) AM_DEVWRITE8("nmk004", nmk004_device, write, 0x00ff)
AM_RANGE(0x84000, 0x84007) AM_RAM_WRITE(nmk_scroll_w)
AM_RANGE(0x88000, 0x88007) AM_RAM_WRITE(nmk_scroll_2_w)
- AM_RANGE(0x8c000, 0x8c7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x8c000, 0x8c7ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x90000, 0x93fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_SHARE("nmk_bgvideoram0")
AM_RANGE(0x94000, 0x97fff) AM_RAM_WRITE(nmk_fgvideoram_w) AM_SHARE("nmk_fgvideoram")
AM_RANGE(0x9c000, 0x9c7ff) AM_RAM_WRITE(nmk_txvideoram_w) AM_SHARE("nmk_txvideoram")
@@ -1000,7 +1000,7 @@ static ADDRESS_MAP_START( macross_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080016, 0x080017) AM_WRITE(nmk16_x0016_w)
AM_RANGE(0x080018, 0x080019) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0x08001e, 0x08001f) AM_DEVWRITE8("nmk004", nmk004_device, write, 0x00ff)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x08c000, 0x08c007) AM_RAM_WRITE(nmk_scroll_w)
AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_SHARE("nmk_bgvideoram0")
AM_RANGE(0x09c000, 0x09c7ff) AM_RAM_WRITE(nmk_txvideoram_w) AM_SHARE("nmk_txvideoram")
@@ -1018,7 +1018,7 @@ static ADDRESS_MAP_START( gunnail_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x080016, 0x080017) AM_WRITE(nmk16_x0016_w)
AM_RANGE(0x080018, 0x080019) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0x08001e, 0x08001f) AM_DEVWRITE8("nmk004", nmk004_device, write, 0x00ff)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x08c000, 0x08c1ff) AM_WRITEONLY AM_SHARE("scrollram")
AM_RANGE(0x08c200, 0x08c3ff) AM_WRITEONLY AM_SHARE("scrollramy")
AM_RANGE(0x08c400, 0x08c7ff) AM_WRITEONLY // unknown
@@ -1038,7 +1038,7 @@ static ADDRESS_MAP_START( macross2_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x100016, 0x100017) AM_WRITE(macross2_sound_reset_w) /* Z80 reset */
AM_RANGE(0x100018, 0x100019) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0x10001e, 0x10001f) AM_WRITE(macross2_sound_command_w) /* to Z80 */
- AM_RANGE(0x120000, 0x1207ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x120000, 0x1207ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x130000, 0x1301ff) AM_RAM AM_SHARE("scrollram")
AM_RANGE(0x130200, 0x1303ff) AM_RAM AM_SHARE("scrollramy")
@@ -1070,7 +1070,7 @@ static ADDRESS_MAP_START( raphero_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x100016, 0x100017) AM_WRITENOP /* IRQ enable or z80 sound reset like in Macross 2? */
AM_RANGE(0x100018, 0x100019) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0x10001e, 0x10001f) AM_WRITE(macross2_sound_command_w) /* to Z80 */
- AM_RANGE(0x120000, 0x1207ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x120000, 0x1207ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x130000, 0x1301ff) AM_RAM AM_SHARE("scrollram")
AM_RANGE(0x130200, 0x1303ff) AM_RAM AM_SHARE("scrollramy")
@@ -1125,7 +1125,7 @@ static ADDRESS_MAP_START( bjtwin_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x084000, 0x084001) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x084010, 0x084011) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x084020, 0x08402f) AM_DEVWRITE8("nmk112", nmk112_device, okibank_w, 0x00ff)
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x094000, 0x094001) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0x094002, 0x094003) AM_WRITENOP /* IRQ enable? */
AM_RANGE(0x09c000, 0x09cfff) AM_MIRROR(0x1000) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_SHARE("nmk_bgvideoram0")
@@ -1135,7 +1135,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( atombjt_map, AS_PROGRAM, 16, nmk16_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080014, 0x080015) AM_NOP // always 1 in this bootleg. Flip-screen switch not present according to dip sheet.
- AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x088000, 0x0887ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x094000, 0x094001) AM_WRITE(nmk_tilebank_w)
AM_RANGE(0x094002, 0x094003) AM_WRITENOP /* IRQ enable? */
AM_RANGE(0x09c000, 0x09cfff) AM_MIRROR(0x1000) AM_RAM_WRITE(nmk_bgvideoram0_w) AM_SHARE("nmk_bgvideoram0")
@@ -5036,7 +5036,7 @@ static ADDRESS_MAP_START( afega, AS_PROGRAM, 16, nmk16_state )
/**/AM_RANGE(0x084000, 0x084003) AM_RAM_WRITE(afega_scroll0_w) // Scroll on redhawkb (mirror or changed?..)
/**/AM_RANGE(0x084004, 0x084007) AM_RAM_WRITE(afega_scroll1_w) // Scroll on redhawkb (mirror or changed?..)
AM_RANGE(0x080020, 0x087fff) AM_WRITEONLY //
-/**/AM_RANGE(0x088000, 0x0885ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+/**/AM_RANGE(0x088000, 0x0885ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x088600, 0x08bfff) AM_WRITEONLY //
/**/AM_RANGE(0x08c000, 0x08c003) AM_RAM_WRITE(afega_scroll0_w) AM_SHARE("afega_scroll_0") // Scroll
/**/AM_RANGE(0x08c004, 0x08c007) AM_RAM_WRITE(afega_scroll1_w) AM_SHARE("afega_scroll_1") //
@@ -5061,7 +5061,7 @@ static ADDRESS_MAP_START( firehawk_map, AS_PROGRAM, 16, nmk16_state )
/**/AM_RANGE(0x284000, 0x284003) AM_RAM_WRITE(afega_scroll0_w) // Scroll on redhawkb (mirror or changed?..)
/**/AM_RANGE(0x284004, 0x284007) AM_RAM_WRITE(afega_scroll1_w) // Scroll on redhawkb (mirror or changed?..)
AM_RANGE(0x280020, 0x287fff) AM_WRITEONLY //
-/**/AM_RANGE(0x288000, 0x2885ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+/**/AM_RANGE(0x288000, 0x2885ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x288600, 0x28bfff) AM_WRITEONLY //
/**/AM_RANGE(0x28c000, 0x28c003) AM_RAM_WRITE(afega_scroll0_w) AM_SHARE("afega_scroll_0") // Scroll
/**/AM_RANGE(0x28c004, 0x28c007) AM_RAM_WRITE(afega_scroll1_w) AM_SHARE("afega_scroll_1") //
diff --git a/src/mame/drivers/offtwall.cpp b/src/mame/drivers/offtwall.cpp
index 24d861b78e9..8fc587e0eee 100644
--- a/src/mame/drivers/offtwall.cpp
+++ b/src/mame/drivers/offtwall.cpp
@@ -249,9 +249,9 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, offtwall_state )
AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("jsa", atari_jsa_iii_device, main_response_r, 0x00ff)
AM_RANGE(0x260040, 0x260041) AM_DEVWRITE8("jsa", atari_jsa_iii_device, main_command_w, 0x00ff)
AM_RANGE(0x260050, 0x260051) AM_WRITE(io_latch_w)
- AM_RANGE(0x260060, 0x260061) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0x260060, 0x260061) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0x2a0000, 0x2a0001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
- AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x3effc0, 0x3effff) AM_DEVREADWRITE("vad", atari_vad_device, control_read, control_write)
AM_RANGE(0x3f4000, 0x3f5eff) AM_RAM_DEVWRITE("vad", atari_vad_device, playfield_latched_msb_w) AM_SHARE("vad:playfield")
AM_RANGE(0x3f5f00, 0x3f5f7f) AM_RAM AM_SHARE("vad:eof")
diff --git a/src/mame/drivers/ohmygod.cpp b/src/mame/drivers/ohmygod.cpp
index 91747a7454a..725f98cff9f 100644
--- a/src/mame/drivers/ohmygod.cpp
+++ b/src/mame/drivers/ohmygod.cpp
@@ -48,7 +48,7 @@ static ADDRESS_MAP_START( ohmygod_map, AS_PROGRAM, 16, ohmygod_state )
AM_RANGE(0x308000, 0x30ffff) AM_RAM
AM_RANGE(0x400000, 0x400001) AM_WRITE(ohmygod_scrollx_w)
AM_RANGE(0x400002, 0x400003) AM_WRITE(ohmygod_scrolly_w)
- AM_RANGE(0x600000, 0x6007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x600000, 0x6007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x700000, 0x703fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x704000, 0x707fff) AM_RAM
AM_RANGE(0x708000, 0x70ffff) AM_RAM /* Work RAM */
diff --git a/src/mame/drivers/oneshot.cpp b/src/mame/drivers/oneshot.cpp
index c693712a9dc..1669b8e9e8b 100644
--- a/src/mame/drivers/oneshot.cpp
+++ b/src/mame/drivers/oneshot.cpp
@@ -112,7 +112,7 @@ WRITE16_MEMBER(oneshot_state::soundbank_w)
static ADDRESS_MAP_START( oneshot_map, AS_PROGRAM, 16, oneshot_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x087fff) AM_RAM
- AM_RANGE(0x0c0000, 0x0c07ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0c0000, 0x0c07ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x120000, 0x120fff) AM_RAM AM_SHARE("sprites")
AM_RANGE(0x180000, 0x180fff) AM_RAM_WRITE(oneshot_mid_videoram_w) AM_SHARE("mid_videoram") // some people , girl etc.
AM_RANGE(0x181000, 0x181fff) AM_RAM_WRITE(oneshot_fg_videoram_w) AM_SHARE("fg_videoram") // credits etc.
diff --git a/src/mame/drivers/opwolf.cpp b/src/mame/drivers/opwolf.cpp
index 6ccb098169e..6f922a60efc 100644
--- a/src/mame/drivers/opwolf.cpp
+++ b/src/mame/drivers/opwolf.cpp
@@ -354,7 +354,7 @@ static ADDRESS_MAP_START( opwolf_map, AS_PROGRAM, 16, opwolf_state )
AM_RANGE(0x0ff802, 0x0ff803) AM_WRITE(opwolf_cchip_status_w)
AM_RANGE(0x0ffc00, 0x0ffc01) AM_WRITE(opwolf_cchip_bank_w)
AM_RANGE(0x100000, 0x107fff) AM_RAM
- AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x380000, 0x380003) AM_READ(opwolf_dsw_r) /* dip switches */
AM_RANGE(0x380000, 0x380003) AM_WRITE(opwolf_spritectrl_w) // usually 0x4, changes when you fire
AM_RANGE(0x3a0000, 0x3a0003) AM_READ(opwolf_lightgun_r) /* lightgun, read at $11e0/6 */
@@ -375,7 +375,7 @@ static ADDRESS_MAP_START( opwolfb_map, AS_PROGRAM, 16, opwolf_state )
AM_RANGE(0x0f0008, 0x0f000b) AM_READ(opwolf_in_r) /* coins and buttons */
AM_RANGE(0x0ff000, 0x0fffff) AM_READWRITE(cchip_r,cchip_w)
AM_RANGE(0x100000, 0x107fff) AM_RAM
- AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x380000, 0x380003) AM_READ(opwolf_dsw_r) /* dip switches */
AM_RANGE(0x380000, 0x380003) AM_WRITE(opwolf_spritectrl_w) // usually 0x4, changes when you fire
AM_RANGE(0x3a0000, 0x3a0003) AM_READ(opwolf_lightgun_r) /* lightgun, read at $11e0/6 */
@@ -394,7 +394,7 @@ static ADDRESS_MAP_START( opwolfp_map, AS_PROGRAM, 16, opwolf_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x107fff) AM_RAM
- AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x380000, 0x380003) AM_READ(opwolf_dsw_r) /* dip switches */
AM_RANGE(0x380000, 0x380003) AM_WRITE(opwolf_spritectrl_w) // usually 0x4, changes when you fire
AM_RANGE(0x3a0000, 0x3a0003) AM_READ(opwolf_lightgun_r) /* lightgun, read at $11e0/6 (AND INPUTS) */
diff --git a/src/mame/drivers/overdriv.cpp b/src/mame/drivers/overdriv.cpp
index e8f8a8a0014..bf8f48cac0b 100644
--- a/src/mame/drivers/overdriv.cpp
+++ b/src/mame/drivers/overdriv.cpp
@@ -159,7 +159,7 @@ WRITE16_MEMBER(overdriv_state::slave_irq5_assert_w)
static ADDRESS_MAP_START( overdriv_master_map, AS_PROGRAM, 16, overdriv_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM /* work RAM */
- AM_RANGE(0x080000, 0x080fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x080000, 0x080fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0c0000, 0x0c0001) AM_READ_PORT("INPUTS")
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("SYSTEM")
AM_RANGE(0x0e0000, 0x0e0001) AM_WRITENOP /* unknown (always 0x30) */
diff --git a/src/mame/drivers/parodius.cpp b/src/mame/drivers/parodius.cpp
index e4921923328..1763aef88a5 100644
--- a/src/mame/drivers/parodius.cpp
+++ b/src/mame/drivers/parodius.cpp
@@ -114,7 +114,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( bank0000_map, AS_PROGRAM, 8, parodius_state )
AM_RANGE(0x0000, 0x07ff) AM_RAM
- AM_RANGE(0x1000, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1000, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( bank2000_map, AS_PROGRAM, 8, parodius_state )
diff --git a/src/mame/drivers/pass.cpp b/src/mame/drivers/pass.cpp
index 94693566ca8..1bd25a8593b 100644
--- a/src/mame/drivers/pass.cpp
+++ b/src/mame/drivers/pass.cpp
@@ -119,7 +119,7 @@ static ADDRESS_MAP_START( pass_map, AS_PROGRAM, 16, pass_state )
AM_RANGE(0x080000, 0x083fff) AM_RAM
AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(pass_bg_videoram_w) AM_SHARE("bg_videoram") // Background
AM_RANGE(0x210000, 0x213fff) AM_RAM_WRITE(pass_fg_videoram_w) AM_SHARE("fg_videoram") // Foreground
- AM_RANGE(0x220000, 0x2203ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x220000, 0x2203ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x230000, 0x230001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x230100, 0x230101) AM_READ_PORT("DSW")
AM_RANGE(0x230200, 0x230201) AM_READ_PORT("INPUTS")
diff --git a/src/mame/drivers/patapata.cpp b/src/mame/drivers/patapata.cpp
index 2fc4ba0f9f3..676682ef193 100644
--- a/src/mame/drivers/patapata.cpp
+++ b/src/mame/drivers/patapata.cpp
@@ -189,7 +189,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, patapata_state )
AM_RANGE(0x10000a, 0x10000b) AM_READ_PORT("DSW2")
AM_RANGE(0x100014, 0x100015) AM_WRITE8(flipscreen_w, 0x00ff)
AM_RANGE(0x110000, 0x1103ff) AM_RAM AM_SHARE("videoregs")
- AM_RANGE(0x120000, 0x1205ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x120000, 0x1205ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x130000, 0x13ffff) AM_RAM_WRITE(fg_videoram_w) AM_SHARE("fg_videoram")
AM_RANGE(0x140000, 0x14ffff) AM_RAM_WRITE(bg_videoram_w) AM_SHARE("bg_videoram")
AM_RANGE(0x150000, 0x150001) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/pbaction.cpp b/src/mame/drivers/pbaction.cpp
index 786eaf9aa13..46e55fe81a9 100644
--- a/src/mame/drivers/pbaction.cpp
+++ b/src/mame/drivers/pbaction.cpp
@@ -94,7 +94,7 @@ static ADDRESS_MAP_START( pbaction_map, AS_PROGRAM, 8, pbaction_state )
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(pbaction_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(pbaction_colorram_w) AM_SHARE("colorram")
AM_RANGE(0xe000, 0xe07f) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0xe400, 0xe5ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xe400, 0xe5ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xe600, 0xe600) AM_READ_PORT("P1") AM_WRITE(nmi_mask_w)
AM_RANGE(0xe601, 0xe601) AM_READ_PORT("P2")
AM_RANGE(0xe602, 0xe602) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/pc100.cpp b/src/mame/drivers/pc100.cpp
index 89bfa9191e6..1edddd6eea2 100644
--- a/src/mame/drivers/pc100.cpp
+++ b/src/mame/drivers/pc100.cpp
@@ -326,7 +326,7 @@ static ADDRESS_MAP_START(pc100_io, AS_IO, 16, pc100_state)
AM_RANGE(0x38, 0x39) AM_WRITE8(pc100_crtc_addr_w,0x00ff) //crtc address reg
AM_RANGE(0x3a, 0x3b) AM_WRITE8(pc100_crtc_data_w,0x00ff) //crtc data reg
AM_RANGE(0x3c, 0x3f) AM_READWRITE8(pc100_vs_vreg_r,pc100_vs_vreg_w,0x00ff) //crtc vertical start position
- AM_RANGE(0x40, 0x5f) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x40, 0x5f) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
// AM_RANGE(0x60, 0x61) crtc command (16-bit wide)
AM_RANGE(0x80, 0x81) AM_READWRITE(pc100_kanji_r,pc100_kanji_w)
AM_RANGE(0x82, 0x83) AM_WRITENOP //kanji-related?
diff --git a/src/mame/drivers/pgm.cpp b/src/mame/drivers/pgm.cpp
index bb1f3562e4f..7f757a1f0df 100644
--- a/src/mame/drivers/pgm.cpp
+++ b/src/mame/drivers/pgm.cpp
@@ -318,7 +318,7 @@ ADDRESS_MAP_START( pgm_base_mem, AS_PROGRAM, 16, pgm_state )
AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_SHARE("sram") /* Main Ram */
AM_RANGE(0x900000, 0x907fff) AM_MIRROR(0x0f8000) AM_READWRITE(pgm_videoram_r, pgm_videoram_w) AM_SHARE("videoram") /* IGS023 VIDEO CHIP */
- AM_RANGE(0xa00000, 0xa011ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xa00000, 0xa011ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xb00000, 0xb0ffff) AM_RAM AM_SHARE("videoregs") /* Video Regs inc. Zoom Table */
AM_RANGE(0xc00002, 0xc00003) AM_DEVREAD8("soundlatch", generic_latch_8_device, read, 0x00ff) AM_WRITE(m68k_l1_w)
diff --git a/src/mame/drivers/pgm2.cpp b/src/mame/drivers/pgm2.cpp
index 6e8a21555c7..a54cbd4d986 100644
--- a/src/mame/drivers/pgm2.cpp
+++ b/src/mame/drivers/pgm2.cpp
@@ -529,11 +529,11 @@ static ADDRESS_MAP_START( pgm2_map, AS_PROGRAM, 32, pgm2_state )
AM_RANGE(0x30020000, 0x30021fff) AM_RAM_WRITE(bg_videoram_w) AM_SHARE("bg_videoram")
AM_RANGE(0x30040000, 0x30045fff) AM_RAM_WRITE(fg_videoram_w) AM_SHARE("fg_videoram")
- AM_RANGE(0x30060000, 0x30063fff) AM_RAM_DEVWRITE("sp_palette", palette_device, write) AM_SHARE("sp_palette")
+ AM_RANGE(0x30060000, 0x30063fff) AM_RAM_DEVWRITE("sp_palette", palette_device, write32) AM_SHARE("sp_palette")
- AM_RANGE(0x30080000, 0x30081fff) AM_RAM_DEVWRITE("bg_palette", palette_device, write) AM_SHARE("bg_palette")
+ AM_RANGE(0x30080000, 0x30081fff) AM_RAM_DEVWRITE("bg_palette", palette_device, write32) AM_SHARE("bg_palette")
- AM_RANGE(0x300a0000, 0x300a07ff) AM_RAM_DEVWRITE("tx_palette", palette_device, write) AM_SHARE("tx_palette")
+ AM_RANGE(0x300a0000, 0x300a07ff) AM_RAM_DEVWRITE("tx_palette", palette_device, write32) AM_SHARE("tx_palette")
AM_RANGE(0x300c0000, 0x300c01ff) AM_RAM AM_SHARE("sp_zoom") // sprite zoom table - it uploads the same data 4x, maybe xshrink,xgrow,yshrink,ygrow or just redundant mirrors
@@ -554,7 +554,7 @@ static ADDRESS_MAP_START( pgm2_map, AS_PROGRAM, 32, pgm2_state )
AM_RANGE(0x30120038, 0x3012003b) AM_WRITE(sprite_encryption_w)
// there are other 0x301200xx regs
- AM_RANGE(0x40000000, 0x40000003) AM_DEVREADWRITE8("ymz774", ymz774_device, read, write, 0xffffffff)
+ AM_RANGE(0x40000000, 0x40000003) AM_DEVREAD8("ymz774", ymz774_device, read, 0xffffffff) AM_DEVWRITE8("ymz774", ymz774_device, write, 0xffffffff)
// internal IGS036 - most of them is standard ATMEL peripherals followed by custom bits
// AM_RANGE(0xfffa0000, 0xfffa00ff) TC (Timer Counter) not used, mentioned in disabled / unused code
diff --git a/src/mame/drivers/pipedrm.cpp b/src/mame/drivers/pipedrm.cpp
index 3a87206e82b..41f272527e1 100644
--- a/src/mame/drivers/pipedrm.cpp
+++ b/src/mame/drivers/pipedrm.cpp
@@ -251,7 +251,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, pipedrm_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_RAM
AM_RANGE(0xa000, 0xbfff) AM_ROMBANK("bank1")
- AM_RANGE(0xc000, 0xcfff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xc000, 0xcfff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xd000, 0xffff) AM_READWRITE(fromance_videoram_r, fromance_videoram_w) AM_SHARE("videoram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/pirates.cpp b/src/mame/drivers/pirates.cpp
index 21e81a2c769..094c5a45152 100644
--- a/src/mame/drivers/pirates.cpp
+++ b/src/mame/drivers/pirates.cpp
@@ -163,7 +163,7 @@ static ADDRESS_MAP_START( pirates_map, AS_PROGRAM, 16, pirates_state )
// AM_RANGE(0x500800, 0x50080f) AM_WRITENOP
AM_RANGE(0x600000, 0x600001) AM_WRITE(out_w)
AM_RANGE(0x700000, 0x700001) AM_WRITEONLY AM_SHARE("scroll") // scroll reg
- AM_RANGE(0x800000, 0x803fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x800000, 0x803fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x900000, 0x90017f) AM_RAM // more of tilemaps ?
AM_RANGE(0x900180, 0x90137f) AM_RAM_WRITE(tx_tileram_w) AM_SHARE("tx_tileram")
AM_RANGE(0x901380, 0x902a7f) AM_RAM_WRITE(fg_tileram_w) AM_SHARE("fg_tileram")
diff --git a/src/mame/drivers/piratesh.cpp b/src/mame/drivers/piratesh.cpp
index f069b20575e..99a76409eef 100644
--- a/src/mame/drivers/piratesh.cpp
+++ b/src/mame/drivers/piratesh.cpp
@@ -395,7 +395,7 @@ static ADDRESS_MAP_START( piratesh_map, AS_PROGRAM, 16, piratesh_state )
AM_RANGE(0x2a1000, 0x2a3fff) AM_WRITENOP
AM_RANGE(0x2b0000, 0x2b000f) AM_DEVREADWRITE("k053250", k053250ps_device, reg_r, reg_w) // LVC
AM_RANGE(0x300000, 0x3000ff) AM_DEVWRITE("k055555", k055555_device, K055555_word_w)
- AM_RANGE(0x380000, 0x381fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x380000, 0x381fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x400000, 0x400001) AM_READ_PORT("IN0")
AM_RANGE(0x400002, 0x400003) AM_READ_PORT("IN1")
AM_RANGE(0x400004, 0x400005) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/pkscram.cpp b/src/mame/drivers/pkscram.cpp
index 93a2aa8f18a..cf51e0ac87c 100644
--- a/src/mame/drivers/pkscram.cpp
+++ b/src/mame/drivers/pkscram.cpp
@@ -127,7 +127,7 @@ static ADDRESS_MAP_START( pkscramble_map, AS_PROGRAM, 16, pkscram_state )
AM_RANGE(0x045000, 0x045fff) AM_RAM_WRITE(pkscramble_mdtilemap_w) AM_SHARE("mdtilemap_ram") // md tilemap (just a copy of fg?)
AM_RANGE(0x046000, 0x046fff) AM_RAM_WRITE(pkscramble_bgtilemap_w) AM_SHARE("bgtilemap_ram") // bg tilemap
AM_RANGE(0x047000, 0x047fff) AM_RAM // unused
- AM_RANGE(0x048000, 0x048fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x048000, 0x048fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x049000, 0x049001) AM_READ_PORT("DSW")
AM_RANGE(0x049004, 0x049005) AM_READ_PORT("INPUTS")
AM_RANGE(0x049008, 0x049009) AM_WRITE(pkscramble_output_w)
diff --git a/src/mame/drivers/pktgaldx.cpp b/src/mame/drivers/pktgaldx.cpp
index b3c5b5a6f8c..cc8713e1a67 100644
--- a/src/mame/drivers/pktgaldx.cpp
+++ b/src/mame/drivers/pktgaldx.cpp
@@ -185,7 +185,7 @@ static ADDRESS_MAP_START( pktgaldb_map, AS_PROGRAM, 16, pktgaldx_state )
AM_RANGE(0x300000, 0x30000f) AM_RAM // ??
- AM_RANGE(0x330000, 0x330bff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // extra colours?
+ AM_RANGE(0x330000, 0x330bff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // extra colours?
ADDRESS_MAP_END
diff --git a/src/mame/drivers/playmark.cpp b/src/mame/drivers/playmark.cpp
index 2eba0fb28ba..b7b01150cef 100644
--- a/src/mame/drivers/playmark.cpp
+++ b/src/mame/drivers/playmark.cpp
@@ -279,7 +279,7 @@ static ADDRESS_MAP_START( bigtwin_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x70001a, 0x70001b) AM_READ_PORT("DSW2")
AM_RANGE(0x70001c, 0x70001d) AM_READ_PORT("DSW1")
AM_RANGE(0x70001e, 0x70001f) AM_WRITE(playmark_snd_command_w)
- AM_RANGE(0x780000, 0x7807ff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x780000, 0x7807ff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
// AM_RANGE(0xe00000, 0xe00001) ?? written on startup
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
@@ -291,7 +291,7 @@ static ADDRESS_MAP_START( bigtwinb_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x108000, 0x10ffff) AM_RAM_WRITE(hrdtimes_txvideoram_w) AM_SHARE("videoram1")
AM_RANGE(0x110000, 0x11000d) AM_WRITE(hrdtimes_scroll_w)
AM_RANGE(0x201000, 0x2013ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x280000, 0x2807ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x280000, 0x2807ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300010, 0x300011) AM_READ_PORT("SYSTEM")
AM_RANGE(0x300012, 0x300013) AM_READ_PORT("P1")
AM_RANGE(0x300014, 0x300015) AM_READ_PORT("P2")
@@ -320,7 +320,7 @@ static ADDRESS_MAP_START( wbeachvl_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x71001a, 0x71001b) AM_READ_PORT("P4")
// AM_RANGE(0x71001c, 0x71001d) AM_READ(playmark_snd_status???)
AM_RANGE(0x71001e, 0x71001f) AM_WRITE(playmark_snd_command_w)
- AM_RANGE(0x780000, 0x780fff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x780000, 0x780fff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
@@ -340,7 +340,7 @@ static ADDRESS_MAP_START( excelsr_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x70001a, 0x70001b) AM_READ_PORT("DSW2")
AM_RANGE(0x70001c, 0x70001d) AM_READ_PORT("DSW1")
AM_RANGE(0x70001e, 0x70001f) AM_WRITE(playmark_snd_command_w)
- AM_RANGE(0x780000, 0x7807ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x780000, 0x7807ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
@@ -357,7 +357,7 @@ static ADDRESS_MAP_START( hrdtimes_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x10c000, 0x10ffff) AM_RAM // Unused
AM_RANGE(0x110000, 0x11000d) AM_WRITE(hrdtimes_scroll_w)
AM_RANGE(0x200000, 0x200fff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x280000, 0x2807ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x280000, 0x2807ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x280800, 0x280fff) AM_RAM // Unused
AM_RANGE(0x300010, 0x300011) AM_READ_PORT("SYSTEM")
AM_RANGE(0x300012, 0x300013) AM_READ_PORT("P1")
@@ -376,7 +376,7 @@ static ADDRESS_MAP_START( hotmind_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x108000, 0x10ffff) AM_RAM_WRITE(hrdtimes_txvideoram_w) AM_SHARE("videoram1")
AM_RANGE(0x110000, 0x11000d) AM_WRITE(hrdtimes_scroll_w)
AM_RANGE(0x200000, 0x200fff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x280000, 0x2807ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x280000, 0x2807ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300010, 0x300011) AM_READ_PORT("COINS")
AM_RANGE(0x300012, 0x300013) AM_READ_PORT("P1")
AM_RANGE(0x300014, 0x300015) AM_READ_PORT("DISPENSER") AM_WRITE(hotmind_coin_eeprom_w)
@@ -394,7 +394,7 @@ static ADDRESS_MAP_START( luckboomh_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x108000, 0x10ffff) AM_RAM_WRITE(hrdtimes_txvideoram_w) AM_SHARE("videoram1")
AM_RANGE(0x110000, 0x11000d) AM_WRITE(hrdtimes_scroll_w)
AM_RANGE(0x200000, 0x200fff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x280000, 0x2807ff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x280000, 0x2807ff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300010, 0x300011) AM_READ_PORT("COINS")
AM_RANGE(0x300012, 0x300013) AM_READ_PORT("P1")
AM_RANGE(0x300014, 0x300015) AM_READ_PORT("DISPENSER") AM_WRITE(luckboomh_dispenser_w)
diff --git a/src/mame/drivers/plygonet.cpp b/src/mame/drivers/plygonet.cpp
index 2ceca9699e4..6c242f1790b 100644
--- a/src/mame/drivers/plygonet.cpp
+++ b/src/mame/drivers/plygonet.cpp
@@ -467,7 +467,7 @@ WRITE16_MEMBER(polygonet_state::dsp56k_ram_bank04_write)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, polygonet_state )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
- AM_RANGE(0x200000, 0x21ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x21ffff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x400000, 0x40001f) AM_DEVREADWRITE16("k053936", k053936_device, ctrl_r, ctrl_w, 0xffffffff)
AM_RANGE(0x440000, 0x440fff) AM_READWRITE(polygonet_roz_ram_r, polygonet_roz_ram_w)
AM_RANGE(0x480000, 0x480003) AM_READ8(polygonet_inputs_r, 0xffffffff)
diff --git a/src/mame/drivers/pokechmp.cpp b/src/mame/drivers/pokechmp.cpp
index 154fe8b0d6c..7477c49b382 100644
--- a/src/mame/drivers/pokechmp.cpp
+++ b/src/mame/drivers/pokechmp.cpp
@@ -95,8 +95,8 @@ static ADDRESS_MAP_START( pokechmp_map, AS_PROGRAM, 8, pokechmp_state )
AM_RANGE(0x1c00, 0x1c00) AM_READ_PORT("DSW") AM_WRITE(pokechmp_bank_w)
/* Extra on Poke Champ (not on Pocket Gal) */
- AM_RANGE(0x2000, 0x23ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
- AM_RANGE(0x2400, 0x27ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x2000, 0x23ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x2400, 0x27ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_ROMBANK("fixed")
diff --git a/src/mame/drivers/popobear.cpp b/src/mame/drivers/popobear.cpp
index 6a9372fe5b1..33e5d325bee 100644
--- a/src/mame/drivers/popobear.cpp
+++ b/src/mame/drivers/popobear.cpp
@@ -491,7 +491,7 @@ static ADDRESS_MAP_START( popobear_mem, AS_PROGRAM, 16, popobear_state )
AM_RANGE(0x480034, 0x480035) AM_RAM // coin counter or coin lockout
AM_RANGE(0x48003a, 0x48003b) AM_RAM //AM_READ(48003a_r) AM_WRITE(48003a_w)
- AM_RANGE(0x480400, 0x4807ff) AM_RAM AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x480400, 0x4807ff) AM_RAM AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("IN0")
AM_RANGE(0x520000, 0x520001) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/powerbal.cpp b/src/mame/drivers/powerbal.cpp
index 5f9054eb2a4..2a29a2f27c7 100644
--- a/src/mame/drivers/powerbal.cpp
+++ b/src/mame/drivers/powerbal.cpp
@@ -91,7 +91,7 @@ WRITE16_MEMBER(powerbal_state::oki_banking)
static ADDRESS_MAP_START( magicstk_main_map, AS_PROGRAM, 16, powerbal_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
- AM_RANGE(0x088000, 0x0883ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x088000, 0x0883ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x094000, 0x094001) AM_WRITENOP
AM_RANGE(0x094002, 0x094003) AM_WRITENOP
AM_RANGE(0x094004, 0x094005) AM_WRITE(tile_banking_w)
@@ -110,7 +110,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( powerbal_main_map, AS_PROGRAM, 16, powerbal_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x088000, 0x0883ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x088000, 0x0883ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x094000, 0x094001) AM_WRITENOP
AM_RANGE(0x094002, 0x094003) AM_WRITENOP
AM_RANGE(0x094004, 0x094005) AM_WRITE(tile_banking_w)
diff --git a/src/mame/drivers/powerins.cpp b/src/mame/drivers/powerins.cpp
index fa1ea6c623d..c2708252910 100644
--- a/src/mame/drivers/powerins.cpp
+++ b/src/mame/drivers/powerins.cpp
@@ -69,7 +69,7 @@ static ADDRESS_MAP_START( powerins_map, AS_PROGRAM, 16, powerins_state )
AM_RANGE(0x100016, 0x100017) AM_WRITENOP // ? always 1
AM_RANGE(0x100018, 0x100019) AM_WRITE8(tilebank_w, 0x00ff)
AM_RANGE(0x10001e, 0x10001f) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
- AM_RANGE(0x120000, 0x120fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x120000, 0x120fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x130000, 0x130007) AM_RAM AM_SHARE("vctrl_0")
AM_RANGE(0x140000, 0x143fff) AM_RAM_WRITE(vram_0_w) AM_SHARE("vram_0")
AM_RANGE(0x170000, 0x170fff) AM_RAM_WRITE(vram_1_w) AM_SHARE("vram_1")
diff --git a/src/mame/drivers/prehisle.cpp b/src/mame/drivers/prehisle.cpp
index 0eaa858905e..b3213740d2e 100644
--- a/src/mame/drivers/prehisle.cpp
+++ b/src/mame/drivers/prehisle.cpp
@@ -36,7 +36,7 @@ static ADDRESS_MAP_START( prehisle_map, AS_PROGRAM, 16, prehisle_state )
AM_RANGE(0x090000, 0x0907ff) AM_RAM_WRITE(tx_vram_w) AM_SHARE("tx_vram")
AM_RANGE(0x0a0000, 0x0a07ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x0b0000, 0x0b3fff) AM_RAM_WRITE(fg_vram_w) AM_SHARE("fg_vram")
- AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0d0000, 0x0d07ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0e0000, 0x0e00ff) AM_READ(control_r)
AM_RANGE(0x0f0070, 0x0ff071) AM_WRITE(soundcmd_w)
AM_RANGE(0x0f0000, 0x0ff0ff) AM_WRITE(control_w)
diff --git a/src/mame/drivers/psikyo.cpp b/src/mame/drivers/psikyo.cpp
index 5bc667174fd..ad92429edc4 100644
--- a/src/mame/drivers/psikyo.cpp
+++ b/src/mame/drivers/psikyo.cpp
@@ -232,7 +232,7 @@ READ32_MEMBER(psikyo_state::s1945_mcu_r)
static ADDRESS_MAP_START( psikyo_map, AS_PROGRAM, 32, psikyo_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM (not all used)
AM_RANGE(0x400000, 0x401fff) AM_RAM AM_SHARE("spriteram") // Sprites, buffered by two frames (list buffered + fb buffered)
- AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette") // Palette
AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(psikyo_vram_0_w) AM_SHARE("vram_0") // Layer 0
AM_RANGE(0x802000, 0x803fff) AM_RAM_WRITE(psikyo_vram_1_w) AM_SHARE("vram_1") // Layer 1
AM_RANGE(0x804000, 0x807fff) AM_RAM AM_SHARE("vregs") // RAM + Vregs
@@ -280,7 +280,7 @@ static ADDRESS_MAP_START( psikyo_bootleg_map, AS_PROGRAM, 32, psikyo_state )
AM_RANGE(0x200000, 0x200fff) AM_RAM AM_SHARE("boot_spritebuf") // RAM (it copies the spritelist here, the HW probably doesn't have automatic buffering like the originals?
AM_RANGE(0x400000, 0x401fff) AM_RAM AM_SHARE("spriteram") // Sprites, buffered by two frames (list buffered + fb buffered)
- AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette") // Palette
AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(psikyo_vram_0_w) AM_SHARE("vram_0") // Layer 0
AM_RANGE(0x802000, 0x803fff) AM_RAM_WRITE(psikyo_vram_1_w) AM_SHARE("vram_1") // Layer 1
AM_RANGE(0x804000, 0x807fff) AM_RAM AM_SHARE("vregs") // RAM + Vregs
diff --git a/src/mame/drivers/psikyosh.cpp b/src/mame/drivers/psikyosh.cpp
index 3b400ee7921..fe7258cd97a 100644
--- a/src/mame/drivers/psikyosh.cpp
+++ b/src/mame/drivers/psikyosh.cpp
@@ -494,7 +494,7 @@ static ADDRESS_MAP_START( ps3v1_map, AS_PROGRAM, 32, psikyosh_state )
// video chip
AM_RANGE(0x03000000, 0x03003fff) AM_RAM AM_SHARE("spriteram") // video banks0-7 (sprites and sprite list)
AM_RANGE(0x03004000, 0x0300ffff) AM_RAM AM_SHARE("bgram") // video banks 7-0x1f (backgrounds and other effects)
- AM_RANGE(0x03040000, 0x03044fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // palette..
+ AM_RANGE(0x03040000, 0x03044fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette") // palette..
AM_RANGE(0x03050000, 0x030501ff) AM_RAM AM_SHARE("zoomram") // sprite zoom lookup table
AM_RANGE(0x0305ffdc, 0x0305ffdf) AM_DEVREAD("watchdog", watchdog_timer_device, reset32_r) AM_WRITE(psikyosh_irqctrl_w) // also writes to this address - might be vblank reads?
AM_RANGE(0x0305ffe0, 0x0305ffff) AM_RAM_WRITE(psikyosh_vidregs_w) AM_SHARE("vidregs") // video registers
@@ -522,7 +522,7 @@ static ADDRESS_MAP_START( ps5_map, AS_PROGRAM, 32, psikyosh_state )
// video chip
AM_RANGE(0x04000000, 0x04003fff) AM_RAM AM_SHARE("spriteram") // video banks0-7 (sprites and sprite list)
AM_RANGE(0x04004000, 0x0400ffff) AM_RAM AM_SHARE("bgram") // video banks 7-0x1f (backgrounds and other effects)
- AM_RANGE(0x04040000, 0x04044fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x04040000, 0x04044fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x04050000, 0x040501ff) AM_RAM AM_SHARE("zoomram") // sprite zoom lookup table
AM_RANGE(0x0405ffdc, 0x0405ffdf) AM_READNOP AM_WRITE(psikyosh_irqctrl_w) // also writes to this address - might be vblank reads?
AM_RANGE(0x0405ffe0, 0x0405ffff) AM_RAM_WRITE(psikyosh_vidregs_w) AM_SHARE("vidregs") // video registers
diff --git a/src/mame/drivers/pzletime.cpp b/src/mame/drivers/pzletime.cpp
index cad6eccc838..227ae0071be 100644
--- a/src/mame/drivers/pzletime.cpp
+++ b/src/mame/drivers/pzletime.cpp
@@ -236,7 +236,7 @@ static ADDRESS_MAP_START( pzletime_map, AS_PROGRAM, 16, pzletime_state )
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x700000, 0x700005) AM_RAM_WRITE(video_regs_w) AM_SHARE("video_regs")
AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0x900000, 0x9005ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x900000, 0x9005ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xa00000, 0xa00007) AM_RAM AM_SHARE("tilemap_regs")
AM_RANGE(0xb00000, 0xb3ffff) AM_RAM AM_SHARE("bg_videoram")
AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE(mid_videoram_w) AM_SHARE("mid_videoram")
diff --git a/src/mame/drivers/qdrmfgp.cpp b/src/mame/drivers/qdrmfgp.cpp
index d9875679ec9..3e01656788d 100644
--- a/src/mame/drivers/qdrmfgp.cpp
+++ b/src/mame/drivers/qdrmfgp.cpp
@@ -305,7 +305,7 @@ static ADDRESS_MAP_START( qdrmfgp_map, AS_PROGRAM, 16, qdrmfgp_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("workram") /* work ram */
AM_RANGE(0x180000, 0x183fff) AM_RAM AM_SHARE("nvram") /* backup ram */
- AM_RANGE(0x280000, 0x280fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x280000, 0x280fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300000, 0x30003f) AM_DEVWRITE("k056832", k056832_device, word_w) /* video reg */
AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) /* ccu */
AM_RANGE(0x330000, 0x330001) AM_READ_PORT("SENSOR") /* battery power & service sw */
@@ -328,7 +328,7 @@ static ADDRESS_MAP_START( qdrmfgp2_map, AS_PROGRAM, 16, qdrmfgp_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x110fff) AM_RAM AM_SHARE("workram") /* work ram */
AM_RANGE(0x180000, 0x183fff) AM_RAM AM_SHARE("nvram") /* backup ram */
- AM_RANGE(0x280000, 0x280fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x280000, 0x280fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300000, 0x30003f) AM_DEVWRITE("k056832", k056832_device, word_w) /* video reg */
AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0xff00) /* ccu */
AM_RANGE(0x330000, 0x330001) AM_READ_PORT("SENSOR") /* battery power & service */
diff --git a/src/mame/drivers/quickpick5.cpp b/src/mame/drivers/quickpick5.cpp
index c3a2b8cb5a5..48fd0427eae 100644
--- a/src/mame/drivers/quickpick5.cpp
+++ b/src/mame/drivers/quickpick5.cpp
@@ -280,7 +280,7 @@ static ADDRESS_MAP_START( quickpick5_main, AS_PROGRAM, 8, quickpick5_state )
AM_RANGE(0xde00, 0xde00) AM_WRITENOP
AM_RANGE(0xde40, 0xde40) AM_DEVWRITE("oki", okim6295_device, write)
AM_RANGE(0xe000, 0xefff) AM_READWRITE(vram_r, vram_w)
- AM_RANGE(0xf000, 0xf7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xf000, 0xf7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xf800, 0xffff) AM_READWRITE(k245_r, k245_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/quizpani.cpp b/src/mame/drivers/quizpani.cpp
index d2c9d946d81..4948a3b9de0 100644
--- a/src/mame/drivers/quizpani.cpp
+++ b/src/mame/drivers/quizpani.cpp
@@ -67,7 +67,7 @@ static ADDRESS_MAP_START( quizpani_map, AS_PROGRAM, 16, quizpani_state )
AM_RANGE(0x100018, 0x100019) AM_WRITE(tilesbank_w)
AM_RANGE(0x104000, 0x104001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x104020, 0x104027) AM_DEVWRITE8("nmk112", nmk112_device, okibank_w, 0x00ff)
- AM_RANGE(0x108000, 0x1083ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x108000, 0x1083ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x108400, 0x1085ff) AM_WRITENOP
AM_RANGE(0x10c000, 0x10c007) AM_RAM AM_SHARE("scrollreg")
AM_RANGE(0x10c008, 0x10c403) AM_WRITENOP
diff --git a/src/mame/drivers/quizpun2.cpp b/src/mame/drivers/quizpun2.cpp
index d8632d08c2b..60120d5c171 100644
--- a/src/mame/drivers/quizpun2.cpp
+++ b/src/mame/drivers/quizpun2.cpp
@@ -325,7 +325,7 @@ static ADDRESS_MAP_START( quizpun2_map, AS_PROGRAM, 8, quizpun2_state )
AM_RANGE( 0xa000, 0xbfff ) AM_RAM_WRITE(fg_ram_w) AM_SHARE("fg_ram")
AM_RANGE( 0xc000, 0xcfff ) AM_RAM_WRITE(bg_ram_w) AM_SHARE("bg_ram")
- AM_RANGE( 0xd000, 0xd3ff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE( 0xd000, 0xd3ff ) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE( 0xe000, 0xffff ) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/rabbit.cpp b/src/mame/drivers/rabbit.cpp
index b6895c66a6e..32022aea879 100644
--- a/src/mame/drivers/rabbit.cpp
+++ b/src/mame/drivers/rabbit.cpp
@@ -744,7 +744,7 @@ static ADDRESS_MAP_START( rabbit_map, AS_PROGRAM, 32, rabbit_state )
AM_RANGE(0x488000, 0x48bfff) AM_READWRITE(tilemap2_r,tilemap2_w)
AM_RANGE(0x48c000, 0x48ffff) AM_READWRITE(tilemap3_r,tilemap3_w)
AM_RANGE(0x494000, 0x497fff) AM_RAM AM_SHARE("spriteram") // sprites?
- AM_RANGE(0x4a0000, 0x4affff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x4a0000, 0x4affff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/raiden.cpp b/src/mame/drivers/raiden.cpp
index 0945bc87cfd..f834a523171 100644
--- a/src/mame/drivers/raiden.cpp
+++ b/src/mame/drivers/raiden.cpp
@@ -101,7 +101,7 @@ static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 16, raiden_state )
AM_RANGE(0x00000, 0x01fff) AM_RAM
AM_RANGE(0x02000, 0x027ff) AM_RAM_WRITE(raiden_background_w) AM_SHARE("back_data")
AM_RANGE(0x02800, 0x02fff) AM_RAM_WRITE(raiden_foreground_w) AM_SHARE("fore_data")
- AM_RANGE(0x03000, 0x03fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x03000, 0x03fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x04000, 0x04fff) AM_RAM AM_SHARE("shared_ram")
AM_RANGE(0x07ffe, 0x07fff) AM_WRITENOP // ?
AM_RANGE(0x08000, 0x08001) AM_WRITENOP // watchdog?
@@ -130,7 +130,7 @@ static ADDRESS_MAP_START( raidenu_sub_map, AS_PROGRAM, 16, raiden_state )
AM_RANGE(0x00000, 0x05fff) AM_RAM
AM_RANGE(0x06000, 0x067ff) AM_RAM_WRITE(raiden_background_w) AM_SHARE("back_data")
AM_RANGE(0x06800, 0x06fff) AM_RAM_WRITE(raiden_foreground_w) AM_SHARE("fore_data")
- AM_RANGE(0x07000, 0x07fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x07000, 0x07fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x08000, 0x08fff) AM_RAM AM_SHARE("shared_ram")
AM_RANGE(0x0a000, 0x0a001) AM_WRITENOP // ?
AM_RANGE(0x0c000, 0x0c001) AM_WRITENOP // watchdog?
diff --git a/src/mame/drivers/rampart.cpp b/src/mame/drivers/rampart.cpp
index a8a64cb65f1..b8d0f41805a 100644
--- a/src/mame/drivers/rampart.cpp
+++ b/src/mame/drivers/rampart.cpp
@@ -133,7 +133,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, rampart_state )
AM_RANGE(0x140000, 0x147fff) AM_MIRROR(0x438000) AM_ROM /* slapstic goes here */
AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_SHARE("bitmap")
AM_RANGE(0x220000, 0x3bffff) AM_WRITENOP /* the code blasts right through this when initializing */
- AM_RANGE(0x3c0000, 0x3c07ff) AM_MIRROR(0x019800) AM_DEVREADWRITE8("palette", palette_device, read, write, 0xff00) AM_SHARE("palette")
+ AM_RANGE(0x3c0000, 0x3c07ff) AM_MIRROR(0x019800) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0xff00) AM_SHARE("palette")
AM_RANGE(0x3e0000, 0x3e07ff) AM_MIRROR(0x010000) AM_RAM AM_SHARE("mob")
AM_RANGE(0x3e0800, 0x3e3f3f) AM_MIRROR(0x010000) AM_RAM
AM_RANGE(0x3e3f40, 0x3e3f7f) AM_MIRROR(0x010000) AM_RAM AM_SHARE("mob:slip")
@@ -141,7 +141,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, rampart_state )
AM_RANGE(0x460000, 0x460001) AM_MIRROR(0x019ffe) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0xff00)
AM_RANGE(0x480000, 0x480003) AM_MIRROR(0x019ffc) AM_DEVWRITE8("ymsnd", ym2413_device, write, 0xff00)
AM_RANGE(0x500000, 0x500fff) AM_MIRROR(0x019000) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
- AM_RANGE(0x5a6000, 0x5a6001) AM_MIRROR(0x019ffe) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0x5a6000, 0x5a6001) AM_MIRROR(0x019ffe) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0x640000, 0x640001) AM_MIRROR(0x019ffe) AM_WRITE(latch_w)
AM_RANGE(0x640000, 0x640001) AM_MIRROR(0x019ffc) AM_READ_PORT("IN0")
AM_RANGE(0x640002, 0x640003) AM_MIRROR(0x019ffc) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/rastan.cpp b/src/mame/drivers/rastan.cpp
index 183b41c9a4e..e71be6c0931 100644
--- a/src/mame/drivers/rastan.cpp
+++ b/src/mame/drivers/rastan.cpp
@@ -211,7 +211,7 @@ WRITE8_MEMBER(rastan_state::rastan_msm5205_stop_w)
static ADDRESS_MAP_START( rastan_map, AS_PROGRAM, 16, rastan_state )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x10c000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x350008, 0x350009) AM_WRITENOP /* 0 only (often) ? */
AM_RANGE(0x380000, 0x380001) AM_WRITE(rastan_spritectrl_w) /* sprite palette bank, coin counters & lockout */
AM_RANGE(0x390000, 0x390001) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/rbisland.cpp b/src/mame/drivers/rbisland.cpp
index cf3dd68a38c..a09b261b4df 100644
--- a/src/mame/drivers/rbisland.cpp
+++ b/src/mame/drivers/rbisland.cpp
@@ -349,7 +349,7 @@ WRITE16_MEMBER(rbisland_state::jumping_sound_w)
static ADDRESS_MAP_START( rbisland_map, AS_PROGRAM, 16, rbisland_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x10c000, 0x10ffff) AM_RAM /* main RAM */
- AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x201000, 0x203fff) AM_RAM /* r/w in initial checks */
AM_RANGE(0x390000, 0x390003) AM_READ_PORT("DSWA")
AM_RANGE(0x3a0000, 0x3a0001) AM_WRITE(rbisland_spritectrl_w)
@@ -370,7 +370,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( jumping_map, AS_PROGRAM, 16, rbisland_state )
AM_RANGE(0x000000, 0x09ffff) AM_ROM
AM_RANGE(0x10c000, 0x10ffff) AM_RAM /* main RAM */
- AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x201000, 0x203fff) AM_RAM /* r/w in initial checks */
AM_RANGE(0x400000, 0x400001) AM_READ_PORT("DSWA")
AM_RANGE(0x400002, 0x400003) AM_READ_PORT("DSWB")
diff --git a/src/mame/drivers/rbmk.cpp b/src/mame/drivers/rbmk.cpp
index 189e561ea35..e42c4fe30d2 100644
--- a/src/mame/drivers/rbmk.cpp
+++ b/src/mame/drivers/rbmk.cpp
@@ -166,7 +166,7 @@ static ADDRESS_MAP_START( rbmk_mem, AS_PROGRAM, 16, rbmk_state )
AM_RANGE(0x500000, 0x50ffff) AM_RAM
AM_RANGE(0x940000, 0x940fff) AM_RAM AM_SHARE("vidram2")
AM_RANGE(0x980300, 0x983fff) AM_RAM // 0x2048 words ???, byte access
- AM_RANGE(0x900000, 0x900fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x900000, 0x900fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x9c0000, 0x9c0fff) AM_RAM AM_SHARE("vidram")
AM_RANGE(0xb00000, 0xb00001) AM_WRITE(eeprom_w)
AM_RANGE(0xc00000, 0xc00001) AM_READWRITE(dip_mux_r, dip_mux_w)
@@ -187,7 +187,7 @@ static ADDRESS_MAP_START( rbspm_mem, AS_PROGRAM, 16, rbmk_state )
AM_RANGE(0x320000, 0x320001) AM_READ_PORT("IN3")
AM_RANGE(0x328000, 0x328001) AM_WRITE(unk_w)
AM_RANGE(0x500000, 0x50ffff) AM_RAM
- AM_RANGE(0x900000, 0x900fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // if removed fails gfx test?
+ AM_RANGE(0x900000, 0x900fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // if removed fails gfx test?
AM_RANGE(0x940000, 0x940fff) AM_RAM AM_SHARE("vidram2") // if removed fails palette test?
AM_RANGE(0x980300, 0x983fff) AM_RAM // 0x2048 words ???, byte access, u25 and u26 according to test mode
AM_RANGE(0x9c0000, 0x9c0fff) AM_RAM AM_SHARE("vidram")
diff --git a/src/mame/drivers/realbrk.cpp b/src/mame/drivers/realbrk.cpp
index ee3dad318f4..27a512b2b79 100644
--- a/src/mame/drivers/realbrk.cpp
+++ b/src/mame/drivers/realbrk.cpp
@@ -158,7 +158,7 @@ WRITE16_MEMBER(realbrk_state::backup_ram_w)
static ADDRESS_MAP_START( base_mem, AS_PROGRAM, 16, realbrk_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x203fff) AM_RAM AM_SHARE("spriteram") // Sprites
- AM_RANGE(0x400000, 0x40ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x400000, 0x40ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(vram_0_w) AM_SHARE("vram_0") // Background (0)
AM_RANGE(0x602000, 0x603fff) AM_RAM_WRITE(vram_1_w) AM_SHARE("vram_1") // Background (1)
AM_RANGE(0x604000, 0x604fff) AM_RAM_WRITE(vram_2_w) AM_SHARE("vram_2") // Text (2)
diff --git a/src/mame/drivers/relief.cpp b/src/mame/drivers/relief.cpp
index 34332eba111..775d948b466 100644
--- a/src/mame/drivers/relief.cpp
+++ b/src/mame/drivers/relief.cpp
@@ -128,13 +128,13 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, relief_state )
AM_RANGE(0x140020, 0x140021) AM_WRITE(audio_volume_w)
AM_RANGE(0x140030, 0x140031) AM_WRITE(audio_control_w)
AM_RANGE(0x180000, 0x180fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0xff00)
- AM_RANGE(0x1c0030, 0x1c0031) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0x1c0030, 0x1c0031) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0x260000, 0x260001) AM_READ_PORT("260000")
AM_RANGE(0x260002, 0x260003) AM_READ_PORT("260002")
AM_RANGE(0x260010, 0x260011) AM_READ(special_port2_r)
AM_RANGE(0x260012, 0x260013) AM_READ_PORT("260012")
AM_RANGE(0x2a0000, 0x2a0001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
- AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x3effc0, 0x3effff) AM_DEVREADWRITE("vad", atari_vad_device, control_read, control_write)
AM_RANGE(0x3f0000, 0x3f1fff) AM_RAM_DEVWRITE("vad", atari_vad_device, playfield2_latched_msb_w) AM_SHARE("vad:playfield2")
AM_RANGE(0x3f2000, 0x3f3fff) AM_RAM_DEVWRITE("vad", atari_vad_device, playfield_latched_lsb_w) AM_SHARE("vad:playfield")
diff --git a/src/mame/drivers/renegade.cpp b/src/mame/drivers/renegade.cpp
index a09de8a663e..6c0a80d5747 100644
--- a/src/mame/drivers/renegade.cpp
+++ b/src/mame/drivers/renegade.cpp
@@ -235,8 +235,8 @@ static ADDRESS_MAP_START( renegade_nomcu_map, AS_PROGRAM, 8, renegade_state )
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(fg_videoram_w) AM_SHARE("fg_videoram")
AM_RANGE(0x2000, 0x27ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(bg_videoram_w) AM_SHARE("bg_videoram")
- AM_RANGE(0x3000, 0x30ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x3100, 0x31ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x3000, 0x30ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x3100, 0x31ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("IN0") AM_WRITE(scroll_lsb_w) /* Player#1 controls, P1,P2 start */
AM_RANGE(0x3801, 0x3801) AM_READ_PORT("IN1") AM_WRITE(scroll_msb_w) /* Player#2 controls, coin triggers */
AM_RANGE(0x3802, 0x3802) AM_READ_PORT("DSW2") AM_DEVWRITE("soundlatch", generic_latch_8_device, write) /* DIP2 various IO ports */
diff --git a/src/mame/drivers/rollerg.cpp b/src/mame/drivers/rollerg.cpp
index b17965bf3eb..da65f2c4cda 100644
--- a/src/mame/drivers/rollerg.cpp
+++ b/src/mame/drivers/rollerg.cpp
@@ -93,7 +93,7 @@ static ADDRESS_MAP_START( rollerg_map, AS_PROGRAM, 8, rollerg_state )
AM_RANGE(0x0300, 0x030f) AM_DEVREADWRITE("k053244", k05324x_device, k053244_r, k053244_w)
AM_RANGE(0x0800, 0x0fff) AM_READ(rollerg_k051316_r) AM_DEVWRITE("k051316", k051316_device, write)
AM_RANGE(0x1000, 0x17ff) AM_DEVREADWRITE("k053244", k05324x_device, k053245_r, k053245_w)
- AM_RANGE(0x1800, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1800, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x2000, 0x3aff) AM_RAM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_ROM
diff --git a/src/mame/drivers/rpunch.cpp b/src/mame/drivers/rpunch.cpp
index c8ec4d15a78..b242fc88b51 100644
--- a/src/mame/drivers/rpunch.cpp
+++ b/src/mame/drivers/rpunch.cpp
@@ -208,7 +208,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, rpunch_state )
AM_RANGE(0x040000, 0x04ffff) AM_RAM AM_SHARE("bitmapram")
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x080000, 0x083fff) AM_RAM_WRITE(rpunch_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x0a0000, 0x0a07ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0a0000, 0x0a07ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0c0000, 0x0c0007) AM_WRITE(rpunch_scrollreg_w)
AM_RANGE(0x0c0008, 0x0c0009) AM_SELECT(0x20) AM_WRITE8(rpunch_gga_w, 0x00ff)
AM_RANGE(0x0c000c, 0x0c000d) AM_WRITE(rpunch_videoreg_w)
diff --git a/src/mame/drivers/sandscrp.cpp b/src/mame/drivers/sandscrp.cpp
index 2d04555db46..bc4ffa9d1d5 100644
--- a/src/mame/drivers/sandscrp.cpp
+++ b/src/mame/drivers/sandscrp.cpp
@@ -282,7 +282,7 @@ static ADDRESS_MAP_START( sandscrp, AS_PROGRAM, 16, sandscrp_state )
AM_RANGE(0x300000, 0x30001f) AM_DEVREADWRITE("view2_0", kaneko_view2_tilemap_device, kaneko_tmap_regs_r, kaneko_tmap_regs_w)
AM_RANGE(0x400000, 0x403fff) AM_DEVREADWRITE("view2_0", kaneko_view2_tilemap_device, kaneko_tmap_vram_r, kaneko_tmap_vram_w )
AM_RANGE(0x500000, 0x501fff) AM_DEVREADWRITE("pandora", kaneko_pandora_device, spriteram_LSB_r, spriteram_LSB_w ) // sprites
- AM_RANGE(0x600000, 0x600fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x600000, 0x600fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0xa00000, 0xa00001) AM_WRITE(coincounter_w) // Coin Counters (Lockout unused)
AM_RANGE(0xb00000, 0xb00001) AM_READ_PORT("P1")
AM_RANGE(0xb00002, 0xb00003) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/sderby.cpp b/src/mame/drivers/sderby.cpp
index 4430ee443d0..90217e32b2d 100644
--- a/src/mame/drivers/sderby.cpp
+++ b/src/mame/drivers/sderby.cpp
@@ -308,7 +308,7 @@ static ADDRESS_MAP_START( sderby_map, AS_PROGRAM, 16, sderby_state )
AM_RANGE(0x308000, 0x30800d) AM_READ(sderby_input_r)
AM_RANGE(0x308008, 0x308009) AM_WRITE(sderby_out_w) /* output port */
AM_RANGE(0x30800e, 0x30800f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0x380000, 0x380fff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x380000, 0x380fff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x500000, 0x500001) AM_WRITENOP /* unknown... write 0x01 in game, and 0x00 on reset */
AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xffc000, 0xffffff) AM_RAM
@@ -326,7 +326,7 @@ static ADDRESS_MAP_START( sderbya_map, AS_PROGRAM, 16, sderby_state )
AM_RANGE(0x308000, 0x30800d) AM_READ(sderbya_input_r)
AM_RANGE(0x308008, 0x308009) AM_WRITE(sderby_out_w) /* output port */
AM_RANGE(0x30800e, 0x30800f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0x380000, 0x380fff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x380000, 0x380fff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300000, 0x300001) AM_WRITENOP /* unknown... write 0x01 in game, and 0x00 on reset */ //MOD
AM_RANGE(0xcf0000, 0xcf07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xcfc000, 0xcfffff) AM_RAM //MOD
@@ -345,7 +345,7 @@ static ADDRESS_MAP_START( luckboom_map, AS_PROGRAM, 16, sderby_state )
AM_RANGE(0x308000, 0x30800d) AM_READ(sderby_input_r)
AM_RANGE(0x308008, 0x308009) AM_WRITE(sderby_out_w) /* output port */
AM_RANGE(0x30800e, 0x30800f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0x380000, 0x380fff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x380000, 0x380fff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x500000, 0x500001) AM_WRITENOP /* unknown... write 0x01 in game, and 0x00 on reset */
AM_RANGE(0xe00000, 0xe007ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xff0000, 0xffffff) AM_RAM
@@ -364,7 +364,7 @@ static ADDRESS_MAP_START( spacewin_map, AS_PROGRAM, 16, sderby_state )
AM_RANGE(0x308000, 0x30800d) AM_READ(sderby_input_r)
AM_RANGE(0x308008, 0x308009) AM_WRITE(scmatto_out_w) /* output port */
AM_RANGE(0x30800e, 0x30800f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0x380000, 0x380fff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x380000, 0x380fff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xd00000, 0xd001ff) AM_RAM
AM_RANGE(0x800000, 0x800fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x801000, 0x80100d) AM_WRITENOP /* unknown */
@@ -385,7 +385,7 @@ static ADDRESS_MAP_START( shinygld_map, AS_PROGRAM, 16, sderby_state )
AM_RANGE(0x308000, 0x30800d) AM_READ(sderby_input_r)
AM_RANGE(0x308008, 0x308009) AM_WRITENOP /* output port */
AM_RANGE(0x30800e, 0x30800f) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0x380000, 0x380fff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x380000, 0x380fff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x400000, 0x400fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x401000, 0x40100d) AM_WRITENOP /* unknown */
AM_RANGE(0x700000, 0x7007ff) AM_RAM AM_SHARE("nvram") /* 16K Dallas DS1220Y-200 NVRAM */
@@ -406,7 +406,7 @@ static ADDRESS_MAP_START( roulette_map, AS_PROGRAM, 16, sderby_state )
AM_RANGE(0x70800a, 0x70800b) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x70800c, 0x70800d) AM_WRITENOP /* watchdog?? (0x0003) */
AM_RANGE(0x70800e, 0x70800f) AM_READWRITE(rprot_r, rprot_w) /* MCU communication */
- AM_RANGE(0x780000, 0x780fff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x780000, 0x780fff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xff0000, 0xff07ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xffc000, 0xffffff) AM_RAM
diff --git a/src/mame/drivers/segajw.cpp b/src/mame/drivers/segajw.cpp
index 2819b4c46d7..7bca046c553 100644
--- a/src/mame/drivers/segajw.cpp
+++ b/src/mame/drivers/segajw.cpp
@@ -164,8 +164,8 @@ CUSTOM_INPUT_MEMBER( segajw_state::coin_sensors_r )
static ADDRESS_MAP_START( segajw_map, AS_PROGRAM, 16, segajw_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
- AM_RANGE(0x080000, 0x080001) AM_DEVREADWRITE("hd63484", hd63484_device, status_r, address_w)
- AM_RANGE(0x080002, 0x080003) AM_DEVREADWRITE("hd63484", hd63484_device, data_r, data_w)
+ AM_RANGE(0x080000, 0x080001) AM_DEVREADWRITE("hd63484", hd63484_device, status16_r, address16_w)
+ AM_RANGE(0x080002, 0x080003) AM_DEVREADWRITE("hd63484", hd63484_device, data16_r, data16_w)
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("DSW0")
AM_RANGE(0x180004, 0x180005) AM_DEVREAD8("soundlatch2", generic_latch_8_device, read, 0x00ff) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
diff --git a/src/mame/drivers/seicupbl.cpp b/src/mame/drivers/seicupbl.cpp
index cd7fa32062a..cb8a29d507a 100644
--- a/src/mame/drivers/seicupbl.cpp
+++ b/src/mame/drivers/seicupbl.cpp
@@ -334,7 +334,7 @@ static ADDRESS_MAP_START( cupsocbl_mem, AS_PROGRAM, 16, seicupbl_state )
AM_RANGE(0x101000, 0x1017ff) AM_RAM_WRITE(vram_sc2_w) AM_SHARE("fore_data")
AM_RANGE(0x101800, 0x101fff) AM_RAM_WRITE(vram_sc1_w) AM_SHARE("mid_data")
AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE(vram_sc3_w) AM_SHARE("textram")
- AM_RANGE(0x103000, 0x103fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x103000, 0x103fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x104000, 0x106fff) AM_RAM
AM_RANGE(0x107000, 0x1077ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x107800, 0x107fff) AM_RAM
diff --git a/src/mame/drivers/sengokmj.cpp b/src/mame/drivers/sengokmj.cpp
index 2527d355977..0f8e4327742 100644
--- a/src/mame/drivers/sengokmj.cpp
+++ b/src/mame/drivers/sengokmj.cpp
@@ -395,7 +395,7 @@ static ADDRESS_MAP_START( sengokmj_map, AS_PROGRAM, 16, sengokmj_state )
AM_RANGE(0x0c800, 0x0cfff) AM_RAM_WRITE(seibucrtc_sc1vram_w) AM_SHARE("sc1_vram")
AM_RANGE(0x0d000, 0x0d7ff) AM_RAM_WRITE(seibucrtc_sc2vram_w) AM_SHARE("sc2_vram")
AM_RANGE(0x0d800, 0x0e7ff) AM_RAM_WRITE(seibucrtc_sc3vram_w) AM_SHARE("sc3_vram")
- AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0f800, 0x0ffff) AM_RAM AM_SHARE("sprite_ram")
AM_RANGE(0xc0000, 0xfffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/senjyo.cpp b/src/mame/drivers/senjyo.cpp
index 53dce08943e..f866c3b65b3 100644
--- a/src/mame/drivers/senjyo.cpp
+++ b/src/mame/drivers/senjyo.cpp
@@ -129,7 +129,7 @@ static ADDRESS_MAP_START( senjyo_map, AS_PROGRAM, 8, senjyo_state )
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(fgvideoram_w) AM_SHARE("fgvideoram")
AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(fgcolorram_w) AM_SHARE("fgcolorram")
AM_RANGE(0x9800, 0x987f) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x9c00, 0x9dff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x9c00, 0x9dff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x9e00, 0x9e1f) AM_RAM AM_SHARE("fgscroll")
AM_RANGE(0x9e20, 0x9e21) AM_RAM AM_SHARE("scrolly3")
/* AM_RANGE(0x9e22, 0x9e23) height of the layer (Senjyo only, fixed at 0x380) */
@@ -200,7 +200,7 @@ static ADDRESS_MAP_START( starforb_map, AS_PROGRAM, 8, senjyo_state )
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(fgvideoram_w) AM_SHARE("fgvideoram")
AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(fgcolorram_w) AM_SHARE("fgcolorram")
AM_RANGE(0x9800, 0x987f) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x9c00, 0x9dff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x9c00, 0x9dff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
/* The format / use of the ram here is different on the bootleg */
AM_RANGE(0x9e20, 0x9e21) AM_RAM AM_SHARE("scrolly3")
AM_RANGE(0x9e25, 0x9e25) AM_RAM AM_SHARE("scrollx3")
diff --git a/src/mame/drivers/seta2.cpp b/src/mame/drivers/seta2.cpp
index eb2d7493ccd..2acdfe5d8ff 100644
--- a/src/mame/drivers/seta2.cpp
+++ b/src/mame/drivers/seta2.cpp
@@ -172,7 +172,7 @@ static ADDRESS_MAP_START( grdians_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x800000, 0x800001) AM_WRITE(grdians_lockout_w)
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound
AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_SHARE("spriteram") // Sprites
- AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0xc50000, 0xc5ffff) AM_RAM // cleared
AM_RANGE(0xc60000, 0xc6003f) AM_WRITE(vregs_w) AM_SHARE("vregs") // Video Registers
AM_RANGE(0xe00010, 0xe0001f) AM_WRITE(sound_bank_w) // Samples Banks
@@ -210,7 +210,7 @@ static ADDRESS_MAP_START( gundamex_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x800000, 0x800001) AM_WRITE(grdians_lockout_w)
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound
AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_SHARE("spriteram") // Sprites
- AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0xc50000, 0xc5ffff) AM_RAM // cleared
AM_RANGE(0xc60000, 0xc6003f) AM_WRITE(vregs_w) AM_SHARE("vregs") // Video Registers
AM_RANGE(0xe00010, 0xe0001f) AM_WRITE(sound_bank_w) // Samples Banks
@@ -273,7 +273,7 @@ static ADDRESS_MAP_START( mj4simai_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x600300, 0x60030f) AM_WRITE(sound_bank_w) // Samples Banks
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound
AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_SHARE("spriteram") // Sprites
- AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0xc60000, 0xc6003f) AM_WRITE(vregs_w) AM_SHARE("vregs") // Video Registers
AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers
ADDRESS_MAP_END
@@ -296,7 +296,7 @@ static ADDRESS_MAP_START( myangel_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x700310, 0x70031f) AM_WRITE(sound_bank_w) // Samples Banks
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound
AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_SHARE("spriteram") // Sprites
- AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0xc60000, 0xc6003f) AM_WRITE(vregs_w) AM_SHARE("vregs") // Video Registers
AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers
ADDRESS_MAP_END
@@ -319,7 +319,7 @@ static ADDRESS_MAP_START( myangel2_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x600300, 0x60030f) AM_WRITE(sound_bank_w) // Samples Banks
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound
AM_RANGE(0xd00000, 0xd3ffff) AM_RAM AM_SHARE("spriteram") // Sprites
- AM_RANGE(0xd40000, 0xd4ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0xd40000, 0xd4ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0xd60000, 0xd6003f) AM_WRITE(vregs_w) AM_SHARE("vregs") // Video Registers
AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers
ADDRESS_MAP_END
@@ -363,7 +363,7 @@ static ADDRESS_MAP_START( pzlbowl_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x500006, 0x500007) AM_DEVREAD("watchdog", watchdog_timer_device, reset16_r)
AM_RANGE(0x700000, 0x700001) AM_READ(pzlbowl_protection_r) // Protection
AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_SHARE("spriteram") // Sprites
- AM_RANGE(0x840000, 0x84ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x840000, 0x84ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x860000, 0x86003f) AM_WRITE(vregs_w) AM_SHARE("vregs") // Video Registers
AM_RANGE(0x900000, 0x903fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound
AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers
@@ -387,7 +387,7 @@ static ADDRESS_MAP_START( penbros_base_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x600006, 0x600007) AM_DEVREAD("watchdog", watchdog_timer_device, reset16_r)
AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w)
AM_RANGE(0xb00000, 0xb3ffff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0xb40000, 0xb4ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xb40000, 0xb4ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( penbros_map, AS_PROGRAM, 16, seta2_state )
@@ -460,7 +460,7 @@ static ADDRESS_MAP_START( reelquak_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x400300, 0x40030f) AM_WRITE(sound_bank_w) // Samples Banks
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound
AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_SHARE("spriteram") // Sprites
- AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0xc60000, 0xc6003f) AM_WRITE(vregs_w) AM_SHARE("vregs") // Video Registers
AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers
ADDRESS_MAP_END
@@ -516,7 +516,7 @@ static ADDRESS_MAP_START( samshoot_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE( 0x700006, 0x700007 ) AM_DEVREAD("watchdog", watchdog_timer_device, reset16_r ) // Watchdog?
AM_RANGE( 0x800000, 0x83ffff ) AM_RAM AM_SHARE("spriteram") // Sprites
- AM_RANGE( 0x840000, 0x84ffff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE( 0x840000, 0x84ffff ) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE( 0x860000, 0x86003f ) AM_WRITE(vregs_w) AM_SHARE("vregs") // Video Registers
AM_RANGE( 0x900000, 0x903fff ) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound
@@ -620,7 +620,7 @@ static ADDRESS_MAP_START( staraudi_map, AS_PROGRAM, 16, staraudi_state )
AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound
AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_SHARE("spriteram") // Sprites
- AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0xc50000, 0xc5ffff) AM_RAM // cleared
AM_RANGE(0xc60000, 0xc6003f) AM_WRITE(vregs_w) AM_SHARE("vregs") // Video Registers
AM_RANGE(0xfffc00, 0xffffff) AM_DEVREADWRITE("tmp68301", tmp68301_device, regs_r, regs_w) // TMP68301 Registers
@@ -691,7 +691,7 @@ static ADDRESS_MAP_START( telpacfl_map, AS_PROGRAM, 16, seta2_state )
AM_RANGE(0x800000, 0x800001) AM_WRITE(telpacfl_lockout_w) // Coin Blockers
AM_RANGE(0x900000, 0x903fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound
AM_RANGE(0xb00000, 0xb3ffff) AM_RAM AM_SHARE("spriteram") // Sprites
- AM_RANGE(0xb40000, 0xb4ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0xb40000, 0xb4ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0xb60000, 0xb6003f) AM_WRITE(vregs_w) AM_SHARE("vregs") // Video Registers
AM_RANGE(0xd00006, 0xd00007) AM_DEVREAD("watchdog", watchdog_timer_device, reset16_r)
// AM_RANGE(0xe00000, 0xe00001) AM_WRITE
@@ -890,7 +890,7 @@ static ADDRESS_MAP_START( funcube_map, AS_PROGRAM, 32, seta2_state )
AM_RANGE( 0x00500000, 0x00500003 ) AM_READWRITE(oki_read, oki_write)
AM_RANGE( 0x00800000, 0x0083ffff ) AM_READWRITE16(spriteram16_word_r, spriteram16_word_w, 0xffffffff ) AM_SHARE("spriteram")
- AM_RANGE( 0x00840000, 0x0084ffff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE( 0x00840000, 0x0084ffff ) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette") // Palette
AM_RANGE( 0x00860000, 0x0086003f ) AM_WRITE16(vregs_w, 0xffffffff ) AM_SHARE("vregs")
AM_RANGE( 0x00c00000, 0x00c002ff ) AM_READWRITE(funcube_nvram_dword_r, funcube_nvram_dword_w )
@@ -909,7 +909,7 @@ static ADDRESS_MAP_START( funcube2_map, AS_PROGRAM, 32, seta2_state )
AM_RANGE( 0x00600000, 0x00600003 ) AM_READWRITE(oki_read, oki_write)
AM_RANGE( 0x00800000, 0x0083ffff ) AM_READWRITE16(spriteram16_word_r, spriteram16_word_w, 0xffffffff ) AM_SHARE("spriteram")
- AM_RANGE( 0x00840000, 0x0084ffff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE( 0x00840000, 0x0084ffff ) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE( 0x00860000, 0x0086003f ) AM_WRITE16(vregs_w, 0xffffffff ) AM_SHARE("vregs")
AM_RANGE( 0x00c00000, 0x00c002ff ) AM_READWRITE(funcube_nvram_dword_r, funcube_nvram_dword_w )
diff --git a/src/mame/drivers/sf.cpp b/src/mame/drivers/sf.cpp
index 28e3c448bcf..0055382a2ac 100644
--- a/src/mame/drivers/sf.cpp
+++ b/src/mame/drivers/sf.cpp
@@ -165,7 +165,7 @@ static ADDRESS_MAP_START( sfan_map, AS_PROGRAM, 16, sf_state )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x04ffff) AM_ROM
AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
- AM_RANGE(0xb00000, 0xb007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xb00000, 0xb007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("IN0")
AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("IN1")
AM_RANGE(0xc00004, 0xc00005) AM_READ_PORT("PUNCH")
@@ -188,7 +188,7 @@ static ADDRESS_MAP_START( sfus_map, AS_PROGRAM, 16, sf_state )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x04ffff) AM_ROM
AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
- AM_RANGE(0xb00000, 0xb007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xb00000, 0xb007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("IN0")
AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("IN1")
AM_RANGE(0xc00004, 0xc00005) AM_READNOP
@@ -211,7 +211,7 @@ static ADDRESS_MAP_START( sfjp_map, AS_PROGRAM, 16, sf_state )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x04ffff) AM_ROM
AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
- AM_RANGE(0xb00000, 0xb007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xb00000, 0xb007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("IN0")
AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("IN1")
AM_RANGE(0xc00004, 0xc00005) AM_READ_PORT("IN2")
diff --git a/src/mame/drivers/shadfrce.cpp b/src/mame/drivers/shadfrce.cpp
index 342ca62c794..3db9eb458e3 100644
--- a/src/mame/drivers/shadfrce.cpp
+++ b/src/mame/drivers/shadfrce.cpp
@@ -357,7 +357,7 @@ static ADDRESS_MAP_START( shadfrce_map, AS_PROGRAM, 16, shadfrce_state )
AM_RANGE(0x102800, 0x103fff) AM_RAM
AM_RANGE(0x140000, 0x141fff) AM_RAM_WRITE(fgvideoram_w) AM_SHARE("fgvideoram")
AM_RANGE(0x142000, 0x143fff) AM_RAM AM_SHARE("spvideoram") /* sprites */
- AM_RANGE(0x180000, 0x187fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x180000, 0x187fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x1c0000, 0x1c0001) AM_WRITE(bg0scrollx_w) /* SCROLL X */
AM_RANGE(0x1c0002, 0x1c0003) AM_WRITE(bg0scrolly_w) /* SCROLL Y */
AM_RANGE(0x1c0004, 0x1c0005) AM_WRITE(bg1scrollx_w) /* SCROLL X */
diff --git a/src/mame/drivers/shangha3.cpp b/src/mame/drivers/shangha3.cpp
index ef9e0392645..2fe595f2669 100644
--- a/src/mame/drivers/shangha3.cpp
+++ b/src/mame/drivers/shangha3.cpp
@@ -117,7 +117,7 @@ WRITE16_MEMBER(shangha3_state::irq_ack_w)
static ADDRESS_MAP_START( shangha3_map, AS_PROGRAM, 16, shangha3_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x100000, 0x100fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x100000, 0x100fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x200000, 0x200001) AM_READ_PORT("INPUTS")
AM_RANGE(0x200002, 0x200003) AM_READ_PORT("SYSTEM")
AM_RANGE(0x200008, 0x200009) AM_WRITE(blitter_go_w)
@@ -135,7 +135,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( heberpop_map, AS_PROGRAM, 16, shangha3_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
- AM_RANGE(0x100000, 0x100fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x100000, 0x100fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x200000, 0x200001) AM_READ_PORT("INPUTS")
AM_RANGE(0x200002, 0x200003) AM_READ_PORT("SYSTEM")
AM_RANGE(0x200004, 0x200005) AM_READ_PORT("DSW")
@@ -158,7 +158,7 @@ static ADDRESS_MAP_START( blocken_map, AS_PROGRAM, 16, shangha3_state )
AM_RANGE(0x10000a, 0x10000b) AM_READNOP AM_WRITE(irq_ack_w) // r -> unknown purpose (value doesn't matter, left-over?)
AM_RANGE(0x10000c, 0x10000d) AM_WRITE(blocken_coinctrl_w)
AM_RANGE(0x10000e, 0x10000f) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
- AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300000, 0x30ffff) AM_RAM AM_SHARE("ram") /* gfx & work ram */
AM_RANGE(0x340000, 0x340001) AM_WRITE(flipscreen_w)
AM_RANGE(0x360000, 0x360001) AM_WRITE(gfxlist_addr_w)
diff --git a/src/mame/drivers/shanghai.cpp b/src/mame/drivers/shanghai.cpp
index dcc3fc4fe77..f932bcfdf82 100644
--- a/src/mame/drivers/shanghai.cpp
+++ b/src/mame/drivers/shanghai.cpp
@@ -101,14 +101,14 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( shangha2_map, AS_PROGRAM, 16, shanghai_state )
AM_RANGE(0x00000, 0x03fff) AM_RAM
- AM_RANGE(0x04000, 0x041ff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x04000, 0x041ff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x80000, 0xfffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( shanghai_portmap, AS_IO, 16, shanghai_state )
- AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("hd63484", hd63484_device, status_r, address_w)
- AM_RANGE(0x02, 0x03) AM_DEVREADWRITE("hd63484", hd63484_device, data_r, data_w)
+ AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("hd63484", hd63484_device, status16_r, address16_w)
+ AM_RANGE(0x02, 0x03) AM_DEVREADWRITE("hd63484", hd63484_device, data16_r, data16_w)
AM_RANGE(0x20, 0x23) AM_DEVREADWRITE8("ymsnd", ym2203_device, read, write, 0x00ff)
AM_RANGE(0x40, 0x41) AM_READ_PORT("P1")
AM_RANGE(0x44, 0x45) AM_READ_PORT("P2")
@@ -121,21 +121,21 @@ static ADDRESS_MAP_START( shangha2_portmap, AS_IO, 16, shanghai_state )
AM_RANGE(0x00, 0x01) AM_READ_PORT("P1")
AM_RANGE(0x10, 0x11) AM_READ_PORT("P2")
AM_RANGE(0x20, 0x21) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x30, 0x31) AM_DEVREADWRITE("hd63484", hd63484_device, status_r, address_w)
- AM_RANGE(0x32, 0x33) AM_DEVREADWRITE("hd63484", hd63484_device, data_r, data_w)
+ AM_RANGE(0x30, 0x31) AM_DEVREADWRITE("hd63484", hd63484_device, status16_r, address16_w)
+ AM_RANGE(0x32, 0x33) AM_DEVREADWRITE("hd63484", hd63484_device, data16_r, data16_w)
AM_RANGE(0x40, 0x43) AM_DEVREADWRITE8("ymsnd", ym2203_device, read, write, 0x00ff)
AM_RANGE(0x50, 0x51) AM_WRITE8(shanghai_coin_w,0x00ff)
ADDRESS_MAP_END
static ADDRESS_MAP_START( kothello_map, AS_PROGRAM, 16, shanghai_state )
AM_RANGE(0x00000, 0x07fff) AM_RAM
- AM_RANGE(0x08010, 0x08011) AM_DEVREADWRITE("hd63484", hd63484_device, status_r, address_w)
- AM_RANGE(0x08012, 0x08013) AM_DEVREADWRITE("hd63484", hd63484_device, data_r, data_w)
+ AM_RANGE(0x08010, 0x08011) AM_DEVREADWRITE("hd63484", hd63484_device, status16_r, address16_w)
+ AM_RANGE(0x08012, 0x08013) AM_DEVREADWRITE("hd63484", hd63484_device, data16_r, data16_w)
AM_RANGE(0x09010, 0x09011) AM_READ_PORT("P1")
AM_RANGE(0x09012, 0x09013) AM_READ_PORT("P2")
AM_RANGE(0x09014, 0x09015) AM_READ_PORT("SYSTEM")
AM_RANGE(0x09016, 0x0901f) AM_WRITENOP // 0x9016 is set to 0 at the boot
- AM_RANGE(0x0a000, 0x0a1ff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0a000, 0x0a1ff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0b010, 0x0b01f) AM_DEVREADWRITE8("seibu_sound", seibu_sound_device, main_r, main_w, 0x00ff)
AM_RANGE(0x80000, 0xfffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/shuuz.cpp b/src/mame/drivers/shuuz.cpp
index 86fa68170f1..a3709bff147 100644
--- a/src/mame/drivers/shuuz.cpp
+++ b/src/mame/drivers/shuuz.cpp
@@ -113,14 +113,14 @@ READ16_MEMBER(shuuz_state::special_port0_r)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, shuuz_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
- AM_RANGE(0x101000, 0x101fff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0x101000, 0x101fff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0x102000, 0x102001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x103000, 0x103003) AM_READ(leta_r)
AM_RANGE(0x105000, 0x105001) AM_READWRITE(special_port0_r, latch_w)
AM_RANGE(0x105002, 0x105003) AM_READ_PORT("BUTTONS")
AM_RANGE(0x106000, 0x106001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x107000, 0x107007) AM_NOP
- AM_RANGE(0x3e0000, 0x3e07ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x3e0000, 0x3e07ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x3effc0, 0x3effff) AM_DEVREADWRITE("vad", atari_vad_device, control_read, control_write)
AM_RANGE(0x3f4000, 0x3f5eff) AM_RAM_DEVWRITE("vad", atari_vad_device, playfield_latched_msb_w) AM_SHARE("vad:playfield")
AM_RANGE(0x3f5f00, 0x3f5f7f) AM_RAM AM_SHARE("vad:eof")
diff --git a/src/mame/drivers/sidearms.cpp b/src/mame/drivers/sidearms.cpp
index fc96bfee87e..a855638c80c 100644
--- a/src/mame/drivers/sidearms.cpp
+++ b/src/mame/drivers/sidearms.cpp
@@ -80,8 +80,8 @@ READ8_MEMBER(sidearms_state::turtship_ports_r)
static ADDRESS_MAP_START( sidearms_map, AS_PROGRAM, 8, sidearms_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
- AM_RANGE(0xc000, 0xc3ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0xc400, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0xc000, 0xc3ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0xc400, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0xc800, 0xc800) AM_READ_PORT("SYSTEM") AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0xc801, 0xc801) AM_READ_PORT("P1") AM_WRITE(bankswitch_w)
AM_RANGE(0xc802, 0xc802) AM_READ_PORT("P2") AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
@@ -103,8 +103,8 @@ static ADDRESS_MAP_START( turtship_map, AS_PROGRAM, 8, sidearms_state )
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0xe000, 0xe3ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0xe400, 0xe7ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0xe000, 0xe3ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0xe400, 0xe7ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0xe800, 0xe807) AM_READ(turtship_ports_r)
AM_RANGE(0xe800, 0xe800) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0xe801, 0xe801) AM_WRITE(bankswitch_w)
@@ -145,8 +145,8 @@ WRITE8_MEMBER(sidearms_state::whizz_bankswitch_w)
static ADDRESS_MAP_START( whizz_map, AS_PROGRAM, 8, sidearms_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
- AM_RANGE(0xc000, 0xc3ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0xc400, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0xc000, 0xc3ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0xc400, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0xc800, 0xc800) AM_READ_PORT("DSW0") AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0xc801, 0xc801) AM_READ_PORT("DSW1") AM_WRITE(whizz_bankswitch_w)
AM_RANGE(0xc802, 0xc802) AM_READ_PORT("DSW2") AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
diff --git a/src/mame/drivers/sigmab52.cpp b/src/mame/drivers/sigmab52.cpp
index 1759ead0868..a73305d9916 100644
--- a/src/mame/drivers/sigmab52.cpp
+++ b/src/mame/drivers/sigmab52.cpp
@@ -317,8 +317,8 @@ static ADDRESS_MAP_START( jwildb52_map, AS_PROGRAM, 8, sigmab52_state )
AM_RANGE(0xf720, 0xf727) AM_DEVREADWRITE("6840ptm_1", ptm6840_device, read, write)
- AM_RANGE(0xf730, 0xf730) AM_DEVREADWRITE("hd63484", hd63484_device, status_r, address_w)
- AM_RANGE(0xf731, 0xf731) AM_DEVREADWRITE("hd63484", hd63484_device, data_r, data_w)
+ AM_RANGE(0xf730, 0xf730) AM_DEVREADWRITE("hd63484", hd63484_device, status8_r, address8_w)
+ AM_RANGE(0xf731, 0xf731) AM_DEVREADWRITE("hd63484", hd63484_device, data8_r, data8_w)
AM_RANGE(0xf740, 0xf740) AM_READ(in0_r)
AM_RANGE(0xf741, 0xf741) AM_READ_PORT("IN1")
diff --git a/src/mame/drivers/sigmab98.cpp b/src/mame/drivers/sigmab98.cpp
index fc6796367db..302bf2f28cd 100644
--- a/src/mame/drivers/sigmab98.cpp
+++ b/src/mame/drivers/sigmab98.cpp
@@ -735,7 +735,7 @@ static ADDRESS_MAP_START( dodghero_mem_map, AS_PROGRAM, 8, sigmab98_state )
AM_RANGE( 0xa800, 0xb7ff ) AM_RAM AM_SHARE("spriteram")
- AM_RANGE( 0xc800, 0xc9ff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE( 0xc800, 0xc9ff ) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE( 0xd001, 0xd07f ) AM_RAM AM_SHARE("vtable")
@@ -930,7 +930,7 @@ static ADDRESS_MAP_START( gegege_mem_map, AS_PROGRAM, 8, sigmab98_state )
AM_RANGE( 0xa000, 0xafff ) AM_RAM AM_SHARE("spriteram")
- AM_RANGE( 0xc000, 0xc1ff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE( 0xc000, 0xc1ff ) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE( 0xc800, 0xc87f ) AM_RAM AM_SHARE("vtable")
@@ -1258,7 +1258,7 @@ static ADDRESS_MAP_START( animalc_map, AS_PROGRAM, 8, sigmab98_state )
AM_RANGE( 0xa000, 0xafff ) AM_RAM
AM_RANGE( 0xb000, 0xbfff ) AM_RAMBANK("sprbank")
- AM_RANGE( 0xd000, 0xd1ff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE( 0xd000, 0xd1ff ) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE( 0xd800, 0xd87f ) AM_RAM AM_SHARE("vtable")
AM_RANGE( 0xe011, 0xe011 ) AM_WRITENOP // IRQ Enable? Screen disable?
@@ -1440,7 +1440,7 @@ WRITE8_MEMBER(sigmab98_state::gocowboy_4400_w)
}
else if ((offset >= 0x2000) && (offset < 0x2200))
{
- m_palette->write(space, offset-0x2000, data);
+ m_palette->write8(space, offset-0x2000, data);
return;
}
else if ((offset >= 0x2800) && (offset < 0x2880))
@@ -1531,7 +1531,7 @@ WRITE8_MEMBER(sigmab98_state::gocowboy_dc00_w)
return;
case 0x64: // (72000) PALETTERAM
- m_palette->write(space, offset, data);
+ m_palette->write8(space, offset, data);
return;
}
@@ -1756,7 +1756,7 @@ WRITE8_MEMBER(sigmab98_state::haekaka_b000_w)
case 0x67: // PALETTERAM + VTABLE + VREGS
if (offset < 0x200)
{
- m_palette->write(space, offset, data);
+ m_palette->write8(space, offset, data);
return;
}
else if ((offset >= 0x800) && (offset < 0x880))
@@ -2010,7 +2010,7 @@ WRITE8_MEMBER(sigmab98_state::itazuram_nvram_palette_w)
{
if (m_rambank == 0x64)
{
- m_palette->write(space, offset, data);
+ m_palette->write8(space, offset, data);
}
else if (m_rambank == 0x52)
{
@@ -2027,7 +2027,7 @@ WRITE8_MEMBER(sigmab98_state::itazuram_palette_w)
if (m_rombank == 0x6c)
{
if (offset < 0x200)
- m_palette->write(space, offset, data);
+ m_palette->write8(space, offset, data);
}
else
{
@@ -2256,7 +2256,7 @@ WRITE8_MEMBER(sigmab98_state::tdoboon_c000_w)
case 0x66: // PALETTERAM + VTABLE
if (offset < 0x200)
{
- m_palette->write(space, offset, data);
+ m_palette->write8(space, offset, data);
return;
}
else if ((offset >= 0x800) && (offset < 0x880))
diff --git a/src/mame/drivers/silvmil.cpp b/src/mame/drivers/silvmil.cpp
index c4830c1c4e0..3f383e33826 100644
--- a/src/mame/drivers/silvmil.cpp
+++ b/src/mame/drivers/silvmil.cpp
@@ -193,7 +193,7 @@ static ADDRESS_MAP_START( silvmil_map, AS_PROGRAM, 16, silvmil_state )
AM_RANGE(0x120000, 0x120fff) AM_RAM_WRITE(silvmil_fg_videoram_w) AM_SHARE("fg_videoram")
AM_RANGE(0x122000, 0x122fff) AM_RAM_WRITE(silvmil_bg_videoram_w) AM_SHARE("bg_videoram")
- AM_RANGE(0x200000, 0x2005ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x2005ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x210000, 0x2107ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x270000, 0x270001) AM_WRITE(silvmil_soundcmd_w)
AM_RANGE(0x280000, 0x280001) AM_READ_PORT("P1_P2")
diff --git a/src/mame/drivers/simpl156.cpp b/src/mame/drivers/simpl156.cpp
index cc90d653258..468650ce31a 100644
--- a/src/mame/drivers/simpl156.cpp
+++ b/src/mame/drivers/simpl156.cpp
@@ -226,7 +226,7 @@ static ADDRESS_MAP_START( joemacr_map, AS_PROGRAM, 32, simpl156_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x107fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_SHARE("mainram") // main ram
AM_RANGE(0x110000, 0x111fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w)
- AM_RANGE(0x120000, 0x120fff) AM_DEVREADWRITE16("palette", palette_device, read, write, 0x0000ffff) AM_SHARE("palette")
+ AM_RANGE(0x120000, 0x120fff) AM_DEVREADWRITE16("palette", palette_device, read16, write16, 0x0000ffff) AM_SHARE("palette")
AM_RANGE(0x130000, 0x130003) AM_READ_PORT("IN1") AM_WRITE(simpl156_eeprom_w)
AM_RANGE(0x140000, 0x14001f) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf_control_dword_r, pf_control_dword_w)
AM_RANGE(0x150000, 0x151fff) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf1_data_dword_r, pf1_data_dword_w)
@@ -251,7 +251,7 @@ static ADDRESS_MAP_START( chainrec_map, AS_PROGRAM, 32, simpl156_state )
AM_RANGE(0x3c0000, 0x3c0003) AM_DEVREADWRITE8("okimusic", okim6295_device, read, write, 0x000000ff)
AM_RANGE(0x400000, 0x407fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_SHARE("mainram") // main ram?
AM_RANGE(0x410000, 0x411fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w)
- AM_RANGE(0x420000, 0x420fff) AM_DEVREADWRITE16("palette", palette_device, read, write, 0x0000ffff) AM_SHARE("palette")
+ AM_RANGE(0x420000, 0x420fff) AM_DEVREADWRITE16("palette", palette_device, read16, write16, 0x0000ffff) AM_SHARE("palette")
AM_RANGE(0x430000, 0x430003) AM_READ_PORT("IN1") AM_WRITE(simpl156_eeprom_w)
AM_RANGE(0x440000, 0x44001f) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf_control_dword_r, pf_control_dword_w)
AM_RANGE(0x450000, 0x451fff) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf1_data_dword_r, pf1_data_dword_w)
@@ -273,7 +273,7 @@ static ADDRESS_MAP_START( magdrop_map, AS_PROGRAM, 32, simpl156_state )
AM_RANGE(0x340000, 0x340003) AM_DEVREADWRITE8("okimusic", okim6295_device, read, write, 0x000000ff)
AM_RANGE(0x380000, 0x387fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_SHARE("mainram") // main ram?
AM_RANGE(0x390000, 0x391fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w)
- AM_RANGE(0x3a0000, 0x3a0fff) AM_DEVREADWRITE16("palette", palette_device, read, write, 0x0000ffff) AM_SHARE("palette")
+ AM_RANGE(0x3a0000, 0x3a0fff) AM_DEVREADWRITE16("palette", palette_device, read16, write16, 0x0000ffff) AM_SHARE("palette")
AM_RANGE(0x3b0000, 0x3b0003) AM_READ_PORT("IN1") AM_WRITE(simpl156_eeprom_w)
AM_RANGE(0x3c0000, 0x3c001f) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf_control_dword_r, pf_control_dword_w)
AM_RANGE(0x3d0000, 0x3d1fff) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf1_data_dword_r, pf1_data_dword_w)
@@ -295,7 +295,7 @@ static ADDRESS_MAP_START( magdropp_map, AS_PROGRAM, 32, simpl156_state )
AM_RANGE(0x4c0000, 0x4c0003) AM_DEVREADWRITE8("okimusic", okim6295_device, read, write, 0x000000ff)
AM_RANGE(0x680000, 0x687fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_SHARE("mainram") // main ram?
AM_RANGE(0x690000, 0x691fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w)
- AM_RANGE(0x6a0000, 0x6a0fff) AM_DEVREADWRITE16("palette", palette_device, read, write, 0x0000ffff) AM_SHARE("palette")
+ AM_RANGE(0x6a0000, 0x6a0fff) AM_DEVREADWRITE16("palette", palette_device, read16, write16, 0x0000ffff) AM_SHARE("palette")
AM_RANGE(0x6b0000, 0x6b0003) AM_READ_PORT("IN1") AM_WRITE(simpl156_eeprom_w)
AM_RANGE(0x6c0000, 0x6c001f) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf_control_dword_r, pf_control_dword_w)
AM_RANGE(0x6d0000, 0x6d1fff) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf1_data_dword_r, pf1_data_dword_w)
@@ -316,7 +316,7 @@ static ADDRESS_MAP_START( mitchell156_map, AS_PROGRAM, 32, simpl156_state )
AM_RANGE(0x140000, 0x140003) AM_DEVREADWRITE8("okimusic", okim6295_device, read, write, 0x000000ff)
AM_RANGE(0x180000, 0x187fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_SHARE("mainram") // main ram
AM_RANGE(0x190000, 0x191fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w)
- AM_RANGE(0x1a0000, 0x1a0fff) AM_DEVREADWRITE16("palette", palette_device, read, write, 0x0000ffff) AM_SHARE("palette")
+ AM_RANGE(0x1a0000, 0x1a0fff) AM_DEVREADWRITE16("palette", palette_device, read16, write16, 0x0000ffff) AM_SHARE("palette")
AM_RANGE(0x1b0000, 0x1b0003) AM_READ_PORT("IN1") AM_WRITE(simpl156_eeprom_w)
AM_RANGE(0x1c0000, 0x1c001f) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf_control_dword_r, pf_control_dword_w)
AM_RANGE(0x1d0000, 0x1d1fff) AM_DEVREADWRITE("tilegen1", deco16ic_device, pf1_data_dword_r, pf1_data_dword_w)
diff --git a/src/mame/drivers/simpsons.cpp b/src/mame/drivers/simpsons.cpp
index ef1af90a889..edf5f3aee16 100644
--- a/src/mame/drivers/simpsons.cpp
+++ b/src/mame/drivers/simpsons.cpp
@@ -140,7 +140,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( bank0000_map, AS_PROGRAM, 8, simpsons_state )
AM_RANGE(0x0000, 0x0fff) AM_DEVREADWRITE("k052109", k052109_device, read, write)
- AM_RANGE(0x1000, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1000, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( bank2000_map, AS_PROGRAM, 8, simpsons_state )
diff --git a/src/mame/drivers/skullxbo.cpp b/src/mame/drivers/skullxbo.cpp
index 59750e92593..6c37e60ac7f 100644
--- a/src/mame/drivers/skullxbo.cpp
+++ b/src/mame/drivers/skullxbo.cpp
@@ -103,7 +103,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, skullxbo_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0xff0000, 0xff07ff) AM_WRITE(skullxbo_mobmsb_w)
AM_RANGE(0xff0800, 0xff0bff) AM_WRITE(skullxbo_halt_until_hblank_0_w)
- AM_RANGE(0xff0c00, 0xff0fff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0xff0c00, 0xff0fff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0xff1000, 0xff13ff) AM_WRITE(video_int_ack_w)
AM_RANGE(0xff1400, 0xff17ff) AM_DEVWRITE8("jsa", atari_jsa_ii_device, main_command_w, 0x00ff)
AM_RANGE(0xff1800, 0xff1bff) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w)
@@ -115,7 +115,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, skullxbo_state )
AM_RANGE(0xff1e80, 0xff1eff) AM_WRITE(skullxbo_xscroll_w)
AM_RANGE(0xff1f00, 0xff1f7f) AM_WRITE(scanline_int_ack_w)
AM_RANGE(0xff1f80, 0xff1fff) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
- AM_RANGE(0xff2000, 0xff2fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xff2000, 0xff2fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xff4000, 0xff47ff) AM_WRITE(skullxbo_yscroll_w) AM_SHARE("yscroll")
AM_RANGE(0xff4800, 0xff4fff) AM_WRITE(skullxbo_mobwr_w)
AM_RANGE(0xff5000, 0xff5001) AM_DEVREAD8("jsa", atari_jsa_ii_device, main_response_r, 0x00ff)
@@ -123,8 +123,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, skullxbo_state )
AM_RANGE(0xff5802, 0xff5803) AM_READ_PORT("FF5802")
AM_RANGE(0xff6000, 0xff6fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
AM_RANGE(0xff8000, 0xff9fff) AM_RAM_WRITE(playfield_latched_w) AM_SHARE("playfield")
- AM_RANGE(0xffa000, 0xffbfff) AM_RAM_DEVWRITE("playfield", tilemap_device, write_ext) AM_SHARE("playfield_ext")
- AM_RANGE(0xffc000, 0xffcf7f) AM_RAM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha")
+ AM_RANGE(0xffa000, 0xffbfff) AM_RAM_DEVWRITE("playfield", tilemap_device, write16_ext) AM_SHARE("playfield_ext")
+ AM_RANGE(0xffc000, 0xffcf7f) AM_RAM_DEVWRITE("alpha", tilemap_device, write16) AM_SHARE("alpha")
AM_RANGE(0xffcf80, 0xffcfff) AM_RAM AM_SHARE("mob:slip")
AM_RANGE(0xffd000, 0xffdfff) AM_RAM AM_SHARE("mob")
AM_RANGE(0xffe000, 0xffffff) AM_RAM
diff --git a/src/mame/drivers/slapshot.cpp b/src/mame/drivers/slapshot.cpp
index 02fb381b315..8d7cd5cd2c4 100644
--- a/src/mame/drivers/slapshot.cpp
+++ b/src/mame/drivers/slapshot.cpp
@@ -269,7 +269,7 @@ static ADDRESS_MAP_START( slapshot_map, AS_PROGRAM, 16, slapshot_state )
AM_RANGE(0x700000, 0x701fff) AM_RAM AM_SHARE("spriteext") /* debugging */
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, word_r, word_w) /* tilemaps */
AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_word_r, ctrl_word_w)
- AM_RANGE(0x900000, 0x907fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x900000, 0x907fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE8("mk48t08", timekeeper_device, read, write, 0xff00) /* nvram (only low bytes used) */
AM_RANGE(0xb00000, 0xb0001f) AM_DEVWRITE8("tc0360pri", tc0360pri_device, write, 0xff00) /* priority chip */
AM_RANGE(0xc00000, 0xc0000f) AM_DEVREADWRITE("tc0640fio", tc0640fio_device, halfword_byteswap_r, halfword_byteswap_w)
@@ -284,7 +284,7 @@ static ADDRESS_MAP_START( opwolf3_map, AS_PROGRAM, 16, slapshot_state )
AM_RANGE(0x700000, 0x701fff) AM_RAM AM_SHARE("spriteext") /* debugging */
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, word_r, word_w) /* tilemaps */
AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_word_r, ctrl_word_w)
- AM_RANGE(0x900000, 0x907fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x900000, 0x907fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE8("mk48t08", timekeeper_device, read, write, 0xff00) /* nvram (only low bytes used) */
AM_RANGE(0xb00000, 0xb0001f) AM_DEVWRITE8("tc0360pri", tc0360pri_device, write, 0xff00) /* priority chip */
AM_RANGE(0xc00000, 0xc0000f) AM_DEVREADWRITE("tc0640fio", tc0640fio_device, halfword_byteswap_r, halfword_byteswap_w)
diff --git a/src/mame/drivers/snk68.cpp b/src/mame/drivers/snk68.cpp
index 250f43346b9..ae3bab383f3 100644
--- a/src/mame/drivers/snk68.cpp
+++ b/src/mame/drivers/snk68.cpp
@@ -118,7 +118,7 @@ static ADDRESS_MAP_START( pow_map, AS_PROGRAM, 16, snk68_state )
// AM_RANGE(0x0f0008, 0x0f0009) AM_WRITENOP /* ?? */
AM_RANGE(0x100000, 0x100fff) AM_READWRITE(pow_fg_videoram_r, pow_fg_videoram_w) AM_MIRROR(0x1000) AM_SHARE("pow_fg_videoram") // 8-bit
AM_RANGE(0x200000, 0x207fff) AM_DEVREADWRITE("sprites", snk68_spr_device, spriteram_r, spriteram_w) AM_SHARE("spriteram") // only partially populated
- AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( searchar_map, AS_PROGRAM, 16, snk68_state )
@@ -140,7 +140,7 @@ static ADDRESS_MAP_START( searchar_map, AS_PROGRAM, 16, snk68_state )
AM_RANGE(0x100000, 0x107fff) AM_DEVREADWRITE("sprites", snk68_spr_device, spriteram_r, spriteram_w) AM_SHARE("spriteram") // only partially populated
AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(searchar_fg_videoram_w) AM_MIRROR(0x1000) AM_SHARE("pow_fg_videoram") /* Mirror is used by Ikari 3 */
AM_RANGE(0x300000, 0x33ffff) AM_ROM AM_REGION("user1", 0) /* Extra code bank */
- AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
/******************************************************************************/
diff --git a/src/mame/drivers/snowbros.cpp b/src/mame/drivers/snowbros.cpp
index 74edb888fbe..34bd606a683 100644
--- a/src/mame/drivers/snowbros.cpp
+++ b/src/mame/drivers/snowbros.cpp
@@ -201,7 +201,7 @@ static ADDRESS_MAP_START( snowbros_map, AS_PROGRAM, 16, snowbros_state )
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("DSW1")
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("DSW2")
AM_RANGE(0x500004, 0x500005) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x600000, 0x6001ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x600000, 0x6001ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x700000, 0x701fff) AM_DEVREADWRITE("pandora", kaneko_pandora_device, spriteram_LSB_r, spriteram_LSB_w)
AM_RANGE(0x800000, 0x800001) AM_WRITE(snowbros_irq4_ack_w) /* IRQ 4 acknowledge */
AM_RANGE(0x900000, 0x900001) AM_WRITE(snowbros_irq3_ack_w) /* IRQ 3 acknowledge */
@@ -285,7 +285,7 @@ static ADDRESS_MAP_START( wintbob_map, AS_PROGRAM, 16, snowbros_state )
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("DSW1")
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("DSW2")
AM_RANGE(0x500004, 0x500005) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x600000, 0x6001ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x600000, 0x6001ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x700000, 0x701fff) AM_RAM AM_SHARE("spriteram16b")
AM_RANGE(0x800000, 0x800001) AM_WRITE(snowbros_irq4_ack_w) /* IRQ 4 acknowledge */
AM_RANGE(0x900000, 0x900001) AM_WRITE(snowbros_irq3_ack_w) /* IRQ 3 acknowledge */
@@ -306,7 +306,7 @@ static ADDRESS_MAP_START( honeydol_map, AS_PROGRAM, 16, snowbros_state )
AM_RANGE(0x900000, 0x900001) AM_READ_PORT("DSW1")
AM_RANGE(0x900002, 0x900003) AM_READ_PORT("DSW2")
AM_RANGE(0x900004, 0x900005) AM_READ_PORT("SYSTEM")
- AM_RANGE(0xa00000, 0xa007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xa00000, 0xa007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xb00000, 0xb01fff) AM_RAM AM_SHARE("spriteram16b")
ADDRESS_MAP_END
@@ -336,7 +336,7 @@ static ADDRESS_MAP_START( twinadv_map, AS_PROGRAM, 16, snowbros_state )
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("DSW1")
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("DSW2")
AM_RANGE(0x500004, 0x500005) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x600000, 0x6001ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x600000, 0x6001ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x700000, 0x701fff) AM_RAM AM_SHARE("spriteram16b")
AM_RANGE(0x800000, 0x800001) AM_WRITE(snowbros_irq4_ack_w) /* IRQ 4 acknowledge */
AM_RANGE(0x900000, 0x900001) AM_WRITE(snowbros_irq3_ack_w) /* IRQ 3 acknowledge */
@@ -377,7 +377,7 @@ static ADDRESS_MAP_START( hyperpac_map, AS_PROGRAM, 16, snowbros_state )
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("DSW2")
AM_RANGE(0x500004, 0x500005) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x600000, 0x6001ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x600000, 0x6001ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x700000, 0x701fff) AM_DEVREADWRITE("pandora", kaneko_pandora_device, spriteram_LSB_r, spriteram_LSB_w)
AM_RANGE(0x800000, 0x800001) AM_WRITE(snowbros_irq4_ack_w) /* IRQ 4 acknowledge */
AM_RANGE(0x900000, 0x900001) AM_WRITE(snowbros_irq3_ack_w) /* IRQ 3 acknowledge */
@@ -509,7 +509,7 @@ static ADDRESS_MAP_START( snowbros3_map, AS_PROGRAM, 16, snowbros_state )
AM_RANGE( 0x500000, 0x500001) AM_READ_PORT("DSW1")
AM_RANGE( 0x500002, 0x500003) AM_READ_PORT("DSW2")
AM_RANGE( 0x500004, 0x500005) AM_READ_PORT("SYSTEM")
- AM_RANGE( 0x600000, 0x6003ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE( 0x600000, 0x6003ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE( 0x700000, 0x7021ff) AM_RAM AM_SHARE("spriteram16b")
AM_RANGE(0x800000, 0x800001) AM_WRITE(snowbros_irq4_ack_w) /* IRQ 4 acknowledge */
AM_RANGE(0x900000, 0x900001) AM_WRITE(snowbros_irq3_ack_w) /* IRQ 3 acknowledge */
@@ -528,7 +528,7 @@ static ADDRESS_MAP_START( finalttr_map, AS_PROGRAM, 16, snowbros_state )
AM_RANGE(0x500002, 0x500003) AM_READ_PORT("DSW2")
AM_RANGE(0x500004, 0x500005) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x600000, 0x6001ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x600000, 0x6001ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x700000, 0x701fff) AM_DEVREADWRITE("pandora", kaneko_pandora_device, spriteram_LSB_r, spriteram_LSB_w)
AM_RANGE(0x800000, 0x800001) AM_WRITE(snowbros_irq4_ack_w) /* IRQ 4 acknowledge */
AM_RANGE(0x900000, 0x900001) AM_WRITE(snowbros_irq3_ack_w) /* IRQ 3 acknowledge */
@@ -554,7 +554,7 @@ static ADDRESS_MAP_START( yutnori_map, AS_PROGRAM, 16, snowbros_state )
// AM_RANGE(0x400000, 0x400001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) // maybe?
AM_RANGE(0x400000, 0x400001) AM_NOP
- AM_RANGE(0x500000, 0x5001ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x500000, 0x5001ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x600000, 0x601fff) AM_DEVREADWRITE("pandora", kaneko_pandora_device, spriteram_LSB_r, spriteram_LSB_w)
diff --git a/src/mame/drivers/solomon.cpp b/src/mame/drivers/solomon.cpp
index f12d8c45dca..24af361061b 100644
--- a/src/mame/drivers/solomon.cpp
+++ b/src/mame/drivers/solomon.cpp
@@ -57,7 +57,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, solomon_state )
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(solomon_colorram2_w) AM_SHARE("colorram2")
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(solomon_videoram2_w) AM_SHARE("videoram2")
AM_RANGE(0xe000, 0xe07f) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0xe400, 0xe5ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xe400, 0xe5ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xe600, 0xe600) AM_READ_PORT("P1")
AM_RANGE(0xe601, 0xe601) AM_READ_PORT("P2")
AM_RANGE(0xe602, 0xe602) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/spbactn.cpp b/src/mame/drivers/spbactn.cpp
index e707c9d7bd3..f0685f97c7d 100644
--- a/src/mame/drivers/spbactn.cpp
+++ b/src/mame/drivers/spbactn.cpp
@@ -152,7 +152,7 @@ static ADDRESS_MAP_START( spbactn_map, AS_PROGRAM, 16, spbactn_state )
AM_RANGE(0x50000, 0x50fff) AM_RAM AM_SHARE("spvideoram")
AM_RANGE(0x60000, 0x67fff) AM_RAM_WRITE(fg_videoram_w) AM_SHARE("fgvideoram")
AM_RANGE(0x70000, 0x77fff) AM_RAM_WRITE(bg_videoram_w) AM_SHARE("bgvideoram")
- AM_RANGE(0x80000, 0x827ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x80000, 0x827ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x90000, 0x90001) AM_READ_PORT("IN0")
AM_RANGE(0x90010, 0x90011) AM_READ_PORT("IN1")
AM_RANGE(0x90020, 0x90021) AM_READ_PORT("SYSTEM")
@@ -201,7 +201,7 @@ static ADDRESS_MAP_START( spbactnp_map, AS_PROGRAM, 16, spbactn_state )
AM_RANGE(0x50000, 0x50fff) AM_RAM AM_SHARE("spvideoram")
AM_RANGE(0x60000, 0x67fff) AM_RAM_WRITE(fg_videoram_w) AM_SHARE("fgvideoram")
AM_RANGE(0x70000, 0x77fff) AM_RAM_WRITE(bg_videoram_w) AM_SHARE("bgvideoram")
- AM_RANGE(0x80000, 0x827ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // yes R and G are swapped vs. the released version
+ AM_RANGE(0x80000, 0x827ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // yes R and G are swapped vs. the released version
AM_RANGE(0x90002, 0x90003) AM_WRITE(main_irq_ack_w)
AM_RANGE(0x90006, 0x90007) AM_WRITE(spbatnp_90006_w)
diff --git a/src/mame/drivers/speedbal.cpp b/src/mame/drivers/speedbal.cpp
index 451143213b3..d810cc82c2b 100644
--- a/src/mame/drivers/speedbal.cpp
+++ b/src/mame/drivers/speedbal.cpp
@@ -59,7 +59,7 @@ static ADDRESS_MAP_START( main_cpu_map, AS_PROGRAM, 8, speedbal_state )
AM_RANGE(0xdc00, 0xdfff) AM_RAM AM_SHARE("share1") // shared with SOUND
AM_RANGE(0xe000, 0xe1ff) AM_RAM_WRITE(background_videoram_w) AM_SHARE("bg_videoram")
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(foreground_videoram_w) AM_SHARE("fg_videoram")
- AM_RANGE(0xf000, 0xf5ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xf000, 0xf5ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xf600, 0xfeff) AM_RAM
AM_RANGE(0xff00, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/speedspn.cpp b/src/mame/drivers/speedspn.cpp
index 5e2e6a86746..3637d83b705 100644
--- a/src/mame/drivers/speedspn.cpp
+++ b/src/mame/drivers/speedspn.cpp
@@ -95,7 +95,7 @@ WRITE8_MEMBER(speedspn_state::okibank_w)
static ADDRESS_MAP_START( program_map, AS_PROGRAM, 8, speedspn_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x87ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") /* RAM COLOUR */
+ AM_RANGE(0x8000, 0x87ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette") /* RAM COLOUR */
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(attram_w) AM_SHARE("attram")
AM_RANGE(0x9000, 0x9fff) AM_READWRITE(vidram_r, vidram_w) /* RAM FIX / RAM OBJECTS (selected by bit 0 of port 17) */
AM_RANGE(0xa000, 0xa7ff) AM_RAM
diff --git a/src/mame/drivers/splash.cpp b/src/mame/drivers/splash.cpp
index fa27f57e10b..3e194b08983 100644
--- a/src/mame/drivers/splash.cpp
+++ b/src/mame/drivers/splash.cpp
@@ -86,7 +86,7 @@ static ADDRESS_MAP_START( splash_map, AS_PROGRAM, 16, splash_state )
AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE(vram_w) AM_SHARE("videoram") /* Video RAM */
AM_RANGE(0x881800, 0x881803) AM_RAM AM_SHARE("vregs") /* Scroll registers */
AM_RANGE(0x881804, 0x881fff) AM_RAM /* Work RAM */
- AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")/* Palette is xRRRRxGGGGxBBBBx */
+ AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")/* Palette is xRRRRxGGGGxBBBBx */
AM_RANGE(0x900000, 0x900fff) AM_RAM AM_SHARE("spriteram") /* Sprite RAM */
AM_RANGE(0xffc000, 0xffffff) AM_RAM /* Work RAM */
ADDRESS_MAP_END
@@ -164,7 +164,7 @@ static ADDRESS_MAP_START( roldfrog_map, AS_PROGRAM, 16, splash_state )
AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE(vram_w) AM_SHARE("videoram") /* Video RAM */
AM_RANGE(0x881800, 0x881803) AM_RAM AM_SHARE("vregs") /* Scroll registers */
AM_RANGE(0x881804, 0x881fff) AM_RAM /* Work RAM */
- AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")/* Palette is xRRRRxGGGGxBBBBx */
+ AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")/* Palette is xRRRRxGGGGxBBBBx */
AM_RANGE(0xa00000, 0xa00001) AM_READ(roldfrog_bombs_r)
AM_RANGE(0xd00000, 0xd00fff) AM_RAM AM_SHARE("spriteram") /* Sprite RAM */
AM_RANGE(0xe00000, 0xe00001) AM_WRITEONLY AM_SHARE("bitmap_mode") /* Bitmap Mode? */
@@ -226,7 +226,7 @@ static ADDRESS_MAP_START( funystrp_map, AS_PROGRAM, 16, funystrp_state )
AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE(vram_w) AM_SHARE("videoram") /* Video RAM */
AM_RANGE(0x881800, 0x881803) AM_RAM AM_SHARE("vregs") /* Scroll registers */
AM_RANGE(0x881804, 0x881fff) AM_RAM
- AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")/* Palette is xRRRRxGGGGxBBBBx */
+ AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")/* Palette is xRRRRxGGGGxBBBBx */
AM_RANGE(0xd00000, 0xd01fff) AM_READWRITE(spr_read, spr_write) AM_SHARE("spriteram") /* Sprite RAM */
AM_RANGE(0xfe0000, 0xfeffff) AM_RAM AM_MIRROR(0x10000) /* there's fe0000 <-> ff0000 compare */ /* Work RAM */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/spoker.cpp b/src/mame/drivers/spoker.cpp
index 8f805ca9154..a7be3aa3c4f 100644
--- a/src/mame/drivers/spoker.cpp
+++ b/src/mame/drivers/spoker.cpp
@@ -267,8 +267,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( spoker_portmap, AS_IO, 8, spoker_state )
AM_RANGE(0x0000, 0x003f) AM_RAM // Z180 internal regs
- AM_RANGE(0x2000, 0x23ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x2400, 0x27ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x2000, 0x23ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x2400, 0x27ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x3000, 0x33ff) AM_RAM_WRITE(bg_tile_w ) AM_SHARE("bg_tile_ram")
AM_RANGE(0x5000, 0x5fff) AM_RAM_WRITE(fg_tile_w ) AM_SHARE("fg_tile_ram")
AM_RANGE(0x6480, 0x6483) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write) /* NMI and coins (w), service (r), coins (r) */
@@ -282,8 +282,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( 3super8_portmap, AS_IO, 8, spoker_state )
// AM_RANGE(0x1000, 0x1fff) AM_WRITENOP
- AM_RANGE(0x2000, 0x27ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x2800, 0x2fff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x2000, 0x27ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x2800, 0x2fff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x3000, 0x33ff) AM_RAM_WRITE(bg_tile_w ) AM_SHARE("bg_tile_ram")
AM_RANGE(0x4000, 0x4000) AM_READ_PORT( "DSW1" )
AM_RANGE(0x4001, 0x4001) AM_READ_PORT( "DSW2" )
diff --git a/src/mame/drivers/spool99.cpp b/src/mame/drivers/spool99.cpp
index b2f4a3bdb49..ac91e20904d 100644
--- a/src/mame/drivers/spool99.cpp
+++ b/src/mame/drivers/spool99.cpp
@@ -236,7 +236,7 @@ static ADDRESS_MAP_START( spool99_map, AS_PROGRAM, 8, spool99_state )
AM_RANGE(0xafef, 0xafef) AM_WRITE(eeprom_dataline_w )
AM_RANGE(0xaff8, 0xaff8) AM_DEVWRITE("oki", okim6295_device, write)
- AM_RANGE(0xb000, 0xb3ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xb000, 0xb3ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xb800, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(vram_w) AM_SHARE("vram")
@@ -282,7 +282,7 @@ static ADDRESS_MAP_START( vcarn_map, AS_PROGRAM, 8, spool99_state )
AM_RANGE(0xa747, 0xa747) AM_WRITE(eeprom_dataline_w )
AM_RANGE(0xa780, 0xa780) AM_DEVWRITE("oki", okim6295_device, write)
- AM_RANGE(0xa800, 0xabff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xa800, 0xabff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xb000, 0xdfff) AM_RAM
// AM_RANGE(0xdf00, 0xdfff) AM_READWRITE(vcarn_io_r,vcarn_io_w) AM_SHARE("vcarn_io")
diff --git a/src/mame/drivers/spy.cpp b/src/mame/drivers/spy.cpp
index 9524b1a65e3..b2ef9812eda 100644
--- a/src/mame/drivers/spy.cpp
+++ b/src/mame/drivers/spy.cpp
@@ -64,7 +64,7 @@ WRITE8_MEMBER(spy_state::spy_bankedram1_w)
{
if (m_rambank & 1)
{
- m_palette->write(space,offset,data);
+ m_palette->write8(space,offset,data);
}
else if (m_rambank & 2)
{
diff --git a/src/mame/drivers/srmp2.cpp b/src/mame/drivers/srmp2.cpp
index d140428c000..bec1df80a36 100644
--- a/src/mame/drivers/srmp2.cpp
+++ b/src/mame/drivers/srmp2.cpp
@@ -435,7 +435,7 @@ static ADDRESS_MAP_START( mjyuugi_map, AS_PROGRAM, 16, srmp2_state )
AM_RANGE(0x300000, 0x300001) AM_READ8(mjyuugi_irq4_ack_r,0x00ff) /* irq ack lv 4? */
AM_RANGE(0x500000, 0x500001) AM_READ_PORT("DSW3-1") /* DSW 3-1 */
AM_RANGE(0x500010, 0x500011) AM_READ_PORT("DSW3-2") /* DSW 3-2 */
- AM_RANGE(0x700000, 0x7003ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x700000, 0x7003ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x800000, 0x800001) AM_READNOP /* ??? */
AM_RANGE(0x900000, 0x900001) AM_READWRITE8(iox_mux_r, iox_command_w,0x00ff) /* key matrix | I/O */
AM_RANGE(0x900002, 0x900003) AM_READWRITE8(iox_status_r,iox_data_w,0x00ff)
diff --git a/src/mame/drivers/srmp5.cpp b/src/mame/drivers/srmp5.cpp
index ffc3269a664..28306598a86 100644
--- a/src/mame/drivers/srmp5.cpp
+++ b/src/mame/drivers/srmp5.cpp
@@ -374,7 +374,7 @@ static ADDRESS_MAP_START( srmp5_mem, AS_PROGRAM, 32, srmp5_state )
AM_RANGE(0x01c00000, 0x01c00003) AM_READNOP // debug? 'Toru'
AM_RANGE(0x0a000000, 0x0a0fffff) AM_READWRITE(spr_r, spr_w)
- AM_RANGE(0x0a100000, 0x0a17ffff) AM_DEVREADWRITE16("palette", palette_device, read, write, 0x0000ffff) AM_SHARE("palette")
+ AM_RANGE(0x0a100000, 0x0a17ffff) AM_DEVREADWRITE16("palette", palette_device, read16, write16, 0x0000ffff) AM_SHARE("palette")
//0?N???A?????????i??????????
AM_RANGE(0x0a180000, 0x0a180003) AM_READNOP // write 0x00000400
AM_RANGE(0x0a180000, 0x0a18011f) AM_READWRITE(srmp5_vidregs_r, srmp5_vidregs_w)
diff --git a/src/mame/drivers/srmp6.cpp b/src/mame/drivers/srmp6.cpp
index 907849a9265..bd759ede2e0 100644
--- a/src/mame/drivers/srmp6.cpp
+++ b/src/mame/drivers/srmp6.cpp
@@ -517,7 +517,7 @@ WRITE16_MEMBER(srmp6_state::paletteram_w)
int8_t r, g, b;
int brg = m_brightness - 0x60;
- m_palette->write(space, offset, data, mem_mask);
+ m_palette->write16(space, offset, data, mem_mask);
if(brg)
{
diff --git a/src/mame/drivers/srumbler.cpp b/src/mame/drivers/srumbler.cpp
index 1cc161ba0c1..61b67ac0f8d 100644
--- a/src/mame/drivers/srumbler.cpp
+++ b/src/mame/drivers/srumbler.cpp
@@ -96,7 +96,7 @@ static ADDRESS_MAP_START( srumbler_map, AS_PROGRAM, 8, srumbler_state )
AM_RANGE(0x6000, 0x6fff) AM_ROMBANK("6000") /* Banked ROM */
AM_RANGE(0x6000, 0x6fff) AM_WRITENOP /* Video RAM 2 ??? (not used) */
AM_RANGE(0x7000, 0x7fff) AM_ROMBANK("7000") /* Banked ROM */
- AM_RANGE(0x7000, 0x73ff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x7000, 0x73ff) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x8000, 0x8fff) AM_ROMBANK("8000") /* Banked ROM */
AM_RANGE(0x9000, 0x9fff) AM_ROMBANK("9000") /* Banked ROM */
AM_RANGE(0xa000, 0xafff) AM_ROMBANK("a000") /* Banked ROM */
diff --git a/src/mame/drivers/sslam.cpp b/src/mame/drivers/sslam.cpp
index 70173c509b0..0bdaa8defa3 100644
--- a/src/mame/drivers/sslam.cpp
+++ b/src/mame/drivers/sslam.cpp
@@ -382,7 +382,7 @@ static ADDRESS_MAP_START( sslam_program_map, AS_PROGRAM, 16, sslam_state )
AM_RANGE(0x108000, 0x10ffff) AM_RAM_WRITE(sslam_tx_tileram_w) AM_SHARE("tx_tileram")
AM_RANGE(0x110000, 0x11000d) AM_RAM AM_SHARE("regs")
AM_RANGE(0x200000, 0x200001) AM_WRITENOP
- AM_RANGE(0x280000, 0x280fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x280000, 0x280fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x201000, 0x201fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x304000, 0x304001) AM_WRITENOP
AM_RANGE(0x300010, 0x300011) AM_READ_PORT("IN0")
@@ -405,7 +405,7 @@ static ADDRESS_MAP_START( powerbls_map, AS_PROGRAM, 16, sslam_state )
AM_RANGE(0x110000, 0x11000d) AM_RAM AM_SHARE("regs")
AM_RANGE(0x200000, 0x200001) AM_WRITENOP
AM_RANGE(0x201000, 0x201fff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x280000, 0x2803ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x280000, 0x2803ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300010, 0x300011) AM_READ_PORT("IN0")
AM_RANGE(0x300012, 0x300013) AM_READ_PORT("IN1")
AM_RANGE(0x300014, 0x300015) AM_READ_PORT("IN2")
diff --git a/src/mame/drivers/ssv.cpp b/src/mame/drivers/ssv.cpp
index b8acd2bbebc..62d8fac4d43 100644
--- a/src/mame/drivers/ssv.cpp
+++ b/src/mame/drivers/ssv.cpp
@@ -400,7 +400,7 @@ READ16_MEMBER(ssv_state::fake_r){ return ssv_scroll[offset]; }
#define SSV_MAP( _ROM ) \
AM_RANGE(0x000000, 0x00ffff) AM_RAM AM_SHARE("mainram") /* RAM */ \
AM_RANGE(0x100000, 0x13ffff) AM_RAM AM_SHARE("spriteram") /* Sprites */ \
- AM_RANGE(0x140000, 0x15ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") /* Palette */\
+ AM_RANGE(0x140000, 0x15ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") /* Palette */\
AM_RANGE(0x160000, 0x17ffff) AM_RAM /* */ \
AM_RANGE(0x1c0000, 0x1c0001) AM_READ(vblank_r ) /* Vblank? */ \
/**/AM_RANGE(0x1c0002, 0x1c007f) AM_READONLY /* Scroll */ \
diff --git a/src/mame/drivers/stadhero.cpp b/src/mame/drivers/stadhero.cpp
index 1eebb66324f..216e9ed2382 100644
--- a/src/mame/drivers/stadhero.cpp
+++ b/src/mame/drivers/stadhero.cpp
@@ -63,7 +63,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, stadhero_state )
AM_RANGE(0x30c002, 0x30c003) AM_READ_PORT("COIN")
AM_RANGE(0x30c004, 0x30c005) AM_READ_PORT("DSW")
AM_RANGE(0x30c000, 0x30c00b) AM_WRITE(stadhero_control_w)
- AM_RANGE(0x310000, 0x3107ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x310000, 0x3107ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xff8000, 0xffbfff) AM_RAM /* Main ram */
AM_RANGE(0xffc000, 0xffc7ff) AM_MIRROR(0x000800) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/stfight.cpp b/src/mame/drivers/stfight.cpp
index 94fc9a6459e..676dae1fdaa 100644
--- a/src/mame/drivers/stfight.cpp
+++ b/src/mame/drivers/stfight.cpp
@@ -270,8 +270,8 @@ TODO:
static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8, stfight_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("mainbank") /* sf02.bin */
- AM_RANGE(0xc000, 0xc0ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0xc100, 0xc1ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0xc000, 0xc0ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0xc100, 0xc1ff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0xc200, 0xc200) AM_READ_PORT("P1")
AM_RANGE(0xc201, 0xc201) AM_READ_PORT("P2")
AM_RANGE(0xc202, 0xc202) AM_READ_PORT("START")
diff --git a/src/mame/drivers/stlforce.cpp b/src/mame/drivers/stlforce.cpp
index 8dbfcf076e1..5e5d6645ac3 100644
--- a/src/mame/drivers/stlforce.cpp
+++ b/src/mame/drivers/stlforce.cpp
@@ -103,7 +103,7 @@ static ADDRESS_MAP_START( stlforce_map, AS_PROGRAM, 16, stlforce_state )
AM_RANGE(0x103400, 0x1037ff) AM_RAM AM_SHARE("mlow_scrollram")
AM_RANGE(0x103800, 0x103bff) AM_RAM AM_SHARE("mhigh_scrollram")
AM_RANGE(0x103c00, 0x103fff) AM_RAM AM_SHARE("vidattrram")
- AM_RANGE(0x104000, 0x104fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x104000, 0x104fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x105000, 0x107fff) AM_RAM /* unknown / ram */
AM_RANGE(0x108000, 0x108fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x109000, 0x11ffff) AM_RAM
diff --git a/src/mame/drivers/suna8.cpp b/src/mame/drivers/suna8.cpp
index 58cf5539e41..a222c77c018 100644
--- a/src/mame/drivers/suna8.cpp
+++ b/src/mame/drivers/suna8.cpp
@@ -562,7 +562,7 @@ static ADDRESS_MAP_START( hardhead_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, 0xd7ff) AM_RAM // RAM
- AM_RANGE(0xd800, 0xd9ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0xd800, 0xd9ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette") // Palette
AM_RANGE(0xda00, 0xda00) AM_RAM_READ(hardhead_ip_r) AM_SHARE("hardhead_ip") // Input Port Select
AM_RANGE(0xda80, 0xda80) AM_DEVREAD("soundlatch2", generic_latch_8_device, read) AM_WRITE(hardhead_bankswitch_w ) // ROM Banking
AM_RANGE(0xdb00, 0xdb00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write) // To Sound CPU
@@ -637,7 +637,7 @@ static ADDRESS_MAP_START( rranger_map, AS_PROGRAM, 8, suna8_state )
AM_RANGE(0xc280, 0xc280) AM_WRITENOP // ? NMI Ack
AM_RANGE(0xc280, 0xc280) AM_READ_PORT("DSW1") // DSW 1
AM_RANGE(0xc2c0, 0xc2c0) AM_READ_PORT("DSW2") // DSW 2
- AM_RANGE(0xc600, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0xc600, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette") // Palette
AM_RANGE(0xc800, 0xdfff) AM_RAM // Work RAM
AM_RANGE(0xe000, 0xffff) AM_RAM_WRITE(suna8_spriteram_w) AM_SHARE("spriteram") // Sprites
ADDRESS_MAP_END
@@ -1009,7 +1009,7 @@ static ADDRESS_MAP_START( hardhea2_map, AS_PROGRAM, 8, suna8_state )
AM_RANGE(0xc533, 0xc533) AM_WRITE(hardhea2_rambank_0_w )
// Protection ***
- AM_RANGE(0xc600, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0xc600, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette") // Palette
AM_RANGE(0xc800, 0xdfff) AM_RAMBANK("bank2") // Work RAM (Banked)
AM_RANGE(0xe000, 0xffff) AM_READWRITE(suna8_banked_spriteram_r, suna8_banked_spriteram_w) // Sprites (Banked)
ADDRESS_MAP_END
@@ -1113,7 +1113,7 @@ static ADDRESS_MAP_START( starfigh_map, AS_PROGRAM, 8, suna8_state )
AM_RANGE(0xc500, 0xc500) AM_WRITE(starfigh_sound_latch_w ) // To Sound CPU (can be disabled)
// (c522 + R & 0x1f) write?
- AM_RANGE(0xc600, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0xc600, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette") // Palette
AM_RANGE(0xc800, 0xdfff) AM_RAM // Work RAM
AM_RANGE(0xe000, 0xffff) AM_READWRITE(suna8_banked_spriteram_r, suna8_banked_spriteram_w) // Sprites (Banked)
ADDRESS_MAP_END
@@ -1241,7 +1241,7 @@ static ADDRESS_MAP_START( sparkman_map, AS_PROGRAM, 8, suna8_state )
AM_RANGE(0xc480, 0xc480) AM_WRITE(sparkman_coin_counter_w ) // Coin Counter
AM_RANGE(0xc500, 0xc57f) AM_WRITE(starfigh_sound_latch_w ) // To Sound CPU (can be disabled)
- AM_RANGE(0xc600, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0xc600, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette") // Palette
AM_RANGE(0xc800, 0xdfff) AM_RAM_WRITE(suna8_wram_w) AM_SHARE("wram") // RAM
AM_RANGE(0xe000, 0xffff) AM_READWRITE(suna8_banked_spriteram_r, suna8_banked_spriteram_w) // Sprites (Banked)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/supbtime.cpp b/src/mame/drivers/supbtime.cpp
index db24b000ea7..9349fd66f02 100644
--- a/src/mame/drivers/supbtime.cpp
+++ b/src/mame/drivers/supbtime.cpp
@@ -118,7 +118,7 @@ static ADDRESS_MAP_START( supbtime_map, AS_PROGRAM, 16, supbtime_state )
AM_RANGE(0x104000, 0x11ffff) AM_WRITENOP // Nothing there
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x120800, 0x13ffff) AM_WRITENOP // Nothing there
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("INPUTS")
AM_RANGE(0x180002, 0x180003) AM_READ_PORT("DSW")
AM_RANGE(0x180008, 0x180009) AM_READ_PORT("SYSTEM")
@@ -136,7 +136,7 @@ static ADDRESS_MAP_START( chinatwn_map, AS_PROGRAM, 16, supbtime_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("INPUTS")
AM_RANGE(0x180002, 0x180003) AM_READ_PORT("DSW")
AM_RANGE(0x180008, 0x180009) AM_READ_PORT("SYSTEM")
@@ -157,7 +157,7 @@ static ADDRESS_MAP_START( tumblep_map, AS_PROGRAM, 16, supbtime_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x120000, 0x123fff) AM_RAM
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("INPUTS")
AM_RANGE(0x180002, 0x180003) AM_READ_PORT("DSW")
AM_RANGE(0x180008, 0x180009) AM_READ_PORT("SYSTEM")
diff --git a/src/mame/drivers/supduck.cpp b/src/mame/drivers/supduck.cpp
index df071869d3f..add713d2735 100644
--- a/src/mame/drivers/supduck.cpp
+++ b/src/mame/drivers/supduck.cpp
@@ -257,7 +257,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, supduck_state )
AM_RANGE(0xfec000, 0xfecfff) AM_RAM_WRITE(text_videoram_w) AM_SHARE("textvideoram")
AM_RANGE(0xff0000, 0xff3fff) AM_RAM_WRITE(back_videoram_w) AM_SHARE("backvideoram")
AM_RANGE(0xff4000, 0xff7fff) AM_RAM_WRITE(fore_videoram_w) AM_SHARE("forevideoram")
- AM_RANGE(0xff8000, 0xff87ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xff8000, 0xff87ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xffc000, 0xffffff) AM_RAM /* working RAM */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/superchs.cpp b/src/mame/drivers/superchs.cpp
index 4dc7ee82093..b36477f516d 100644
--- a/src/mame/drivers/superchs.cpp
+++ b/src/mame/drivers/superchs.cpp
@@ -138,7 +138,7 @@ static ADDRESS_MAP_START( superchs_map, AS_PROGRAM, 32, superchs_state )
AM_RANGE(0x1b0000, 0x1b002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_long_r, ctrl_long_w)
AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("shared_ram")
AM_RANGE(0x240000, 0x240003) AM_WRITE(cpua_ctrl_w)
- AM_RANGE(0x280000, 0x287fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x280000, 0x287fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x2c0000, 0x2c07ff) AM_DEVREADWRITE8("taito_en:dpram", mb8421_device, left_r, left_w, 0xffffffff)
AM_RANGE(0x300000, 0x300007) AM_DEVREADWRITE8("tc0510nio", tc0510nio_device, read, write, 0xffffffff)
AM_RANGE(0x340000, 0x340003) AM_READWRITE(superchs_stick_r, superchs_stick_w) /* stick int request */
diff --git a/src/mame/drivers/superqix.cpp b/src/mame/drivers/superqix.cpp
index 3614167c199..1c15dbccfe0 100644
--- a/src/mame/drivers/superqix.cpp
+++ b/src/mame/drivers/superqix.cpp
@@ -990,7 +990,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, superqix_state_base )
ADDRESS_MAP_END
static ADDRESS_MAP_START( pbillian_port_map, AS_IO, 8, hotsmash_state ) // used by both pbillian and hotsmash
- AM_RANGE(0x0000, 0x01ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // 6116 sram near the jamma connector, "COLOR RAM" during POST
+ AM_RANGE(0x0000, 0x01ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette") // 6116 sram near the jamma connector, "COLOR RAM" during POST
//AM_RANGE(0x0200, 0x03ff) AM_RAM // looks like leftover crap from a dev board which had double the color ram? zeroes written here, never read.
AM_RANGE(0x0401, 0x0401) AM_DEVREAD("ay1", ay8910_device, data_r) // ay i/o ports connect to "SYSTEM" and "BUTTONS" inputs which includes mcu semaphore flags
AM_RANGE(0x0402, 0x0403) AM_DEVWRITE("ay1", ay8910_device, data_address_w)
@@ -1003,7 +1003,7 @@ static ADDRESS_MAP_START( pbillian_port_map, AS_IO, 8, hotsmash_state ) // used
ADDRESS_MAP_END
static ADDRESS_MAP_START( sqix_port_map, AS_IO, 8, superqix_state )
- AM_RANGE(0x0000, 0x00ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0000, 0x00ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x0401, 0x0401) AM_DEVREAD("ay1", ay8910_device, data_r)
AM_RANGE(0x0402, 0x0402) AM_DEVWRITE("ay1", ay8910_device, data_w)
AM_RANGE(0x0403, 0x0403) AM_WRITE(z80_ay1_sync_address_w) // sync on address write, so semaphores are accurately read
diff --git a/src/mame/drivers/supracan.cpp b/src/mame/drivers/supracan.cpp
index f7a7f6ddd14..761a012ce88 100644
--- a/src/mame/drivers/supracan.cpp
+++ b/src/mame/drivers/supracan.cpp
@@ -1128,7 +1128,7 @@ static ADDRESS_MAP_START( supracan_mem, AS_PROGRAM, 16, supracan_state )
AM_RANGE( 0xe90030, 0xe9003f ) AM_WRITE(dma_channel1_w)
AM_RANGE( 0xf00000, 0xf001ff ) AM_READWRITE(video_r, video_w)
- AM_RANGE( 0xf00200, 0xf003ff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE( 0xf00200, 0xf003ff ) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE( 0xf40000, 0xf5ffff ) AM_RAM_WRITE(vram_w) AM_SHARE("vram")
AM_RANGE( 0xfc0000, 0xfcffff ) AM_MIRROR(0x30000) AM_RAM /* System work ram */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/suprslam.cpp b/src/mame/drivers/suprslam.cpp
index 172df26e98a..05178d763b2 100644
--- a/src/mame/drivers/suprslam.cpp
+++ b/src/mame/drivers/suprslam.cpp
@@ -113,7 +113,7 @@ static ADDRESS_MAP_START( suprslam_map, AS_PROGRAM, 16, suprslam_state )
AM_RANGE(0xff3000, 0xff3001) AM_WRITENOP // sprite buffer trigger?
AM_RANGE(0xff8000, 0xff8fff) AM_DEVREADWRITE("k053936", k053936_device, linectrl_r, linectrl_w)
AM_RANGE(0xff9000, 0xff9001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
- AM_RANGE(0xffa000, 0xffafff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xffa000, 0xffafff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xffd000, 0xffd01f) AM_DEVWRITE("k053936", k053936_device, ctrl_w)
AM_RANGE(0xffe000, 0xffe001) AM_WRITE(suprslam_bank_w)
AM_RANGE(0xfff000, 0xfff01f) AM_DEVREADWRITE8("io", vs9209_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/surpratk.cpp b/src/mame/drivers/surpratk.cpp
index a7c8412cd49..c94a88a46d3 100644
--- a/src/mame/drivers/surpratk.cpp
+++ b/src/mame/drivers/surpratk.cpp
@@ -79,7 +79,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( bank0000_map, AS_PROGRAM, 8, surpratk_state )
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0fff) AM_DEVREADWRITE("k053244", k05324x_device, k053245_r, k053245_w)
- AM_RANGE(0x1000, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1000, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tail2nos.cpp b/src/mame/drivers/tail2nos.cpp
index cdd1bf8a2f8..9402c3e9c56 100644
--- a/src/mame/drivers/tail2nos.cpp
+++ b/src/mame/drivers/tail2nos.cpp
@@ -46,7 +46,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, tail2nos_state )
AM_RANGE(0xffc000, 0xffc2ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xffc300, 0xffcfff) AM_RAM
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(tail2nos_txvideoram_w) AM_SHARE("txvideoram")
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0") AM_WRITE8(tail2nos_gfxbank_w, 0x00ff)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1")
AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW")
diff --git a/src/mame/drivers/taito_b.cpp b/src/mame/drivers/taito_b.cpp
index e3ee1e7cb06..a822ebed452 100644
--- a/src/mame/drivers/taito_b.cpp
+++ b/src/mame/drivers/taito_b.cpp
@@ -468,7 +468,7 @@ WRITE16_MEMBER(taitob_state::realpunc_output_w)
static ADDRESS_MAP_START( rastsag2_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x600000, 0x607fff) AM_RAM /* Main RAM */ /*ashura up to 603fff only*/
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x800000, 0x800001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
@@ -483,7 +483,7 @@ static ADDRESS_MAP_START( crimec_map, AS_PROGRAM, 16, taitob_state )
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x600000, 0x600001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x600002, 0x600003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
- AM_RANGE(0x800000, 0x801fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x800000, 0x801fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xa00000, 0xa0ffff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -495,12 +495,12 @@ static ADDRESS_MAP_START( tetrist_map, AS_PROGRAM, 16, taitob_state )
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x600000, 0x60000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0xff00)
AM_RANGE(0x800000, 0x807fff) AM_RAM /* Main RAM */
- AM_RANGE(0xa00000, 0xa01fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xa00000, 0xa01fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( tetrista_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x600000, 0x600003) AM_DEVREADWRITE8("tc0040ioc", tc0040ioc_device, read, write, 0xff00)
AM_RANGE(0x800000, 0x803fff) AM_RAM /* Main RAM */
@@ -517,7 +517,7 @@ static ADDRESS_MAP_START( hitice_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x700000, 0x700001) AM_READNOP AM_DEVWRITE8("ciu", pc060ha_device, master_port_w, 0xff00)
AM_RANGE(0x700002, 0x700003) AM_DEVREADWRITE8("ciu", pc060ha_device, master_comm_r, master_comm_w, 0xff00)
AM_RANGE(0x800000, 0x803fff) AM_RAM /* Main RAM */
- AM_RANGE(0xa00000, 0xa01fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xa00000, 0xa01fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xb00000, 0xb7ffff) AM_RAM_WRITE(hitice_pixelram_w) AM_SHARE("pixelram")
AM_RANGE(0xbffff0, 0xbffff5) AM_WRITE(hitice_pixel_scroll_w)
// { 0xbffffa, 0xbffffb, ???
@@ -539,7 +539,7 @@ static ADDRESS_MAP_START( rambo3_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x60001c, 0x60001d) AM_READ(trackx2_lo_r)
AM_RANGE(0x60001e, 0x60001f) AM_READ(trackx2_hi_r)
AM_RANGE(0x800000, 0x803fff) AM_RAM /* Main RAM */
- AM_RANGE(0xa00000, 0xa01fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xa00000, 0xa01fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
@@ -554,7 +554,7 @@ static ADDRESS_MAP_START( pbobble_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x600000, 0x600003) AM_WRITE(gain_control_w)
AM_RANGE(0x700000, 0x700001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x700002, 0x700003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
- AM_RANGE(0x800000, 0x801fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x800000, 0x801fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x900000, 0x90ffff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -570,7 +570,7 @@ static ADDRESS_MAP_START( spacedx_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x600000, 0x600003) AM_WRITE(gain_control_w)
AM_RANGE(0x700000, 0x700001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x700002, 0x700003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
- AM_RANGE(0x800000, 0x801fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x800000, 0x801fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x900000, 0x90ffff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -582,7 +582,7 @@ static ADDRESS_MAP_START( spacedxo_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x210000, 0x210001) AM_READ_PORT("IN3")
AM_RANGE(0x220000, 0x220001) AM_READ_PORT("IN4")
AM_RANGE(0x230000, 0x230001) AM_READ_PORT("IN5")
- AM_RANGE(0x300000, 0x301fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x302000, 0x303fff) AM_READONLY
AM_RANGE(0x400000, 0x40ffff) AM_RAM /* Main RAM */
TC0180VCU_MEMRW( 0x500000 )
@@ -600,7 +600,7 @@ static ADDRESS_MAP_START( qzshowby_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x600000, 0x600001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x600002, 0x600003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
AM_RANGE(0x700000, 0x700003) AM_WRITE(gain_control_w)
- AM_RANGE(0x800000, 0x801fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x800000, 0x801fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x900000, 0x90ffff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -610,7 +610,7 @@ static ADDRESS_MAP_START( viofight_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x200000, 0x200001) AM_READNOP AM_DEVWRITE8("ciu", pc060ha_device, master_port_w, 0xff00)
AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8("ciu", pc060ha_device, master_comm_r, master_comm_w, 0xff00)
TC0180VCU_MEMRW( 0x400000 )
- AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x800000, 0x80000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0xff00)
AM_RANGE(0xa00000, 0xa03fff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -620,7 +620,7 @@ static ADDRESS_MAP_START( masterw_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x203fff) AM_RAM /* Main RAM */
TC0180VCU_MEMRW( 0x400000 )
- AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x800000, 0x800003) AM_DEVREADWRITE8("tc0040ioc", tc0040ioc_device, read, write, 0xff00)
AM_RANGE(0xa00000, 0xa00001) AM_READNOP AM_DEVWRITE8("ciu", pc060ha_device, master_port_w, 0xff00)
AM_RANGE(0xa00002, 0xa00003) AM_DEVREADWRITE8("ciu", pc060ha_device, master_comm_r, master_comm_w, 0xff00)
@@ -639,7 +639,7 @@ static ADDRESS_MAP_START( silentd_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x230000, 0x230001) AM_READ_PORT("IN5")
AM_RANGE(0x240000, 0x240001) AM_WRITENOP // ???
// AM_RANGE(0x240000, 0x240001) AM_READNOP /* read 4 times at init */
- AM_RANGE(0x300000, 0x301fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x400000, 0x403fff) AM_RAM /* Main RAM */
TC0180VCU_MEMRW( 0x500000 )
ADDRESS_MAP_END
@@ -649,7 +649,7 @@ static ADDRESS_MAP_START( selfeena_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM /* Main RAM */
TC0180VCU_MEMRW( 0x200000 )
- AM_RANGE(0x300000, 0x301fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x400000, 0x40000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0xff00)
AM_RANGE(0x410000, 0x41000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0xff00) /* mirror address - seems to be only used for coin control */
AM_RANGE(0x500000, 0x500001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
@@ -660,7 +660,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sbm_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* Main RAM */
- AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_wordswap_r, halfword_wordswap_w)
AM_RANGE(0x320000, 0x320001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
@@ -678,9 +678,9 @@ static ADDRESS_MAP_START( realpunc_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x188002, 0x188003) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_comm_w, 0xff00)
AM_RANGE(0x18c000, 0x18c001) AM_WRITE(realpunc_output_w)
TC0180VCU_MEMRW( 0x200000 )
- AM_RANGE(0x280000, 0x281fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x300000, 0x300001) AM_DEVREADWRITE("hd63484", hd63484_device, status_r, address_w)
- AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE("hd63484", hd63484_device, data_r, data_w)
+ AM_RANGE(0x280000, 0x281fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
+ AM_RANGE(0x300000, 0x300001) AM_DEVREADWRITE("hd63484", hd63484_device, status16_r, address16_w)
+ AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE("hd63484", hd63484_device, data16_r, data16_w)
// AM_RANGE(0x320000, 0x320001) AM_NOP // ?
AM_RANGE(0x320002, 0x320003) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_comm_w, 0xff00)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/taito_f2.cpp b/src/mame/drivers/taito_f2.cpp
index c2cb7773a32..97efaa00604 100644
--- a/src/mame/drivers/taito_f2.cpp
+++ b/src/mame/drivers/taito_f2.cpp
@@ -636,7 +636,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( dondokod_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0x00ff)
AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
@@ -656,7 +656,7 @@ static ADDRESS_MAP_START( megab_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x180000, 0x1807ff) AM_DEVREADWRITE8("cchip", taito_cchip_device, mem_r, mem_w, 0x00ff)
AM_RANGE(0x180800, 0x180fff) AM_DEVREADWRITE8("cchip", taito_cchip_device, asic_r, asic_w, 0x00ff)
AM_RANGE(0x200000, 0x20ffff) AM_RAM
- AM_RANGE(0x300000, 0x301fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x400000, 0x40001f) AM_DEVWRITE8("tc0360pri", tc0360pri_device, write, 0x00ff) /* ?? */
AM_RANGE(0x600000, 0x60ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
AM_RANGE(0x610000, 0x61ffff) AM_RAM /* unused? */
@@ -666,7 +666,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( thundfox_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x100000, 0x101fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x100000, 0x101fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0x00ff)
AM_RANGE(0x220000, 0x220001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x220002, 0x220003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
@@ -682,7 +682,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cameltry_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0x00ff)
AM_RANGE(0x300018, 0x30001f) AM_READ(cameltry_paddle_r)
AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
@@ -698,7 +698,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cameltrya_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0x00ff)
AM_RANGE(0x300018, 0x30001f) AM_READ(cameltry_paddle_r)
AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8("ciu", pc060ha_device, master_port_w, 0xff00)
@@ -727,7 +727,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( liquidk_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0x00ff)
AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0x00ff)
AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0x00ff)
@@ -762,7 +762,7 @@ static ADDRESS_MAP_START( ssi_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
AM_RANGE(0x200000, 0x20ffff) AM_RAM
- AM_RANGE(0x300000, 0x301fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
// AM_RANGE(0x500000, 0x500001) AM_WRITENOP /* ?? */
@@ -774,7 +774,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( gunfront_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_wordswap_r, halfword_wordswap_w)
AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
@@ -788,7 +788,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( growl_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300004, 0x300005) AM_WRITE(growl_coin_word_w)
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("DSWA")
AM_RANGE(0x300002, 0x300003) AM_READ_PORT("DSWB")
@@ -834,7 +834,7 @@ static ADDRESS_MAP_START( footchmp_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x400000, 0x40ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, word_r, word_w) /* tilemaps */
AM_RANGE(0x430000, 0x43002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_word_r, ctrl_word_w)
AM_RANGE(0x500000, 0x50001f) AM_DEVWRITE8("tc0360pri", tc0360pri_device, write, 0x00ff) /* 500002 written like a watchdog?! */
- AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x700000, 0x70001f) AM_DEVREADWRITE8("te7750", te7750_device, read, write, 0x00ff)
AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE("watchdog", watchdog_timer_device, reset16_r, reset16_w) /* ??? */
AM_RANGE(0xa00000, 0xa00001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0x00ff)
@@ -844,7 +844,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( koshien_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
@@ -863,7 +863,7 @@ static ADDRESS_MAP_START( yuyugogo_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0xa00000, 0xa01fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xa00000, 0xa01fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xb00000, 0xb10fff) AM_RAM /* deliberate writes to $b10xxx, I think */
AM_RANGE(0xc00000, 0xc01fff) AM_WRITE(taitof2_sprite_extension_w) AM_SHARE("sprite_ext")
AM_RANGE(0xd00000, 0xdfffff) AM_ROM AM_REGION("extra", 0)
@@ -872,7 +872,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ninjak_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300000, 0x30001f) AM_DEVREADWRITE8("te7750", te7750_device, read, write, 0xff00)
AM_RANGE(0x380000, 0x380001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) /* ??? */
AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
@@ -887,7 +887,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( solfigtr_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
- AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x201fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300004, 0x300005) AM_WRITE(growl_coin_word_w) /* NOT VERIFIED */
AM_RANGE(0x300000, 0x300001) AM_READ_PORT("DSWA")
AM_RANGE(0x300002, 0x300003) AM_READ_PORT("DSWB")
@@ -910,7 +910,7 @@ static ADDRESS_MAP_START( qzquest_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
AM_RANGE(0x300000, 0x300001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0x00ff)
AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0x00ff)
- AM_RANGE(0x400000, 0x401fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x401fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x500000, 0x50ffff) AM_RAM
AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x700000, 0x70ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
@@ -926,7 +926,7 @@ static ADDRESS_MAP_START( pulirula_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x402000, 0x40200f) AM_DEVWRITE("tc0430grw", tc0280grd_device, tc0430grw_ctrl_word_w)
// AM_RANGE(0x500000, 0x500001) AM_WRITENOP /* ??? */
AM_RANGE(0x600000, 0x603fff) AM_WRITE(taitof2_sprite_extension_w) AM_SHARE("sprite_ext")
- AM_RANGE(0x700000, 0x701fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
@@ -942,7 +942,7 @@ static ADDRESS_MAP_START( metalb_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x500000, 0x50ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, word_r, word_w) /* tilemaps */
AM_RANGE(0x530000, 0x53002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_word_r, ctrl_word_w)
AM_RANGE(0x600000, 0x60001f) AM_DEVWRITE8("tc0360pri", tc0360pri_device, write, 0x00ff)
- AM_RANGE(0x700000, 0x703fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x700000, 0x703fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x800000, 0x80000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_wordswap_r, halfword_wordswap_w)
AM_RANGE(0x900000, 0x900001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x900002, 0x900003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
@@ -954,7 +954,7 @@ static ADDRESS_MAP_START( qzchikyu_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
AM_RANGE(0x300000, 0x300001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0x00ff)
AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0x00ff)
- AM_RANGE(0x400000, 0x401fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x401fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x500000, 0x50ffff) AM_RAM
AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x700000, 0x70ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
@@ -967,7 +967,7 @@ static ADDRESS_MAP_START( yesnoj_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x500000, 0x50ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
AM_RANGE(0x520000, 0x52000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
- AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x700000, 0x70001f) AM_DEVREADWRITE8("rtc", tc8521_device, read, write, 0x00ff)
AM_RANGE(0x800000, 0x800001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
@@ -989,7 +989,7 @@ static ADDRESS_MAP_START( deadconx_map, AS_PROGRAM, 16, taitof2_state )
// AM_RANGE(0x42000c, 0x42000f) AM_WRITENOP /* zeroed */
AM_RANGE(0x430000, 0x43002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_word_r, ctrl_word_w)
AM_RANGE(0x500000, 0x50001f) AM_DEVWRITE8("tc0360pri", tc0360pri_device, write, 0x00ff) /* uses 500002 like a watchdog !? */
- AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x700000, 0x70001f) AM_DEVREADWRITE8("te7750", te7750_device, read, write, 0x00ff)
AM_RANGE(0x800000, 0x800001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) /* ??? */
AM_RANGE(0xa00000, 0xa00001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
@@ -1000,7 +1000,7 @@ static ADDRESS_MAP_START( dinorex_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x2fffff) AM_ROM
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE("tc0510nio", tc0510nio_device, halfword_r, halfword_w)
AM_RANGE(0x400000, 0x400fff) AM_WRITE(taitof2_sprite_extension_w) AM_SHARE("sprite_ext")
- AM_RANGE(0x500000, 0x501fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x500000, 0x501fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x600000, 0x60ffff) AM_RAM
AM_RANGE(0x700000, 0x70001f) AM_DEVWRITE8("tc0360pri", tc0360pri_device, write, 0x00ff) /* ?? */
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_SHARE("spriteram")
@@ -1018,7 +1018,7 @@ static ADDRESS_MAP_START( qjinsei_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x300000, 0x30ffff) AM_RAM
AM_RANGE(0x500000, 0x500001) AM_WRITENOP /* watchdog ? */
AM_RANGE(0x600000, 0x603fff) AM_WRITE(taitof2_sprite_extension_w) AM_SHARE("sprite_ext")
- AM_RANGE(0x700000, 0x701fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
@@ -1034,7 +1034,7 @@ static ADDRESS_MAP_START( qcrayon_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x500000, 0x500001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0xff00)
AM_RANGE(0x500002, 0x500003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0xff00)
AM_RANGE(0x600000, 0x603fff) AM_WRITE(taitof2_sprite_extension_w) AM_SHARE("sprite_ext")
- AM_RANGE(0x700000, 0x701fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
@@ -1045,7 +1045,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( qcrayon2_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM
- AM_RANGE(0x300000, 0x301fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x300000, 0x301fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x500000, 0x50ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
AM_RANGE(0x520000, 0x52000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
@@ -1064,7 +1064,7 @@ static ADDRESS_MAP_START( driftout_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x300000, 0x30ffff) AM_RAM
AM_RANGE(0x400000, 0x401fff) AM_DEVREADWRITE("tc0430grw", tc0280grd_device, tc0430grw_word_r, tc0430grw_word_w) /* ROZ tilemap */
AM_RANGE(0x402000, 0x40200f) AM_DEVWRITE("tc0430grw", tc0280grd_device, tc0430grw_ctrl_word_w)
- AM_RANGE(0x700000, 0x701fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
@@ -1081,7 +1081,7 @@ static ADDRESS_MAP_START( driveout_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x300000, 0x30ffff) AM_RAM
AM_RANGE(0x400000, 0x401fff) AM_DEVREADWRITE("tc0430grw", tc0280grd_device, tc0430grw_word_r, tc0430grw_word_w) /* ROZ tilemap */
AM_RANGE(0x402000, 0x40200f) AM_DEVWRITE("tc0430grw", tc0280grd_device, tc0430grw_ctrl_word_w)
- AM_RANGE(0x700000, 0x701fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
diff --git a/src/mame/drivers/taito_h.cpp b/src/mame/drivers/taito_h.cpp
index 54955513f8a..de0302dc0b9 100644
--- a/src/mame/drivers/taito_h.cpp
+++ b/src/mame/drivers/taito_h.cpp
@@ -243,7 +243,7 @@ static ADDRESS_MAP_START( syvalion_map, AS_PROGRAM, 16, taitoh_state )
AM_RANGE(0x300000, 0x300001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0x00ff)
AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0x00ff)
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE("tc0080vco", tc0080vco_device, word_r, word_w)
- AM_RANGE(0x500800, 0x500fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x500800, 0x500fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( recordbr_map, AS_PROGRAM, 16, taitoh_state )
@@ -253,7 +253,7 @@ static ADDRESS_MAP_START( recordbr_map, AS_PROGRAM, 16, taitoh_state )
AM_RANGE(0x300000, 0x300001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0x00ff)
AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0x00ff)
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE("tc0080vco", tc0080vco_device, word_r, word_w)
- AM_RANGE(0x500800, 0x500fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x500800, 0x500fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( tetristh_map, AS_PROGRAM, 16, taitoh_state )
@@ -263,7 +263,7 @@ static ADDRESS_MAP_START( tetristh_map, AS_PROGRAM, 16, taitoh_state )
AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0x00ff)
AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("tc0040ioc", tc0040ioc_device, read, write, 0x00ff)
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE("tc0080vco", tc0080vco_device, word_r, word_w)
- AM_RANGE(0x500800, 0x500fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x500800, 0x500fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( dleague_map, AS_PROGRAM, 16, taitoh_state )
@@ -273,7 +273,7 @@ static ADDRESS_MAP_START( dleague_map, AS_PROGRAM, 16, taitoh_state )
AM_RANGE(0x300000, 0x300001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0x00ff)
AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0x00ff)
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE("tc0080vco", tc0080vco_device, word_r, word_w)
- AM_RANGE(0x500800, 0x500fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x500800, 0x500fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x600000, 0x600001) AM_WRITENOP /* ?? writes zero once per frame */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/taito_o.cpp b/src/mame/drivers/taito_o.cpp
index f0b95b59c3f..9609776dc14 100644
--- a/src/mame/drivers/taito_o.cpp
+++ b/src/mame/drivers/taito_o.cpp
@@ -71,7 +71,7 @@ static ADDRESS_MAP_START( parentj_map, AS_PROGRAM, 16, taitoo_state )
AM_RANGE(0x200000, 0x20000f) AM_READWRITE(io_r, io_w) /* TC0220IOC ? */
AM_RANGE(0x300000, 0x300003) AM_DEVREADWRITE8("ymsnd", ym2203_device, read, write, 0x00ff)
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE("tc0080vco", tc0080vco_device, word_r, word_w)
- AM_RANGE(0x500800, 0x500fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x500800, 0x500fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
static INPUT_PORTS_START( parentj )
diff --git a/src/mame/drivers/taito_x.cpp b/src/mame/drivers/taito_x.cpp
index 7e91e6cd3ad..dceb07abfa6 100644
--- a/src/mame/drivers/taito_x.cpp
+++ b/src/mame/drivers/taito_x.cpp
@@ -545,7 +545,7 @@ static ADDRESS_MAP_START( superman_map, AS_PROGRAM, 16, taitox_state )
AM_RANGE(0x900000, 0x9007ff) AM_READWRITE(cchip1_ram_r, cchip1_ram_w)
AM_RANGE(0x900802, 0x900803) AM_READWRITE(cchip1_ctrl_r, cchip1_ctrl_w)
AM_RANGE(0x900c00, 0x900c01) AM_WRITE(cchip1_bank_w)
- AM_RANGE(0xb00000, 0xb00fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xb00000, 0xb00fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xd00000, 0xd005ff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spriteylow_r16, spriteylow_w16) // Sprites Y
AM_RANGE(0xd00600, 0xd00607) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritectrl_r16, spritectrl_w16)
AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritecode_r16, spritecode_w16) // Sprites Code + X + Attr
@@ -560,7 +560,7 @@ static ADDRESS_MAP_START( daisenpu_map, AS_PROGRAM, 16, taitox_state )
AM_RANGE(0x800000, 0x800001) AM_READNOP AM_DEVWRITE8("ciu", pc060ha_device, master_port_w, 0x00ff)
AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8("ciu", pc060ha_device, master_comm_r, master_comm_w, 0x00ff)
AM_RANGE(0x900000, 0x90000f) AM_READWRITE(daisenpu_input_r, daisenpu_input_w)
- AM_RANGE(0xb00000, 0xb00fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xb00000, 0xb00fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xd00000, 0xd005ff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spriteylow_r16, spriteylow_w16) // Sprites Y
AM_RANGE(0xd00600, 0xd00607) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritectrl_r16, spritectrl_w16)
AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritecode_r16, spritecode_w16) // Sprites Code + X + Attr
@@ -575,7 +575,7 @@ static ADDRESS_MAP_START( gigandes_map, AS_PROGRAM, 16, taitox_state )
AM_RANGE(0x800000, 0x800001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0x00ff)
AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0x00ff)
AM_RANGE(0x900000, 0x90000f) AM_READWRITE(daisenpu_input_r, daisenpu_input_w)
- AM_RANGE(0xb00000, 0xb00fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xb00000, 0xb00fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xd00000, 0xd005ff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spriteylow_r16, spriteylow_w16) // Sprites Y
AM_RANGE(0xd00600, 0xd00607) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritectrl_r16, spritectrl_w16)
AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritecode_r16, spritecode_w16) // Sprites Code + X + Attr
@@ -590,7 +590,7 @@ static ADDRESS_MAP_START( ballbros_map, AS_PROGRAM, 16, taitox_state )
AM_RANGE(0x800000, 0x800001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, master_port_w, 0x00ff)
AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, master_comm_r, master_comm_w, 0x00ff)
AM_RANGE(0x900000, 0x90000f) AM_READWRITE(daisenpu_input_r, daisenpu_input_w)
- AM_RANGE(0xb00000, 0xb00fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xb00000, 0xb00fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xd00000, 0xd005ff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spriteylow_r16, spriteylow_w16) // Sprites Y
AM_RANGE(0xd00600, 0xd00607) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritectrl_r16, spritectrl_w16)
AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritecode_r16, spritecode_w16) // Sprites Code + X + Attr
diff --git a/src/mame/drivers/taito_z.cpp b/src/mame/drivers/taito_z.cpp
index 93301fd0f4b..4c202e25ff5 100644
--- a/src/mame/drivers/taito_z.cpp
+++ b/src/mame/drivers/taito_z.cpp
@@ -1532,7 +1532,7 @@ static ADDRESS_MAP_START( bshark_map, AS_PROGRAM, 16, taitoz_state )
AM_RANGE(0x400000, 0x40000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0x00ff)
AM_RANGE(0x600000, 0x600001) AM_WRITE(cpua_ctrl_w)
AM_RANGE(0x800000, 0x800007) AM_READWRITE(bshark_stick_r, bshark_stick_w)
- AM_RANGE(0xa00000, 0xa01fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xa00000, 0xa01fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xc00000, 0xc00fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xd00000, 0xd0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
AM_RANGE(0xd20000, 0xd2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
@@ -1545,7 +1545,7 @@ static ADDRESS_MAP_START( bsharkjjs_map, AS_PROGRAM, 16, taitoz_state )
AM_RANGE(0x400000, 0x40000f) AM_DEVREADWRITE8("tc0220ioc", tc0220ioc_device, read, write, 0x00ff)
AM_RANGE(0x600000, 0x600001) AM_WRITE(cpua_ctrl_w)
// AM_RANGE(0x800000, 0x800007) AM_READWRITE(bshark_stick_r, bshark_stick_w) /* No analog stick, this is the Joystick version */
- AM_RANGE(0xa00000, 0xa01fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xa00000, 0xa01fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xc00000, 0xc00fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xd00000, 0xd0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
AM_RANGE(0xd20000, 0xd2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
@@ -1573,7 +1573,7 @@ static ADDRESS_MAP_START( sci_map, AS_PROGRAM, 16, taitoz_state )
AM_RANGE(0x200010, 0x20001f) AM_READ(sci_steer_input_r)
// AM_RANGE(0x400000, 0x400001) AM_WRITE(cpua_ctrl_w) // ?? doesn't seem to fit what's written
AM_RANGE(0x420000, 0x420003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
- AM_RANGE(0x800000, 0x801fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x800000, 0x801fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xa00000, 0xa0ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, word_r, word_w) /* tilemaps */
AM_RANGE(0xa20000, 0xa2000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_word_r, ctrl_word_w)
AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_SHARE("spriteram")
@@ -1667,7 +1667,7 @@ static ADDRESS_MAP_START( dblaxle_map, AS_PROGRAM, 16, taitoz_state )
AM_RANGE(0x400010, 0x40001f) AM_READ(dblaxle_steer_input_r)
AM_RANGE(0x600000, 0x600001) AM_WRITE(dblaxle_cpua_ctrl_w) /* could this be causing int6 ? */
AM_RANGE(0x620000, 0x620003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
- AM_RANGE(0x800000, 0x801fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x800000, 0x801fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, word_r, word_w) /* tilemap mirror */
AM_RANGE(0xa00000, 0xa0ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, word_r, word_w) /* tilemaps */
AM_RANGE(0xa30000, 0xa3002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_word_r, ctrl_word_w)
@@ -1692,7 +1692,7 @@ static ADDRESS_MAP_START( racingb_map, AS_PROGRAM, 16, taitoz_state )
AM_RANGE(0x300010, 0x30001f) AM_READ(dblaxle_steer_input_r)
AM_RANGE(0x500002, 0x500003) AM_WRITE(cpua_ctrl_w)
AM_RANGE(0x520000, 0x520003) AM_READWRITE(taitoz_sound_r, taitoz_sound_w)
- AM_RANGE(0x700000, 0x701fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, word_r, word_w) /* tilemaps */
AM_RANGE(0x930000, 0x93002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_word_r, ctrl_word_w)
AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_SHARE("spriteram") /* mostly unused ? */
diff --git a/src/mame/drivers/tandy1t.cpp b/src/mame/drivers/tandy1t.cpp
index d6de74fa4df..4cb5207efd3 100644
--- a/src/mame/drivers/tandy1t.cpp
+++ b/src/mame/drivers/tandy1t.cpp
@@ -554,7 +554,7 @@ static ADDRESS_MAP_START(tandy1000_io, AS_IO, 8, tandy1000_state )
AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", t1000_mb_device, map)
AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE("pc_joy", pc_joy_device, joy_port_r, joy_port_w)
AM_RANGE(0x0378, 0x037f) AM_READWRITE(pc_t1t_p37x_r, pc_t1t_p37x_w)
- AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE("pcvideo_t1000", pcvideo_t1000_device, read, write)
+ AM_RANGE(0x03d0, 0x03df) AM_DEVREAD("pcvideo_t1000", pcvideo_t1000_device, read) AM_DEVWRITE("pcvideo_t1000", pcvideo_t1000_device, write)
ADDRESS_MAP_END
static ADDRESS_MAP_START(tandy1000_bank_map, AS_PROGRAM, 16, tandy1000_state )
@@ -578,7 +578,7 @@ static ADDRESS_MAP_START(tandy1000_16_io, AS_IO, 16, tandy1000_state )
AM_RANGE(0x0000, 0x00ff) AM_DEVICE8("mb", t1000_mb_device, map, 0xffff)
AM_RANGE(0x0200, 0x0207) AM_DEVREADWRITE8("pc_joy", pc_joy_device, joy_port_r, joy_port_w, 0xffff)
AM_RANGE(0x0378, 0x037f) AM_READWRITE8(pc_t1t_p37x_r, pc_t1t_p37x_w, 0xffff)
- AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("pcvideo_t1000", pcvideo_t1000_device, read, write, 0xffff)
+ AM_RANGE(0x03d0, 0x03df) AM_DEVREAD8("pcvideo_t1000", pcvideo_t1000_device, read, 0xffff) AM_DEVWRITE8("pcvideo_t1000", pcvideo_t1000_device, write, 0xffff)
AM_RANGE(0xffe8, 0xffe9) AM_WRITE8(vram_bank_w, 0x00ff)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/taotaido.cpp b/src/mame/drivers/taotaido.cpp
index c2e2b50e5da..4e014871184 100644
--- a/src/mame/drivers/taotaido.cpp
+++ b/src/mame/drivers/taotaido.cpp
@@ -102,7 +102,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, taotaido_state )
AM_RANGE(0xa00000, 0xa01fff) AM_RAM AM_SHARE("spriteram") // sprite ram
AM_RANGE(0xc00000, 0xc0ffff) AM_RAM AM_SHARE("spriteram2") // sprite tile lookup ram
AM_RANGE(0xfe0000, 0xfeffff) AM_RAM // main ram
- AM_RANGE(0xffc000, 0xffcfff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // palette ram
+ AM_RANGE(0xffc000, 0xffcfff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // palette ram
AM_RANGE(0xffe000, 0xffe3ff) AM_RAM AM_SHARE("scrollram") // rowscroll / rowselect / scroll ram
AM_RANGE(0xffff80, 0xffff9f) AM_DEVREADWRITE8("io1", vs9209_device, read, write, 0x00ff)
AM_RANGE(0xffffa0, 0xffffbf) AM_DEVREADWRITE8("io2", vs9209_device, read, write, 0x00ff)
diff --git a/src/mame/drivers/targeth.cpp b/src/mame/drivers/targeth.cpp
index dc4bc12b6ee..af3834c41b9 100644
--- a/src/mame/drivers/targeth.cpp
+++ b/src/mame/drivers/targeth.cpp
@@ -152,7 +152,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, targeth_state )
AM_RANGE(0x108006, 0x108007) AM_READ_PORT("GUNY2")
AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_SHARE("vregs") /* Video Registers */
AM_RANGE(0x10800c, 0x10800d) AM_WRITENOP /* CLR Video INT */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") /* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_SHARE("spriteram") /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/tasman.cpp b/src/mame/drivers/tasman.cpp
index 63f3d7e2be0..1c67efe8146 100644
--- a/src/mame/drivers/tasman.cpp
+++ b/src/mame/drivers/tasman.cpp
@@ -229,7 +229,7 @@ static ADDRESS_MAP_START( kongambl_map, AS_PROGRAM, 32, kongambl_state )
AM_RANGE(0x440000, 0x443fff) AM_RAM // OBJ RAM
- AM_RANGE(0x460000, 0x47ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x460000, 0x47ffff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x4b0000, 0x4b001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0xff00ff00)
diff --git a/src/mame/drivers/tatsumi.cpp b/src/mame/drivers/tatsumi.cpp
index 48c068a4cfd..bd130065afd 100644
--- a/src/mame/drivers/tatsumi.cpp
+++ b/src/mame/drivers/tatsumi.cpp
@@ -205,7 +205,7 @@ WRITE16_MEMBER(cyclwarr_state::cyclwarr_sound_w)
static ADDRESS_MAP_START( apache3_v30_map, AS_PROGRAM, 16, apache3_state )
AM_RANGE(0x00000, 0x03fff) AM_RAM
AM_RANGE(0x04000, 0x07fff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0x08000, 0x08fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x08000, 0x08fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0c000, 0x0dfff) AM_RAM_WRITE(text_w) AM_SHARE("videoram")
AM_RANGE(0x0e800, 0x0e803) AM_WRITENOP // CRT
AM_RANGE(0x0f000, 0x0f001) AM_READ_PORT("DSW")
@@ -254,7 +254,7 @@ static ADDRESS_MAP_START( roundup5_v30_map, AS_PROGRAM, 16, roundup5_state )
AM_RANGE(0x0d800, 0x0d801) AM_WRITEONLY AM_SHARE("ru5_unknown1") // VRAM2 X scroll (todo)
AM_RANGE(0x0dc00, 0x0dc01) AM_WRITEONLY AM_SHARE("ru5_unknown2") // VRAM2 Y scroll (todo)
AM_RANGE(0x0e000, 0x0e001) AM_WRITE(roundup5_control_w)
- AM_RANGE(0x0f000, 0x0ffff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0x00ff) AM_SHARE("palette")
+ AM_RANGE(0x0f000, 0x0ffff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0x00ff) AM_SHARE("palette")
AM_RANGE(0x10000, 0x1ffff) AM_READWRITE(roundup_v30_z80_r, roundup_v30_z80_w)
AM_RANGE(0x20000, 0x2ffff) AM_READWRITE(tatsumi_v30_68000_r, tatsumi_v30_68000_w)
AM_RANGE(0x30000, 0x3ffff) AM_READWRITE(roundup5_vram_r, roundup5_vram_w)
@@ -300,7 +300,7 @@ static ADDRESS_MAP_START( cyclwarr_68000a_map, AS_PROGRAM, 16, cyclwarr_state )
AM_RANGE(0x0ba000, 0x0ba00f) AM_DEVREAD8("io2", cxd1095_device, read, 0x00ff) AM_WRITE(io2_byte_smear_w)
AM_RANGE(0x0c0000, 0x0c3fff) AM_READWRITE(cyclwarr_sprite_r, cyclwarr_sprite_w) AM_SHARE("spriteram")
AM_RANGE(0x0ca000, 0x0ca1ff) AM_WRITE(tatsumi_sprite_control_w) AM_SHARE("sprite_ctlram")
- AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x140000, 0x1bffff) AM_ROMBANK("bank2") /* CPU B ROM */
AM_RANGE(0x2c0000, 0x33ffff) AM_ROMBANK("bank1") /* CPU A ROM */
ADDRESS_MAP_END
@@ -319,7 +319,7 @@ static ADDRESS_MAP_START( cyclwarr_68000b_map, AS_PROGRAM, 16, cyclwarr_state )
AM_RANGE(0x0ba000, 0x0ba00f) AM_DEVREAD8("io2", cxd1095_device, read, 0x00ff) AM_WRITE(io2_byte_smear_w)
AM_RANGE(0x0c0000, 0x0c3fff) AM_READWRITE(cyclwarr_sprite_r, cyclwarr_sprite_w)
AM_RANGE(0x0ca000, 0x0ca1ff) AM_WRITE(tatsumi_sprite_control_w)
- AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x140000, 0x1bffff) AM_ROMBANK("bank2") /* CPU B ROM */
AM_RANGE(0x2c0000, 0x33ffff) AM_ROMBANK("bank1") /* CPU A ROM */
ADDRESS_MAP_END
@@ -353,7 +353,7 @@ static ADDRESS_MAP_START( bigfight_68000a_map, AS_PROGRAM, 16, cyclwarr_state )
AM_RANGE(0x0ba000, 0x0ba00f) AM_DEVREAD8("io2", cxd1095_device, read, 0x00ff) AM_WRITE(io2_byte_smear_w)
AM_RANGE(0x0c0000, 0x0c3fff) AM_READWRITE(cyclwarr_sprite_r, cyclwarr_sprite_w) AM_SHARE("spriteram")
AM_RANGE(0x0ca000, 0x0ca1ff) AM_WRITE(tatsumi_sprite_control_w) AM_SHARE("sprite_ctlram")
- AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x100000, 0x17ffff) AM_ROMBANK("bank2") /* CPU A ROM */
AM_RANGE(0x200000, 0x27ffff) AM_ROMBANK("bank1") /* CPU B ROM */
ADDRESS_MAP_END
@@ -370,7 +370,7 @@ static ADDRESS_MAP_START( bigfight_68000b_map, AS_PROGRAM, 16, cyclwarr_state )
AM_RANGE(0x0ba000, 0x0ba00f) AM_DEVREAD8("io2", cxd1095_device, read, 0x00ff) AM_WRITE(io2_byte_smear_w)
AM_RANGE(0x0c0000, 0x0c3fff) AM_READWRITE(cyclwarr_sprite_r, cyclwarr_sprite_w)
AM_RANGE(0x0ca000, 0x0ca1ff) AM_WRITE(tatsumi_sprite_control_w)
- AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x100000, 0x17ffff) AM_ROMBANK("bank2") /* CPU A ROM */
AM_RANGE(0x200000, 0x27ffff) AM_ROMBANK("bank1") /* CPU B ROM */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tbowl.cpp b/src/mame/drivers/tbowl.cpp
index 3d9afc4b2c9..bebb79dabef 100644
--- a/src/mame/drivers/tbowl.cpp
+++ b/src/mame/drivers/tbowl.cpp
@@ -103,7 +103,7 @@ static ADDRESS_MAP_START( 6206C_map, AS_PROGRAM, 8, tbowl_state )
AM_RANGE(0xc000, 0xdfff) AM_READONLY
AM_RANGE(0xc000, 0xd7ff) AM_WRITEONLY
AM_RANGE(0xd800, 0xdfff) AM_WRITEONLY AM_SHARE("spriteram")
- AM_RANGE(0xe000, 0xefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // 2x palettes, one for each monitor?
+ AM_RANGE(0xe000, 0xefff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette") // 2x palettes, one for each monitor?
AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("subbank")
AM_RANGE(0xf800, 0xfbff) AM_RAM AM_SHARE("shared_ram")
AM_RANGE(0xfc00, 0xfc00) AM_WRITE(boardc_bankswitch_w)
diff --git a/src/mame/drivers/tecmo.cpp b/src/mame/drivers/tecmo.cpp
index f6afe8122f7..7270a81f468 100644
--- a/src/mame/drivers/tecmo.cpp
+++ b/src/mame/drivers/tecmo.cpp
@@ -143,7 +143,7 @@ static ADDRESS_MAP_START( rygar_map, AS_PROGRAM, 8, tecmo_state )
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(fgvideoram_w) AM_SHARE("fgvideoram")
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(bgvideoram_w) AM_SHARE("bgvideoram")
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0xe800, 0xefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xe800, 0xefff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("bank1")
AM_RANGE(0xf800, 0xf800) AM_READ_PORT("JOY1")
AM_RANGE(0xf801, 0xf801) AM_READ_PORT("BUTTONS1")
@@ -170,7 +170,7 @@ static ADDRESS_MAP_START( gemini_map, AS_PROGRAM, 8, tecmo_state )
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(txvideoram_w) AM_SHARE("txvideoram")
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(fgvideoram_w) AM_SHARE("fgvideoram")
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(bgvideoram_w) AM_SHARE("bgvideoram")
- AM_RANGE(0xe000, 0xe7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xe800, 0xefff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("bank1")
AM_RANGE(0xf800, 0xf800) AM_READ_PORT("JOY1")
@@ -199,7 +199,7 @@ static ADDRESS_MAP_START( silkworm_map, AS_PROGRAM, 8, tecmo_state )
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(txvideoram_w) AM_SHARE("txvideoram")
AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0xe800, 0xefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xe800, 0xefff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("bank1")
AM_RANGE(0xf800, 0xf800) AM_READ_PORT("JOY1")
AM_RANGE(0xf801, 0xf801) AM_READ_PORT("BUTTONS1")
diff --git a/src/mame/drivers/tecmo16.cpp b/src/mame/drivers/tecmo16.cpp
index af18d3efbb2..18432349650 100644
--- a/src/mame/drivers/tecmo16.cpp
+++ b/src/mame/drivers/tecmo16.cpp
@@ -48,7 +48,7 @@ static ADDRESS_MAP_START( fstarfrc_map, AS_PROGRAM, 16, tecmo16_state )
AM_RANGE(0x121800, 0x121fff) AM_RAM_WRITE(colorram2_w) AM_SHARE("colorram2")
AM_RANGE(0x122000, 0x127fff) AM_RAM /* work area */
AM_RANGE(0x130000, 0x130fff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x140000, 0x141fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x140000, 0x141fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x150000, 0x150001) AM_WRITE(flipscreen_w)
AM_RANGE(0x150010, 0x150011) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x150030, 0x150031) AM_READ_PORT("DSW2") AM_WRITENOP /* ??? */
@@ -71,7 +71,7 @@ static ADDRESS_MAP_START( ginkun_map, AS_PROGRAM, 16, tecmo16_state )
AM_RANGE(0x123000, 0x123fff) AM_RAM_WRITE(colorram2_w) AM_SHARE("colorram2")
AM_RANGE(0x124000, 0x124fff) AM_RAM /* extra RAM for Riot */
AM_RANGE(0x130000, 0x130fff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x140000, 0x141fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x140000, 0x141fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x150000, 0x150001) AM_WRITE(flipscreen_w)
AM_RANGE(0x150010, 0x150011) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x150020, 0x150021) AM_READ_PORT("EXTRA") AM_WRITENOP /* ??? */
diff --git a/src/mame/drivers/tecmosys.cpp b/src/mame/drivers/tecmosys.cpp
index bb64d722652..a5a0ac84c6b 100644
--- a/src/mame/drivers/tecmosys.cpp
+++ b/src/mame/drivers/tecmosys.cpp
@@ -290,7 +290,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, tecmosys_state )
AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE(fg_tilemap_w) AM_SHARE("fgtilemap_ram") // fix ram
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_SHARE("spriteram") // obj ram
AM_RANGE(0x880000, 0x88000b) AM_READ(unk880000_r)
- AM_RANGE(0x900000, 0x907fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // AM_WRITEONLY // obj pal
+ AM_RANGE(0x900000, 0x907fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // AM_WRITEONLY // obj pal
//AM_RANGE(0x980000, 0x9807ff) AM_WRITEONLY // bg pal
//AM_RANGE(0x980800, 0x980fff) AM_WRITE(paletteram_xGGGGGRRRRRBBBBB_word_w) AM_SHARE("paletteram") // fix pal
diff --git a/src/mame/drivers/tehkanwc.cpp b/src/mame/drivers/tehkanwc.cpp
index fdcb74f0b3b..d0307ad280f 100644
--- a/src/mame/drivers/tehkanwc.cpp
+++ b/src/mame/drivers/tehkanwc.cpp
@@ -235,7 +235,7 @@ static ADDRESS_MAP_START( main_mem, AS_PROGRAM, 8, tehkanwc_state )
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("share1")
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
- AM_RANGE(0xd800, 0xddff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xd800, 0xddff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xde00, 0xdfff) AM_RAM AM_SHARE("share5") /* unused part of the palette RAM, I think? Gridiron uses it */
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
AM_RANGE(0xe800, 0xebff) AM_RAM AM_SHARE("spriteram") /* sprites */
@@ -261,7 +261,7 @@ static ADDRESS_MAP_START( sub_mem, AS_PROGRAM, 8, tehkanwc_state )
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("share1")
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
- AM_RANGE(0xd800, 0xddff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xd800, 0xddff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xde00, 0xdfff) AM_RAM AM_SHARE("share5") /* unused part of the palette RAM, I think? Gridiron uses it */
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
AM_RANGE(0xe800, 0xebff) AM_RAM AM_SHARE("spriteram") /* sprites */
diff --git a/src/mame/drivers/thoop2.cpp b/src/mame/drivers/thoop2.cpp
index 69268280dbd..04e947ab0cf 100644
--- a/src/mame/drivers/thoop2.cpp
+++ b/src/mame/drivers/thoop2.cpp
@@ -126,7 +126,7 @@ static ADDRESS_MAP_START( thoop2_map, AS_PROGRAM, 16, thoop2_state )
AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE(vram_w) AM_SHARE("videoram") /* Video RAM */
AM_RANGE(0x108000, 0x108007) AM_WRITEONLY AM_SHARE("vregs") /* Video Registers */
AM_RANGE(0x10800c, 0x10800d) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) /* INT 6 ACK/Watchdog timer */
- AM_RANGE(0x200000, 0x2007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")/* Palette */
+ AM_RANGE(0x200000, 0x2007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")/* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_SHARE("spriteram") /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW2")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/thunderj.cpp b/src/mame/drivers/thunderj.cpp
index d6e223d1c7e..41f3ccf6c8d 100644
--- a/src/mame/drivers/thunderj.cpp
+++ b/src/mame/drivers/thunderj.cpp
@@ -120,7 +120,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, thunderj_state )
AM_RANGE(0x000000, 0x09ffff) AM_ROM
AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000")
AM_RANGE(0x260010, 0x260011) AM_READ_PORT("260010")
AM_RANGE(0x260012, 0x260013) AM_READ(special_port2_r)
@@ -129,7 +129,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, thunderj_state )
AM_RANGE(0x360010, 0x360011) AM_WRITE(latch_w)
AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_DEVWRITE8("jsa", atari_jsa_ii_device, main_command_w, 0x00ff)
- AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x3effc0, 0x3effff) AM_DEVREADWRITE("vad", atari_vad_device, control_read, control_write)
AM_RANGE(0x3f0000, 0x3f1fff) AM_RAM_DEVWRITE("vad", atari_vad_device, playfield2_latched_msb_w) AM_SHARE("vad:playfield2")
AM_RANGE(0x3f2000, 0x3f3fff) AM_RAM_DEVWRITE("vad", atari_vad_device, playfield_latched_lsb_w) AM_SHARE("vad:playfield")
diff --git a/src/mame/drivers/thunderx.cpp b/src/mame/drivers/thunderx.cpp
index a72990ba618..d6f7f09bd9b 100644
--- a/src/mame/drivers/thunderx.cpp
+++ b/src/mame/drivers/thunderx.cpp
@@ -435,12 +435,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( scontra_bank5800_map, AS_PROGRAM, 8, thunderx_state )
- AM_RANGE(0x0000, 0x07ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0000, 0x07ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x0800, 0x0fff) AM_RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( thunderx_bank5800_map, AS_PROGRAM, 8, thunderx_state )
- AM_RANGE(0x0000, 0x07ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0000, 0x07ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x0800, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x17ff) AM_READWRITE(pmc_r, pmc_w) AM_SHARE("pmcram")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tigeroad.cpp b/src/mame/drivers/tigeroad.cpp
index 1eed5223e7a..9e52f6d3ca0 100644
--- a/src/mame/drivers/tigeroad.cpp
+++ b/src/mame/drivers/tigeroad.cpp
@@ -82,7 +82,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, tigeroad_state )
AM_RANGE(0xfe800e, 0xfe800f) AM_WRITEONLY /* fe800e = watchdog or IRQ acknowledge */
AM_RANGE(0xfec000, 0xfec7ff) AM_RAM_WRITE(tigeroad_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0xff8000, 0xff87ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xff8000, 0xff87ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xffc000, 0xffffff) AM_RAM AM_SHARE("ram16")
ADDRESS_MAP_END
@@ -107,7 +107,7 @@ static ADDRESS_MAP_START( bballs_map, AS_PROGRAM, 16, pushman_state )
AM_RANGE(0xe800e, 0xe800f) AM_WRITENOP /* ? */
AM_RANGE(0xec000, 0xec7ff) AM_RAM_WRITE(tigeroad_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0xf8000, 0xf87ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xf8000, 0xf87ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xfc000, 0xfffff) AM_RAM AM_SHARE("ram16")
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tmaster.cpp b/src/mame/drivers/tmaster.cpp
index 20ccf7bb265..f029e300dbd 100644
--- a/src/mame/drivers/tmaster.cpp
+++ b/src/mame/drivers/tmaster.cpp
@@ -275,7 +275,7 @@ static ADDRESS_MAP_START( tmaster_map, AS_PROGRAM, 16, tmaster_state )
AM_RANGE( 0x580000, 0x580001 ) AM_WRITENOP // often
- AM_RANGE( 0x600000, 0x601fff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE( 0x600000, 0x601fff ) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE( 0x800000, 0x800001 ) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff )
diff --git a/src/mame/drivers/tmmjprd.cpp b/src/mame/drivers/tmmjprd.cpp
index 9b3c6a54a84..80a6a935a55 100644
--- a/src/mame/drivers/tmmjprd.cpp
+++ b/src/mame/drivers/tmmjprd.cpp
@@ -717,7 +717,7 @@ static ADDRESS_MAP_START( tmmjprd_map, AS_PROGRAM, 32, tmmjprd_state )
AM_RANGE(0x28c000, 0x28ffff) AM_READWRITE(tilemap3_r,tilemap3_w)
/* ?? is palette ram shared with sprites in this case or just a different map */
AM_RANGE(0x290000, 0x29bfff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x29c000, 0x29ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x29c000, 0x29ffff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x400000, 0x400003) AM_READ(mux_r) AM_WRITE(eeprom_write)
AM_RANGE(0xf00000, 0xffffff) AM_RAM
diff --git a/src/mame/drivers/tmnt.cpp b/src/mame/drivers/tmnt.cpp
index 55b2e1a97b6..d2d7905e8c8 100644
--- a/src/mame/drivers/tmnt.cpp
+++ b/src/mame/drivers/tmnt.cpp
@@ -473,7 +473,7 @@ static ADDRESS_MAP_START( cuebrick_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM /* main RAM */
AM_RANGE(0x060000, 0x063fff) AM_RAM /* main RAM */
- AM_RANGE(0x080000, 0x080fff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0x00ff) AM_SHARE("palette")
+ AM_RANGE(0x080000, 0x080fff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0x00ff) AM_SHARE("palette")
AM_RANGE(0x0a0000, 0x0a0001) AM_READ_PORT("COINS") AM_WRITE(tmnt_0a0000_w)
AM_RANGE(0x0a0002, 0x0a0003) AM_READ_PORT("P1")
AM_RANGE(0x0a0004, 0x0a0005) AM_READ_PORT("P2")
@@ -493,7 +493,7 @@ static ADDRESS_MAP_START( mia_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM /* main RAM */
AM_RANGE(0x060000, 0x063fff) AM_RAM /* main RAM */
- AM_RANGE(0x080000, 0x080fff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0x00ff) AM_SHARE("palette")
+ AM_RANGE(0x080000, 0x080fff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0x00ff) AM_SHARE("palette")
AM_RANGE(0x0a0000, 0x0a0001) AM_READ_PORT("COINS") AM_WRITE(tmnt_0a0000_w)
AM_RANGE(0x0a0002, 0x0a0003) AM_READ_PORT("P1")
AM_RANGE(0x0a0004, 0x0a0005) AM_READ_PORT("P2")
@@ -514,7 +514,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tmnt_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x063fff) AM_RAM /* main RAM */
- AM_RANGE(0x080000, 0x080fff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0x00ff) AM_SHARE("palette")
+ AM_RANGE(0x080000, 0x080fff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0x00ff) AM_SHARE("palette")
AM_RANGE(0x0a0000, 0x0a0001) AM_READ_PORT("COINS") AM_WRITE(tmnt_0a0000_w)
AM_RANGE(0x0a0002, 0x0a0003) AM_READ_PORT("P1")
AM_RANGE(0x0a0004, 0x0a0005) AM_READ_PORT("P2")
@@ -535,7 +535,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( punkshot_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x083fff) AM_RAM /* main RAM */
- AM_RANGE(0x090000, 0x090fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x090000, 0x090fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x0a0000, 0x0a0001) AM_READ_PORT("DSW1/DSW2")
AM_RANGE(0x0a0002, 0x0a0003) AM_READ_PORT("COINS/DSW3")
AM_RANGE(0x0a0004, 0x0a0005) AM_READ_PORT("P3/P4")
@@ -552,7 +552,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( lgtnfght_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
- AM_RANGE(0x080000, 0x080fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x080000, 0x080fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x090000, 0x093fff) AM_RAM /*main RAM */
AM_RANGE(0x0a0000, 0x0a0001) AM_READ_PORT("COINS")
AM_RANGE(0x0a0002, 0x0a0003) AM_READ_PORT("P1")
@@ -580,7 +580,7 @@ static ADDRESS_MAP_START( blswhstl_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x180000, 0x183fff) AM_DEVREADWRITE("k052109", k052109_device, word_r, word_w)
AM_RANGE(0x204000, 0x207fff) AM_RAM /* main RAM */
AM_RANGE(0x300000, 0x303fff) AM_READWRITE(k053245_scattered_word_r, k053245_scattered_word_w) AM_SHARE("spriteram")
- AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x500000, 0x50003f) AM_DEVREADWRITE("k054000", k054000_device, lsb_r, lsb_w)
AM_RANGE(0x680000, 0x68001f) AM_READWRITE(k053244_word_noA1_r, k053244_word_noA1_w)
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("P1")
@@ -620,7 +620,7 @@ static ADDRESS_MAP_START( glfgreat_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM /* main RAM */
AM_RANGE(0x104000, 0x107fff) AM_READWRITE(k053245_scattered_word_r, k053245_scattered_word_w) AM_SHARE("spriteram")
- AM_RANGE(0x108000, 0x108fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x108000, 0x108fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x10c000, 0x10cfff) AM_DEVREADWRITE("k053936", k053936_device, linectrl_r, linectrl_w) /* 053936? */
AM_RANGE(0x110000, 0x11001f) AM_WRITE(k053244_word_noA1_w) /* duplicate! */
AM_RANGE(0x114000, 0x11401f) AM_DEVREADWRITE("k053245", k05324x_device, k053244_lsb_r, k053244_lsb_w) /* duplicate! */
@@ -643,7 +643,7 @@ static ADDRESS_MAP_START( prmrsocr_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM /* main RAM */
AM_RANGE(0x104000, 0x107fff) AM_READWRITE(k053245_scattered_word_r, k053245_scattered_word_w) AM_SHARE("spriteram")
- AM_RANGE(0x108000, 0x108fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x108000, 0x108fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x10c000, 0x10cfff) AM_DEVREADWRITE("k053936", k053936_device, linectrl_r, linectrl_w)
AM_RANGE(0x110000, 0x11001f) AM_WRITE(k053244_word_noA1_w) /* duplicate! */
AM_RANGE(0x114000, 0x11401f) AM_DEVREADWRITE("k053245", k05324x_device, k053244_lsb_r, k053244_lsb_w) /* duplicate! */
@@ -902,7 +902,7 @@ logerror("copy command %04x sprite %08x data %08x: %04x%04x %04x%04x modifiers
static ADDRESS_MAP_START( tmnt2_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM AM_SHARE("tmnt2_rom")
AM_RANGE(0x104000, 0x107fff) AM_RAM AM_SHARE("sunset_104000") /* main RAM */
- AM_RANGE(0x140000, 0x140fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x140000, 0x140fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x180000, 0x183fff) AM_RAM_WRITE(k053245_scattered_word_w) AM_SHARE("spriteram") // k053245_scattered_word_r
AM_RANGE(0x1c0000, 0x1c0001) AM_READ_PORT("P1")
AM_RANGE(0x1c0002, 0x1c0003) AM_READ_PORT("P2")
@@ -926,7 +926,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ssriders_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x104000, 0x107fff) AM_RAM /* main RAM */
- AM_RANGE(0x140000, 0x140fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x140000, 0x140fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x180000, 0x183fff) AM_READWRITE(k053245_scattered_word_r, k053245_scattered_word_w) AM_SHARE("spriteram")
AM_RANGE(0x1c0000, 0x1c0001) AM_READ_PORT("P1")
AM_RANGE(0x1c0002, 0x1c0003) AM_READ_PORT("P2")
@@ -950,7 +950,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sunsetbl_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x000000, 0x0bffff) AM_ROM
AM_RANGE(0x104000, 0x107fff) AM_RAM /* main RAM */
- AM_RANGE(0x14c000, 0x14cfff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x14c000, 0x14cfff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x14e700, 0x14e71f) AM_DEVWRITE("k053251", k053251_device, lsb_w)
AM_RANGE(0x180000, 0x183fff) AM_READWRITE(k053245_scattered_word_r, k053245_scattered_word_w) AM_SHARE("spriteram")
AM_RANGE(0x184000, 0x18ffff) AM_RAM
@@ -976,7 +976,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( thndrx2_main_map, AS_PROGRAM, 16, tmnt_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x100000, 0x103fff) AM_RAM /* main RAM */
- AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x300000, 0x30001f) AM_DEVWRITE("k053251", k053251_device, lsb_w)
AM_RANGE(0x400000, 0x400003) AM_DEVREADWRITE8("k053260", k053260_device, main_read, main_write, 0x00ff)
AM_RANGE(0x500000, 0x50003f) AM_DEVREADWRITE("k054000", k054000_device, lsb_r, lsb_w)
diff --git a/src/mame/drivers/tnzs.cpp b/src/mame/drivers/tnzs.cpp
index 5499f86208d..7829a267598 100644
--- a/src/mame/drivers/tnzs.cpp
+++ b/src/mame/drivers/tnzs.cpp
@@ -730,7 +730,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tnzs_base_state )
AM_RANGE(0xf300, 0xf303) AM_MIRROR(0xfc) AM_DEVWRITE("spritegen", seta001_device, spritectrl_w8) /* control registers (0x80 mirror used by Arkanoid 2) */
AM_RANGE(0xf400, 0xf400) AM_DEVWRITE("spritegen", seta001_device, spritebgflag_w8) /* enable / disable background transparency */
AM_RANGE(0xf600, 0xf600) AM_READNOP AM_WRITE(ramrom_bankswitch_w)
- AM_RANGE(0xf800, 0xfbff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xf800, 0xfbff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( prompal_main_map, AS_PROGRAM, 8, extrmatn_state )
@@ -809,12 +809,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tnzsb_sub_map, AS_PROGRAM, 8, tnzsb_state )
AM_RANGE(0xf000, 0xf003) AM_READONLY
- AM_RANGE(0xf000, 0xf3ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xf000, 0xf3ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_IMPORT_FROM(tnzsb_base_sub_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( kabukiz_sub_map, AS_PROGRAM, 8, kabukiz_state )
- AM_RANGE(0xf800, 0xfbff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xf800, 0xfbff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_IMPORT_FROM(tnzsb_base_sub_map)
ADDRESS_MAP_END
@@ -845,7 +845,7 @@ static ADDRESS_MAP_START( jpopnics_main_map, AS_PROGRAM, 8, jpopnics_state )
AM_RANGE(0xf300, 0xf303) AM_MIRROR(0xfc) AM_DEVWRITE("spritegen", seta001_device, spritectrl_w8) /* control registers (0x80 mirror used by Arkanoid 2) */
AM_RANGE(0xf400, 0xf400) AM_DEVWRITE("spritegen", seta001_device, spritebgflag_w8) /* enable / disable background transparency */
AM_RANGE(0xf600, 0xf600) AM_READNOP AM_WRITE(ramrom_bankswitch_w)
- AM_RANGE(0xf800, 0xffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xf800, 0xffff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( jpopnics_sub_map, AS_PROGRAM, 8, jpopnics_state )
diff --git a/src/mame/drivers/toaplan2.cpp b/src/mame/drivers/toaplan2.cpp
index de10496b334..ef35ede6e3b 100644
--- a/src/mame/drivers/toaplan2.cpp
+++ b/src/mame/drivers/toaplan2.cpp
@@ -871,7 +871,7 @@ static ADDRESS_MAP_START( tekipaki_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x000000, 0x01ffff) AM_ROM
AM_RANGE(0x020000, 0x03ffff) AM_ROM // extra for Whoopee
AM_RANGE(0x080000, 0x082fff) AM_RAM
- AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x140000, 0x14000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("DSWA")
AM_RANGE(0x180010, 0x180011) AM_READ_PORT("DSWB")
@@ -889,7 +889,7 @@ static ADDRESS_MAP_START( ghox_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x040001) AM_READ(ghox_p2_h_analog_r)
AM_RANGE(0x080000, 0x083fff) AM_RAM
- AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x100000, 0x100001) AM_READ(ghox_p1_h_analog_r)
AM_RANGE(0x140000, 0x14000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
AM_RANGE(0x180000, 0x180fff) AM_READWRITE(shared_ram_r, shared_ram_w)
@@ -907,7 +907,7 @@ static ADDRESS_MAP_START( dogyuun_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x20001c, 0x20001d) AM_WRITE(toaplan2_v25_coin_word_w) // Coin count/lock + v25 reset line
AM_RANGE(0x210000, 0x21ffff) AM_READWRITE(shared_ram_r, shared_ram_w )
AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x500000, 0x50000d) AM_DEVREADWRITE("gp9001_1", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r) // test bit 8
ADDRESS_MAP_END
@@ -922,7 +922,7 @@ static ADDRESS_MAP_START( kbash_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x208018, 0x208019) AM_READ_PORT("SYS")
AM_RANGE(0x20801c, 0x20801d) AM_WRITE(toaplan2_coin_word_w)
AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r) // test bit 8
ADDRESS_MAP_END
@@ -944,7 +944,7 @@ static ADDRESS_MAP_START( kbash2_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x200028, 0x200029) AM_WRITE(oki1_bankswitch_w)
AM_RANGE(0x20002c, 0x20002d) AM_READ(video_count_r)
AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
@@ -952,7 +952,7 @@ static ADDRESS_MAP_START( truxton2_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x20000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x300000, 0x300fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x300000, 0x300fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE(toaplan2_tx_videoram_w) AM_SHARE("tx_videoram")
AM_RANGE(0x402000, 0x402fff) AM_RAM AM_SHARE("tx_lineselect")
AM_RANGE(0x403000, 0x4031ff) AM_RAM_WRITE(toaplan2_tx_linescroll_w) AM_SHARE("tx_linescroll")
@@ -974,7 +974,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pipibibs_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x082fff) AM_RAM
- AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x140000, 0x14000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
AM_RANGE(0x190000, 0x190fff) AM_READWRITE(shared_ram_r, shared_ram_w)
AM_RANGE(0x19c01c, 0x19c01d) AM_WRITE(toaplan2_coin_word_w)
@@ -992,7 +992,7 @@ static ADDRESS_MAP_START( pipibibi_bootleg_68k_mem, AS_PROGRAM, 16, toaplan2_sta
AM_RANGE(0x080000, 0x082fff) AM_RAM
AM_RANGE(0x083000, 0x0837ff) AM_DEVREADWRITE("gp9001", gp9001vdp_device, pipibibi_bootleg_spriteram16_r, pipibibi_bootleg_spriteram16_w) // SpriteRAM
AM_RANGE(0x083800, 0x087fff) AM_RAM // SpriteRAM (unused)
- AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x120000, 0x120fff) AM_RAM // Copy of SpriteRAM ?
// AM_RANGE(0x13f000, 0x13f001) AM_WRITENOP // ???
AM_RANGE(0x180000, 0x182fff) AM_DEVREADWRITE("gp9001", gp9001vdp_device, pipibibi_bootleg_videoram16_r, pipibibi_bootleg_videoram16_w) // TileRAM
@@ -1019,7 +1019,7 @@ static ADDRESS_MAP_START( fixeight_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x20001c, 0x20001d) AM_WRITE(toaplan2_coin_word_w)
AM_RANGE(0x280000, 0x28ffff) AM_READWRITE(shared_ram_r, shared_ram_w )
AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(toaplan2_tx_videoram_w) AM_SHARE("tx_videoram")
AM_RANGE(0x502000, 0x5021ff) AM_RAM AM_SHARE("tx_lineselect")
AM_RANGE(0x503000, 0x5031ff) AM_RAM_WRITE(toaplan2_tx_linescroll_w) AM_SHARE("tx_linescroll")
@@ -1041,7 +1041,7 @@ static ADDRESS_MAP_START( fixeightbl_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x200018, 0x200019) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x20001c, 0x20001d) AM_READ_PORT("DSWA")
AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(toaplan2_tx_videoram_w) AM_SHARE("tx_videoram")
AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r)
AM_RANGE(0x800000, 0x87ffff) AM_ROM AM_REGION("maincpu", 0x80000)
@@ -1058,7 +1058,7 @@ static ADDRESS_MAP_START( vfive_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x20001c, 0x20001d) AM_WRITE(toaplan2_v25_coin_word_w) // Coin count/lock + v25 reset line
AM_RANGE(0x210000, 0x21ffff) AM_READWRITE(shared_ram_r, shared_ram_w )
AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r)
ADDRESS_MAP_END
@@ -1072,7 +1072,7 @@ static ADDRESS_MAP_START( batsugun_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x20001c, 0x20001d) AM_WRITE(toaplan2_v25_coin_word_w) // Coin count/lock + v25 reset line
AM_RANGE(0x210000, 0x21ffff) AM_READWRITE(shared_ram_r, shared_ram_w )
AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x500000, 0x50000d) AM_DEVREADWRITE("gp9001_1", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r)
ADDRESS_MAP_END
@@ -1084,7 +1084,7 @@ static ADDRESS_MAP_START( pwrkick_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE8("rtc", upd4992_device, read, write, 0x00ff )
AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x600000, 0x600001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r)
@@ -1106,7 +1106,7 @@ static ADDRESS_MAP_START( othldrby_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE8("rtc", upd4992_device, read, write, 0x00ff )
AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x600000, 0x600001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x700000, 0x700001) AM_READ(video_count_r)
@@ -1141,7 +1141,7 @@ static ADDRESS_MAP_START( enmadaio_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x104000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x20000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x300000, 0x300fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x300000, 0x300fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x400000, 0x400003) AM_DEVREADWRITE8("ymsnd", ym2151_device, read, write, 0x00ff)
AM_RANGE(0x500000, 0x500001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
@@ -1165,7 +1165,7 @@ static ADDRESS_MAP_START( snowbro2_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x500000, 0x500003) AM_DEVREADWRITE8("ymsnd", ym2151_device, read, write, 0x00ff)
AM_RANGE(0x600000, 0x600001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("JMPR")
@@ -1194,7 +1194,7 @@ static ADDRESS_MAP_START( mahoudai_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x21c034, 0x21c035) AM_READ_PORT("JMPR")
AM_RANGE(0x21c03c, 0x21c03d) AM_READ(video_count_r)
AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x401000, 0x4017ff) AM_RAM // Unused palette RAM
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(toaplan2_tx_videoram_w) AM_SHARE("tx_videoram")
AM_RANGE(0x502000, 0x502fff) AM_RAM AM_SHARE("tx_lineselect")
@@ -1217,7 +1217,7 @@ static ADDRESS_MAP_START( shippumd_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x21c034, 0x21c035) AM_READ_PORT("JMPR")
AM_RANGE(0x21c03c, 0x21c03d) AM_READ(video_count_r)
AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x401000, 0x4017ff) AM_RAM // Unused palette RAM
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(toaplan2_tx_videoram_w) AM_SHARE("tx_videoram")
AM_RANGE(0x502000, 0x502fff) AM_RAM AM_SHARE("tx_lineselect")
@@ -1239,7 +1239,7 @@ static ADDRESS_MAP_START( bgaregga_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x21c034, 0x21c035) AM_READ_PORT("JMPR")
AM_RANGE(0x21c03c, 0x21c03d) AM_READ(video_count_r)
AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001", gp9001vdp_device, gp9001_vdp_r, gp9001_vdp_w)
- AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x400000, 0x400fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(toaplan2_tx_videoram_w) AM_SHARE("tx_videoram")
AM_RANGE(0x502000, 0x502fff) AM_RAM AM_SHARE("tx_lineselect")
AM_RANGE(0x503000, 0x5031ff) AM_RAM_WRITE(toaplan2_tx_linescroll_w) AM_SHARE("tx_linescroll")
@@ -1252,7 +1252,7 @@ static ADDRESS_MAP_START( batrider_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
// actually 200000 - 20ffff is probably all main RAM, and the text and palette RAM are written via DMA
AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(toaplan2_tx_videoram_w) AM_SHARE("tx_videoram")
- AM_RANGE(0x202000, 0x202fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x202000, 0x202fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x203000, 0x2031ff) AM_RAM AM_SHARE("tx_lineselect")
AM_RANGE(0x203200, 0x2033ff) AM_RAM_WRITE(toaplan2_tx_linescroll_w) AM_SHARE("tx_linescroll")
AM_RANGE(0x203400, 0x207fff) AM_RAM AM_SHARE("mainram16")
@@ -1282,7 +1282,7 @@ static ADDRESS_MAP_START( bbakraid_68k_mem, AS_PROGRAM, 16, toaplan2_state )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
// actually 200000 - 20ffff is probably all main RAM, and the text and palette RAM are written via DMA
AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(toaplan2_tx_videoram_w) AM_SHARE("tx_videoram")
- AM_RANGE(0x202000, 0x202fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x202000, 0x202fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x203000, 0x2031ff) AM_RAM AM_SHARE("tx_lineselect")
AM_RANGE(0x203200, 0x2033ff) AM_RAM_WRITE(toaplan2_tx_linescroll_w) AM_SHARE("tx_linescroll")
AM_RANGE(0x203400, 0x207fff) AM_RAM AM_SHARE("mainram16")
diff --git a/src/mame/drivers/toki.cpp b/src/mame/drivers/toki.cpp
index f14f204ee7f..20dbbe004f3 100644
--- a/src/mame/drivers/toki.cpp
+++ b/src/mame/drivers/toki.cpp
@@ -146,7 +146,7 @@ static ADDRESS_MAP_START( toki_map, AS_PROGRAM, 16, toki_state )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x06d7ff) AM_RAM
AM_RANGE(0x06d800, 0x06dfff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x06e000, 0x06e7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x06e000, 0x06e7ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x06e800, 0x06efff) AM_RAM_WRITE(background1_videoram_w) AM_SHARE("bg1_vram")
AM_RANGE(0x06f000, 0x06f7ff) AM_RAM_WRITE(background2_videoram_w) AM_SHARE("bg2_vram")
AM_RANGE(0x06f800, 0x06ffff) AM_RAM_WRITE(foreground_videoram_w) AM_SHARE("videoram")
@@ -161,7 +161,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tokib_map, AS_PROGRAM, 16, toki_state )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x06dfff) AM_RAM
- AM_RANGE(0x06e000, 0x06e7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x06e000, 0x06e7ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x06e800, 0x06efff) AM_RAM_WRITE(background1_videoram_w) AM_SHARE("bg1_vram")
AM_RANGE(0x06f000, 0x06f7ff) AM_RAM_WRITE(background2_videoram_w) AM_SHARE("bg2_vram")
AM_RANGE(0x06f800, 0x06ffff) AM_RAM_WRITE(foreground_videoram_w) AM_SHARE("videoram")
diff --git a/src/mame/drivers/toobin.cpp b/src/mame/drivers/toobin.cpp
index ed71e1c7cfb..2f59e228ded 100644
--- a/src/mame/drivers/toobin.cpp
+++ b/src/mame/drivers/toobin.cpp
@@ -84,8 +84,8 @@ WRITE16_MEMBER(toobin_state::interrupt_scan_w)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, toobin_state )
ADDRESS_MAP_GLOBAL_MASK(0xc7ffff)
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0xc00000, 0xc07fff) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
- AM_RANGE(0xc08000, 0xc097ff) AM_MIRROR(0x046000) AM_RAM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha")
+ AM_RANGE(0xc00000, 0xc07fff) AM_RAM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
+ AM_RANGE(0xc08000, 0xc097ff) AM_MIRROR(0x046000) AM_RAM_DEVWRITE("alpha", tilemap_device, write16) AM_SHARE("alpha")
AM_RANGE(0xc09800, 0xc09fff) AM_MIRROR(0x046000) AM_RAM AM_SHARE("mob")
AM_RANGE(0xc10000, 0xc107ff) AM_MIRROR(0x047800) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x826000, 0x826001) AM_MIRROR(0x4500fe) AM_READNOP /* who knows? read at controls time */
@@ -96,7 +96,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, toobin_state )
AM_RANGE(0x828380, 0x828381) AM_MIRROR(0x45003e) AM_RAM_WRITE(slip_w) AM_SHARE("mob:slip")
AM_RANGE(0x8283c0, 0x8283c1) AM_MIRROR(0x45003e) AM_WRITE(scanline_int_ack_w)
AM_RANGE(0x828400, 0x828401) AM_MIRROR(0x4500fe) AM_DEVWRITE("jsa", atari_jsa_i_device, sound_reset_w)
- AM_RANGE(0x828500, 0x828501) AM_MIRROR(0x4500fe) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0x828500, 0x828501) AM_MIRROR(0x4500fe) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0x828600, 0x828601) AM_MIRROR(0x4500fe) AM_WRITE(xscroll_w) AM_SHARE("xscroll")
AM_RANGE(0x828700, 0x828701) AM_MIRROR(0x4500fe) AM_WRITE(yscroll_w) AM_SHARE("yscroll")
AM_RANGE(0x828800, 0x828801) AM_MIRROR(0x4507fe) AM_READ_PORT("FF8800")
diff --git a/src/mame/drivers/topspeed.cpp b/src/mame/drivers/topspeed.cpp
index da52a3c9734..b5ed8bdcef3 100644
--- a/src/mame/drivers/topspeed.cpp
+++ b/src/mame/drivers/topspeed.cpp
@@ -380,7 +380,7 @@ WRITE_LINE_MEMBER(topspeed_state::z80ctc_to0)
static ADDRESS_MAP_START( cpua_map, AS_PROGRAM, 16, topspeed_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x400000, 0x40ffff) AM_RAM AM_SHARE("sharedram")
- AM_RANGE(0x500000, 0x503fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x500000, 0x503fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x600002, 0x600003) AM_WRITE(cpua_ctrl_w)
AM_RANGE(0x7e0000, 0x7e0001) AM_READNOP AM_DEVWRITE8("ciu", pc060ha_device, master_port_w, 0x00ff)
AM_RANGE(0x7e0002, 0x7e0003) AM_DEVREADWRITE8("ciu", pc060ha_device, master_comm_r, master_comm_w, 0x00ff)
diff --git a/src/mame/drivers/tranz330.cpp b/src/mame/drivers/tranz330.cpp
index e93294a792f..9b845675539 100644
--- a/src/mame/drivers/tranz330.cpp
+++ b/src/mame/drivers/tranz330.cpp
@@ -32,8 +32,8 @@ static void construct_address_map_tranz330_mem(address_map &map)
{
map.configure(AS_PROGRAM, 8);
- map.range(0x0000, 0x7fff).rom();
- map.range(0x8000, 0xffff).ram();
+ map(0x0000, 0x7fff).rom();
+ map(0x8000, 0xffff).ram();
}
static void construct_address_map_tranz330_io(address_map &map)
@@ -41,17 +41,10 @@ static void construct_address_map_tranz330_io(address_map &map)
map.configure(AS_IO, 8);
map.global_mask(0xff);
- map.range(0x00, 0x03).set_handler(read8_delegate(&z80pio_device::read_alt, "z80pio_device::read_alt", PIO_TAG, (z80pio_device *)nullptr),
- write8_delegate(&z80pio_device::write_alt, "z80pio_device::write_alt", PIO_TAG, (z80pio_device *)nullptr));
-
- map.range(0x10, 0x13).set_handler(read8_delegate(&z80ctc_device::read, "z80ctc_device::read", CTC_TAG, (z80ctc_device *)nullptr),
- write8_delegate(&z80ctc_device::write, "z80ctc_device::write", CTC_TAG, (z80ctc_device *)nullptr));
-
- map.range(0x20, 0x23).set_handler(read8_delegate(&z80dart_device::ba_cd_r, "z80dart_device::ba_cd_r", DART_TAG, (z80dart_device *)nullptr),
- write8_delegate(&z80dart_device::ba_cd_w, "z80dart_device::ba_cd_w", DART_TAG, (z80dart_device *)nullptr));
-
- map.range(0x30, 0x3f).set_handler(read8_delegate(&msm6242_device::read, "msm6242_device::read", RTC_TAG, (msm6242_device *)nullptr),
- write8_delegate(&msm6242_device::write, "msm6242_device::write", RTC_TAG, (msm6242_device *)nullptr));
+ map(0x00, 0x03).rw(PIO_TAG, FUNC(z80pio_device::read_alt), FUNC(z80pio_device::write_alt));
+ map(0x10, 0x13).rw(CTC_TAG, FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
+ map(0x20, 0x23).rw(DART_TAG, FUNC(z80dart_device::ba_cd_r), FUNC(z80dart_device::ba_cd_w));
+ map(0x30, 0x3f).rw(RTC_TAG, FUNC(msm6242_device::read), FUNC(msm6242_device::write));
}
static void construct_ioport_tranz330(device_t &owner, ioport_list &portlist, std::string &errorbuf)
diff --git a/src/mame/drivers/tumbleb.cpp b/src/mame/drivers/tumbleb.cpp
index 200d8664825..646146ac359 100644
--- a/src/mame/drivers/tumbleb.cpp
+++ b/src/mame/drivers/tumbleb.cpp
@@ -635,7 +635,7 @@ static ADDRESS_MAP_START( tumblepopb_main_map, AS_PROGRAM, 16, tumbleb_state )
#endif
AM_RANGE(0x100000, 0x100001) AM_READWRITE(tumblepb_prot_r, tumblepb_oki_w)
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_SHARE("mainram")
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_SHARE("spriteram") /* Bootleg sprite buffer */
AM_RANGE(0x160800, 0x160807) AM_WRITEONLY /* writes past the end of spriteram */
AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r)
@@ -657,7 +657,7 @@ static ADDRESS_MAP_START( fncywld_main_map, AS_PROGRAM, 16, tumbleb_state )
#endif
AM_RANGE(0x100000, 0x100003) AM_DEVREADWRITE8("ymsnd", ym2151_device, read, write, 0x00ff)
AM_RANGE(0x100004, 0x100005) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0x140000, 0x140fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x140000, 0x140fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_SHARE("spriteram") /* sprites */
AM_RANGE(0x160800, 0x16080f) AM_WRITEONLY /* goes slightly past the end of spriteram? */
AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r)
@@ -685,7 +685,7 @@ static ADDRESS_MAP_START( htchctch_main_map, AS_PROGRAM, 16, tumbleb_state )
AM_RANGE(0x100000, 0x100001) AM_WRITE(semicom_soundcmd_w)
AM_RANGE(0x100002, 0x100003) AM_WRITE(bcstory_tilebank_w)
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_SHARE("mainram")
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x160000, 0x160fff) AM_RAM AM_SHARE("spriteram") /* Bootleg sprite buffer */
AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r)
AM_RANGE(0x18000c, 0x18000d) AM_WRITENOP
@@ -711,7 +711,7 @@ static ADDRESS_MAP_START( suprtrio_main_map, AS_PROGRAM, 16, tumbleb_state )
AM_RANGE(0xa00000, 0xa0000f) AM_RAM AM_SHARE("control")
AM_RANGE(0xa20000, 0xa20fff) AM_RAM_WRITE(tumblepb_pf1_data_w) AM_SHARE("pf1_data")
AM_RANGE(0xa22000, 0xa22fff) AM_RAM_WRITE(tumblepb_pf2_data_w) AM_SHARE("pf2_data")
- AM_RANGE(0xcf0000, 0xcf05ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xcf0000, 0xcf05ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xe00000, 0xe00001) AM_READ_PORT("PLAYERS") AM_WRITE(suprtrio_tilebank_w)
AM_RANGE(0xe40000, 0xe40001) AM_READ_PORT("SYSTEM")
AM_RANGE(0xe80002, 0xe80003) AM_READ_PORT("DSW")
@@ -722,7 +722,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pangpang_main_map, AS_PROGRAM, 16, tumbleb_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_SHARE("mainram")
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_SHARE("spriteram") /* Bootleg sprite buffer */
AM_RANGE(0x160800, 0x160807) AM_WRITEONLY // writes past the end of spriteram
AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r)
@@ -778,7 +778,7 @@ static ADDRESS_MAP_START( jumpkids_main_map, AS_PROGRAM, 16, tumbleb_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_WRITE(jumpkids_sound_w)
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_SHARE("mainram")
- AM_RANGE(0x140000, 0x1407ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x140000, 0x1407ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_SHARE("spriteram") /* Bootleg sprite buffer */
AM_RANGE(0x160800, 0x160807) AM_WRITEONLY /* writes past the end of spriteram */
AM_RANGE(0x180000, 0x18000f) AM_READ(tumblepopb_controls_r)
@@ -3573,7 +3573,7 @@ DRIVER_INIT_MEMBER(tumbleb_state,chokchok)
DRIVER_INIT_CALL(htchctch);
/* different palette format, closer to tumblep -- is this controlled by a register? the palette was right with the hatch catch trojan */
- m_maincpu->space(AS_PROGRAM).install_write_handler(0x140000, 0x140fff, write16_delegate(FUNC(palette_device::write), m_palette.target()));
+ m_maincpu->space(AS_PROGRAM).install_write_handler(0x140000, 0x140fff, write16_delegate(FUNC(palette_device::write16), m_palette.target()));
/* slightly different banking */
m_maincpu->space(AS_PROGRAM).install_write_handler(0x100002, 0x100003, write16_delegate(FUNC(tumbleb_state::chokchok_tilebank_w),this));
diff --git a/src/mame/drivers/tutankhm.cpp b/src/mame/drivers/tutankhm.cpp
index 25213fe1857..3205b811755 100644
--- a/src/mame/drivers/tutankhm.cpp
+++ b/src/mame/drivers/tutankhm.cpp
@@ -130,7 +130,7 @@ WRITE8_MEMBER(tutankhm_state::sound_on_w)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tutankhm_state )
AM_RANGE(0x0000, 0x7fff) AM_RAM AM_SHARE("videoram")
- AM_RANGE(0x8000, 0x800f) AM_MIRROR(0x00f0) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x8000, 0x800f) AM_MIRROR(0x00f0) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0x8100, 0x8100) AM_MIRROR(0x000f) AM_RAM AM_SHARE("scroll")
AM_RANGE(0x8120, 0x8120) AM_MIRROR(0x000f) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
AM_RANGE(0x8160, 0x8160) AM_MIRROR(0x000f) AM_READ_PORT("DSW2") /* DSW2 (inverted bits) */
diff --git a/src/mame/drivers/twin16.cpp b/src/mame/drivers/twin16.cpp
index 53f6c848dff..65b91c9b6a6 100644
--- a/src/mame/drivers/twin16.cpp
+++ b/src/mame/drivers/twin16.cpp
@@ -181,7 +181,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, twin16_state )
AM_RANGE(0x040000, 0x043fff) AM_RAM AM_SHARE("comram")
// AM_RANGE(0x044000, 0x04ffff) AM_NOP // miaj
AM_RANGE(0x060000, 0x063fff) AM_RAM
- AM_RANGE(0x080000, 0x080fff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0x00ff) AM_SHARE("palette")
+ AM_RANGE(0x080000, 0x080fff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0x00ff) AM_SHARE("palette")
AM_RANGE(0x081000, 0x081fff) AM_WRITENOP
AM_RANGE(0x0a0000, 0x0a0001) AM_READ_PORT("SYSTEM") AM_WRITE(CPUA_register_w)
AM_RANGE(0x0a0002, 0x0a0003) AM_READ_PORT("P1")
@@ -220,7 +220,7 @@ static ADDRESS_MAP_START( fround_map, AS_PROGRAM, 16, fround_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x043fff) AM_RAM AM_SHARE("comram")
AM_RANGE(0x060000, 0x063fff) AM_RAM
- AM_RANGE(0x080000, 0x080fff) AM_DEVREADWRITE8("palette", palette_device, read, write, 0x00ff) AM_SHARE("palette")
+ AM_RANGE(0x080000, 0x080fff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0x00ff) AM_SHARE("palette")
AM_RANGE(0x0a0000, 0x0a0001) AM_READ_PORT("SYSTEM") AM_WRITE(fround_CPU_register_w)
AM_RANGE(0x0a0002, 0x0a0003) AM_READ_PORT("P1")
AM_RANGE(0x0a0004, 0x0a0005) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/twincobr.cpp b/src/mame/drivers/twincobr.cpp
index 362a3f0a328..00dd3ca04c3 100644
--- a/src/mame/drivers/twincobr.cpp
+++ b/src/mame/drivers/twincobr.cpp
@@ -397,7 +397,7 @@ static ADDRESS_MAP_START( main_program_map, AS_PROGRAM, 16, twincobr_state )
AM_RANGE(0x000000, 0x02ffff) AM_ROM
AM_RANGE(0x030000, 0x033fff) AM_RAM /* 68K and DSP shared RAM */
AM_RANGE(0x040000, 0x040fff) AM_RAM AM_SHARE("spriteram16")
- AM_RANGE(0x050000, 0x050dff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x050000, 0x050dff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x060000, 0x060001) AM_DEVWRITE8("crtc", mc6845_device, address_w, 0x00ff)
AM_RANGE(0x060002, 0x060003) AM_DEVWRITE8("crtc", mc6845_device, register_w, 0x00ff)
AM_RANGE(0x070000, 0x070003) AM_WRITE(twincobr_txscroll_w) /* text layer scroll */
diff --git a/src/mame/drivers/ultraman.cpp b/src/mame/drivers/ultraman.cpp
index ec905514254..5d54b1dd699 100644
--- a/src/mame/drivers/ultraman.cpp
+++ b/src/mame/drivers/ultraman.cpp
@@ -31,7 +31,7 @@ WRITE8_MEMBER(ultraman_state::sound_nmi_enable_w)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, ultraman_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_RAM
- AM_RANGE(0x180000, 0x183fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")/* Palette */
+ AM_RANGE(0x180000, 0x183fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")/* Palette */
AM_RANGE(0x1c0000, 0x1c0001) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1c0002, 0x1c0003) AM_READ_PORT("P1")
AM_RANGE(0x1c0004, 0x1c0005) AM_READ_PORT("P2")
diff --git a/src/mame/drivers/ultrsprt.cpp b/src/mame/drivers/ultrsprt.cpp
index 70b1469064e..8e091032716 100644
--- a/src/mame/drivers/ultrsprt.cpp
+++ b/src/mame/drivers/ultrsprt.cpp
@@ -155,7 +155,7 @@ static ADDRESS_MAP_START( ultrsprt_map, AS_PROGRAM, 32, ultrsprt_state )
AM_RANGE(0x700000c0, 0x700000cf) AM_WRITENOP // Written following DMA interrupt - unused int ack?
AM_RANGE(0x700000e0, 0x700000e3) AM_WRITE(int_ack_w)
AM_RANGE(0x7f000000, 0x7f01ffff) AM_RAM AM_SHARE("workram")
- AM_RANGE(0x7f700000, 0x7f703fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x7f700000, 0x7f703fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x7f800000, 0x7f9fffff) AM_MIRROR(0x00600000) AM_ROM AM_REGION("program", 0)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/umipoker.cpp b/src/mame/drivers/umipoker.cpp
index d8b825dde75..f1d97403cf3 100644
--- a/src/mame/drivers/umipoker.cpp
+++ b/src/mame/drivers/umipoker.cpp
@@ -316,7 +316,7 @@ static ADDRESS_MAP_START( umipoker_map, AS_PROGRAM, 16, umipoker_state )
ADDRESS_MAP_UNMAP_LOW
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x400000, 0x403fff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0x600000, 0x6007ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x600000, 0x6007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(umipoker_vram_0_w) AM_SHARE("vra0")
AM_RANGE(0x802000, 0x803fff) AM_RAM_WRITE(umipoker_vram_1_w) AM_SHARE("vra1")
AM_RANGE(0x804000, 0x805fff) AM_RAM_WRITE(umipoker_vram_2_w) AM_SHARE("vra2")
diff --git a/src/mame/drivers/undrfire.cpp b/src/mame/drivers/undrfire.cpp
index a9300808a88..733bb53fd03 100644
--- a/src/mame/drivers/undrfire.cpp
+++ b/src/mame/drivers/undrfire.cpp
@@ -413,7 +413,7 @@ static ADDRESS_MAP_START( undrfire_map, AS_PROGRAM, 32, undrfire_state )
AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_long_r, ctrl_long_w)
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w) /* 6bpp tilemaps */
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_long_r, ctrl_long_w)
- AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0xb00000, 0xb003ff) AM_RAM /* single bytes, blending ??? */
AM_RANGE(0xd00000, 0xd00003) AM_WRITE(rotate_control_w) /* perhaps port based rotate control? */
AM_RANGE(0xf00000, 0xf00007) AM_READ(undrfire_lightgun_r) /* stick coords read at $11b2-bc */
@@ -432,7 +432,7 @@ static ADDRESS_MAP_START( cbombers_cpua_map, AS_PROGRAM, 32, undrfire_state )
AM_RANGE(0x830000, 0x83002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_long_r, ctrl_long_w)
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, long_r, long_w) /* 6bpp tilemaps */
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE("tc0100scn", tc0100scn_device, ctrl_long_r, ctrl_long_w)
- AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xa00000, 0xa0ffff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0xb00000, 0xb0000f) AM_RAM /* ? */
AM_RANGE(0xc00000, 0xc00007) AM_RAM /* LAN controller? */
AM_RANGE(0xd00000, 0xd00003) AM_WRITE(rotate_control_w) /* perhaps port based rotate control? */
diff --git a/src/mame/drivers/vamphalf.cpp b/src/mame/drivers/vamphalf.cpp
index eb3b785d911..4ae57485533 100644
--- a/src/mame/drivers/vamphalf.cpp
+++ b/src/mame/drivers/vamphalf.cpp
@@ -443,21 +443,21 @@ WRITE8_MEMBER( vamphalf_state::qs1000_p3_w )
static ADDRESS_MAP_START( common_map, AS_PROGRAM, 16, vamphalf_state )
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("wram")
AM_RANGE(0x40000000, 0x4003ffff) AM_RAM AM_SHARE("tiles")
- AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xfff00000, 0xffffffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
static ADDRESS_MAP_START( common_32bit_map, AS_PROGRAM, 32, vamphalf_state )
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("wram32")
AM_RANGE(0x40000000, 0x4003ffff) AM_RAM AM_SHARE("tiles32")
- AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0xfff00000, 0xffffffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
static ADDRESS_MAP_START( yorijori_32bit_map, AS_PROGRAM, 32, vamphalf_state )
AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("wram32")
AM_RANGE(0x40000000, 0x4003ffff) AM_RAM AM_SHARE("tiles32")
- AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0xffe00000, 0xffffffff) AM_ROM AM_REGION("user1",0)
ADDRESS_MAP_END
@@ -576,7 +576,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( aoh_map, AS_PROGRAM, 32, vamphalf_state )
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE("wram32")
AM_RANGE(0x40000000, 0x4003ffff) AM_RAM AM_SHARE("tiles32")
- AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x80000000, 0x8000ffff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
AM_RANGE(0x80210000, 0x80210003) AM_READ_PORT("SYSTEM")
AM_RANGE(0x80220000, 0x80220003) AM_READ_PORT("P1_P2")
AM_RANGE(0xffc00000, 0xffffffff) AM_ROM AM_REGION("user1",0)
diff --git a/src/mame/drivers/vegaeo.cpp b/src/mame/drivers/vegaeo.cpp
index 0d4c624c117..f803a3c2cba 100644
--- a/src/mame/drivers/vegaeo.cpp
+++ b/src/mame/drivers/vegaeo.cpp
@@ -139,7 +139,7 @@ static ADDRESS_MAP_START( vega_map, AS_PROGRAM, 32, vegaeo_state )
AM_RANGE(0x00000000, 0x001fffff) AM_RAM
AM_RANGE(0x80000000, 0x80013fff) AM_READWRITE(vega_vram_r, vega_vram_w)
AM_RANGE(0xfc000000, 0xfc0000ff) AM_DEVREADWRITE8("at28c16", at28c16_device, read, write, 0x000000ff)
- AM_RANGE(0xfc200000, 0xfc2003ff) AM_DEVREADWRITE16("palette", palette_device, read, write, 0x0000ffff) AM_SHARE("palette")
+ AM_RANGE(0xfc200000, 0xfc2003ff) AM_DEVREADWRITE16("palette", palette_device, read16, write16, 0x0000ffff) AM_SHARE("palette")
AM_RANGE(0xfc400000, 0xfc40005b) AM_WRITENOP // crt registers ?
AM_RANGE(0xfc600000, 0xfc600003) AM_WRITE(soundlatch_w)
AM_RANGE(0xfca00000, 0xfca00003) AM_WRITE(vega_misc_w)
diff --git a/src/mame/drivers/vendetta.cpp b/src/mame/drivers/vendetta.cpp
index 23232a27b0f..8b760f2a5aa 100644
--- a/src/mame/drivers/vendetta.cpp
+++ b/src/mame/drivers/vendetta.cpp
@@ -256,7 +256,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( videobank1_map, AS_PROGRAM, 8, vendetta_state )
AM_RANGE(0x0000, 0x0fff) AM_READWRITE(K052109_r, K052109_w)
- AM_RANGE(0x1000, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1000, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, vendetta_state )
diff --git a/src/mame/drivers/vindictr.cpp b/src/mame/drivers/vindictr.cpp
index df7eb31d204..b61315d9f05 100644
--- a/src/mame/drivers/vindictr.cpp
+++ b/src/mame/drivers/vindictr.cpp
@@ -76,7 +76,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, vindictr_state )
ADDRESS_MAP_GLOBAL_MASK(0x3fffff)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
- AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000")
AM_RANGE(0x260010, 0x26001f) AM_READ(port1_r)
AM_RANGE(0x260020, 0x26002f) AM_READ_PORT("260020")
@@ -87,9 +87,9 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, vindictr_state )
AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("jsa", atari_jsa_i_device, sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_DEVWRITE8("jsa", atari_jsa_i_device, main_command_w, 0x00ff)
AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE(vindictr_paletteram_w) AM_SHARE("paletteram")
- AM_RANGE(0x3f0000, 0x3f1fff) AM_MIRROR(0x8000) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
+ AM_RANGE(0x3f0000, 0x3f1fff) AM_MIRROR(0x8000) AM_RAM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
AM_RANGE(0x3f2000, 0x3f3fff) AM_MIRROR(0x8000) AM_RAM AM_SHARE("mob")
- AM_RANGE(0x3f4000, 0x3f4f7f) AM_MIRROR(0x8000) AM_RAM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha")
+ AM_RANGE(0x3f4000, 0x3f4f7f) AM_MIRROR(0x8000) AM_RAM_DEVWRITE("alpha", tilemap_device, write16) AM_SHARE("alpha")
AM_RANGE(0x3f4f80, 0x3f4fff) AM_MIRROR(0x8000) AM_RAM AM_SHARE("mob:slip")
AM_RANGE(0x3f5000, 0x3f7fff) AM_MIRROR(0x8000) AM_RAM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/volfied.cpp b/src/mame/drivers/volfied.cpp
index cf117dfddd9..8af0748c1ad 100644
--- a/src/mame/drivers/volfied.cpp
+++ b/src/mame/drivers/volfied.cpp
@@ -72,7 +72,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, volfied_state )
AM_RANGE(0x100000, 0x103fff) AM_RAM /* main */
AM_RANGE(0x200000, 0x203fff) AM_DEVREADWRITE("pc090oj", pc090oj_device, word_r, word_w)
AM_RANGE(0x400000, 0x47ffff) AM_READWRITE(video_ram_r, video_ram_w)
- AM_RANGE(0x500000, 0x503fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x500000, 0x503fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x600000, 0x600001) AM_WRITE(video_mask_w)
AM_RANGE(0x700000, 0x700001) AM_WRITE(sprite_ctrl_w)
AM_RANGE(0xd00000, 0xd00001) AM_READWRITE(video_ctrl_r, video_ctrl_w)
diff --git a/src/mame/drivers/wardner.cpp b/src/mame/drivers/wardner.cpp
index 2e0e87e8345..8dad17f417e 100644
--- a/src/mame/drivers/wardner.cpp
+++ b/src/mame/drivers/wardner.cpp
@@ -170,7 +170,7 @@ static ADDRESS_MAP_START( main_program_map, AS_PROGRAM, 8, wardner_state )
AM_RANGE(0x0000, 0x6fff) AM_ROM
AM_RANGE(0x7000, 0x7fff) AM_RAM
AM_RANGE(0x8000, 0x8fff) AM_WRITE(wardner_sprite_w) // AM_SHARE("spriteram8")
- AM_RANGE(0xa000, 0xafff) AM_DEVWRITE("palette", palette_device, write) // AM_SHARE("palette")
+ AM_RANGE(0xa000, 0xafff) AM_DEVWRITE("palette", palette_device, write8) // AM_SHARE("palette")
AM_RANGE(0xc000, 0xc7ff) AM_WRITEONLY AM_SHARE("sharedram")
AM_RANGE(0x8000, 0xffff) AM_DEVREAD("membank", address_map_bank_device, read8)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/wc90.cpp b/src/mame/drivers/wc90.cpp
index e075433c1f4..621029e50d9 100644
--- a/src/mame/drivers/wc90.cpp
+++ b/src/mame/drivers/wc90.cpp
@@ -112,7 +112,7 @@ static ADDRESS_MAP_START( wc90_map_2, AS_PROGRAM, 8, wc90_state )
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xd800, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xe7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("subbank")
AM_RANGE(0xf800, 0xfbff) AM_RAM AM_SHARE("share1")
AM_RANGE(0xfc00, 0xfc00) AM_WRITE(bankswitch1_w)
diff --git a/src/mame/drivers/wc90b.cpp b/src/mame/drivers/wc90b.cpp
index 3cbab3cefc9..f91b4d079d1 100644
--- a/src/mame/drivers/wc90b.cpp
+++ b/src/mame/drivers/wc90b.cpp
@@ -167,7 +167,7 @@ static ADDRESS_MAP_START( wc90b_map2, AS_PROGRAM, 8, wc90b_state )
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0xd800, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xe7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xe800, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_ROMBANK("subbank")
AM_RANGE(0xf800, 0xfbff) AM_RAM AM_SHARE("share1")
diff --git a/src/mame/drivers/welltris.cpp b/src/mame/drivers/welltris.cpp
index f7864970e26..632e1e0db12 100644
--- a/src/mame/drivers/welltris.cpp
+++ b/src/mame/drivers/welltris.cpp
@@ -339,7 +339,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, welltris_state )
AM_RANGE(0xff8000, 0xffbfff) AM_RAM /* work */
AM_RANGE(0xffc000, 0xffc3ff) AM_RAM AM_SHARE("spriteram") /* Sprite */
AM_RANGE(0xffd000, 0xffdfff) AM_RAM_WRITE(charvideoram_w) AM_SHARE("charvideoram") /* Char */
- AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") /* Palette */
+ AM_RANGE(0xffe000, 0xffefff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") /* Palette */
AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("P1") /* Bottom Controls */
AM_RANGE(0xfff000, 0xfff001) AM_WRITE(palette_bank_w)
AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("P2") /* Top Controls */
diff --git a/src/mame/drivers/wgp.cpp b/src/mame/drivers/wgp.cpp
index 323bb8cf0bd..b2ce7742c3b 100644
--- a/src/mame/drivers/wgp.cpp
+++ b/src/mame/drivers/wgp.cpp
@@ -625,7 +625,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, wgp_state )
AM_RANGE(0x502000, 0x517fff) AM_RAM_WRITE(pivram_word_w) AM_SHARE("pivram") /* piv tilemaps */
AM_RANGE(0x520000, 0x52001f) AM_RAM_WRITE(piv_ctrl_word_w) AM_SHARE("piv_ctrlram")
AM_RANGE(0x600000, 0x600003) AM_WRITE(rotate_port_w) /* rotation control ? */
- AM_RANGE(0x700000, 0x701fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x700000, 0x701fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
ADDRESS_MAP_END
static ADDRESS_MAP_START( cpu2_map, AS_PROGRAM, 16 /* LAN areas not mapped... */, wgp_state )
diff --git a/src/mame/drivers/wildpkr.cpp b/src/mame/drivers/wildpkr.cpp
index ef00f7599ee..acc42fe7c33 100644
--- a/src/mame/drivers/wildpkr.cpp
+++ b/src/mame/drivers/wildpkr.cpp
@@ -305,8 +305,8 @@ WRITE16_MEMBER(wildpkr_state::unknown_trigger_w)
static ADDRESS_MAP_START( wildpkr_map, AS_PROGRAM, 16, wildpkr_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x113fff) AM_RAM
- AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE("acrtc", hd63484_device, status_r, address_w)
- AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE("acrtc", hd63484_device, data_r, data_w)
+ AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE("acrtc", hd63484_device, status16_r, address16_w)
+ AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE("acrtc", hd63484_device, data16_r, data16_w)
AM_RANGE(0x800080, 0x80009f) AM_DEVREADWRITE8("duart", mc68681_device, read, write, 0x00ff)
AM_RANGE(0x800180, 0x800181) AM_READ8(unknown_read8, 0xff00)
AM_RANGE(0x800180, 0x800181) AM_WRITE8(unknown_write8, 0x00ff)
@@ -323,8 +323,8 @@ static ADDRESS_MAP_START( tabpkr_map, AS_PROGRAM, 16, wildpkr_state )
AM_RANGE(0x000000, 0x2fffff) AM_ROM
AM_RANGE(0x300000, 0x303fff) AM_RAM
AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(nvram_w) AM_SHARE("nvram")
- AM_RANGE(0x500000, 0x500001) AM_DEVREADWRITE("acrtc", hd63484_device, status_r, address_w)
- AM_RANGE(0x500002, 0x500003) AM_DEVREADWRITE("acrtc", hd63484_device, data_r, data_w)
+ AM_RANGE(0x500000, 0x500001) AM_DEVREADWRITE("acrtc", hd63484_device, status16_r, address16_w)
+ AM_RANGE(0x500002, 0x500003) AM_DEVREADWRITE("acrtc", hd63484_device, data16_r, data16_w)
AM_RANGE(0x500020, 0x500021) AM_DEVREADWRITE8("ramdac", ramdac_device, index_r, index_w, 0x00ff)
AM_RANGE(0x500022, 0x500023) AM_DEVREADWRITE8("ramdac", ramdac_device, pal_r, pal_w, 0x00ff)
AM_RANGE(0x500024, 0x500025) AM_DEVREADWRITE8("ramdac", ramdac_device, mask_r, mask_w, 0x00ff)
diff --git a/src/mame/drivers/wink.cpp b/src/mame/drivers/wink.cpp
index f58c49eb94a..75747fab254 100644
--- a/src/mame/drivers/wink.cpp
+++ b/src/mame/drivers/wink.cpp
@@ -168,7 +168,7 @@ WRITE8_MEMBER(wink_state::prot_w)
static ADDRESS_MAP_START( wink_io, AS_IO, 8, wink_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x1f) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") //0x10-0x1f is likely to be something else
+ AM_RANGE(0x00, 0x1f) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette") //0x10-0x1f is likely to be something else
// AM_RANGE(0x20, 0x20) AM_WRITENOP //??? seems unused..
AM_RANGE(0x21, 0x21) AM_WRITE(player_mux_w) //??? no mux on the pcb.
AM_RANGE(0x22, 0x22) AM_WRITE(tile_banking_w)
diff --git a/src/mame/drivers/witch.cpp b/src/mame/drivers/witch.cpp
index e0b4bfd7a03..e7666dbabaa 100644
--- a/src/mame/drivers/witch.cpp
+++ b/src/mame/drivers/witch.cpp
@@ -494,8 +494,8 @@ static ADDRESS_MAP_START( map_main, AS_PROGRAM, 8, witch_state )
AM_RANGE(0xc800, 0xcbff) AM_READWRITE(gfx1_vram_r, gfx1_vram_w) AM_SHARE("gfx1_vram")
AM_RANGE(0xcc00, 0xcfff) AM_READWRITE(gfx1_cram_r, gfx1_cram_w) AM_SHARE("gfx1_cram")
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_SHARE("sprite_ram")
- AM_RANGE(0xe000, 0xe7ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0xe800, 0xefff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0xe800, 0xefff) AM_RAM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0xf000, 0xf0ff) AM_RAM AM_SHARE("share1")
AM_RANGE(0xf100, 0xf1ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xf200, 0xffff) AM_RAM AM_SHARE("share2")
diff --git a/src/mame/drivers/wrally.cpp b/src/mame/drivers/wrally.cpp
index 372169a167f..da67c15b0d7 100644
--- a/src/mame/drivers/wrally.cpp
+++ b/src/mame/drivers/wrally.cpp
@@ -148,7 +148,7 @@ static ADDRESS_MAP_START( wrally_map, AS_PROGRAM, 16, wrally_state )
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(vram_w) AM_SHARE("videoram") /* encrypted Video RAM */
AM_RANGE(0x108000, 0x108007) AM_RAM AM_SHARE("vregs") /* Video Registers */
AM_RANGE(0x10800c, 0x10800d) AM_WRITENOP /* CLR INT Video */
- AM_RANGE(0x200000, 0x203fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") /* Palette */
+ AM_RANGE(0x200000, 0x203fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") /* Palette */
AM_RANGE(0x440000, 0x440fff) AM_RAM AM_SHARE("spriteram") /* Sprite RAM */
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("DSW")
AM_RANGE(0x700002, 0x700003) AM_READ_PORT("P1_P2")
diff --git a/src/mame/drivers/wwfsstar.cpp b/src/mame/drivers/wwfsstar.cpp
index 4447948e4c2..10ab02f782e 100644
--- a/src/mame/drivers/wwfsstar.cpp
+++ b/src/mame/drivers/wwfsstar.cpp
@@ -179,7 +179,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, wwfsstar_state )
AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(fg0_videoram_w) AM_SHARE("fg0_videoram") /* FG0 Ram */
AM_RANGE(0x0c0000, 0x0c0fff) AM_RAM_WRITE(bg0_videoram_w) AM_SHARE("bg0_videoram") /* BG0 Ram */
AM_RANGE(0x100000, 0x1003ff) AM_RAM AM_SHARE("spriteram") /* SPR Ram */
- AM_RANGE(0x140000, 0x140fff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x140000, 0x140fff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x180000, 0x180003) AM_WRITE(irqack_w)
AM_RANGE(0x180000, 0x180001) AM_READ_PORT("DSW1")
AM_RANGE(0x180002, 0x180003) AM_READ_PORT("DSW2")
diff --git a/src/mame/drivers/wyvernf0.cpp b/src/mame/drivers/wyvernf0.cpp
index 19f353b7389..4ca2c66a00b 100644
--- a/src/mame/drivers/wyvernf0.cpp
+++ b/src/mame/drivers/wyvernf0.cpp
@@ -417,7 +417,7 @@ static ADDRESS_MAP_START( wyvernf0_map, AS_PROGRAM, 8, wyvernf0_state )
AM_RANGE(0xd610, 0xd610) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_WRITE(sound_command_w)
// d613 write (FF -> 00 at boot)
- AM_RANGE(0xd800, 0xdbff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xd800, 0xdbff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xdc00, 0xdc00) AM_WRITENOP // irq ack?
ADDRESS_MAP_END
diff --git a/src/mame/drivers/x68k.cpp b/src/mame/drivers/x68k.cpp
index a3a82e6e61b..2fef9604e7c 100644
--- a/src/mame/drivers/x68k.cpp
+++ b/src/mame/drivers/x68k.cpp
@@ -1140,8 +1140,8 @@ static ADDRESS_MAP_START(x68k_map, AS_PROGRAM, 16, x68k_state )
AM_RANGE(0xc00000, 0xdfffff) AM_READWRITE(x68k_gvram_r, x68k_gvram_w)
AM_RANGE(0xe00000, 0xe7ffff) AM_READWRITE(x68k_tvram_r, x68k_tvram_w)
AM_RANGE(0xe80000, 0xe81fff) AM_READWRITE(x68k_crtc_r, x68k_crtc_w)
- AM_RANGE(0xe82000, 0xe821ff) AM_DEVREADWRITE("gfxpalette", palette_device, read, write) AM_SHARE("gfxpalette")
- AM_RANGE(0xe82200, 0xe823ff) AM_DEVREADWRITE("pcgpalette", palette_device, read, write) AM_SHARE("pcgpalette")
+ AM_RANGE(0xe82000, 0xe821ff) AM_DEVREADWRITE("gfxpalette", palette_device, read16, write16) AM_SHARE("gfxpalette")
+ AM_RANGE(0xe82200, 0xe823ff) AM_DEVREADWRITE("pcgpalette", palette_device, read16, write16) AM_SHARE("pcgpalette")
AM_RANGE(0xe82400, 0xe83fff) AM_READWRITE(x68k_vid_r, x68k_vid_w)
AM_RANGE(0xe84000, 0xe85fff) AM_DEVREADWRITE("hd63450", hd63450_device, read, write)
AM_RANGE(0xe86000, 0xe87fff) AM_READWRITE(x68k_areaset_r, x68k_areaset_w)
@@ -1178,8 +1178,8 @@ static ADDRESS_MAP_START(x68kxvi_map, AS_PROGRAM, 16, x68k_state )
AM_RANGE(0xc00000, 0xdfffff) AM_READWRITE(x68k_gvram_r, x68k_gvram_w)
AM_RANGE(0xe00000, 0xe7ffff) AM_READWRITE(x68k_tvram_r, x68k_tvram_w)
AM_RANGE(0xe80000, 0xe81fff) AM_READWRITE(x68k_crtc_r, x68k_crtc_w)
- AM_RANGE(0xe82000, 0xe821ff) AM_DEVREADWRITE("gfxpalette", palette_device, read, write) AM_SHARE("gfxpalette")
- AM_RANGE(0xe82200, 0xe823ff) AM_DEVREADWRITE("pcgpalette", palette_device, read, write) AM_SHARE("pcgpalette")
+ AM_RANGE(0xe82000, 0xe821ff) AM_DEVREADWRITE("gfxpalette", palette_device, read16, write16) AM_SHARE("gfxpalette")
+ AM_RANGE(0xe82200, 0xe823ff) AM_DEVREADWRITE("pcgpalette", palette_device, read16, write16) AM_SHARE("pcgpalette")
AM_RANGE(0xe82400, 0xe83fff) AM_READWRITE(x68k_vid_r, x68k_vid_w)
AM_RANGE(0xe84000, 0xe85fff) AM_DEVREADWRITE("hd63450", hd63450_device, read, write)
AM_RANGE(0xe86000, 0xe87fff) AM_READWRITE(x68k_areaset_r, x68k_areaset_w)
@@ -1218,8 +1218,8 @@ static ADDRESS_MAP_START(x68030_map, AS_PROGRAM, 32, x68k_state )
AM_RANGE(0xc00000, 0xdfffff) AM_READWRITE16(x68k_gvram_r, x68k_gvram_w, 0xffffffff)
AM_RANGE(0xe00000, 0xe7ffff) AM_READWRITE16(x68k_tvram_r, x68k_tvram_w, 0xffffffff)
AM_RANGE(0xe80000, 0xe81fff) AM_READWRITE16(x68k_crtc_r, x68k_crtc_w,0xffffffff)
- AM_RANGE(0xe82000, 0xe821ff) AM_DEVREADWRITE("gfxpalette", palette_device, read, write) AM_SHARE("gfxpalette")
- AM_RANGE(0xe82200, 0xe823ff) AM_DEVREADWRITE("pcgpalette", palette_device, read, write) AM_SHARE("pcgpalette")
+ AM_RANGE(0xe82000, 0xe821ff) AM_DEVREADWRITE("gfxpalette", palette_device, read32, write32) AM_SHARE("gfxpalette")
+ AM_RANGE(0xe82200, 0xe823ff) AM_DEVREADWRITE("pcgpalette", palette_device, read32, write32) AM_SHARE("pcgpalette")
AM_RANGE(0xe82400, 0xe83fff) AM_READWRITE16(x68k_vid_r, x68k_vid_w,0xffffffff)
AM_RANGE(0xe84000, 0xe85fff) AM_DEVREADWRITE16("hd63450", hd63450_device, read, write, 0xffffffff)
AM_RANGE(0xe86000, 0xe87fff) AM_READWRITE16(x68k_areaset_r, x68k_areaset_w,0xffffffff)
diff --git a/src/mame/drivers/xain.cpp b/src/mame/drivers/xain.cpp
index 59ef91f715f..b9a7086930f 100644
--- a/src/mame/drivers/xain.cpp
+++ b/src/mame/drivers/xain.cpp
@@ -301,8 +301,8 @@ static ADDRESS_MAP_START( bootleg_map, AS_PROGRAM, 8, xain_state )
AM_RANGE(0x3a09, 0x3a0c) AM_WRITE(main_irq_w)
AM_RANGE(0x3a0d, 0x3a0d) AM_WRITE(flipscreen_w)
AM_RANGE(0x3a0f, 0x3a0f) AM_WRITE(cpuA_bankswitch_w)
- AM_RANGE(0x3c00, 0x3dff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x3e00, 0x3fff) AM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
+ AM_RANGE(0x3c00, 0x3dff) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
+ AM_RANGE(0x3e00, 0x3fff) AM_DEVWRITE("palette", palette_device, write8_ext) AM_SHARE("palette_ext")
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/xexex.cpp b/src/mame/drivers/xexex.cpp
index 8578b0aafcc..8fd03ee01f5 100644
--- a/src/mame/drivers/xexex.cpp
+++ b/src/mame/drivers/xexex.cpp
@@ -365,7 +365,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xexex_state )
AM_RANGE(0x182000, 0x183fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w)
AM_RANGE(0x190000, 0x191fff) AM_DEVREAD("k056832", k056832_device, rom_word_r) // Passthrough to tile roms
AM_RANGE(0x1a0000, 0x1a1fff) AM_DEVREAD("k053250", k053250_device, rom_r)
- AM_RANGE(0x1b0000, 0x1b1fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x1b0000, 0x1b1fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
#if XE_DEBUG
AM_RANGE(0x0c0000, 0x0c003f) AM_DEVREAD("k056832", k056832_device, word_r)
diff --git a/src/mame/drivers/xmen.cpp b/src/mame/drivers/xmen.cpp
index 00739273a70..ae42fe9270b 100644
--- a/src/mame/drivers/xmen.cpp
+++ b/src/mame/drivers/xmen.cpp
@@ -82,7 +82,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xmen_state )
AM_RANGE(0x080000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x100fff) AM_DEVREADWRITE("k053246", k053247_device, k053247_word_r, k053247_word_w)
AM_RANGE(0x101000, 0x101fff) AM_RAM
- AM_RANGE(0x104000, 0x104fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x104000, 0x104fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x108000, 0x108001) AM_WRITE(eeprom_w)
AM_RANGE(0x108020, 0x108027) AM_DEVWRITE("k053246", k053247_device, k053246_word_w)
AM_RANGE(0x108040, 0x10805f) AM_DEVICE8("k054321", k054321_device, main_map, 0x00ff)
@@ -114,7 +114,7 @@ static ADDRESS_MAP_START( 6p_main_map, AS_PROGRAM, 16, xmen_state )
AM_RANGE(0x101000, 0x101fff) AM_RAM
AM_RANGE(0x102000, 0x102fff) AM_RAM AM_SHARE("spriteramright") /* sprites (screen 2) */
AM_RANGE(0x103000, 0x103fff) AM_RAM /* 6p - a buffer? */
- AM_RANGE(0x104000, 0x104fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x104000, 0x104fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x108000, 0x108001) AM_WRITE(eeprom_w)
AM_RANGE(0x108020, 0x108027) AM_DEVWRITE("k053246", k053247_device, k053246_word_w) /* sprites */
AM_RANGE(0x108040, 0x10805f) AM_DEVICE8("k054321", k054321_device, main_map, 0x00ff)
diff --git a/src/mame/drivers/xxmissio.cpp b/src/mame/drivers/xxmissio.cpp
index 09771b0b933..34d6059be62 100644
--- a/src/mame/drivers/xxmissio.cpp
+++ b/src/mame/drivers/xxmissio.cpp
@@ -106,7 +106,7 @@ static ADDRESS_MAP_START( map1, AS_PROGRAM, 8, xxmissio_state )
AM_RANGE(0xc800, 0xcfff) AM_READWRITE(bgram_r, bgram_w) AM_SHARE("bgram")
AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0xd800, 0xdaff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xd800, 0xdaff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xe000, 0xefff) AM_SHARE("share5") AM_RAM
AM_RANGE(0xf000, 0xffff) AM_SHARE("share6") AM_RAM
@@ -131,7 +131,7 @@ static ADDRESS_MAP_START( map2, AS_PROGRAM, 8, xxmissio_state )
AM_RANGE(0xc800, 0xcfff) AM_SHARE("bgram") AM_READWRITE(bgram_r, bgram_w)
AM_RANGE(0xd000, 0xd7ff) AM_SHARE("spriteram") AM_RAM
- AM_RANGE(0xd800, 0xdaff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0xd800, 0xdaff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
AM_RANGE(0xe000, 0xefff) AM_SHARE("share6") AM_RAM
AM_RANGE(0xf000, 0xffff) AM_SHARE("share5") AM_RAM
diff --git a/src/mame/drivers/xybots.cpp b/src/mame/drivers/xybots.cpp
index 7b3172b57b8..827ce9c10a4 100644
--- a/src/mame/drivers/xybots.cpp
+++ b/src/mame/drivers/xybots.cpp
@@ -76,16 +76,16 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xybots_state )
AM_RANGE(0x000000, 0x007fff) AM_MIRROR(0x7c0000) AM_ROM
AM_RANGE(0x008000, 0x00ffff) AM_MIRROR(0x7c0000) AM_ROM /* slapstic maps here */
AM_RANGE(0x010000, 0x03ffff) AM_MIRROR(0x7c0000) AM_ROM
- AM_RANGE(0x800000, 0x800fff) AM_MIRROR(0x7f8000) AM_RAM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha")
+ AM_RANGE(0x800000, 0x800fff) AM_MIRROR(0x7f8000) AM_RAM_DEVWRITE("alpha", tilemap_device, write16) AM_SHARE("alpha")
AM_RANGE(0x801000, 0x802dff) AM_MIRROR(0x7f8000) AM_RAM
AM_RANGE(0x802e00, 0x802fff) AM_MIRROR(0x7f8000) AM_RAM AM_SHARE("mob")
- AM_RANGE(0x803000, 0x803fff) AM_MIRROR(0x7f8000) AM_RAM_DEVWRITE("playfield", tilemap_device, write) AM_SHARE("playfield")
- AM_RANGE(0x804000, 0x8047ff) AM_MIRROR(0x7f8800) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x803000, 0x803fff) AM_MIRROR(0x7f8000) AM_RAM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
+ AM_RANGE(0x804000, 0x8047ff) AM_MIRROR(0x7f8800) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x805000, 0x805fff) AM_MIRROR(0x7f8000) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
AM_RANGE(0x806000, 0x8060ff) AM_MIRROR(0x7f8000) AM_DEVREAD8("jsa", atari_jsa_i_device, main_response_r, 0x00ff)
AM_RANGE(0x806100, 0x8061ff) AM_MIRROR(0x7f8000) AM_READ_PORT("FFE100")
AM_RANGE(0x806200, 0x8062ff) AM_MIRROR(0x7f8000) AM_READ(special_port1_r)
- AM_RANGE(0x806800, 0x8068ff) AM_MIRROR(0x7f8000) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write)
+ AM_RANGE(0x806800, 0x8068ff) AM_MIRROR(0x7f8000) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
AM_RANGE(0x806900, 0x8069ff) AM_MIRROR(0x7f8000) AM_DEVWRITE8("jsa", atari_jsa_i_device, main_command_w, 0x00ff)
AM_RANGE(0x806a00, 0x806aff) AM_MIRROR(0x7f8000) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
AM_RANGE(0x806b00, 0x806bff) AM_MIRROR(0x7f8000) AM_WRITE(video_int_ack_w)
diff --git a/src/mame/drivers/yunsun16.cpp b/src/mame/drivers/yunsun16.cpp
index 3309ed60599..d64d3721825 100644
--- a/src/mame/drivers/yunsun16.cpp
+++ b/src/mame/drivers/yunsun16.cpp
@@ -127,7 +127,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, yunsun16_state )
AM_RANGE(0x800180, 0x800181) AM_WRITE8(sound_bank_w, 0x00ff) // Sound
AM_RANGE(0x800188, 0x800189) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) // Sound
AM_RANGE(0x8001fe, 0x8001ff) AM_WRITENOP // ? 0 (during int)
- AM_RANGE(0x900000, 0x903fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") // Palette
+ AM_RANGE(0x900000, 0x903fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // Palette
AM_RANGE(0x908000, 0x90bfff) AM_RAM_WRITE(vram_1_w) AM_SHARE("vram_1") // Layer 1
AM_RANGE(0x90c000, 0x90ffff) AM_RAM_WRITE(vram_0_w) AM_SHARE("vram_0") // Layer 0
AM_RANGE(0x910000, 0x910fff) AM_RAM AM_SHARE("spriteram") // Sprites
diff --git a/src/mame/drivers/zerozone.cpp b/src/mame/drivers/zerozone.cpp
index 238c56fc23e..a9f7e781ff5 100644
--- a/src/mame/drivers/zerozone.cpp
+++ b/src/mame/drivers/zerozone.cpp
@@ -56,7 +56,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, zerozone_state )
AM_RANGE(0x080008, 0x080009) AM_READ_PORT("DSWB")
AM_RANGE(0x08000a, 0x08000b) AM_READ_PORT("DSWA")
AM_RANGE(0x084000, 0x084001) AM_WRITE(sound_w)
- AM_RANGE(0x088000, 0x0881ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x088000, 0x0881ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0x098000, 0x098001) AM_RAM /* Watchdog? */
AM_RANGE(0x09ce00, 0x09ffff) AM_RAM_WRITE(tilemap_w) AM_SHARE("videoram")
AM_RANGE(0x0b4000, 0x0b4001) AM_WRITE(tilebank_w)
diff --git a/src/mame/drivers/zwackery.cpp b/src/mame/drivers/zwackery.cpp
index 72862e18cd8..c0e12353a67 100644
--- a/src/mame/drivers/zwackery.cpp
+++ b/src/mame/drivers/zwackery.cpp
@@ -111,7 +111,7 @@ static ADDRESS_MAP_START( zwackery_map, AS_PROGRAM, 16, zwackery_state )
AM_RANGE(0x108000, 0x108007) AM_DEVREADWRITE8("pia1", pia6821_device, read, write, 0x00ff)
AM_RANGE(0x10c000, 0x10c007) AM_DEVREADWRITE8("pia2", pia6821_device, read, write, 0x00ff)
AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x802000, 0x803fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
+ AM_RANGE(0x802000, 0x803fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
AM_RANGE(0xc00000, 0xc00fff) AM_READWRITE8(spriteram_r, spriteram_w, 0x00ff)
ADDRESS_MAP_END
diff --git a/src/mame/machine/atarigen.cpp b/src/mame/machine/atarigen.cpp
index c0102c43476..dab8bf74575 100644
--- a/src/mame/machine/atarigen.cpp
+++ b/src/mame/machine/atarigen.cpp
@@ -414,7 +414,7 @@ READ16_MEMBER(atari_vad_device::control_read)
WRITE16_MEMBER(atari_vad_device::alpha_w)
{
- m_alpha_tilemap->write(space, offset, data, mem_mask);
+ m_alpha_tilemap->write16(space, offset, data, mem_mask);
}
@@ -425,9 +425,9 @@ WRITE16_MEMBER(atari_vad_device::alpha_w)
WRITE16_MEMBER(atari_vad_device::playfield_upper_w)
{
- m_playfield_tilemap->write_ext(space, offset, data, mem_mask);
+ m_playfield_tilemap->write16_ext(space, offset, data, mem_mask);
if (m_playfield2_tilemap != nullptr)
- m_playfield2_tilemap->write_ext(space, offset, data, mem_mask);
+ m_playfield2_tilemap->write16_ext(space, offset, data, mem_mask);
}
@@ -439,9 +439,9 @@ WRITE16_MEMBER(atari_vad_device::playfield_upper_w)
WRITE16_MEMBER(atari_vad_device::playfield_latched_lsb_w)
{
- m_playfield_tilemap->write(space, offset, data, mem_mask);
+ m_playfield_tilemap->write16(space, offset, data, mem_mask);
if ((m_control[0x0a] & 0x80) != 0)
- m_playfield_tilemap->write_ext(space, offset, m_control[0x1d], uint16_t(0x00ff));
+ m_playfield_tilemap->write16_ext(space, offset, m_control[0x1d], uint16_t(0x00ff));
}
@@ -453,9 +453,9 @@ WRITE16_MEMBER(atari_vad_device::playfield_latched_lsb_w)
WRITE16_MEMBER(atari_vad_device::playfield_latched_msb_w)
{
- m_playfield_tilemap->write(space, offset, data, mem_mask);
+ m_playfield_tilemap->write16(space, offset, data, mem_mask);
if ((m_control[0x0a] & 0x80) != 0)
- m_playfield_tilemap->write_ext(space, offset, m_control[0x1c], uint16_t(0xff00));
+ m_playfield_tilemap->write16_ext(space, offset, m_control[0x1c], uint16_t(0xff00));
}
@@ -467,9 +467,9 @@ WRITE16_MEMBER(atari_vad_device::playfield_latched_msb_w)
WRITE16_MEMBER(atari_vad_device::playfield2_latched_msb_w)
{
- m_playfield2_tilemap->write(space, offset, data, mem_mask);
+ m_playfield2_tilemap->write16(space, offset, data, mem_mask);
if ((m_control[0x0a] & 0x80) != 0)
- m_playfield2_tilemap->write_ext(space, offset, m_control[0x1c], uint16_t(0xff00));
+ m_playfield2_tilemap->write16_ext(space, offset, m_control[0x1c], uint16_t(0xff00));
}
diff --git a/src/mame/machine/interpro_ioga.cpp b/src/mame/machine/interpro_ioga.cpp
index 0d6a0dccfbb..434fc08bee5 100644
--- a/src/mame/machine/interpro_ioga.cpp
+++ b/src/mame/machine/interpro_ioga.cpp
@@ -1210,7 +1210,7 @@ WRITE16_MEMBER(turquoise_ioga_device::eth_w)
m_memory_space->write_word(address, data, mem_mask);
}
-READ16_MEMBER(turquoise_ioga_device::eth_r) const
+READ16_MEMBER(turquoise_ioga_device::eth_r)
{
const u32 address = m_eth_base | ((offset << 1) & ~ETH_BASE_MASK);
@@ -1291,7 +1291,7 @@ WRITE32_MEMBER(sapphire_ioga_device::eth_w)
m_memory_space->write_dword(address, data, mem_mask);
}
-READ32_MEMBER(sapphire_ioga_device::eth_r) const
+READ32_MEMBER(sapphire_ioga_device::eth_r)
{
// top two bits give channel (0=A, 4=B, 8=C, f=?)
const int channel = offset >> 28;
diff --git a/src/mame/machine/interpro_ioga.h b/src/mame/machine/interpro_ioga.h
index 3d7795cd259..88273eff95d 100644
--- a/src/mame/machine/interpro_ioga.h
+++ b/src/mame/machine/interpro_ioga.h
@@ -468,7 +468,7 @@ public:
virtual DECLARE_ADDRESS_MAP(map, 32) override;
DECLARE_WRITE16_MEMBER(eth_w);
- DECLARE_READ16_MEMBER(eth_r) const;
+ DECLARE_READ16_MEMBER(eth_r);
protected:
virtual TIMER_CALLBACK_MEMBER(eth_reset) override;
@@ -510,7 +510,7 @@ public:
virtual DECLARE_ADDRESS_MAP(map, 32) override;
DECLARE_WRITE32_MEMBER(eth_w);
- DECLARE_READ32_MEMBER(eth_r) const;
+ DECLARE_READ32_MEMBER(eth_r);
protected:
virtual TIMER_CALLBACK_MEMBER(eth_reset) override;
diff --git a/src/mame/machine/leland.cpp b/src/mame/machine/leland.cpp
index 347276a58a7..ac5f1f9e4c3 100644
--- a/src/mame/machine/leland.cpp
+++ b/src/mame/machine/leland.cpp
@@ -1249,7 +1249,7 @@ WRITE8_MEMBER(leland_state::ataxx_master_output_w)
WRITE8_MEMBER(leland_state::leland_gated_paletteram_w)
{
if (m_wcol_enable)
- m_palette->write(space, offset, data);
+ m_palette->write8(space, offset, data);
}
@@ -1264,7 +1264,7 @@ READ8_MEMBER(leland_state::leland_gated_paletteram_r)
WRITE8_MEMBER(leland_state::ataxx_paletteram_and_misc_w)
{
if (m_wcol_enable)
- m_palette->write(space, offset, data);
+ m_palette->write8(space, offset, data);
else if (offset == 0x7f8 || offset == 0x7f9)
leland_master_video_addr_w(space, offset - 0x7f8, data);
else if (offset == 0x7fc)
diff --git a/src/mame/video/atarisy2.cpp b/src/mame/video/atarisy2.cpp
index ca38359a8f0..a76b917760e 100644
--- a/src/mame/video/atarisy2.cpp
+++ b/src/mame/video/atarisy2.cpp
@@ -241,7 +241,7 @@ WRITE16_MEMBER( atarisy2_state::videoram_w )
/* alpharam? */
if (offs < 0x0c00)
- m_alpha_tilemap->write(space, offs, data, mem_mask);
+ m_alpha_tilemap->write16(space, offs, data, mem_mask);
/* spriteram? */
else if (offs < 0x1000)
@@ -254,7 +254,7 @@ WRITE16_MEMBER( atarisy2_state::videoram_w )
/* playfieldram? */
else if (offs >= 0x2000)
- m_playfield_tilemap->write(space, offs - 0x2000, data, mem_mask);
+ m_playfield_tilemap->write16(space, offs - 0x2000, data, mem_mask);
/* generic case */
else
diff --git a/src/mame/video/decrmc3.cpp b/src/mame/video/decrmc3.cpp
index 388d2b1f739..18a8dbaa828 100644
--- a/src/mame/video/decrmc3.cpp
+++ b/src/mame/video/decrmc3.cpp
@@ -92,35 +92,35 @@ inline void deco_rmc3_device::update_for_write(offs_t byte_offset, int bytes_mod
// write - write a byte to the base paletteram
//-------------------------------------------------
-WRITE8_MEMBER(deco_rmc3_device::write)
+WRITE8_MEMBER(deco_rmc3_device::write8)
{
m_paletteram.write8(offset, data);
update_for_write(offset, 1);
}
-WRITE16_MEMBER(deco_rmc3_device::write)
+WRITE16_MEMBER(deco_rmc3_device::write16)
{
m_paletteram.write16(offset, data, mem_mask);
update_for_write(offset * 2, 2);
}
-WRITE32_MEMBER(deco_rmc3_device::write)
+WRITE32_MEMBER(deco_rmc3_device::write32)
{
m_paletteram.write32(offset, data, mem_mask);
update_for_write(offset * 4, 4);
}
-READ8_MEMBER(deco_rmc3_device::read)
+READ8_MEMBER(deco_rmc3_device::read8)
{
return m_paletteram.read8(offset);
}
-READ16_MEMBER(deco_rmc3_device::read)
+READ16_MEMBER(deco_rmc3_device::read16)
{
return m_paletteram.read16(offset);
}
-READ32_MEMBER(deco_rmc3_device::read)
+READ32_MEMBER(deco_rmc3_device::read32)
{
return m_paletteram.read32(offset);
}
@@ -131,14 +131,14 @@ READ32_MEMBER(deco_rmc3_device::read)
// paletteram
//-------------------------------------------------
-WRITE8_MEMBER(deco_rmc3_device::write_ext)
+WRITE8_MEMBER(deco_rmc3_device::write8_ext)
{
m_paletteram_ext.write8(offset, data);
update_for_write(offset, 1);
}
-WRITE16_MEMBER(deco_rmc3_device::write_ext)
+WRITE16_MEMBER(deco_rmc3_device::write16_ext)
{
m_paletteram_ext.write16(offset, data, mem_mask);
update_for_write(offset * 2, 2);
diff --git a/src/mame/video/decrmc3.h b/src/mame/video/decrmc3.h
index 45ae8cc12f1..9b0ba7b009e 100644
--- a/src/mame/video/decrmc3.h
+++ b/src/mame/video/decrmc3.h
@@ -83,16 +83,16 @@ public:
}
// generic read/write handlers
- DECLARE_READ8_MEMBER(read);
- DECLARE_WRITE8_MEMBER(write);
- DECLARE_WRITE8_MEMBER(write_ext);
+ DECLARE_READ8_MEMBER(read8);
+ DECLARE_WRITE8_MEMBER(write8);
+ DECLARE_WRITE8_MEMBER(write8_ext);
DECLARE_WRITE8_MEMBER(write_indirect);
DECLARE_WRITE8_MEMBER(write_indirect_ext);
- DECLARE_READ16_MEMBER(read);
- DECLARE_WRITE16_MEMBER(write);
- DECLARE_WRITE16_MEMBER(write_ext);
- DECLARE_READ32_MEMBER(read);
- DECLARE_WRITE32_MEMBER(write);
+ DECLARE_READ16_MEMBER(read16);
+ DECLARE_WRITE16_MEMBER(write16);
+ DECLARE_WRITE16_MEMBER(write16_ext);
+ DECLARE_READ32_MEMBER(read32);
+ DECLARE_WRITE32_MEMBER(write32);
void palette_init_proms(deco_rmc3_device &palette);
diff --git a/src/mame/video/flstory.cpp b/src/mame/video/flstory.cpp
index ced485d1483..be695acd92a 100644
--- a/src/mame/video/flstory.cpp
+++ b/src/mame/video/flstory.cpp
@@ -110,9 +110,9 @@ WRITE8_MEMBER(flstory_state::flstory_videoram_w)
WRITE8_MEMBER(flstory_state::flstory_palette_w)
{
if (offset & 0x100)
- m_palette->write_ext(space, (offset & 0xff) + (m_palette_bank << 8), data);
+ m_palette->write8_ext(space, (offset & 0xff) + (m_palette_bank << 8), data);
else
- m_palette->write(space, (offset & 0xff) + (m_palette_bank << 8), data);
+ m_palette->write8(space, (offset & 0xff) + (m_palette_bank << 8), data);
}
READ8_MEMBER(flstory_state::flstory_palette_r)
diff --git a/src/mame/video/itech32.cpp b/src/mame/video/itech32.cpp
index d75d47abf6d..4dc9f95faf4 100644
--- a/src/mame/video/itech32.cpp
+++ b/src/mame/video/itech32.cpp
@@ -319,7 +319,7 @@ WRITE16_MEMBER(itech32_state::bloodstm_paletteram_w)
mem_mask >>= 8;
}
- m_palette->write(space, offset, data, mem_mask);
+ m_palette->write16(space, offset, data, mem_mask);
}
diff --git a/src/mame/video/ladyfrog.cpp b/src/mame/video/ladyfrog.cpp
index cbaaf56beb0..3dae84121f8 100644
--- a/src/mame/video/ladyfrog.cpp
+++ b/src/mame/video/ladyfrog.cpp
@@ -45,9 +45,9 @@ READ8_MEMBER(ladyfrog_state::ladyfrog_videoram_r)
WRITE8_MEMBER(ladyfrog_state::ladyfrog_palette_w)
{
if (offset & 0x100)
- m_palette->write_ext(space, (offset & 0xff) + (m_palette_bank << 8), data);
+ m_palette->write8_ext(space, (offset & 0xff) + (m_palette_bank << 8), data);
else
- m_palette->write(space, (offset & 0xff) + (m_palette_bank << 8), data);
+ m_palette->write8(space, (offset & 0xff) + (m_palette_bank << 8), data);
}
READ8_MEMBER(ladyfrog_state::ladyfrog_palette_r)
diff --git a/src/mame/video/m92.cpp b/src/mame/video/m92.cpp
index d87128affaa..c9b837865dd 100644
--- a/src/mame/video/m92.cpp
+++ b/src/mame/video/m92.cpp
@@ -140,7 +140,7 @@ READ16_MEMBER(m92_state::m92_paletteram_r)
WRITE16_MEMBER(m92_state::m92_paletteram_w)
{
- m_palette->write(space, offset + 0x400 * m_palette_bank, data, mem_mask);
+ m_palette->write16(space, offset + 0x400 * m_palette_bank, data, mem_mask);
}
/*****************************************************************************/
diff --git a/src/mame/video/midtunit.cpp b/src/mame/video/midtunit.cpp
index 5e56e29d3fe..e060100015d 100644
--- a/src/mame/video/midtunit.cpp
+++ b/src/mame/video/midtunit.cpp
@@ -302,13 +302,13 @@ READ16_MEMBER(midtunit_state::midwunit_control_r)
WRITE16_MEMBER(midtunit_state::midxunit_paletteram_w)
{
if (!(offset & 1))
- m_palette->write(space, offset / 2, data, mem_mask);
+ m_palette->write16(space, offset / 2, data, mem_mask);
}
READ16_MEMBER(midtunit_state::midxunit_paletteram_r)
{
- return m_palette->read(space, offset / 2, mem_mask);
+ return m_palette->read16(space, offset / 2, mem_mask);
}
diff --git a/src/mame/video/mitchell.cpp b/src/mame/video/mitchell.cpp
index d43166b68c7..b92a66dd096 100644
--- a/src/mame/video/mitchell.cpp
+++ b/src/mame/video/mitchell.cpp
@@ -241,7 +241,7 @@ logerror("PC %04x: pang_gfxctrl_w %02x\n",m_maincpu->pc(),data);
WRITE8_MEMBER(mitchell_state::pang_paletteram_w)
{
- m_palette->write(space, offset + (m_paletteram_bank ? 0x800 : 0x000), data);
+ m_palette->write8(space, offset + (m_paletteram_bank ? 0x800 : 0x000), data);
}
READ8_MEMBER(mitchell_state::pang_paletteram_r)
diff --git a/src/mame/video/nova2001.cpp b/src/mame/video/nova2001.cpp
index cb556ec8a98..c39c7db04e8 100644
--- a/src/mame/video/nova2001.cpp
+++ b/src/mame/video/nova2001.cpp
@@ -64,18 +64,18 @@ WRITE8_MEMBER(nova2001_state::ninjakun_paletteram_w)
{
int i;
- m_palette->write(space,offset,data);
+ m_palette->write8(space,offset,data);
// expand the sprite palette to full length
if (offset < 16)
{
- m_palette->write(space, 0x200 + offset * 16 + 1, data);
+ m_palette->write8(space, 0x200 + offset * 16 + 1, data);
if (offset != 1)
{
for (i = 0; i < 16; i++)
{
- m_palette->write(space, 0x200 + offset + i * 16, data);
+ m_palette->write8(space, 0x200 + offset + i * 16, data);
}
}
}
diff --git a/src/mame/video/nycaptor.cpp b/src/mame/video/nycaptor.cpp
index 6557a33e3f9..5ac593f439c 100644
--- a/src/mame/video/nycaptor.cpp
+++ b/src/mame/video/nycaptor.cpp
@@ -86,9 +86,9 @@ WRITE8_MEMBER(nycaptor_state::nycaptor_videoram_w)
WRITE8_MEMBER(nycaptor_state::nycaptor_palette_w)
{
if (offset & 0x100)
- m_palette->write_ext(space, (offset & 0xff) + (m_palette_bank << 8), data);
+ m_palette->write8_ext(space, (offset & 0xff) + (m_palette_bank << 8), data);
else
- m_palette->write(space, (offset & 0xff) + (m_palette_bank << 8), data);
+ m_palette->write8(space, (offset & 0xff) + (m_palette_bank << 8), data);
}
READ8_MEMBER(nycaptor_state::nycaptor_palette_r)
diff --git a/src/mame/video/skullxbo.cpp b/src/mame/video/skullxbo.cpp
index 3a10189dccb..45b4f839d7d 100644
--- a/src/mame/video/skullxbo.cpp
+++ b/src/mame/video/skullxbo.cpp
@@ -165,7 +165,7 @@ WRITE16_MEMBER( skullxbo_state::playfield_latch_w )
WRITE16_MEMBER(skullxbo_state::playfield_latched_w)
{
- m_playfield_tilemap->write(space, offset, data, mem_mask);
+ m_playfield_tilemap->write16(space, offset, data, mem_mask);
if (m_playfield_latch != -1)
{
uint16_t oldval = m_playfield_tilemap->extmem_read(offset);
diff --git a/src/mame/video/system1.cpp b/src/mame/video/system1.cpp
index d0ad4855dc1..890a7498778 100644
--- a/src/mame/video/system1.cpp
+++ b/src/mame/video/system1.cpp
@@ -340,7 +340,7 @@ WRITE8_MEMBER(system1_state::system1_paletteram_w)
}
else
{
- m_palette->write(space, offset, data);
+ m_palette->write8(space, offset, data);
}
}